LUMEN PAY · LUMEN PAY · FINTECH

A self-serve billing portal that cut support tickets in half.

Replatformed invoicing, subscriptions, and role-aware account controls into a Next.js portal with hardened API workflows — fewer tickets, more self-serve revenue actions.

Client

Lumen Pay

Sector

Web Development · Fintech

Timeline

9 weeks

Services

Application engineering, payments integration, access control

Year

2025

THE CHALLENGE

Support was the billing team; product could not ship safely

Lumen’s merchants loved the core payments rail, but every “simple” account change routed through support. The legacy portal mixed admin and end-user flows, leaked permission boundaries, and terrified engineering every release window. Stripe objects drifted from the internal ledger after manual fixes — a quiet risk nobody wanted on a slide.

The trigger was a failed SOC observation about separation of duties. Timeline: nine weeks to a phased launch before renewal season. Budget capped contractors; we embedded with their existing team.

We refused a rewrite-the-world proposal from an internal skunkworks group. The constraint was prove safety weekly — not hero architecture.

// TODO: Verify with client legal before publishing — audit context, timelines, and ticket metrics.

OUR APPROACH

Treat billing like a regulated control surface, not a CRUD app

Framing. A payments portal is a controls product: every mutation is an auditable event. That framing changed UI copy, engineering tests, and how PMs triaged scope.

Architecture. Next.js with explicit server actions for mutations, PostgreSQL as the reconciliation store of record, Stripe as the payments engine with typed idempotency keys. We introduced a “two-person rule” simulation in staging for high-risk roles before exposing it to customers.

Phasing. Weeks 1–2: joint threat model + data map. Weeks 3–6: vertical slices — payment methods, invoices, seats. Weeks 7–9: hardening, chaos tests on webhook delays, and a canary cohort.

Judgment. We delayed “pretty charts” to ship immutable audit trails first — politically hard, technically correct.

// TODO: Verify with client legal before publishing — security controls and process descriptions.

THE OUTCOME

Tickets fell; self-serve actions climbed without a reliability regression

Billing-related support tickets dropped 51% in the first ninety days post-cutover versus the prior baseline, while self-serve actions (payment updates, downloads, plan changes merchants were allowed to perform themselves) rose 37%. Checkout errors reported by clients fell 38% once retries and idempotency were aligned.

Engineering velocity recovered because releases stopped being “call the billing team and pray.” Lumen extended the team for hardening sprints through renewal; we handed off runbooks their SOC relied on in follow-up sampling.

// TODO: Verify with client legal before publishing — ticket taxonomies and error definitions.

0%

BILLING TICKETS

vs. prior 90-day baseline (same product surface)

+0%

SELF-SERVE ACTIONS

upgrades, payment method updates, invoice downloads

0w

TO LAUNCH

discovery to production behind feature flags

0%

CHECKOUT ERRORS

client-reported failed payment attempts

WHAT WE LEARNED

What we would rerun on day one

We should have instrumented support macro usage earlier — it masked product gaps and fooled us about true ticket drivers. We were surprised how much merchants cared about PDF footers and invoice numbering — small UX, huge trust.

Methodology tweak: we now pair a technical writer with engineering during week one for error strings; saves a retrofit sprint. We would also schedule executive demos on failed paths, not happy paths, sooner.

// TODO: Verify with client legal before publishing — qualitative reflections tied to a real client programme.

TECH STACK / TOOLS

What shipped in production

Next.jsTypeScriptPostgreSQLStripe

GALLERY

Inside the delivery

Helix Labs

Next case study

Developer docs platform with instant search and versioning.

Shipped MDX pipelines, semantic search, and release-channel versioning so enterprise API teams stopped treating documentation as an afterthought.

Ready when you are

Let’s build something excellent.

Tell us about the work. We reply within one business day with a written point of view, not a pitch.