All capabilities
Capability

Automation Engineering

I design automation systems that handle the predictable work, receiving webhooks, routing events, extracting data from documents, syncing records across tools, so your team spends time on the unpredictable parts.

At a glance

  • Backed by public open-source code, not just a description on a page.
  • Long-form essays on the same topics, with sources cited.
  • Production patterns the same hiring team can lift straight into their stack.

About Sarma

Sarma is a UK-based software engineer running Sarmalinux as a one-person studio. He ships nineteen open-source repositories spanning LLM gateways, coding agents, inference, storage engines and consensus, and writes long-form engineering essays at sarmalinux.com/blog. Senior IC, end to end.

Automation breaks in two ways: it silently fails and nobody notices, or it becomes so complex that nobody can fix it. I prioritise the opposite: visible failures, clear error paths, and workflows that a generalist can follow six months later. My automation stack centres on n8n for orchestration, typed webhook receivers for event ingestion, and Python-based document extraction for structured output from receipts, invoices, and PDFs. All of it self-hosted or Supabase-backed, none of it dependent on SaaS tools that can change pricing overnight.

What this covers in practice

n8n workflow design

End-to-end n8n automation for complex multi-step processes. Self-hosted on DigitalOcean or Kubernetes, you own the data and the runtime.

Webhook receivers

Typed webhook ingestion with signature verification, retry logic, and dead-letter queuing. Based on webhook-to-email and extended to whatever downstream target you need.

Document and receipt OCR

Vision-based structured extraction from receipts, invoices, and scanned documents, outputs validated JSON, not raw OCR text. Based on receipt-scanner.

API integrations

Connect tools that have APIs. I write the adapters, handle rate limits and auth rotation, and wire them into your n8n flows or a standalone service.

Event routing and fan-out

Route inbound events to multiple downstream consumers, email via Resend, Slack, Supabase inserts, or other webhooks, with per-destination error handling.

Scheduled data sync

Cron-driven pipelines that pull from external APIs or databases, normalise the data, and push it into Postgres. Runs on n8n or a standalone Python service.

Stack

n8n (self-hosted)Python 3.12 / uvFastAPIResendSupabase + PostgresDigitalOceanDockerTypeScriptWebhook signature verification

What a hiring team gets

Self-hosted, you own the runtime and the data
Visible failures, not silent data loss
Typed schemas so bad inputs are caught early
Straightforward to debug: one flow, one log stream
Documented so your team can modify without me
No SaaS pricing surprises mid-project

Read the evidence

Open the public repositories, browse past work, then look at the hiring page if a PAYE shape fits your team.