Даниил Волков › volkovda
Боты, Mini App, сайты и игры — от идеи до деплоя
Рейтинг
62
№ 72 211 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Москва
На сайте с
2026 года
Юридический статус
Самозанятый

Romantik Klub — веб-сервис тестов с карточками для шеринга в Telegram: Next.js, PostgreSQL, ИИ-разбор скриншотов

Используемые навыки Docker Next.js PostgreSQL Typescript

Описание

С нуля сделать мобильный веб-сервис развлекательных тестов для девушек 16–30 лет, который растёт за счёт пересылки результатов в Telegram.

На входе — скриншоты профиля или экспресс-тест из 8 вопросов, на выходе — красивая карточка с архетипом, которую хочется переслать подруге. Результат должен быть стабильным, а сервис — работать даже когда лимит языковой модели исчерпан.

Решение

Сделал 11 механик на одном конвейере «профиль → четыре оси → карточка». Архетип и совместимость считаются формулой: одинаковые ответы всегда дают одинаковый результат. Модель нужна только для разбора скриншотов; если лимит исчерпан, вместо ошибки сразу открывается тест.

• Дизайн-система: токены, шрифты Unbounded + Onest, стикеры пяти цветовых семейств, контраст по WCAG AA.
• Контент: 32 архетипа, матрица совместимости 16×16, тексты для всех механик.
• Фронтенд: Next.js 16 (App Router, TypeScript strict, Tailwind v4), мобильная вёрстка.
• Бэкенд: единый API запуска механик, PostgreSQL + Prisma, суточная квота вызовов модели.
• Модели через Vercel AI SDK: Gemini и Groq с автопереключением и откатом на квиз.
• Серверный рендер карточек в PNG 1080×1920 для сторис (satori + resvg) с кэшем.
• Деплой: Docker Compose (Caddy + Next standalone + Postgres) на VPS, ночные бэкапы базы с копией на второй сервер.
• Тесты: 120 юнит-тестов Vitest и 15 сквозных сценариев Playwright.

Результат

Сервис работает на VPS (пока на техническом домене).

— 16 женских и 16 мужских архетипов, матрица совместимости 16×16.
— «Сравни со мной»: подруга по ссылке отвечает на вопросы и видит процент совместимости.
— Досье, красные флаги, вайб, батл, тир-лист, угадайка, прогноз.
— Без регистрации: «мой тип» запоминается в браузере.
— Если лимит модели исчерпан, пользователь не видит ошибку — сразу проходит тест.

Срок: 3 рабочих дня, около 8 200 строк TypeScript.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT PixelSoul — сайт игровых тестов, квизов и карточек для сторис на Next.js: 16 типов, RU/EN, вход через Steam
PixelSoul — сайт игровых тестов, квизов и карточек для сторис на Next.js: 16 типов, RU/EN, вход через Steam
21
Веб-разработка и IT CashMap — Telegram Mini App для учёта личных финансов с прогнозом накоплений на годы вперёд
CashMap — Telegram Mini App для учёта личных финансов с прогнозом накоплений на годы вперёд
28
Веб-разработка и IT WITHER: CLAY — пластилиновый шутер волн в стилистике stop-motion с разрушаемым окружением (itch.io)
WITHER: CLAY — пластилиновый шутер волн в стилистике stop-motion с разрушаемым окружением (itch.io)
21
Веб-разработка и IT «Четырнадцать дней с собой» — Telegram Mini App и бот для программы медитаций: диагностика, аудиоплеер, напоминания
«Четырнадцать дней с собой» — Telegram Mini App и бот для программы медитаций: диагностика, аудиоплеер, напоминания
19