Понад п’ять років тому я запустив Aggregate — платформу для спільного збору RSS-фідів. Користувачі пропонували цікавий контент з усієї мережі, який збирався в один великий потік. З часом цей проєкт став для мене головним джерелом новин про те, що відбувається навколо.
Проте останній рік був складним. Я хотів покращити UX, щоб полегшити модерацію, але не мав бажання повертатися до старого коду. Коли я починав проєкт, то обрав Laravel. Протягом років мені було дедалі важче підтримувати оновлення мажорних версій, а постійні зміни у frontend-стеках лякали ще більше. Оскільки я прагнув саме інтерфейсних покращень, зрештою я просто закинув модерацію. Проєкт почав повільно згасати. Я вірив у саму ідею, але «протухання» коду (code rot) виглядало надто гнітючим.
Усе змінилося тиждень тому, коли я переглянув свої impact charts. Aggregate завжди приносив користь, і мені стало шкода його втрачати. Водночас мотивації працювати із застарілим Laravel-проєктом не було. Тоді я вирішив скористатися власним фреймворком — Tempest. Хоча він ще не має повного набору функцій, його можливостей цілком достатньо для проєкту такого масштабу. Реліз Tempest 2.0 став ідеальним приводом «створити щось нове».
Так з’явився новий стимул: протестувати Tempest 2.0 (і, ймовірно, знайти пару багів) та переписати Aggregate з нуля. Я прибрав зайві нішеві функції, які не довели своєї цінності. Також я повністю оновив frontend: додав HTMX та значно спростив робочий процес модерації.
І знаєте що? Завдяки лаконічному коду та покращеному UX до мене повернулося бажання працювати. Зараз я розбираю бекліг із 2000 дописів, що накопичилися за рік, і знаходжу там багато цікавого контенту.
Я пишу цей допис із двох причин. По-перше, Aggregate знову активний! Завітайте на aggregate.stitcher.io, підписуйтеся на RSS та пропонуйте власні посилання для нашого списку.
По-друге, мене вразило, як звичайний рефакторинг може так сильно вплинути на ставлення до проєкту загалом. А що мотивує вас? Буду радий дізнатися вашу думку!