Завдання
Соло-майстер стриже або робить манікюр і не може відповісти клієнту, який пише о 23:00 «чи є час завтра». Відповідь буде вранці, коли клієнт уже записався в іншому місці. Записи живуть у блокноті або в голові, звідси двоє клієнтів на одну годину і забуті візити. Наймати адміністратора одному майстру невигідно.
Це власний продукт, а не замовлення. Хотіли перевірити, чи куплять соло-майстри в Україні простий інструмент запису за $10 на місяць. За нашим розбором ринку AI Beauty Bot коштує $79-219 на місяць, Starta.one від 6 євро, але складний, beautyTG на GitHub безкоштовний, але без розробника його не поставити. Соло-майстер у Telegram українською і російською за $10 виглядав майже вільним місцем.
Навіщо і яка ідея
Ідея: майстер не чекає на нас. Він сам створює бота в @BotFather за покроковою інструкцією з картинками, вставляє токен у головний бот, і сервер підхоплює його бота одразу, без перезапуску. Один процес на сервері тримає необмежену кількість чужих ботів. Клієнт у боті майстра нічого не пише вільним текстом: послуга, день, година, усе кнопками, і видно лише вільний час.
Головне рішення, яке переглянули: у першій версії на вільні питання клієнтів відповідав Claude Haiku 4.5. Через добу ми прибрали його зовсім. Бот міг сказати про ціни і послуги майстра те, чого нема насправді, а для запису точність важливіша за «розумну» розмову. Прибрали весь шлях, не тільки кнопку: якщо лишити обробник вільного тексту, ризик лишається. Ціна: спочатку $20, потім я знизив до $10 як стартову для України, для всіх, включно з уже підключеними, перший місяць безкоштовно. База: SQLite замість PostgreSQL, на старті простіше, за нашою оцінкою вистачить приблизно до 500 майстрів.
Хід роботи
| Етап | Що відбувалося |
|---|---|
| День 1, вечір | Концепція, розбір конкурентів, план MVP на 1-2 тижні |
| День 2 | 26 комітів за день: реєстрація, послуги, календар, реферальна програма, оплата CryptoCloud і LiqPay, захист пробного місяця, три критичні баги багатоботової схеми. Увечері прибрали AI-відповіді на вільний текст |
| День 3 | MVP на сервері. Ручна видача підписки командою /activate, щоб продавати, не чекаючи підключення LiqPay |
| День 5 | Кабінет майстра шістьма мовами, картинки-інструкція BotFather шістьма мовами, пароль сервера прибрано з deploy.py |
| День 6 | Вихідні дні, розсилка клієнтам, підтримка. Ціна знижена з $20 до $10 для всіх. Документація проєкту |
| Через 2,5 місяці | Перевірка на запит: бот живий. Закрита діра з подвійними записами, перші тести в проєкті |
| Наступного дня | Закрита діра в прийомі оплати, ротація логів, відключений бот майстра з чужим вебхуком |
Усього 46 комітів: 5 днів активної розробки і дві точкові сесії пізніше.
Чим робили
Python 3.11, aiogram 3.7, SQLAlchemy 2 з aiosqlite, APScheduler для нагадувань, aiohttp-сервер для постбеків оплати. Близько 4 700 рядків, найбільші файли: реєстрація майстра 2 125 рядків, переклади 986, бот клієнта 813.
Багато ботів в одному процесі: один спільний диспетчер aiogram і один виклик опитування з усіма ботами одразу. Коли майстер підключається або йде, задача опитування перезапускається з новим списком під замком asyncio.Lock, щоб два одночасні підключення не перебили одне одного. База: SQLite, один файл, таблиці майстрів, клієнтів, записів і окрема таблиця історії пробних місяців за Telegram ID. Сервер: VPS, служба systemd з автозапуском і автоперезапуском, деплой через git push і скрипт, вхід за SSH-ключем.
Гроші і ключі: секрети тільки в .env поза git. Постбек оплати приймається тільки з підписом (JWT HS256), підпис привʼязаний до конкретного рахунку, LiqPay перевіряє свою підпись окремо. Ціна задана в одному місці коду плюс тексти в перекладах.
Результат
Головний бот для майстрів: вибір мови, реєстрація (спеціальність, послуги з цінами, робочі години, вихідні дні, адреса з підказкою формату), інструкція BotFather з картинками, вставка токена. Кабінет: мої записи, налаштування, редагування і видалення послуг, розсилка всім своїм клієнтам, реферальне посилання (приведи майстра, отримай місяць безкоштовно), підтримка, оплата карткою через LiqPay або криптою через CryptoCloud. У сповіщенні про новий запис є кнопка «Написати клієнту».
Бот майстра для клієнтів: мова, послуга, день (швидкий вибір на 7 днів або своя дата), година. Видно лише вільний час. Можна скасувати запис із причиною, лишити контакт. Нагадування приходить за день до візиту. Мови: українська, російська, англійська, польська, іспанська, німецька. Лендінг ai-bot.com.ua/masters українською і англійською з демо-перепискою, тарифом і питаннями. Сам бот: t.me/masterbooking_main_bot.
Що заміряли. Аптайм: служба відпрацювала 2 місяці 20 днів без перезапуску, 180 МБ памʼяті, 195 хвилин процесора за весь час, черга необроблених повідомлень у Telegram порожня. Тести: три файли, 49 перевірок: 19 на зайняті слоти, включно з гонкою двох одночасних бронювань, 13 на справжню функцію запису, 17 на підпис постбека оплати. Кожен тест спершу падав на старому коді.
Чесно про слабке. Продукт технічно працює, але продажів нема. У базі 5 майстрів (один тестовий), 9 записів, після перших днів нових записів не зʼявлялося. Оплат нуль за всю історію, у трьох майстрів пробний місяць закінчився 21-55 днів тому, вони користуються безкоштовно. Чому підключені майстри перестали вести запис через бота, ми не зʼясовували, а без відповіді на це лагодити оплату рано. Відкритих дефектів на момент останньої перевірки пʼять, серед них: за несплату нікого не відключає, постбек іде по HTTP без TLS, кроки запису у клієнта поки захардкоджені російською, хоча кабінет майстра перекладено шістьма мовами.
Помилки і що винесли





