Home / Case Studies / Hoyzee
Marketplace · BookingMobile + Web2024Two-sided

How we built a live local marketplace where shops are always 'on'.

Hoyzee is a two-sided marketplace connecting local shops — barbers, salons, repair shops, service providers — with customers who want to book, browse real-time availability, or just find out who's open nearby. We built the customer app, the merchant platform, and the real-time availability engine.

hoyzee app hero
Client
Hoyzee
Industry
Marketplace · Local Commerce
Surfaces
Customer iOS/Android · Merchant Web + Mobile
Timeline
20 weeks
Outcome
2,400 merchants live
The Problem

Local service businesses — barbers, nail salons, repair shops — lose customers daily because people can't tell if they're open, how long the wait is, or whether to walk in or book.

~70%
Local shops with no booking tool
8-12/shop
Walk-ins turned away daily (avg)
< 15 min
Target merchant onboarding

Local service businesses — barbers, nail salons, repair shops — lose customers daily because people can't tell if they're open, how long the wait is, or whether to walk in or book. Google hours are often wrong. Calling feels old-fashioned. Walk-ins get turned away.

On the merchant side, the tools are fragmented: one app for bookings, another for payments, another for customer messaging. Most have no digital presence at all. Hoyzee needed to be simple enough for a 60-year-old barber and powerful enough for a multi-location salon chain.

The real-time availability engine was the technical core — a two-sided marketplace where walk-in queue depth and booking slots need to update for customers within seconds of a merchant making a change.

What We Designed

Simple for the merchant. Smart for the customer.

30 merchants
Design partners
< 15 min
Merchant onboarding target
< 20 sec
Customer discovery to booking

We onboarded 30 local merchants as design partners — from solo barbers to 4-location salons. The merchant-side design constraint: onboarding in under 15 minutes, key actions in under 3 taps. The customer side: finding an open shop nearby in under 20 seconds.

What We Built

Real-time availability at marketplace scale.

Flutter
Customer + merchant mobile
< 2 sec
Availability update latency
Next.js
Merchant web portal

The customer app is Flutter. The merchant management portal is a Next.js web app with a companion Flutter app for on-the-go queue management. The real-time availability engine is built on Postgres LISTEN/NOTIFY pushing WebSocket updates to all connected customers — updates propagate within 2 seconds.

Core Features

What ships in the product.

01

Live availability map

Real-time map showing open shops nearby with walk-in wait time and next available booking slot.

02

Instant booking

Book any open slot in 3 taps. Confirmation, reminders, and one-tap rescheduling — no phone calls.

03

Walk-in queue

Customers join the virtual queue before arriving. Merchants see the queue live and can update wait times.

04

Merchant dashboard

Today's appointments, walk-in queue, revenue, and customer history — all on one screen, refreshing in real time.

05

Smart scheduling

Merchants set service types, durations, and staff availability. The booking engine prevents double-bookings automatically.

06

Customer profiles

Saved preferences, service history, and favourite shops. Merchants see preferences before the appointment starts.

07

In-app payments

Card-on-file payments at checkout. Merchants receive payouts via Stripe Connect on a configurable daily or weekly cycle.

08

Reviews and ratings

Post-visit ratings (1-5 + optional note) verified by booking data. Merchants respond publicly to reviews.

09

Multi-location support

Chains manage all locations from one account — unified calendar, staff rotas, and consolidated revenue reporting.

Tech Stack

Production-grade from week one.

Flutter
Core frontend
Next.js 14
Web layer
PostgreSQL
Data store

We chose the boring, battle-tested options where it mattered and innovated where it gave the product a real edge.

FlutterNext.js 14TypeScriptNode + FastifyPostgreSQLWebSocketsRedisStripe ConnectMapboxAWSGitHub ActionsSentryAmplitude
We went from a paper appointment book to 340 bookings in our first month on Hoyzee. Three walk-in customers found us because the app showed we were open at 7pm.
Owner · Hoyzee merchant partner
Challenges Solved

What it took.

  • Real-time at two-sided scale. Customers see availability updated by merchant actions. We used Postgres LISTEN/NOTIFY → Node event emitter → WebSocket fan-out. At 2,400 merchants, this scales linearly — no message broker overhead.
  • Merchant onboarding in under 15 minutes. We obsessed over onboarding time. Progressive disclosure (3 required steps at signup, optional settings later), photo upload via phone camera with automatic crop, and pre-populated service templates for 40 business types.
  • Booking conflict resolution. Walk-ins and bookings compete for the same time slots. We built an optimistic locking system with a 30-second hold period — the slot is reserved while the user completes checkout, released if abandoned.
  • Payout complexity for multi-staff merchants. Salons with employed stylists need per-stylist commission splits on every booking. We extended Stripe Connect with a commission calculation layer that splits payouts at the charge level — not via manual reconciliation.
Business Value

What changed.

0
Merchants live after 6 months
0
Average bookings per merchant per month
0%
Merchant satisfaction score (NPS equivalent)
0/5
Customer app rating · 5,600+ reviews
App Screens

Hoyzee in the wild.

A closer look at the core user flows built for this product.

hoyzee features overview
Build with us

Building something like Hoyzee?

Hoyzee is a two-sided marketplace connecting local shops — barbers, salons, repair shops, service providers — with customers who want to book, browse real-time availability, or just find out who's open nearby. Send us a brief and we'll scope it within 24 hours.

Book a Free Strategy Call →Estimate Project Cost
Call us nowBook a strategy callEmail usChat with our team