All work

Hospitality · Tabanan, Bali

Suenyo Eco Retreat

A guest and operations platform that replaced paper forms, printed price lists and hand-tallied bills.

Client
Suenyo Eco Retreat
Industry
Hospitality
Location
Tabanan, Bali
Services
Guest platform, Staff portal, Billing system, Database design
Role
Solo designer and full-stack developer
Year
2026
Suenyo Eco Retreat on desktop
Suenyo Eco Retreat on a phone

The problem

Paper forms, WhatsApp and a printed price list

Guests filled in PDF preference forms, paper check-in sheets and paper motorbike agreements. Laundry went on a printed price list and orders were added up by hand at checkout. Nobody had one place to see who was in which pavilion, who was arriving, what they owed or what was still open, so things got missed at shift handover and the owner had no clear view of revenue or occupancy.

5

pavilions, plus a day spa

212

menu items, edited from the portal

59

database migrations

158

commits since June 2026

Overview

A five-pavilion eco retreat in Bali with an attached day spa. We built the system it runs on: guest pages guests open on their phones with no login, and a staff portal that shows the whole property on one board.

  • Guests need no app and no password
  • Order picker 8× faster (4.9s → 0.6s)
  • One board replaces the handover sheet

What the site had to do

Let guests do their own paperwork

Forms, check-in, laundry and agreements on the guest's own phone, with no app and no password.

One board for the whole property

Who's in, who's leaving, who's arriving, what they owe and what's still open, in one screen.

Give the owner a real view

Revenue, occupancy and room performance without anyone building a spreadsheet.

Suenyo Eco Retreat

What we built

Pre-arrival and check-in

A 5-step pre-arrival form, a digital check-in the guest signs on their phone, and the motorbike agreement the same way. The team gets a clean summary email.

QR laundry and menu

Every pavilion has its own code. The page asks “Are you X, staying in Y?” before writing anything, and the charge goes straight onto the bill. The menu is read-only and edited from the portal.

Pavilion board

One column per pavilion: occupant, who's leaving, who's arriving, what they owe, open orders and laundry. Three colours, each meaning one thing.

Billing by department

F&B, Spa & Wellness, Activities and Extras move through Order, In Process and Completed. Completed orders lock, and checkout produces one PDF bill with the payment method recorded.

Needs attention and follow-ups

Missing forms, overdue items and maintenance suggestions in one strip. The follow-up button copies the message and tracks whether it was actually sent.

Owner dashboard

Revenue, occupancy and room performance, visible only to the owner role, plus a daily handover PDF and a breakfast message for the kitchen.

Every screen.Every size.

Suenyo Eco Retreat
Suenyo Eco Retreat, Desktop

Desktop

Suenyo Eco Retreat, Phone

Phone

Suenyo Eco Retreat

Under the hood

  • 01

    Token links instead of accounts: each guest gets a personal link, so there are no passwords, and a QR code that identifies a room confirms the person before writing anything.

  • 02

    Bali time throughout: one date module handles UTC+8, so calendar dates never shift overnight.

  • 03

    Future bookings count everywhere: “who's coming” reads bookings as well as check-ins. Reading check-ins alone had caused four separate bugs, including empty PDFs and missing arrivals.

  • 04

    The order-taking guest picker went from 4.9s to 0.6s once the lookup moved to the server. That delay was the “staff can't take an order” complaint.

  • 05

    Recovers on its own: a screen that fails to load reloads itself, and a missing asset returns a proper 404 instead of a blank page.

  • 06

    The pavilion board's data assembly is a pure function with unit tests.

For the client

What this means for the client

  • One system replaced paper forms, printed price lists and hand-tallied bills
  • Guests do their own paperwork on their phones
  • Staff see the state of the property on one board
  • The owner sees revenue without anyone building a spreadsheet

Built with

React 18ViteReact Hook FormFramer MotionNode / ExpressSupabaseResendPDFKitcPanel + Cloudflare

Tell us what’s slowing you down.We’ll show you what to build.

Book a free 30-minute consultation. We'll help you define the right solution, outline the development process, estimate the timeline and budget, and give you a clear direction for your project.