Catalog keychains beautifully, order them instantly on WhatsApp.
BuluKunci is a mobile-first web catalog for custom chenille stem keychains, built for a real small business. Customers can browse products, choose variants, and send an order to WhatsApp with the details already filled in, making the buying process fast and low-friction. The site is designed to look warm, playful, and trustworthy while helping the owner update products and prices without a redeploy.
Rani, 19, student buyer - Rani shops from her phone and wants a cute accessory quickly without filling long forms. She cares about clear photos, price transparency, and a fast way to ask for a custom design.
Dina, 31, reseller/office buyer - Dina buys small gift items in limited quantities and often asks about bulk pricing, turnaround time, and customization rules. She needs a simple catalog she can trust and share with others.
Admin Owner, 24, small business operator - The owner manages product photos, prices, and WhatsApp order handling alongside other work. They need low-maintenance tools and clear order summaries to respond fast and avoid mistakes.
Rani is scrolling on her phone after class when she sees a cute keychain shared by a friend. She opens the site, quickly finds the design she likes, checks the price and color options, and fills in her name and request without needing to type a long message.
When she taps order, WhatsApp opens with the full request already written out. Instead of abandoning the purchase because the process feels tedious, she sends the message in seconds and feels confident that the shop understood exactly what she wanted.
For the business owner, every chat now starts with cleaner order details, fewer back-and-forth questions, and better conversion from browsing to real sales. The web catalog becomes a lightweight sales engine that supports growth without adding operational complexity.
Team & resourcing - Small team - 1 product owner, 2 full-stack engineers, 1 part-time designer, 1 part-time QA/ops support
Paste this into Cursor, Bolt, Lovable, or v0 to start building.
Build a mobile-first e-commerce catalog website for a small business selling custom chenille stem keychains. The site must let customers browse products, view detail pages, choose variants/customization options, fill a simple order intent form, and open WhatsApp with a pre-filled order message. Core requirements: - Public homepage with brand story, featured products, and clear CTA to browse catalog - Catalog page with product cards showing image, name, price, and availability - Product detail page with gallery, description, customization options, price, and order form - WhatsApp order flow: collect name, phone, quantity, product variant, and optional note; generate a wa.me deep link or api.whatsapp.com link with a fully formatted message; provide fallback copy-to-clipboard if deep linking fails - Simple backend API endpoints for catalog data and order message generation - Admin-friendly catalog data management with add/edit/hide/reorder products without redeploying the whole app if possible - SEO-friendly pages with metadata, Open Graph tags, alt text, sitemap, and fast load times - Analytics events for product view, order start, order submit, and WhatsApp click Suggested stack: - Next.js or React with SSR for frontend - Node.js + Express API - PostgreSQL or JSON-based content store for product data - Tailwind CSS for styling - Cloudinary for images - Deployment on Vercel or Netlify Data model: - Product: id, slug, name, description, price, images, variants, customizationRules, status, featured, sortOrder, createdAt, updatedAt - OrderIntent: id, productId, name, phone, quantity, selectedVariant, note, waMessage, createdAt, source - Optional CMS/admin settings: siteName, adminWhatsAppNumber, heroText, SEO fields Primary screens: - Home - Catalog listing - Product detail - Order form modal or section - Admin product editor if included in scope - Privacy/FAQ/contact sections Build it with a warm, playful visual identity inspired by fluffy handmade products: rounded corners, bright but soft colors, large tap targets, excellent mobile readability, and accessible contrast. Make the UX extremely simple for first-time buyers and ensure the order flow works reliably on phones.
a//mnt/data/.hermes/plans/2026-10-24_173230-prd-web-penjualan-keychain.md → b//mnt/data/.hermes/plans/2026-10-24_173230-prd-web-penjualan-keychain.md @@ -0,0 +1,357 @@ +# Plan: Pembuatan PRD — Web Penjualan Keychain Kawat Bulu ("KWB Web") + +## Goal + +Menulis dokumen PRD (`/home/waweru/Documents/web-penjualan-keychain/PRD.md`, Bahasa Indonesia, v0.1) yang mendefinisikan kebutuhan lengkap **web penjualan keychain kawat bulu yang dibangun baru dari nol** (katalog produk + order via WhatsApp, untuk bisnis sungguhan), sehingga implementasi berikutnya bisa dieksekusi tanpa menebak. + +## Current context / assumptions + +- **Produk**: keychain kawat bulu (chenille stem) — produk sama dengan proyek lama `keychain-kawat-bulu`, TAPI web-nya **baru, dari nol** (keputusan user: "bikin dari nol (repo baru)"). +- **Fitur penjualan**: katalog produk + order via WhatsApp (pola seperti `keychain-kawat-bulu` sekarang: frontend fetch `/api/catalog` → form order POST `/api/order` → backend balas `waLink` → `window.open()` ke WhatsApp). +- **Tujuan**: bisnis/side-hustle **sungguhan** (bukan tugas sekolah) → PRD wajib memuat aspek brand, harga, SEO, dan alur order yang realistis. +- **Proyek referensi (bukan basis kode)**: `/home/waweru/Documents/keychain-kawat-bulu/` — README-nya sudah terdokumentasi: `backend/routes/catalog.js` (GET `/api/catalog`), `backend/routes/order.js` (POST `/api/order` → `waLink`), `OrderWidget.jsx` (fetch catalog → form → window.open waLink), `WA_ADMIN_NUMBER` di `.env`. Dipakai sebagai sumber pola alur order, BUKAN untuk copy-paste kode. +- **Proyek lain**: `portofolio-fullstack` (galeri foto, Express + vanilla) — tidak dipakai. +- **User**: Rachmad Wahyu Pratama — PKL student, sedang belajar fullstack (React + Express sudah pernah dipakai di keychain-kawat-bulu). Preferensi bahasa: Indonesia. +- **Desain**: skill `frontend-design` dimuat — PRD memuat **prinsip desain berbasis subjek** (material kawat bulu = lembut, fluffy, warna-warni → identitas hangat/playful, BUKAN dark-tech default), bukan token visual final (itu di fase implementasi). +- **Lokasi deliverable**: folder proyek baru `/home/waweru/Documents/web-penjualan-keychain/` (nama folder bisa diganti user — dicatat di §14; PRD diletakkan di folder proyek, bukan di `/home/waweru/PRD.md` yang sudah dipesan untuk AutoAbsen). +- PRD ditulis untuk stakeholder teknis + non-teknis; tiap FR punya acceptance criteria yang bisa diuji. + +## Architecture / proposed approach + +PRD = satu file markdown `/home/waweru/Documents/web-penjualan-keychain/PRD.md` berstruktur PRD standar (ringkasan → masalah → tujuan → stakeholder → user stories → FR/NFR dengan AC → workflow → aturan bisnis → arsitektur file → skenario uji → risiko → asumsi/pertanyaan terbuka). Nilai teknis yang sudah diketahui (pola endpoint `/api/catalog` & `/api/order`, `wa.me` link, `WA_ADMIN_NUMBER`) dirujuk konsisten dari pola proyek referensi; keputusan yang belum diketahui (nama brand, daftar harga, stack final, penyimpanan data, pembayaran) ditandai `TODO-OPEN` dan TIDAK ditebak. Penulisan = isi template di Task 1; validasi = script cek struktur + cek konsistensi + review manusia. + +## Step-by-step tasks + +### Task 1 — Scaffold folder + tulis `/home/waweru/Documents/web-penjualan-keychain/PRD.md` + +```bash +mkdir -p /home/waweru/Documents/web-penjualan-keychain +cd /home/waweru/Documents/web-penjualan-keychain +git init +``` + +Expected output: `Initialized empty Git repository in /home/waweru/Documents/web-penjualan-keychain/.git/` + +Lalu tulis file `PRD.md` dengan konten LENGKAP di bawah ini (bagian `TODO-OPEN` DIISI sesuai keputusan user pada Task 4, bukan tebakan implementer; sebelum review, biarkan teks `TODO-OPEN` apa adanya supaya gate Task 2 tetap bisa mendeteksi heading/FR): + +```markdown +# PRD — Web Penjualan Keychain Kawat Bulu ("KWB Web") + +| Field | Isi | +|---|---| +| Versi | 0.1 (draft) | +| Tanggal | 2026-10-24 | +| Penulis | Rachmad Wahyu Pratama | +| Produk | Keychain kawat bulu (chenille stem) custom | +| Model penjualan | Katalog + order via WhatsApp | +| Status | Draft — menunggu keputusan §14 | + +## 1. Ringkasan Eksekutif +Web penjualan keychain kawat bulu yang dibangun baru dari nol: pembeli melihat +katalog produk (foto, varian, harga), memilih bentuk/warna/teks custom, mengisi +form order, lalu pesanan terkirim otomatis sebagai chat WhatsApp ke admin +dengan detail lengkap. Web dibangun mobile-first (mayoritas pembeli dari HP), +cepat, dan tampil profesional agar pembeli percaya pada brand. + +## 2. Latar Belakang & Masalah +- Produk keychain kawat bulu sudah pernah dijual via web lama + (`keychain-kawat-bulu`), namun web tersebut butuh dibangun ulang dari nol + (keputusan user) dengan alur dan identitas yang lebih baik. +- Bisnis ini side-hustle sungguhan: web harus bisa menarik pembeli baru (SEO), + menampilkan produk dengan menarik, dan memproses order tanpa proses manual + yang berat bagi admin. +- Pembeli umumnya membuka dari HP: web lama tidak cukup dioptimalkan untuk itu. + +## 3. Tujuan & Non-Tujuan +**Tujuan:** +- Menampilkan katalog produk keychain kawat bulu dengan foto, varian, dan harga. +- Memungkinkan pembeli memesan via WhatsApp dengan detail otomatis terisi + (tanpa mengetik manual). +- Web cepat & nyaman di HP (mobile-first) dan mudah ditemukan via pencarian. +- Admin dapat memperbarui katalog (produk/harga/varian) tanpa deploy ulang. +**Non-Tujuan (v0.1):** +- Tidak ada keranjang belanja & checkout berbayar (payment gateway) — order + via WhatsApp, pembayaran dikonfirmasi manual. (TODO-OPEN §14: konfirmasi) +- Tidak ada akun/login pembeli. +- Tidak ada dashboard admin ber-login pada rilis pertama (YAGNI) — katalog + dikelola via file data/API sederhana. (TODO-OPEN §14) +- Bukan marketplace multi-penjual. … omitted 279 diff line(s) across 1 additional file(s)/section(s)
Design by The Resonance | Powered by GPC – The AI Transformation Company