Case 01 · Kasto Bali
Retired a costly Wix site. Kept the staff in control.
Giuseppe was doing data entry between services. Changing one price on the old Wix site meant leaving the kitchen, finding a laptop, and fighting a page builder. The thing that won this project was not the cinematic hero. It was a form with three fields.
The Brief
The menu was the problem, not the design.
Kasto is a plant-based Italian kitchen in Canggu. Warm room, open pass, specials that change on the strength of what arrived that morning. The website was none of those things. It was a Wix template that loaded slowly, looked like every other restaurant template, and charged £33 a month for the privilege.
The design complaint was real but it was second. The first problem was that the menu lived somewhere Giuseppe could not easily reach. A price change meant stopping service. So specials went up late, or did not go up at all, and the site drifted a week behind the kitchen.
Three days, and the brief resolved to one test: could the chef change the menu, from his phone, without asking anyone?
The Menu Editor
The unglamorous feature that won the project.
Menus change constantly. Specials rotate, a supplier misses a delivery, a dish sells out at eight. The editor is one password-protected page: three fields per dish, a drag handle to reorder, and a save button. It is deliberately not a general-purpose CMS, because the team does exactly one job in it.
- Runs on Decap CMS, so edits commit to the site and trigger a rebuild automatically
- Images are compressed in the browser before they are uploaded, so a photo taken on a phone does not become a two megabyte page weight
- Daily specials can be scheduled to expire at midnight, so nobody has to remember to take them down
A change is live in about thirty seconds. Giuseppe now updates between services, which was the entire point.
Booking
Three taps, and it never leaves the site.
Most restaurant sites hand the guest to OpenTable or Resy at the moment they have decided to book. That is a redirect, a second brand, an account prompt, and a per-cover fee, all placed exactly where the intent is highest.
Kasto books in three taps: party size, date, time. The confirmation goes to the guest by email and the request lands in the kitchen inbox. There is no third-party widget anywhere on the site, no guest data handed to a platform, and no commission on a table the restaurant filled itself.
Design
Photograph the room, not the plates.
The palette comes off the restaurant's own walls: terracotta, burnt sugar, soft cream. No saturated greens and no leaf iconography, which is the default costume for plant-based food and reads as a category rather than a place.
The photography leads on atmosphere rather than hero-lit dishes. Kasto sells an evening more than it sells a plate, and a room shot does that work better than a styled close-up. The type stays small and gets out of the way. A slow reveal on the hero, and almost nothing else moves.
Under the Hood
Built to last, with nothing to maintain.
Every page is pre-rendered to plain HTML before anyone visits, then served from Netlify's global CDN. There is no server, no database and no framework running at request time, which is most of why it is fast from Bali or from Bristol. Reservation requests use Netlify's built-in form handling, so the booking flow adds no backend of its own. Fonts and the hero video are served from the site rather than a third party, so nothing outside our control sits on the critical path. Hosting is £0 a month and the code belongs to the restaurant.
Key decisions
Four decisions that kept it fast, and got it live in three days.
Scope discipline is what makes a three-day build possible. Each of these removed work as well as adding it.
Own the booking, skip OpenTable.
A small in-house flow instead of a third-party widget. Faster, no per-cover fee, and no guest data handed to a platform the restaurant does not control.
A menu editor, not a CMS.
One page that does one job beats a full content system for a team that only ever edits dishes. Less to learn, less to break, and nothing to explain twice.
Photograph the room, not the plates.
Atmosphere does more selling than food photography for a restaurant whose product is the evening. It was also faster to shoot.
Free hosting, and the code goes with them.
Netlify's free tier and a custom domain. Zero monthly cost, zero lock-in, and Kasto can move host in an afternoon without asking me.
Outcome
Warmer site, lower bill, and the kitchen stopped doing admin.
The menu changes from a phone between services. Bookings arrive in the kitchen inbox with no platform in the middle. The £33 a month is gone, and reservations are up 400%.
Performance
Google Core Web Vitals.
Mobile scores via Google PageSpeed Insights. Before is the old Wix site, after is the current custom build.
| Metric | Before (Wix) | After (custom) |
|---|---|---|
| Performance score | 52 | 98 |
| LCP (Largest Contentful Paint) | 4.8s | 1.1s |
| FCP (First Contentful Paint) | 2.9s | 0.7s |
| CLS (Cumulative Layout Shift) | 0.18 | 0.02 |
| TBT (Total Blocking Time) | 680ms | 40ms |
Measured on mobile · Google PageSpeed Insights
Other case studies
All work →Hospitality
Luxury vending, reframed as a venue partnership.
Vendora arrived with a clear proposition and nothing to say it with. No logo, no domain, no email, no brand. Four days later they had all four and a site that sells venue owners a hospitality upgrade rather than a vending machine.
Private Investment
Credibility that can be checked, not claimed.
Ben Barnes went from bagging groceries at 15 to running $3 billion of Australian retail operations, and now puts his own money into Bali hospitality alongside the investors he introduces. The site had to make that checkable, because the category attracts exactly the kind of pitch he is not making.
Electrician
A trade site that gets the phone to ring.
Jack is a one-man electrical business in Chesterfield. His customers are standing in a kitchen with a dead ring main, on a phone, deciding between him and the next result. That is the entire design problem, and almost none of it is about looking good.
Hypnobirthing
Squarespace out. Google traffic up 315%.
Donna teaches hypnobirthing in Derbyshire and was paying a monthly subscription for a site that could not be found. The rebuild took a week. The traffic result came from three things, none of which was the redesign.
Private Investment
One asset, two audiences, and only one chance to sound credible.
Tony takes Australian investors into ELLE Resort and Beach Club in Seminyak. The complication is that he is rarely selling to one person. There is the investor, and there is the accountant or adviser they will forward the link to, and the page has to survive both.
Want one like this?
Tell me what the business needs and you'll get a fixed price and a fixed scope in writing before anything starts.
Start with a call
Free, no pitch, and a straight answer about what your site actually needs.
Start a projectReply within one working day · Free first call · No obligation