Skip to content
Available for new projects

Automation is the easy part. Making it fit how you actually work is the real job.

I’m an AI and automation engineer. Some of it really is just connecting two tools, and that’s genuinely all it needs to be. The rest is shaping the data and infrastructure underneath, so the workflow fits how you actually run instead of how the software assumed you would.

For the last stretch I’ve been at a recruitment agency, moving work off people and into systems. I designed the data their tools had to agree on, pulled every lead source into one pipeline, built an AI search tool over their own records, and implemented client billing and contractor payment systems wired into their infrastructure.

The pattern was the same every time. Something started as a person maintaining a spreadsheet, and ended as a system that keeps its own records and can tell you why it did what it did.

PostgresVector searchAPI integrationsStripeScheduled jobsLLM pipelines

Screenshot slot

/media/portrait.png

A simple, well-lit headshot. Square crop, at least 600x600. Optional, but the hero looks better with one.

Live demo

Watch a messy message become a structured record

This runs for real. A model reads the message; validation and routing are ordinary code. Nothing is sent to anyone — the reply is drafted and waits for a person, which is how I build these.

398/2000

Runs live against a real endpoint. Don’t paste anything confidential — it’s a public demo.

  1. ExtractAI
  2. Validatecode
  3. Routecode
  4. DraftAI

Pick a sample or paste your own, then run it.

One model call reads the message. Validation and routing are ordinary code.

Other work

Systems that are live and running

All built for a recruitment agency, but none of it is specific to recruiting. The same machinery moves to any business running recurring work across several tools.

Embeddings · Vector Search

AI search over a company's own records

Paste in a description of what you need and it ranks everything in the database by meaning rather than keywords, with a stated reason for each match and a link back to the source. This can be applied to company SOPs, support tickets, or any other internal knowledge base.

Turned a half-day of manual shortlisting into a few seconds of review.

Vector searchAI summariesSource links

Ads · CRM · lifecycle email

One pipeline for every inbound lead

Leads from ads, the website, and referrals land in one database, gets deduplicated on arrival, sync to the CRM with their source attached, and start the follow-up sequence that matches what they asked about.

SDRs are able to reach out to every lead within 24 hours, and the company can see which sources are actually producing.

Meta lead adsWebhooksCRM sync

Database design · record matching

Getting four tools to tell the same story

One record per person, linked to their ID in every other tool. Statuses follow explicit rules instead of a free-text dropdown, and a nightly job reports anywhere the systems disagree.

Reports people actually trust, and mismatches caught before they reach a customer.

PostgresSchema designAirtable

Stripe · Client Billing System

Billing that survives a messy month

Invoices go out at the start of the cycle, then reconcile as the late adjustments arrive. Every line traces back to the record that created it, and alredy processed invoices are gated preventing double charges.

A recurring full-day billing task reduced to reviewing the exceptions.

Stripe APIWebhooksSafe re-runsReview queue

Wise · Talent Payout System

Paying people out, with approval gates

Automated aggregation of timesheet submissions and other payout sources such as bonuses, reimbursements, and one-off payments. A manager reviews the batch and approves it, then the system pays everyone out on schedule.

Significantly reduced the time spent on payroll, and eliminated errors that used to require chasing people down.

Wise APIApproval gatesReconciliation

Scheduled reminders and approvals

The chasing nobody wants to do

Reminders that only go to people who genuinely haven't done the thing, one-click approve/reject links that need no login, and a send log that stops anything going out twice.

Follow-up stopped depending on someone remembering to do it.

Scheduled jobsTransactional emailSigned links

Free systems audit

Show me your setup. I’ll tell you what I could fix.

No call required. Tell me what you run and what your team does by hand, and I’ll write back with what I’d look at first.

What you get back

  • Whether your tools can be integrated, and how
  • The manual work that's cheapest to remove first, and roughly what it takes
  • Anything I think you shouldn't automate yet, and why
  • An honest answer if there's nothing here worth paying for
Based inRemote

Please don’t include sensitive data here. Describe your tools and your process, not anyone’s information.