An AI-powered learning tool where students teach concepts to an AI that acts as a curious, slightly confused student. By teaching, students discover and fill their own knowledge gaps — based on the Feynman Technique and the Protege Effect.
- Pick a topic you want to learn
- Teach it to bloom — the AI acts as your student
- bloom asks probing questions that expose gaps in your understanding
- Self-correct and deepen your knowledge
- Watch your garden grow as mastery increases
- Next.js 16 (App Router) — full-stack React
- Supabase — Postgres database + auth
- OpenAI API (GPT-4o) — AI engine
- Tailwind CSS — styling
- Framer Motion — animations
- D3.js — concept graph visualization
npm install- Create a project at supabase.com
- Create the base application tables used by this app (
sessions,messages,concepts,gaps,concept_relationships,documents,chunks) - In SQL Editor, run
supabase/rag.sqlto install production RAG infrastructure:session_documentsmapping tablematch_chunks_scopedvector search function- retrieval indexes and RLS for
session_documents
- Copy your project URL and anon key from Settings > API
cp .env.local.example .env.localFill in your values:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
OPENAI_API_KEY=sk-...
npm run devOpen http://localhost:3000.
- Teaching Chat — Stream responses from bloom as you explain concepts
- Knowledge Garden — SVG flowers that bloom as your mastery grows
- Mastery Dashboard — Track concept scores and detected knowledge gaps
- Concept Graph — D3 force-directed map of concept relationships
- Session History — Resume past teaching sessions