Speak Then Do
Task extraction app that turns freeform thoughts into actionable items with AI parsing and swipe-based triage.
The Problem
The gap between thinking about tasks and tracking them is where things get lost. You’re walking, driving, or mid-conversation when you think “I need to call the dentist, review that budget, and follow up with Sarah.” By the time you open a task app, context-switch into its input format, and type three separate entries with categories and due dates, the overhead has killed the impulse. Most people either don’t capture the thought or dump it into a notes app where it disappears.
What I Built
Speak Then Do is a capture-first task app. You type (or paste) a stream-of-consciousness thought — “call Mom, schedule dentist, review budget, pick up groceries, email Sarah about the proposal” — and AI extracts discrete, actionable tasks from the raw text. No manual formatting, no one-task-at-a-time entry.
Three-View Workflow
Capture — A single text input optimized for speed. No fields, no categories, no dates. Just type what’s on your mind and submit. The interface gets out of the way so you can offload thoughts before they fade.
Review — Extracted tasks appear as swipeable cards. Swipe right to approve, left to discard, or tap to defer. Each card shows the AI’s parsed task with a clean verb-leading format. Tasks that aren’t reviewed expire after 48 hours — a forcing function against review backlog.
Tasks — Approved tasks land in a simple checklist. Tap to complete. No priority levels, no nested subtasks, no project folders. The simplicity is intentional — this is a capture tool, not a project management system.
AI Task Extraction
The extraction pipeline runs through a Supabase Edge Function. Raw text goes in, structured tasks come out. The parser handles implicit tasks (“need to call Mom” becomes “Call Mom”), compound entries (“schedule dentist and doctor” becomes two tasks), and filters non-actionable content (“I’m tired” gets skipped). Each extracted task starts with a verb — the format that research shows drives completion.
Technical Decisions
Supabase Edge Functions over client-side AI — Task extraction needs an LLM call. Running this through a Supabase Edge Function keeps API keys server-side and allows model swapping without app updates. The function is stateless — it receives text, returns tasks, stores nothing.
Framer Motion for view transitions — The three views (Capture, Review, Tasks) transition with directional slides that reinforce the left-to-right workflow progression. Swipe gestures on review cards use spring physics for natural feel. These micro-interactions matter in a tool you use dozens of times daily.
48-hour expiry on unreviewed tasks — A deliberate design constraint. Without expiry, the review queue becomes another inbox to dread. The time pressure keeps the system honest — if a task wasn’t worth reviewing in two days, it probably wasn’t worth doing.