Inspiration
This was a project I'd hoped to work on from the start of the year, when I visited my old high school. I spoke to old teachers, who complained about increased student intakes and more working hours, despite no additional support. They also mentioned difficulties in preparing repeatable, yet valuable, work for their students. EduHub was therefore built to help them.
What it does
EduHub is a assignment-provision software built for teachers. A teacher picks a syllabus, subject, and skills, and EduHub pulls verified questions from a question bank built on real exam-board specs (e.g. AQA GCSE , Cambridge IGCSE, Pearson Edexcel ). If there aren't enough matching questions, Claude generates the rest, flagged unverified until a human reviews them. Teachers can also tweak any question through a chat panel (e.g. "make question 3 harder") without regenerating the whole worksheet. After students complete their assignments, there is a report section, where agents analyse student performance and flag any outliers/important details and trends, such as a particular topic area where a class has uniformly poor performance. These two functions should collectively reduce teachers' grunt work by up to 30% weekly.
How we built it
EduHub runs on Next.js 16 and React 19 for the frontend, deployed on Vercel. The backend is Aurora PostgreSQL on AWS, provisioned through Vercel's Marketplace integration with IAM-based auth instead of static keys. The schema is fully relational: curricula link to skills, courses link to worksheets and questions, all through foreign keys, which is exactly what made Aurora the right call over DynamoDB. Question generation runs on Claude Sonnet 4.6 for the heavier reasoning work, and Claude Haiku 4.5 for faster, lighter chat-driven edits to existing questions. Curriculum data was imported from official exam board spec sheets, parsed out of Excel files into the skills and curricula tables.
Challenges we ran into
Building this solo in three days meant every architectural decision was mine alone to make and verify, with no second pair of eyes to catch a bad call before it shipped. Getting Aurora set up correctly through Vercel's Marketplace integration, with IAM auth rather than static keys, took real care to get right the first time. The schema also had to hold up end to end: curricula, skills, courses, worksheets, and questions all foreign-key linked, with no room to denormalize under time pressure without risking the whole data model. On top of the backend work, I had to make sure the actual product, generation, verification, and chat-editing, kept working the entire time, not just the database underneath it.
Accomplishments that we're proud of
Getting a real, working relational architecture built on Aurora in three days without sacrificing functionality. The question bank, generation pipeline, and chat-editing flow all work end to end against Aurora, not just superficially pointed at it. I'm also proud of sticking to a deliberate, reasoned database choice (Aurora over DynamoDB) instead of picking whichever option would look more impressive in a demo.
What we learned
Beyond the Aurora mechanics, the real lesson was about building solo under pressure. There's no one to hand the hard decisions to, so you learn fast which tradeoffs actually matter and which ones are just noise. I also didn't expect how invested I'd become in this problem once I was deep in the build. Talking to teachers about how much time they lose to manual prep work is what made this feel like a real problem worth solving, not just a hackathon exercise, and that's what's keeping me on it past the deadline.
What's next for EduHub
Finishing the features that are currently real but minimal: class and roster management, feedback flagging on AI-generated questions, and analytics on completion rates and difficulty calibration. I also want to build out the student-facing side properly (the share_code mechanism already exists but has no UI yet) and move from a hackathon-grade auth setup to a production-ready one. Long term, the goal is to get this in front of real teachers and see if it actually saves them the hours they're losing today.
Built With
- amazon-web-services
- anthropic
- aurora
- claude
- katex
- next.js
- node.js
- postgresql
- react
- supabase
- tailwind
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.