Inspiration
As a university student working full-time while studying full-time, keeping track of coursework, deadlines and assessments across multiple modules was difficult. I wanted to build a tool that makes it easier to organise university work and understand which assessments I need to complete to pass each module.
What it does
Crunch is a university assessment tracker designed to help students organise coursework and stay on top of deadlines. It brings assessment information into one place, making it easier to prioritise tasks, monitor progress and avoid missing important submissions.
How I built it
I built Crunch using Python 3.12 and Flask, with HTML, CSS, Jinja2 and JavaScript for the interface. I integrated Moodle’s Web Services API to retrieve assessment and grade data, used pypdf to extract information from module PDFs, and JSON files to store notes and offline data. I used Claude Code as an AI coding tool, Git to track changes, and pytest to write 55 automated tests.
Challenges I ran into
My biggest challenge was figuring out how to retrieve information from Moodle. I eventually discovered how to generate a web service token through Moodle’s managephptoken page and use it to authenticate API requests. This allowed me to retrieve the module and assessment information needed to build Crunch.
Accomplishments I'm proud of
I'm proud of turning a problem I personally experienced into a working software project. Building Crunch solo during a hackathon allowed me to apply my programming skills to a real-world problem and create something that could help other university students.
What I learned
I learned the importance of planning, prioritising essential features and breaking development into manageable steps. I also gained experience integrating external APIs, handling authentication, testing functionality and using AI coding tools throughout the development process.
What's next for Crunch
I want to expand Crunch to support other university learning platforms, making it easier for students at different universities to retrieve their assessment information automatically. I also want to continue improving the assessment tracking experience and make it easier for students to understand their progress across modules.


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