A cafe we own in Islamabad. February to June 2026.
A cafe we own, and the site that opened with it
93 Brew, a cafe in Islamabad we hold a stake in, needed a site ready for opening week. We built it on Next.js over a Sanity content model, a page for every drink, and a WordPress twin so the owner edits prices without a deploy.
5categories, from Classic to Slow Bar, on one content model
41production deployments, 31 March to 20 June 2026
The live site, September 2026.
The situation
A new cafe opening in DHA Phase 2, Islamabad, needed a website ready for its first week, local discovery from day one, paid-social measurement, and a menu that stays accurate as prices move, without a developer on call for every change. We hold a stake in the cafe, so the brief was our own and the site had to earn its place from opening day.
What we built
A Next.js front end on a Sanity content model
25 drinks across five categories, Classic, Matcha, Signature Iced, Flavours and Slow Bar, each with its own page carrying a tasting profile, ingredients and milk options
Product, menu and breadcrumb JSON-LD, a 14-question FAQ, a sitemap and page metadata, so the menu reads to search engines as well as to people
About, our-space, visit and contact pages from the same content model
Launch collateral ahead of opening
Coming-soon posters in February 2026, then grand-opening flyers and menu reels in March
Google Ads advertiser set-up, Meta Pixel and Conversions API, GA4 and a Business Profile, in place around opening
Menu pricing revised in June 2026 from the point-of-sale export, through the central menu model
A WordPress twin with a custom menu plugin, delivered in June 2026 with owner and deploy guides, so items and prices change without a code deploy
The screens
Pages of the live site.
Home
Hours, the menu and directions above the fold, so a first visit answers the three questions a customer arrives with.
Home: hours, the menu and directions above the fold.
Menu
Every drink rendered from one content model, across the five categories.
Menu: every drink rendered from one content model.
Drink page
One page per drink: hot and iced prices, ingredients, milk options and tasting notes from the same menu record.
A drink page: prices, ingredients and tasting notes from one record.
About
The cafe's story, structured as content the owner can edit.
About: the story, as content the owner can edit.
Visit
Address, hours and directions, edited by the owner and marked up for search.
Visit: address, hours and directions.
Home
What changed
The site went live on 31 March 2026, in the cafe's opening week, and took 41 production deployments between then and the June menu-pricing revision. A price change is now made once, in the menu record, and every page that shows it follows.
Along the way
16 February 2026
Coming-soon posters out ahead of the opening
29 March 2026
Content prototype built, the Sanity content model connected to the production project, and the first production deploys
31 March 2026
Site live, alongside the cafe's opening
9 April 2026
Meta Pixel and Conversions API installed for paid-social measurement
20 June 2026
Menu pricing revised from the point-of-sale export through the central menu model
28 June 2026
WordPress twin of the site delivered with owner and deploy guides; GA4 on it from 1 July
Read next
thefishfrenzy.comWordPress and WooCommerce, rebuilt
Order by zip codeBeckley, Princeton or Morgantown
Menu and hoursPer location
Clover point of saleEach order lands at its own till
Fish Frenzy, three seafood restaurants in West Virginia
Online ordering by zip code into the Clover tills, live since December 2023. 6.37K clicks and 174K impressions in Search Console, June 2024 to September 2025.
The Meta Pixel on the existing site, the first Meta and Google Ads campaigns, a February content calendar from the restaurant's own photos and a report at the end of the month. 2.29K impressions and 211 clicks on the Google Ads campaign, 16 to 21 January 2024.
A point of sale with a barista queue, void reversals that leave a trail, stock tied to recipes, shifts and loyalty, on one PostgreSQL schema. 20 tables in one PostgreSQL schema, from orders to loyalty.