My work.
Here's the work I'm most proud of - most of it a problem a business had quietly lived with for a while, and the thing I built to lift it off them. A price monitor so the commercial team stops checking by hand. A compliance checker so gathering the evidence no longer eats a consultant's week. A jobs feed to bring traffic to a board with nothing on it yet. Have a look through, and if your team has a hard problem it can't crack for a reasonable budget, I'd like to hear about it.
What I've built lately.
Content that keeps itself current
Publishing pages that carry numbers - prices, benchmarks, "updated for 2026" posts - and dreading the refresh backlog? I built a statistics site where every figure recomputes from its source, and a Claude routine reads the prose against the data each morning. The patterns transfer to any site.
How it works
The parts Shopify Plus B2B doesn't do
Running trade pricing through an ERP and wondering whether Shopify Plus can hold it - the negotiated specials, the volume breaks, the carton rules? I moved the price lists across natively and built the one piece the platform can't do, so every customer sees the price their rep agreed.

Eight content ideas, from the model you choose
Type a topic or paste your URL, then pick which model does the thinking - Llama, Qwen, DeepSeek and a few more, most of them free - and get eight commissioning-editor pitches: safe bets, bold swings and contrarian takes, each scored for freshness.

The world's first AI-ready job board and data platform
Jobs pulled from 19 ATS platforms, AI-enriched on the edge, and served four ways from one store - web page, XML, JSON and live agent tools.

Shopify Plus - Industrial B2B commerce, wired to SAP B1
Five legacy brand sites folded into one Shopify Plus trade store, priced live from SAP - and organic search up 35% year on year.

Retail competitor price monitoring
Five competitors' prices across a 1,250-product portfolio, checked overnight instead of by hand.

Compliance monitoring software for FCA-regulated networks
Three hours of manual checking per broker site, down to minutes - with the evidence attached to every decision.

Technical SEO audits, inside Claude
Search Console and a full crawl of your site, merged into one ranked audit you can talk to.

Retail price and product data collection, with n8n
Product catalogues from 20+ suppliers, re-scraped, enriched and served to publishers daily.

Private AI on my own hardware
The volume work moved onto my own GPUs, and sensitive data never leaves the building.
Content automation with a system behind it
Research, drafting and fact-checking at production scale, ready for your editor before publish.
The businesses I run myself.
These are my own businesses and the tools I use every day.

SimRacingCockpit
My flagship. A site that helps sim racing enthusiasts find the right product, and the place I keep my SEO sharp by holding top rankings for buyer's guides and reviews. Every guide carries live pricing, stock and discount codes from a price engine I built, and it's where I test dynamic content marketing in public.
simracingcockpit.gg
The price engine
A crawler on Cloudflare that visits the known suppliers in an industry for the latest prices, stock and new products, reads each product page with a model to pull out the technical specifications, and serves the result as an API. The same engine became the price monitor a B2B distributor uses to set retail pricing without undercutting its own trade customers.

YubHub
The job scraper I built for fluidjobs.com, grown into a platform of its own. It turns any careers page into a structured feed, and it was my study of how a modern website works in the agentic era: manage your account through your AI assistant over MCP, and let an agent do the job search for you over WebMCP.

Assure
Data collection and AI, pointed at financial-services websites and the FCA's rules. It crawls a site, takes snapshots on mobile and desktop, and evaluates the messaging and the advertising, so a compliance team isn't bogged down in collecting the evidence. The human makes the decision.

The rig
A pair of modded RTX 4090s running the local models I test and write about, with LM Studio and vLLM. Some data shouldn't leave the building, and I like to know what each model can do on real hardware before I recommend it.

TheDailyVisual
A statistics site where every figure recomputes from its source and a routine reads the prose against the data each morning. My test bed for content that keeps itself current.
The open-source machinery behind the work.
On GitHub · @houtini-ai All repos
seo-audit
GSC history × first-party crawl in one SQLite join - 90 checks, findings priced by expected clicks per developer-hour, paste-ready fixes.
houtini-lm
Claude delegates bounded work to your local models over any OpenAI-compatible endpoint - with measured per-model routing.
vllm-bench
Benchmark open-weight models on vLLM in Docker under one fixed protocol - decode at three context lengths, cold TTFT, four at once, power and VRAM - with a results explorer.
gemini-mcp
Gemini as Claude tools: grounded current search, image, SVG and video generation without leaving the conversation.
better-search-console
Your complete Search Console history synced into local SQLite - decay, cannibalisation and striking-distance queries, not the API's 1,000-row sample.
yubhub
Turn any careers page into a structured, agent-readable job feed.
voice-analyser-mcp
Six analysers over a writing corpus, out the other end: a Claude Skill that writes in your voice.
geo-analyzer
Measures how AI search reads your content - extractability, authority signals, citation-worthiness.
seo-crawler-mcp
A polite site crawler with a persistent SQLite query layer, built for LLM consumption.
The full MCP catalogue - with install commands and the marketer-friendly explanations - lives on the tools page. Most of these publish to npm under @houtini.
What is the hard problem you can't solve for a reasonable budget?
Tell me what you're trying to figure out and I'd be delighted to think about it. I take a consultative approach - listen first, then propose a solution and the shape it might take.