Tim engineering Exonic merilis Peanut Gallery, sebuah infrastruktur obrolan yang dapat digunakan kembali oleh berbagai aplikasi melalui komponen Svelte 5. Sistem ini memadukan backend serverless, koneksi WebSocket API Gateway, dan lapisan data DynamoDB dengan pola desain satu tabel.
Inti dari Peanut Gallery adalah penyimpanan empat entitas obrolan, yaitu ruang pesan, pesan, keanggotaan, dan tanda baca, dalam satu tabel DynamoDB. Kunci partisi menunjuk ke ID ruangan, sementara kunci sortir mengencode jenis entitas dan detail item, misalnya META untuk metadata, MSG#timestamp#id untuk pesan, dan MEMBER#userid untuk anggota.
Kebutuhan akan fitur chat muncul di hampir setiap aplikasi modern, entah untuk dukungan pelanggan, kolaborasi tim, maupun forum komunitas. Sayangnya, banyak tim pengembang memasang modul obrolan secara terpisah sehingga tiap tim membuat versi sendiri dengan kompromi teknis yang berbeda-beda.
Peanut Gallery lahir sebagai jawaban atas fragmentasi tersebut. Exonic membangunnya sebagai platform internal yang kemudian dipublikasikan sebagai paket npm pada cakupan @exonic-za. Beberapa anggota tim berkontribusi di tahap berbeda, termasuk penulis asli yang membantu pemahaman integrasi sistem.
Keputusan arsitektur diambil secara kolaboratif, mulai dari skema basis data, lapisan real-time, hingga pustaka komponen. Pendekatan tabel tunggal dipilih daripada membuat empat tabel terpisah. Dengan menempatkan seluruh data satu ruangan dalam partisi sama, satu query bisa mengambil ruang, pesan, dan anggota tanpa operasi join lintas tabel.
Bagi ekosistem teknologi Indonesia, pola ini menawarkan alternatif atas kebiasaan membangun fitur chat dari nol. Startup lokal kerap mengandalkan layanan pihak ketiga seperti Qiscus atau SendBird, atau membuat backend terpisah dengan PostgreSQL dan socket server sendiri. Biaya dan kerumitan pemeliharaan meningkat seiring skala.
Di sisi lain, penggunaan DynamoDB single table bersama serverless AWS dapat menekan beban operasional karena tidak ada server yang harus dipelihara. Namun, adopsi di Tanah Air terkendala minimnya engineer yang menguasai pola desain tabel tunggal serta regulasi data yang kadang mewajibkan penyimpanan lokal.
Pustaka komponen Svelte 5 yang dirilis Exonic juga menarik karena mayoritas frontend Indonesia masih dominan React atau Vue. Meski begitu, Svelte mulai dilirik berkat efisiensi runtime-nya. Integrasi mode widget melayang dan mode inline memudahkan penyematan obrolan tanpa mengubah tata letak aplikasi secara besar-besaran.
βKami membangun ini sebagai komponen platform, bukan fitur sekali pakai,β tulis tim Exonic dalam catatan teknis mereka. Pernyataan tersebut menegaskan bahwa setiap aplikasi yang membutuhkan obrolan akan memperoleh pengalaman seragam tanpa mengulang pola WebSocket dan DynamoDB yang sama.
Lapisan real-time mengandalkan API Gateway WebSocket dengan tiga rute standar: connect, disconnect, dan default. Handler connect memvalidasi token JWT dari query string dan menyimpan ID koneksi di DynamoDB lengkap dengan TTL 24 jam. Penanganan putus koneksi memakai catch respons 410 Gone dari Management API.
Ke depan, pendekatan infrastruktur reusable seperti Peanut Gallery diprediksi makin lazim seiring tren komputasi tanpa server. Exonic dapat memperluas dukungan komponen ke framework lain supaya adopsi lebih luas, tidak terbatas pada ekosistem Svelte.
Di Indonesia, inisiatif serupa berpotensi muncul sebagai proyek sumber terbuka yang menyesuaikan kebutuhan regulasi. Optimasi biaya cloud dan kebutuhan fitur obrolan real-time di berbagai sektor akan mendorong pengembang lokal merancang arsitektur serupa dengan basis data terkelola.