AKHIL SINGH
1-3 STARSOWNER, IN PRIVATE4-5 STARSGOOGLE REVIEW

Staff log a booking at the counter. A few hours after the visit the customer gets a WhatsApp message, rates in one tap, and happy customers are sent to Google while unhappy ones talk to the owner.

The problem

Small businesses that take bookings live on Google reviews, and almost nobody asks for them. When they do, the ask goes to everyone, so the unhappy customer writes the public review and the owner hears about it last.

The first customer was a pizzeria. Barbershops, tattoo studios and salons run on the same flow, so the product had to stay trade-neutral.

What I built

A multi-tenant platform with three surfaces.

The counter app is a PWA. An employee records a phone booking in a few seconds: name, number, time, note, consent. Returning callers come up as they type. Owners get the same screens plus search, a customer list rolled up from bookings, settings, a dashboard, and an activity log.

The rating page is what the customer sees. The WhatsApp message carries a button to a page with five stars and no submit button: the tap is the answer. Four or five stars lead to the business's Google review link. One to three ask what went wrong, with seven quick reasons and a comment, and that goes privately to the owner.

A platform ops portal lets me create and manage organizations. An Astro landing site in Italian and English sells it.

How it works

The Go API is plain net/http over MongoDB, with every row scoped by organization. Admins sign in with email and password. Employees use a short login code.

Each booking gets exactly one review request for its whole life, enforced by a unique index, so a reschedule or a double tap can never message a customer twice. A background worker sends it at the booking time plus the org's delay (three hours by default) through an approved Meta template and tracks it from scheduled to read. Booking times are sent as local wall-clock time and resolved on the server, since a tablet set to the wrong country would get daylight saving wrong. Phone numbers are normalised against the org's country.

The rating link is an opaque token with no account or cookie. Its Open Graph tags are rendered per request, so the preview card inside WhatsApp already shows the business name and question in the customer's language.

Outcome

Live with its first paying business. The next step is moving each business onto its own WhatsApp Business account so customers see the shop they visited as the sender.