Where they started
Local Bistro's owner, Ahmed, told us the site had been built by a cousin's friend in 2019 and hadn't been touched since. That's a more common story than you'd think.
The specifics were rough. The menu was a scanned PDF, 4.1MB, which opened in a new tab and needed pinch-zoom to read a starter. Hours were wrong for two public holidays. The reservation button pointed at a widget from a service they'd stopped paying for eight months earlier, so it loaded a blank iframe. On mobile — 81% of their traffic — the phone number wasn't tappable.
The commercial problem was sharper than the technical one. A search for the restaurant's own name returned two delivery aggregators above their site, both taking a cut of every order they generated.
What we built
We designed at 375px first and only widened the layout afterwards, which sounds obvious and almost never happens. From any page on the site you're one tap from the menu, the hours, a phone call, or directions.
The menu became real HTML — sections, dishes, prices, dietary tags, all structured content Ahmed's manager edits from her phone when the fish changes. It also became indexable, and we marked it up with Menu and Restaurant schema so individual dishes became eligible to appear in search results.
Reservations went back to OpenTable, but embedded properly so the flow stays on the page instead of redirecting to a slow third-party screen mid-decision. Then the part that actually moved the number: rebuilding the Google Business Profile with correct categories, real photography, a weekly posting cadence, and a review-response process the front-of-house team runs themselves.

