PrintQuote 3D — калькулятор себестоимости: от ступора с первым заказом до релиза софта с помощью Cursor
Меня зовут Ксения, я работаю в IT системным аналитиком. Код руками сама не пишу — моя задача проектировать архитектуру, собирать требования и выстраивать логику систем.
Это короткая история о том, как первый коммерческий заказ на 3D-печать превратился в полноценное десктопное приложение на Kotlin Multiplatform, собранное через Cursor.
Ступор с первым заказом
Я купила 3D-принтер (Bambu Lab P1S) для хобби. Спустя пару месяцев знакомый попросил напечатать деталь и спросил цену. И я зависла.
Оказалось, что нормальных инструментов для оценки заказа практически нет:
- "Умножай вес пластика на 3» — популярный совет в сети, гарантирующий работу в минус. Деталь на 20 грамм может печататься 8 часов с поддержками и прогревом стола, а ваза на 300 грамм вылетает за 2 часа. Считать только вес нельзя.
- Таблицы в Excel — требуют перед каждым клиентом вручную перебивать минуты, граммы и цены катушек из слайсера.
- Облачные CRM — перегруженные комбайны со складами и накладными, которые требуют обязательной регистрации и подписки по 500 ₽/мес.
Как аналитик, я решила автоматизировать эту цепочку: от файла нарезки в слайсере до красивой сметы клиенту.
Что делает PrintQuote 3D
- Прямой парсинг .3mf (Bambu Studio / OrcaSlicer): Никакого ручного ввода. Файл нарезки — это zip-архив с XML. Приложение само достает точное время, вес деталей, число копий, катушки и превью стола.
- Честная производственная себестоимость: Считает 3 тарифа электричества (пик/полупик/ночь), амортизацию оборудования, износ сопел и прогрев стола (который учитывается 1 раз и не умножается на тираж). Главное — технологический брак заложен в знаменатель формулы, чтобы неудачные попытки не вычитались из кармана мастера.
- Предложение клиенту в мессенджер за 1 клик: Программа генерирует PNG-карточку заказа в высоком разрешении и сразу копирует в системный буфер обмена (Ctrl + V в Telegram).
- 100% Offline-first: Сейчас все данные и база катушек хранятся локально на вашем ПК в JSON (на стадии беты без сложных связей это проще и быстрее, а под будущий модуль истории заказов будет переезд на локальную SQLite). Никаких чужих облаков и обязательных регистраций.
Зоопарк нейросетей: как я случайно построила отдел разработки из ИИ
Самое интересное началось, когда проект перестал быть простым скриптом. Я быстро поняла, что одной модели недостаточно, и у меня стихийно сложилась настоящая «команда разработки»:
- Grok в роли быстрого джуниора: я отдавала ему наброски задач, он быстро генерировал черновой код. Но у него была беда: Грок постоянно норовил что-то «додумать» от себя, дописать странную логику, о которой его вообще не просили, или уверенно придумать несуществующую функцию.
- Gemini в роли Senior / Tech Lead: к ней я шла на код-ревью. Gemini отлавливала отсебятину Грока, вычищала костыли и решала сложные архитектурные задачи.
1. Архитектура: она целиком пересобрала проект в мультиплатформенный (Kotlin Multiplatform), аккуратно разложив код на commonMain (общая логика и формулы) и desktopMain (платформенные штуки вроде работы с окнами и буфером обмена).
2. DevOps: так как в серверах я до этого не разбиралась, именно Gemini по шагам вела меня через настройку инфраструктуры — объясняла, как завернуть сервисы в Docker, настроить Nginx, прописать проксирование метрик и накатить SSL-сертификаты. - Claude Sonnet в роли штатного юриста: Политику конфиденциальности под требования 152-ФЗ и статус самозанятой я тоже не покупала у юристов. Я скормила Клоду всю схему работы с данными (что файлы лежат локально, реальный IP заменяется на 127.0.0.1, а в сеть идут только технические логи OpenPanel) — и он собрал строгий, юридически грамотный документ, который теперь висит у меня на сайте.
Я оставалась в своей привычной роли системного аналитика: проектировала структуры данных, отлавливала граничные случаи и следила, чтобы эти виртуальные "разработчики" не ушли в астрал.
Монетизация: почему я сознательно отказалась от подписок
Сейчас у проекта идет открытый бесплатный бета-тест. Но на релизе я решила не внедрять ежемесячные подписки.
Для частных мастеров и небольших студий подписки по 400–600 ₽ в месяц за утилиту, нужную пару раз в неделю — сильный раздражитель.
Моя модель:
- 14 дней триала после релиза;
- Затем — единоразовая покупка бессрочной лицензии (Lifetime) по цене одной катушки пластика (~1 500 ₽) без регулярных списаний.
Кстати, о первом запуске: сначала я пошла с постом на Пикабу и словила там пермабан через 5 минут за «несанкционированную рекламу пет-проекта». Это был отличный урок по выбору адекватных площадок для старта.
Ссылки и открытая бета
Бета-версия полностью бесплатна и доступна для Windows и macOS.
Всем, кто потестирует софт на своих реальных файлах и поделится багами или идеями — на релизе подарю бессрочную лицензию.
- Сайт проекта (скачать сборки): printquote.ru
- Telegram-канал проекта: @PrintQuote3D
- Личка для фидбека: @ksen_print
Спасибо всем, кто дочитал!
Заглядывайте на сайт и делитесь впечатлениями, если решите потестировать!