AI product · SaaS · 2025 — 2026 · Live

FlowMind

Removing the triage tax that kills productivity systems.

Visit FlowMind
Architect and product owner

Defined the product, chose the stack, and drove it through four phases — schema, AI orchestration, payments, deployment. The consequential calls were mine, including replacing Stripe with Paystack for the Nigerian market and catching the incomplete migration when stripe_customer_id was still sitting in the schema afterwards.

How it holds together

  1. Inboxunstructured capture
  2. Auto-organizesingle pass
  3. Typed write7 tables · RLS
  4. Daily plangather → reason
  5. Weekly summaryplanned vs. actual
  6. App surfacesdashboard · insights

Notes, tasks and ideas go in raw. No fields, no project picker, no priority dropdown — the sorting is what the product is supposed to remove.

The problem

Knowledge workers capture information faster than they can organize it. Notes land in one app, tasks in another, half-formed ideas in a file nobody reopens. The bottleneck is the triage afterwards — deciding what belongs to which project, what actually matters today, and whether last week's intentions matched last week's reality.

Notion, Todoist and Apple Notes are storage layers. They require the user to do the sorting.

Manual triage is the tax that kills productivity systems. People abandon them within weeks because maintaining the system costs more than the clarity it returns. Classification, entity extraction and prioritization reasoning are things a language model is genuinely good at, which makes this one of the rarer cases where the model removes work instead of adding a chat box on top of it.

What I built

A unified inbox for unstructured capture, auto-organization that classifies items and extracts entities into projects and priorities, a reasoned daily plan rather than a sorted list, and a weekly summary comparing planned against accomplished.

Three connected surfaces: a marketing site, an authenticated app across dashboard, inbox, today, projects, insights, settings and billing, and the backend powering both.

FlowMind’s landing page, with the assistant laying out a plan for the day.

The architecture

Seven user-scoped Postgres tables behind row-level security, with triggers for derived counts and every table reaching auth.users through profiles.id.

Three endpoint shapes rather than one prompt: a single-pass classification and extraction that writes back with a confidence score; a multi-step daily planner that gathers context from projects and open items, reasons about priorities, then emits a structured plan; and a comparative weekly chain over daily plans against completed items.

Usage metering on profiles ties the free and paid boundary to the actual cost driver — model calls — rather than an arbitrary feature gate, with ai_processing_log recording calls for debugging.

Decisions

  • Auto-organize has to return something that maps cleanly onto typed Postgres columns — project assignment, priority, extracted entities, and a confidence float constrained to 0–1. Free-text output does not survive contact with a schema. The real work sits at the join between the chain and the database.

Stack

Framework
Next.js 15 · React 19 · Server Components · Turbopack
AI
Groq · Mistral · LangChain · multi-step chains
Data
Supabase · Postgres · Realtime · Row-level security · usage metering
Payments
Paystack · signed webhooks · subscription sync
Design
Tailwind v4 · Motion 12 · DM Sans · Playfair Display

What it demonstrates

  • Multi-step chains with context gathering and reasoning, not single-shot prompting
  • Open-model orchestration rather than defaulting to a single vendor
  • Model output constrained to survive a relational schema
  • Multi-tenancy enforced at the database
  • Usage metering tied to the real cost driver
Next systemPrismOS