What I build with
Not a list of everything I have ever opened. These are the tools that turn up in almost every job, and the reason each one is there.
121 tools in 13 groups. 18 of them are running this page, or the ones next to it, while you read.
Every name links to the thing itself, so you can check what it is rather than take my word for it. A green tag links to where it's running on this site.
AI and agents
6 tools, 5 live on this siteAgents write most of my code now, under review, and one of them answers questions on this site. The skill is still the old one: deciding what they're allowed to touch, and checking what comes back before it ships.
AWS
22 tools, 12 live on this siteEvery site and system on this page is deployed and run by me, end to end — including the one you are reading. Since October it also runs a Claude agent on Bedrock, a live visitor map on Lambda and DynamoDB, and the whole dynamic half of the site as one CloudFormation template. What each service does, and how.
- CloudFrontruns this site
- S3runs this site
- Route 53runs this site
- Lambdalive: /ask
- Amazon Bedrocklive: /ask
- DynamoDBlive: /live
- CloudFormationthe template
- IAM and OACruns this site
- EventBridgelive: the bill
- Cost Explorerlive: the bill
- CloudWatch
- API Gatewaylive: /fleet
- Amazon Pollylive: /ask
- EC2
- SESlive: /mail
- Bedrock Guardrailslive: /security
- Amazon Textractlive: /receipt
- CloudFront multi-tenant (SaaS)live: /white-label
- Certificate Managerlive: /white-label
- WorkMail
- CodeDeploy
- AWS CodeCommit
Taking payments
2 toolsCard payments are the part of a build where "mostly working" is not a state. Both of these keep the card data off my servers and hand back a token, which is the only sane way to do it. How the payment and API work fits together.
The screen
14 toolsWhat the operator actually touches. The same component discipline whether it ends up in a browser or on a phone.
On the phone
6 tools, 1 live on this siteField work happens where the signal does not. Native where it earns its keep, installable web where a store listing would only be friction.
Behind it
10 tools, 1 live on this siteThe part that has to still be right at 2am.
Where the data lives
8 toolsMoney reconciles or it does not. These are the two I trust with a ledger.
At the command line
15 toolsMost of my day happens in a terminal. Servers, deploys, databases, DNS, the AWS accounts, app builds and the AI agents are all driven from the command line and scripted, so every deploy is one command and nothing depends on remembering which buttons to click.
Servers and delivery
5 toolsBoring on purpose. A deploy should be forgettable.
Hardware and IoT
8 toolsThe physical side: homemade 3D printers, Raspberry Pi robots programmed in Python, and trackers on expensive machinery that report power-on, run hours and location over cellular. How it plugs into AWS.
Things I plug into
10 toolsMost systems earn their keep at the seams, where they meet the phone system, the inbox, the CRM the business already runs, or the carriers that ship its parts and equipment.
Design, video, audio, 3D and games
12 toolsThe visual side, done in-house: brand and print, photo, video and sound, and the 3D and real-time engines.
Earlier tools, still on my CV
5 toolsNineteen years of this ran on Flash. The tools went away; the reasons they were chosen did not.