Public case study · architecture and implementation
Systems / Operations
One operating layer for identity, devices, access and assets.
A Go control plane that coordinates lifecycle and reconciliation work across multiple systems without treating a partial view as the truth.
Full-stack path
Choose a stage to inspect its responsibility and boundary.
Stage 01
Management web UI
An authenticated interface makes lifecycle state, proposed work and explicit outcomes reviewable before and after execution.
Implementation
Server-rendered Go templates with OIDC-authenticated routes.
Boundary
The interface requests work; it does not bypass service-level validation.
Stage 02
Go HTTP layer
Thin handlers normalize input, enforce authentication and pass validated requests into the same services used by background workers.
Implementation
Go HTTP API, hardened sessions and CSRF protection.
Boundary
Transport concerns stay separate from cross-system policy.
Stage 03
Job and reconciliation layer
Durable jobs re-read authoritative state, calculate the intended result and make retries converge without repeating side effects.
Implementation
Faktory workers, service packages, PostgreSQL and GORM.
Boundary
Incomplete or contradictory source state stops consequential work.
Stage 04
Serialized write workers
Order-sensitive external mutations use a dedicated queue so competing jobs cannot race each other into an invalid result.
Implementation
A single-concurrency worker pool for sensitive write paths.
Boundary
Only work that requires ordering pays the serialization cost.
Stage 05
External systems
System-specific clients translate between vendor APIs and stable internal service contracts while preserving explicit success, no-op and failure outcomes.
Implementation
Typed API clients for identity, HR, device, access and asset systems.
Boundary
No single vendor response is treated as proof of complete cross-system state.
Context
Operational change crosses systems with different state, timing and failure modes. A successful request in one system does not prove the whole operation is complete.
Proof in the build Lifecycle jobs re-read authoritative state before consequential writes and stop when inputs are incomplete or contradictory.
System
An authenticated management web UI and HTTP layer run in the Go service. Background workers coordinate idempotent work, serialize sensitive writes and record explicit outcomes.
Proof in the build Roughly 20,000 lines of Go run as one binary with an HTTP API, authenticated UI and two worker pools with different concurrency guarantees.
Sanitized system view
Lifecycle state, before any write.
Representative workflow using no live identity, device or asset data.
Lifecycle / Reconcile
Employee transition review
Ready to reconcile
Compare authoritative identity, device and asset state before scheduling cross-system changes.
Authoritative state
HR event + Okta identity
Managed context
Jamf device + asset assignment
Reconciliation checks
✓Source records agree
✓Required ownership is known
✓Write order is explicit
✓Every outcome is recorded
Identity / Provision
Application access plan
Changes prepared
Reconcile requested entitlements with current identity state before granting, changing or revoking access.
Requested state
Okta groups + application role mapping
Decision context
Active identity + approved access scope
Provisioning checks
✓Identity is active
✓Requested role is mapped
✓Current access is reconciled
✓Revocations are ordered
Fleet / Coordinate
Managed device transition
State confirmed
Bring lifecycle intent and current fleet evidence together before scheduling device-side work.
Fleet state
Jamf inventory + device ownership
Lifecycle context
Employee state + action eligibility
Device checks
✓Inventory is current
✓Ownership is consistent
✓Recovery material is accounted for
✓Destructive work is gated
Assets / Reconcile
Assignment review
Ready to update
Resolve the relationship between a person, a managed device and its asset record before changing assignment state.
Recorded assignment
Asset register + managed device reference
Corroborating state
Lifecycle event + fleet ownership
Assignment checks
✓Assignment is unique
✓Device reference matches
✓Return state is explicit
✓Change evidence is retained
Inside the control plane
Three technical choices define the architecture.
Runtime
One Go binary, three roles
The same executable runs the OIDC-authenticated management UI and HTTP service, a concurrent Faktory worker pool or a dedicated serialized write worker. Templates and static assets are embedded.
Jobs and state
Concurrency where safe, ordering where required
Faktory handles asynchronous work. PostgreSQL and GORM hold durable application state, while sensitive external mutations use a deliberately serialized path.
Integration design
Vendor APIs stay behind service boundaries
System-specific clients own transport and data mapping. Service packages own cross-system rules, so thin handlers and workers reuse the same orchestration logic.
Guardrails
Verify current state before consequential changes
Stop on incomplete or contradictory state
Make repeated work safe
Distinguish success, no-op and failure
Scope
Identity
Devices
Access
Assets
HR
Lifecycle
Reconciliation
Identity estate
SSO, SCIM and RBAC across 80+ applications.
I implemented and managed the Okta identity layer across a broad application estate, including authentication, provisioning and role-based access design.
In-house SCIM in Go
Access governance built into the control plane.
The Go platform uses Okta group membership as its source of truth, then grants, revokes and continuously reconciles downstream access through a custom-built SCIM provisioning engine.
Result
A single operating layer for cross-system work, with clearer failure behavior and stronger operational evidence.