This is how we work.
Five stages, six principles, three ways of working. The shape holds; the rigor inside is not optional.
Five stages, every engagement.
Discovery
We read what exists. Talk to the team. Map the system. Write the brief together — every assumption named, every constraint enumerated.
- System map
- Signed brief
- Risk register
- Scope agreement
Architecture
Diagrams, documented technical decisions, infrastructure plan. Signed off by your CTO before we write code. Anything we can't justify against a constraint, we don't build.
- C4 diagrams
- Decisions (ADRs)
- Infra plan
- Evaluation plan
Foundations
CI, observability, auth, schema, deploy. The boring things that stop being free if you bolt them on later. Production-deployable from week two.
- CI/CD pipeline
- Observability
- Auth + permissions
- First production deploy
Build & ship
Bi-weekly increments. Demo every Friday — every demo is production. Feature-flagged, gradual migration where old systems exist, no big-bang cutovers.
- Bi-weekly increments
- Production demos
- Telemetry per release
- Feature flags + rollback
Continuous support
We document, we run pairing weeks, we hand over keys. Or we stay on retainer for the parts only we can see. Your call, written into the SOW.
- Decision archive
- Runbook
- Pairing handoff
- Optional retainer
What we reach for by default.
Project-specific overrides are common. This is what shows up if we don't have a reason to change it.
Three shapes. We agree on one in week one.
Sprint-based
Net-new builds, focused rebuilds. Most common shape.
- Dedicated team
- Friday demos
- Continuous production deploys
- Documented decisions
Retainer
Post-launch evolution, ongoing support and on-call.
- Assigned team, partial dedication
- Rotating on-call
- Architecture office hours
- Quarterly review
Fixed scope
Clear deliverable, regulatory deadline, clean closeout.
- Defined milestones
- Acceptance criteria
- Bonus / penalty clauses
- 30-day warranty