Crowdsourced Community Cleanup - Built in 24 hours at the LFG x Basis 2025 Hackathon.
Upkeep is a hackathon project we put together in 24 hours. It turns local cleanup into a game: drop pins on messes, earn points for cleaning them, and trade those points for small rewards.
- Spot it. You see graffiti, litter or fly-tipping.
- Pin it. Drop a map pin with a photo. Set a point-value bounty.
- Clean it. Anyone can pick up the task, do the job, and upload a proof photo.
- Earn it. Complete tasks, earn points, climb the leaderboards.
- Spend it. Swap points for perks (partner discounts or community kudos).
- Community-driven: Locals decide what needs fixing.
- Low friction: Photo evidence + simple validation = trust.
- Open-ended: Use points to create more bounties or claim rewards.
- Frontend: Next.js + Tailwind + shadcn/ui
- Mapping: Google Maps API for interactive pins
- Auth & Data: Supabase (Postgres + Auth + Storage)
- Backend: FastAPI + Pydantic (reporting & validation)
- Deployment: Vercel (frontend) + Supabase + Google Cloud Functions
-
Clone & setup
git clone https://github.com/A9-dev/streetcleaner && cd streetcleaner
-
Run the Frontend
cd frontend cp .env.example .env.local # fill in SUPABASE & MAPS keys pnpm install && pnpm run dev
-
Run the Backend
cd backend uv venv uv pip install . uvicorn src.main:app --reload
-
Go clean! Visit
http://localhost:3000and drop your first pin.
- Add AI validation for photo proof.
- Implement user profiles & badges.
- Create a community feed for updates.
- Add team-based challenges & chat.
- Mobile build (React Native).
- Integrate local business APIs for better rewards.
- Connor Brook - Backend
- Joshua Oyekunle - Frontend
- Henry Pearson - Frontend
- Felix Walton - Frontend