UW Blueprint
Published in

UW Blueprint

Project Spotlight: Community Fridge KW

Introduction

Community Fridge KW (CFKW) is a mutual aid initiative with a 24/7 fridge located outside the Kitchener Market. With the core belief of “take what you need, leave what you can”, CFKW serves to increase food accessibility and reduce food waste within its community. Operations include fulfilling food deliveries, initiative marketing, and fridge check-ins with the help of volunteers alongside local businesses and donors that supply food to the fridge. UW Blueprint has partnered with Community Fridge KW since September 2021 to build a centralized scheduling platform to streamline the donation and volunteer process.

The Problem

CFKW lacks an effective way to coordinate donations and volunteer shifts, resulting in lost time spent facilitating communication. For example, a typical flow involves calling a local business for donations, jotting information on Excel, forwarding information to the rest of the admin team, and then contacting volunteers through scattered social media channels. As CFKW scales both internally, within their admin team, and externally, in onboarding more donors and volunteers, they are seeking a consolidated and transparent method to manage multiple user types.

The Solution

Our team built a scheduling platform to streamline donations and remove the admin team from being the middleman between donors and volunteers, with the end goal of increasing both the number of fridge donations and the window of time that the fridge is stocked.

We strived to maximize the value of our platform for 3 main user groups, as followed:

  1. Donors: provide an intuitive way for existing and potential donors to schedule donations ahead of time and to bring transparency via a public donation schedule
  2. Admin: create a single source of truth for managing all donor and volunteer flows and removing admin as the middleman between donors and volunteers
  3. Volunteers: centralize various touchpoints with admin (social media, email, signup.com) for different types of volunteer shifts

To do this, we broke down the development of the scheduling platform into 2 phases: Phase 1 focused on the Donor<>Admin relationship in streamlining donation scheduling and enabling donation transparency. Phase 2 focused on the Volunteer<>Admin relationship by removing volunteer dependency on admin for shift sign-ups.

The Donor Experience

The donor experience is critical for the CFKW team and its users as the food supplied typically goes out in less than an hour.

Donors can create an account to schedule a donation for any future date — the workflow allows them to select the donation quantity, type, and if it’s a pickup or unloading. Additionally, they can request a volunteer and view if overlapping time slots are booked. Donations can happen at a cadence of a one-time drop-off, daily, weekly, or monthly.

Afterwards, there is a centralized dashboard for each donor where they can view all the details of their upcoming donations and easily navigate back and forth through a calendar-like interface. These succinct views provide a cohesive way to create, edit, and cancel donations!

The Admin Experience

From coordinating donations to recruiting volunteers to maintain health and safety fridge checks, the admin team touched every interaction involved at the fridge. The biggest challenge was finding a balance between adding functionalities and automating processes.

Key features of the admin experience are:

  1. Overseeing all donor and volunteer information — this includes all contact information, every donation’s details, and every volunteer shift’s details.
  2. Automating generation of volunteer shifts — whenever a donor requests a volunteer, a shift is automatically generated, removing the admin as the middleman in the search.
  3. Donor/Volunteer shift maintainability — the ability to create, edit, cancel, and fill shifts, empowering admin to retain as much control as they’d like through all of their processes.

The Volunteer Experience

There are two main methods in which volunteers can participate in CFKW operations:

  1. Food rescues — assisting donors with donations, either through picking up off-site and bringing to the fridge or unloading on-site
  2. Fridge check-ins — for health and safety standards, the fridge is required to be looked at approximately 3 times a day, cleaned, and a photo update provided.

Previously, volunteers signed up for these shifts through signup.com, social media, and email. However, now volunteers can see upcoming shifts and sign up with one click, for both food rescues and daily check-ins. Similar to donors, volunteers will be able to manage their upcoming shifts through a chronological dashboard.

Technical Overview

In terms of the technical architecture, the project leveraged React and ChakraUI with TypeScript to serve the user-facing interface that donors, volunteers, administrators, and fridge-users interacted with. The backend endpoints were with Node.js and Express, using a Sequelize ORM for interface with the PostgreSQL database. Automated deployments were done through Docker and Heroku, with Firebase authentication.

