All Work
Case Study/kvabase
2025·Web Development

KVABase

B2B industrial generator marketplace, bilingual RTL-first

RoleLead Engineer · Product
Year2025
CategoryWeb Development
Stack
Next.jsTypeScriptPHPPostgreSQLRedisTailwind CSSPrismaGSAPFramer MotionBullmqNextAuth v5WebSocket
012025
web / dev
KvABase-cover.png
01

Build a category-defining B2B marketplace for industrial generators and heavy equipment in Saudi Arabia. The platform must sit inside the transaction — RFQ, escrow, ZATCA invoicing, verified site visits — while staying clear of SAMA money-custody rules. Listings carry deep technical specs in Arabic and English without losing precision.

02

A custom Next.js platform on TypeScript + Prisma/PostgreSQL, architected as a state machine over a licensed payment partner — the provider holds funds, KVABase orchestrates the deal. A flexible JSONB catalog handles generators today and transformers tomorrow without schema migrations. Bilingual Arabic/English with RTL from line one. ZATCA Phase 2 e-invoicing baked in.

03·Value & Metrics

Core capabilities.

The specific features that make the difference — built in, not bolted on.

01

Open RFQ Engine

Buyers broadcast a need; matched vendors quote in parallel.

02

Partner-Routed Escrow

Webhook-driven state machine over a licensed payment provider — platform mediates, never custodies

03

Flexible Catalog Schema

JSONB attributes per category — transformers, UPS, lighting towers added without migrations.

04

Bilingual by Architecture

Arabic-first content model with RTL logical properties throughout the stack.

05

ZATCA-Native Invoicing

Multi-tenant Fatora integration so vendors issue compliant invoices through the platform.

06

Verified Site Visits

Paid, mediated equipment inspection with engineer-issued reports tied to escrow release.

05·Outcomes

Listing categories

40+

Locale parity

AR / EN

Catalog flexibility

JSONB schema

Transaction model

Partner-routed escrow

Compliance baseline

ZATCA Phase 2

Initiate · Direct

Direct Contact

Send a message. Replies within 24 hours, in any timezone.

No mailing list. No follow-up sequences. Direct reply only.