Consumer Runtime · Multi-Tenant SaaS

Branded promo code redemption
at scale

A white-label, multi-tenant platform for running consumer promotional code campaigns. Every brand lives on its own subdomain, fully branded end-to-end — powered by one shared codebase, one database, and per-request tenant resolution.

Run a branded drop → See the sister platform

1

Codebase

Branded Tenants

30k

Codes / 48h Burst

.NET 10

Runtime

The problem

Branded promo drops don't scale on generic redemption pages or spreadsheets.

Brands running promotional drops, giveaways and sampling campaigns need a fully-branded consumer redemption journey — often at short notice, and often at volume. Building one from scratch for every campaign is slow and expensive. Generic redemption pages feel off-brand and erode trust. Managing fulfilment in spreadsheets falls apart the moment redemptions cross a few hundred an hour.

The platform solves that: one runtime, unlimited branded campaigns, ready to run in days rather than months — and engineered to absorb the burst traffic that follows a launch on social, TV or paid media.

What it delivers

  • Multi-tenant, subdomain-scoped branded storefronts from a single deployment.
  • Bulk CSV code import with duplicate detection.
  • Date-scoped campaigns, per-campaign redemption caps, automatic sold-out handling.
  • Multi-product reward picker; voucher or Stripe paid-shipping checkout modes.
  • Branded SendGrid confirmation email per tenant.
  • In-flow support chat and post-redemption NPS capture.
  • Redis-based rate limiting, IP velocity checks, format validation.
  • Fulfilment hand-off to Rewalld for physical reward campaigns.

How it works

One codebase. One database. Unlimited brands.

Every incoming request is resolved dynamically from its subdomain. brand-a.example.com and brand-b.example.com render completely different logos, colours, products, terms and confirmation emails from the same underlying application. Adding a new tenant is a configuration change, not a new build.

tenant-resolution.flow
GET https://brand-a.example.com/enter-code
    
    
Tenant Resolution Middleware  (ASP.NET Core)
    ├── parse subdomain    "brand-a"
    ├── lookup tenant      Redis cache (fallback MySQL)
    └── inject TenantContext into request pipeline
    
    
Razor Pages  (shared views)
    ├── logo / colours / fonts       ← tenant.branding
    ├── active campaign + codes      ← tenant.campaign
    ├── reward catalogue (per campaign)
    ├── T&Cs / privacy / support copy ← tenant.content
    └── SendGrid email template       ← tenant.email
    
    
Consumer redemption journey  — fully branded, end to end

Consumer journey

One proven redemption flow. Every tenant, their own brand.

Step 01

Landing page

Branded introduction to the active campaign.

Step 02

Code entry

Validated in real time against the tenant's active campaign.

Step 03

Reward pick

Consumers choose from the curated multi-product set.

Step 04

Checkout

Voucher redemption or paid-shipping checkout via Stripe.

Step 05

Confirmation

Branded SendGrid email with campaign details.

Step 06

Follow-up

Optional NPS capture and in-flow support chat.

AI customer support

~3,000 fewer support emails — per campaign.

The moment a consumer completes their redemption, they have questions. Did it go through? Can I change my address? Which size did I pick? Historically those land in the brand's inbox — hundreds or thousands per campaign.

Powered by Claude (Anthropic AI)

An AI support assistant is embedded directly on the post-redemption confirmation page — the exact moment customers have questions. It already knows the customer: their name, delivery address, product, colour and size selections. Context is loaded automatically from the claim record, not asked for again.

Every conversation is stored against the claim record. Operators can review transcripts. The assistant is fully brand-aware — each tenant's chatbot uses the correct brand name and product context in every reply.

Claude (Anthropic) Claim-context aware Per-tenant brand voice Transcript logging

What it handles

  • Delivery address changes — confirmed and flagged to fulfilment before dispatch.
  • Name corrections and spelling fixes.
  • Delivery timeline and despatch queries.
  • Product and order confirmation reassurance.
  • Out-of-scope queries — it offers to help draft a message to the brand's support team rather than improvising.

What it won't do

It will never invent a tracking number, promise a specific dispatch date, or fabricate product information. Guardrails are explicit — the assistant is honest about what it knows and what it doesn't.

Platform capabilities

Everything a promo drop needs — nothing a launch can crumble.

Campaign management

Bulk CSV code import with duplicate detection, date-scoped campaigns, per-campaign redemption caps and automatic sold-out handling once limits are reached.

Multi-product rewards

Curated product sets per campaign. Consumers pick their preferred reward. Support for voucher-only and paid-shipping Stripe checkout on the same campaign.

Per-tenant branding

Logos, colours, brand voice, T&Cs and privacy pages — all resolved dynamically per subdomain.

AI support chat

Claude-powered assistant embedded on the confirmation page. Handles address changes, order queries and delivery questions automatically — no human required, no drop-off.

NPS & feedback

Post-redemption NPS capture flows straight back to the campaign operator dashboard.

Branded transactional email

SendGrid transactional templates per tenant, with delivery tracking and webhook-based event capture for full observability.

Fulfilment integration

Redemption records flow through to the Rewalld fulfilment partner. Order and address capture is built in for physical reward campaigns.

Operations & fraud protection

Redis-based per-IP rate limiting, velocity checks and format validation before any code touches the database — designed to withstand burst traffic during high-profile drops.

Burst-load ready

Redis caching, connection pooling and stateless request handling absorb tens of thousands of redemptions in narrow launch windows without falling over.

Technical architecture

Built on .NET 10. Deployed with a slot per tenant.

Every layer is picked for burst-load reliability and per-tenant isolation without duplicating infrastructure.

Runtime

ASP.NET Core 10 Razor Pages C# 12

Data

Dapper (micro-ORM) MySQL 8 Redis (Google Cloud)

Payments & Email

Stripe (SCA / 3DS checkout) SendGrid (transactional + webhooks)

Hosting

Azure App Service Deployment slot per tenant Wildcard subdomain routing

Operations & Fraud

Redis rate limiting IP velocity checks Format & duplicate validation Rewalld fulfilment hand-off

AI

Claude (Anthropic) Claim-context loading Per-tenant brand voice Transcript persistence

Sister platform

Consumer runtime — meet the operator platform.

Kehemi

This platform is the consumer-facing runtime. Its sister platform Kehemi is the operator-facing system where campaigns are designed, tenants configured, reward catalogues curated, stock managed and fulfilment coordinated.

Together they cover the full lifecycle — from a brand briefing a campaign, to a consumer entering their code, to the reward arriving on their doorstep.

Explore Kehemi →

Built for burst load

Quiet baseline. Then a launch. Then quiet again.

The platform is designed for the shape of real promotional campaigns: intense bursts when a drop goes live on social, TV or paid media — then a return to baseline.

30k

Codes in 48h

1

Shared Codebase

2

Checkout Modes

Days

Tenant Onboarding

Ready to run a branded drop?

Get in touch — see a live tenant in action.

We'll walk you through a live tenant, talk through what your campaign would look like on the platform, and show you how quickly a new brand can be onboarded.

Contact us → See the operator platform