.shot { transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1); } .shot:hover { transform: translateY(-8px); }
Първокласен мъжки клуб във Варна, чиито клиенти запазват час, трупат cashback и оценяват посещенията си в приложение с нейтив усещане — написано веднъж на Kotlin за iOS и Android и свързано с CRM-а на салона през middleware, който може да го надживее.
Zeus не е стандартна бръснарница — това е мъжки клуб, в който посещението е продуктът. Първото поколение на приложението беше по същество дигитална карта за лоялност, а ежедневието на салона вървеше в облачен CRM: график, клиенти, записи, cashback, отзиви. Клиентите запазваха час по телефона, през сайта или на рецепцията; приложението не знаеше нищо за това.
Какво трябваше да се промени:
Livotov Labs пренаписа продукта на Kotlin от край до край: Kotlin Multiplatform приложение с Compose Multiplatform UI на двете платформи и Ktor middleware, който притежава мобилното API и скрива CRM-а зад портове.
Една обща кодова база за iOS и Android върху собствена дизайн система (Composables UI + Lucide, без Material). VISCE архитектура на OSKit, Koin, Ktor клиент. Български, английски и руски.
Ktor бекенд на PostgreSQL, който излага замразен контракт от 26 endpoint-а към приложението и говори с CRM-а през осем порта. Адаптерът е единственият модул, който познава вендора.
Свободни часове от провайдъра със SWR кеширане и обединяване на заявки, идемпотентни записи, гост-резервации, преместване и отказ, и delta-poll синхронизация на промените от рецепцията.
Cashback баланс и нива от програмата на салона, 14-дневен прозорец за отзив на посещение, вход с телефон без пароли с Ed25519 сесии и rate limit-и по устройство.
Любим бръснар и до три услуги слагат следващите му свободни часове на началния екран; едно докосване запазва. Заедно със „Запази отново“ това е най-краткият път обратно до стола.
Всяка промяна от рецепцията стига до телефона на клиента за секунди. Петте блока на началния екран се показват, скриват и пренареждат от всеки клиент. Български, английски и руски; светла и тъмна тема; мигновен старт от локален кеш.
Инженерството е средството. Това са резултатите, с които салонът работи.
Клиентите сами запазват реални свободни часове, местят или отказват в рамките на правилата на салона и звънят само когато приложението каже, че е късно за промяна.
Промяна, въведена в CRM-а, се праща като push на клиента; резервация от приложението се появява в CRM-а. Един източник на истина, без двойно въвеждане.
Следващите свободни часове на любимия бръснар на началния екран и „Запази отново“ на последното посещение превръщат клиента, който „трябва скоро да се запише“, в записан.
Баланс, ниво и прогрес на началния екран, четени от собствената програма на салона. Cashback картата най-после си заслужава мястото.
CRM-ът стои зад middleware. Ако салонът го надрасне, приложението не разбира — нула release-и на приложението при смяна на CRM.
Двата обекта във Варна в едно приложение със собствено работно време, екипи и цени. Добавянето на обект е конфигурация.








Бръснарници, салони за красота, дентални практики, фитнеси, автосервизи, груминг — навсякъде, където клиентите запазват човек или стол и се връщат. Сменете речника и CRM адаптера; приложението, middleware-ът и лоялността остават.
Какво носите вие, какво доставяме ние
Ако клиентите ви още се записват по телефона, това е страницата, от която да ни пишете.
Второто поколение е live от 23 септември 2026. Прочетете съобщението →