Inspirasi
Di kelas, seminar, dan pelatihan, presentasi sering berjalan satu arah. Saat presenter bertanya "Ada yang belum paham?", ruangan sering diam. Diam belum tentu berarti paham: sebagian peserta ragu bertanya di depan umum, dan presenter baru tahu bagian yang membingungkan setelah sesi selesai. Diskusi kelompok menambah beban lain, karena pembagian anggota dan pengumpulan hasil biasanya dilakukan terpisah dari presentasi.
KARSA dibuat untuk subtema Inclusive Education and Future Skills. Idenya: beri peserta jalur partisipasi tertulis dari ponsel mereka sendiri, dan satukan respons individu, kerja kelompok, dan kuis dalam satu sesi.
Apa itu KARSA
KARSA adalah platform presentasi interaktif berbahasa Indonesia. Peserta bergabung lewat kode atau QR tanpa membuat akun, lalu merespons secara real-time. Alur sesinya:
- Presenter membuka sesi
- Peserta masuk lewat kode/QR
- Respons individu (pilihan ganda, polling, awan kata, tanya jawab)
- (Opsional) Peserta dibagi ke kelompok, dan satu penjawab per kelompok mengirim jawaban atas nama kelompok
- Kuis akhir dengan timer, skor ketepatan dan kecepatan, dan leaderboard
- Ringkasan sesi
Kapan pun diperlukan, presenter dapat memakai Pancing Peserta untuk memilih peserta secara acak dengan cara yang interaktif.
Ada tiga tampilan: presenter, peserta (ponsel), dan proyektor. Secara default hasil tampil di layar proyektor, bukan di ponsel peserta, agar perhatian tetap pada presenter.
Fitur
- Masuk sesi lewat kode atau QR, tanpa membuat akun
- Editor slide dengan tata letak tetap, unggah gambar, dan urutan slide
- Interaksi real-time: pilihan ganda, polling, awan kata, dan tanya jawab yang dimoderasi presenter
- Kelompok otomatis dan seimbang, dengan satu penjawab per kelompok yang divalidasi server
- Kuis akhir dengan timer, skor ketepatan dan kecepatan, dan leaderboard
- Tiga tampilan: presenter, peserta (ponsel), dan proyektor
- Ringkasan sesi yang tersimpan dan dapat ditinjau kembali
- Pancing Peserta (fitur tambahan): pengganti spin wheel biasa
Pancing Peserta
Nama setiap peserta tampil sebagai ikan yang berenang di layar proyektor. Presenter "melempar pancing", dan ikan yang tertangkap menjadi peserta terpilih, misalnya untuk menjawab pertanyaan, mempresentasikan hasil diskusi, atau giliran lain sesuai konteks yang ditentukan penyaji. Pemilihan dilakukan di server, sehingga hasilnya tidak bisa dimanipulasi dari perangkat peserta.
Akun Demo untuk Pengujian Juri
Kami menyediakan akun presenter demo dengan beberapa presentasi siap pakai untuk memudahkan evaluasi:
- Alamat: https://karsa-frontend.vercel.app/login
- Email:
[email protected] - Password:
demo1234
Cara mencoba:
- Masuk dengan akun di atas, lalu pilih salah satu presentasi dan mulai sesi.
- Dari ponsel lain (atau jendela browser lain), buka
/joindan masukkan kode sesi atau pindai QR, lalu bergabung sebagai peserta tanpa akun. - Buka tampilan proyektor dari perangkat ketiga untuk melihat hasil respons, kelompok, kuis, dan Pancing Peserta.
Catatan: akun ini khusus demo. Mohon tidak memasukkan data pribadi.
Cara kami membangun
Stack: Next.js + TypeScript (frontend), NestJS + Socket.IO (backend real-time), PostgreSQL + Prisma (database).
Prinsip desain utama: server menjadi satu sumber kebenaran status sesi. Slide aktif, respons, pembagian kelompok, dan hak penjawab divalidasi di server, bukan di perangkat peserta.
Tantangan
- Menjaga status sesi tetap konsisten saat koneksi peserta putus dan tersambung kembali
- Mencegah pengiriman respons ganda
- Memastikan hanya penjawab kelompok yang sah yang bisa mengirim jawaban
- Membatasi cakupan agar muat dalam 24 jam
Yang kami pelajari
- Interaksi real-time paling rumit di status sesi: setiap respons, perpindahan slide, dan koneksi yang putus harus tetap konsisten, sehingga validasi di server menjadi dasar, bukan tambahan.
- Membatasi cakupan sejak awal itu penting. Dalam 24 jam, kami harus memilih mana yang menjadi inti dan mana yang ditunda.
- Fitur yang melibatkan banyak perangkat sekaligus (presenter, peserta, proyektor) hanya bisa diuji dengan benar jika dicoba di perangkat sungguhan, bukan hanya di satu browser.
Keterbatasan
- Perangkat, browser, dan koneksi internet tetap diperlukan.
- Aksesibilitas menyeluruh belum diuji.
- Belum diuji dalam skala besar atau dengan banyak pengguna sekaligus; kapasitas awal masih perlu diukur.
- Editor slide memakai tata letak tetap, bukan penempatan elemen bebas.
- Materi belum dapat diimpor dari PowerPoint atau PDF, sehingga slide perlu disusun di dalam KARSA.
- Pembagian ulang kelompok setelah pembagian dijalankan belum didukung.
AI dan pihak ketiga
AI tidak digunakan di dalam produk KARSA, baik di versi MVP ini maupun dalam rencana pengembangan lanjutan. Fokus kami pada keandalan interaksi real-time, validasi di server, dan alur sesi yang mudah diikuti.
Library, framework, dan aset pihak ketiga yang digunakan: Next.js, NestJS, Socket.IO, PostgreSQL, Prisma dll.
Langkah selanjutnya
Impor materi dari PowerPoint/PDF, kolaborasi multi-editor, dan pengujian dengan satu presenter dan 5-8 peserta untuk mengukur kemudahan bergabung serta kapasitas awal. Pengembangan lain bergantung pada hasil pengujian tersebut.
Built With
- css3
- html5
- javascript
- nestjs
- nextjs
- node.js
- postgresql
- prisma
- react
- socket.io
- typescript
- websocket
Log in or sign up for Devpost to join the conversation.