Architecture
Systems designed for the second year, not the first demo
Architecture is a series of trade-offs made on purpose and written down. Here is how I make them - and the defaults I start from before your context changes them.
Reference architecture
The shape most products should start with
Five layers, clear responsibilities, and nothing distributed until a team boundary forces it.
Principles
The decisions that matter, and my defaults
Monolith or microservices
Almost every startup should start with a modular monolith. Services are an organisational solution to a team-size problem - I split when team boundaries, not diagrams, demand it.
Scaling
Scale the bottleneck you measured, not the one you imagined. Read replicas, partitioning and horizontal workers, applied in that order and only when the data says so.
Caching & Redis
Cache keys, TTLs and invalidation paths are designed with the feature. Redis handles sessions, locks, rate limits, live state and queue backends.
Queues & background work
Anything slow, external or retryable goes to a queue with idempotency, backoff and dead-letter handling defined up front.
Docker & CI/CD
Identical images across environments, migrations gated in the pipeline, and a rollback that a junior engineer can run at 2am.
AWS & Cloudflare
Managed services where they save time, edge where latency and cost matter. Infrastructure defined as code, never clicked into existence.
Security
Least privilege, secrets never in code, authorisation enforced server-side, dependency scanning in CI, and a documented incident path.
High availability
Multi-AZ, graceful degradation and tested restores. A backup you have never restored is not a backup.
Monitoring & logging
Structured logs, traces on every request, alerts tied to user-visible symptoms rather than CPU graphs.
Deliverables
What you receive from an architecture engagement
Documents your team can execute, and reference code that proves the pattern works in your codebase.
Domain map
Boundaries, ownership and the events that cross them.
Data model
Schema, indexes, partitioning and growth projections.
Scaling plan
What to do at 10x, and the metric that triggers it.
ADR set
One page per decision, with the options we rejected.
Taking on 2 new partnerships for Q4
Have an architecture you want a second opinion on?
Two weeks, one written assessment, and a prioritised list of what to fix first.