Streaky tracks habits with a GitHub-style contribution heatmap, daily and monthly streak stats, and support for weekly-cadence habits alongside daily ones. Streak math is timezone-safe: a habit completed at 11pm in Tokyo and one completed at 11pm in Montreal both count correctly, no UTC-localized false breaks.
The frontend leans on optimistic mutations: toggles feel instant, in-flight queries get cancelled rather than racing, and undo never leaves state corrupted. The backend is tRPC end-to-end, with transaction-safe mutations so "most recent completion" queries stay accurate even under concurrent writes.
client (optimistic UI)
├─ instant toggle → tRPC mutation
├─ cancel in-flight queries on new action
└─ rollback-safe undo
tRPC server ⇄ DB
├─ transaction-safe completion writes
├─ timezone-aware streak calculation
└─ daily / monthly / weekly aggregationTech: Next.js, tRPC, Bun, drizzle, PostgreSQL
Quick Start Guide coming soon...
It's a solo project built with a focus on UI polish as much as backend correctness.
/notes is public, documenting everything: architecture decisions, bugs, tradeoffs. Full write ups on the design decisions coming soon on my webiste: akashamba.me
Built in the open.
