Building CaseBlitz: The Ultimate Consulting Case Interview Prep Platform

March 24, 2026 (3mo ago)

Consulting case interviews are notoriously difficult to prepare for. Candidates spend months practicing frameworks, math drills, and business acumen, but finding a practice partner who can give accurate, partner-level feedback is a massive bottleneck.

I wanted to solve this by building an AI-powered practice platform that doesn't just give generic advice, but grades you like a real McKinsey or BCG partner.

That's the foundation of caseblitz.app.

The Core Product Loop

CaseBlitz isn't just a static question bank. It's a comprehensive "Habit Engine" built around structured practice:

  1. Daily Drill: Quick, focused questions to keep your mind sharp.
  2. Blitz Mode & Focus Sessions: Adaptive difficulty sessions for deep practice.
  3. Case Player: A 5-step wizard covering chart analysis, math drills, framework building, and a case brief overlay.
  4. Gamification: Streaks, readiness scores, and visual progress tracking to keep candidates motivated.

The Tech Stack

  • Framework: Next.js (App Router)
  • Database: Supabase (PostgreSQL) + Drizzle ORM
  • Auth: Better Auth (magic links, OAuth, anonymous sessions)
  • Monetization: Polar.sh for Pro tier gating
  • AI: Anthropic SDK (Claude Haiku)

Architecture Decisions

1. The Skeptical Partner AI

The most critical part of CaseBlitz is the AI feedback. I didn't want the AI to be a friendly chatbot; it needed to be a "demanding, highly analytical Senior Partner."

I implemented this via a Next.js streaming API route using Anthropic's claude-haiku-4-5-20251001 model:

// app/api/ai-feedback/route.ts
const SYSTEM_PROMPT = `You are a demanding, highly analytical Senior Partner at a Tier 1 consulting firm. A candidate has just presented their framework.
 
Your job is to critique their logic. You are precise and direct. You never praise — no "great start" or "good thinking." You also never insult. You respect the candidate's time by being specific about what's missing and what would fix it.
 
Evaluation rules:
1. Identify the most critical missing branch in their logic.
2. Call out one piece of irrelevant data they asked for (if any).
3. Grade on a scale of 1–5. A 3 is competent. A 5 is exceptional and rare.
4. State exactly what would make this a 5, in one sentence.`;

By streaming the response directly to the client, the UI feels instantly responsive. The strict prompt formatting (Score: [1-5]/5) allows me to parse out the numerical score and save it to the userScores table in Supabase via Drizzle.

2. Guarding the AI (Rate Limits & Pro Tier)

LLM tokens aren't free, and the AI feedback is the core value proposition of the Pro tier. In the API route, I implemented two layers of protection:

  1. Pro Gating: Checking isPro(session.user.id) before hitting Anthropic.
  2. Daily Limits: Tracking aiCallsToday in the userProfile table to cap requests at 5 per day.

3. Progressive Reveal & The Content Factory

Case prep relies on hidden information. The Case Player component is heavily inspired by real interview flows: the candidate gets a prompt, asks questions, builds a framework, and then the interviewer reveals data (like a chart).

To fuel this, I built an offline "Content Factory" — scripts that use JSONB schemas to generate, validate, and seed hundreds of structured case scenarios directly into Supabase.

What I Learned

1. Prompt Constraints Are Everything LLMs naturally want to be helpful and verbose. Forcing Claude to be blunt, skip the pleasantries, and stick to a strict 4-point grading rubric required aggressive system prompting ("You never praise"). It completely changed the feel of the app from a generic "AI tutor" to a realistic interview simulator.

2. Polar.sh makes SaaS easy Handling subscriptions, trial periods, and webhook events is usually painful. Integrating Polar.sh allowed me to quickly lock the "Skeptical Partner" AI behind a paywall without writing massive amounts of billing logic.

Try It

If you're prepping for a consulting interview and want to test your frameworks against a relentless AI partner, check out caseblitz.app.