Inspiration
Litter is one of those problems everyone notices but almost no one tracks or has major incentives to help clean up. Existing cleanup efforts are usually organized, one-off events - there's no easy way for someone to turn a five-minute pickup on their walk to class into something visible, measurable, or rewarding. We wanted to make individual environmental action feel as trackable and motivating as a fitness app makes a workout - and to give local businesses an easy way to support and reward the people doing that work. This way, those who are noticing the problem now will be motivated to help be a part of the change eliminating litter and making our planet a more hospitable place to live.
What it does
Litter Quitter lets users log cleanups two ways: a quick Manual Log (litter type, quantity, location, notes) or a Live Session using real GPS tracking to record distance, time, and pin-dropped locations as they walk and collect. Every session automatically calculates estimated environmental impact (CO2 saved and equivalent miles not driven) based on published carbon footprint averages per material type. Completed sessions build a personal activity history on the user's Profile, which users can review, delete, and see totals accumulate over time.
The Rewards system turns cleanup effort into real value: users earn points per item collected, track progress toward reward tiers, and redeem points for coupons from partner local businesses (e.g., discounts and free items). Redemption includes balance validation to prevent overspending, and each redeemed reward generates a confirmation screen showing the specific business, offer, and date - mirroring the experience of a real digital coupon. This creates a direct incentive loop: the more litter someone picks up, the more real-world value they unlock, and local businesses gain a low-cost way to support and market to environmentally engaged customers.
A Hotspots map visualizes areas with reported litter activity across a city, helping identify where cleanup efforts matter most.
How we built it
The frontend is built in React Native + Expo + TypeScript, using expo-location for real device GPS tracking, react-native-maps for both live tracking and the hotspots visualization, and React Context for shared app state. A lightweight name-based onboarding (no password) lets multiple people use the same device with fully separate, persisted histories via AsyncStorage. In parallel, we built a FastAPI + SQLAlchemy + SQLite backend with working endpoints for users, cleanup sessions, and reward redemption - including real server-side point-balance validation.
Challenges we ran into
Connecting a locally-running backend to a physical phone over the same WiFi network (versus localhost) was a real debugging challenge, along with several rounds of tracking down stale Metro bundler caches that produced confusing, misleading errors. Structuring navigation correctly - nested tab and stack navigators, screens reachable from an overlay but not shown as tabs - also took real iteration to get right.
We also had trouble figuring out the best way to quantify the environmental impact users would have. How would we calculate the environmental impact of picking up 1 plastic water bottle? This made us think further into the idea of long term and short term goals being met. The user can log pieces of litter, (which will show more impact to the native eye than the C02 emissions saved bar would) motivating them to continue logging pieces of litter and see the long term achievements of their daily litter pick ups side by side to the litter item count.
Accomplishments that we're proud of
Getting real GPS tracking working end-to-end - permissions, continuous location watching, live distance calculation using the Haversine formula - felt like a genuine milestone. We're also proud of the full rewards redemption flow: real balance checking, a progress bar toward the next reward tier, and a polished confirmation screen for each claimed coupon. And we're proud of building a real, working backend from scratch (models, schemas, validated endpoints) within the same session as the frontend, even though full integration between them is still a work in progress.
What we learned
A huge amount about React fundamentals - state vs. shared state (Context), the render lifecycle, and why certain bugs (like hooks called outside components) happen. We also learned a lot about the practical realities of connecting a mobile frontend to a local backend, and how much thought multi-user local persistence requires even without full authentication.
What's next for Litter Quitter
Full user authentication (replacing the name-based system), connecting the existing backend to the live app for real cross-device persistence, a leaderboard and achievement badges, richer environmental impact modeling based on real logged material types, and a business-facing dashboard so partner businesses could define their own rewards, track redemption analytics, and see the direct community impact their partnership generates.
Log in or sign up for Devpost to join the conversation.