Testera

Live App Built with Amazon Nova AWS Bedrock

Question generation

Each question uses exam-specific prompting with explicit difficulty calibration and quality requirements. The system prompt identifies the generator as an expert psychometrician for that specific exam:

DIFFICULTY CALIBRATION:
- Difficulty 7/10 means ~32% of test-takers get it wrong.
- Use advanced concepts with 3+ step reasoning.

QUALITY REQUIREMENTS:
1. Only ONE answer can be correct (unambiguous)
2. All distractors must be plausible common errors
3. Self-contained โ€” no external references needed
4. Consistent numbers and values throughout

No regex hacks, no brittle parsing. If Nova returns malformed JSON, the circuit breaker falls back to the cached question bank.

Tera's coaching logic

Tera's behaviour is shaped by a focused system prompt with exam-domain vocabulary. When a student gets a question wrong, the explanation prompt includes the specific wrong answer chosen so Tera addresses the exact misconception, not just the correct answer. Domain vocabulary (GMAT critical reasoning traps, GAMSAT Section III patterns, IELTS band descriptors) roughly doubles output quality on the same model. A smarter prompt beats a bigger model.


Amazon Nova Integration

Tool What it does
get_weak_topics Pulls the student's SM-2 weak topics in real time
generate_question Generates a calibrated practice question on demand
get_study_plan Fetches or generates the student's personalised Nova study plan

Nova decides autonomously which tool (if any) to call. Each call renders as a pill above Tera's reply, e.g. โœฆ Tera checked your weak topics โ€” so the agentic behaviour is visible inside the actual product. Anonymous users get the plain streaming path.

Question generation: Exam-specific system prompts with explicit difficulty calibration (1โ€“10 scale), distractor quality rules, and dual-critic verification. Nova returns strict JSON, no regex hacks.

Study Planner: POST /users/study-plan sends the student's IRT ฮธ + SM-2 weak topics + target score to Nova and gets a concrete week-by-week daily schedule back. Cached 24 hours per user.


๐Ÿšง Challenges

Keeping Tera proactive, not annoying. The hardest UX problem was deciding when Tera should speak up unprompted. Too early and she interrupts thinking. Too late and the student has already disengaged. The solution was a focus tracker: client-side monitoring of idle time, scroll behaviour, and question re-reads to detect genuine confusion before intervening.

Latency in voice + adaptive feedback. Combining Nova inference + Polly TTS + adaptive question selection in one response cycle created latency spikes. Fixing this required parallelising the Nova call and the Polly synthesis โ€” Nova generates text while Polly begins streaming audio from the first sentence.

One backend, six exams. GMAT, GRE, SAT, GAMSAT, LSAT, and IELTS have completely different question formats, scoring rubrics, and content domains. Building a single adaptive engine that handles all of them required abstracting the exam config into a clean JSON schema so Nova receives exam-specific context without the core engine knowing anything about individual exams.


๐ŸŒ Impact

Testera makes highโ€‘quality, adaptive, voiceโ€‘enabled test preparation available to anyone with a browser whether or not they can afford a tutor or premium course and it keeps them focused on learning instead of getting lost in extra tabs and notifications.


๐Ÿ€ Responsible AI

All practice questions and explanations are AI-generated original content โ€” not reproductions of official exam items:

  • No proprietary or licensed exam questions are fed into Nova
  • Questions are clearly presented as AI-generated practice material, not official exam items
  • Testera does not imply endorsement by ETS, GMAC, College Board, ACER, or any other exam body
  • Authenticated users can flag any question as incorrect or low-quality โ€” every report is reviewed
  • Testera is for practice only, not official scoring or academic advice

See User Guide for full details.


๐Ÿ™ Acknowledgements

  • Amazon Web Services โ€” Nova 2 Lite, Bedrock, Polly, SES, Aurora, ECS Fargate, and the Nova Hackathon team for making this possible
  • Vercel โ€” seamless Next.js deployment and Edge CDN
  • FastAPI โ€” the backbone of the backend
  • The IRT research community โ€” particularly the foundational work on 3PL models and Newtonโ€“Raphson ability estimation that Testera's adaptive engine is built on
  • Every student who's ever been told "just study harder" โ€” this one's for you

Built With

Share this project:

Updates

Submission history