FlowMind
Visual AI assistant platform - Figma for conversational AI + a debugger for AI behavior
Overview
FlowMind is what happens when you treat conversational AI design like a debuggable system instead of a black box. Think Figma for conversational AI: a node-graph canvas where you compose message, retrieval, LLM, tool, condition, and human-handoff steps, run them in a live simulator with full traces, ground them in your own websites and documents, and one-click deploy as a chat widget. Multi-tenant org/workspace structure, pgvector retrieval with hybrid lexical+semantic search, Inngest-driven background jobs, and a model gateway that routes between Gemini and Groq. Currently in active build - early preview at https://flowmind-nine-tau.vercel.app/
The Problem
Building production-grade conversational AI is still painful. Teams stitch together prompt files, vector stores, function-calling tools, and a fragile mess of glue code, then lose visibility into why the assistant said what it said. Non-technical stakeholders can't safely shape behavior, regressions sneak in silently, and "deploy" usually means redeploying an entire app for a single prompt tweak.
I wanted a single visual environment where you can design a conversational assistant as a graph, ground it in your own websites and documents, simulate it with a full execution trace, run regression tests, and one-click deploy it as an embeddable widget - without juggling six different tools.
The Approach
FlowMind is a visual AI assistant platform built around its own graph runtime. The editor is a React Flow v12 canvas where each node is a strongly-typed step (message, input, choice, condition, RAG query, LLM response, HTTP action, transform, validator, structured extract, tool router, human handoff, loop, subflow, end). The runtime executes that graph node-by-node, streams trace events into a debugger panel, and persists every conversation, message, and trace in Postgres.
Knowledge grounding is first-class: paste a website or upload PDFs and DOCX, and a background pipeline (Inngest jobs) crawls, parses, chunks, and embeds the content into pgvector on Supabase. Retrieval at query time fuses semantic search (Gemini text-embedding-004) with lexical search (Postgres full-text), then cites the source documents back into the assistant's reply.
The model layer is a gateway that routes between Google Gemini 2.5 Flash (primary, free tier) and Groq Llama 3.3 70B (fallback), with prompt-hash caching in Upstash Redis to stay inside free tiers. Auth, RLS, storage, and realtime are all Supabase. The whole thing is a Turborepo monorepo with shared TypeScript types and Zod validators between the Next.js 15 web app and the Hono API.
Key Decisions
Storing nodes and edges as JSONB inside graph_versions instead of normalized rows. Graphs are read and written atomically, version history is trivial, and Supabase row counts stay lean enough to live inside the free tier.
Treating the runtime as a real interpreter - not a chain of LLM calls. Every node emits a trace event with input, output, latency, tokens, and cost. That means the simulator is also a debugger, and analytics, regression tests, and observability all read from the same source of truth.
Designing for $0/month from day one. Every service in the stack (Supabase, Vercel, Inngest, Upstash, Gemini, Groq) has a real free tier, and the architecture is shaped around those quotas - aggressive prompt caching, batched embeddings, JSONB graphs, and Inngest for retries and cron instead of long-running workers.
Status
FlowMind is currently in active build - not finished. The graph schema, runtime, knowledge ingestion pipeline, and editor shell are coming online; the simulator, test harness, and one-click deploy flow are next. Early preview lives at https://flowmind-nine-tau.vercel.app/.