Hi, I'm Caleb Welsh

Automation Engineer | Founder of Algorhythma

I build systems that keep running when I close the laptop.

Caleb Welsh

About Me

Founder at Algorhythma, where we build production automation for small and mid-sized businesses. In practice that means bank feeds that categorize themselves, inboxes that draft their own replies behind a human approval, and overnight work that runs on a schedule nobody has to watch.

We tend to get called in when a process has outgrown the spreadsheet holding it together, and the answer is rarely another tool. It is usually a pipeline, a gate where a person still signs off, and somewhere to look when it breaks.

Before that I worked in security engineering and IT, which is where the habits came from: assume the thing is broken, verify it rather than trust it, and build the gate before you build the automation behind it.

Away from work I play rated chess at around 2000 rapid, which is how the tournament finder below came to exist. I have a B.S. in Cybersecurity and an M.S. in Data Science, both from Purdue.

Skills & Expertise

Automation

  • n8n, Windmill, Tines
  • Webhook and event pipelines
  • Scheduled job infrastructure
  • Slack and email workflows

Backend & Data

  • Python, SQL, TypeScript
  • Supabase, Postgres, FastAPI
  • GraphQL and REST integrations
  • ETL and dataset publishing

Cloud & Infrastructure

  • AWS Lambda, S3, Bedrock
  • Docker and Terraform
  • Linux, systemd, Raspberry Pi
  • CI/CD with GitHub Actions

Security

  • IAM, RBAC, zero trust
  • CrowdStrike, Okta, Qualys
  • ELK Stack and Wazuh
  • RMF and FISCAM controls

Recent Projects

Self-Filing Bank Ledger

Webhooks from a business bank land in a bookkeeping base already categorized, and deposits split themselves into tax and profit reserves before I ever look at them. Settlements move rows from pending to cleared on their own.

SupabaseTypeScriptWebhooksAirtable

Client Inbox With a Human Gate

Mail arrives, a model drafts a reply against a dossier of everything that account has said before, and nothing sends until I tap approve in Slack. The gate is the point, not the drafting.

PythonWindmillSlack APIGmail API

CW Chess Tournament Finder

I play rated chess and the official listings are miserable to search, so I wrote a pipeline that normalizes USCF tournament data and an app that filters it by format, region and state.

ReactVitePythonS3
Visit Site

Raspberry Pi Job Fleet

Scheduled automation running on Pis at home: self healing DNS, a standby box that watches the queue in case the first stops answering, and systemd units that survive a reboot without me.

Raspberry PiWindmillsystemdLinux

Zelda Reinforcement Learning

A reinforcement learning environment wired into a Game Boy Advance emulator so an agent can learn A Link to the Past by playing it. It is not good at the game yet.

PythonmGBARL
View on GitHub

Anime Dataset Compiler

A collector that walks the AniList GraphQL API and publishes the result to Kaggle on a schedule, packaged in Docker so it runs anywhere.

PythonGraphQLDockerKaggle
View on GitHub

Resume

The full version, with dates and detail:

Automation, Backend Engineering and Data

Agentic pipelines, security automation and full stack data engineering across cloud, security operations and ML.

Get In Touch

Happy to talk about automation work, or chess.