LapakHub

Temukan produk siswa dan UMKM, lalu hubungi penjual langsung.

LapakHub adalah platform katalog dan promosi untuk produk dan jasa dari siswa serta UMKM dalam satu tempat. Pengguna dapat menjelajah lapak, menyimpan wishlist, dan menghubungi penjual lewat inquiry atau WhatsApp, tanpa alur transaksi di dalam aplikasi.

Business Goals

  • Mencapai 500 lapak aktif terverifikasi dalam 6 bulan pertama.
  • Mendorong minimal 35% lapak aktif menerima inquiry pertama dalam 30 hari setelah onboarding.
  • Meningkatkan repeat visit pengguna terdaftar hingga 25% dalam 90 hari.
  • Mencapai conversion dari listing view ke click WhatsApp/inquiry sebesar 8–12% dalam 6 bulan.
  • Menurunkan waktu rata-rata pembuatan lapak baru menjadi di bawah 10 menit untuk 80% pengguna.

User Goals

  • Mudah menemukan produk atau jasa lokal yang relevan berdasarkan kategori, lokasi, dan kata kunci.
  • Mendapatkan informasi lapak yang jelas sebelum menghubungi penjual.
  • Menyimpan lapak favorit untuk dibandingkan atau dihubungi nanti.
  • Menghubungi penjual tanpa proses checkout yang rumit.
  • Mempromosikan produk siswa atau UMKM ke audiens yang lebih luas tanpa perlu membangun toko online penuh.

Non-Goals

  • Tidak memproses pembayaran, escrow, invoice, atau refund di dalam sistem.
  • Tidak mengelola pengiriman, pelacakan paket, atau logistik fulfillment.
  • Tidak menyediakan fitur negosiasi harga terstruktur atau dynamic pricing.
  • Tidak menjadi marketplace e-commerce dengan cart dan checkout internal.

Rina, 17, Pengurus OSIS dan penjual kecil - Rina menjual snack dan kerajinan sekolah melalui acara bazar dan chat. Ia butuh cara sederhana untuk menampilkan katalog, menerima pertanyaan, dan terlihat lebih profesional.

Rina, 17, Pengurus OSIS dan penjual kecil

  • As a siswa penjual, I want to membuat lapak dengan foto, deskripsi, dan kontak WhatsApp, so that orang lain bisa langsung menghubungi saya.
  • As a siswa penjual, I want to melihat berapa kali lapak saya dilihat dan di-whitelist, so that saya tahu promosi saya efektif.
  • As a siswa penjual, I want to memperbarui status lapak aktif atau libur, so that pengguna tidak menghubungi saya saat tidak tersedia.

Andi, 34, Pemilik UMKM makanan rumahan - Andi ingin menjangkau pelanggan lokal tanpa mengurus toko online penuh. Ia butuh katalog yang mudah ditemukan dan alat promosi yang tidak menyita waktu.

Andi, 34, Pemilik UMKM makanan rumahan

  • As a pemilik UMKM, I want to menampilkan menu, harga mulai, jam operasional, dan area layanan, so that pelanggan bisa menilai kecocokan sebelum chat.
  • As a pemilik UMKM, I want to menerima inquiry dari beberapa kanal dalam satu tempat, so that saya tidak kehilangan calon pelanggan.
  • As a pemilik UMKM, I want to memperbarui promo musiman dengan cepat, so that produk saya tetap terlihat relevan.

Dewi, 29, Pembeli lokal dan orang tua - Dewi mencari produk atau jasa lokal yang terpercaya untuk kebutuhan rumah tangga dan acara sekolah. Ia ingin membandingkan opsi dengan cepat tanpa harus bertanya berulang kali.

Dewi, 29, Pembeli lokal dan orang tua

  • As a pembeli, I want to mencari produk berdasarkan kategori, lokasi, dan budget indikatif, so that saya bisa menemukan opsi yang paling relevan.
  • As a pembeli, I want to menyimpan lapak favorit, so that saya bisa kembali lagi nanti.
  • As a pembeli, I want to menghubungi penjual via WhatsApp atau form inquiry, so that saya bisa bertanya detail sebelum memutuskan.

