Simpul Marketplace
Vendor KYB, booking workflows, and contextual LLM assistance
The Problem
Wedding and event procurement in Indonesia suffers from extreme vendor fragmentation, lack of standardized verification, and opaque payment scheduling. Clients risk losing large upfront deposits to unverified vendors, while small vendors struggle with late invoices and complex booking administration.
I designed the backend architecture and data workflows for Simpul to provide structured booking milestones, verified vendor onboarding (KYB), and an intelligent consultation assistant that helps clients find suitable vendors within budget.
How It Works
The platform coordinates multiple user roles (clients, vendors, and platform admins) across transactional and conversational workflows.
Vendor Identity & Catalog Verification
Implemented an asynchronous verification pipeline requiring business entity documents, portfolio work proof, and bank account validation before public catalog indexing.
Milestone-Based Escrow Engine
Integrated payment webhooks with Midtrans to support milestone disbursements (down payment, progress checks, post-event completion) ensuring neither party is exposed to unilateral default.
Context-Constrained LLM Assistant
Built an NLP assistant that parses budget, guest count, and aesthetic preferences to query the vendor catalog using structured embeddings, preventing hallucination through strict context injection.
Decisions and Trade-offs
Relational integrity with Supabase and Prisma
While wedding packages vary significantly in structure, financial transactions and calendar reservations require strict relational constraints. We modeled core entities in PostgreSQL with Prisma ORM to guarantee zero double-booking and consistent ledger states, using JSONB fields only for flexible vendor package descriptions.
Token optimization for LLM queries
Instead of sending raw catalog dumps into the prompt window, user search criteria are mapped to pre-filtered candidate sets via vector similarity and pricing filters before reaching the LLM. This reduced prompt token usage by over 60% and eliminated out-of-budget recommendations.
Midtrans payment webhooks are verified via SHA-512 signature hashing and idempotency keys stored in Redis, preventing duplicate transaction credits in unstable mobile network environments.
Results
Platform performance was evaluated under simulated multi-tenant loads and staging pilot deployments.
Links and Code
The platform code repositories are maintained on GitHub:
- Organization: Simpul-Platform-Wedding-UMKM on GitHub