Event-Driven by
Default.
Monoliths are slow. Plugins are fragile.
We build decoupled systems connected by immutable event streams and headless APIs.
The Operational Layer
The OMS Data Pipeline
How a single transaction propagates through the core ledger.
Ingestion Layer
Adapters normalize data from external sources (Shopify, POS, ERP) into a standard JSON schema.
➜ Validate HMAC
➜ Normalize Payload
➜ Push to Redis Queue
The Ledger
Single Source of Truth
The heart of RC:OMS. An immutable, double-entry table that records every inventory movement as a debit/credit pair.
- ConsistencyACID Compliant
- ArchitectureEvent-Sourced
- StorageMySQL / Prisma
Propagation
Background workers pick up committed ledger events and sync them to downstream systems asynchronously.
Headless & Multi-Tenant
RC:Storefront isn't just a website; it's a multi-tenant frontend delivery network. One Node.js deployment can serve 100 independent brands, each with their own custom domain, database schema, and branding.
Multi-Tenant Routing
Next.js middleware intercepts the incoming request, reads the host header, and serves the correct tenant's layout and data instantly.
Edge & SSR Rendering
Product pages are Server-Side Rendered (SSR) for maximum SEO impact, with heavy queries cached at the CDN level.
Zero-Latency OMS Sync
Because RC:Storefront talks directly to the RC:OMS API, inventory reflects true ledger availability the millisecond a page loads.
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';
export async function middleware(req: NextRequest) {
const url = req.nextUrl;
// Get hostname (e.g., 'swadeshibookstore.com')
const hostname = req.headers.get('host');
// Exclude API, assets, and system routes
if (url.pathname.startsWith('/_next') ||
url.pathname.startsWith('/api')) {
return NextResponse.next();
}
// Rewrite to dynamic tenant route
// -> app/[tenant]/page.tsx
return NextResponse.rewrite(
new URL(`/${hostname}${url.pathname}`, req.url)
);
}Core Principles
We don't hack solutions together. We engineer systems based on proven distributed computing patterns.
Idempotency
If a webhook fires twice, we process it once. Every event has a unique fingerprint, preventing duplicate orders or double deductions.
Async Processing
The API responds immediately (202 Accepted). The heavy lifting happens in background queues, ensuring the UI never freezes.
Immutability
We never update records; we insert new ones. Inventory isn't a number—it's a sum of history. This provides a perfect audit trail.
{
"event_id": "evt_88j2910s",
"timestamp": "2026-04-18T10:00:00Z",
"type": "INVENTORY_RESERVED",
"payload": {
"sku": "NIKE-AIR-BLK-9",
"warehouse_id": "WH-01",
"quantity_delta": -1,
"reference_order": "ORD-5501"
},
"metadata": {
"source": "Shopify_Webhook",
"tenant_id": "tnt_alpha_99",
"latency_ms": 24
},
"signature": "sha256:99a8b1..."
}The Enterprise Stack
Chosen for stability, scale, and deployment flexibility.
Need a custom implementation?
The architecture is open. We can help you fork it, host it on your own infrastructure, or build custom adapters to sync with your legacy ERP.
Discuss Engineering