Hidden Leaves · 2026

Hotel and tour booking platform

Shipped

Hidden Leaves interface
Role
Independent engineer
Stack
Next.js, TypeScript, Prisma, NextAuth
Status
Shipped
Live
hiddenleaves.scrocle.cloud

Problem

Operators needed a product for stays and tours — discovery, reservations, accounts, and reviews — not a brochure with a third-party widget glued on. Off-the-shelf booking tools would not carry guest, staff, and admin roles on the same surface, or keep price calculation off the client.

Constraint

The public demo has to prove the product without exposing customer contact details or administrative backdoors. Sanitized credentials live on the live page.

Architecture

  1. Browser
  2. Next.js
  3. NextAuth
  4. Prisma
  1. Guest
  2. Staff
  3. Admin
Public catalog and reservation flow sit on Next.js. Mutations go through NextAuth, then Prisma. Price quotes are server-only. Reviews wait for moderation.

Decisions

  • Next.js as the product

    One TypeScript application for the public catalog, the reservation flow, and the staff surfaces. Not a marketing site in front of a separate admin.

  • Pricing on the server

    Amounts are calculated where the guest cannot edit them. The browser displays the quote; it does not author it.

  • Roles as enforcement

    Guest, staff, and admin are checks on mutations, not labels in the UI. Review submission is not the same as review publication.

  • Prisma and NextAuth

    Stays, tours, reservations, and accounts in one schema. Sessions through NextAuth so role checks sit next to the queries they protect.

This is the web product I can put in front of a buyer without a slide. You can create an account, look at stays and tours, and see that pricing and roles are not theatre.

The screenshot is the live UI, not a mock. If you need a private deployment, the same codebase is the starting point — not a rewrite behind a different brand.

Outcome

Shipped. The demo at hiddenleaves.scrocle.cloud is a complete booking surface. Demo credentials are on that page.

What was handed over

  1. Source and schema
  2. Role map and which mutations each role may call
  3. How to run locally and how the production host is started
  4. What is sanitized in the public demo versus a private deployment

Open the live demo hire@scrocle.cloud

Next project Agent infrastructure Unattended agent infrastructure