About me

AI-native engineer

I build software with coding agents, and I build the agents themselves. Most of the code I ship today is typed by an agent; my part is everything around it — the rules it follows, the tools that let it see the running system, and the checks that decide what ships.

Before agents I spent thirteen years writing backends by hand: payments, ad-tech, data platforms, distributed systems — in product companies and consultancies, small teams and large, remote and on-site. That is what I lean on now: knowing what good code looks like is what makes an agent’s code worth keeping.

Distributed, async teams are where I do my best work. Mentoring, writing, and sharing what I’ve learned — that’s why this blog exists.

How I build

With agents, inside a harness. An agent is as good as what it can see. I give mine the logs, the traffic and the errors of the stack it is changing — procdeck started as exactly that — and rules written down in the repo instead of repeated in chat.

Agents in products. A loop with tools, memory and a hand-off to a human, a cheap classifier before any chat model, and evals on real scenarios before a prompt or model change goes out. More on that in a chat is an agent with a human inside the loop.

Types as guard rails. TypeScript and Effect put errors, dependencies and resources into the types, so agent-written code is reviewed, not just trusted. Go where one binary is the point — that’s how procdeck ships.

Small, transparent pieces. Event-driven systems and serverless: functions, queues and tables you can see, rather than infrastructure hidden inside a container.

Automation is the habit behind all of it — my open source started the same way: a deploy tool, a typed AWS SDK, a Telegram bot SDK, a dev-process manager.

Expertise

AI agents & LLM features

LLM features built like the rest of the backend — typed, measured and on a budget.

  • Agent loops with tools, memory and hand-offs to a human
  • Evals on real scenarios before a prompt or model change ships
  • Cost guards: cheap classifiers first, spend checked before every model call
  • Dev tooling that coding agents can query instead of guessing

Cloudflare AgentsWorkers AIOpenAIMCP

procdeck →A chat is an agent with a human inside →

Type-safe backends

Errors, dependencies and resources as part of the types — the guard rails that let agent-written code be reviewed, not just trusted.

  • Failures are typed values, not surprise exceptions — every error path visible in review
  • Dependencies come through types, so a service is swapped in tests without mocks
  • Retries, timeouts and cleanup composed from small pieces, not hand-rolled

TypeScriptEffectGo

aws-sdk →tg-bot-sdk →

Payments & data pipelines

Backends where a lost event is lost money.

  • Payment, subscription and dispute flows held to latency SLAs
  • Event pipelines into the warehouse, with alerts when volumes drift
  • Reconciliation that survives currencies, retries and edge cases

SQLSnowflakeWebhooksQueues

Serverless & delivery

Systems assembled from small, transparent pieces — and shipped often.

  • Cloudflare Workers, Durable Objects and D1; AWS Lambda and DynamoDB
  • Fast CI/CD with end-to-end tests on the critical paths
  • Debugging from logs, traffic and alerts before reading code

CloudflareAWSGCPGitHub Actions

effortless-aws →A simpler AWS deploy tool →

Experience
13 years in production, since 2013
Languages
TypeScript and Go today; Scala, Java and Kotlin before
Clouds
AWS, GCP, Azure, Cloudflare
Teams
Team lead, hiring and mentoring; remote and async

Get in touch

Write to me

Just write — it lands in my inbox. Or email alex@kondaurov.dev.