ZwerfFiets is an privacy-first platform designed to streamline the reporting and removal of abandoned bicycles in public spaces.
Built by Bike Kitchen NL for municipalities and citizens, it bridges the gap between community reports and efficient enforcement workflows.
Abandoned bicycles crowd public racks and obstruct sidewalks. ZwerfFiets solves this by providing:
- Frictionless Reporting: No app to install. Citizens can report a bike in seconds via a mobile-friendly web interface that captures precise GPS location and photos.
- Operator Efficiency: A dedicated dashboard for city enforcement teams to triage reports, deduplicate submissions, and track removal status.
- Privacy by Design: All photos are stripped of EXIF data on upload. Reporting is anonymous but protected by hashed tracking cookies to prevent abuse.
- Smart Signals: Distinguishes between duplicate reports (same reporter, same day) and valuable "double-confirmation" signals (different reporters confirming a bike is still abandoned weeks later).
ZwerfFiets is built as a modern, high-performance web application:
- Frontend: SvelteKit static SPA. Fast, responsive, and works offline.
- Backend: Go (Gin framework). Handles validation, image processing, JSON APIs, and server-rendered admin pages.
- Database: PostgreSQL for robust data integrity and geospatial queries.
- Bun
- Go (1.22+ recommended)
- Postgres
cp .env.example .envRequired values:
APP_SIGNING_SECRET(16+ chars)- Postgres via
DATABASE_URLorPG*/POSTGRES_* - Optional GPS cap override:
MAX_LOCATION_ACCURACY_M(default3000)
bun installbun run api:devDefault bind: :8080 (LAN-accessible). Override with GIN_ADDR.
bun run dev:lan- Web:
http://<your-lan-ip>:5173 - API proxy target:
DEV_API_PROXY_TARGET(defaulthttp://127.0.0.1:8080)
bun run check
bun run test
bun run build
bun run api:test- Frontend:
apps/web - Backend:
apps/api - Architecture:
ARCHITECTURE.md - Changelog (public):
CHANGELOG.md - Dev log (internal):
DEVLOG.md
This project is licensed under the Functional Source License, Version 1.1, MIT Future License (FSL-1.1-MIT).

