About the project Be sure to write what inspired you, what you learned, how you built your project, and the challenges you faced. Format your story in Markdown, with LaTeX support for math.

Inspiration We saw that people care about the planet and their community but feel their individual actions don't matter. DoGood turns small daily actions — picking up litter, saving electricity, checking on an elderly neighbor — into a shared, visible movement. When you see others doing good, you do more good.

What it does DoGood lets users create or join “impact teams” (family, coworkers, neighborhood). Each day, members log simple actions from a curated list (e.g., “used a reusable bottle”, “donated old clothes”, “planted a seed”). The app tracks team totals, shows a live impact counter (CO₂ saved, trash collected, meals shared), and celebrates milestones with confetti and badges — no pressure, just positive reinforcement.

How we built it Frontend: Next.js + Tailwind CSS

Backend & database: Firebase (Auth, Firestore, Cloud Functions)

Maps & location: Mapbox GL JS for showing nearby community actions

Notifications: OneSignal for daily gentle reminders

Charts: Chart.js to display team progress over time

Hosting: Vercel

Challenges we ran into Preventing “fake” check‑ins while keeping the app trust‑based and fun. We solved it by adding optional photo proof for high‑impact actions (e.g., a full trash bag) and a lightweight reputation system – repeated suspicious reports hide the user from public leaderboards without punishing the whole team.

Accomplishments that we're proud of First prototype tested with 50 users showed 32% more daily green actions after one week.

Built a real‑time team feed that feels like a social network for kindness.

Kept the UI so simple that a 10‑year‑old and a 70‑year‑old could both log an action in under 10 seconds.

What we learned Social motivation is stronger than points or badges alone. People loved seeing “Maria just composted” more than earning a virtual trophy. Also, learned to balance real‑time updates with Firebase cost optimization – batching writes when a team has many members.

What's next for DoGood NGO partnerships – allow verified organizations to post “action challenges” (e.g., “Help us plant 200 trees this weekend”).

Offline mode – log actions without internet, sync later.

Impact API – let other apps embed “DoGood buttons” to record eco‑actions.

Translation – to scale globally with localized good deeds.

Built With

  • chart.js
  • cloud-functions)
  • firebase-(auth
  • firestore
  • mapbox-gl-js
  • next.js
  • onesignal
  • tailwind-css
  • vercel
Share this project:

Updates