Internal Tools

Internal tooling that makes support, admin workflows, release risk, and operational context easier for teams to act on.

  • Client: Unraid
  • Role: Internal Tools, Support Readiness, Operations
  • Recognition: Team tooling
  • Year: 2026

Operational tools with product consequences

Public Unraid.net Account surface

Internal tools at Unraid back release management, user accounts, key management, license operations, support workflows, and moderation. The work spans operational dashboards, custom services, and PHP licensing code where correctness mattered more than convenience. A user may never see an admin dashboard, but they feel the quality of it when support answers a question quickly, a license transfer goes through correctly, a trial denial gives a clear reason, or a release does not depend on someone remembering a manual step.

The product problem

Operational work piles up around the hardest parts of a product: identity, payments, licensing, support, releases, and exceptions. When the tools are confusing, teams pay the cost in repeated support escalations, slow debugging, inconsistent customer answers, and risky manual changes. My job was to make that surface clearer and safer. Operators get enough context to make the right call, guardrails sit around actions that could affect customer state, and dashboards cut down the need to open five unrelated systems for one support case.

What I built and shipped

Operational surfaces

  • I built dashboards for OS release operations, user-account administration, support lookup, and key management.
  • I combined account and license views so order history, license state, trial status, activation behavior, and subscription context sit in one place. A support operator no longer bounces between multiple systems to answer one ticket.
  • I moved operational tools through a change-management process so support workflows had continuity while access and trust boundaries improved.

Licensing and key management

I’m the majority author of Unraid’s key server — roughly 870 commits, 56% of the codebase’s history — the PHP service that issues, validates, transfers, and renews Unraid licenses. The work there:

  • I rewrote parts of PHP key generation with stronger structure, PHPUnit test coverage, Rector-enforced modernization, and modern cryptographic libraries in place of the legacy hand-rolled paths.
  • I built the new purchase, upgrade, and transfer flows for the Starter/Unleashed license tiers — grace-period calculation, transfer limits, “extend any time” — plus TPM-based licensing with historical blacklist support.
  • I shipped admin endpoints with narrower scopes, so specific rows or records can be inspected or changed without broad, ambiguous actions.
  • I built support tooling for boot-device licensing edge cases, with clearer review paths for unusual ownership and replacement scenarios.
  • I shipped a key-claim workflow so legacy users can associate keys they own with their modern account. Ownership becomes legible separately from server sign-in.
  • I added automatic correction paths so key and allocation state could recover from expected product transitions instead of throwing a hard error.
  • I tightened exception and transfer behavior with explicit validation paths.
  • I rewrote client status responses for download, trial, and activation denials so the user-facing message actually says something useful.

Release operations

  • The key server is also Unraid’s OS release backbone: I built the release ingestion pipeline — S3 ingestion, releases.json generation, release tagging, and patch-release management — so shipping an OS build is a versioned, reviewable process instead of a manual ritual.
  • I reworked the flash backup service with threaded backup jobs, allocation TTLs, and rate limiting.
  • I drove the launch of Unraid’s public bug and feature tracker at product.unraid.net (February 2026), turning an internal triage process into a community-visible one.

Admin dev tools and callback testing

  • I built internal admin dev tools that exercise callback flows in repeatable ways. Callback testing is now a first-class internal workflow rather than an ad-hoc shell session.

Moderation surfaces

  • I shipped the Community Apps moderation override admin flow and improved operator visibility when moderation actions failed. Internal moderation tools sit directly behind public ecosystem trust, so the fix focused on making failure states observable rather than patching the symptom.
  • I designed the destination for the planned Apps “report/feedback” button, picking where reports land: FeatureOS, an Asana intake, an email/webhook, or the moderation queue. The internal-tool choice shapes the team workflow and the user expectation.

Repeatable change planning

For risky infrastructure and account changes, I made the rollout questions explicit before work shipped: what could break, what customers might notice, how support should respond, how we validate success, and how we roll back. The point wasn’t the document itself, but having a repeatable way to think through risk before production made it obvious.

Management dashboards and monthly reports

I use dashboards and monthly engineering reports to give leadership a clearer read on what changed, what got safer, and what still needs attention. AI helps summarize PR history, release notes, change-planning docs, and support themes, but I prune the output by hand. The result is a practical read on account reliability, OS stabilization, Community Apps integrity, cloud maturity, and risks to watch instead of an activity log.

Operational tools versus custom software

The strongest pattern was using both on purpose. A low-code operational interface was the right choice when operators needed a permissioned view over existing data and APIs without waiting for a full custom application every time. Custom software was the right choice when a workflow became part of the product itself. License generation, activation behavior, device-state handling, trial logic, and account flows need versioned code, tests, review, and release discipline. Those are not admin conveniences. They are product behavior with customer impact.

Outcome

The result is a more confident operating environment around licensing, moderation, releases, and support. Support sees more of the relevant context in one place. Engineering has clearer places to harden license and activation behavior. Release work has explicit operational surfaces. Customers get fewer ambiguous answers and less reliance on institutional memory.

Internal tools are rarely the headline feature, but they decide whether a product team can operate what it ships. The ones that work make the next correct action obvious, make unusual cases visible, and keep sensitive workflows inside systems with the right permissions and review paths.

Got a hard problem?
I'd like to hear about it.

avatar

Let's talk

If you're wrestling with product strategy, platform architecture, engineering leadership, or making AI actually useful, drop me a line. Worst case, we have a good conversation.

Contact
Contact