Home / Work / Case study

Beanfield · Mar 2026 to now

Platform tooling and reliability

The tools and fixes that make a single engineer able to run a whole IPTV platform: repair what billing failed to provision, read live systems safely, recover storage, baseline normal, and keep the box logs that diagnosis depends on.

My roleDesigner, builder, operator
Provisioning toolDry run by default, before/after diff
Gateways4 read-only servers, 38 tools
Storage74 inactive groups to 3 in 30 s

Provisioning repair tool

Problem. A customer buys TV in billing, but the platform never gets a working account because billing's own call failed silently: an "account not found" error, or an HTTP 200 that changed nothing. Repairs were manual.

  1. Read billing's own calls in the web-server log and counted them: 1,031 subscribe calls, 163 account updates, 119 terminal adds, with parameters and return codes documented.
  2. Built a 339-line repair tool with sub-commands to trail, inspect, plan, create from the log, subscribe, activate and rebind.
  3. Every write is a dry run until confirmed, refused without an approval stamp, and prints a before and after diff of the account's services, so a silent 200 is caught.
  4. Calls go through the same front door billing uses, so repairs land in the same log; customer sign-in details found in logs are never printed.
  5. Wired to a 5-minute alert and the BOSS Provisioning page in the monitoring GUI; every write and its reversal is logged.
Pattern: replay the upstream system's own failed call from its log, with a dry run and a diff.

Read-only gateways to live systems

Four small servers that let tools and scripts query production safely, each read-only by construction:

IPTV platform (10 tools)

Accounts, terminals, quota, series rules, guide, nPVR errors. One gated write needs an explicit confirm and a server switch. Activation numbers and PINs are redacted from every result; there is no delete tool.

Billing (6 tools)

Customer lookup, subscriber, ONT, Zhone and access-point pages. GET only, mutating paths refused before sending, one request at a time at least 0.2 s apart, stops on 429 or 503.

Telemetry (9 tools)

Sessions, events, logs, alarms, fleet views. Every result carries a proof block: a real empty result versus a tool fault, so a zero is never mistaken for "no data".

ServiceNow (13 tools)

Search, ticket, case children, work notes, updates, KB. Every write returns a preview and a single-use confirmation code that expires in 10 minutes.

Security tests cover redirects, filter operators, parameter case, error shapes and preview overrides; diagnostics never include request parameters. About 6,273 lines including tests, plus command-line tools for tickets, cases and routing.

Storage cluster (Ceph)

  • Fixed event-log clocks on 6 of 7 storage nodes and raised the sync from daily to every 30 minutes.
  • Repaired inconsistent placement groups with before and after state recorded.
  • 14 Oct 2026 outage: a newly joined disk took IPTV down. I took it out of service: inactive placement groups went from 74 to 3 in 30 seconds, all 6,568 active within minutes, edge storage answering in 2 to 5 ms. Proved the cause from firewall drop counters on seven hosts (549 to 1,097 drops each): the join had skipped the runbook.
  • Wrote the production-join runbook (weight 0, no-in, peer firewall, night window) and built the Ceph guard into the monitoring platform.

Platform baseline

Golden traces of the platform's six flows, a restore reality map, an outage scenarios and recovery playbook, a known-defects register, and a live service check every 30 minutes across eight service lines, in shadow mode first.

Set-top-box log platform (ELK)

Rebuilt and extended the box log cluster: retention to 60 days, dropped log lines from 18.08% (30 Jul) to about 4% (23 Sep), node disks grown, an allow-list for noisy sources. These logs feed the fleet-stall detector and every freeze diagnosis.

Channels and captions

  • Rebuilt the channel reference from live recorder config: 194 channels, 184 active, 10 paused, 23 deviations documented; deleted the stale matrix instead of patching it.
  • Probed all 193 channel sources and fixed 23 mislabelled caption tracks, restoring French captions on Quebec channels.
  • Found why the guide image volume kept filling: images are re-fetchable from 67,190 CDN URLs and storage hard links double-count space; proposed the reclaim process.

More builds

Recorder failover

Automated and rehearsed recording-server failover with bitrate-based load balancing and operator confirmation.

Security review

Reviewed the monitoring platform's security and shipped the fixes, including container hardening; 600+ automated tests passed after.

Firmware UAT

Wrote the IPTV UAT plan and tested two set-top-box firmware releases with upgrade and rollback, logging 26 defects before rollout.

Market bundles

Bundles and pricing plans for Toronto, Ottawa, Gatineau and Montreal, each verified against the product catalogue.