A few chapters of making things.
Independent discovery project
I designed, built and launched a discovery product that helps people compare options in a fragmented market. I lead its product direction, project delivery, development and search strategy, bringing a carefully researched dataset into a useful public application.
The data model separates operators, locations and individual offerings. A controlled taxonomy, source records, confidence scores and verification dates help keep the information consistent and make uncertainty explicit. A separate local data manager supports research, automates checks for changing facts such as prices, and highlights gaps that need attention.
The public application uses Python, Flask, HTMX and PostgreSQL, served by Gunicorn and Caddy on Ubuntu. The local data manager uses SQLite. I use AI to assist with bug fixes, small improvements and content production guided by an editorial style guide.
I use an Agile approach with a Kanban backlog, reviewing priorities daily and testing successive versions locally. My own QA and AI-assisted reviews inform the next iteration. I deferred a more complex analytics feature to focus on the work needed for a launchable MVP.
This brings together the work I most enjoy: structuring complex information, designing around real decisions and taking an independent product from an idea to launch. The MVP is live; I’m keeping its identity and subject private here.
Skills in practiceProduct & project delivery · Technical SEO · Data modelling · Python · Flask · HTMX · PostgreSQL · SQLite · Linux
Automated website provisioning
I designed and built an internal platform that turned a manual website setup process into a repeatable workflow for staff. A Flask application managed builds and progress; Airtable and a central database kept project information in sync.
Celery tasks and Python scripts provisioned Linux hosting and configured WordPress installations, with browser automation handling steps that APIs could not. The platform also prepared standard-page drafts for human review. It reduced repetitive setup work and gave staff a clearer quality-assurance step before release.
Skills in practicePython · Flask · APIs · Celery · Linux automation · WordPress
Head of Technical
For almost two years I worked as Head of Technical for a client, with a remit much like a CTO’s. I built software that connected with the company’s SEO efforts, led a specialist team of around 20, and developed workflows that made technical delivery more consistent.
Software delivery followed a Waterfall approach: agreed requirements and sequential stages, with management review and sign-off before moving forward. Requested changes were generally scheduled for a later version rather than added to the current scope.
It was a substantial technical leadership chapter. I’m keeping the client and implementation details private here, while recognising the role as part of the path from hands-on SEO work toward building software.
Skills in practiceTechnical leadership · Software development · SEO systems
Independent websites
Over those years I built and ran dozens of informational websites. The early projects ranged across specialist pet sites, video games, tech and other niches. Some earned through affiliate partnerships; many were built to sell, and I sold a number of them for low five figures.
Later I moved away from flipping and leaned into sites that could earn over time. I called some of them “query sites”: tightly focused projects built around a family of questions people actually ask, such as what can substitute for a particular ingredient. Food was one of the areas I explored.
There were failures and modest wins alongside the standouts. The through line was learning to find a useful question, build a site around it, and run it as an independent business.
Skills in practiceSearch strategy · Site architecture · Publishing operations
Pathtorch
I built Pathtorch around a simple idea: make the hidden technical problems in a website easier to see and understand. It brought together my interests in design, development and the less visible systems that shape how a site performs.
I designed and coded its website, which received recognition in 2019. I considered bringing the project back in 2026, then decided against the relaunch. It belongs here as work I made and learned from, rather than something I am currently selling.
Across my SEO years, my work appeared on Ahrefs, Authority Hacker, Diggity Marketing and other industry sites.
Skills in practiceTechnical SEO · Website diagnostics · Design & development
Optimizers Club
On-Page Academy began as a learning community around improving websites. It later became Optimizers Club, a paid membership and monthly subscription service, formerly at optimizers.club.
It was an experiment in turning shared knowledge and ongoing discussion into a product people could return to. The subject matter was SEO, but the work of building a community, shaping a useful membership and sustaining it over time reaches beyond that niche.
Skills in practiceOn-page SEO · Education · Community building
On-Page Quick Wins
I published On-Page Quick Wins as an ebook through Gumroad. It sold more than 500 copies in its first week.
The subject was on-page SEO, but what stays with me is the product lesson: focused knowledge, packaged clearly, can find an audience quickly. It was one of my early proofs that a small independent digital product could reach people at scale.
Skills in practiceOn-page SEO · Writing · Digital publishing