Designer first, developer by choice.
Twelve years from brand and layout to database schema and deployment, without handing it over.

I started as a graphic designer in 2013 and moved into development because I wanted to build the thing, not just draw it. That order still shows: I can take a project from brand and layout through to database schema and deployment without handing it over.
My first developer role was three and a half years at Idealweb, on Recruit 360 — the recruitment platform written up in the work section. It’s where I learned to build software: integrations against systems I didn’t control, a data model that had to keep one person’s identity straight across many companies, and non-technical users on the other end of every decision.
For the last six years I’ve run Digital Stream, the agency I co-founded in Centurion, as director and the developer on every project — Laravel applications, custom WordPress builds, and more recently Next.js and headless work, all hosted on infrastructure I administer myself.
I’m now looking for a developer role — Laravel or WordPress — where I can go deeper on the engineering instead of spreading thin across thirty client sites and the business around them.
Skills
- JavaScript
- React
- Next.js (App Router)
- TypeScript
- Tailwind CSS
- HTML & CSS
- jQuery / Bootstrap
- PHP
- Laravel
- MySQL
- REST API integration
- FTP / file-based integration
- Scheduled jobs & reconciliation
- Multi-tenant architecture
- Data modelling & identity resolution
- Custom theme development
- WooCommerce
- Custom plugin development (PHP)
- Content architecture & taxonomies
- Large catalogue builds
- Linux VPS administration
- DNS, SSL/TLS
- Mail server administration
- Domain & hosting management (30+ domains)
- Vercel / static deployment
- Meilisearch
Bottom to top: the server a thing runs on, the application on it, and the interface people actually touch. Select a layer for what that means in practice.
CV & contact
The short version, and how to reach me.
The one-page CV has the dates and the stack in brief. For anything else, email is best.