The rise of DeepSeek R1 in January reminded everyone that model progress isn't slowing. It also reminded us of a less glamorous truth: most companies still can't get a two-step automation into production without an outage.
Bridging the PoC-to-production gap is where automation projects live or die. This is what we run today.
The stack
- Orchestration: Temporal for anything durable, n8n for glue and business-user-editable flows.
- LLM gateway: a thin internal proxy in front of every provider so we can swap models, rate-limit, and log without touching application code.
- Observability: OpenTelemetry traces on every step, Langfuse (or a lightweight equivalent) for LLM-specific spans, Grafana for the humans.
- Secrets and config: pushed from a single source of truth, versioned, environment-scoped, never in a .env in production.
- Data: Postgres for state, object storage for artefacts, a vector store only where semantic search actually earns its keep.
The operating model matters more than the stack
The best-instrumented automation still fails if nobody owns it. Every workflow we ship goes live with a named business owner, a runbook, and an SLA. If the workflow is important enough to automate, it's important enough to page someone when it breaks.
The 80/20 that unblocks most teams
If you're stuck at PoC, the two changes that move the needle fastest are: introducing a durable workflow engine so retries and human-in-the-loop steps stop being ad-hoc, and shipping structured logs from day one. Everything else is easier once those two are in place.
Want to talk through this on your project?
We work with teams shipping AI, automation and intelligent products end-to-end. If any of this maps to what you're building, we'd love to compare notes.
Start a conversation