Skip to content
home
Home
Case studies

Every build on this page runs on a business I own.

There is no client wall on this site yet. What there is: the systems I built for my own 50-room hotel, each one labelled with how far it actually got, and each one pointing at something you can open.

Where a number does not exist, the card says so instead of estimating one.


Builds listed here

4

Source: Counted from the list below. Each entry names the system it came out of.
Running on a business I own

4 of 4

Source: The ownership line on every card. Mi Stay is my own 50-room hotel in Daegu, not a client engagement.
Paid for by an outside client

0

Source: There is no client invoice behind anything on this page. When there is one, this number changes and that card gets the Client paid label.
01 / The builds

Read the label first, then the artifact

The label says how far a build got. It never says how well it performed, and it is never upgraded because something felt like it worked.


  • CS-01Evidence label: Live / visible

    The morning housekeeping count arrives before anyone asks for it.

    • Hotel
    • Scheduled agent · PMS API · KakaoTalk · Slack
    • Running on the property since 4 Sep 2026

    MY OWN 50-ROOM PROPERTY — FOUNDER-OWNED, NOT A CLIENT ENGAGEMENT

    Situation
    My front desk opened the property-management system by hand to see which rooms still needed cleaning and which ones were being cleaned. Same lookup, several times a morning, done by whoever happened to be standing there.
    What I built
    A scheduled agent that signs into the PMS, reads the housekeeping board in one authenticated call, and writes a two-line Korean status message. It sends that message to the staff chat room and reports every run back to me. It deliberately does not assign rooms or write anything into the PMS. It reads and reports, nothing else.
    What it does now
    It runs on its own schedule through the morning on my own hotel, and each send leaves a delivery receipt I can open, so a missed run is visible rather than silent. It has not yet accumulated a 30-day reliability record. I have measured no labour or time figure, so this card carries none.

    artifact: Scheduled-run history plus a delivery receipt for every send. Not a public page.

    Not publicly viewable — walkthrough on the call
  • CS-02Evidence label: Live / visible

    Guests get answered in four languages, out of the house rules.

    • Hotel
    • Next.js · Convex · retrieval over an approved knowledge base
    • Public route re-verified 4 Sep 2026

    MY OWN 50-ROOM PROPERTY — FOUNDER-OWNED, NOT A CLIENT ENGAGEMENT

    Situation
    Guests ask the same handful of questions in Korean, English, Japanese and Chinese. Parking, late check-in, luggage, often at hours when nobody is at the desk. Before this they got whatever the person on shift remembered.
    What I built
    A guest chat page for the hotel that answers only from an approved Korean knowledge base and shows which record the answer came from. When the answer is not in the base it raises a request for a human instead of guessing. Behind it sits knowledge-base tooling for the people who own the answers.
    What it does now
    The public guest chat page is deployed and reachable. I re-checked it on 4 September 2026 before writing this card. The newer knowledge-base and conversation-review tooling is built and tested locally and is not deployed yet. There is no current production answer-quality measurement, so no accuracy figure appears here.

    artifact: The public chat URL below. Re-checked 2026-09-04: it served the hotel chat page with its Korean question field.

  • CS-03Evidence label: Live / visible

    Stay confirmations come out of a form instead of a spreadsheet.

    • Hotel
    • Vite admin app · Convex · PNG / PDF export
    • Live since Jul 2026

    MY OWN 50-ROOM PROPERTY — FOUNDER-OWNED, NOT A CLIENT ENGAGEMENT

    Situation
    Guests and partners ask for three specific Korean confirmation documents. Staff rebuilt them from Excel templates every time, which is where the typos and the mismatched formats came from.
    What I built
    A small admin web app that renders all three documents from one form, matched to the existing templates, and exports each as PNG or PDF. Entries save and can be searched back by reservation details, with a local fallback so a database outage does not stop the desk.
    What it does now
    It has been in routine use by my own staff since 11 July 2026 at the address below, with no code or deployment follow-up outstanding. I have not counted the documents it has produced, so there is no usage number on this card.

    artifact: The live admin tool at the URL below, in routine use by my own staff.

  • CS-04Evidence label: Live / visible

    One link answers where the hotel is and how to book it.

    • Hotel
    • Static site · four-language guest card · verified deep links
    • Live in production

    MY OWN 50-ROOM PROPERTY — FOUNDER-OWNED, NOT A CLIENT ENGAGEMENT

    Situation
    Guests need the address, the directions, the phone number and the booking link in one place, in their own language, on a phone, before and after they book. Sending four separate links is how the questions come back to the front desk.
    What I built
    A static marketing site plus a standalone mobile guest card with a four-language toggle. Every action on the card is a real deep link: phone, Naver Map, Google Maps, T map, the booking page, the chatbot. The layout was checked across device widths before release.
    What it does now
    Both pages are live and public, and the link below opens them. Analytics is not wired up yet, so I have no traffic or booking-attribution figure and this card claims none.

    artifact: Two public pages: the site at the URL below and the mobile guest card at /stay/.

Why every card says hotel

The hotel is the business I own, so the hotel is where the evidence is. I have not built an accounting or law firm system yet, and there is no card here dressed up to suggest otherwise. What carries across is the method: map what the business already knows, build one agent against it, and leave the record that shows where each answer came from.

How to read this page

Every build above carries one label. Here is what each one means.

The label describes how far a build has got, not how well it performed. A label is never upgraded because something felt like it worked.

Evidence label: Local / tested
Built and tested end to end, but not yet running for anyone. I can show you it working; I cannot show you it running.

No build yet

Evidence label: Live / visible
Running right now. Either you can open it, or I will show you it running on the call.

4 builds on this page

Evidence label: 30-day proven
Has run without interruption for at least 30 days, with the delivery record to back it up.

No build yet

Evidence label: Client paid
An outside client paid for it and signed off on it.

No build yet

No build on this page carries the Client paid label. None of these systems was paid for by an outside client. They run on my own hotel, which is exactly why they are labelled the way they are. When a client pays for one and signs it off, that card gets the label and this line changes.

02 / Next step

Bring the job your team still does by hand

Tell me the one that repeats every week. On the call we map it, and I tell you which part I would actually build first.

30 minutes · no deck · we look at your actual workflow