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
Recent work in this lane
What a hiring team gets
Read the evidence
Open the public repositories, browse past work, then look at the hiring page if a PAYE shape fits your team.