
Привет! Меня зовут Владимир и я создатель МояДоска. Сегодня я поделюсь историей о том почему я решил создать доску, как я ее написал... и переписал, а потом выпустил ее в свет, взял первое место на ProductRadar, набрал тысячи пользователей, и вошел в реестр Российского ПО, а потом...
Содержание, погнали!
Как все началось
Разработка: написал и переписал
Выход в свет
Что сейчас есть и что дальше?
Какие выводы я сделал
Благодарности
Как началось
15 августа 2024 года замечательная преподаватель английского языка Евгения с которой я много общался, и которая стала одной из первых (если не первой) пользователей МояДоска, рассказала мне про то что внезапно какое‑то (неизвестное мне) «Миро» уходит с Российского рынка.

Я посмотрел что это такое и пришел к умозаключению к которому приходит большинство людей впервые слышащие про онлайн‑доски: «Какая ерунда — можно ж на листочке писать». Однако мне очень красочно рассказали про то насколько доска miro значима (повторю: я на тот момент не знал что вообще такое онлайн‑доски) и как можно применять этот инструмент. Я сел изучать информацию и очень быстро понял что:
Онлайн‑доски это не про «просто порисовать», а действительно мощный командный и персональный инструмент
Это окно возможностей (рынок очистился и сделать замену Miro самое вермя)
Ниша мне интересна — я давно занимаюсь вебом и чем сложнее / новее задача — тем лучше
Я могу это сделать!
Разработка
Изначально я принял решение сделать все свое: движок, используя только обертки над браузерными API и написать с нуля серверную инфраструктуру. Я не стал использовать готовое open source — решение (многие просто берут опенсорсный Excalidraw и лепят сверху другой логтип), свой движок дает больше свободы и контроля над внутрянкой проекта: да, это дольше и сложнее, но в долгосрок явный выигрыш.
И вот я приступил:

А все как всегда казалось очень легко...
Фаза 1 (август-октябрь)
Изначальный стек был довольно смузи‑хипстерским: MERN (MongoDB, Expressjs, React, Node) + замечательная библиотека Konvajs как обертка над канвасом. В целом, объективно говоря, этого вполне хватало для небольших досок, но очень скоро я понял что если я хочу делать действительно большие и сложные доски, а также «играть в долгую», то смотреть надо в сторону WebGL/WebGPU (такая рекомендация даже есть в документации Konvajs). Также я принял решение отказаться от Mongo (это и их переход на SSPL который сразу не был взят в расчет, и разрастание документов больше 16мб размером у больших досок, а это лимит BSON у монги, да, вы можете очень резонно возразить что это решаемо, но уж тогда придется идти на определенные компромиссы и костыли в рамках моей архитектуры и структуры доски) в сторону перехода на PostgreSQL, который в итоге себя оправдал.
Ну и самое главное — это то что вопреки ряду оптимизаций доска реально тормозила после ~1000 элементов, в то время как многие пользователи собирают по 3–5–10 и более тысяч элементов, а WebGL действительно гораздо производительнее в том ключе которого требуют онлайн‑доски.
Стоит заметить что за это время уже был собран MVP (15 августа — 15 октября), который был обкатан на тесте и вполне хорошо работал при условии что доски невелики.
Фаза 2 (октябрь-январь)
Как писатель, скомкавший свои рукописи и бросивший их в урну, я переписал практически все: взял PixiJS как «обертку» над WebGL и для решения еще ряда задач, бэкенд был значительно переработан и заменена база данных на PostgreSQL, а также разработал свой протокол синхронизации — какой‑то условный полугибрид CRDT/OT, ну и много мене масштабных изменений.
Как итог: скорость значительно возросла, данные стали более структурированными, а архитектура проекта — чище.
В итоге за неполных 5 месяцев доска фактически была написана дважды. Итак, состоялся релиз...
Выход в свет
После релиза доски на нее пришло немало пользователей, что уже успело появиться собственное сообщество в телеграме где я буду рад вам и обратной связи.
Куда податься с новым проектом? Разумеется на Product Radar! Во время моего участия произошла весьма эпичная и комедийная история, но я хочу отдать должное Диме Беговатому, Александру Шевцову и большей части охотников за то что они увидели истину в ситуации.
Я получил несколько сотен регистраций и десятки отзывов что для проекта на старте это оооой как ценно. Короче радоваться этому я могу долго и, возможно, напишу про это отдельную статью.
В итоге в «Продукте недели» на ProductRadar и занял там 1ое место, а в «Продукте месяца» забрал серебро


