Building a Volunteer Management Tool for Cascade Bicycle Club

25 Oct 2024

About Cascade Bicycle Club

Cascade Bicycle Club is a Washington state bicycling nonprofit. They organize flagship rides and events such as the Seattle to Portland, advocate for safe places to ride, and teach the joys of bicycling. Cascade serves around 10,000 members, has 30 staff and 700 volunteers.

How I got involved

I wanted to gain hands-on experience in building web applications while creating something useful. As a volunteer with Cascade and an avid cyclist, I approached Zack, the Volunteer Manager at Cascade to explore how I could contribute. During our conversation, we identified several areas where a database-powered application could reduce repetitive manual tasks through automation.

What were the problems

Volunteer activities and benefits were tracked using multiple Excel spreadsheets. Updating these spreadsheets involved merging together spreadsheets from various sources and creating pivot tables, making it tedious and prone to errors. Consequently, updates were only done once a month, leaving volunteers with outdated information about their benefits—sometimes as old as a month.

What I did

I began by understanding the problems and familiarizing myself with the existing processes. The team and I agreed that developing a web application with a relational database would not only address the current issues but also provide a scalable foundation for future enhancements.

Based on my understanding of Cascade volunteer team's operation, I designed a data model and implemented it using PostgreSQL.

I created a user interface for the team to manage their operations.

I developed additional features, including expiring volunteer credits, merging duplicate profiles, capabilities that were previously infeasible.

What was the impact

Volunteers now have an up-to-date view of their activities and benefits. The team has a systematic tool to manage volunteers, events, and benefits, eliminating the need for tedious manual tasks. Additional reports can be created.

What did I learn?

  1. Database design and management
  2. I deepened my understanding of relational databases, including concepts like database normalization and SQL query optimization. Working with PostgreSQL, I also gained hands-on experience implementing databases using an Object-Relational Mapper (ORM) with Flask-SQLAlchemy

  3. Collaboration and communication with stakeholders
  4. I learned to translate users' pain points into technical solutions, understanding implicit requirements, and anticipating scope creep and requirements changes.

  5. User-centered design
  6. I learned to design a simple and intuitive user interface based on minimal initial requirements, using iterative improvements and regular demos to gather feedback and ensure the final product was valuable to the team.

What did they say about working with me?

Here is an excerpt of what Zack Kravey, Volunteer Manager at Cascade Bicycle Club, has to say:
Mishan's database has laid the groundwork for widespread implementation of similar systems across other departments. Mishan is a dependable, punctual, professional volunteer who settles for nothing but the most optimal solution. She consistently showed a genuine interest in the needs of the organization and solicited feedback every week on potential improvements.
Read the full letter of recommendation here.