Group Project · 2024

0 to Hero — a campus sustainability game built by five people in six weeks.

A second-year university group project. A Django web app that gives students one sustainability challenge a day, scores them for doing it, and lets them spend the points on a virtual village. Two sprints, a shared repo, and a live deployment for the demo.

Team
Five, University of Exeter
Stack
Python, Django, SQLite
My part
Auth, posting, profiles, map page
Link

The brief.

Build a web app that gets students to act more sustainably on campus. Run it as a real software project: a team of five, sprints with a kanban board and meeting minutes, a shared codebase, and a demo at the end. The app needed a "gamekeeper" role so that staff could run the game after we'd handed it over, plus the privacy policy and terms that come with holding student data.

We called ours 0 to Hero. Six weeks from first commit to final submission, with over two hundred commits from five people.

What we built.

My part.

We split the app by page rather than by layer, so each of us owned a slice from template to view to form. Mine were:

Working in a team.

This was the first time I'd written code that depended on someone else's code while they were still writing it. The data model was one person's job; everything I built sat on top of it, and when a field changed, my pages broke. We ran a Trello board with snapshots taken each sprint, kept minutes for every meeting, and got very familiar with merge conflicts, because five people were committing straight to main.

The thing that actually worked was the page-ownership split. Nobody was blocked waiting for someone else's layer, and the seams between pages were simple enough that integrating was mostly a matter of agreeing on URL names and template blocks.

"Owning a page end-to-end taught me more about Django than any tutorial. Owning it next to four other people taught me more about software."

What I'd do differently.

What it taught me.

Everything else on this site I built alone. This is the one that looks like a job: other people's code, a deadline that didn't move, a client-style brief, and a demo to a room. The habits I have now around small commits, clear ownership and talking before touching shared code started here, mostly by learning what happens without them.