Skip to content

Case · SaaS

Stippa

Online appointment software for hair salons and beauty businesses, with a flat fee and no commission.

Go to stippa.nl
From, per month
€9
Commission on payments
0%
Languages
7

As of September 2026

Role
Everything, from product and design to development and support
Stack
Next.js, Supabase, Inngest, Sentry
Since
2026
stippa.nl
The stippa.nl homepage on a laptop: the Dutch headline ‘Je agenda loopt vol terwijl jij aan het werk bent’ (your calendar fills up while you work) next to a sample day calendar and the booking screen

The problem

A salon with one or two chairs has little use for a heavy software suite. Yet that is often the choice: an all-in-one system with a till, stock, marketing and reports, of which the salon uses a small part and pays for all of it. The alternative is a booking platform that takes a percentage of every appointment or payment. That looks cheap, until your busiest month turns out to be your most expensive one too.

On top of that, a missed appointment costs real money. An empty chair in a small salon is revenue that doesn't come back. And sending reminders is exactly the kind of job that gets dropped at the end of a long day.

The approach

Everything is a module

Stippa is made of modules: online booking, a salon website, payments, a till. Every module can be switched on or off. A salon that only wants online appointments only sees that. The cost of that choice is on my side: building modular software is more work, because every combination has to keep working. That work belongs to the maker, not to the salon.

A salon's dashboard in Stippa: today's utilization, the day's appointments and a list of appointments that still need confirming
A salon's dashboard, with demo data from Stippa's help center.

A flat fee, no commission

Stippa costs a fixed amount per month, from €9. There is 0% commission on payments from clients. A salon knows in advance what it will pay, even in a busy month. What each plan includes is on stippa.nl (opens an external site).

A salon's online booking page in Stippa, step 1 of 5: choose a service
How a client books online: first, choose a service.

Reminders over WhatsApp as well as email

Stippa automatically sends a confirmation and a reminder, by email or over WhatsApp. WhatsApp, because that's where clients actually read their messages. If a salon wants, it can ask for a deposit at booking. Each salon picks what fits, and whatever it doesn't need stays off.

The WhatsApp settings in Stippa: turning on WhatsApp messages, this month's usage and optionally connecting your own WhatsApp number
A salon turns on WhatsApp reminders itself, in the settings.

Built and supported by one person

There is no call centre behind Stippa. I build it, I keep it running and I answer the support email myself. So a question reaches someone who knows how it works, and feedback from a salon goes straight into the product. The trade-off: growth happens at the pace of one person. For a product that has to earn trust, I think that's a fair exchange.

Under the hood

Stippa is a web application built with Next.js. The data lives in Supabase, a Postgres database hosted in the European Union. All salons share the same database. That makes the most important technical work invisible: making sure one salon can never see or change another salon's data.

That happens on two levels. The database itself checks who the data belongs to on every query. And on every change to the code, an automated check runs across all 87 repositories, the pieces of code that talk to the database. A change that updates an appointment by its number alone, without checking which salon it belongs to, doesn't get through.

Work that doesn't have to happen right away, such as a thank-you email after an appointment, goes through a queue (Inngest). That way a busy morning doesn't slow the app down. Errors are reported through Sentry, so I usually see a problem before a salon notices it.

Result & status

From, per month
€9
Commission on payments
0%
Languages
7

As of September 2026

Stippa is live and onboarding its first salons. That is honestly the stage it's in: I work closely with those salons, and their feedback decides what gets built next. Stippa is available in 7 languages, with Dutch as the main one.

What's next

  • Bring more salons on board, one at a time and with personal onboarding.
  • Keep building the modules the first salons ask for.
  • Keep the app fast and simple, even as features are added.

Journal

  1. For everyone

    Stippa's help centre, in every language the app speaks

    Stippa works in Dutch, English, German, French, Spanish, Polish and Ukrainian, and as of this week so does its help centre. Screenshots included, in your language.

  2. For everyone

    A customer without an email address

    Stippa required an email address for every customer. Bad luck for the regular who has phoned for years and never given one. That's fixed now.

  3. For developers

    Enforcing tenant isolation in CI with Supabase

    Every salon in Stippa lives in the same database. How I make sure nobody can peek into the neighbours' place, and why the check now looks at reads as well.

All journal posts