~/projects/dayflow

Dayflow

AI-powered task manager with natural language scheduling

# Role: Solo Developer & Designer # Duration: 6 months # Year: 2024-2025 # Users: 300+
React 19 Tauri 2.0 Supabase SQLite Stripe Google Calendar API Gemini AI
~/rationale

Existing task management applications require excessive manual input to organize tasks, set priorities, and schedule work. Users spend more time managing their productivity tools than actually being productive, with no intelligent assistance to convert natural thoughts into actionable, scheduled items.

The application needed to feel instant despite complex AI operations, work seamlessly across web and desktop platforms from a single codebase, and handle the complexity of subscription monetization. Technical requirements included real-time sync, offline support, and integration with external calendars.

Dayflow converts natural language like 'finish the report by Friday' into structured, scheduled tasks using Gemini AI. The React 19 frontend leverages useOptimistic for instant UI feedback, while Tauri 2.0 enables native desktop apps for Windows, Mac, and Linux. A three-tier caching system ensures hot data stays in memory while cold data syncs to Supabase.

~/highlights

Natural Language Task Creation

AI-powered parsing · pattern learning
01

Integrated Gemini AI through Supabase Edge Functions to parse free-form text into structured tasks. The system infers priority, time estimates, categories, and scheduling while learning from existing task patterns in each board.

Cross-Platform Architecture

3 platforms · single codebase
02

Built a single React codebase that ships to web and native desktop (Windows, macOS Universal, Linux) using Tauri 2.0. Platform detection abstracts native window controls with graceful web API fallbacks for features like always-on-top focus mode.

Optimistic Updates & Caching

0ms perceived latency · 3-tier cache
03

Implemented React 19's useOptimistic hook for zero-latency UI feedback with automatic rollback on errors. A three-tier cache keeps hot data in memory (25-50MB), warm data in SQLite, and cold data in Supabase with LRU eviction.

Subscription Monetization

300+ users · Stripe webhooks
04

Built complete Stripe integration handling checkout sessions, webhook processing for 7+ event types, usage tracking for AI credits (30/month free tier), and customer portal access. Real-time subscription updates via Supabase channels.