Front desk, bookings and full accounting for a 53-room resort in Cox's Bazar, run by desk staff and the owner from one web app.
Live since 30 July 2026: 500+ bookings processed, every taka tracked from booking to owner report, and checkout blocked at the database when a bill is unpaid.
stack

The brief
Hotel Albatross is a 53-room resort in Cox's Bazar. Bookings, check-ins, payments, refunds and daily cash all ran through the front desk, with the owner reconciling the money after the fact.
The ask that shaped the build: one system the desk can run without training, that the owner can trust without being present. That meant hard rules in the software itself. A guest cannot check out with an unpaid bill, a room cannot be double-booked, cash cannot go negative. And reports that answer the owner's questions directly, including in Bengali.
gallery
Cashbook
1 / 4
key decisions
01
Money rules live in Postgres, not the browser
Every path that moves money, whether checkout, cancel, refund or edit, is a database function that re-derives the totals and checks the balance itself. A guard in the client can be walked around through a second door; a trigger and an exclusion constraint cannot. No account balance can go negative and no two active stays can overlap on one room, because the schema says so.
02
One central cash fund
All revenue is credited to cash in hand whatever the payment method, and the bank, bKash and Nagad accounts change only by explicit transfer or a guarded drawdown. That matches how the desk actually handles money, and it makes the owner's accounts reconcile by construction.
03
An assistant bounded by grants, not prompts
The assistant answers a free-form question by writing a single SELECT against nine views, connected as a database role that can only read what the asker's role permits. Staff and owner see different data because Postgres says so, not because a prompt asks nicely.
how it went
21 April 2026
Foundation
First commit: bookings, rooms, auth.
May 2026
Multi-room and accounts
Per-room stays, cashbook, payroll, loans.
June to July 2026
Reports and guards
Owner report, activity log, the checkout balance guard.
30 July 2026
Live
Launch date pinned in the code, real bookings from day one.
August to September 2026
Hardening
Row-level security, database constraints, the AI assistant, SMS, layout.
results
500+
booking references issued from 30 July to early September
first 6 weeks, measured by production database
53
rooms managed daily
across the room board, analytics and availability
ongoing, measured by production database
since launch The client runs it day to day, and we have kept shipping fixes and features against live incidents since launch.





