Kanbi Board is an AI-powered Kanban app I built in 18 days. This is the full case study architecture decisions, what almost broke in production, and the 3 mistakes I caught before shipping.
The Problem Worth Solving
Task management gets messy when ideas are scattered across notes, chats, and meetings. The insight: if AI could parse unstructured text into structured tasks, you'd eliminate the friction of manual entry entirely.
Architecture Decisions
Next.js 15 App Router for the full stack. Supabase for the database with RLS policies on every table. OpenAI as primary AI provider with Groq as fallback. Stripe for subscription tiers. The AI processing happens server-side to protect API keys never client-side.
The 3 Mistakes I Almost Shipped
First: I almost shipped without idempotency keys on Stripe webhooks. A network blip would have created duplicate subscriptions. Second: my RLS policies allowed users to read other users' boards through a shared workspace query. Third: I had no rate limiting on the AI endpoint one user could have burned through the entire monthly API budget.
The AI Integration
The dual-provider setup (OpenAI + Groq) was the right call. When OpenAI had a 2-hour outage during beta, Groq handled all requests with under 500ms latency. Users never noticed.
// Dual provider with fallback
async function parseTasksWithAI(text: string) {
try {
return await openai.chat.completions.create({ model: "gpt-4o-mini", messages: [...] });
} catch {
return await groq.chat.completions.create({ model: "llama3-8b-8192", messages: [...] });
}
}Want an AI-powered SaaS built for you? Book a call.