Hvadskerderher
A location-based discovery platform that answers the question every Dane has walked past a construction site asking: "hvad sker der her?" Browse an interactive map of construction projects, renovations, and infrastructure work across Denmark. Citizens can submit what they spot, and contractors can claim and manage their listings.
What it does
- Interactive map with clustered markers showing construction sites across Denmark
- Clean, shareable URLs for every project (e.g. hvadskerderher.dk/koebenhavn/jagtvej-69)
- Citizens can submit photos and information about projects they discover
- Contractors can claim projects with CVR (Danish company registry) verification
- Follow projects and receive email notifications on updates
- Integration with Denmark's BBR building registry via the Datafordeler API
- Address validation and geocoding through the DAWA API
- Admin approval queue for community submissions
Project types
- Nybyggeri (new construction)
- Renovering (renovation)
- Infrastruktur (infrastructure)
- Nedrivning (demolition)
- Offentligt (public/institutional)
- Vejarbejde (road work)
Architecture
Hvadskerderher runs as a single Next.js container handling both server-side rendering and API routes, deployed behind Traefik with automatic SSL. The database uses PostgreSQL with Prisma for schema management and migrations. Map data is rendered client-side with Mapbox GL JS and clustered markers. Danish address normalization and geocoding is handled through the free DAWA API, while contractor verification uses Denmark's CVR company registry. The app builds as a standalone Next.js output optimized for Docker deployment.
Tech stack
Frontend
- Next.js 16 (App Router)
- React
- TypeScript
- Mantine 8
- Mapbox GL JS
Backend
- Next.js API Routes
- Prisma 7
- PostgreSQL 15
- Jose (JWT)
Danish APIs
- DAWA (address data)
- CVR / Virk.dk
- Datafordeler (BBR)
- Brevo (email)
Infrastructure
- Docker Compose
- Traefik
- Let's Encrypt
- Standalone output