Inspiration

Students often think they understand material until exam day proves otherwise. Research shows that teaching is one of the most effective ways to learn — it forces you to organize knowledge, identify gaps, and articulate concepts clearly. I wanted to build a tool that makes this technique accessible and fun.

What it does

Smart Capy is an AI-powered "tutee" app. You upload your study notes (PDF or text), then teach a capybara character named Capy what you've learned through a chat interface. Capy asks follow-up questions, nods along, and reacts with cute animations and Animal Crossing-style voice sounds.

When you're done teaching, Capy takes a test based on what you taught — and you get a detailed report showing which topics Capy understood (meaning you explained well) and which ones it didn't (meaning you have gaps to review).

How I built it

  • Next.js 16 + React 19 + TypeScript for the full-stack web app
  • Tailwind CSS v4 for styling with a warm, approachable design system
  • 3-agent AI architecture:
    • Tutee agent (Claude Haiku 4.5) — the capybara that chats with you and asks questions
    • Oracle agent (Gemini 2.0 Flash) — reads your source material and generates topic outlines + test questions
    • Grader agent (Gemini 2.0 Flash) — answers test questions as the tutee would, then evaluates against the answer key
  • Animalese voice synthesis — Animal Crossing-style gibberish sounds that play as Capy "speaks"
  • Custom capybara character with state-based sprite animations (idle, thinking, test-taking, grade reactions)

Challenges I ran into

  • Designing prompts that make the AI tutee ask genuinely helpful follow-up questions without being too leading or too passive
  • Balancing cost across 3 AI agents — migrated from Claude Sonnet 4 to a Haiku + Gemini Flash combo to keep costs manageable
  • Syncing Animalese audio playback with SSE streaming text without audio overlap or lag
  • Making the capybara character feel alive with just static PNG sprites and CSS animations

What I learned

  • Learned how to coordinate multiple AI models (Claude + Gemini) in a single app, handling their different output formats, strengths, and failure modes.
  • SSE streaming for real-time chat with a character personality
  • The Feynman technique really works — building this app about teaching made us better at explaining things

Built With

Share this project:

Updates