Whispr.Marketing
Next.js 15TypeScripttRPCDrizzleSupabaseStorybookPlaywright

SURB Platform

E-commerce storefront and dealer portal on Next.js 15, tRPC, and Drizzle - with a Storybook component design system, 54 static pages, 47 unit and integration tests, and 8 E2E tests via Playwright.

In developmentcustom
SURB Platform - E-commerce + Dealer Portal

// delivery facts

54

Static pages

Build-time generated across storefront and dealer portal

47

Unit + integration tests

Covering components, tRPC procedures, and data access

8

E2E tests

Playwright - critical user flows for storefront and dealer portal

Next.js 15 + tRPC

Stack

End-to-end type safety from DB schema to React component

The challenge

A custom product brand needed an e-commerce platform and a parallel dealer portal - each with different access models, inventory views, and order flows - without the lock-in and cost ceiling of hosted SaaS platforms.

  • 1

    Off-the-shelf e-commerce platforms could not support the custom dealer-access model alongside the public storefront in a single codebase

  • 2

    Existing component libraries were inconsistent across consumer-facing and dealer-facing interfaces, creating visual debt

  • 3

    No CI pipeline meant changes could ship without type checks, lint, or tests - high regression risk on a growing codebase

How it was built

Monorepo with Next.js 15 App Router, tRPC for end-to-end type safety between server and client, Drizzle ORM for schema migrations, a Storybook design system shared across both surfaces, and a full GitHub Actions CI pipeline.

  • tRPC enforces a single type-safe API layer shared between the storefront and dealer portal - no separate REST or GraphQL schema to keep in sync

  • Storybook component library documents every shared UI primitive - button, input, card, table - so both storefront and dealer portal draw from the same tested component set

  • Drizzle ORM with migration-based deploys; schema changes are tracked in version control and applied atomically - no manual ALTER TABLE

  • GitHub Actions CI runs typecheck, ESLint, unit tests, and Playwright E2E on every pull request - no code merges without a green build

  • 54 static pages generated at build time; dealer portal behind authenticated routes with role-based access control for inventory and order management

What shipped

Custom e-commerce platform with dealer portal delivered - 54 static pages, Storybook design system, and full CI pipeline with 47 unit / integration tests and 8 E2E tests.

// full stack

Next.js 15TypeScripttRPCDrizzleSupabaseStorybookPlaywright

Want something built like this?

Free qualifying call - 20 minutes. Fixed price. Real code. You own it.

No contracts
Transparent pricing
You own the code