Ты используешь чужой open-source ровно до тех пор,
пока не становится дешевле написать свой, Или как появился Blok
Привет, это Frontend Engineer Женя Пятков!
Ранее я уже писал о мифах про вайбкодинг и какой базовый минимум нужен, чтобы начать. Сегодня расскажу про текстовый редактор, написанный мной с помощью LLM.
Когда отключили Notion, мы переехали в build.in. Сотрудники тут же взвыли по двум причинам:
1. плохо работает редактор;
2. плохо работает поиск.
И с той же самой ситуацией мы столкнулись с нашей внутренней Базой Знаний, которую используют партнёры и пиццерии. У неё 30 000+ ежемесячных пользователей (в пиццериях по всему миру работает более 50 000 сотрудников). Им важно иметь к ней быстрый и удобный доступ, так как от этого зависит опыт посетителя пиццерии.
🟠Может быть, мы бы и не парились по поводу редактора, но с приходом новой Базы Знаний количество людей, которые могут писать статьи, кратно увеличилось за счёт того, что мы позволили партнёрам и пиццериям заводить свои собственные пространства, а следовательно, для них нужен классный UX.
🟠Изначально не было планов писать что-то своё. Мы использовали EditorJS, но час пробил, когда мы встретили проблему, которую нельзя было решить снаружи. Тогда я взял этот прекрасный визуальный редактор, который, увы, в своём развитии остановился где-то в 2018-м году, где было приемлемо иметь средненький UX, плохую документацию и не предоставлять нормальные базовые блоки, и приблизил его к уровню Notion — так родился Blok.
Идея была грандиозной и дерзкой, у меня не было уверенности, что это сработает (ведь я никогда не писал свои редакторы, тем более такие сложные).
🍕 Но в Dodo, если ты хочешь создать что-то безумно сложное, но при этом и настолько же полезное, то зачастую тебе просто нужно доказать, что ты вывезешь. Я так и сделал: за две недели собрал MVP, рассказал о нём команде и получил зелёный свет.
Blok призван решить проблемы EditorJS и стать тем самым визуальным open-source редактором, который все ищут. Уже сейчас в нём исправлены многие баги и проблемы безопасности, повышена стабильность и тестируемость редактора, добавлены блоки, полностью имитирующие списки и таблицы из Notion, а также появилась возможность перетаскивать блоки с помощью drag&drop! При разработке я подключил все свои UX-скиллы, чтобы вы могли просто добавить редактор в свой проект, вместо того, чтобы ломать голову, как починить его снаружи.
Забавно, что ещё до всех анонсов репозиторию поставил звёздочку один из core-мэйнтейнеров Summernote — редактора, из-за которого и появился Blok. Ещё до того, как я попал в Додо, ребята затащили в Базу знаний Summernote, и он настолько не подходил для создания сложных статей, что первое же, что мы сделали при планировании обновления Базы знаний, — начали искать новую основу для редактора, которой стал EditorJS.
И, конечно же, такой проект раньше был невозможен в одиночку (тем более в такие короткие сроки), но с приходом LLM игра перевернулась, и теперь, обладая необходимым набором навыков, можно заменить целую команду разработчиков. Так что все 350 000+ строк кода, которые потребовались для реализации Blok, были на 100% сгенерированы моделями. По пути я ещё глубже, чем прежде, погрузился в agentic engineering, и помимо ускорения своей работы, приобрёл ещё и пачку полезных навыков, которые позволили мне создавать более сложные интерфейсы.
Post #1718
1.56K

- 🔥 24
- ❤ 8
- 👏 4
- 👍 3