Skip to content
KB.consultingKB.consulting

E-commerce SaaS · Multi-tenant · AI

Commerce SaaS

white-label ready

A multi-tenant SaaS platform: one click gives a merchant a store with an isolated database, its own subdomain, a drag-and-drop theme (40+ blocks), native Midtrans/Xendit + RajaOngkir integration, plus AI that auto-generates pages, color palettes and email campaigns. White-label ready for regional brands.

Preparing for launchMore work
white-label ready
E-commerce SaaS · Multi-tenant · AI
Commerce SaaS
live
106
tenant-level models (products, orders, marketing, analytics)
40+
drag-and-drop builder block types
7 currencies
IDR/PHP/USD/THB/MYR/VND/SGD via Xendit
01True multi-tenancy (database per tenant via stancl/tenancy) — not row-level isolation
02Shopify-class page builder: 40+ block types, 6 themes, 20-color palette, responsive preview
03Gemini AI: auto-generates pages from a brief, color palettes, and email campaign copy
04Native Midtrans + Xendit (dual-account: platform default or the merchant's own keys)
01The story

Context

Internal R&D at KB Consulting — a product we built for ourselves so we can white-label it for Indonesian SME and D2C clients. Shopify is good but expensive in USD, with no native integration into Indonesia's logistics and payment ecosystem; WooCommerce needs self-hosting and a maintenance team. The gap is large — tens of thousands of Indonesian merchants rely on Tokopedia/Shopee because there's no local Shopify-class SaaS. We took that opportunity.

Architecture decisions

Multi-tenancy: we chose database-per-tenant (stancl/tenancy v3.9), not row-level. Trade-off: slightly higher infrastructure cost, but significantly better compliance and performance — tenant queries never scan thousands of other tenants' rows, per-tenant audit logs are cleaner, and if an enterprise client needs data residency in a specific region, we can offer it. The frontend is split three ways: landing/marketing, the merchant storefront (subdomain-aware), and the super-admin panel. All consume the Laravel API via Sanctum.

Engineering depth

A production-grade page builder: 40+ block types with 100+ style variants, real-time responsive preview (desktop/tablet/mobile), undo/redo history, drag-and-drop with collision detection, and CSS-variable injection for instant brand theming. AI integration: Gemini generates a complete page structure from the merchant's brief ("minimal fashion store, earthy colors"), color palettes, and email body copy. A separate MJML email builder with 14 block types + automation triggers (order placed, abandoned cart, customer signup). Payments: dual mode — merchants can use KBC's Midtrans/Xendit account (faster onboarding) or their own (revenue lands directly).

Status

Pre-launch — the platform is fully functional end to end on staging, currently in closed beta with 2 trial merchants. The final brand hasn't been announced (likely white-labelled per client / regional rebrand). 230+ PHPUnit tests passing, 70+ frontend pages, 106 tenant models ready to scale. Public launch target: Q3 2026, after stabilizing the marketplace commission + seller payout module.

02Technical highlights

What made this
project interesting.

  • True multi-tenancy (database per tenant via stancl/tenancy) — not row-level isolation
  • Shopify-class page builder: 40+ block types, 6 themes, 20-color palette, responsive preview
  • Gemini AI: auto-generates pages from a brief, color palettes, and email campaign copy
  • Native Midtrans + Xendit (dual-account: platform default or the merchant's own keys)
  • Real-time RajaOngkir: 18 domestic + 6 international couriers, zone-based config
  • Email marketing: drag-and-drop MJML builder, automation workflows (abandoned cart, order placed, etc.)
  • 6 auto-discount types (%, fixed, BXGY, tiered, free shipping, bundle) with priority rules

Want to see your idea become something like Commerce SaaS?

Let's talk about
your idea, 30 minutes.

Free Consultation

Start now

Got an idea?
Let's validate it first.

30 minutes, free, no commitment. If we click, we move on to a validation session. If not, we'll recommend someone who's a better fit — still at no cost.