What it is
Clara is a productivity app for people who like structure, but do not want their work system to become another job. It brings tasks, focus sessions, notes, and simple analytics into one place so a day feels easier to read. I built it around the kind of workflow I actually use: long blocks of focused work, a small number of active priorities, and enough history to see whether the week is moving in the right direction.
The app is deliberately calm. There are no heavy dashboards fighting for attention, no noisy onboarding, and no fake sense of urgency. The interface gives you the current work, the next useful action, and a clear way back to context when you get pulled away.
Product shape
The core idea is sectors. A sector can be anything with its own rhythm, like university, client work, reading, fitness, or a side project. Tasks, focus sessions, and notes all attach to a sector, which means the app can show where time is going without asking the user to maintain a complicated tagging system.
That one model makes the rest of the product feel connected. A task can start a timer. A timer can feed the analytics. A note can sit beside the project it belongs to. Clara is not trying to replace every productivity tool in the world. It is trying to make one person's working week feel less scattered.
Technical build
Stack
Clara is built with Next.js, TypeScript, Supabase, Tailwind, and Framer Motion. Supabase handles authentication, Postgres storage, realtime subscriptions, and row-level security. The frontend uses server and client components where they make sense, with TypeScript doing most of the boring but important work of keeping task, sector, timer, and note data consistent.
Implementation details
The data model is intentionally small: users own sectors, sectors own tasks and notes, and focus sessions reference both the user and sector. Row-level security is enforced in the database so users can only read and mutate their own records. For realtime updates, kanban columns subscribe to task changes so the board can stay in sync without polling.
The timer is the most delicate part. It needs to feel instant on the client, but it also needs to survive refreshes and accidental tab closes. The session state is kept locally while active and periodically persisted to Supabase, then reconciled when the user comes back. The command palette sits on top of those same actions, so keyboard use is not a shortcut layer bolted on later.
Where it is now
Clara is live and free to start. The next pieces I want to add are shared workspaces, calendar blocking, mobile support, and smarter task breakdowns. I am trying to keep the product useful without letting it swell into a feature museum, so every new idea has to earn its space in the workflow.



