Inspiration

Every student has a version of this story. You open your notes, start a timer, tell yourself you're studying — and 20 minutes later your brain has been somewhere else entirely. The timer ran. Nothing went in.

We looked at every study tool on the market. Quizlet organises your flashcards. Anki schedules your reviews. Forest runs a timer. Not one of them addresses the moment you zone out mid-session — and that's the moment that costs you your grade.

We wanted to build something that fights back.

What it does

Socra is an AI-powered study app that keeps students cognitively engaged during the session itself — not before it, not after it.

You upload your lecture notes as a PDF. Claude reads the material, extracts 8 core concepts with definitions, and builds a tiered question bank grounded in your actual content. You browse the concepts, self-rate your understanding, then start a 25-minute study sprint.

During the sprint, Socra randomly interrupts you with a timed checkpoint question. Not a generic flashcard — a question pulled directly from your notes, graded live by Claude with feedback in under two seconds. Answer correctly and your score goes up. Timeout and you lose points. Your study group can see your score on a live leaderboard the whole time.

At the end of the session you get a gap report: concepts mastered in green, gaps in red, and three specific revision actions written directly to you by Claude.

You cannot fake it. You cannot ignore it.

How we built it

We built Socra in under 4 hours at Durham Build Day using a Next.js 14 frontend, FastAPI backend, and the Anthropic Claude API as the core intelligence layer.

Claude handles everything that matters: PDF parsing including embedded images, concept extraction, adaptive question generation, live answer grading, and the end-of-session gap analysis. Difficulty adapts in real time based on your score trend — harder questions when you're performing well, recovery questions when you're struggling.

Session sharing works over LAN or ngrok. Scan a QR code and you're in. The leaderboard polls every 5 seconds and shows score trend arrows, join toasts, and a winner banner at the end.

Challenges we ran into

Calibrating the checkpoint timing. Too early and it feels unfair. Too frequent and it breaks focus rather than sharpening it. We landed on a probability curve: near-zero in the first 15% of the sprint, ramping to 90% near the end, with a cooldown after each question fires.

Keeping Claude responses fast enough to feel live. Answer grading had to feel instant or the modal would kill the tension. Prompt engineering and response streaming got us to under two seconds consistently.

Balancing the scoring system. Timeouts needed to hurt more than wrong answers — a wrong answer means you tried, a timeout means you zoned out. Getting that calibration right without making the game feel unfair took more iteration than expected.

Accomplishments that we're proud of

We shipped a complete, working product in under 4 hours — PDF upload, concept extraction with image mapping, adaptive checkpoints, live answer grading, leaderboard with QR session sharing, and a gap report with a winner banner. Everything we planned, plus things we didn't.

The ⚡ Trigger button — a demo shortcut that fires a checkpoint immediately — ended up being the most crowd-pleasing feature on stage.

What we learned

Shipping fast forces ruthlessness. We cut a lot of features that would have been nice and kept only what made the demo undeniable.

Prompt engineering is real engineering. The adaptive difficulty engine, the gap report quality, the answer grading speed — all of it came down to how precisely we defined the task for Claude.

What's next for Socra

  • Persistent accounts — session history, long-term concept mastery tracking, spaced repetition layer built on gap report data
  • WebSocket leaderboard — replace polling with real-time sync
  • Multiplayer content — shared PDFs, group gap reports, cohort-level analytics for educators
  • B2B — university licensing, engagement dashboards for student success teams, LMS integrations
  • Mobile — the checkpoint modal was built for mobile from day one

Built With

  • claude-api
  • fastapi(python)
  • http-polling
  • next.js
  • pymupdf
  • tailwind.css
  • typescript
Share this project:

Updates