Katalog Lapak dan Pencarian · High priority

  • Sistem harus menampilkan katalog produk dan jasa yang dapat dijelajahi dan difilter agar pengguna cepat menemukan lapak relevan.
  • Menampilkan daftar lapak dengan nama, kategori, lokasi, ringkasan, foto utama, dan status aktif.
  • Mendukung pencarian kata kunci lintas nama lapak, deskripsi, kategori, dan tag.
  • Menyediakan filter kategori, lokasi, tipe lapak, dan status promo aktif.
  • Mengurutkan hasil berdasarkan relevansi, terbaru, populer, dan terdekat jika lokasi tersedia.
  • Menangani hasil kosong dengan saran kategori populer dan pencarian terkait.

Halaman Lapak · High priority

  • Setiap lapak harus memiliki halaman detail yang cukup kaya untuk membantu keputusan sebelum kontak.
  • Menampilkan galeri foto, deskripsi, jam operasional, lokasi, area layanan, dan kontak utama.
  • Mendukung label atribut seperti halal, custom order, pre-order, jasa onsite, atau ready stock.
  • Menampilkan promo aktif, wishlist count, dan aktivitas terbaru jika tersedia.
  • Menyediakan CTA utama untuk WhatsApp dan inquiry form.
  • Mencegah kontak ke lapak yang dinonaktifkan dengan state dan pesan yang jelas.

Wishlist dan Simpan Lapak · Medium priority

  • Pengguna dapat menyimpan lapak untuk ditinjau atau dibandingkan kemudian.
  • Pengguna yang login dapat menambahkan dan menghapus lapak dari wishlist.
  • Wishlist tersinkron per akun di web dan mobile web.
  • Menampilkan daftar wishlist yang dapat diurutkan dan difilter.
  • Menyediakan empty state yang mendorong eksplorasi katalog.
  • Mencatat event simpan untuk analitik popularitas lapak.

Inquiry dan WhatsApp Handoff · High priority

  • Platform harus memfasilitasi kontak penjual tanpa menangani transaksi sehingga proses tanya jawab berpindah mulus ke kanal penjual.
  • Form inquiry mengirim ringkasan kebutuhan, nama, kontak, dan pesan ke penjual melalui sistem internal dan email.
  • Tombol WhatsApp membuka deep link dengan template pesan yang telah terisi.
  • Menyediakan peringatan bahwa harga final, pembayaran, dan pengiriman terjadi di luar sistem.
  • Mencatat status pengiriman inquiry dan click-out WhatsApp untuk analitik.
  • Menolak nomor kontak atau tautan yang tidak valid dengan validasi format dasar.

CMS Lapak dan Moderasi · Medium priority

  • Pemilik lapak dan admin harus bisa membuat, mengedit, dan memoderasi listing agar kualitas katalog terjaga.
  • Pemilik lapak dapat membuat draft, mempublikasikan, menyembunyikan, dan memperbarui lapak.
  • Admin dapat memverifikasi lapak, menandai konten duplikat, dan menyembunyikan listing bermasalah.
  • Mendukung upload beberapa gambar dengan kompresi otomatis.
  • Menyimpan histori perubahan penting seperti kontak, status, dan promo.
  • Mengirim notifikasi saat lapak disetujui, ditolak, atau perlu revisi.

Onboarding Cepat ke Katalog

  • Pengguna membuka landing page atau hasil pencarian dari share link.
  • Pengguna memilih kategori, lokasi, atau langsung mencari produk/jasa.
  • Sistem menampilkan hasil relevan dalam kurang dari 2 detik pada koneksi normal.
  • Pengguna membuka detail lapak untuk melihat informasi lengkap dan promo.
  • Pengguna menyimpan lapak atau menghubungi penjual lewat WhatsApp/inquiry.
  • Target time-to-value: pengguna menemukan minimal 1 lapak relevan dan melakukan satu aksi utama dalam 60 detik.

