← На главную

Создал HabitTed, утонул в багах: навыки не прокачал, сеньоры закипают

24.07.2026 12:00 · hackernews

Автор с женой перепробовали десятки трекеров привычек из App Store, но ни один не закрывал их запросы. Нужен был единый длинный список без листания страниц, только локальное хранение данных, поддержка gen-emojis из iOS 18 для кастомных иконок, гибкая настройка целей на день/неделю/месяц, возможность просто считать случаи без нормы (у жены болит голова — надо фиксировать факт), заметки к выполнению и напоминания. Бесплатный Streaks загонял привычки на отдельные экраны, не давал ставить свои иконки, не умел считать вхождения без цели и отключать streaks. HabitKit просил £1.99/мес или £11.99/год (лайфтайм за £29.99), а Grit оказался ещё дороже: £9.99/мес, £29.99/год или £44.99 навсегда. Плодить новые подписки не хотелось, и автор решил сделать свой трекер с помощью AI.

Проект HabitTed запустили в марте прошлого года. Swift был незнаком, но у Cursor имелись бесплатные кредиты, так что работу разбили на мелкие задачи и гоняли всё вручную с проверкой в XCode — за пару месяцев до выхода Claude Code ни о какой агентной магии речи не шло. Через шесть часов получился прототип: создание привычки с кастомной иконкой, отметка выполнения, разные варианты целей и даже iCloud-синхронизация. Удовольствия это не принесло.

Код внутри был откровенным мусором: вьюшки раздувались почти до тысячи строк, XCode ругался, стили одинаковых кнопок дублировались и отличались. Пришлось всё рефакторить самому — дробить на компоненты короче сотни строк и наводить порядок. Тут же посыпались настоящие баги: iCloud на деле не работал — при переустановке данные пропадали. Стоило накопить много завершений, как детальная статистика начинала тормозить, потому что пересчитывалась по всем записям каждый раз. Автор перенёс расчёт на момент выполнения привычки, но сразу упёрся в путаную модель данных с невразумительными именами — пришлось городить миграцию схемы. Позже добавил напоминания и недостающие режимы целей.

Затем вышел глючный iOS 26. Включение reduce transparency в доступности превращало заголовок в белый текст на белом фоне — прочитать что-либо было невозможно. AI оказался бесполезен: он просто отказывался признавать, что iOS 26 вообще существует, ссылаясь на более старые версии. Проблему удалось обойти по блогам других разработчиков, а баг прозрачности Apple починила только в 26.1.

После долгих месяцев разработки и ещё более долгого тестирования HabitTed добрался до App Store. До шести привычек — бесплатно, разблокировка всего стоит чашку кофе. Автор признаёт: без AI он бы, скорее всего, не начал проект. Но если бы не использовал AI совсем, научился бы куда большему и не убил бы месяцы на вычистку сгенерированных «помоев». AI легко выдаёт 80% функционала, но оставшиеся 20% сжирают 80% времени — или больше, если не понимаешь, что под капотом. Сейчас AI мощнее, но дороже, а главное — он не качает ваши собственные навыки. Джуниоров не нанимают, потому что компании работают сеньорами с AI. Одни сеньоры незаметно теряют способность писать код, как лягушка в закипающей воде, другие выгорают от бесконечных промптов. Если AI-пузырь лопнет, разработчиков, готовых и способных разобрать завалы, останется критически мало.

Читать оригинал →