TrashMob.eco

March 1, 2026 · View on GitHub

Meet up. Clean up. Feel good.

Build Status

What is TrashMob?

TrashMob.eco is a platform dedicated to organizing groups of people to clean up the world we live in. Users create cleanup events, publicize them, and recruit people to join up, as well as ask for assistance from communities and partners to help haul away the garbage once it is gathered.

The idea is to turn what can be an intimidating process for event organizers into a few clicks and simple forms. And once the process is simple, events will spring up all over the world, and the cleanup of the world can begin.

Live Sites

EnvironmentURL
Productionwww.trashmob.eco
Developmentdev.trashmob.eco
Dev Swaggerdev.trashmob.eco/swagger

Mobile Apps

PlatformLink
AndroidGoogle Play Store
iOSApple App Store

Quick Start

For detailed development setup instructions, see CLAUDE.md.

Prerequisites

Build & Run

See CLAUDE.md for full build commands, local URLs, and development setup.


Documentation

For Developers

DocumentDescription
CLAUDE.mdDevelopment guide, architecture, coding standards
CONTRIBUTING.mdHow to contribute
CODE_OF_CONDUCT.mdCommunity guidelines

Product & Planning

DocumentDescription
2026 Planning HubRoadmap, projects, and milestones
TrashMob.prdWeb API product requirements
TrashMobMobile.prdMobile app product requirements

Support & Operations

DocumentDescription
Troubleshooting GuideCommon issues and solutions by feature area
Community Admin OnboardingStep-by-step setup guide for new community partners
Event Day PlaybookWhat to do when things break during a live event
Support Channels & TriageSupport channels, SLA targets, triage workflow
Product Support RoleRole definition and responsibilities

Technical Reference

DocumentDescription
Domain ModelCore data concepts, business rules, entity relationships
Test ScenariosManual testing checklist
Deploy GuideInfrastructure deployment
Container DeploymentDocker/ACA deployment

Project-Specific

ProjectREADME
TrashMob (Web API)TrashMob/README.md
TrashMob.SharedTrashMob.Shared/README.md
TrashMob.ModelsTrashMob.Models/README.md
TrashMobMobileTrashMobMobile/readme.md
Mobile AnalysisTrashMobMobile/docs/PROJECT_ANALYSIS.md

Project Structure

TrashMob/
├── TrashMob/              # ASP.NET Core Web API + React SPA
│   └── client-app/        # React frontend (Vite + TypeScript)
├── TrashMob.Shared/       # Business logic, managers, EF Core
├── TrashMob.Models/       # Domain entities
├── TrashMob.Shared.Tests/ # Unit tests
├── TrashMobMobile/        # .NET MAUI mobile app
├── TrashMobDailyJobs/     # Background jobs (daily)
├── TrashMobHourlyJobs/    # Background jobs (hourly)
├── Deploy/                # Bicep templates, deployment scripts
└── Support/               # Product support docs, troubleshooting, playbooks

Contributing

We're actively looking for contributors! All skill levels welcome:

  • Frontend: React, TypeScript, Tailwind CSS
  • Backend: ASP.NET Core, Entity Framework Core
  • Mobile: .NET MAUI
  • DevOps: GitHub Actions, Azure, Bicep

Getting Started

  1. Check Good First Issues
  2. Read CONTRIBUTING.md
  3. Set up your dev environment using CLAUDE.md
  4. Contact info@trashmob.eco to be added as a contributor

Feature Ideas

Before starting work on a new feature, please check:


Development Environment Setup

See CLAUDE.md for full development setup, troubleshooting, and local URLs.

Quick start: Email info@trashmob.eco to request contributor access, then:

az login
.\setupdev.ps1 -environment dev -region westus2 -subscription <guid>

Mobile App Development

See TrashMobMobile/readme.md for mobile setup, test builds, and store links.


Deployment

Automatic Deployments

BranchEnvironmentTrigger
mainDevelopmentPush
releaseProductionManual workflow

Manual Deployment

See Deploy/CONTAINER_DEPLOYMENT_GUIDE.md for container deployment instructions.


Background & History

Years ago, Scott Hanselman (and others at Microsoft) built NerdDinner.com as a demo of ASP.NET MVC. Those nerd dinners were fantastic and had a huge role in many careers, including leading the founder to join Microsoft.

This site is based on both that code and the idea that getting people together to do small good things results in larger good things in the long term.

The inspiration came from Edgar McGregor, who spent over 1100 days cleaning up a park in his community, two pails of litter at a time. His actions inspired others to do the same, and TrashMob.eco was born—a platform to help people organize "mobs" to tackle cleanup together.


Status

TrashMob.eco is a 501(c)(3) non-profit in the United States, launched in production on May 15, 2022. We're actively developing new features to help communities clean up the world!


Contact