Every shipped change, in the order it shipped. No marketing fluff — just what actually landed.
2026-10-18
Design direction change: the black-dominated theme is out, and a warm light theme is being rolled out across the whole product — cream backgrounds, coral primary actions, success green split from accent for live states, and a dark charcoal reserved strictly for code blocks and key reveals. The marketing site is being rebuilt first; the dashboard follows with a warm-light + dark-code split.
2026-10-18
Usability pass across the product. The top fixes: documented public API paths that returned 404s were corrected from /v1/* to /api/v1/*, and the playground and dashboard got request timeouts so nothing hangs silently. 114 unit and integration tests are green, including a 20-concurrent-redeem race test against a cap of 1 that yields exactly one success.
2026-10-17
The merchant dashboard went live: coupon playground, builder, redemption log, settings and billing UI, plus Mintlify-style API docs with a Try-It runner. The marketing site and docs shipped alongside, and a same-day onboarding crash (a toast hook missing its provider) was fixed within the hour.
2026-10-16
The backend landed on Postgres via Prisma: merchants, API keys, promotions, redemptions, an idempotency ledger and audit log. Sign-in via Auth.js v5 (GitHub OAuth + email). The coupon engine normalizes codes canonically, enforces stacking and exclusion rules, and redeems race-safely under row locks — idempotent when you pass an Idempotency-Key. API keys are SHA-256 hashed with scopes, revoke and rotate. Billing runs through Paddle with an HMAC-verified webhook.
2026-10-15
The foundation of the UI: Next.js 15 + TypeScript + Tailwind, with the Phase 1 design tokens as code and 19 reusable components — buttons, badges, cards, tables, modals, toasts, code blocks and more — all showcased on a /design-system page where every commit builds standalone.