Personal project, 2026
Yaadi, an offline-first notes app
An installable notes app that works offline and syncs when it can, on a near-zero-cost serverless backend.
1Problem
A notes app should open and save instantly with no connection, then sync across devices without losing edits.
2Approach
- Built an installable PWA in React and TypeScript, with IndexedDB as the source of truth.
- Wrote a background sync engine that reconciles with the server using last-write-wins, tombstones and a clock-skew-safe pull cursor.
- Ran the backend as FastAPI on AWS Lambda, with a single-table DynamoDB design (plus a GSI for sync queries), S3 presigned URLs and SSM secrets, all provisioned with AWS SAM.
3Key decisions
IndexedDB as the source of truth.
Reading and writing notes works offline, and the server keeps devices in step.
Tombstones and a clock-skew-safe pull cursor.
Deletes sync too, and a device with a wrong clock still gets every change.
Presigned S3 uploads.
Files go straight to S3 and never pass through Lambda.
argon2, 15-minute JWTs with refresh, and an escalating login lockout.
I hardened auth first, then checked it in a written security self-audit.
4Result
A working offline-first app on a near-zero-cost backend, with the API covered by 23 pytest tests against moto-mocked AWS.
Want to go deeper on this project?
I can walk you through the decisions and trade-offs behind it.