Как дизайнер своё приложение навайбкодил

История о том, как одинокий UX/UI-дизайнер сделал Flutter приложение, прошёл огонь, воду, Drag’n Drop — и вышел в релиз.

Вступление

Этот рынок приложений боится меня. Я видел его истинное лицо: приложения-комбайны, экраны-свалки из кнопок, чекбоксов, календарей, виджетов и «умных» фич.

И когда сторы окончательно забьются гига-мега-чад-аппами с миллиардом «нужных» функций, когда пользователи, тонущие в пушах, баннерах, геймификации и когнитивном шуме интерфейсов, поднимут взгляд и спросят: «А можно просто список дел?», а маркетологи скажут: «Эх ретрограды. Вот — будущее. Привыкайте и наслаждайтесь», я посмотрю на них и отвечу: «НЕТ».

Как дизайнер своё приложение навайбкодил

Приветствую. Меня зовут Иван.Днём я обычный Head of Design в крупной компании: распределяю нагрузку команды, планирую занятость, отвечаю за стандарты, методологию и процессы, рисую интерфейсы, провожу исследования и всеми силами пытаюсь вывести корпоративный UX/UI на максимальный уровень.

Но по ночам, я надеваю трико, открываю Cursor, Codex и ChatGPT, чтобы реализовать давнюю мечту — сделать собственное идеальное приложение.

Предыстория

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

Но как быть если из навыков у меня была только база в UX/UI и базовое понимание HTML/CSS? Казалось: без команды это просто неподъёмно. Я нашёл разработчика на Flutter и менеджера, готового помочь организационно. Договорились на процент с будущих доходов. Все вдохновились и загорелись, это было похоже на начало маленького стартапа.

Идея была простой: минималистичный таск-трекер на каждый день, свободный от мусора и «передоза фичами». Основным аналогом/референсом я выбрал Any.do — давно им пользовался и точно понимал, что там хорошо, а что хотелось бы сделать иначе.

Манифест CognifyTasks

Чтобы зафиксировать позиционирование, я оформил для себя короткий манифест:

  1. Концентрация важнее фич. Каждая кнопка — решение, а не аттракцион. Любая фича проходит фильтр: «Ускоряет путь мысль → выполнение?»
  2. Ноль визуального мусора. Чёрно-белый интерфейс, крупная типографика, акцент на содержании.
  3. Честная монетизация. База бесплатна. Премиум — это ИИ-генерация задач (в планах на ближайший крупный апдейт).
  4. Приватность без сказок. Минимум сбора данных.
  5. Скорость и надёжность как религия. Идеальные FPS, мгновенные действия, офлайн-устойчивость.
  6. Кроссплатформенность без компромиссов. Android + Web. iOS в планах.
  7. Открытая разработка и быстрые фиксы.
  8. Доступность по умолчанию.

Когда макеты и сценарии были готовы, я передал всё команде… и стал ждать.

Неделя.Вторая.Третья.Месяц.

Прогресс — ноль.

Так я усвоил первый урок: работа за процент никому не интересна. Моя мечта — это только моя мечта.

Одинокий самурай начинает путь

Как дизайнер своё приложение навайбкодил

Хип-хоп погромче и поехали. Я понял: если хочу, чтобы приложение существовало — придётся делать его самому. Но как?

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

Второе — лоу-код. Я перебрал платформы и остановился на FlutterFlow: интерфейс приятный, логика с нодами понятная, а самое главное — Flutter идеален для кроссплатформенности. Казалось, что выбор сделан.

И сначала всё шло отлично. Я учился быстро, делал прототипы, смотрел гайды. Пока не наступил он — Drag’n Drop.

После сотой попытки реализовать плавный DnD стало понятно:я упёрся в потолок FlutterFlow. Гайдов нет, документация поверхностная, тикет мой в их дискорд канале мёртв. Это был конец плана Б.

Поиск решения

Я решил идти ва-банк и купил курс по Flutter/Dart на Udemy. И выяснил вторую истину: Учить теорию — адски скучно. Учиться нужно на практике.

Но даже начав писать что-то вручную, я понимал, что это будет слишком долго. И тут снова всплыла история о Cursor — IDE с интегрированным ИИ.

Скачал. Открыл.И через 20 минут у меня уже был первый движущийся прототип.

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

Но остались самые сложные блоки:

  1. Серверная часть, хостинг, веб.
  2. Авторизация.
  3. И конечно — 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.

Так сформировался мой идеальный пайплайн:

  1. Груминг идеи в ChatGPT. Исследование, варианты, анализ решений других продуктов.
  2. ChatGPT пишет промт для Codex — без конкретного кода, только контекст и требования.
  3. Codex генерирует DIFF-патчи.
  4. Я внедряю их и прошу Codex поправить линтер-ошибки.
  5. При необходимости — тюнинг вручную с помощью Cursor.

Точность решения задач — около 80%.Остальное — ручная магия и опыт.

Итог: маленькая мечта, большой путь

Несколько дней назад моё приложение прошло модерацию в Google Play и теперь находится в открытом доступе. Пока что оно не имеет полного набора функций который я хотел бы там видеть, но имеющаяся основа на мой взгляд превосходна.

Это не просто таск-трекер. Это — проект-инициация, переход на новый уровень самостоятельности и технологического мышления.

CognifyTasks сегодня:

  • полноценная Android-версия
  • готовая Web-версия
  • плавный и надёжный Drag’n Drop
  • авторизация Google + email-link
  • кроссплатформенность
  • чистый минималистичный UI
  • офлайн-устойчивость
  • высокая производительность

CognifyTasks завтра:

  • Desktop-режим
  • iOS-версия
  • ИИ-ассистент, который принимает текст/голос и генерирует задачи, подзадачи, таймеры, дедлайны
  • умная аналитика рутинных паттернов
  • открытая разработка, короткие спринты, быстрые фиксы

Я не знаю, станет ли приложение популярным. Но я точно знаю: я сделал то, что год назад считал невозможным. И если кто-то после этой истории тоже попробует реализовать свою идею — значит, эта статья писалась не зря.

Если заинтересовались:

Буду рад вашему фидбеку, комментариям и предложениям по улучшению CognifyTasks.

Телеграм-канал с новостями и фидбеком:
https://t.me/cognifytasks