Inspiration

We feel like a lot of people give up on learning because it can be mentally stressful, repetitive, or just not very interesting. At the same time, AI makes it easier than ever to get answers instantly, which makes actually understanding what you are learning and developing critical thinking even more important. We wanted to see if AI could be used in a way that helps people learn instead of just helping them skip the learning process.

That’s where the idea for EduXPert came from. We thought it would be really cool if you could take basically anything you wanted to learn and turn it into a personalized video game. Games are already good at keeping people engaged, getting them to try again after failing, and making them want to keep going, so we wanted to see if we could bring that same feeling into learning. We also thought about how teachers are dealing with larger workloads and less time to give every student individual attention, and saw EduXPert as something that could help give students a more personalized way to learn and practice.

What it does

EduXPert takes educational material from the user through something like a PDF or written text and turns it into a game based around what they are trying to learn. Before generating the game, it asks the user a few questions so it can better understand what they want to focus on, how much they already know, and what kind of game would make the most sense.

The goal is to make the games engaging, visually interesting, entertaining, and actually educational. One of the biggest things we wanted to do differently was make the learning part of the game itself. A lot of educational games are basically regular games that stop every once in a while and make you answer a question. We wanted to stay away from that and instead make understanding the topic help you play the game. If you are learning about limits, for example, the mechanic could involve approaching a value or position. If you are learning trigonometry, things like rotation, period, and amplitude could be part of the actual mechanisms in the level.

We also have a library of games that have already been generated. If someone wants to learn something that already has a good game available, we can show them that instead of wasting tokens generating basically the same game again.

How we built it

We built EduXPert with Next.js, React, and TypeScript. Our showcase games use interactive 2D environments, custom SVG artwork, and different mechanics depending on the subject and level. We kept a lot of the game content in structured campaign data so that things like the story, educational concepts, encounters, and mechanisms could connect to the same reusable game engine instead of us having to rebuild everything from scratch every time.

In one of our games, The Clockwork Crypt, the player learns concepts like radians, period, amplitude, and solving trigonometric equations while moving through the level. The concepts are introduced before the player has to use them in the next part of the game, and we added worked examples, hints, and extra support when the player is struggling so they are not just stuck after getting something wrong.

We used Playwright for browser interaction testing, Vitest for logic and game data testing, and TypeScript and ESLint to help catch problems while we were developing. We also worked on a GameSpec pipeline that could eventually take uploaded learning material, find the important concepts and common mistakes, and use that information to generate a game that is actually based on the source material rather than just loosely based on the topic.

Challenges we ran into

One of the biggest challenges was figuring out how to put the learning into the game without making it feel forced or like a gimmick. It is really easy to make an educational game that is just a normal game with questions added on top of it, and we kept having to think about whether the player was actually learning through the mechanic or if we were basically just making a quiz with extra steps.

Another challenge was making the games feel different while still having some base systems we could reuse. Generating everything completely from scratch would be slow, expensive, and harder to make reliable, but if we reused too much, every game would start feeling the same. A lot of our time went into figuring out what parts could stay consistent and what parts should change depending on the topic. We also had a lot more ideas than we had time to build, so deciding what was actually possible within the hackathon was another challenge.

Accomplishments that we're proud of

One of the things we were most happy about was that we actually started getting immersed in the games ourselves. Sometimes we would open a level just to test something and end up continuing to play it, which made us feel like the idea could actually work and that educational content did not automatically have to make a game less fun.

We are also proud of the idea we came up with. Education technology is already really oversaturated, so when we decided to work on education, we did not want to just make another study tool, flashcard app, or AI tutor. We feel like turning the content itself into the mechanics of a generated game is something we have not really seen done in the same way, and we are proud that we were able to take such a big idea and get a working version of it built during a hackathon.

What we learned

One of the biggest things we learned was how important it is to genuinely care about you are building. It was a lot easier to keep working when things broke because we could actually picture ourselves using EduXPert and could see what a bigger version of it might look like.

We also learned how important planning is before jumping into development, especially when you only have a short amount of time. Figuring out how the game generation should work, what systems could be reused, and how the educational content should connect to the gameplay helped us avoid wasting even more time later. We also learned a lot about building reusable game systems, making interactive experiences in the browser, and giving AI a more structured way to generate content instead of just letting it generate whatever it wants.

What's next for EduXPert

There are a lot of things we would want to add next. We want to add voice for characters using ElevenLabs API, improve the environments, and eventually make the games 3D. We also think multiplayer could be really interesting so students could work together or compete while learning the same material, and persistent user accounts would let EduXPert remember what someone has learned, what they struggle with, and what games they have already played.

The biggest thing we would want to work toward is using EduXPert in actual schools. A teacher could upload class material, study guides, or even questions that a lot of students got wrong, and EduXPert could turn those specific concepts into games that students could use to practice. We want EduXPert to make learning something students actually want to keep doing.

Built With

Share this project:

Updates

Submission history