rentonhead

Tuna Radio

Радио со всего мира: более 50 000 живых станций из открытого каталога, вращающийся глобус для открытий, «паспорт» прослушанных стран и Wrapped, которым можно поделиться.

Клиент
Собственный продукт
Год
2026
Роль
Продуктовый дизайн · Мобильная разработка · Бэкенд · App Store
Статус
Готовится к релизу

Радио, в котором хочется путешествовать по волнам.

Задача

Радиоприложения — это либо бесконечные списки станций, либо плееры с рекламой. Tuna должна была сделать поиск живого радио из других стран увлекательным, не жертвуя быстрым и надёжным плеером.

Решение

React Native для iOS и Android: постоянный мини-плеер, воспроизведение в фоне и на экране блокировки, таймер сна и будильники. Данные о станциях приходят из открытого каталога Radio Browser, Firebase отвечает за вход и синхронизацию избранного и статистики. Поиск превращён в игру — Spin the Globe, бейджи World Passport и Tuna Wrapped, — а живой чат с реакциями и заказом песен работает на моём собственном сервере. Интерфейс доступен на десяти языках, в тёмной и светлой темах.

Результат

Описание для магазина, скриншоты, заметки для ревью, политика конфиденциальности и условия использования готовы на десяти языках; приложение на этапе выпуска в App Store.

Что внутри

  • Более 50 000 живых станций по странам и жанрам
  • Spin the Globe — случайная станция мира
  • Бейджи World Passport и статистика прослушивания
  • Живой чат, реакции и заказ песен
  • Десять языков, тёмная и светлая темы

Стек

React NativeExpoFirebaseRevenueCatRadio Browser APINode.js

Под капотом

Слой кода этого проекта — модули и движущиеся части.

tuna/tree --depth 2
app           React Native · Expo → iOS & Android
audio         background playback · lock screen · sleep timer · alarms
data          Radio Browser directory · Firebase Auth · Firestore sync
social        live chat · emoji reactions · song requests (own Node backend)
billing       RevenueCat · weekly plan with free trial
i18n          en es pt fr de it tr ru ar ja