01 — Context
A telecom-backed karaoke and music subscription service needed one backend to manage subscriptions, invoices, coupon codes, household promotions and marketing campaigns.
02 — Challenge
Billing had to reconcile with the operator's carrier billing and payment wallet, with call-detail records and SMS, and keep subscription states correct without manual work.
03 — Approach
Organised by domain
A Go REST API organised by domain (subscription, coupon, campaign, promotion, household, operator integration), on PostgreSQL with schema-scoped tables.
Schedulers instead of manual work
Four background schedulers on staggered five-minute cycles handle renewals, expiries and reconciliation automatically.
Wired into the operator
Integrations with the operator's login, payment wallet and webhooks, plus a message queue for events.
Secured service to service
Token-based service authentication through a central identity provider, with tested auth and CORS middleware.
04 — Outcome
Subscription renewals, expiries and promotions now run by themselves, and the service's admin UI later became a module of the central admin dashboard.

