Inspiration
Nonprofits struggle with volunteer coordination and retention [1], leaving volunteers looking to pick up or drop a shift wading through tons of messages per week across multiple platforms. For supervisors and shift leads, this results in staffing uncertainty and extra work to cover for the absent volunteers.
Lack of personnel isn't the issue. Lack of information is.
Meet Porpoise
A nonprofit scheduling system connecting the volunteer who's free to the moment they’re needed.
When you can't make a shift due to midterms, sickness, or life just gets in the way, hop into Porpoise's web interface to drop your shift. Porpoise will take care of covering your shift by sending texts to other available volunteers, triaged based on how often they worked recently to prevent burnout.
When you want to pick up a shift, just access Porpoise's web interface and browse the available shifts.
Leads can invite new volunteers, view shift coverage analytics, and customize shift roles from the admin dashboard. Roles ensure that qualified personnel are present when and where they are needed, reducing scheduling overhead.
User Flow
- Volunteers receive an invite link via SMS to join the organization and submit their availability.
- Once a Lead assigns you a shift, you'll receive a confirmation SMS to accept the shift in the webapp.
- Porpoise will send you a reminder 1 day before the shift starts in case you have a last-minute cancellation.
- If you opt in, Porpoise will occasionally send you an SMS notice about available shifts during times that you have already marked available, for roles that you're qualified for. You can accept the shift with one click.
Admin Features
- Fill dropped shifts with one click.
- Customize roles for each user, ensuring qualified personnel are present when you need them. Think conflict resolution training, Food Safe certification, or CPR training.
- Monitor the number of vacancies per shift, and manually assign staff if needed.
- Celebrate the dedication of your volunteers with monthly summaries of their efforts.
What's next for Porpoise
We are looking to add some quality-of-life features, including:
- Loading shifts from a file,
- Loading volunteers from a file,
- Making SMS messaging more stable + reliable,
- Adding an organization administrator to assign shift leads, and
- Auto-assigning new volunteers to vacant shifts.
Implementation
Frontend: We used React/Next, Typescript, and Tailwind to create a responsive webapp for mobile and desktop browser, so volunteers and shift managers don’t need to download another app on their phones.
Backend: Our backend consists of an API built using Flask/Python, integrating Twilio’s SMS API for messaging to the user. We’re using Twilio’s free plan, but nonprofits can register for Twilio’s discounts for nonprofits to get free messaging credits.
Deployment: We deployed our backend on Railway, frontend on Vercel, and database on Supabase!
[1] Victoria Foundation State of the Non Profit Sector Report 2024
implementation was assisted by Claude xoxo
Built With
- flask
- postgresql
- python
- railway
- react
- supabase
- tailwind
- twilio
- typescript





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