Inspiration

As a group, asked a simple question: “How can we connect students and people in need of food with food drives/ people willing to donate?” That challenge turned into GiveWay.

What it does

  • Students or community members request a meal.
  • Drivers sign in, see the closest requests, and follow one optimized route.

How we built it

  • Flask for the API and page routing.
  • OpenRouteService to geocode addresses and build raw routes.
  • Leaflet to draw the map.
  • Bulma + vanilla CSS for the UI.
  • In‑memory dictionaries keep student and volunteer data for the demo.

Challenges we ran into

  • API rate limits, solved by caching geocode results.
  • Merge conflicts while four people edited the same HTML file.
  • Balancing “looks good” with “loads on a phone with spotty Wi‑Fi.”

Accomplishments we’re proud of

  • Added a live carbon‑saved counter in one evening.
  • Slide‑out nav, color‑blind theme toggle, and mobile view all work.
  • One‑click “Seed demo data” lets judges test without signup pain.

What we learned

  • WebSockets are worth the setup when the data is live.
  • Clear commit messages prevent half the Git pain we caused ourselves.

What’s next for GiveWay

  • Deploy on Render with Postgres instead of in‑memory data.
  • SMS alerts: “Driver is 5 min away.”
  • Turn recipients into future drivers with a “Pay‑it‑Forward” toggle.

Built With

Share this project:

Updates