I'm a performance marketing specialist who builds things. Not talks about building things. Builds them. This site covers two sides of that: AI agents and training I build as part of my day-to-day work, and a project I started from scratch with no development background, a fully automated momentum trading scanner that runs every weekday and flags opportunities before the US market opens.
I've spent over a decade in performance marketing — predominantly PPC and more recently AI-powered campaign tooling, particularly around Performance Max. I've been published, I've built internal tools, and I've spent a lot of time trying to cut through as someone who actually does things rather than just writes about doing things.
In 2026 I started learning to code. Not because I needed to for my job, but because I'd reached the ceiling of what I could do by pointing AI at problems without understanding what was happening underneath. I wanted to build agents properly — the kind that do genuinely useful things and keep doing them when nobody's watching.
This project is the result of that. It started as a trading idea, became a data engineering problem, then a dashboard, then a backtesting tool. Along the way I learned GitHub, Python, GitHub Actions, Streamlit, and how to debug a pandas error at 11pm without losing my mind entirely. I'm a Type 1 diabetic with ADHD and a hint of autism, two daughters, and a background that didn't include any of the things this project required. None of that stopped it working.
US stocks that gap up in premarket with above-average volume tend to continue moving in the first 15 minutes of regular trading. Identifying which ones are worth acting on — before the market opens — requires scanning hundreds of tickers, scoring them across multiple signals, and having that information ready by 13:30 BST. Doing it manually every day is not realistic.
Score = (3 × gap%) + (2 × RVOL) + (0.5 × trend) + (2 × breakout) + (1 × volatility). Stocks scoring above 9 with a live premarket gap are the primary trade candidates.
The trading scanner is one visible project. Alongside it, AI agent building and teaching sits right in the middle of my day-to-day work in performance marketing, and I spend a fair amount of my own time on it too, both for colleagues and for external industry audiences.
An AI agent that audits paid search campaigns against best practice and flags issues automatically. The prompt logic behind it was later adapted to support a cross-company AI proof-of-concept, demoed at a major international industry event.
A working agent that scores an organisation's AI maturity and produces a structured assessment, built with full handoff documentation so someone else could rebuild or extend it without me.
An agent that matches a person's experience and interests against a large role library to suggest a sensible starting point for their next move, built during an internal hackathon day.
An agent that produces a daily market and industry signals briefing, now used by colleagues beyond the person it was originally built for.
Designed and delivered a hands-on, laptops-open AI training session for the IAB's Ad Labs series, reformatted into a practitioner workshop after feedback from an earlier, more theoretical session.
Regular coaching and desk-side training for colleagues building their first AI agents or adopting new tools, arising from direct requests rather than a formal programme.
Descriptions above are deliberately general. Specific employers, clients and internal systems aren't named, in line with normal workplace confidentiality, and everything here reflects my own personal views and projects, not any employer's.
GitHub Actions triggers universe.py at 12:00 UTC (13:00 BST) Monday to Friday. No manual intervention required.
yfinance pulls 15 days of OHLCV data plus live premarket price and volume for each ticker in the watchlist.
Five signals computed per ticker. Weighted score calculated. Results written to output/universe.csv and committed back to the repo.
Streamlit Cloud reads the CSV directly from GitHub. Dashboard updates automatically. No server to manage.
"I've always had a million ideas. ADHD makes them arrive all at once, loud, and rarely in order. For years the gap wasn't ideas, it was turning them into something real. Learning to build closed that gap."
This project isn't a tutorial I followed. It isn't a Kaggle notebook. It's something I built from nothing because I had an idea and wanted to know if I could make it work.
I'm a performance marketer. My day job is making advertising systems perform better. What I've discovered is that the skills behind that — structured thinking, data interpretation, identifying signals in noise, knowing when to act and when to wait — transfer directly into building data-driven automation systems and the AI agents documented above.
The AI tools I used accelerated my learning. They didn't replace the decision-making. Every design choice in this system, every fix when something broke, every time the backtest showed a result that didn't make sense and I had to figure out why — that was me.
If you're building a team that works with AI-powered systems, or that needs someone who can build them and teach others to use them, this is what that looks like in practice.
Alongside the project above, I spend a good chunk of my own time teaching AI skills — to colleagues, and to industry audiences like the IAB. If you're planning a session, a workshop or a team day and want someone who builds the thing as well as explains it, here's the kind of thing I do.
Laptops-open sessions where people leave having actually built something, not sat through a deck. Format proven with the IAB UK Ad Labs series.
A practical look at where AI genuinely fits a team's existing work, not a generic AI 101. Grounded in real automation and agents I've built myself.
Desk-side coaching for people building their first AI agent or adopting a new tool, the same way I coach colleagues day to day.
This is a personal project, run in my own time, and reflects my own views rather than any employer's. I'm currently focused on training and speaking rather than paid consulting engagements.
If you're planning a training session, workshop or team day and think this might be a fit, drop me a line. I read everything myself.