1. Masuk ke katalog

  • Pengguna memulai dari beranda sederhana dengan pencarian yang menonjol dan kategori populer.
  • Tampilkan kategori utama dan listing unggulan tanpa login.
  • Jika lokasi tidak tersedia, gunakan kategori dan kata kunci sebagai default.
  • Tampilkan loading skeleton agar pengalaman tetap terasa cepat.

2. Temukan lapak yang relevan

  • Pengguna memfilter hasil untuk menemukan produk atau jasa yang sesuai kebutuhan.
  • Filter tetap terlihat saat scrolling di mobile.
  • Gunakan zero-result state yang menawarkan reset filter dan rekomendasi serupa.
  • Pastikan hasil pencarian toleran terhadap typo ringan dan sinonim lokal.

3. Evaluasi detail lapak

  • Pengguna memeriksa foto, deskripsi, area layanan, jam buka, dan promo sebelum kontak.
  • Tampilkan CTA kontak sticky pada mobile.
  • Jika lapak tidak aktif, arahkan pengguna ke lapak serupa.
  • Sorot informasi yang paling sering dipertimbangkan: harga mulai, lokasi, dan ketersediaan.

4. Simpan atau hubungi penjual

  • Pengguna memutuskan untuk menyimpan atau memulai percakapan dengan penjual.
  • Wishlist memerlukan login ringan; guest dapat diarahkan untuk sign-in tanpa mengganggu browsing.
  • Inquiry form harus divalidasi untuk nama, kontak, dan pesan.
  • WhatsApp membuka deep link dengan pesan prefilled yang menyebut nama lapak dan konteks kebutuhan.

5. Lanjutkan di luar sistem

  • Setelah kontak, transaksi berpindah ke kanal penjual sesuai model bisnis non-e-commerce.
  • Tampilkan disclaimer bahwa harga final dan fulfillment tidak dikelola platform.
  • Berikan follow-up email atau notifikasi jika pengguna mengirim inquiry.
  • Catat click-out tanpa memaksa pengguna kembali ke aplikasi.

Fitur Lanjutan dan Edge Cases

  • Rekomendasi lapak berdasarkan kategori, lokasi, dan histori wishlist.
  • Halaman promo tematik untuk event sekolah, bazar UMKM, atau musim liburan.
  • Template pesan WhatsApp berbeda untuk produk, jasa, dan pesanan custom.
  • Moderasi duplikat lapak dan merge listing yang sama.
  • Fallback untuk lapak tanpa foto dengan placeholder brand-safe.
  • Manajemen status lapak libur, penuh order, atau sementara tidak menerima inquiry.

Prinsip UI

  • Mobile-first karena mayoritas akses diperkirakan dari ponsel.
  • Kontras warna tinggi dan ukuran teks cukup besar untuk keterbacaan.
  • Navigasi sederhana dengan tiga aksi utama: cari, simpan, hubungi.
  • Aksesibilitas dasar: keyboard navigation, alt text gambar, dan label form yang jelas.
  • Performa ringan dengan kompresi gambar dan lazy loading.
  • Visual yang ramah lokal dengan kartu lapak yang bersih dan informasi penting di atas fold.

Dewi sedang mencari snack box untuk acara sekolah anaknya, tetapi ia tidak ingin membuka banyak chat satu per satu tanpa tahu pilihan yang tersedia. Ia masuk ke LapakHub, mencari kategori makanan, lalu memfilter lapak berdasarkan lokasi dan promo aktif sampai menemukan beberapa opsi yang cocok.

Di halaman detail, Dewi melihat foto, jam operasional, area layanan, dan tombol WhatsApp yang sudah berisi pesan awal. Ia menyimpan dua lapak ke wishlist, lalu menghubungi satu penjual melalui inquiry untuk menanyakan stok dan jadwal pengambilan.

