Skip to content
aiengineer .uk

Stack

What we reach for, and why.

Published because a technical buyer would rather see this than a page of logos. The list is derived from the capability pages, so it cannot drift out of step with what is claimed elsewhere on the site.

Everything, deduplicated

AWS Airflow Bedrock Celery Claude Docker DuckDB Elasticsearch Hetzner Instructor Kubernetes LangChain Laravel Laravel Queues MCP Ollama OpenAI Pandas PostgreSQL Pydantic Python Qdrant Redis Temporal Terraform TypeScript dbt pgvector vLLM

By discipline

Where the same tool appears twice, that is usually the point. A smaller stack is easier for your team to keep alive after we go.

LLM integration

Read the detail
Claude OpenAI Bedrock vLLM Instructor Pydantic Laravel Python

Retrieval and semantic search

Read the detail
pgvector PostgreSQL Elasticsearch Qdrant LangChain Python

Agent and workflow pipelines

Read the detail
MCP Temporal Laravel Queues Celery Redis Python TypeScript

Model deployment and inference

Read the detail
vLLM Ollama Docker Kubernetes Terraform AWS Hetzner

Data engineering for AI

Read the detail
PostgreSQL dbt Airflow Python Pandas DuckDB

A note on choosing

Anything on this list can be swapped. The parts we are opinionated about are structural rather than branded: provider abstraction so a vendor change is a config edit, structured output with validation rather than parsing prose, idempotent tool calls so a retry cannot double charge, and an evaluation harness that exists before the feature does. Those hold regardless of which model or database is underneath.

Tell us what you are trying to build.

Technical detail welcome. The more concrete the problem, the more useful the first reply.