🧭 Personality Compass — это offline-first приложение для самопознания с 454 вопросами по трем психологическим моделям. Оно генерирует профессиональные PDF-отчеты, работает 100% оффлайн и не собирает никаких данных. Вот история его создания.
🧠 Проблема, которую я хотел решить
Я всегда интересовался психологией личности — Эннеаграммой, Big Five и другими моделями. Но меня постоянно раздражали две вещи:
- Проблемы приватности: Большинство тестов отправляют ваши ответы на серверы. Мои данные, мои размышления — почему они должны покидать мой телефон?
- Глубина против доступности: Бесплатные тесты часто поверхностны (10-20 вопросов). Качественные тесты стоят денег или требуют интернета.
Поэтому я решил создать свое собственное решение. Такое, которое работает 100% оффлайн, хранит все данные на устройстве и предлагает настоящую глубину — 454 вопроса, полностью бесплатно.
🏗️ Приложение в цифрах
| Характеристика | Детали |
|---|---|
| Платформа | Flutter / Dart |
| Архитектура | Offline-first, только локальные данные |
| Языки | Английский, русский, эстонский (полная локализация) |
| Всего вопросов | 454 во всех тестах |
| Тесты | MindPath 16 (80/20 вопросов), MindPath 5D (120/20 вопросов), Эннеаграмма (254/81 вопросов) |
| PDF-отчеты | Профессиональная выгрузка с графиками, цветами и инсайтами |
| Хранение | Все результаты сохраняются локально, нет облака, нет регистрации |
🔧 Технический разбор
Структура проекта
├── components/ - Переиспользуемые UI компоненты
│ └── enneagram/
│ ├── cards/ - Карточки для отображения результатов эннеаграммы
│ │ ├── action_buttons.dart - Кнопки действий (PDF, история)
│ │ ├── arrows_card.dart - Карточка стрелок развития
│ │ ├── career_card.dart - Карьерные аспекты
│ │ ├── development_card.dart - Личностное развитие
│ │ ├── interactive_chart_card.dart - Интерактивная диаграмма
│ │ └── type_card.dart - Основной тип эннеаграммы
│ └── charts/
│ └── interactive_enneagram_chart.dart - Интерактивная визуализация
├── constants/ - Константы и конфигурации
├── l10n/ - Локализация
├── models/ - Модели данных (19 файлов)
├── screens/ - Виджеты экранов (18 экранов)
├── services/ - Бизнес-логика и обработка данных
├── utils/ - Вспомогательные утилиты
│ ├── enneagram_complete_pdf/ - Генерация PDF
│ │ ├── sections/ - 10 секций PDF-отчета
│ │ └── widgets/ - PDF-виджеты
│ └── pdf_exporter.dart - Утилиты для генерации PDF
📁 assets/
├── content/
│ ├── enneagram/ - Контент эннеаграммы на 3 языках
│ │ ├── descriptions/ - 8 категорий описаний
│ │ └── questions/ - 3 набора вопросов (всего 254)
│ ├── interpretations/ - Интерпретации результатов
│ └── mindpath/ - Вопросы MindPath 16/5D
└── lang/ - Файлы локализации (en.json, et.json, ru.json)
core_descriptions_en.dat, core_descriptions_ru.dat и т.д.
Ключевые технические вызовы и их решения
1. Генерация PDF с графикой на 100% оффлайн
Самая сложная техническая задача: генерация профессиональных PDF-отчетов с интерактивными графиками полностью без интернета.
Решение:
- Использовал RepaintBoundary + PictureRecorder для захвата виджетов как изображений
- Реализовал механизмы fallback с кастомным Painter, когда скриншот не удается
- Создал адаптивные таймауты (до 3000 мс) для разных устройств
- Сделал модульные секции PDF — каждая часть отчета (обложка, график, стрелки, карьера) отдельный виджет
2. Создание оригинальных психологических моделей
Я хотел глубину комплексных моделей личности, но столкнулся с двумя проблемами: вопросы приватности (большинство тестов отправляют данные на серверы) и ограничения торговых марок. Поэтому я создал свои собственные модели:
- MindPath 16: 16-типная модель, анализирующая когнитивные предпочтения
- MindPath 5D: 5-мерная оценка черт личности
Обе модели полностью оригинальны, работают 100% оффлайн и свободны от каких-либо ограничений интеллектуальной собственности третьих сторон.
3. Полная Эннеаграмма (254 вопроса!)
Большинство бесплатных тестов эннеаграммы определяют ваш тип за 5 минут. Но настоящая работа с эннеаграммой включает крылья, подтипы и уровни развития.
Реализация:
- Определение основного типа (108 вопросов в 12 группах)
- Оценка подтипов (54 вопроса, sp/so/sx)
- Уровни развития (162 утверждения)
- Всего: 254 вопроса — один из самых полных бесплатных тестов эннеаграммы
4. Интерактивный график эннеаграммы с "умными" стрелками
Диаграмма эннеаграммы показывает 9 точек с соединительными стрелками. Я хотел сделать ее контекстно-зависимой:
- По умолчанию: показывает только стрелки развития для вашего типа (снижая когнитивную нагрузку)
- По нажатию: показывает стрелки для любого выбранного типа
- Автоматически возвращается к вашему типу через 5 секунд (баланс между исследованием и фокусом)
Этот цикл "интерактивность → PDF" гарантирует, что пользователи видят ту же визуализацию в отчетах, что и в приложении.
🎨 Дизайн-система и консистентность
Я создал централизованную систему стилей (EnneagramCardStyles), которая обеспечивает визуальную консистентность на всех экранах и в PDF-отчетах:
Каждый тип эннеаграммы имеет свой цветовой профиль, который последовательно применяется в интерфейсе, настройках и PDF-экспорте.
🧪 Тестирование и надежность
Модульные тесты обеспечивают точность психологических расчетов:
- MindPath 16/5D: проверка короткой и полной версий
- Эннеаграмма: определение типа (1-9), крылья, подтипы (sp/so/sx), уровни развития (1-9)
- Все тесты запускаются на реальных данных из assets/
📊 В цифрах
📱 Что получают пользователи
- Полная приватность: Нет интернета, нет сбора данных, нет регистрации
- Реальная глубина: Полные версии тестов (80-254 вопросов) или быстрые версии (20 вопросов)
- Красивые PDF-отчеты: Делитесь с коучами, терапевтами или сохраняйте для саморефлексии
- Личный дневник: Отслеживайте свой путь роста с напоминаниями
- Полностью бесплатно: Никаких платных подписок и paywall
🚀 Что дальше?
Архитектура готова для комбинированных отчетов — кросс-анализа результатов MindPath 16, MindPath 5D и Эннеаграммы в едином PDF "Personality Compass". IntegrationEngine уже на месте, ждет наполнения.
💡 Уроки, которые я извлек
- Offline-first — это сложно, но оно того стоит. Пользователи ценят приватность больше, чем мы думаем.
- Стройте модульно с первого дня. Моя модульная архитектура PDF сэкономила мне недели при добавлении новых функций.
- Не позволяйте торговым маркам себя ограничивать. Можно создавать оригинальные модели с той же глубиной — просто сделайте эту работу.
- TDD спасает рассудок. Модульные тесты отловили бесчисленное количество ошибок в подсчетах.
📬 Поделитесь своим мнением
Мне очень важно ваше мнение! Если у вас есть вопросы о разработке, предложения по новым функциям или вы просто хотите поделиться опытом использования приложения — вот как со мной связаться:
💬 Вопросы к сообществу:
- Вы создавали offline-first приложения? С какими вызовами столкнулись?
- Использовали бы вы такой инструмент для тимбилдинга, коучинга или личного роста?
- Насколько важна для вас приватность при прохождении тестов личности?
Делитесь мыслями по email или в LinkedIn — я читаю и отвечаю на каждое сообщение!
🔗 Скачать Personality Compass
Попробуйте Personality Compass сегодня
Узнайте свой тип личности с 454 вопросами по 3 психологическим моделям. 100% оффлайн, полная приватность, профессиональные PDF-отчеты.
Скачать сейчас