MotoPulse
Personal project · In development
- Problem
- Keep motorcycle records, fuel entries, maintenance intervals and recorded rides together.
- Solution
- A mobile app for managing motorcycles, logging fuel, setting maintenance reminders and recording GPS routes, connected to a Go API.
- Stack
- React Native · Expo · TypeScript · Go · PostgreSQL · Chi · GORM
Technical decisions & implementation
- Authentication: The Clerk issuer is fixed in configuration. Tokens from other issuers are rejected before fetching JWKS, with regression tests covering this behavior.
- Reminders: Completed maintenance and an alert accepted by Expo are separate states. Workers process reminders using transactions and
FOR UPDATE SKIP LOCKED. - Database tests: Real PostgreSQL tests cover concurrent workers, retries and changes to a maintenance cycle during a send.
Validation & limitations
Tested only by me, with no external users. Backend tests use real PostgreSQL with simulated push sends; mobile has no automated unit or end-to-end suite. Some telemetry is simulated and does not represent measured data. Store publication and notification receipt on a phone are unconfirmed. Duplicate alerts remain possible if Expo accepts a send but saving the result fails; delivery is not exactly once.







