dimhold.by

Мои проекты

Всё, что работает прямо сейчас: зачем оно существует и на чём собрано. То, что своё уже отработало, лежит ниже на полке, вместе с тупиками.

Работают сейчас

Adlega

2024 — adlega.com

ИИ-финдиректор для SaaS-фаундеров

живой

Опишите бизнес в чате. Получите рабочую финансовую модель: выручка, burn, runway, сценарии "что если". Минуты вместо недель в таблицах.

Ключевое проектное решение: ИИ никогда не считает сам. Агенты интервьюируют фаундера, заполняют модель, объясняют любую цифру, гоняют goal seek ("как утроить MRR?"), но каждое значение выдаёт детерминированный движок, который мы держим в пределах 0,5 % от собранной вручную Excel-модели, которую он заменил.

Я сооснователь и делаю продукт целиком: агентов, движок и интерфейс, в котором живёт модель.

собрано на TypeScriptNode.jsReactPostgreSQLLLM-агенты

Belun

2025 — belun.app

браузерный набор инструментов, который ничего не выгружает

живой

90+ небольших инструментов, которые работают целиком во вкладке браузера: конвертировать, сжать, почистить, заглянуть внутрь. Без серверов, без аккаунтов, без загрузок — файлы не покидают ваш компьютер.

Начиналось как личная стопка скриптов, которые я раз за разом писал заново. Собрал их в одну страницу. И они стали нужны не только мне.

собрано на TypeScriptWebAssemblyWeb Workersстатический хостинг

whotop

2026 — github.com/dimhold/whotop

что это за процесс и какой порт он держит?

живой

Утилита в терминале, которая читает таблицу процессов и таблицу сокетов вместе, а потом читает, что на самом деле написано в каждой командной строке. Экран одинаковых строк node превращается в сессию агента и два dev-сервера, различённые по проектам, а ещё в сироту, которая держит ваш порт с тех пор, как час назад вы переключили ветку.

Всё началось с того, что я убил не тот node. Их было шесть, все мои, все назывались node и список ничего не говорил о том, кто есть кто. Нужные факты лежали рядом: командная строка, рабочий каталог, давно вышедший родитель. Просто система не кладёт их рядом с pid.

Она не гадает молча: --explain называет правило за каждой подписью и говорит, что именно платформа отказалась раскрыть. А потом убьёт по порту или по pid, показав сначала, что именно она нашла.

собрано на TypeScriptNode.jsноль зависимостей в рантайме

dimhold.by

2025 — билд-лог

эта мастерская, на трёх языках

в работе

Сайт, который вы читаете. Статическая мастерская на английском, русском и белорусском: статьи, игрушки и эксперименты, которым больше негде жить.

Сделан так, чтобы оставаться быстрым и почти бесплатным: на страницу не уезжает фреймворк, картинки и ролики подготовлены заранее, всё отдаётся плоскими файлами.

собрано на AstroTypeScriptCSS рукамиGitHub Pages

Полка проектов

Что было раньше — честно, вместе с тем, что умерло.

Rando4.me 2014 – 2024

Сооснователь; мобильное приложение, прожившее десять лет. Бизнесом не стало, уроки остались.

умер

Скажите привет

Консалтинг, фидбек по продукту, интересные задачи — почта открыта.

dimhold@gmail.com