Penjual menerima lead yang lebih berkualitas karena calon pembeli sudah memahami konteks produk sejak awal. Dewi mendapat pengalaman yang lebih cepat dan rapi, sementara UMKM memperoleh cara promosi yang lebih terukur tanpa harus membangun toko online penuh.

User-Centric Metrics

  • 65% pengguna baru menemukan minimal satu lapak relevan dalam 60 detik.
  • 35% pengguna terdaftar menyimpan setidaknya satu lapak dalam 30 hari.
  • 8–12% view detail lapak menghasilkan click WhatsApp atau inquiry.
  • 40% inquiry form selesai dikirim tanpa bantuan admin.
  • 4.5/5 rata-rata rating kemudahan menemukan lapak dari survei in-app.

Business Metrics

  • 500 lapak aktif terverifikasi dalam 6 bulan.
  • 30% month-2 retention untuk pengguna yang kembali membuka katalog.
  • 25% pertumbuhan lapak aktif per kuartal pada tahun pertama.
  • 20% dari lapak aktif melakukan pembaruan konten minimal sekali per bulan.
  • 10% conversion dari landing page ke sign-up pemilik lapak untuk akun baru.

Technical Metrics

  • Uptime 99.9% per bulan.
  • P95 waktu muat halaman katalog di bawah 2 detik.
  • P95 waktu respons pencarian di bawah 500 ms.
  • Tidak ada akses tidak sah ke data kontak privat yang terproteksi.

Tracking Plan

  • Track catalog_view when user lands on home or category page.
  • Track search_submitted with query, category, location, and result count.
  • Track listing_opened with lapak_id and source placement.
  • Track wishlist_added and wishlist_removed with user segment.
  • Track inquiry_submitted with contact channel and lapak_id.
  • Track whatsapp_clicked with prefilled template type.
  • Track listing_published and listing_updated for seller workflow.

Technical Needs

  • Frontend web app with Next.js and Tailwind CSS for fast catalog rendering.
  • Backend API using Node.js with NestJS or Express for listing, inquiry, and wishlist services.
  • PostgreSQL for relational data such as lapak, kategori, promo, user, and inquiry.
  • Redis for caching popular listings, search suggestions, and rate limiting.
  • Object storage such as AWS S3 or Cloudflare R2 for image uploads.
  • Full-text search using Meilisearch or Algolia for fast keyword discovery.
  • Admin dashboard and seller portal with role-based access control.

Integration Points

  • WhatsApp deep links and optional WhatsApp Business API for approved accounts.
  • Google Maps or Mapbox for location display and distance-based sorting.
  • Email delivery via SendGrid or Resend for inquiry notifications.
  • Authentication via Google sign-in plus email OTP for lightweight account creation.
  • Analytics via PostHog or GA4 for product event tracking.

Data Storage & Privacy

  • Store only essential personal data for users, such as name, email, and contact preference.
  • Encrypt sensitive data at rest and use HTTPS everywhere in transit.
  • Separate public listing data from private seller contact details with strict authorization checks.
  • Provide delete-account and data export workflows aligned with GDPR/CCPA-style expectations.
  • Log consent for inquiry submission and WhatsApp redirection where required.

Scalability & Performance

  • Optimize image sizes and serve responsive variants to keep page loads low on mobile networks.
  • Use CDN caching for static assets, listing cards, and public landing pages.
  • Paginate and virtualize long result sets to avoid slow scrolling on large catalogs.
  • Apply search indexing and cache invalidation to keep queries fast as listings grow.

Potential Challenges

  • Low-quality or duplicate listings can reduce trust; mitigate with moderation queues, verification badges, and duplicate detection.
  • Users may expect in-app checkout; mitigate with clear onboarding copy and repeated non-e-commerce disclaimers.
  • Seller responsiveness may vary and hurt UX; mitigate with response-time indicators and stale-contact warnings.
  • Photo uploads can bloat storage and slow pages; mitigate with compression, resizing, and CDN delivery.
  • Search relevance may be poor at launch; mitigate with curated categories, synonym mapping, and feedback loops from click data.

