Bloxboxd
Kenapa dibuat
Roblox punya puluhan juta experience dan tidak punya cara rapi untuk menyimpan catatan pribadi tentang apa yang sudah dimainkan atau yang sedang ramai di antara teman. Platform menonjolkan popularitas, bukan selera. Targetnya model Letterboxd: buku harian, rating, dan penemuan di luar daftar populer, diterapkan pada game Roblox.
Keputusan data
Alur intinya sengaja kecil: cari game, catat, beri rating, tambahkan catatan bila perlu. Sisanya melayani alur itu. Integrasi memakai API resmi Roblox, bukan scraping, supaya metadata tetap akurat ketika experience berganti nama atau didaftarkan ulang.
Sebagian besar pekerjaan ada di model data. Satu entri log mempertemukan pengguna, game, dan waktu, dan record game harus bertahan saat data sumber berubah. Tiap baris menyimpan universe ID kanonik dari Roblox plus salinan metadata tampilan saat pencatatan, sehingga buku harian tidak berubah sendiri ketika thumbnail game berganti.
Yang sudah jalan
TypeScript di seluruh lapisan, di-deploy di Vercel, Turso (LibSQL) sebagai basis data utama. Replikasi edge jadi penentu. Latensi query dari Indonesia ke Postgres yang jauh adalah masalah UX terbesar di prototipe pertama, dan mereplikasi bacaan dekat pengguna menghapusnya.
Metadata game lewat lapisan server ber-cache dengan TTL pendek dan refresh lazy. Itu menjaga integrasi tetap di dalam rate limit sambil terasa live. Halaman discovery membaca materialised view popularitas, bukan agregasi per request, sehingga waktu muat tetap datar saat katalog bertambah, dan platformnya publik serta bisa dipakai sekarang.