К кейсам
Проект: Danskertesten Год: 2025–2026 Роль: Full-stack разработчик, продакт

Danskertesten — платформа для подготовки к экзамену на гражданство Дании

От личного тренажёра до полноценной EdTech-платформы с AI-интервью, геймификацией и платёжной системой

Предыстория

Я живу в Дании по визе воссоединения семьи. Для постоянного вида на жительство и гражданства нужно сдать Indfødsretsprøven — экзамен из 40 вопросов на знание датской истории, культуры, общества и политики. База — более 400 официальных тем, от Конституции 1849 года до современных реформ.

Подготовка — зубрёжка по скучным PDF-спискам. Ни один существующий тренажёр не подходил мне по качеству: устаревшие вопросы, кривой мобильный дизайн, никакой адаптации под слабые места. Решил сделать свой.

Проблема

Экзамен на гражданство Дании — это 40 вопросов из обширной базы. Без систематической подготовки шансы невелики.

Существующие решения страдали от одного и того же:

Эволюция: от скрипта до продукта

Начало — личный инструмент
Простой HTML/JS тренажёр для себя. Случайные вопросы, проверка ответов, LocalStorage для прогресса. Работал, но не масштабировался.
Перезапуск — полноценный стек
Понял, что хочу сделать настоящий продукт. Переписал на Next.js + TypeScript. Добавил Supabase для аутентификации и хранения прогресса в облаке. Мобильный-first дизайн на Tailwind.
AI-интервью
Интеграция OpenAI SDK — режим «интервью», где AI задаёт уточняющие вопросы по темам экзамена. Не просто тест, а разговор, который закрепляет знания.
Монетизация и рост
Stripe для премиум-доступа. Геймификация — достижения, бейджи, прогресс-бары. i18n на три языка (датский, английский, русский). PWA для оффлайн-доступа.

Решение

Не просто тренажёр — экосистема подготовки. Тесты, флеш-карты, AI-интервью, аналитика прогресса, симуляция экзамена. Всё в одном месте, адаптированное под каждого пользователя.

Ключевые фичи

🎯

Симуляция экзамена

40 вопросов, 45 минут, мгновенный результат. Формат один-в-один с настоящим Indfødsretsprøven.

🤖

AI-интервью

Разговорный режим на базе OpenAI — AI задаёт уточняющие вопросы, объясняет контекст, закрепляет слабые темы.

🃏

Флеш-карты

Интервальное повторение с адаптивным алгоритмом — сложные темы возвращаются чаще.

📊

Дашборд

Визуализация прогресса: готовность к экзамену, слабые категории, история сессий, ошибки для повторения.

🏆

Геймификация

Достижения, бейджи, streak-система. Мотивация через прогресс, а не через страх перед экзаменом.

📰

Текущие события

Виджет новостей по темам экзамена — следить за тем, что может попасться на тесте.

Архитектура

Frontend Next.js 14 (App Router) · React 18 · TypeScript · Tailwind CSS 4 · Radix UI · Framer Motion
Backend Supabase (PostgreSQL + Auth + Row Level Security) · API Routes · Stripe (платежи)
AI OpenAI SDK · Vercel AI SDK · Streaming responses · Контекстные интервью
Инфра Docker · Vercel · next-intl (3 языка) · PWA · MDX-контент

Стек

Next.js 14 TypeScript Supabase OpenAI React 18 Tailwind CSS Radix UI Stripe Framer Motion Three.js Recharts / Nivo next-intl Docker Vercel AI SDK Vitest PWA MDX

Результаты

450+ Вопросов в базе
3 Языка (DA / EN / RU)
AI Режим интервью с OpenAI
24/7 Доступ бесплатно

Платформа запущена и работает на danskertesten.dk. Помогла уже нескольким знакомым успешно сдать экзамен — без месяцев зубрёжки, благодаря систематичной подготовке с адаптивным алгоритмом.

Что я узнал

Начинай с проблемы, не со стека. Первый прототип на чистом JS был правильным решением для验证 гипотезы. Переписать на Next.js стоило только тогда, когда стало понятно, что из личного инструмента вырастает продукт.

Supabase — это ускоритель. Auth, база, RLS-политики, realtime — всё из коробки. Не нужно городить микросервисы для проекта такого масштаба.

AI должен дополнять, а не заменять. AI-интервью — не чатбот-помощник, а методика обучения. Каждый промпт заточен под конкретную тему экзамена. Контекст важнее модели.

Геймификация работает, но только если честная. Бейджи и streak-система мотивируют, только если они отражают реальный прогресс. Фейковые достижения убивают доверие.

Хотите посмотреть вживую?

Платформа доступна бесплатно. Или напишите, если хотите обсудить похожий проект.

Открыть проект Обсудить разработку