Introduction

CommuteSense began from a recurring daily frustration. My bus route after school was regularly delayed, cancelled, or too overcrowded to board. I reported these issues to Auckland Transport multiple times, and although I received polite replies saying the problem would be resolved, nothing changed. This made me realise that individual complaints were easy to ignore because they were isolated and lacked structured data. That gap inspired me to build a system that could capture student experiences at scale and convert them into meaningful evidence.

Inspiration

The key idea was that change often begins with visibility. Students across Auckland face the same peak hour problems, but their experiences are scattered. A centralised platform that collects and analyses these reports can make the problem measurable. If enough students submit consistent data, it becomes harder for transport authorities to overlook the patterns.

I also wanted to create a project that demonstrates how technology can be used for community improvement. Real issues like transport reliability have measurable impacts on students who must arrive home on time for extra activities, part-time jobs, or family responsibilities.

What I Learned

Building CommuteSense taught me how to turn a problem into a software solution. I learned about:

  • Designing a user-friendly reporting interface for quick submission during busy periods.

  • Setting up a backend to store and classify reports.

  • Creating a dashboard that transforms raw data into useful insights.

  • Calculating reliability scores using a simple formula:

Reliability=On-time reportsTotal reports×100\text{Reliability} = \frac{\text{On-time reports}}{\text{Total reports}} \times 100Reliability=Total reportsOn-time reports​×100

This project also strengthened my understanding of user experience, database design, data processing, and how to communicate technical information clearly.

How I Built the Project

I began by defining the most important features: a reporting form, a data store, and a dashboard. I designed the interface to be minimal so that students can submit a report within seconds. The backend handles each submission by storing the route number, issue type, timestamp, and optional comments.

For the data side, I created a basic schema that groups issues by route and time. I then built a simple calculation system that classifies each report either as a success or a failure event based on issue type. Routes can then be ranked by reliability, allowing users to see which services struggle the most.

The dashboard displays bar charts and summaries that update as data is added. Even in its MVP form, it demonstrates patterns clearly such as peak-hour pressure and specific routes that experience consistent failures.

Challenges

One major challenge was limiting the project scope to an MVP. The most ambitious version of CommuteSense would include user accounts, automated data aggregation, and integration with official APIs. However, I needed to prioritise features that would prove the concept while still being achievable.

Another challenge was deciding how to handle data quality. Real users might misuse the system, submit duplicates, or create exaggerated reports. To address this, I implemented basic rate limiting to prevent spam and added validation checks to keep the system reliable.

A further challenge was converting individual experiences into quantifiable metrics. Real transport systems are complex, and a single formula cannot capture every variable, but I aimed for a simple, transparent scoring method that can be improved in future iterations.

Conclusion

CommuteSense started from a personal frustration, but it evolved into a practical demonstration of how everyday problems can be addressed through technology and community input. By transforming scattered student experiences into structured data, this project highlights gaps in public transport reliability and provides a foundation for future improvements. It also taught me how impactful even a simple digital system can be when built with a clear purpose.

Built With

Share this project:

Updates