Projects in CumbumProjects in CumbumIntake and approval portal for Power BI report requests. MVP, deployed on Vercel with a live Power BI API integration.
Teams were requesting dashboards over email and spreadsheets, which lost the thread between the business ask, the BI team's interview notes and the developer's build. Prism turns that into one tracked record with sequential sign-off.
What it does:
• Ten-stage, role-gated approval workflow
• Row-level security per role (about 20 Postgres policies)
• Change requests against already-published reports
• File attachments via signed URLs from private storage
• Power BI Service integration over Azure AD OAuth
• Notifications to email and Microsoft Teams
A Playwright end-to-end test runs in GitHub Actions on every PR and nightly against production.
Stack: Next.js, React, TypeScript, Tailwind CSS, Supabase, PostgreSQL, Resend, Power BI REST API, Playwright
Live: tcmplanner.vercel.app (http://tcmplanner.vercel.app) Socratic for Teachers — misconception analytics for real classrooms
Why I wished it existed. I built an AI tutor called Socratic whose entire identity is refusing to give answers — it scaffolds with hints and watches how a student reasons. Every session produces something genuinely rare: a live trace of a student's thinking. The wrong turns, the misconception behind the wrong turn, the exact week independence starts to climb. And then that trace dies in a log, because the one person who could act on it — the teacher — never sees it. This is the product that data deserved. I didn't want a gradebook; grades tell you that a student is wrong. I wanted the dashboard that shows why.
What it is. Nine connected screens for a Grade-9 algebra class, one flow a teacher would actually walk on a Wednesday: a misconception heatmap for the week; every student's hint-depth trend (Meera's bars fall from L3 to L0 — independence you can see); the why behind errors (students reading f(0) as the answer to f(x) = 0), grounded in a real session excerpt with a suggested mini-lesson; one-click targeted practice that becomes another guided session — never a handout of answers; a Monday-morning Weekly Digest; and Settings, where "Never reveal answers" is hardwired — it has a padlock, not a toggle. That's the product's spine, expressed as UI.
How it was built. Entirely in Flowstep during the challenge window — and entirely driven from Claude Code through the Flowstep MCP: 28 of my 80 agent messages. The working, honestly: one design-system block pasted into every prompt (real hex values, JetBrains Mono for anything numeric, "closer to Linear than a generic SaaS template"); single-target edits only, after an early multi-target edit corrupted two screens; the exact brand logo attached by public URL; and when the generator kept eating one button label, I patched the screen's JSX directly and re-imported it — Flowstep takes raw code, which turned out to be its sharpest feature. The 58-second walkthrough video was produced by the same agent that drove the design.
Prototype: https://app.flowstep.ai/file?activeFileId=7e5b7a90-5e70-48da-9be5-929672cd64b4
Links: https://x.com/boopathirajaai/status/2080678189194711094?s=20