The team followed best practices with a staging and production environment, full unit test coverage on the platform backend, and thorough code reviews for pull requests between team members. All the code for the CFKW scheduling platform is open-sourced under the MIT license and can be found here!

Design Opportunities & Challenges

The uniqueness (and difficulty) of this Blueprint project stemmed from the multiple user types and use cases that this platform needed to accommodate. There is a lot of repeated information between the user groups — for instance, we have 4 variations of donation cards:

  1. for the public calendar
  2. for the donor to view their own upcoming donations
  3. for the admin to overview all upcoming donations
  4. for the volunteers to view all upcoming donations that require volunteers.

Many design constraints and considerations had to be juggled across the 4 variations. For example, the top priority for volunteers is the time they’re needed, which differs from the admin, whose top priority is making sure all donations that require a volunteer is filled. Finding the right balance of consistency and distinction required many iterations and collaboration with our client, developers, and designers from other Blueprint teams!

The UW Blueprint team is excited to fully hand off this project to CFKW at the end of April 2022! It was a pleasure to work with a local community organization, and everyone is looking forward to seeing the platform deliver value for its users.

You can access the platform at https://schedule.communityfridgekw.ca/

The Team

F21 and W22 Community Fridge team
W22 Community Fridge KW team recreating the Blueprint logo
F21 Community Fridge KW Team Smiles!

Project Leads

Shehryar Suleman: Hello!! I’m Shehryar (3A CS/BBA) and I have been working on CFKW as a Technical Lead for Fall 2021 and co Technical Lead for Winter 2022. I had an awesome experience working on such an impactful project and got an opportunity to learn and improve my technical skills. I have to admit that this team has been the most talented and hardworking group of individuals I have ever worked with. I am quite grateful for leading such an excellent team which allowed me to grow and contribute in a meaningful manner. I am definitely going to miss being leading this team and I am very excited to see CFKW use this platform

Hanlin Cheng: Hey! I’m Hanlin (3A Systems Design Engineering) and I was one of the Technical Leads for CFKW in Winter 2022 and a developer in Fall 2021. With this being my fifth term on Blueprint, I can attest that many moving parts — scope, team skill, project design — had to come together for this project in particular, and it was truly a culmination of everyone’s growth and hard work. It was a privilege to work with team members who constantly challenged themselves and dedicated their time to launching this project! I’ll definitely cherish the time co-leading this team and can’t wait for the CFKW community to use the platform.

Product Managers

Ainley Peña: Hey! My name is Ainley (3B SYDE) and I was the other product manager in Fall ‘21! As Molly said, we accomplished setting the overall vision and getting the ball rolling in terms of project scoping and design! My favourite part when working with this amazing was seeing how passionate and driven each one of my team members were and seeing their growth by the end of the term. Super excited to see the launch of the final product woot!

Molly Xu: Hey, I’m Molly (2A CS) and I was co product manager with Ainley on CFKW in Fall 2021. In the beginning of the term, we worked closely together to create our Statement of Work and helped facilitate user interviews. I was able to learn so much about product throughout the term by creating user stories, planning monthly retros, and leading client meetings. My favourite part about my role is being in close touch with the team and the client. I had a blast working with my project team and greatly appreciate the friendships formed! I can’t wait to see CFKW use our product after launch!

Amy Li: Hi, I’m Amy (2A CS) and I’m the product manager for the W22 team! The first few weeks comprised of usability testing and bug bashes as we ramped to soft launch, before I began leading scoping efforts for phase 2 of the project. Being my first experience in product, I couldn’t have asked for a better team to work alongside and learn from. This team has definitely been a highlight of my term and I’m excited to see this project and CFKW grow!

Designers

Stacy Kwok: Hi, I’m Stacy (3A Management Engineering) and I was a designer on the CFKW team for both F21 and W22! I really enjoyed my experience designing for this project, I learned so much as this was a complex project to design for that pushed my design thinking in working with many constraints. I had a great time working with CFKW and became close with my project team this term, I’m going to miss working with everyone!

