Технологии

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

История о том, как одинокий 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 Сайт: https://cognify-tasks.com/ Web-версия: https://cognify-tasks.app/ Телеграм-канал с новостями и фидбеком: https://t.me/cognifytasks

Фильтры и сортировка