
Your Menu Still Works When the Wi-Fi Drops
By menu-MENA Team
Published on August 29, 2026
Ask a restaurant owner in Cairo or Alexandria about their Wi-Fi and you'll get a specific kind of sigh. The router sits behind the POS, the signal drops for a few seconds whenever the kitchen's exhaust fan kicks on, and half the tables are technically out of range. A QR code menu that needs a live connection every time a guest taps a category is a menu that's going to show someone a blank screen at exactly the wrong moment. menu-MENA runs as an installable Progressive Web App for that reason, and it's worth being precise about what a service worker and some cache logic actually do once a menu page is open, instead of waving at "offline support" as a checkbox.
What actually happens when the signal drops mid-visit
When a guest opens your menu link, the categories and items on that page are rendered on the server and sent down in that one request. They aren't fetched piece by piece as the guest taps around. Switching from Starters to Mains just shows a different part of what already arrived; it isn't asking your restaurant's router for anything new. So if the Wi-Fi cuts out for the few seconds it takes that exhaust fan to spin down, a guest who's already looking at your menu doesn't see a spinner or an error. They keep browsing exactly what they had open.
The interface around that content is cached too. A service worker registers the moment any page loads, menu or dashboard, and keeps the JavaScript, CSS, fonts, and any photo a guest has already viewed in the browser's own cache storage, cache-first. The next time one of those files is needed, whether that's five seconds later or on a repeat visit next week, it loads from what's already on the phone instead of going back to the network for it.
Why a brand-new link still needs a real connection
There's a real limit here, and it's worth saying plainly. menu-MENA doesn't precache a tenant's menu page by its URL. That's deliberate: the page is rendered per request because it depends on cookie-driven choices like which language you're viewing in and which theme is active, and pinning it as one frozen snapshot would mean those going stale. So the very first time a guest opens a specific menu link with no connection at all, that link needs the network like any website does. What's resilient is a visit already in progress, not a cold open in airplane mode.
A banner instead of silence
Underneath all of this is a plain online/offline check, debounced by two seconds so a one-second Wi-Fi blip doesn't flash a banner on and off for no reason. When the connection actually drops, a bar appears at the top of the screen: "You're offline." When it comes back, that bar switches to a brief "All changes synced" before fading out on its own a few seconds later. This isn't only on the guest-facing menu. It's mounted once, site-wide, so it shows up in your admin dashboard too, which means your staff aren't left wondering whether a save actually went through or just looks like it did.
If a write to the server genuinely fails partway, because the connection dropped at the wrong moment, it doesn't just disappear. It's held in a small queue in the browser, stored locally so it survives a refresh, and retried automatically the instant the connection returns, backing off a little longer between each attempt, up to three tries. Only if it keeps failing after that do you see a "changes failed to sync" message with a manual Retry button, instead of a change quietly getting lost.
Add it to the home screen
Every restaurant on menu-MENA gets its own installable app, not a shared one. The manifest behind "Add to Home Screen" is generated per tenant: your logo, your restaurant's name, your brand color as the theme color, scoped to your own menu URL. A regular who eats at your place twice a week can add it once and open it straight from their home screen after that, no QR scan required. It still needs a connection the first time it loads, same as any link, but once it's open, the same caching applies from there.
Placing the actual order
Ordering hands off to WhatsApp: a guest builds a basket right on the menu page, taps Send via WhatsApp, and a pre-filled message opens ready to go. Building that basket is just interacting with a page that's already loaded, so it behaves the same way browsing does. Sending it needs WhatsApp itself to reach the network, which usually rides the guest's own mobile data rather than your restaurant's router, so a struggling Wi-Fi signal at your end isn't typically what stands between a guest and a placed order. For the rest of that flow, see QR code menus with WhatsApp ordering.
What it costs
None of this is a separate line item. It's part of the same subscription as everything else: a 14-day free trial with no credit card, then 90 EGP a month or 1,000 EGP a year for one branch, with each additional branch at half price. The same caching that keeps a menu working on a shaky connection is also why menu photos load fast even on weak 3G. Both come down to the same idea: don't make a guest's phone wait on your restaurant's router any more than it has to.