Industrial Safety SaaS Platform
The Problem #
A safety compliance product (equipment lockout/tagout management) was running on a no-code platform that had hit it’s scaling limit. Rebuilt from scratch as a proper SaaS — without disrupting existing customers during the transition.
What I Built #
Platform — React Router v7 + shadcn/ui frontend + Node.js TRPC backend + Prisma ORM
- Full CRUD forms, data tables
- Multi-tenant data isolation
- Dagster ETL pipeline
Hub — separate React Router admin app
- Lets administrators manage customer instances
- Integrates with GitHub via Octokit (GitHub App): new customer provisioning is a form submission that opens a PR in the GitOps environment repo
Infrastructure — EKS + ArgoCD + GitHub Actions
- ArgoCD app-of-apps pattern across dev/staging/prod; separate instance for the multi-tenant control plane
- Explicit version promotion: dev deploys on merge, staging/prod require a manual approval gate
Outcome #
- Replaced a no-code system
- Cross-language codegen eliminated an entire class of integration bugs that had plagued the previous system