Tuzzo Music
Hi-res плейър за музика върху API, който разгадах сам, укрепен от екип от проверяващи агенти
- Роля
- Собственик на продукта, ръководя екипи от агенти
- Статус
- Работи
- Код
- Частно хранилище
- Технологии
- Next.jsTypeScriptPrismaPostgresCapacitorNetlifyVitestTailwind

В числа
24-bit / 96 kHz
FLAC, доставен директно до браузъра от подписан CDN URL още при първата проба; значката за качество отчита реално доставения формат
0
байта звук, препратени през моя сървър
4
независими причини за разсинхронизиране на опашката, отстранени с един общ случай в reducer
Проблемът
Започна, преди да умея да пиша код. Току-що бях научил думата API. С ранните AI инструменти от онова време отворих мрежовия раздел на браузъра в музикалната услуга, прочетох заявките на нейния собствен плейър и сам разгадах как работи API на услугата. По-късно сървърната част мина през трима доставчици: API, поддържан от общност, worker услуги, поддържани от общността, и накрая платен абонамент. И двата общностни доставчика бяха чупливи по един и същ начин, а опашката на плейъра се разсинхронизираше по четири независими причини.
Подходът
Сложих доставчика зад сменяем слой, преминах на платения абонамент и проведох кампания за подсилване на защитата: два кръга от агенти-откриватели и противникови проверяващи агенти, после паралелни направления „първо план, после изграждане“ в отделни git worktrees, с направление за тестове, което фиксира намереното в кръговете.
Как работи
API, разгадан от мрежовия раздел
Мрежовият раздел на браузъра показва всяка заявка, която прави собственият плейър на услугата. Сам разгадах от тези заявки как работи API на услугата, с ранните AI инструменти от онова време, докато още не можех да пиша код. Този API остава неофициален, затова плейърът е личен и няма препратка към него.
Сменяем слой за доставчика и звук, който заобикаля сървъра
Идентификаторите са с префикс на доставчика, така че по-старите записи продължават да се намират след миграция. Сървърът държи един общ токен, подписва заявката за URL на файла и връща на браузъра подписан CDN URL за оригинален FLAC. Значката за качество чете обратно кода на доставения формат, така че показва какво е пристигнало. Грешка със студения старт, открита по пътя: стъпка на инициализация изтегляше около 9 MB и надхвърляше времевия лимит на безсървърната среда. Беше поправена веднага.
Затворен списък на API заявките и проверка за вход в CI
API на доставчика стои зад затворен, изброен списък (switch), без препращане на подадения от клиента slug. Скрипт в CI спира изграждането с грешка, когато някой маршрут под app/api нито извиква помощна функция за удостоверяване, нито е в списъка с разрешените изключения.
Първо откриване, после проверка
Два кръга с 12 и около 13 агента съчетаха откриватели с противникови проверяващи. 58 находки устояха на проверката в първия кръг и 133 във втория, общо 191. Резултатът беше копиран на сигурно място, защото стоеше във временна папка на сесията.
Направления, които отказват да налучкват
Направленията работеха в отделни worktrees (ядро на плейъра, UX на обвивката, доставчик на данни, откриване на музика, интерфейс на плейъра). Направлението за откриване отказа да гради върху крайни точки, които не можеше да потвърди, и вместо това заведе заявка за изпробване. Четири независими причини за разсинхронизиране на опашката бяха отстранени в направлението за ядрото на плейъра, с един общ случай в reducer като споделен механизъм.
Проверка на качеството в истински браузър
Четири направления за проверка на качеството работеха срещу продукционната среда с отделни, създадени за целта акаунти. По мое настояване водещият агент провери и в истинския ми Chrome през разширението на браузъра, с еднократен акаунт, изтрит след това, вместо да се доверява на автоматичен браузър без прозорец (headless).
Какво избрах и какво отпадна
Избрах
Подписани CDN URL, които браузърът взема директно
Пред
Предаване на звука през сървъра
Така приложението остава подходящо за безсървърна среда и hi-res заработи на пуснатия сайт; първата проба достави 24-bit звук на 96 kHz.
Избрах
Платен абонамент зад сменяем слой
Пред
Общностните HIFI worker услуги и по-ранния общностен API
И двата общностни доставчика бяха чупливи от един и същ вид.
Резултатът
Плейърът е пуснат и работи зад вход с парола. API на доставчика е неофициален, което README изрично казва, затова държа плейъра личен и без препратки към него. План за настолен клиент с bit-perfect възпроизвеждане съществува само като документ.