Stayo · Work in progress

A new name, and nothing to run the business on. The guest site, operations console and shared backend are built.

Stayo rents out places to stay. We did the brand, then built the platform underneath it. This is an ongoing delivery record, clear about what is built, what is paused and what is not live yet.

4surfaces

a guest site, a console, a backend, an app

498commits

across all four since April

5months

of continuous delivery, still shipping

The name came first

The company was renamed and rebranded before there was a product to put the name on. Name, mark, palette and a written set of rules, so that everything built afterwards had something to be consistent with.

That order matters more than it sounds. A brand designed after the software is a coat of paint. Designed before it, it decides what the software looks like.

What we built

The side a guest sees: searching, a property page, booking, paying, and what happens after a booking, including changing one and cancelling one.

The side the company sees: the console their managers run the homes from. Properties and units, calendars and availability, bookings, expenses, documents, dashboards, and who is allowed to see what.

The backend both of those run on, and a mobile app in the same design system.

What changed

Before this, the business ran on manual processes. Everything now is part of a custom-built system.

WhatBeforeAfter
Taking a bookingMessages and a phone callA guest books and pays on the site
Knowing what is freeAsking whoever knewOne calendar the console owns
What a property costs to runKept separately, if at allRecorded against the property
Who can see whatEveryone saw everythingSet by the role a person has

What is built, and what is not running yet

The guest site, the console and the backend are on the main branch and deploying. The mobile app is built and has been paused since June, so it is not in anyone's hands yet.

The platform is deployed, but it is not yet serving guests under Stayo's own address. Built and running are two different claims and we would rather make the smaller one accurately.

Inside the build

How Stayo was designed and built.

The product decisions, interface work and engineering behind the outcome.

Stayo, a curated homestay platform

Stayo

From MyHomeStayz to Stayo.

Role
Design & Engineering
Client
MyHomeStayz
Platform
Web & mobile
Category
Hospitality, short stays
Stack
Next.js, Node, Postgres
Status
Built in stages; public launch pending

Selected work

A rebrand and an operating platform for a curated homestay company in Hyderabad. We took MyHomeStayz to Stayo and built the guest-facing web app, the console that runs the homes, and the backend that ties them together.

Built by , a design and engineering studio.

The product

Thirteen homes, not a marketplace screen

01 — Find a home

Thirteen homes, not a marketplace

One search, and the whole portfolio under it. Thirteen homes across nine Hyderabad neighbourhoods, every one of them run by Stayo rather than listed by a stranger with a spare room.

03 — The home

Everything, then book in place

Photos, the rooms, and what the team loves about the place, with a reserve panel that totals the stay as you choose dates. The cleaning fee and taxes show before you commit.

05 — Run the bookings

Every reservation on one board

Property managers work a single board of every booking across their homes. Filter by status, open a reservation, and act, with the guest, the dates, and the total on one line.

06 — Manage the homes

The homes you run

Each manager sees only their own homes: photos, pricing, amenities, and a live status. A super-admin onboards new homes, so the roster stays clean.

07 — See the revenue

Revenue, down to the GST

Confirmed revenue, average booking value, and the top homes by share roll up per manager. CGST, SGST, and IGST split on every downloadable report, ready for filing.

What we built

  • The guest experience

    Browse curated homes, search on a map and a list with filters, open a property page with gallery, amenities, reviews, and map, and book it.

  • The booking flow

    Dates, a ten-minute hold so two guests never grab the same night, a Razorpay payment, an instant confirmation, then trips and reviews.

  • The operations console

    Property managers run their homes: properties, rates, availability calendars, bookings, check-ins, revenue, and replies to reviews.

  • The super-admin tier

    Platform-wide analytics, the property and manager rosters, featured curation, users, content pages, and refund processing.

  • A mobile guest app

    An Expo iOS and Android companion for search, booking, and reviews, sharing the same API. In progress.

Stayo is one product across three codebases on a shared API.

The web app is Next.js on the App Router, server-rendered so availability and pricing are always live. Maps are Google, payments are Razorpay, and sign-in is passwordless. The visual shift was full too: a new wordmark in DM Sans, the palette pulled from the homes, the copy voice rewritten. The legacy stack underneath kept its names on purpose so the business never stopped running.

The backend is Node and Express on PostgreSQL with Prisma, with Redis for rate-limiting and locks. The piece everything hangs off is availability. Every booking starts as a ten-minute hold, and a single query checks it against confirmed bookings, other live holds, and blocked dates, so the same night can't be sold twice. A job releases expired holds every minute to free the slot again.

Payments run through Razorpay, with Indian GST split into CGST, SGST, and IGST by the property's location, a cancellation policy snapshotted onto each booking, and refunds verified against the live Razorpay API before they post. Sign-in is multi-channel: magic link, phone OTP, Google, or Apple, with Redis-backed lockout against brute force.

Access is role-based across three tiers, guest, property manager, and super-admin, where a manager only ever sees their own homes. Eight scheduled jobs do the quiet work: hold release, booking and checkout reminders, review requests, a daily manager summary with a PDF invoice, and housekeeping. Email runs on AWS SES, files on S3 behind a CDN, OTPs on MSG91, and push on Firebase.

The hard parts

  • Availability without overbooking

    Ten-minute holds, a three-way conflict check across bookings, holds, and blocked dates, and a per-minute release job.

  • Payments, GST and refunds

    Razorpay orders and webhooks, Indian GST, policy-snapshot cancellations, and refunds verified against the live API before they post.

  • One product, three roles

    Hierarchical access where property managers are scoped to their own homes and super-admins see everything.

  • Passwordless, four ways

    Magic link, phone OTP, Google, and Apple on one account model, with Redis lockout against brute force.

  • The operation, automated

    Eight scheduled jobs and a multi-channel notification system keep guests and managers in sync without anyone watching a queue.

Stayo runs on a single, quiet face. DM Sans does everything, from the wordmark down to the smallest caption, across five weights. One typeface, used with restraint, is the whole system.

  • DM SansThe whole system
    Light · Regular · Medium · SemiBold · Bold

The palette was pulled from the homes themselves. Clay from the floors, sage from the linen, gold from the warm details, and cream as the breathing room around all of it.

  • ClayPrimary. CTAs, links, the signature.#A8452F
  • SageSecondary accent and soft surfaces.#7A8E72
  • GoldWarm details and highlights.#B8943E
  • CreamThe page, and the breathing room.#F7F3EE
  • InkHeadings and body text.#252320
  • LineHairline borders and dividers.#E8E0D6