Skip to content
Jan HřebíčekEnaro
Case studies

Reservation system

Kemp Starý Sad: From a pre-season rescue to a custom reservation system

I took the project over a few days before the season opened — the site was half-built, but the key features needed to launch were missing. Step by step it grew into a custom reservation web application with a camp map, a custom dashboard and optimised infrastructure.

0.18 s
Largest Contentful Paint
30+
bookings since launch
RoleDevelopment & custom administrationStackNext.js · TypeScript · PostgreSQL

Taking over the project at a critical stage

I took over Kemp Starý Sad just as the new season was approaching and the launch was only days away. The site was partly built, but it was missing a number of key features it couldn't go live without.

The main goal was to get the project into production as fast as possible, enable reservations, and create a stable base for further development.

The challenge

The biggest challenge wasn't the development itself — it was time. The reservation system had to be running within days, and it needed reliable technical foundations. The project required:

  • finishing the site's frontend
  • user-interface adjustments
  • implementing the reservation process
  • setting up hosting and data storage
  • basic SEO
  • a security review of the application
  • performance optimisation and source-code cleanup

Shipping the MVP fast

I took a pragmatic approach: instead of a long build of a complex system, ship a working MVP as fast as possible — one that could accept reservations and comfortably handle the opening season. Within days an email-based reservation system was live, letting operations start immediately without waiting for an extensive admin or complex integrations.

In parallel I finished the frontend, optimised performance, added basic SEO, set up hosting, configured data storage and made security adjustments. The result was a successful launch before the season began.

Building a custom reservation system

After the MVP came a second phase focused on long-term sustainability and the administrators' efficiency. The original solution gradually became a full reservation web application: a custom admin that replaced the original Directus headless CMS, a visual map of camp pitches for quickly assigning stays, and a custom dashboard with an operations overview.

The custom interface gave the client more control over reservations, simpler occupancy management and room to grow without the limits of an external platform. The phase also included reworking internal processes, simplifying reservation management, UI tweaks, further performance optimisation and a cleaner application structure.

Optimising infrastructure and costs

Alongside the application we focused on the technical infrastructure. The goal was to cut running costs while increasing performance. We analysed hosting, how data was stored and the individual components, looking for a more efficient setup — the frontend runs on Netlify, data and services on DigitalOcean over a PostgreSQL database.

The result was lower unnecessary running costs and an architecture that lets the project grow without a significant rise in monthly spend.

Current state

We continue to develop the project. Right now we're focused on further optimising the admin, the infrastructure and the database layer to speed up the administrators' work and improve the overall user experience. The original MVP has become a stable system that today handles the camp's reservations and forms a solid base for further features.

Tech used

  • Next.js
  • TypeScript
  • PostgreSQL
  • Custom admin (replacing Directus)
  • Netlify
  • DigitalOcean
  • Email automation

Outcome

  • launched at a critical pre-season deadline
  • a working reservation system within days
  • a finished, stabilised web application
  • a custom admin for managing reservations (replacing Directus)
  • a camp-pitch map and custom dashboard
  • performance and SEO optimisation
  • lower infrastructure running costs
  • long-term development of the project