WorkStack
Engineering case studyA Scrum and work-management platform, engineered and operated the way a real production service would be.

WorkStack is a multi-user Scrum tool — workspaces, projects, sprints and a drag-and-drop Kanban board — built as a functioning product and then taken through the same path a real small production service follows: containerized, deployed to Kubernetes, provisioned on GCP with Terraform, delivered through CI/CD, and watched with real observability.
- What was built
- A REST API under /api/v1 backs workspaces, projects, sprints and tasks, with cookie-based JWT sessions and tenant isolation enforced server-side — every workspace-scoped resource checks membership before returning anything, and a sprint's tenant boundary is derived transitively through its project rather than stored directly. The board itself is drag-and-drop, with optimistic moves reconciled against the API response.
- Why it was built
- Most infrastructure-focused projects either wrap a toy app in heavy tooling, or build real infrastructure with nothing meaningful running on it. WorkStack does both properly: a genuinely usable product, deployed and operated the way a small engineering team would actually run it — with the application and the platform underneath it treated as two separate, deliberately built layers.
- Architecture
- React and TypeScript on the frontend, FastAPI and PostgreSQL on the backend, with SQLAlchemy for the ORM and Alembic for migrations. Application concerns and infrastructure concerns are kept strictly separate — the product layer is frozen once it reaches MVP, while the platform underneath is built up one deliberate stage at a time: Docker, then Kubernetes locally, then Terraform, then GKE, then Helm, CI, GitOps and observability.
- Infrastructure & deployment
- Terraform provisions the GCP foundation — VPC, GKE (Standard, zonal, Spot-node autoscaling), Cloud SQL on a private IP, Artifact Registry and Secret Manager. The application ships as a single Helm chart. GitHub Actions runs backend and frontend tests, a Trivy scan and a Docker build, then pushes immutable git-SHA-tagged images to Artifact Registry — CI never touches the cluster directly. Argo CD watches a separate GitOps repository and syncs the new image into GKE.
- Observability
- Prometheus and Grafana are provisioned as infrastructure via Terraform, kept outside the application's own Helm chart, and track the four golden signals — traffic, latency, errors and saturation — across both the backend and the cluster. The Grafana dashboard is defined and shipped as code, not clicked together by hand.
Stack
Application
React · TypeScript · FastAPI · PostgreSQL
Delivery
Docker · Kubernetes · Helm · GitHub Actions · Argo CD
Infrastructure
Terraform · GCP · GKE · Cloud SQL
Observability
Prometheus · Grafana

