Open source project / 2026
ChronoFlow
A Turkish, local-first daily planner with drag-and-drop time blocking, goals and focus tracking.

Context
Daily planning tools often demand account setup and cloud sync before they become useful.
The problem
A planner should let someone create a usable day without an account, keep goals visible and make cross-device sync optional.
Approach
ChronoFlow uses 15-minute drag-and-drop blocks and optional buffers between tasks. A rule-based Turkish text planner turns a rough note into a structured day without an AI service.
System architecture
Next.js 16 and React 19 render the interface. The rule-based Turkish planner extracts tasks and durations from text, then places them into free time slots; block moves and resizes use the scheduling logic to resolve overlaps. Zustand holds the resulting plan and persists tasks, day titles and goals in the browser's localStorage. With Supabase configured and the user signed in, a separate sync layer watches state changes, queues local edits and merges server updates back into Zustand. The local planning flow does not wait for the network.
Key decisions
Browser-local data lets planning start without an account, while Supabase sync remains optional. Only user edits add entries to undo history; sync updates do not create a new undo step.
A concrete undo example from the repository tests: a task runs from 09:00 to 10:00, followed by a 30-minute buffer and a task starting at 10:30. Extending the first task to 11:00 consumes the buffer and shifts the next task. A single undo restores the original task times and the buffer. A separate test checks that a server-synced task replacement adds no history entry. This checks history tracking, not a guarantee that undo preserves every remote update interleaved with local edits.
Outcome
The open-source MVP can run locally in browser-only mode without Supabase keys; the hosted demo currently requires sign-in.
Learnings
Planning tools earn trust when they work fully offline first and treat sync as an option, not a requirement.