Как Cursor помог переписать браузерное расширение за 2 часа: опыт миграции на единый стек

Последние пару недель занимаюсь унификацией технологического стека для всех своих pet-проектов и поделок. Цель — собрать единый тех-радар, чтобы не тратить время на переключение контекста между разными фреймворками и библиотеками.

Мой стек

Frontend:
- React (без сюрпризов)
- WXT (лучший фреймворк для браузерных расширений)
- MUI (библиотека UI-компонентов под Material Design)
- Netlify (бесплатный и надёжный хостинг)

Backend:
- Supabase (как Firebase, только лучше)
- Yandex Cloud (serverless-контейнеры + S3-хранилища)

Процесс

На выходных добрался до Speech to Text — браузерного расширения для транскрипции аудио. Оно было написано на vanilla JS ещё в первых версиях, и каждое обновление превращалось в квест по поиску багов и зависимостей.

С помощью Cursor (AI-ассистента для кода) переписал всё расширение за пару часов:

  • Перенёс на WXT (фреймворк для Chrome Extensions)
  • Заменил самописные компоненты на MUI
  • Добавил TypeScript для типобезопасности
  • Заодно запилил новую фичу: транскрипцию системного звука через Chrome Tab Capture API

Что получилось

Как Cursor помог переписать браузерное расширение за 2 часа: опыт миграции на единый стек

Теперь Speech to Text может расшифровывать не только микрофон, но и всё, что играет на компьютере: YouTube-видео, Zoom-созвоны, лекции, подкасты и т.д.

Дополнительно добавил:

  • Аудиоплеер для предпросмотра файла перед отправкой
  • Анонимную расшифровку по прямой ссылке на аудио

Бонус

Модерация в Chrome Web Store прошла за 2 часа (обычно было 8-12). Предполагаю, что регулярные релизы дают "репутацию" у алгоритмов Google.

Выводы

Унификация стека — это не просто модное слово, а реальная экономия времени. Теперь могу быстро переключаться между проектами и переиспользовать компоненты без головной боли.

Хотите больше деталей?
Про процесс унификации стека, выбор инструментов и другие эксперименты с расширениями пишу в своём Telegram-канале @debug_leg. Там более неформальный формат: короткие посты, скриншоты процесса и честные истории про грабли. Подписывайтесь, если интересна кухня разработки.