Продолжаем работу над проектом Смарт Здоровье. Расшифровка анализов в Telegram и Max mi... — 21 августа 2026 г. в 11:00:23.959
Продолжаем работу над проектом Смарт Здоровье. Расшифровка анализов в Telegram и Max mini app Идея сервиса Смарт Здоровье простая - человек получает бланк с анализами, гуглит каждый показатель по отдельности и всё равно ничего не понимает. Сервис принимает фото или PDF и через 2–5 минут отдаёт понятный отчёт — что в норме, что выбивается, почему и что делать. Многие помнят (хотя это было не так и давно, можно посмотреть посты), что начинали данный проект с обычного Tg бота: пользователь отправлял файл в чат, бот отвечал текстом. Работало, но с ростом задач — история отчётов, профиль, план задач, оплата, статусы (и это то, что только реализовано в настоящий момент) — стало понятно, что бот упирается в потолок. Переписка в чате плохо держит структуру, кнопки ограничены, навигация неудобная. Перешли на мини-апп. Это полноценный веб-интерфейс внутри Telegram и Max — свой дизайн, своя навигация, никаких ограничений мессенджерных UI. Пользователь получает привычное приложение, но открывает его прямо из чата, без установки. Сейчас 4 800+ отчётов, оценка 4.9. Поскольку изначально проект был реализован в PuzzleBot, то и выдумывать велосипед не стали, а просто вопользовались имеющимся функуционалом PuzzleBot в части мини приложений. Как выглядит продукт Пять экранов: главная, загрузка, отчёты, задачи, профиль. На экране загрузки — двухшаговая форма. Шаг 1: файл + контекст (жалобы, симптомы — необязательно). Шаг 2: пол, возраст, email. При повторном визите поля подтягиваются из профиля. После оплаты отчёт уходит в обработку. Страница опрашивает сервер — как только статус меняется, карточка вспыхивает анимацией и прилетает push в бота. Отчёт открывается прямо внутри мини-аппа или скачивается PDF. Статусов у отчет пять: Норма / Отклонения / Важно / В обработке / Ошибка — каждый своим цветом, чтобы без слов было понятно. Фича, которую не ждёшь от такого сервиса После получения отчёта AI составляет персональный план задач с датами: «Повторить ОАК через 4 недели», «Сдать липидный профиль через 3 месяца». Задачи живут в отдельном экране «Путь», группируются по срокам, есть прогресс-бар. И дальше автоматика: cron раз в сутки выбирает задачи с дедлайном «скоро», генерирует персональное письмо через Claude Haiku, отправляет через Unisender и дублирует push в бот. Как только задача отмечена выполненной — цепочка писем останавливается. Откуда берётся точность Модель — Claude, один из сильнейших LLM на рынке. Но сама по себе модель ничего не гарантирует. Всё решают промпты. Промты написал и поддерживает основатель сервиса Дмитрий Мещеряков — практикующий врач. Под каждый тип анализа свой промпт: биохимия, ОАК, гормоны, липидный профиль. Дмитрий разбирает пограничные случаи и корректирует формулировки и сами промты — это живой процесс, не разовая настройка. Отсюда и 98% точности на реальных бланках Инвитро, Гемотеста, KDL, Ситилаба и других лабораторий. Стек и пара нетривиальных решений По сути весь стек можно отнести к ноукоду или вайбкодингу, но с приставкой "осмысленный", потому как и PuzzleBot и n8n как раз и относятся к таковым. Итак..... Весь бэкенд — n8n self-hosted. Никакого своего сервера: приём файла, загрузка на Диск, генерация отчёта PDF и почта (2 скрипта которые не получилось без костылей реализовать на n8n, потому живут на vps, на том же где и n8n), PostgreSQL — всё workflow в n8n. MVP запустили за несколько недель. Два момента, которые съели время: 1. Robokassa игнорирует динамически переданный SuccessURL и всегда редиректит на статичный адрес из кабинета. Решили через Shp_-параметры: Robokassa гарантированно возвращает их без изменений, по ним и определяем платформу. 2. PuzzleBot полностью изолирует мини-апп от внешних URL-параметров. Нет способа передать данные в страницу через параметр ссылки — только через значение START_PAYLOAD целиком. Когда понадобилась привязка аккаунтов Telegram↔Max, реализовали запись user ID прямо в START_PAYLOAD с разделителем:......_id_ltg_123456789. Фронт парсит, через условие, х

