Routine: Turning a Daily Check-In Into Useful Data
The best personal dataset begins with a capture ritual simple enough to repeat.
A useful personal dataset begins with something much less glamorous than analytics: a capture ritual that is easy enough to repeat. I built Routine as a focused browser application for short, structured daily check-ins. It keeps the interaction deliberately narrow—choose the relevant context, record a few ratings, add a note if needed, and move on with the day.
Each submission becomes one predictable row in a stable CSV schema. The form supplies sensible defaults for recurring details while still allowing optional context where a fixed choice is not enough. That structure makes the resulting history straightforward to inspect, transform, visualize, or carry into a more sophisticated analysis system later.
The storage path is intentionally local and legible. Routine locks the file while writing, creates the header when needed, flushes the new row, and asks the filesystem to persist it before releasing the lock. It is a small application, but it treats each observation as data worth preserving.
Because the subject matter is private, access control is part of the product rather than an afterthought. The deployed application uses closed-membership OIDC, server-side sessions, encrypted token storage, CSRF protection, explicit roles, and both normal and back-channel logout. The result is a compact tool that stays focused without becoming casual about the data entrusted to it.