Earnings tracker for gig workers. Tracks shifts, mileage, expenses, and gives tax estimates. Everything stays on your phone — no account, no cloud unless you want it.
Built for DoorDash, Uber Eats, SkipTheDishes, Instacart, Amazon Flex, and others.
Download for Android · Open the web app · Read the docs
- Phone app (this repo) — the native Android/iOS app, with background GPS mileage tracking. Grab the APK from Releases.
- Web app (
web/) — an installable PWA at comma-psi.vercel.app for logging and reviewing from a laptop. Vanilla JS, no server, data stays in your browser. - Docs (
docs/) — user guides and architecture notes, published at comma-docs.vercel.app via thedocs-site/Nextra app.
- Expo SDK 56 + Expo Router
- SQLite via Drizzle ORM
- Zustand + TanStack React Query
- NativeWind v4
npm install
npx expo startFor an Android APK:
./build-android.shYou need the Android SDK. Set the path in android/local.properties:
sdk.dir=/path/to/android-sdk
Create a Web OAuth client in Google Cloud Console and add your client ID to .env:
GOOGLE_WEB_CLIENT_ID=your-client-id
See .env.example.
Fix a bug, open a PR. Keep TypeScript strict — no any. DB queries go through Drizzle, no JS array processing on DB results. Details in CONTRIBUTING.md and the development docs.








