TL;DR: Я создал BlitzTools — платформу с 66+ инструментами для работы с файлами (PDF, изображения, видео), которая работает полностью в браузере. Никаких загрузок на сервер, только локальная обработка с использованием WebAssembly, Web Workers и ONNX Runtime.
Введение: проблема приватности и удобства
Каждый раз, когда нужно было объединить PDF, сжать изображение или конвертировать видео, мне приходилось загружать файлы на сторонние сервисы. Мои налоговые документы, фотографии, рабочие файлы — всё это попадало на серверы, которые я не контролировал. Это не только неудобно, но и рискованно с точки зрения приватности.
Решение? Создать инструменты, которые работают полностью в браузере, без загрузки файлов на сервер. Так появился BlitzTools — платформа с 66+ инструментами для обработки файлов, где всё выполняется локально на вашем устройстве.
Основная часть: архитектура и технологии
BlitzTools построен на современных веб-технологиях, которые позволяют достичь высокой производительности и приватности. Вот основные компоненты:
Frontend
- Next.js с TypeScript для фронтенда. Это обеспечивает быструю загрузку и удобство разработки.
- WebAssembly (WASM) для обработки данных с почти нативной скоростью. Например, сжатие 10МБ PDF занимает около 2 секунд.
Фоновые процессы
- Web Workers для выполнения тяжёлых задач в фоне, чтобы интерфейс оставался отзывчивым. Вы можете ставить в очередь несколько файлов, и страница не будет зависать.
PDF и изображения
- pdf-lib для работы с PDF: объединение, разделение, сжатие.
- Canvas API для обработки изображений: сжатие, изменение размеров, конвертация форматов.
AI-инструменты
- ONNX Runtime для выполнения AI-моделей прямо в браузере. Например, инструменты для удаления объектов, фона и замены лиц используют модели RetinaFace и InsightFace, работающие через WASM.
Видео
- Для работы с видео используются библиотеки, которые позволяют сжимать и конвертировать видео прямо в браузере.
Практическое применение
BlitzTools предлагает широкий спектр инструментов, которые могут быть полезны как для личного использования, так и для профессиональных задач:
-
PDF:
- Объединение, разделение, сжатие.
- Конвертация DOC в PDF.
- Редактирование PDF прямо в браузере.
-
Изображения:
- Сжатие до 90% от исходного размера.
- Изменение размеров и конвертация форматов (PNG, JPG, WebP, AVIF).
- Удаление объектов и фона с помощью AI.
- Замена лиц прямо в браузере.
-
Видео:
- Сжатие и конвертация видео.
- Создание GIF из видео.
Преимущества локальной обработки
Когда файлы никогда не покидают ваше устройство:
- Нет утечек данных: нечего взламывать.
- Нет ожидания загрузки: обработка начинается мгновенно.
- Нет ограничений на размер файла: всё зависит только от памяти вашего устройства.
- Работает оффлайн: после загрузки инструментов интернет не нужен.
- Не требуется аккаунт: просто откройте и используйте.
Заключение
BlitzTools — это пример того, как современные веб-технологии могут быть использованы для создания мощных и приватных инструментов. Всё, что вам нужно, — это браузер. Никаких загрузок, никаких аккаунтов, никаких компромиссов с безопасностью.
Проект открыт для всех: GitHub. Если у вас есть идеи для новых инструментов или улучшений, оставьте комментарий или создайте issue на GitHub. Давайте сделаем веб лучше и безопаснее вместе!