Loyalty Platform / Admin2025

Jack Rabbit Wine Club Admin Platform

Full-stack admin module for Jack Rabbit Wine Club's loyalty platform — members, orders, points, rewards, scratch-card gamification, promo codes, audit log, and a unified analytics dashboard, all running live in production.

Role
Full-stack Engineer (Admin Module)
Client
Jack Rabbit Wine Club (Vinarchy)
Agency
Quantum
Year
2025
Jack Rabbit Wine Club Admin Platform

Stack

  • Next.js
  • React
  • Supabase
  • MUI
  • Sanity CMS
  • Loyalty

Overview

A full-stack admin module for the Jack Rabbit Wine Club loyalty platform — a four-surface product (consumer web, admin dashboard, native mobile app, and Sanity-powered CMS) built for one of Vinarchy's wine brands under Quantum's brand and product direction. I owned the admin end of the platform top to bottom: API, schema, auth, UI, dashboard, and reporting. Roughly two months, end to end.

Quantum led brand strategy, product direction, and the consumer-facing surfaces. I owned the full-stack delivery of the admin module — the operations surface that the Quantum and Vinarchy teams use to run the program day to day. The admin is live in production at admin.jackrabbitrewardsme.com.

What I Built

Operations Surface (12+ Feature Areas)

  • Members CRM — list, detail, search, edit, with linked points balances and order history.
  • Orders — full order management with detail pages and a B2B reporting view.
  • Registrations — onboarding queue with stats and per-record review.
  • Points & Rewards — balance management, ledger, and integration with Sanity-driven rewards catalogue.
  • Scratch-card Gamification — full engine for the consumer scratch-card promotion: prize pools, weighting, image uploads, and per-card auditability.
  • Promo Codes — generation, distribution, expiration tracking, and bulk export.
  • Reviews & Testimonials — moderation and approval workflow.
  • Audit Log — compliance-grade activity log spanning every admin action.
  • Role-Gated User Management — admin-side user CRUD with role assignment.
  • Login + Login Logging — auth surface with structured login telemetry.
  • Reports — dedicated views for emails, orders, and analytics.

Unified Analytics Dashboard

The centrepiece of the admin module. I engineered a single live dashboard that consolidates data from across the program — members, orders, points, rewards, scratch-cards, and Klaviyo email metrics — into a cohort-comparison view that shows current performance against the previous period. Engineering details that made it work:

  • LRU-cached previous-period stats (50 entries, 10-day TTL) so cohort comparisons stay fast without re-aggregating on every load.
  • Outlier-aware metrics — dwell-time values are capped at two hours so broken telemetry doesn't poison averages.
  • Multi-source aggregation in a single coherent view, designed so the ops team can see program health at a glance instead of jumping across six tools.

Auth & Compliance

  • Custom Next.js middleware enforcing two layers of access control: an email-domain whitelist (only Quantum and Vinarchy domains can sign in at all) and per-route admin-vs-viewer access splits for sensitive surfaces (members, registrations, audit logs).
  • Audit logging wired through the most sensitive admin actions for downstream compliance review.

Technical Implementation

The platform is a Turborepo monorepo with web, admin, mobile, and Sanity-studio apps. I owned the admin app end-to-end and contributed to the shared packages and Supabase schema where the admin module touched them. The analytics dashboard aggregates across Supabase, Sanity, and Klaviyo in a single view — LRU caching on the previous-period stats keeps cohort comparisons fast without hammering the database on every load. Auth runs on custom Next.js middleware layering domain whitelisting over per-route role checks, so the access model is enforced at the edge before any data is touched.

Why It Matters

Loyalty programs live or die on the operational surface. The consumer app gets the marketing budget, but the admin is where the program is actually run — where members get fixed, orders get reconciled, gamification gets configured, and the team makes the calls that keep retention healthy. Building this surface well, and shipping it in two months, is the kind of work that quietly determines whether a loyalty platform is a success or a maintenance burden.