Co-living · Chiang Mai, Thailand
The Brief
A Chiang Mai co-living space was bleeding bookings to slicker-looking competitors. The site needed to work as hard as the business — communicating value, atmosphere, and trust before a visitor had read a single word.
The Challenge
The challenge was standing out in a market where every hostel uses the same Squarespace template. The brief demanded a site that felt like a boutique hotel, not a shared dormitory — while remaining honest about what the place actually is: a working space for digital nomads who care about aesthetics.
The Approach
The decision to go dark was the whole design. Near-black (#080808) background signals premium without advertising it. Amber (#F5A623) as the accent — the colour of Thai lanterns and street food at dusk — connects the digital to the physical. Custom cursor replaces the default pointer because the cursor is the first thing a user moves; making it theirs changes the relationship to the site immediately.
The GSAP word-by-word hero reveal slows the visitor down. Most sites rush to show everything at once. This one makes you wait, which creates the impression that what you're about to see is worth waiting for. The drag carousel for room photos is technically a PointerEvent listener and a CSS transform — no library, no weight, no jank.
Formspree AJAX handles the booking inquiry form without a page reload. The confirmation state — a quiet green tick — is more reassuring than a redirect.
Tech Stack
Technical Decisions
16px circle, 0ms lag on pointer, 150ms lag on follower — the offset feels alive, not glitchy.
text.split(' ') → wrap each in span → GSAP stagger 0.04s per word. No plugin, no overhead.
mousemove → calculate offset → translate max 8px — subtle enough that visitors don't notice it but feel it.