A report that can be followed to resolution
Connected map pins and photos to a report lifecycle with public status history. Recorded changes let reporters follow the response from submission to resolution.
TrashSignal turns environmental problems into tracked work. Anyone can report trash, illegal dumping, illegal construction, illegal logging or hygiene problems with a map pin, photos and a severity level. AI reviews each uploaded photo, checking that it shows trash and suits the platform, and gives it a score. Each report moves through a public status history, from pending to resolved. Municipalities and agencies get their own workspace on a subdomain, where they see the reports in their country and update the status with photos and notes. The community closes the loop: people upvote and comment on reports, post fixes and self-cleanups with before-and-after photos, and earn TrashCash for every action. One Bun and Elysia API serves the Next.js site, the admin console, the organisation workspaces and mobile clients.
As Co-Founder CTO, I designed and built the entire platform end to end: the Bun and Elysia API, the PostgreSQL data model, the Next.js public site, the admin console and the organisation workspaces. I defined the report lifecycle, the four-level access model, the TrashCash reward economy and the photo pipeline, and wrote the OpenAPI contract the mobile clients build on. I also run all infrastructure and DevOps, from Docker builds and deployments to the servers, the database and day-to-day operations.
Connected map pins and photos to a report lifecycle with public status history. Recorded changes let reporters follow the response from submission to resolution.
Added an AI check to the reporting flow that analyses each uploaded photo, confirms it shows trash and is suitable for the platform, and gives it a score rating.
Built organisation workspaces scoped by role, country and subdomain, letting authorities review moderated reports and publish progress without exposing other organisations’ access.
Connected fixes and before-and-after cleanups to community verification and an append-only points ledger. Unique award records prevent the same action being rewarded twice.
Built a country-based Overpass cache with background refresh, fallback endpoints and one refresh per country at a time, keeping map data available while sources update.
Built a documented API and a common photo pipeline for reports, cleanups, avatars and status updates. Images are resized to WebP before storage.
A mixed feed brings together new reports, cleanups, status updates and a period-based leaderboard with the top cleanup, so the most active volunteers are visible to everyone.
The public site is available in English and Lithuanian and includes pages for governments and a partner sign-up form. React Email templates handle email, and a Slack webhook posts each new report to the team for review.