Two brands, one back office.
A bánh mì cafe and a Vietnamese street food bar, both in Perth city, both belonging to the same operator. The digital side was sequenced to be ready first, so the software is the thing waiting on the fitout rather than the other way round.
- Role
- Sole developer
- Delivery
- Staged
- Brands
- 2
- Ahead of
- The physical fitout
This is a staged engagement rather than a single delivery. The foundation went in first, the two storefronts followed, and the trading details land as the venues open. Where it stands, and when that was written, is at the foot of the page.
Everything except the building
Most hospitality operators buy their digital in pieces: a website from one place, a point of sale from another, menu screens from whoever installs the televisions, and an email address that ends in gmail. The mandate here was the opposite. One person, the whole stack, before the doors open.
A Microsoft Entra foundation, first
Identity before anything else. Company email on the businesses' own domains, sign-in that is managed rather than shared, and the tenancy set up so staff can be added and removed properly. This is the least visible part of the job and the part that decides how everything after it behaves.
Two websites that do not look related
One operator, one precinct, two completely separate audiences. The cafe is a bright weekday takeaway; the bar is a dark evening room. They are built on the same foundation and share not a single design decision.
Domains, hosting and the email records
Both domains registered to the business, both zones carrying their own Microsoft 365 mail records, hosting on infrastructure they hold the account for. Attaching a site to a live domain that is already carrying email is the moment things break, so it is done in a documented order.
Digital menuboard infrastructure
The screens behind the counter, and the thing that drives them. A menu that has to be updated in three places is a menu that will be wrong in two of them.
Square point of sale, wired into the sites
The point of sale is the source of truth for what is for sale and what it costs, so the website and the ordering app read from it rather than keeping their own copy.
The same person built both of these
Which is the point. A single supplier usually means a single house style with the colours swapped. These two share a build, a foundation and a deployment pipeline, and nothing else.
The thing itself, drawn rather than photographedA cross-section of the roll with every layer named, on the cafe's own home page. No stock photography of somebody else's food, and nothing that has to be reshot when the kitchen changes a garnish. It is vector art in the page, so it weighs almost nothing and stays sharp on any screen.
Crackle & Crumb, the daytime oneCream, brown and a wordmark with an actual fracture running through it. The name is about the two halves of a bánh mì roll, so the site says so out loud: crackle is the shatter of the crust, crumb is the soft inside. Open before sunrise, shut mid-afternoon.
Order by number at the counterEvery roll is numbered, because that is how people actually order at a bánh mì counter and it is faster than reading a name back to someone. Prices and dishes here are indicative until the venue sets them.
Hưng Long, the evening oneOxblood, charcoal and a hero built to look like a hand-painted wall sign that has been up a while. Wednesday to Sunday, five till late. The marquee underneath is dish names, including a phở negroni, which tells you what kind of bar it is.
Made for the middle of the tableCategories in Vietnamese, translations underneath, and a dragon drawn down the margin as the spine of the page. Sharing plates need a menu that reads like a list you point at, not a grid of cards.
Decisions made early, on purpose
A venue that has not opened yet cannot tell you what it needs. So the parts that are hard to change later were settled first, and the parts that will change weekly were left easy to change.
Attaching a website to a domain that carries live email
Both domains already carry Microsoft 365 mail records. Pointing a website at a domain in the wrong order, or by hand-creating the wrong record, either breaks the site or, much worse, silently breaks the mail.
So the order is written down rather than remembered, the web records are created by the platform rather than typed in, and nothing in the site repository can touch DNS at all. Mail records are not something to be clever about at nine on a Friday.
Two sites a non-technical owner will still own in five years
Hand-written HTML, CSS and JavaScript with relative paths, deployed as static files. No framework, no build pipeline, no dependency that needs upgrading before a menu change can ship.
The practical effect is that both sites behave identically on the preview address and on the real domain, and that whoever holds the account next can read the whole thing. A restaurant should not need a developer on retainer to change a price.
The till decides what is on the menu
A cafe with a website, a menuboard, an ordering app and a point of sale has four places a price can live and three of them will be wrong by the second week.
Square is the source of truth. The website and the ordering app read from it, the menuboards follow, and the counter staff change things in the one place they already use all day.
Where it is up to
Delivered in the order of what unblocks what. The Entra foundation, the domains, the company mail and both websites went in first and are live. The menuboards, the Square integration and the ordering app land with the venues, because a menu is worth wiring up once the prices are real. The rest waits on the fitout, which is a building problem rather than a software one.
Status as at August 2026. The rest of this page describes what was built, and does not change.
Both links are preview addresses. Trading hours, addresses, phone numbers and menus on them are placeholders until the venues confirm the real ones, so read them as design rather than as information.