Как дизайнер своё приложение навайбкодил
История о том, как одинокий UX/UI-дизайнер сделал Flutter приложение, прошёл огонь, воду, Drag’n Drop — и вышел в релиз.
Вступление
Этот рынок приложений боится меня. Я видел его истинное лицо: приложения-комбайны, экраны-свалки из кнопок, чекбоксов, календарей, виджетов и «умных» фич.
И когда сторы окончательно забьются гига-мега-чад-аппами с миллиардом «нужных» функций, когда пользователи, тонущие в пушах, баннерах, геймификации и когнитивном шуме интерфейсов, поднимут взгляд и спросят: «А можно просто список дел?», а маркетологи скажут: «Эх ретрограды. Вот — будущее. Привыкайте и наслаждайтесь», я посмотрю на них и отвечу: «НЕТ».
Приветствую. Меня зовут Иван.Днём я обычный Head of Design в крупной компании: распределяю нагрузку команды, планирую занятость, отвечаю за стандарты, методологию и процессы, рисую интерфейсы, провожу исследования и всеми силами пытаюсь вывести корпоративный UX/UI на максимальный уровень.
Но по ночам, я надеваю трико, открываю Cursor, Codex и ChatGPT, чтобы реализовать давнюю мечту — сделать собственное идеальное приложение.
Предыстория
Год назад я впервые всерьёз решил: пора. Пора сделать что-то своё — приложение, где юзабилити и юзероцентричность не маркетинговые ярлыки и ширма для прикрытия диктата инженеров, а реальный фундамент.
Но как быть если из навыков у меня была только база в UX/UI и базовое понимание HTML/CSS? Казалось: без команды это просто неподъёмно. Я нашёл разработчика на Flutter и менеджера, готового помочь организационно. Договорились на процент с будущих доходов. Все вдохновились и загорелись, это было похоже на начало маленького стартапа.
Идея была простой: минималистичный таск-трекер на каждый день, свободный от мусора и «передоза фичами». Основным аналогом/референсом я выбрал Any.do — давно им пользовался и точно понимал, что там хорошо, а что хотелось бы сделать иначе.
Манифест CognifyTasks
Чтобы зафиксировать позиционирование, я оформил для себя короткий манифест:
- Концентрация важнее фич. Каждая кнопка — решение, а не аттракцион. Любая фича проходит фильтр: «Ускоряет путь мысль → выполнение?»
- Ноль визуального мусора. Чёрно-белый интерфейс, крупная типографика, акцент на содержании.
- Честная монетизация. База бесплатна. Премиум — это ИИ-генерация задач (в планах на ближайший крупный апдейт).
- Приватность без сказок. Минимум сбора данных.
- Скорость и надёжность как религия. Идеальные FPS, мгновенные действия, офлайн-устойчивость.
- Кроссплатформенность без компромиссов. Android + Web. iOS в планах.
- Открытая разработка и быстрые фиксы.
- Доступность по умолчанию.
Когда макеты и сценарии были готовы, я передал всё команде… и стал ждать.
Неделя.Вторая.Третья.Месяц.
Прогресс — ноль.
Так я усвоил первый урок: работа за процент никому не интересна. Моя мечта — это только моя мечта.
Одинокий самурай начинает путь
Хип-хоп погромче и поехали. Я понял: если хочу, чтобы приложение существовало — придётся делать его самому. Но как?
Первое логичное решение — выучить язык программирования. Но с работой, подработками и семьёй это казалось невозможным.
Второе — лоу-код. Я перебрал платформы и остановился на FlutterFlow: интерфейс приятный, логика с нодами понятная, а самое главное — Flutter идеален для кроссплатформенности. Казалось, что выбор сделан.
И сначала всё шло отлично. Я учился быстро, делал прототипы, смотрел гайды. Пока не наступил он — Drag’n Drop.
После сотой попытки реализовать плавный DnD стало понятно:я упёрся в потолок FlutterFlow. Гайдов нет, документация поверхностная, тикет мой в их дискорд канале мёртв. Это был конец плана Б.
Поиск решения
Я решил идти ва-банк и купил курс по Flutter/Dart на Udemy. И выяснил вторую истину: Учить теорию — адски скучно. Учиться нужно на практике.
Но даже начав писать что-то вручную, я понимал, что это будет слишком долго. И тут снова всплыла история о Cursor — IDE с интегрированным ИИ.
Скачал. Открыл.И через 20 минут у меня уже был первый движущийся прототип.
Восторг был настолько сильным, что я ушёл в многочасовой запой продуктивности — и к утру получил рабочую основу: задачи создавались, редактировались, меню открывалось, экраны переключались.
Но остались самые сложные блоки:
- Серверная часть, хостинг, веб.
- Авторизация.
- И конечно — Drag’n Drop.
Firebase, авторизация и первый настоящий тупик
Я выбрал Firebase — максимально простой вход.
Хостинг и веб-деплой заняли около часа.
Google-авторизация — 10 минут.
Но вход без пароля упёрся в загадочную проблему: ссылки из письма не открывались в приложении. Cursor ломал голову, я ломал голову…
И вот тут родился третий урок:
Для разных задач нужны разные инструменты.
Я упаковал проект в ChatGPT Projects — и впервые почувствовал мощь фокусированного анализа. ChatGPT раскопал баги, предложил цепочку исправлений, объяснил причину, и спустя 2–3 дня варианты заработали.
Drag’n Drop — мой личный криптонит
Гладкий DnD был главной фичей приложения — и главным адом разработки.
Cursor выдавал либо слишком грубые решения, либо корявые аналоги FlutterFlow.
Я полез в исследования и обнаружил четвёртый урок:
Сторонние библиотеки — это балдёж. Писать DnD вручную можно до старости.
Я наткнулся на ImplicitlyAnimatedReorderableList — и понял: вот оно.Гладко, стабильно, красиво, идеально. Пара часов доработок — и DnD заработал именно так, как я мечтал.
Идеальный метод
Дальше я несколько месяцев доводил приложение: тёмная/светлая тема, онбординг, статистика, поведение для edge-кейсов, оптимизации анимаций. Работал по вечерам и ночам.
Параллельно появился Codex. В интернете ругали, но я попробовал — и удивился: в ряде задач Codex давал точные решения быстрее, чем Cursor.
Так сформировался мой идеальный пайплайн:
- Груминг идеи в ChatGPT. Исследование, варианты, анализ решений других продуктов.
- ChatGPT пишет промт для Codex — без конкретного кода, только контекст и требования.
- Codex генерирует DIFF-патчи.
- Я внедряю их и прошу Codex поправить линтер-ошибки.
- При необходимости — тюнинг вручную с помощью Cursor.
Точность решения задач — около 80%.Остальное — ручная магия и опыт.
Итог: маленькая мечта, большой путь
Несколько дней назад моё приложение прошло модерацию в Google Play и теперь находится в открытом доступе. Пока что оно не имеет полного набора функций который я хотел бы там видеть, но имеющаяся основа на мой взгляд превосходна.
Это не просто таск-трекер. Это — проект-инициация, переход на новый уровень самостоятельности и технологического мышления.
CognifyTasks сегодня:
- полноценная Android-версия
- готовая Web-версия
- плавный и надёжный Drag’n Drop
- авторизация Google + email-link
- кроссплатформенность
- чистый минималистичный UI
- офлайн-устойчивость
- высокая производительность
CognifyTasks завтра:
- Desktop-режим
- iOS-версия
- ИИ-ассистент, который принимает текст/голос и генерирует задачи, подзадачи, таймеры, дедлайны
- умная аналитика рутинных паттернов
- открытая разработка, короткие спринты, быстрые фиксы
Я не знаю, станет ли приложение популярным. Но я точно знаю: я сделал то, что год назад считал невозможным. И если кто-то после этой истории тоже попробует реализовать свою идею — значит, эта статья писалась не зря.
Если заинтересовались:
Буду рад вашему фидбеку, комментариям и предложениям по улучшению CognifyTasks.
Приложение в Google Play:
https://play.google.com/store/apps/details?id=com.cognify.tasks
Web-версия:
https://cognify-tasks.app/
Телеграм-канал с новостями и фидбеком:
https://t.me/cognifytasks