Journal

The Bookatu blog

Practical, no-nonsense advice for service businesses. Cutting no-shows, building steady income, getting found online, and keeping more of what you earn.

Money math in integer cents, and the discount that vanished
Engineering

Money math in integer cents, and the discount that vanished

We gave a fifty-cent discount and the ledger recorded none of it. Floating point was not even the culprit. A field guide to doing money arithmetic with integers: clamping, proration, and making a ledger of unit prices sum to the exact total.

6 min read
A seeded sandbox beats a copy of production
Engineering

A seeded sandbox beats a copy of production

Our whole local environment is an in-process Postgres that boots from empty, applies real migrations, and fills itself with a convincing fake salon. No production credentials on laptops, no real client data in screenshots, and a demo that never goes stale.

6 min read
The dropdown that refused to be clicked
Engineering

The dropdown that refused to be clicked

A menu rendered perfectly, sat exactly where it should, and swallowed every click. The culprit was an entrance animation that never really ended. A short tour of CSS stacking contexts, animation fill modes, and how to hunt bugs you cannot see.

6 min read
Dashboard charts with zero dependencies
Engineering

Dashboard charts with zero dependencies

We built the trend lines, sparklines, and category bars on our dashboard as plain inline SVG. No chart library, a few hundred lines total, dark mode for free. Here is the case for hand-rolled charts, and for when you should absolutely not do this.

6 min read
Test the pixels: screenshot QA for a small team
Engineering

Test the pixels: screenshot QA for a small team

Our test suite was green and the dropdown was unclickable. Unit tests cannot see stacking bugs, dark-theme breakage, or mobile overflow. Here is the small screenshot rig that now looks at every surface for us, and the visual bugs it catches that tests never will.

6 min read
Loyalty points that quietly bring clients back
Recurring revenue

Loyalty points that quietly bring clients back

A points program does not need punch cards or a separate app. Turn on loyalty, set what a visit and a dollar are worth, and let regulars earn their way to a credit they will come back to spend.

5 min read
Before and after photos, kept where you will actually find them
Grow your business

Before and after photos, kept where you will actually find them

Your camera roll is not a filing system. Keep before and after photos on the client's profile, private to your team by default, so last visit's work is one tap away at the next appointment.

5 min read
The QR code on your counter that books clients while you work
Grow your business

The QR code on your counter that books clients while you work

Every 'I'll book later' is a booking you might not get. A QR code on the counter, the mirror, or the window sends people straight to your booking page while the intention is still warm.

4 min read
Offer online sessions and let the video link make itself
Grow your business

Offer online sessions and let the video link make itself

Mark a service as an online video call and every booking for it gets its own Google Meet link in the confirmation email. Here is how a personal trainer kept the clients that distance was costing him.

5 min read
Ring up counter sales in a few taps, discount included
Grow your business

Ring up counter sales in a few taps, discount included

A client at the counter wants the serum you just used and a top coat to go with it. Here is how to ring that up in a few taps, take 10 percent off on the spot, and have the sale land in your books the moment it happens.

5 min read
Airy for a spa, bold for a barber: choosing a look for your booking page
Grow your business

Airy for a spa, bold for a barber: choosing a look for your booking page

Your booking page should feel like your shop, not like a template. Bookatu comes with six shop-front looks. Pick one in settings, preview it in your own brand colour, and save. Your layout and your colours stay exactly where they are.

5 min read
Promo codes that fill a quiet week and tell you what worked
Grow your business

Promo codes that fill a quiet week and tell you what worked

A code that expires tonight can fill this afternoon's chairs. Give it a channel and every booking it brings is counted, so next month you are not guessing whether the post worked. You read it in a table, in dollars.

5 min read