·
5 min read
·
Nuari

Building Rapio from Zero

How the concept for a wedding vendor management platform evolved from a set of workflow frustrations into a working SaaS architecture.

SaaSProduct DesignNext.jsArchitecture
When talking to wedding photographers, makeup artists, and event planners, one pattern emerged repeatedly: their business operations were scattered across WhatsApp chats, manual calendar entries, and unorganized spreadsheets. Unlike corporate businesses with dedicated account managers, wedding vendors are hands-on creators who are often on-site every weekend. They need software that respects the reality of their operational flow. ## The Core Operational Problem A typical wedding vendor workflow involves distinct sequential stages: 1. **Initial Inquiry**: Date availability check, service package inquiries, quotation draft. 2. **Booking & Commitment**: Down payment confirmation, agreement terms, calendar reservation. 3. **Pre-Event Coordination**: Moodboard sharing, rundown alignments, schedule confirmations. 4. **Execution Day**: On-site crew coordination, timeline tracking. 5. **Post-Event Delivery**: Photo/video editing deadlines, preview deliveries, final balance settlement. When these stages are managed inside informal chat apps, critical deadlines get lost in message history. ## Designing the Architecture For the technical foundation of Rapio, three architectural priorities guided the stack selection: ### 1. Minimal Operational Overhead As an independent lab project, infrastructure maintenance must be kept close to zero. We chose **Next.js App Router** hosted on Vercel paired with **Supabase (PostgreSQL)** for database and auth services. ### 2. Multi-Tenant Data Isolation Using PostgreSQL **Row Level Security (RLS)**, every tenant's data (clients, bookings, invoices) is strictly isolated at the database engine level. This ensures high security without complex application-level filtering. ```sql -- Example RLS Policy for Vendor Bookings CREATE POLICY "Vendors can only access their organization bookings" ON bookings FOR ALL USING (auth.uid() IN ( SELECT user_id FROM organization_members WHERE organization_id = bookings.organization_id )); ``` ### 3. Mobile-First Dashboard Vendors manage client inquiries on their phones while on location. The entire UI is built with a responsive grid that prioritizes fast single-hand thumb navigation. ## Current Progress & Next Milestones Rapio is currently in active development. The milestone tracker, quotation builder, and client directory are being refined through iterative feedback with local creative studios.
PUBLICATION FOOTERJTM/NOTES

Published by JTM Labs — an independent software laboratory from Jatimulyo, Indonesia.