Я делаю небольшие локальные инструменты для браузера.
Почти каждый продукт начинается с одного и того же раздражения: то, что должно занимать один шаг, занимает сорок. Сейчас мы выпускаем Saver — архиватор медиа, который оставляет всё на вашем собственном диске: одно расширение на платформу, общее локальное ядро.
- Роль
- Разработчик
- Локация
- Удалённо
- Стек
- Chrome MV3, vanilla JS, Node
- Фокус
- Локальные инструменты
О студии
Я занимаюсь расширениями для браузера и небольшими инструментами вокруг них. Правило, к которому я постоянно возвращаюсь: если функции нужен сервер, у неё должна быть веская причина. В большинстве случаев её нет.
Поэтому каждый продукт здесь работает целиком на вашей машине — без аккаунта, без телеметрии и без регистрации. И поэтому кода здесь меньше, чем вы ожидаете.
Работы
Одно семейство расширений Chrome и инструменты, которые его собирают.
Saver — Instagram Media Archive
Сохраняйте публикации, Reels, Истории и Актуальное, которые вы вправе оставить, прямо на свой диск.
Расширение Chrome Доступно: 1 из 7Семейство Saver · 7 платформ
Instagram, X, TikTok, Douyin, Rednote, Kuaishou and YouTube — каждая интегрирована отдельно, все используют одно локальное ядро.
Расширения Chrome ДоступноSaver Family Bundle
Один ключ открывает все версии для платформ. $19.9, разовая покупка.
$19.9Инструменты
Небольшие утилиты, написанные для этих проектов и оставленные, потому что оказались полезными.
sync-core
Копирует общие библиотеки в каждое приложение и останавливает сборку, если копия расходится с источником.
Node CLIsite-build
Генерирует этот сайт: 10 языков из одного набора шаблонов и одного JSON на каждый язык.
Node CLIlicense-keygen
Выдаёт лицензионные ключи Ed25519 офлайн, поэтому для активации не нужен вызов сервера.
Node CLIЗаметки
Записи о том, что сломалось, что сработало и что я сделал бы иначе.
- СкороПочему вашему расширению не нужен бэкенд Аккаунты, облачное хранилище и серверное ограничение частоты запросов дают удобство, но оборачиваются риском для данных и операционными издержками. От чего на самом деле отказывается local-first — и что получает взамен.
- СкороЛимиты запросов — это продуктовое решение, а не ошибка Бесплатные квоты, размеры пакетов, откат: ограничение частоты запросов как часть продукта, которую проектируют, а не исключение, которое обрабатывают по факту.
- СкороОдин файл на десяти языках Один текст, десять языков, более ста страниц. Сборочная цепочка без зависимостей, которая не даёт им разойтись.
Поддержать проект
Saver разрабатывает и поддерживает небольшая команда. Если он вам помог, мы будем очень благодарны за поддержку любым из способов ниже. Спасибо.
Контакты
Сообщения об ошибках, вопросы по лицензиям или инструмент, которого вам не хватает, — почта самый быстрый способ связаться со мной.