Binalpreet Kalra: Hey! I’m Binal (1B BME) and I was a product designer for CFKW in Fall 2021! This was my first project in UW Blueprint so I learned a LOT and got a chance to connect with the entire team throughout the term. I had the chance to be involved in the initial stages of this project and work closely with the client and the rest of the product team which were all very valuable experiences! I can’t wait to see the impact this project will make!

Anya Sarvanandan: Hey, I’m Anya (3A Systems Design Engineering) and I was a product designer for CFKW for Winter 2022! I had an amazing time designing the CFKW web app and the experience was incredibly rewarding. I learned so much throughout the process from my project team, and was challenged to think creatively to solve problems. I’ll miss everyone from the team and I’m looking forward to seeing our hard work being used for good!

Joanie Tian: Hi, I’m Joanie, a content strategist that assists awesome Blueprint teams such as CFKW with copywriting, copyediting, information architecture, and all things content related. Being at Blueprint has taught me a great deal about how organizations for social good function, their common struggles, and how to work with them. It has also introduced me to many bright and talented students whom I draw inspiration and motivation from.

Developers

Amanda Misjuwar: Hi! I’m Amanda (4A CS) and I’ve been a dev for CFKW in both F21 and W22. It’s been so exciting to see our project grow from an idea to a fully functioning web app that is actually being used by the community, and I’m so happy that I get to be a part of this team. Everyone I worked with has been super helpful and motivated to bring the project to life, and I’m really looking forward to shipping the final product for use by CFKW!

Akshay Saxena: Hey, I’m Akshay (4A SE) and I have been a dev for CFKW for two terms! It was an amazing experience to work with such a talented team to develop a project which has such a positive impact on the community. I have learned a lot from my fellow teammates and I am glad I was able to contribute to the success of this project.

Linna Luo: Hi, I’m Linna (3A CS) and I have been a dev on CFKW for two terms! Being a dev on this team has been one of the most challenging, yet one of the most rewarding experiences I’ve had to date. It’s been a pleasure to work on this project and see it grow from initial conception to a product that’s ready to be shipped. I’m so thankful to have met and worked with a group of such motivated and caring human beings; working with them has taught me so much and I’m excited for this platform to launch!

Jocelyne Murphy: Hi, I’m Jocelyne and I was a dev on the CFKW team in Fall 2021. As it was a new project, this meant doing preliminary research into architecture decisions and coding initial user flows for our MVP. My favourite part of being on the team (and every Blueprint team) has been all of the friendships I’ve made!! Learning and building are always the most fun when they are team sports.

Sharon He: Hello! I’m Sharon (2A Software Engineering) and a dev for CFKW. It has been a privilege be apart of this project, and to work with a group of highly-motivated individuals who constantly pushed me to challenge myself. I learned a lot about the end-to-end process and all the cross-functional work and collaboration that is required to have a project like this come to fruition. I’m grateful for all the advice, learning experiences, and friendships that have come from working on this team this term and I’m excited for CFKW to begin using the platform.

Dora Su: Hi! I’m Dora (2A CS) and I have been working on CFKW as a dev for the W22 term. I really loved learning more about CFKW’s mission and working to better help them better benefit the community! Joining as someone super new to backend and really rusty in frontend, I’m really grateful for the team for giving me continuous feedback on my work and for pushing me to take on tickets outside of my comfort zone. I’ll definitely miss working with all the talented and supportive students on this team, but I’m super excited to see CFKW begin using the platform!

Jessie Peng: Hi! I’m Jessie (1B CSBBA) and a dev for CFKW. Learning more about CFKW’s mission and how our team helps build features for them was really fun and insightful! I learned a ton about backend development for the first time by creating new CRUD services as well as how to write tests/use pgAdmin. I loved pair programming and learning from more experienced developers; every week there was always something new I learned!

Carissa Tang: Hi, I’m Carissa (1B CS) and a dev on the CFKW team. Jumping into the project two weeks before soft launch, it was definitely a challenge quickly familiarizing myself with the codebase. Working on both frontend UI and developing backend CRUD services, I have grown my skills in React/TypeScript. My favourite part of BP has been meeting all the talented and supportive people on the team and working alongside them.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
UW Blueprint

UW Blueprint

Tech for non-profits, built by UWaterloo students