Заказчик занимается темой лотерей. Он пришёл с идеей сделать онлайн-сервис, в котором игроки могли бы получать подсказки по выбору чисел на основе анализа прошлых тиражей, а не полагаться только на удачу. Задача — построить платформу, которая будет зарабатывать на платных подписках и которую в будущем можно будет развивать.
По мере обсуждения сложилось подробное техническое задание. Оно разбилось на следующие блоки:
Сайт для пользователей. Личный кабинет с регистрацией по email. Три уровня доступа — бесплатный, базовый и премиум. Чем выше тариф, тем больше возможностей и прогнозов в день. Интерфейс должен быть одинаково удобным и на компьютере, и на телефоне.
Автоматический сбор данных. Сервис каждый день сам заходит на сайты лотерей, забирает результаты новых тиражей и добавляет их в свою базу. Администратор ничего не делает вручную.
Аналитические алгоритмы (искусственный интеллект). Сердце проекта — несколько алгоритмов, каждый анализирует историю тиражей со своей стороны: один ищет самые частые числа, другой выявляет скрытые закономерности, третий учится методом проб и ошибок. Пользователь видит результат каждого и может сравнивать.
Проверка стратегий на истории. Любую стратегию игры можно прогнать по прошлым тиражам — сервис покажет, сколько денег вы бы заработали или потеряли за последние годы, какие были максимальные просадки и средний результат.
Умная генерация комбинаций. Пользователь указывает бюджет и количество билетов, а сервис выдаёт оптимальный набор комбинаций с расчётом вероятностей и ожидаемой прибыли.
Графики и визуализация. Интерактивные графики: тренды чисел, горячие и холодные, тепловые карты, сравнение эффективности разных алгоритмов между собой.
Панель администратора. Отдельный раздел только для владельца. В нём — управление пользователями, настройка тарифов и промокодов, статистика дохода, контроль работы сервера и алгоритмов.
Подписки и оплата. Автоматическое продление тарифов, уведомления об истекающих подписках, промокоды со скидками, отчёты по продажам.
Безопасность и надёжность. Шифрование паролей, защита от атак, ежедневные резервные копии базы. Сервис должен стабильно работать, даже когда им одновременно пользуется большая аудитория.
Итог: заказчику нужен полностью рабочий платный сервис, который можно сразу запускать в коммерческую эксплуатацию и при росте аудитории без переделок подключать новые виды лотерей, мобильное приложение, зарубежный рынок.
Работал один, без команды, поэтому всё продумывал от начала до конца — от архитектуры до внешнего вида кнопок.
Начал с того, что разложил проект на небольшие независимые блоки. Так его проще и разрабатывать, и потом развивать — каждый блок можно дорабатывать отдельно, не ломая остальное. С заказчиком договорились о приоритетах: сначала базовый сайт и один простой алгоритм, дальше постепенно наслаивали более сложные функции и показывали промежуточные версии.
Для серверной части выбрал технологии, которые хорошо держат нагрузку и дружат с искусственным интеллектом. Сайт сделал современным: быстрый, адаптивный под мобильные, с приятными переходами и анимацией.
Алгоритмов получилось шесть разных — у каждого свои сильные стороны. Сервис сравнивает их между собой и показывает объективную картину, а не полагается на один «волшебный». Чтобы результаты выдавались мгновенно, они хранятся в быстрой памяти — одинаковый запрос не пересчитывается с нуля.
Самое сложное — тяжёлые расчёты, например симуляция миллионов тиражей. Здесь пришлось серьёзно оптимизировать: задействовать несколько ядер процессора одновременно. В итоге операции, которые заняли бы часы, теперь укладываются в секунды.
Отдельно вложился в админку. Заказчик не разработчик, и ему важно было управлять сервисом без документации: в пару кликов дать скидку, посмотреть доход, заблокировать подозрительного пользователя.
Всё упаковал в контейнеры — это значит, что сервис одинаково запускается на любом сервере, и при росте аудитории масштабирование делается за минуты, без переписывания кода.
Получилась полноценная рабочая платформа, готовая к коммерческому запуску. Всё, что было в ТЗ, сделано — ничего «на потом» не оставлено.
Что имеет заказчик на руках:
— Сайт, которым удобно пользоваться и с компьютера, и с телефона. Загружается быстро, интерфейс интуитивный — разобраться может человек без технической подготовки.
— Полный набор из шести алгоритмов искусственного интеллекта. Каждый даёт прогнозы и объясняет, почему именно такие числа — пользователь видит логику, а не просто готовый ответ.
— Готовая система подписок с тремя тарифами. Можно прямо сейчас принимать платежи от пользователей.
— Панель администратора, в которой заказчик сам управляет всем сервисом: выдаёт скидки, следит за пользователями, смотрит доход, контролирует нагрузку.
— Автоматическая подгрузка новых тиражей. Администратор ничего не делает вручную.
Как это применяется:
Сервис уже готов принимать платящих клиентов. Заказчик сейчас готовится к запуску рекламы и сбору аудитории. Запас прочности заложен такой, что тысячи одновременных пользователей сайт выдержит без доработок.
В перспективе проект можно развивать в разные стороны: добавлять новые виды лотерей (это уже вопрос настройки, а не переделки), выпустить мобильное приложение, выйти на зарубежную аудиторию с поддержкой других языков и валют.
Отдельный плюс — к проекту написана подробная документация. Если в будущем заказчик захочет привлечь другого разработчика для доработок, у него будет полное понимание устройства системы — не придётся разбираться с нуля.