Self-Serve Host Dashboard for a Thai PropTech Start-Up
Designed and built a clickable host dashboard for a Chiang Mai SaaS start-up whose customers run 1 to 10 short-let listings themselves: one calendar across Airbnb, Booking.com, Agoda and Vrbo, a Today screen ordered by urgency, foreign guest reporting (TM30) tracked per guest, and nightly price suggestions that stay inside the host's own limits.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Today, the multi-listing calendar, reservations, reservation detail and price suggestions. Every one of the 30 demo reservations opens its own detail page.
Each foreign adult's report is due 24 hours after arrival (Ruen Kham's default, to confirm), shown as due soon or overdue, prepared field by field and marked reported with the immigration reference.
Nightly prices for the next 90 days from 7 reasons, such as weekend, event, high season, gap night and last minute, never below the listing's minimum or above its maximum.
4 listings in Chiang Mai and Koh Samui, 29 guests from 18 countries, 4 booking channels plus direct, 3 cleaners, 5 Thai holidays and events, and one overlapping booking to resolve.
Before writing any code, Ruen Kham's founders interviewed 60 small hosts in Chiang Mai, Bangkok, Phuket and Koh Samui. Almost all of them ran their listings from the channel apps on their phone, a paper or Google calendar, LINE chats with their cleaner and a notes file of copy-pasted replies. Double bookings happened between Agoda and Airbnb, prices were set once and never changed for Loy Krathong or Songkran, foreign guests were reported to immigration late or not at all, and income was rebuilt from payout emails at tax time.
Khomfai gives a host with a few listings one place to work from: one calendar for every listing and channel, a Today screen that lists what needs doing first, a reservation page with guest details, TM30 status, messages, access and cleaning, and price suggestions the host accepts, edits or lets apply automatically within their own minimum and maximum.
Existing tools were built for property managers with dozens of units and staff teams. A host with two condo units still faces the same channel limits, immigration duties, personal data rules and licensing questions, with no one to handle them.
Booking channels allow API connections only through approved partners. iCal shares blocked dates only, not prices or guest details, and each channel imports it on its own schedule, so it cannot fully prevent double bookings.
Under the Immigration Act B.E. 2522, the owner or possessor of a residence where a foreign national stays is generally required to notify immigration on form TM30, commonly within 24 hours of arrival. There is no public API, so the host still files it.
The host is the data controller for guest data and Ruen Kham the processor. Passport details may be collected only for foreign guests at listings that report stays, must not sit in chat apps, and are purged on a retention schedule (90 days after check-out by default, to confirm).
The Hotel Act B.E. 2547 generally needs a licence or, for small accommodation, a notification to the local registrar. Daily rentals of condo units carry legal risk and many buildings ban stays under 30 days. Hosts rarely record either.
Mapped 5 user roles (host, co-host, cleaner, guest and accountant), 31 screens across the host app, cleaner and guest magic-link pages, and the data model for listings, compliance records, channel connections, reservations, guest registrations, pricing profiles, cleaning jobs, money and an audit log. Wrote down the rules the design follows, hedged for a lawyer to confirm: the Hotel Act, condo short-stay risk, TM30 under the Immigration Act, the PDPA and income tax on host income.
Built 5 key screens on a production dashboard kit: Today with check-ins, check-outs and a Needs attention list with working actions, the multi-listing calendar with channel colours, overlaps, blocks and nightly prices, reservations with TM30 and details filters, the reservation detail with Prepare TM30 and Mark reported, and price suggestions with a chart, reasons and auto-apply mode. A listing switcher filters every screen; all actions run on local state.
A channel manager partner API (such as Channex or Rentals United) with iCal as the fallback, LINE, WhatsApp, email and SMS messaging, sign-in by magic link, Google, Apple or LINE, Opn Payments or Stripe billing, DeepL translation, push notifications and S3 storage in a region confirmed under the PDPA. Field-level encryption for passport numbers, an append-only audit log, the nightly purge job, the remaining 26 screens (including the cleaner and guest magic-link pages) and the mobile app.
Needs attention puts overlapping bookings, sync errors and overdue TM30 reports in red at the top, then unanswered messages, check-outs without a cleaner, arrivals without details, price suggestions, reviews and set-up tasks, each with the button that fixes it.
Two bookings on the same night stack in red with "Overlap" on the calendar and the reservations list, and each listing shows its sync line, such as "Agoda iCal · imported 3 h 6 min ago" in red when the saved link has gone out of date.
Passport numbers show only the last four digits and each reveal is logged. Khomfai prepares the TM30 fields with copy buttons, the host files the report, and the reference they receive updates the status everywhere.
Every suggestion shows its reasons and stays within the listing's minimum and maximum. Switching a listing to auto-apply asks for confirmation and repeats those limits, and iCal-only channels are flagged because they cannot receive prices.

Designed and built a clickable property management platform for a Chicago manager of about 4,200 apartments: a dashboard of occupancy, collections and open repairs, arrears worked through the same steps for every resident, security deposits tracked under Chicago and Illinois rules, and work orders with SLA clocks, entry permission and owner approval limits.

Designed and built a clickable listings and agent CRM for a Cypriot sales and lettings agency with 22 branches and about 180 agents: listings with EPC and agency agreement checks, portal syndication, a lead pipeline with response timers, offers that wait for AML clearance, and a progression checklist from reservation to transfer of title.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab