Продуктовый дизайнер, Claude Code и месяц соло-разработки: что пришлось построить вокруг AI, чтобы проект не развалился
Я продуктовый дизайнер, больше шести лет делаю SaaS. Программировать умею, но фулстек-разработчиком себя не назову. Уже несколько месяцев я в одиночку делаю Котомку, планировщик жизни по методу PARA: сферы, проекты, задачи, календарь, привычки, финансы. Есть веб, мобильная версия, синхронизация между устройствами и с Google и Apple календарями. Почти весь код пишет Claude Code. Я ставлю задачи, проверяю результат и принимаю решения.
TypeScript: Как подобрать элегантный “костюмчик” из гардероба вашему коду используя паттерны: Стратегия и Фасад
Знаешь это чувство, когда открываешь свой шкаф и ничего не можешь найти, потому всё не на своих местах и нет никакой системы куда бы “подсунуть” новую покупку? Ты опаздываешь, нервничаешь, а вместо стильного образа на важную встречу собираешь какой-то винегрет из мятых вещей. В программировании бывает точно так же. Только вместо шкафа у нас код, а вместо одежды — куча условий if-else , нагроможденных друг на друга. Допустим, ты пилишь UI-компонент формы ввода. И у тебя есть набор флагов состояния: empty , info , warning и, не дай бог, error . Если писать «в лоб», код превращается в жуткого монстра, которого стыдно показать на код-ревью:
Сделал сыну тренажёр слепой печати, потому что существующие показались ему скучными
Этой осенью сын пошёл в пятый класс, и я заметил странную вещь: со смартфоном он на «ты», а за обычной клавиатурой теряется. Мы попробовали несколько тренажёров слепой печати, но ему быстро стало скучно — и я решил сделать свой. В итоге простая идея превратилась в React‑проект с анимированными руками, анализом слабых клавиш и персональными тренировками. Расскажу, как устроил логику, почему больше всего времени заняли руки и что показало тестирование на главном пользователе.
So this has been an issue years ago already and the problem still persists: if you're writing tests you have to patch onBeforeInput with the proprietary inputText event.
Just so that you can have onBeforeInput triggering in your tests to match browser behavior.
No wonder #React people rather just write their own API with onValue etc. instead of providing a native-like onChange and onInput.