Кейс
AICatalog
AICatalog — наш власний продукт, задуманий і реалізований як повноцінний вебзастосунок. Це каталог AI-інструментів з особистим кабінетом, модерацією, власною аналітикою та інтеграцією мовних моделей.
Відкрити сайтЗадача: каталог, що живе й оновлюється
Ми хотіли створити не просто статичний список, а живу платформу, де власники інструментів самі беруть участь у її наповненні. Це означало, що потрібен не лендінг, а продукт із кабінетом користувача, ролями доступу й процесами, які не дадуть зламати сайт необачною правкою.
Основний виклик — збалансувати автоматизацію та контроль. З одного боку, контент має додаватися й оновлюватися з мінімальним втручанням адміністратора. З іншого — кожна зміна, перш ніж потрапити на сайт, мусить пройти перевірку. Тому ми від початку проєктували систему з асинхронними задачами та премодерацією.
Рішення: кабінет, модерація, AI-контент
Основа продукту — особистий кабінет, куди власник інструменту може увійти через Google або GitHub. У кабінеті він бачить реальну статистику показів і кліків по своїх картках, додає промокоди, керує зображеннями. Кожна його правка не публікується одразу, а створює заявку для адміністратора. Такий підхід захищає якість контенту, але не зупиняє його оновлення.
Для наповнення ми залучили AI. Описи інструментів генерує модель Gemini, а для розширених текстів використовується Vertex AI з резервною моделлю на випадок збою. Навіть знімки екрана сайтів перевіряє модель зору, щоб відсіяти порожні сторінки. Це приклад нашої ж AI-автоматизації, де агент вбудований у процес, а не існує окремо.
Уся система працює на власному сервері в Docker-контейнерах. Фронтенд на Next.js спілкується з бекендом на Python та FastAPI. Контент зберігається в PostgreSQL з розширенням pgvector, а фонові задачі — від черги до знімків екрана — виконує Celery з Redis. Файли та зображення лежать у власному S3-сховищі MinIO, що дає повний контроль над даними.
Процеси: від коду до надійного сервісу
Надійність — ключова вимога до будь-якого продукту, що працює з даними користувачів. У нас вона забезпечується на кількох рівнях. По-перше, це моніторинг: системи Sentry та Prometheus відстежують помилки й навантаження, а контейнери мають власні перевірки «здоров'я».
По-друге, це процеси викатки й резервного копіювання. Скрипт деплою не просто копіює файли: він перевіряє, що на сервер іде лише закомічений код, робить бекап, застосовує зміни до бази даних і перевіряє, чи сервіс відгукується. Якщо нова версія поводиться погано, скрипт уміє повернути попередню. Резервні копії бази та файлів зберігаються разом із маніфестом цілісності.
Оновлення, бекапи й моніторинг є і в супроводі, який ми пропонуємо клієнтам. На AICatalog видно, як це виглядає, коли продукт наш власний і відповідати за нього теж нам.