Kingston, Jamaica
I love solving problems.
Code is how I do it.
I've been coding since I was six, and problem solving is still the part I love most. If something is broken, I want to know why. If something doesn't exist yet, I want to try building it.
My background is in troubleshooting. I've worked as a systems engineer, travelling to client sites to fix hardware, software and network problems, and as a NOC engineer, keeping a data centre running. While working in the NOC I built a real-time platform to replace a paper-based tracking system, and wrote VBA scripts that pulled report information out of email so the team didn't have to do it by hand.
Now I build full-stack apps with Next.js, PostgreSQL and Drizzle ORM, Zod and Three.js. So far that includes a website builder, AI story games, Polymarket trading bots and sites for real businesses. My favourite projects usually start with a problem I want to fix or an idea I want to test.
I'm open to full-time roles and freelance work. If you have either, I'd like to hear about it.
How I work
Six things you can expect from me.
01
Find the real problem first
Troubleshooting taught me to work out what's actually wrong before I change anything. I reproduce the problem, narrow down where it comes from, and then fix the cause.
02
Build it to find out
When I have an idea, I build a small version and see if it works. Most of the playground and the lab started that way. It's the quickest way I know to find out if an idea is any good.
03
Let the tools catch mistakes
I use Zod to check everything that comes into an app, including forms, API responses and AI output. Drizzle and TypeScript keep my code in step with the PostgreSQL database, so when I change a table I can see everything that needs updating.
04
Build for the people using it
Many of my apps are made for Jamaica, where a lot of people are on prepaid data with patchy signal. So the vendor marketplace keeps working offline and syncs later, and the bus tracker is light on data.
05
Explain it in plain language
I explain what I'm building and why in words anyone can follow. I write things down as I go, and I raise problems early so nobody gets a surprise later.
06
Look after it once it's live
I deploy most of my projects myself on Linux servers, with nginx, PM2, backups and deploy scripts. When something goes wrong in production, I'm the one who fixes it.
Toolkit
What I build with.
These counts come from the 22 projects on this site, so they show what I've actually used the most.
Most used, by project count
- TypeScript19
- Next.js14
- PostgreSQL10
- Drizzle9
- next-auth8
- Zod8
- Linux VPS7
- Next.js 165
- Google Maps3
- PM23
- React 193
- WebSockets3
- JavaScript2
- Jotai2
Languages
- TypeScript
- JavaScript
- SQL
- HTML
- CSS
- VBA
Frontend
- React 19
- Next.js 16
- Tailwind 4
- CSS Modules
- Canvas
- Three.js
- PWA
- React Native
Backend & data
- Node.js
- PostgreSQL
- PostGIS
- Drizzle
- Redis
- Zod
- next-auth
- WebSockets
- SSE
AI
- Anthropic API
- OpenAI API
- Structured output
- Multi-agent pipelines
- ElevenLabs
- Prompt design
Infrastructure
- Linux VPS
- nginx
- PM2
- Docker
- Vercel
- GitHub Actions
- Playwright
Troubleshooting
- Debugging
- Networking
- Hardware
- IT support
- Incident response
- Documentation