Buat form, publish cepat, dan pahami responnya.
FormKita adalah platform form builder untuk tim kecil hingga bisnis yang ingin membuat, mempublikasikan, dan menganalisis form tanpa proses teknis yang rumit. Produk ini menggabungkan landing page yang cepat, autentikasi, editor drag-and-drop, publish link/embed, dan analytics respon dalam satu alur yang ringkas.
Owner UMKM Rina, 34 - Rina perlu mengumpulkan leads dari promosi Instagram dan acara offline. Ia ingin membuat form sederhana, membagikannya cepat, lalu melihat data masuk tanpa bantuan tim teknis.
Ops Marketing Dimas, 29 - Dimas mengelola beberapa campaign sekaligus dan butuh membandingkan performa form per campaign. Ia mengandalkan analytics sederhana yang cepat dipahami.
Admin Internal Nisa, 41 - Nisa mengelola proses pengumpulan data internal seperti registrasi event atau kebutuhan karyawan. Ia membutuhkan draft, publish, dan kontrol basic validation.
Rina menjalankan promo kecil untuk layanan catering dan biasanya menerima pesan acak di WhatsApp. Ia butuh cara cepat untuk mengumpulkan nama, nomor telepon, dan kebutuhan acara tanpa minta bantuan developer.
Dengan FormKita, Rina masuk, membuat form kontak dengan tiga field, menandai nomor telepon sebagai required, lalu menyimpan draft dan mem-publish link publik dalam hitungan menit. Ia menempelkan embed code di website sederhana yang dipakai untuk promosi acara.
Beberapa hari kemudian, Rina membuka analytics untuk melihat jumlah respons, distribusi jawaban per field, dan mengekspor CSV untuk follow-up. Hasilnya, proses pengumpulan lead jadi lebih rapi, respons lebih cepat ditangani, dan biaya operasional turun karena tidak perlu tools tambahan.
Team & resourcing - Small team - 2 engineers, 1 designer, part-time PM.
Paste this into Cursor, Bolt, Lovable, or v0 to start building.
Build a web app called FormKita, a simple form builder for small businesses and internal teams. Use Astro for the landing page and static generation. Use Auth.js for authentication. Use PostgreSQL with Prisma for data storage, and a Node.js TypeScript backend for form CRUD, publishing, and analytics. Core screens and flows: 1. Landing page with hero, benefit sections, CTA buttons for Register and Login, smooth scrolling with Lenis, and subtle GSAP animations. 2. Authentication pages for register and login. 3. Dashboard showing list of forms, total responses, draft/published status, and a Create New Form button. 4. Form editor with drag-and-drop field reordering and field types: text, multiple choice, number. Include required toggle, save draft, and live preview. 5. Publish screen that generates a public form link and embed code snippet. 6. Analytics screen showing response count, field-wise charts, and CSV export. Data model: User, Form, FormField, FormResponse, FormResponseItem, PublishSetting, AuditEvent. A form belongs to one user. A form has many fields and many responses. A response has one or more response items tied to fields. Requirements: - Protect dashboard, editor, publish, and analytics routes. - Validate required fields and handle empty states well. - Make the public form submission flow fast and mobile-friendly. - Instrument analytics events for page view, register, login, form created, draft saved, published, response submitted, analytics viewed, and CSV exported. - Optimize for fast loading, accessibility, and clear UI. Deliver a polished MVP with clean component structure, reusable form field builder components, and production-ready error handling.
Daftar nama fitur (feature name) untuk PRD FormKita: **Fitur Utama (berdasarkan alur):** - Landing Page - Authentication (Login / Register) - Dashboard - Form Editor - Form Publisher - Form Analytics **Sub-fitur Editor Form (wajib):** - Add Text Field - Add Multiple Choice - Add Number Field - Drag & Drop Reorder - Required Toggle - Save Draft **Sub-fitur Publish:** - Generate Public Link - Embed Code Snippet **Sub-fitur Analisis:** - Response Count - Field-wise Chart (grafik per pertanyaan) - Export CSV Prompt untuk AI membuatkan PRD.md Anda adalah Product Manager yang ringkas dan langsung ke inti. Buatkan file PRD.md untuk produk bernama FormKita dengan spesifikasi teknis dan alur pengguna yang sudah ditentukan. Patuhi aturan berikut: setiap bagian maksimal 3 kalimat, gunakan poin-poin pendek, dan hindari kata pengantar atau penutupan basa-basi. Langsung hasilkan konten PRD.md. Masukan teknis wajib: - Framework: Astro (untuk landing page dan static generation). - Animasi: GSAP untuk efek visual, Lenis untuk smooth scrolling di landing page. - Autentikasi: Auth JS (NextAuth.js atau equivalent) untuk login/register. - Penyimpanan data: Sesuaikan dengan kebutuhan form builder (misal database pilihan, tapi fokus ke alur). Alur pengguna (user flow) yang harus dicakup dalam PRD: 1. Landing Page - perkenalan produk dan call to action. 2. Login / Register - halaman autentikasi. 3. Dashboard - daftar form yang dibuat, statistik ringkas, tombol buat form baru. 4. Editor Form - antarmuka drag-and-drop atau konfigurasi field form (input teks, pilihan ganda, dll). 5. Publish Form - menghasilkan link publik atau embed code untuk form yang sudah siap. 6. Analisi Form - halaman melihat respon pengguna, grafik, dan metrik pengisian. Struktur wajib PRD.md yang harus Anda hasilkan secara berurutan: - Ringkasan Produk (1 kalimat) - Tujuan dan Sasaran (maksimal 3 poin) - Ruang Lingkup (fitur masuk dan fitur tidak masuk, masing-masing 3 poin) - Alur Pengguna Detail (jelaskan setiap langkah dari poin 1 sampai 6, tiap langkah maksimal 2 kalimat) - Persyaratan Fungsional (terkait setiap halaman, tulis dalam daftar pendek) - Persyaratan Non-Fungsional (kinerja, keamanan, aksesibilitas - total 3 poin) - Tumpukan Teknologi (sebutkan Astro, GSAP, Lenis, Auth JS, dan tambahkan basis data/sistem backend yang Anda rekomendasikan) - Tolok Ukur Keberhasilan (3 metrik kuantitatif) Instruksi tambahan: jangan tambahkan bagian "Kesimpulan" atau "Lampiran". Jangan ulangi pertanyaan saya. Mulai langsung dengan judul "# PRD FormKita" (gunakan satu hash untuk judul utama, tapi tidak boleh ada hash ganda atau tanda baca lain seperti ** atau --). Setelah selesai, akhiri dengan kata "SELESAI" tanpa tambahan apa pun.
Design by The Resonance | Powered by GPC – The AI Transformation Company