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.

Client
Kasto Bali
Sector
Plant-Based Restaurant · Hospitality
Scope
Site, booking & menu CMS
Stack
Static build · Netlify · Decap CMS
Timeline
3 days
Kasto Bali full-page screenshot

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.

A restaurant website that is a week out of date is worse than no website. It tells people the wrong price with total confidence.

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.

01

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.

02

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.

03

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.

04

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%.

3dKickoff to live
400%Increase in reservations
~30sMenu change to live site
£0Monthly hosting, ongoing

Performance

Google Core Web Vitals.

Mobile scores via Google PageSpeed Insights. Before is the old Wix site, after is the current custom build.

MetricBefore (Wix)After (custom)
Performance score5298
LCP (Largest Contentful Paint)4.8s1.1s
FCP (First Contentful Paint)2.9s0.7s
CLS (Cumulative Layout Shift)0.180.02
TBT (Total Blocking Time)680ms40ms

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.

james@jamesandthesite.com

Start with a call

Free, no pitch, and a straight answer about what your site actually needs.

Start a project

Reply within one working day · Free first call · No obligation