Manufacturing company · Apr–Jul 2026
A self-service app-hosting platform
Lets internal developers ship their own apps — with Git-driven deploys, managed databases, and SSO — without IT running each deploy.
Business impactDevelopers ship on their own schedule while IT keeps the guardrails, removing IT as the bottleneck for every release.
Role: Architect and technical lead — portal, deployment, and managed databases
- deployment tests after the security revamp
- 21 → 71
- bugs caught by pilot apps before wider rollout
- 7
- rollback for every deploy
- 1-click
The problem
Developers had useful small apps and no safe place to run them. Every deploy went through IT, and the obvious shortcut — hand people a server — would have meant arbitrary software with broad network access.
How it works
- 01
Portal + deploy agent
A web portal drives a deployment agent that re-checks every app definition before it runs and refuses anything unsafe.
- 02
Isolated by default
Apps get only the access they are explicitly granted.
- 03
Git-driven delivery
A merged change builds and deploys automatically, database changes run first, and previous versions are kept for rollback.
- 04
Managed databases
Each app gets its own Postgres database, with schema changes forced through the pipeline and nightly backups.
What I built
- The portal (ASP.NET Core) and deployment agent (.NET).
- Per-app SSO, the isolation model, and Git-based continuous delivery.
- Managed Postgres with migrations run by the platform.
Results
- Deployment-agent tests grew from 21 to 71 and portal tests from 5 to 34 during the security revamp.
- Pilot apps exercised the full flow end to end and surfaced seven bugs, fixed before wider use.
- Internal products — including the ERP training site — now ship on it from a merged pull request.
What I learned
- Self-service works when the safe path is also the easy path.
- Validate in the component that actually acts — the deployment agent trusts nothing it's handed.
Stack
- C# / .NET
- ASP.NET Core
- Docker
- PostgreSQL
- Flyway
- CI/CD