← WorkPlatform · Tourism

Destination Ljungdalen

Ljungdalen had no regional booking platform — tourists used Booking.com and local providers had no collective digital presence. I built a full-stack destination platform from the ground up: bookings, cabin management, merchandise and a multi-role admin system.

Destination Ljungdalen

Period

August 2024 — present

Role

Solo Fullstack Developer

Stack

Next.js 15 · TypeScript · PostgreSQL (Aiven) · NextAuth.js · Mollie Payments · Bunny CDN · Coolify · Hetzner VPS

The problem

The mountain village of Ljungdalen had no shared digital infrastructure. Cabin owners paid high commissions to external platforms, tourists had no single source of truth for activities and accommodation, and there was no way to build a regional brand.

What I built

  • Multi-role authentication system (guest / cabin owner / admin) with NextAuth.js — each role gets a different dashboard and permission set
  • Multi-step booking flow: date picker → extra services → guest details → Mollie payment (iDEAL, Swish, Klarna, credit card)
  • Cabin owner onboarding and approval flow — self-service registration, pending review, activation
  • Merchandise webshop integrated into the same platform
  • Migrated from MongoDB to PostgreSQL (Aiven, Finland) for EU-first data compliance and better relational integrity
  • Deployed on Hetzner VPS via Coolify, static assets on Bunny CDN — fully EU infrastructure
  • Content Security Policy, WebSocket configuration and GDPR-compliant data handling

Result

First regional booking platform in this market segment. Fully EU-compliant infrastructure (Hetzner, Aiven, Bunny). Actively in development — potential reference case for other Scandinavian tourism regions.

6
user roles
EU
infrastructure
4
payment methods

Next project

DevTop