DEV Community

Cover image for I replaced my personal tracking spreadsheets with mini-apps I built myself
Ruben
Ruben

Posted on

I replaced my personal tracking spreadsheets with mini-apps I built myself

I had spreadsheets for everything.

Money I lent to friends. Domain renewals. Bookmarks I'd never find again. Birthdays I'd forget. Each one a tab in a file I'd eventually lose or
share by accident.

So I built NoSheetKit — a suite of small focused tools that each do one job.

The philosophy

No backend. No database. No signup. Data stays in your browser via localStorage.

If you want backups, you have two options:

  • Local export — download a ZIP with one JSON file per app, anytime, no login needed.
  • Google Drive — connect your account and generate/upload that same ZIP automatically to your own Drive. No shared storage, no third-party servers — your Drive, your file.

The stack

  • Next.js (App Router)
  • Tailwind CSS + shadcn/ui
  • localStorage as primary storage
  • Google OAuth for optional login
  • Google Drive API for automatic backups
  • Google Calendar API for reminders

The apps

  • Loans — money lent/borrowed with partial payments and balances
  • Dates — birthdays, anniversaries, reminders
  • Domains — portfolio with renewal dates and alerts
  • Links — saved URLs with tags
  • Tasks — kanban + list with spaces
  • Collections — books, games, gear tracking

Some decisions I found interesting

localStorage over IndexedDB — simpler, sufficient for personal data volumes,
easier to debug and export.

Cold backup over live sync — Drive backup only triggers manually or at
login/logout. No conflict resolution needed, no sync complexity.

No global state — each mini-app is fully independent. No Zustand, no context
hell. Just a generic useLocalStorage hook shared across apps.

Try it

Live demo (no signup needed): https://nosheetkit.com

Repo (MIT): https://github.com/tulu/no-sheet-kit

Would love feedback on the architecture or the product direction.

Top comments (0)