Аудитория сервиса постепенно растет органически поскольку спрос на доски весьма велик, а качественных альтернатив ушедшим сервисам еще не так много.
Что сейчас и что дальше дальше?
На выходе инструментарий был крайне базовый, но я постепенно его расширяю:
Работа с фото: обрезка с разными форматами масок
Воспроизведение аудио
Работа с PDF-файлами
Фигуры
Фреймы
Карандаш, ластик и полупрозрачный маркер
Соединительные стрелочки
Текст
И так далее. На подходе шаблоны, таблицы и многое другое.
Ну и конечно МояДоска прошла регистрацию в Реестре Российского ПО!

На момент написания статьи сервис функционирует бесплатно! — мне важно получить от вас обратную связь чтобы сделать сервис максимально комфортным и удобным!
Какие выводы я сделал
Я реализую уже далеко не первый IT‑проект, но наверное из того что я делал единолично, а не в команде — этот один из самых обширных, вещи которые я напишу ниже будут в духе «если лед и огонь встретятся — то будет вода», но эти прописные истины никогда не будет лишним услышать вновь:
Я наткнулся на грабли о которых сам всегда знал, но находясь в позиции смотрящего со стороны всегда оценивать легче нежели чем когда лично прыгнул в «пучину морскую» — я работал быстро, но очень переоценил сложность продукта (ну классика жанра же!). Позади — вспаханное поле и впереди — еще два.
Вопреки п.1 если все оценивать здраво и реалистично — вы никогда не возьметесь за сложный проект (тем более сами: весь код доски я написал один) ибо с точки зрения здравого смысла это нерационально. Но только так можно сделать что‑то стоящее!
Знайте свою аудиторию: ключевое это общение с пользователями и необходимо делать это в большом объеме. Даже сейчас я призываю вас к обсуждению дабы сделать проект лучше.
Трафик — новая нефть: необходимо собирать аудиторию еще ДО выхода сервиса — так будет больше обратной связи на старте, а у вас меньше соблазнов сделать ненужный функционал в время разработке, главное общаться с потенциальными пользователями (п. 3)
Никакого «волшебства» тут нет — ежедневный труд.
Благодарности
Семье и близким за помощь и что терпят меня не выходящего год из подвала
Евгения — за то что рассказала о Миро и их уходе, что дало толчок к старту проекта
Никите — крутой дизайнер доски за то что вписался рисовать дизайн не за бесконечные бюджеты
Админам Телеграм‑каналов кто поддержали информационно
Пользователям что пользуются и мотивируют на развитие
Всем причастным!
Сайт доски: moyadoska.com
Телеграм-канал: @moyadoska
Почта для связи: admin@moyadoska.com
Телеграм для связи: @vladimirchtk
Комментарии (43)
Vorchun
12.06.2025 11:40Непривычная навигация:
- скрол колесиком крутит документ, а не меняет масштаб
- зажатое колесико перемещает объект, а не документВот тут мелковатый текст.
А работает действительно быстро )
Вы - молодец, поглядим повнимательнее на ваш продукт.
moyadoska Автор
12.06.2025 11:40Добрый день! Благодарю за обратную связь!
- Про скролл соглашусь - думаю поменять поведение, сейчас надо зажать шифт для зума что не совсем очевидно.
- Перемещаться можно как выбрав инструмент на панели, так и зажав правую кнопку мыши.
Текст увеличу)Germanjon
12.06.2025 11:40думаю поменять поведение
и этим отпугнёте текущих пользователей, которые уже привыкли к такому управлению. Вынесите настройки поведения в отдельный конфиг. Для новых юзеров можно поставить по умолчанию новые значения.
В целом - проекту удачи и развития. Автору - монетизации, чтобы не забрасывал проект.moyadoska Автор
12.06.2025 11:40Спасибо!)
jbourne
12.06.2025 11:40Это всегда проблема: зум или скролл на колесике. Я предпочитаю зум, так как если зум идет не в центр, а в курсор - то я зумом могу и скролл делать (зум аут сильно и потом зум ин куда нужно). А вот скроллом зумить не получится. Поэтому я за зум на колесо.
Но комментатор выше прав - если обновлять поведение, нужно что бы это применялось на новых, а текущим оставить уже старое и смену через настройки.moyadoska Автор
12.06.2025 11:40Верно, поэтому при первом использовании можно предлагать пользователя выбрать удобный ему вариант)
zweipluse
12.06.2025 11:40Когда что-то пишешь на доске и заканчивается место, то удобнее скоролом понемногу сдвигать и получать свободное место. А вот когда просматриваешь, особенно объемную доску, больше надо зумить, чтобы передвигаться к нужным частям доски. Так что вариант вынести поведение скорола в опции будет самое идеальное.
moyadoska Автор
12.06.2025 11:40Да, в точку! Я хочу при первом входе на доску сделать попал с имеющимися шорткатами и управлением + вынести в меню подсказку и дать возможность настраивать)
Nexoic
12.06.2025 11:40Интересный сервис мне понравился , для себя делал https://nexoic.com для сохранения заметок с е2е, за рекламу не пинайте, оригинальный проект.
Lagovi
12.06.2025 11:40Подскажите, а почему нельзя понять сколько стоит сервис, по крайней мере, не регистрируясь?
По себе заметил что страница pricing, первая куда перехожу после захода на сайт сервиса о котором только узнал.
P.S. Не хватает сравнительной таблицы с miro.
moyadoska Автор
12.06.2025 11:40Здравствуйте! Сервис сейчас бесплатный для пользователей полностью - поэтому и нет информации об оплате)
Сравнительную таблицу планирую сделать через несколько итераций (готовятся очень большие апдейты в июле)
RostislavDugin
12.06.2025 11:40Спасибо за статью!
Подскажите, пожалуйста:
1) Монетизации совсем-совсем нет? Если нет - какие планы по введению оплат (всё-таки сервера не бесплатные)?
2) Планируете ли идти в open source, чтобы за счёт этого привлечь ещё разработчиков в проект?
moyadoska Автор
12.06.2025 11:40Спасибо и вам, добрый вечер!)
1) Все верно, сейчас полностью бесплатен, затем подписка в рамках рыночной цены (но это будет позднее)
2) Полностью нет, но вот планы на отдельные компоненты или решения есть)antirek
12.06.2025 11:40отдельные компоненты - это интересная тема, пробую свой фреймворк / набор компонентов для интерфейса чатов делать - https://github.com/mobilon-dev/chotto
и уже потом этот фреймворк на проектах использовать
moyadoska Автор
12.06.2025 11:40Внутренний уже есть) пока еще сервис не так популярен чтобы опенсорсить именно UI - для этого нужна большая узнаваецость на мой взгляд, но спасибо за идею!
StunIsLove
12.06.2025 11:40Расскажу своей команде и покажу на ближайшем ретро, может быть и уйдём с Miro)
Смотрится очень перспективноmoyadoska Автор
12.06.2025 11:40Спасибо, рад слышать!) Если будут какие вопросы - пишите мне в тг https://t.me/vladimirchtk
muryk
12.06.2025 11:40Несколько соображений, если позволите:
Копирование объекта через alt + drag хорошо бы иметь
Форма (размер) стрелок (line ending) хотелось бы иметь разные в ассортименте
Наконечник особо жирной линии вторгается в пространство объекта, а должен лишь соединять (прикасаться). То есть хочется быть более умного масштабирования. Надеюсь, понятно объяснил
У всех этих досок есть один недостаток - нет таблиц, в том смысле что нет сущностей, чтобы объединяли несколько объектов и у каждого был бы свой набор connection/anchor point. В случае таблиц - у каждой строки была бы своя привязка для соединительных линий. Имея такую доску можно рисовать простые ER диаграммы
Спасибо!
moyadoska Автор
12.06.2025 11:40Добрый день! Отличные замечания, относительно стрелочек чуть позднее они сильно будут доработаны (чтобы крепились не произвольно, а по нормали к стороне объекта), с наконечниками тоже хорошая мысль. Скоро релиз простых таблиц, в дальнейшем сделаю момент с привязкой: такая мысль была и вы подтвердили мои мысли. большое спасибо!
masterthemac
12.06.2025 11:40На работе для проведения ретро в последний раз коуч использовал Holst. Как я понял, это тоже российский проект. Мне показалось очень похожей на Miro.
Вы с РФ конкурентами сравнение делали?
moyadoska Автор
12.06.2025 11:40Добрый день! Спасибо! Пока сравнения не делал, планирую сначала пару масштабных обновлений)
PrinceKorwin
12.06.2025 11:40Подскажите, а есть OpenSource либы чтобы можно было делать свои подобные доски?
Есть несколько идей, но реализовать все в рукопашную муторно.
moyadoska Автор
12.06.2025 11:40Добрый день! Есть Excalidraw, но там Canvas API, а не вебгл, плюс это не библиотека - а готовая реализация. У нас, к сожалению, многие берут его и лепят свой логотип выдавая за готовый продукт.
Если делать самому - лучше брать обертку над WebGL (например PixiJS, это даже не просто обертка, там и тикер и управление ассетами + дерево сцены) и делать.gennayo
12.06.2025 11:40Да, вот у нас например используется Excalidraw для таких целей, хотелось бы понимать, какие у вас преимущества :)
moyadoska Автор
12.06.2025 11:40Очень легко! Excalidraw развивается по своему роадмапу, а вы можете влиять. У них не будет WebGL (а значит производительность будет на одном уровне или стагнировать), я же постоянно оптимизирую. Полная поддержка ПДФ, аудио прямо на доске. И еще ряд эксклюзивных фич на подходе. Плюс автор по месту что упрощает коммуникацию и поддержку. И это я сходу что написал, а если целенаправленно писать то можно еще много что сказать)
moyadoska Автор
12.06.2025 11:40А у вас self-hosted или SaaS? Если первое - нет поддержки, вручную мониторить и обновлять + лишняя нагрузка на админов если у вас бурно используется инструмент, если второе - я сейчас ради интереса зашел и сразу попросили оплату не в рублях. Дороже чем планируется у меня (сейчас вообще бесплатно), а вы еще сервисам оплаты накинете :)
jbourne
12.06.2025 11:40Вижу вам написали много предложений. Добавлю лишь, что не все, что вам пишут в обратную связь нужно тут же реализовывать. Некоторые предложения могут, например, конфликтовать с вашими планами или видением.
moyadoska Автор
12.06.2025 11:40Добрый день! Многие написала предложения в тг и в личку, исходя из частоты запросов и моих данных я корректирую бэклог)
itGuevara
12.06.2025 11:40Когда появятся семантические доски? Это внешне как миро, только на идеях semantic web. Кроме semantic miro, можно делать и специализированные доски - картинки о процессах компании (Business Process Management), только со слоем семантики, идея показана в SemanticBPM
moyadoska Автор
12.06.2025 11:40Думаю по-мере развития инструментария доски вам задачи можно будет решать на ней, если еще нет)
itGuevara
12.06.2025 11:40Когда в МоюДоску добавите SPARQL окошко - дайте знать (или экспорт \ импорт в RDF).
moyadoska Автор
12.06.2025 11:40Изучу вопрос, спасибо)
itGuevara
12.06.2025 11:40Изучу вопрос,
В помощь:
Осмотр семантических возможностей "Семантической доски" ontonet.ru
shumkiiv
12.06.2025 11:40Сколько времени в день уходило на написание доски? Это ваша основная работа? Сейчас вы так же один трудитесь над ней?
2er6e1
Выглядит здорово. Надо пробовать!
moyadoska Автор
Большое спасибо!) Буду рад обратной связи