Hospitality
Bar website with a menu, delivery and Telegram orders
A static venue website on its own domain: a 27-item menu with photography, a cart with delivery, table booking, and orders that reach the owner's Telegram through a self-hosted relay.
- Client
- Herota bar, Sochi
- Year
- 2026
27
Menu items with photography
images generated to a single style
6.4 KB
Home page weight, compressed
0
Accessibility violations by axe-core
verified from 390 to 1440 px wide
3 ms
Time to first byte
Challenge
The bar had no website. Guests could only see the menu on site, and orders were taken by phone. They needed an address to put in social profiles — with a current menu, prices, and a way to place a delivery order.
Two constraints shaped the work. First, no dish photography existed, and shooting the whole menu on location would have taken longer and cost more than launching the site. Second, api.telegram.org is unreachable from the venue's server — the connection simply never establishes — and Telegram was exactly where the owner wanted orders to land.
A third constraint was legal. This is a licensed bar, and Russian law forbids both distance selling of alcohol and advertising it. The site had to present the venue without becoming either.
Solution
The site is plain static files: markup, styles, and the menu in a separate data file the owner edits one line at a time. No CMS and no database — nothing that can fall over — and the server returns ready HTML with no work per request.
All 27 dish photographs are generated to a single look: one camera angle, one surface, one light. The prompts explicitly forbid text, logos and people — models render text with errors, someone else's logo stays their trademark, and a face without consent falls under article 152.1 of the Russian Civil Code.
Orders reach Telegram through a relay on a third machine: the site calls its own intake service, that service passes the message to the relay, and only the relay talks to Telegram. The bot token never leaves the server — on a static site it would be visible to anyone who opens the page source.
Alcohol is neither sold nor advertised: the site talks about the kitchen and the venue. Ordering rules, delivery terms and legal documents live in their own documents.
Before the move to its own domain the site got a search pass: canonical URL, www folded into the apex with a single redirect, Open Graph with an image, venue structured data, robots.txt and sitemap.xml, and favicons built from the logo. Certificates are issued and renewed automatically.
We show this case whenever small venues come up: a café or bar website rarely needs a CMS and almost never needs a database. What it needs is an honest menu, a working cart, and an order that reaches the owner's phone.
Stack
- HTML
- CSS
- JavaScript
- Caddy
- systemd
- Python
- Let's Encrypt
DEKART — DIGITAL
Tell us about the task
We reply within 15 minutes during business hours. The first consultation and estimate are free.