Start with the friction.
A useful product begins with the awkward part people keep working around—not a technology looking for a reason to exist.

Software developer · Product builder
I build useful internet things.
AI products, agent systems, WordPress and WooCommerce engineering, data tools, maps, and practical writing—built to turn messy questions into working software.
Why this site exists
This is where half-formed questions become useful software.
Some projects begin with a file that is needlessly hard to change. Others begin with a dataset nobody can explore, a price nobody can compare, or a workflow with too many steps.
The common thread is practical: understand the real problem, make the complexity navigable, and leave behind something clearer than what was there before.
A useful product begins with the awkward part people keep working around—not a technology looking for a reason to exist.
Good interfaces expose the source, the tradeoff, and the next decision without making people decode the machinery first.
Put the working thing in front of real people, learn from evidence, and keep tightening what matters.
Selected directions
Different subjects, same job: turn information or friction into a clear route forward.
AI products, agent systems, WordPress engineering, marketplaces, and open experiments.
See the projectsBrowser-first utilities for AI pricing, files, media, search, privacy, and everyday friction.
Open the toolboxInteractive maps and a curated shelf for exploring history, hazards, science, and the planet.
Explore the mapsBreed data turned into a matchmaker, world atlas, comparisons, collections, and games.
Visit the dog hubClear notes and investigations on products, AI pricing, internet systems, and how things get built.
Read the writingBeyond this site
Current product work, selected for momentum and public proof. Full inventory lives on the projects page.
View all projectsHave something useful to discuss?
Product problem, dataset, correction, or collaboration—email is best. A short note with context and a useful link is enough.