Inspiration

The job of teacher entails a monumental amount of work, from hours interacting with students to even more hours grading papers. We spent a while thinking about how we could lessen this workload using AI, and after a bit of brainstorming, we came up with Pupil.

What it does

Pupil is a grading utility to simplify and accelerate the process of grading multiple-choice assignments and tests. After signing up, teachers can import lists of students & create assignments, then rapidly scan in page after page of student assignments. Pupil uses Gemini behind the scenes to extract students' answers from any kind of assignment and display them in an intuitive UI. After teachers upload or scan in answer keys for the assignments, Pupil will automatically grade the work and catalogue the results.

How we built it

We tried to plan out everything for this project, rather than jumping right in. We started with sketched wireframing in Excalidraw; once that was done we moved on to refined UI designs in Figma. As those pages were being designed, we began to work on building out the app's features.

Pupil was built with Svelte, which is typically a web framework, but we made it into a PWA (progressive web app) so it can run as an app on mobile devices.

Challenges we ran into

It was much trickier than expected to get the AI to recognize the answers on the page. After spending much too long struggling with the API connection, we surprisingly had to spend time tweaking the prompt sent to Gemini to get the best results.

Accomplishments that we're proud of

One of the best aspects of Pupil is how polished and viable it feels-- it's the kind of project you could see existing as a real product. Obviously it has rough spots, but that's still hard to achieve with any hackathon project and we are all proud of even just the concept.

What we learned

All of us gained different skills while working on Pupil, but everyone got a better hold on design, wireframing, and building an app step-by-step. Additionally, everyone who worked on the frontend was able to polish their skills in Svelte/Sveltekit and learn about using Gemini / LLMs in general.

Built With

Share this project:

Updates