Beranda musik
Rilisan, rekomendasi, dan pintasan library dalam satu halaman.
Studi kasus · 07 / 08
Satu pengalaman media dari discovery sampai pemutaran HiFi.

Platform streaming musik dan video lintas web serta mobile dengan library, player, lirik sinkron, playlist, pengelolaan konten, dan pipeline pemrosesan media.
Pencapaian utama
Membangun platform streaming musik dan video untuk web dan mobile, dari player sampai pipeline pemrosesan media.

01 · Konteks
Pengguna utama
Masalahnya
Pengalaman mendengarkan mudah terpecah antara pencarian konten, player, lirik, playlist, dan pengelolaan file media. Di sisi admin, setiap upload juga memerlukan metadata serta versi kualitas yang konsisten.
Pendekatannya
SoundNusantara menyatukan discovery, library, player audio/video, lirik sinkron, dan preferensi pengguna dengan dashboard admin serta pipeline FFmpeg untuk menyiapkan media.
Angka kunci
02 · Peran saya
Full-stack Engineer · Product UI · Media Pipeline
Teknologi yang digunakan
Membangun player audio dan video dengan queue, Picture-in-Picture, dan pilihan kualitas.
Menyinkronkan lirik format LRC dengan posisi pemutaran.
Menyiapkan pipeline FFmpeg di background queue untuk beberapa versi kualitas media.
Membangun web React, aplikasi Flutter, dan dashboard admin yang memakai layanan media yang sama.
03 · Sorotan
Klik gambar untuk melihatnya lebih besar.
Geser untuk melihat semua, ketuk gambar untuk memperbesar.
01 / 04
Rilisan, rekomendasi, dan pintasan library dalam satu halaman.
Cover, progress, kontrol queue, dan akses lirik dalam satu layar Flutter.
Lirik LRC dikelola bersama konten yang dipetakan ke waktu pemutaran.
Status job FFmpeg dan kegagalannya dapat dipantau dari dashboard admin.
04 · Tantangan & keputusan
01 / 02
05 · Hasil
Satu fondasi produk dapat melayani pengalaman web, mobile, dan administrasi konten tanpa memisahkan lifecycle media dari pengalaman pendengar.
Alur penggunaan
Arsitektur
Experience
React web · Flutter mobile · responsive media player
Media API
Laravel 12 · Sanctum · catalog · playlist · playback history
Processing
FFmpeg · queue worker · quality variants · metadata
Storage
MySQL · media files · thumbnails · lyric artifacts
Model data
User
role
preferences
quality
Content
type
artist
duration
status
Playlist
user_id
name
visibility
Playlist Item
playlist_id
content_id
position
Favorite
user_id
content_id
created_at
Playback History
user_id
content_id
progress
Processing Job
content_id
preset
status
