← All projects
Web · Admin · API

TrashSignal.

Waste Reporting & Community Cleanup

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.

My role

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.

Explore the project
Selected contributions

Engineering
highlights.

Technologies

Next.js 16React 19React CompilerTypeScriptTailwind CSS 4TanStack QueryZustandMapbox GLSuperclusterFramer MotionBunElysiaTypeBoxOpenAPIPostgreSQLDrizzle ORMKyselyBetter AuthGoogle & Apple Sign-Injose (JWT)Argon2SharpCloudinaryOpenStreetMap OverpassReact EmailNodemailerSlack WebhooksDocker
01

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.

02

AI review of report photos

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.

03

Separate workspaces for authorities

Built organisation workspaces scoped by role, country and subdomain, letting authorities review moderated reports and publish progress without exposing other organisations’ access.

04

Community action with traceable rewards

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.

05

Waste-disposal data across countries

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.

06

Shared infrastructure for reporting clients

Built a documented API and a common photo pipeline for reports, cleanups, avatars and status updates. Images are resized to WebP before storage.

07

Community Feed & Leaderboard

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.

08

Bilingual Site & Notifications

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.