Testera
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
- adaptive
- ai4good
- amazon-ec2
- amazon-web-services
- bedrock
- edtech
- fastapi
- lamda
- learning
- next.js
- nova
- polly
- postgresql
- python
- rds
- react
- socialgood
- test

Log in or sign up for Devpost to join the conversation.