Рішення · Ресторани & HoReCa
Меню за QR-кодом, яке читається на телефоні, у напівтемряві, трьома мовами — і не ставить жодного cookie.
Меню закладу — це не брошура: у ньому є ціни та об’єми, які мають бути точними, воно часто змінюється і його читають люди, які говорять трьома мовами. Ми будуємо меню як дані, генеруємо сторінку з них і перевіряємо перед кожною публікацією, зокрема що ціни в кожній категорії впорядковані і що кожне фото існує.
Вже збудованоДва цифрові меню в продакшені, які можна перевірити ззовні сьогодні. Перше: 119 продуктів у 21 категорії, з ціною, обсягом, складом і фотографією, плюс короткий опис і набір рекомендацій щодо поєднання для кожного продукту; генератор має 402 рядки, а перевірка перед публікацією — 233 рядки і 16 блоків. Друге, сайт-сестра з тим самим двигуном: 146 продуктів у 31 категорії, генератор на 377 рядків, перевірка на 210 рядків із 14 блоками, а безперервна інтеграція регенерує сторінку з джерел і відхиляє зміну, якщо результат відрізняється від файлу в репозиторії. Обидва відповідають 200 і жоден не ставить жодного cookie — перевірено мною 06.09.2026. Ми також кажемо, що це дві роботи з тим самим двигуном і тим самим власником, а не дві незалежні роботи.
Відсканований PDF за QR-кодом не вирішує нічого з того, що має вирішувати заклад. У ньому не шукають, його не перекладають, він нормально не масштабується на телефоні, і його не можна змінити без передруку коду. А меню часто змінюється: кухня прибирає страву, бар отримує іншу марку, ціна позиції зростає. Меню — це набір даних, що змінюється щотижня, а не документ, надрукований один раз.
Тому ми поводимося з ним як із даними. Реальні джерела — це кілька структурованих файлів: продукти, тексти-презентації, рекомендації щодо поєднання, переклади — а генератор, написаний на Python, збирає з них одну сторінку. В одному із закладів: 119 продуктів у 21 категорії, кожен із ціною, об’ємом, складом і фото, плюс 119 коротких текстів і 119 наборів «з чим поєднується». В іншому: 146 продуктів у 31 категорії. Сторінку не редагують напряму — її генерують заново.
Переклад не зупиняється на кнопках. Румунська є базою, а російська й англійська покривають категорії, назви, об’єми, склад, 82 мітки смаку та всі тексти-презентації. У місті, де сусідній стіл замовляє іншою мовою, меню, перекладене наполовину, дратує більше, ніж неперекладене: воно змушує вас думати, що ви можете прочитати все.
Найважливіше, на нашу думку, і те, чого ніхто не просить у brief: кошик, список обраного та поділ рахунку працюють у браузері, без облікового запису і без сервера, а сайт не ставить жодного cookie і нічого не запитує з домену третьої сторони. Це не обіцянка з політики конфіденційності — це правило, яке задають автоматичні перевірки, що запускаються перед кожною публікацією і відхиляють зміну, якщо з’явився будь-який tracker, будь-який зовнішній ресурс або будь-який шрифт, узятий у когось іншого.