Automating
the boring.
Scaling the interesting.
I build the piece of software a business is usually missing: the one that reads what customers send (lists, orders, forms) so a person doesn't have to retype it. Every build comes with a test that shows how often it's right, so you know what it gets wrong before you trust it.
This is a system I built for cleaning, security and facilities companies in the UK. Every morning at 6:30 it wakes up on its own, reads every new government contract notice, works out which ones fit each company, and writes them a short email. No one presses a button. The numbers below come straight from its own logs.
I automate the repetitive step between
“a customer sent us something” and “we acted on it.”
Lists, orders, postings, tenders: the part a person re-keys because nothing reads it for them.
I spent a year automating lead-finding for a sales-software company, got good at it, got bored of it, and noticed the same missing piece everywhere: nobody measures whether the automation is right. So now I build the thing, and the test for the thing.
ToolsMostly Python, plus whatever your business already runs on. Each project below names its tools.
A company that finds sales leads for other businesses. I automated how each lead gets researched, filled in with missing details, and added to the customer database.
An investment firm. I built the system that reads resumes and ranks candidates for their recruiting team.
Finds government contracts for cleaning, security and facilities companies, every morning, on its own.
Government contract notices are spread across several websites that alert tools don't read. This pulls from all of them, uses AI to decide which fit each company, checks the deadline is real, and emails a short list. Built alone, running unattended since July.
Reads a job posting and tells you whether the “AI” role is real, dressed up, or a scam.
I hand-checked 72 real postings first, then measured the AI against them. When it scored a suspiciously perfect 100%, I found my own test was leaking the answers, fixed it, and published the lower, honest score.
Reads incoming resumes, ranks the candidates, and books the interviews.
Built for a recruiting team spending most of a day a week reading resumes by hand. The system reads them, scores them against the role, writes the shortlist and schedules the calls.
Paste your notes, get a slide deck in under a minute.
Structures the story, writes the slides and speaker notes, exports to PowerPoint. Live, free to try.
Turns a raw list of names into CRM-ready leads with emails, company details and a score, automatically.
Pulls from several data sources, fills the gaps, checks the data, scores each lead, syncs to the CRM and posts a Slack alert when a good one lands. Enrichment used to be a person with a spreadsheet.
Writes a short, factual email about a company using only what a research step actually found.
AI left alone invents flattering details. Here, a research step runs first, the writer is only allowed to use what it found, and a separate checker reads every claim against the research.
do the work.
A short video of an automated task board. The cursor you see is the system, not a person. It picks up each job, handles it, and flags the one that needs a human. Demo data.
Every system on this page has failed at least once. This is the list. I keep it public because a person who tells you when it breaks is worth more than a system that claims it never does.
the bench.
What I tried, what broke, what fixed it. The parts a demo skips. Written so you do not need to read code to follow it.