Team & resourcing - Small team - 2 engineers, 1 designer, part-time PM, and part-time operations/admin support.

Phase 1: MVP Catalog · Weeks 1–4

  • Public landing page and searchable catalog
  • Listing detail pages with photos, categories, and contact info
  • Basic seller onboarding and manual listing creation
  • WhatsApp deep link and simple inquiry form
  • Analytics instrumentation for view and click-out events

Phase 2: Wishlist and Seller Tools · Weeks 5–8

  • User accounts and wishlist
  • Seller dashboard to create, edit, publish, and archive lapak
  • Promo badges and status indicators
  • Email notifications for inquiry submissions
  • Admin moderation queue and basic verification workflow

Phase 3: Discovery and Quality · Weeks 9–12

  • Full-text search optimization and filters
  • Location support and map-based browsing
  • Duplicate detection and listing quality checks
  • Suggested listings and related categories
  • Performance tuning and mobile UX refinement

Phase 4: Growth and Automation · Weeks 13–16

  • Featured promotions and campaign pages
  • Automated reminders for stale listings
  • Seller analytics dashboard with views and inquiries
  • Role-based access controls and audit logs
  • A/B tests for CTA placement and listing ranking

Paste this into Cursor, Bolt, Lovable, or v0 to start building.

Build a mobile-first web app called LapakHub, a catalog and promotion platform for student and UMKM products/services. This is not an e-commerce checkout app. Users can browse listings, filter by category/location/tags, save listings to wishlist, and contact sellers via inquiry form or WhatsApp deep link. Final pricing, negotiation, payment, delivery, and fulfillment happen outside the system.

Core screens and flows:
1) Public home/catalog page with search bar, category chips, featured listings, and filters.
2) Listing detail page with gallery, description, hours, service area, promo badge, wishlist button, inquiry CTA, and WhatsApp CTA.
3) Wishlist page for signed-in users.
4) Seller dashboard to create/edit/publish/archive listings and view inquiry leads.
5) Admin moderation panel for verification, duplicate review, and takedown.

Data model in PostgreSQL:
User(id, name, email, role, authProvider, createdAt)
Listing(id, ownerId, title, slug, description, categoryId, type, locationText, latitude, longitude, hours, serviceArea, status, featured, verified, contactPhone, whatsappNumber, createdAt, updatedAt)
ListingImage(id, listingId, url, sortOrder, altText)
Category(id, name, slug)
Tag(id, name, slug)
ListingTag(listingId, tagId)
Wishlist(id, userId, listingId, createdAt)
Inquiry(id, listingId, userId nullable, name, contact, message, channel, status, createdAt)
Promo(id, listingId, title, startsAt, endsAt, badgeText)
AuditLog(id, actorId, entityType, entityId, action, metadata, createdAt)

Default stack:
Next.js App Router, TypeScript, Tailwind CSS, shadcn/ui, PostgreSQL with Prisma, NextAuth or Clerk for auth, Meilisearch for search, S3-compatible storage for images, Resend for email, PostHog for analytics, and deploy on Vercel or a similar platform.

Implement responsive UI, loading states, empty states, form validation, access control by role, image upload with compression, search and filters, wishlist persistence, inquiry submission, WhatsApp deep links with prefilled message templates, and an admin moderation flow. Add seed data for categories and sample listings, and make the UI clean, fast, and trustworthy.

Business Idea

Platform katalog dan promosi yang memusatkan informasi produk/jasa siswa dan UMKM dalam satu tempat. Platform membantu pengguna menemukan produk, melihat informasi lapak, menyimpan wishlist, serta menghubungi penjual melalui inquiry dan WhatsApp. Bukan platform e-commerce. Negosiasi, harga final, pembayaran, pengambilan/pengiriman, dan pemenuhan produk terjadi di luar sistem.

Make My PRD

Design by The Resonance | Powered by GPC – The AI Transformation Company