Case Study

Studi Kasus Atmo LMS: Streaming SSR untuk Dashboard Tutor Cepat 2026

Vito Atmo
Vito Atmo·18 Mei 2026·0 kali dibaca·4 min baca
Studi Kasus Atmo LMS: Streaming SSR untuk Dashboard Tutor Cepat 2026

TL;DR: Dashboard tutor di Atmo LMS sempat lambat karena menunggu seluruh data agregat sebelum render. Dengan menerapkan Streaming SSR dan memecah bagian dinamis di balik Suspense boundary, waktu konten utama tampil turun signifikan dan tutor bisa mulai bekerja lebih cepat.

Atmo LMS adalah platform belajar yang melayani tutor dan murid di banyak kota Indonesia. Salah satu halaman terpenting adalah dashboard tutor: di sana mereka melihat jadwal, status pembayaran, dan progres murid. Saat awal peluncuran, halaman ini terasa berat. Tutor sering menutup tab sebelum dashboard selesai memuat.

Studi kasus ini mengulas bagaimana penerapan Streaming SSR membantu menyelamatkan pengalaman halaman tanpa harus menulis ulang seluruh arsitektur.

Masalah Awal: Render Menunggu Semua Data

Versi pertama dashboard tutor pakai SSR klasik. Server mengumpulkan semua data, dari profil tutor, agenda mengajar, hingga laporan keuangan bulanan, lalu baru mengirim HTML setelah semua siap. Masalahnya, query agregat laporan keuangan butuh waktu 1,5-2 detik di puncak jam sibuk. Selama waktu itu, tutor hanya melihat layar putih.

MetrikSebelum
LCP3,8 detik
Time to First Byte1,9 detik
Bounce dashboard18%

Angka ini berasal dari Vercel Analytics dan log Supabase periode Januari-Februari 2026. Mereka jelas berada di luar zona hijau Google Core Web Vitals.

Pendekatan: Suspense Boundary per Widget

Solusinya bukan menambah server, melainkan memecah halaman. Tim Atmo LMS bersama Vito Atmo menerapkan pola berikut:

  1. Bagian header, sapaan, dan navigasi dikirim segera di chunk HTML pertama.
  2. Widget jadwal mengajar dibungkus Suspense dengan skeleton.
  3. Widget laporan keuangan dibungkus Suspense terpisah, dengan revalidasi cache 5 menit.
  4. Notifikasi real-time dipindah ke client component agar tidak memblokir SSR.

Pendekatan ini memanfaatkan App Router dan React Server Components. Dokumentasi pola serupa bisa dibaca di nextjs.org/docs.

Hasil Setelah Tiga Minggu

Setelah deploy bertahap selama tiga minggu di awal April 2026, metrik membaik konsisten di seluruh wilayah pengguna.

MetrikSebelumSesudah
LCP (p75)3,8 detik1,6 detik
Time to First Byte1,9 detik0,7 detik
Bounce dashboard18%9%
Engagement awal42 detik71 detik

Angka p75 berarti 75% pengguna mengalami pengalaman di bawah angka tersebut. Untuk koneksi 4G di kota-kota tier dua, peningkatan ini terasa nyata: tutor membuka dashboard, langsung melihat jadwal, dan baru kemudian laporan finansial menyusul.

Pelajaran untuk Tim Lain

Tiga insight yang relevan untuk siapa pun yang membangun produk digital di Indonesia.

Pertama, kecepatan halaman bukan soal pakai SSR atau SSG saja. Mengubah cara render bagian dalam halaman seringkali memberi dampak lebih besar dari mengganti framework. Lihat Core Web Vitals sebagai panduan, bukan kotak centang.

Kedua, prioritaskan konten yang dilihat duluan. Tutor butuh tahu jadwal sebelum laporan keuangan, jadi widget jadwal harus tampil lebih dulu. Pola Suspense memaksa tim memikirkan ulang hierarki informasi.

Ketiga, gabungkan Streaming SSR dengan caching cerdas. Laporan keuangan tidak harus real-time, cukup direvalidasi setiap 5 menit lewat pola yang mirip ISR. Hasilnya, beban database turun sambil pengalaman tetap segar.

Pertanyaan Umum

Apakah Streaming SSR cocok untuk semua halaman?

Tidak. Halaman sederhana dengan sedikit data lebih baik pakai SSG atau ISR. Streaming SSR menonjol saat halaman punya banyak widget dengan kecepatan data berbeda.

Apakah implementasi Streaming SSR mahal?

Biaya server bisa naik sedikit karena ada overhead streaming, tapi sering ditebus oleh penurunan bounce dan peningkatan konversi. Pada kasus Atmo LMS, peningkatan engagement menutupi biaya tambahan dengan selisih jauh.

Bisakah saya mulai tanpa Next.js App Router?

Bisa, dengan React Server Components di framework lain, tapi App Router menyederhanakan pola Suspense boundary. Untuk tim baru, mulai dari App Router lebih ringan kurvanya.

Berapa lama implementasi penuh?

Untuk dashboard berukuran sedang, prediksi 2-4 minggu pekerjaan engineering ditambah pengujian. Angka ini bervariasi tergantung kompleksitas data dan jumlah widget.

Penutup: Ukur Dulu, Baru Pilih Pola

Sebelum mengganti pola render, audit dulu mana bagian halaman yang paling lambat dan mana yang paling penting dilihat duluan. Dengan dua data itu, keputusan menerapkan Streaming SSR jadi lebih objektif. Studi kasus Atmo LMS menunjukkan, kadang perbaikan terbesar datang bukan dari menulis lebih banyak kode, melainkan dari menulis ulang urutan kode yang dijalankan.

Bagikan

Artikel Terkait

#studi-kasus#atmo-lms#streaming-ssr#nextjs#core-web-vitals

Butuh website yang benar-benar bekerja?

Hubungi Vito untuk konsultasi gratis 15 menit.

WhatsApp Sekarang