Skip to main content

Recap Buddy

Teach a topic out loud; open-weight Gemma 4 shows what you got right, wrong and missed, then writes your daily learning diary.

Recap Buddy — Teach it out loud. Buddy checks it.

Many students learn best by teaching a concept out loud (the Feynman technique), and many revise 4–5 topics a day but can’t recap them by evening. The problem is the same: nobody is there to listen, and even if someone is, they can’t tell what was correct, wrong or missed.

Recap Buddy is that listener.

How it works

  1. Pick a topic and optionally upload your notes (PDF, DOCX or TXT). Your notes become the answer key.
  2. Teach it out loud. The browser transcribes you live (Web Speech API) and your words appear on a notebook page. Buddy, a friendly mascot, nods along and its mouth moves with your real voice level.
  3. Get a review from the open-weight Gemma 4 model, sorted into four buckets:Got it right · ½ Almost there (with the fix) ·Needs fixing (with the correct version) · 🕳️ You skipped (and why it matters), plus a score out of 100 and what to revise next. Buddy can read it aloud.
  4. Write today’s diary. One click turns every topic you taught today into a first-person “Dear diary” page with a score table and your top 3 priorities for tomorrow. Print it or download it as Markdown.

The model judges concepts only: it ignores grammar, accent, filler words and speech-to-text errors, and never invents mistakes.

Open-source AI

  • Gemma 4 is the review and diary engine. The same OpenAI-compatible backend runs it through the Gemini API (gemma-4-26b-a4b-it / gemma-4-31b-it), DigitalOcean Serverless Inference (gemma-4-31B-it, with gpt-oss-120b as fallback), or fully offline in LM Studio (Gemma 4 E4B GGUF on a laptop RTX 3050), switched by one env var with automatic fallback between providers.
  • The backend strips Gemma 4’s reasoning blocks, repairs and validates the JSON with Pydantic, and trims notes to fit local context windows.
  • The grading rubric is published as an Agent Skill Open Standard skill: skills/recap-review/SKILL.md with its JSON schema and rubric, so any skills-compatible agent can reuse it.

Stack

React 19 + Vite + Tailwind CSS v4 + Motion (frontend), FastAPI + Pydantic + pypdf + python-docx (backend), Web Speech API, Web Audio API, Speech Synthesis. No accounts, no database: sessions live in the browser. Deployable to DigitalOcean App Platform with the included .do/app.yaml.

MIT licensed.

Built with

gemmageminigpt-osslm-studiodigitaloceanreactvitejavascripttailwindcsspythonfastapipydanticweb-speech-apipypdfpython-docxollamaclaude

AI tools

Coded withClaude CodeClaude Opus 5.5Claude Sonnet 5.5

Prize Categories Entered

  • DDeepmind Google

    Best Use of Gemma 4

    Submitted

    Recap Buddy is a focused AI learning tool built on Gemma 4. Students explain a topic out loud, and Gemma 4, called through the Gemini API (gemma-4-26b-a4b-it with gemma-4-31b-it as fallback), grades the explanation concept by concept into correct, partially correct, wrong and missed, with fixes, a score and what to revise next. It then writes a first-person daily learning diary from all of the day's reviews. The same backend also runs Gemma 4 E4B fully offline in LM Studio on a laptop GPU. We handle Gemma 4's reasoning output by stripping its thought blocks and validating the JSON, and uploaded notes (PDF, DOCX or TXT) ground the review in the student's own material.

  • DigitalOcean

    Best Open-Source AI Project

    Submitted

    Open-weight models are the whole engine of Recap Buddy: every review and diary is produced by Gemma 4, served through DigitalOcean Serverless Inference (gemma-4-31B-it, with OpenAI's open-weight gpt-oss-120b as automatic fallback) or run locally in LM Studio. The project ships an Agent Skill Open Standard skill, skills/recap-review/SKILL.md with schema and rubric references, so any skills-compatible agent can grade a learner's explanation the same way. The code is MIT licensed in a public GitHub repo, and it includes a DigitalOcean App Platform spec (.do/app.yaml) for a one-app, two-component deploy.