What is Communikey?
Communikey connects volunteers with local volunteer opportunities. Users can request volunteers if they need help, or browse and commit to volunteer opportunities if they have time/energy to give.
Why Volunteering?
Volunteering is a wonderful way to make friends and improve your community. Volunteering makes us healthier, happier people.
For more, read Volunteering and its Surprising Benefits
Problem:
As great as volunteering is, there's a lot of friction involved. Formal volunteer opportunities (eg animal shelters, nursing homes, schools, soup kitchens) often require lengthy/involved applications and hours of training. Those who survive the gauntlet are then asked to make weekly time commitments that can be hard to keep with busy, variable schedules. Because of the time and commitment required, many people who would like to volunteer don't.
Hypothesis:
People would volunteer more if it were easier.
Goal:
Volunteering should be frictionless. I want local opportunities that work with my schedule and allow me to leverage my skills.
In addition to formal volunteer opportunities, I also want to be notified when someone in my neighborhood needs my help, whether it's moving boxes or setting up their WiFi.
There are volunteer opportunities all around us. Our neighbors could use our help more often than we realize (and visa versa), but it can be socially difficult/awkward to request/offer help. If we knew how we could help others, we'd do it more often.
Example Volunteer Opportunities
- Sam, an 80 year-old neighbor needs help getting to and from the grocery store on Saturdays.
- Christie is moving apartments and could use help from a few able-bodied people moving heavy furniture for an hour.
- The Boulder Shambala Center is hosting a party to celebrate the changing seasons and needs 5 people to help run the raffle.
- Chelsea needs help doing her taxes.
- Dan needs help changing the oil in his car.
- Poudre Valley High School needs 7 chaperones for an upcoming field trip.
Getting Started
- Fork/Clone
- Open two terminal windows, one for client and one for server
- Open server:
- Install dependencies
- Create two Postgres databases -
communikey_devandcommunikey_test - Run tests -
npm test - Apply migrations -
knex migrate:latest --env development - Add seed -
knex seed:run --env development - Run server -
npm start
- Open client:
- Install dependencies
- Run -
npm start
Development
MVP Stage 1: Craigslist for volunteer opportunities. Users can create accounts, then CRUD volunteer opportunities. Opportunities require a title, description, location, contact info, and time. Users can only edit their own posts, but they can view all.
Stage 2: Filter posts by location. View posts that are within x miles of you or another specific location. Add tags to posts, filter by tags.
Stage 2: Users can commit (register) for volunteer opportunities. Post creators can Request a certain number of people... users can offer to help... creators can accept help.
Stage 3 and beyond: Calendar integration. Recommendations, notifications. Social Media Features.
Potential Features
Calendar integration
- Volunteers indicate when they're available on a calendar, highlighting blocks of time they're free to help someone in need. Communikey notifies them when there are opportunities during their free time.
- When you 'commit' to a volunteer opportunity, it is added to your personal calendar.
Recommendations
- Location - what's in walking distance? Driving distance? Etc.
- Interests/causes listed in your profile people your friends have helped.
- Services you are willing/able to render
- Receive notifications when someone in your area needs makes a post that matches your preferences