The software and tools I use to build things.
A short and honest list of what I actually work with day to day. It's what I reach for, not everything I've ever touched. It changes over time, and I update this page when it does.
Workstation
MacBook (Apple silicon)
Everything I build runs through this machine. macOS, a terminal, and a browser cover most of the job.
Development
VS Code
Where the code actually lives. Nothing exotic, just years of muscle memory.
Elixir, Phoenix, and LiveView
The stack behind Petal and nearly everything I build. Fast to ship with, calm in production, and a community worth being part of. HealthVoice, Doseloop and Talentbookr all run on it.
Tailwind CSS
Styling for everything, from Petal Components to this site.
PostgreSQL
The database for every project. It has never once been the interesting problem, which is exactly the point.
AI
Claude Code
Most of my day runs through it. Writing code, drafting content, managing releases, and keeping several projects moving at once.
ChatGPT
A second opinion. Different model, different blind spots, and it helps to have both when something matters.
Gemini
Long context and quick research, usually when I want a third read on something.
How I actually use it
AI writes a lot of first drafts around here. It doesn't get the last word. That matters more the closer you get to someone's health: HealthVoice hands a call to a real person the moment one is needed rather than bluffing through it, Doseloop explains why it suggests something instead of just issuing orders, and anything touching patient records or kids' data gets encrypted properly. Those decisions aren't features I bolted on afterwards. They are the reason I'm comfortable shipping the rest.
Building and shipping
Fly.io
Where most things live. Deploys are boring, which is the highest compliment I can pay a host.
Vercel
Runs this site. Push to main and it is live a minute later.
Twilio
The telephony behind HealthVoice. Real phone calls, real patients, no room to be cute about reliability.
ElevenLabs
The voice in HealthVoice. Good enough that people forget to be annoyed they are talking to software.
Cloudinary
Image and media hosting for Talentbookr. Upload once and it handles the resizing and delivery so I never have to think about it again.
Resend
Transactional email and the occasional newsletter, including the one on this site.
n8n
On trial. I have wired up a few flows to take the boring work off my plate. The jury is still out on whether it earns a permanent spot.
Running the business
Stripe
Billing across the products, and how most money actually arrives. Still the least painful way to take payments on the internet.
GoCardless
Direct debit for the recurring stuff, where card fees would quietly eat the margin.
Xero
The books. Invoices, reconciliation, and a quarterly reminder that a business is a real thing with real obligations.