Независимая студия · инструменты для браузера

Я делаю небольшие локальные инструменты для браузера.

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

Роль
Разработчик
Локация
Удалённо
Стек
Chrome MV3, vanilla JS, Node
Фокус
Локальные инструменты

О студии

Я занимаюсь расширениями для браузера и небольшими инструментами вокруг них. Правило, к которому я постоянно возвращаюсь: если функции нужен сервер, у неё должна быть веская причина. В большинстве случаев её нет.

Поэтому каждый продукт здесь работает целиком на вашей машине — без аккаунта, без телеметрии и без регистрации. И поэтому кода здесь меньше, чем вы ожидаете.

Инструменты

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

sync-core

Копирует общие библиотеки в каждое приложение и останавливает сборку, если копия расходится с источником.

Node CLI

site-build

Генерирует этот сайт: 10 языков из одного набора шаблонов и одного JSON на каждый язык.

Node CLI

license-keygen

Выдаёт лицензионные ключи Ed25519 офлайн, поэтому для активации не нужен вызов сервера.

Node CLI

Заметки

Записи о том, что сломалось, что сработало и что я сделал бы иначе.

  • Почему вашему расширению не нужен бэкенд Аккаунты, облачное хранилище и серверное ограничение частоты запросов дают удобство, но оборачиваются риском для данных и операционными издержками. От чего на самом деле отказывается local-first — и что получает взамен.
  • Лимиты запросов — это продуктовое решение, а не ошибка Бесплатные квоты, размеры пакетов, откат: ограничение частоты запросов как часть продукта, которую проектируют, а не исключение, которое обрабатывают по факту.
  • Один файл на десяти языках Один текст, десять языков, более ста страниц. Сборочная цепочка без зависимостей, которая не даёт им разойтись.

Поддержать проект

Saver разрабатывает и поддерживает небольшая команда. Если он вам помог, мы будем очень благодарны за поддержку любым из способов ниже. Спасибо.

Контакты

Сообщения об ошибках, вопросы по лицензиям или инструмент, которого вам не хватает, — почта самый быстрый способ связаться со мной.

[email protected]