u/123msa

Built a local-first expense tracker with Expo and .NET 10. Would love feedbacks.
▲ 2 r/expo+1 crossposts

Built a local-first expense tracker with Expo and .NET 10. Would love feedbacks.

Ever tried to add an expense quickly, hit save, and get annoyed by a “no internet” alert? I wanted to avoid that completely. Everything in the app works offline and without an account, except AI receipt scanning, which needs internet and sign-in.

AI receipt scanning is unlimited during open testing phase, feel free to test the app and break things.

Links:

Landing page

Play store

I originally started this as a pretty normal CRUD expense tracker, then I saw this and made it local-first. Also went full blown with .net 10 backend and custom sync engine (LWW) to see how it goes.

Some of the things I spent the most time:

  • Sync after offline usage
    • Two devices can create/update records offline, then sync later without conflicting records. I’m using a custom .NET 10 backend and an LWW-style sync engine.
  • Recurring payments
    • More edge cases than I expected. Two devices generating individual payment records during offline must not end up with duplicate or conflicting records when they sync back to server.
  • AI receipt scanning
    • You can either insert each receipt item as separate expense records, or save the whole receipt as one record. Had to tweak system prompts and output json structure a lot.
  • Charts and their input data
  • Passwordless login
  • And this chart

I’ve tested the app in the way I use it, but I’d love to see how it holds up with different people using it in their own ways.

Thanks!

u/123msa — 4 days ago