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

Вступление

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

И когда сторы окончательно забьются гига-мега-чад-аппами с миллиардом «нужных» функций, когда пользователи, тонущие в пушах, баннерах, геймификации и когнитивном шуме интерфейсов, поднимут взгляд и спросят:

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

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

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


Предыстория

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

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

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

Манифест CognifyTasks

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

  1. Концентрация важнее фич.
    Каждая кнопка — решение, а не аттракцион. Любая фича проходит фильтр: ускоряет путь «Мысль → Done?» Нет — значит не нужно.

  2. Ноль визуального мусора.
    Чёрно-белый интерфейс, крупная типографика, акцент на содержании. Анимации только там, где необходимо.

  3. Честная монетизация.
    База бесплатна. Премиум — это ИИ-генерация задач (в планах на ближайший крупный апдейт).

  4. Приватность без сказок.
    Минимум сбора данных. Тексты задач не уходят в облако, в Firebase сохраняется только техническая структура для синхронизации.

  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 дня ссылки стали работать как надо, после перехода по ней создавался аккаунт и происходила авторизация. Если пользователь уже установил приложение, то оно перехватывает ссылку, если нет, тогда апка открывается в браузере как web-приложение.

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-версия

  • Windows-версия

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


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

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

Приложение в Google Play:
https://play.google.com/store/apps/details?id=com.cognify.tasks

Сайт:
https://cognify-tasks.com/

Web-версия:
https://cognify-tasks.app/

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

Комментарии (17)


  1. ZudaR
    14.11.2025 05:18

    Уже на протяжении месяца занимаюсь примерно..... тем же самым!
    Но я для себя делаю и немного на другом стеке.


  1. CreoType94 Автор
    14.11.2025 05:18

    Коллеги, вижу, что статья воспринята неоднозначно — карма просела, а обратной связи нет.

    Буду благодарен за подсказки, что хотелось бы увидеть в таком материале.

    Не попал в формат? Много лирики? Мало технических деталей?

    Готов скорректировать и дополнить — особенно если интересны конкретные аспекты разработки.

    Направьте, пожалуйста, в какую сторону развивать продолжение — учту в следующем посте.


    1. Arhikast
      14.11.2025 05:18

      Мне кажется подобные статьи с вайбкодингом тут не в почете, хотя я в этом не вижу ничего такого, как по мне, статья хорошая.

      Я например, человек, крайне далекий от кода и всего что с этим связано, не мое, но подобные инструменты дают возможность таким людям, как то к этому прикоснуться. Недавно на работе был нестандартный кейс и вместо того чтобы платить деньги хрен пойми каким сервисам, запилили свой, с авторизацией через корпоративный тенант и все вот эти вытекающие. Если бы ни нейронки, я бы это в жизни не осилил.

      С другой стороны много тряски по поводу ии софта который выкладывают в открытый доступ и засирают им площадки, поэтому мне кажется и заминусовали.

      Но я в этом проблемы не вижу, в условиях рынка нужно уметь в конкуренцию, пусть даже если это ии слоп.


  1. MadMarakuya
    14.11.2025 05:18

    Во-первых, вы крутой! Очень! Воплотить в жизнь мечту это то, на что далеко не у каждого воли и терпения хватит. Респект!

    Поставила с гугл-плея, потыкала, несу порцию фидбека.

    1. Нравится. Минимализм и монофункциональность это ого!

    Но есть один нюанс. Поправьте, если ошибаюсь, но внутри приложения нет ни его названия, ни лого. Только на иконке название.

    Вот у меня открыто приложение. Я решила зайти в список приложений телефона, посмотреть, сколько оно весит и такая а... а как ты называешься? %)

    Чтобы запомнить новое название в этом мире инфошума, мне нужно как можно чаще видеть его перед глазами.

    2.Вопрос о приватности.

    Где хранятся списки задач пользователя? У вас на сервере или у него на телефоне? Если у вас на сервере, что с конфиденциальностью?..)

    Ответы на эти вопросы хочется видеть на сайте. Ну, и в приложении тоже.

    А то времена тревожные, все хотят накопить много данных и учить на них ИИ. А ещё все маркетологи хотят знать намерения всех людей. Пользователь имеет право знать: если он напишет в списке дел "выбрать гидравлический гайковёрт", будут за ним потом баннеры по всему интернету гоняться или нет?