Software

Great AI Coding Assistants

claude_logo.png

Claude Code
Anthropic’s AI coding assistant. I use Claude Code as my primary AI pair programmer directly from the terminal.

codex_logo.png

Codex
OpenAI’s AI coding agent. A cloud-based coding assistant that works autonomously on tasks in the background.

cursor_logo.png

Cursor
AI-first code editor built on VS Code. Cursor makes pair programming with AI feel native — tab completions, chat, and inline edits all in one place.



Great Mac Apps

alfred3_logo.png

Alfred
Spotlight on steroids. Alfred handles app launching, file search, clipboard history, and custom workflows — I use it dozens of times a day without thinking.

things_logo.png

Things
The cleanest task manager on macOS. I run my personal to-do list through Things — it stays out of the way and lets me focus on what actually needs doing.

iterm2_logo.png

iTerm2
The terminal I actually enjoy using. Split panes, profiles, and endless customisation — pair it with Oh My ZSH! and you’ll never look back.

logo-stable.png

Visual Studio Code
My daily editor for frontend work and quick edits. Lightweight, fast, and endlessly extensible — the extension ecosystem alone makes it hard to replace.

jetbrains_toolbox.png

JetBrains
PhpStorm for PHP, PyCharm for Python, DataGrip for databases — JetBrains IDEs are the serious developer’s toolkit. Refactoring, debugging, and database tooling that actually works.

slack_logo.jpg

Slack
Where work happens. The integrations with GitHub, Jira, and CI pipelines make Slack more than a chat tool — it’s the heartbeat of any team I work with.

evernote_logo.png

Evernote
My long-running note archive. Everything searchable, synced everywhere — years of meeting notes, ideas, and scratchpads living in one place.

sketch_logo.png

Sketch
My design review tool of choice. I use Sketch to inspect mockups, understand spacing and components, and communicate clearly with designers on a product.

atlassian-logo.png

Atlassian
Jira for sprint planning and issue tracking, Confluence for documentation — the Atlassian suite is everywhere in product teams and I know my way around both.



Great Developer Frameworks

laravel-logo-wide.png

Laravel
The PHP framework I keep coming back to. Eloquent ORM, artisan CLI, and a developer experience that makes complex backend work feel elegant.

hugo.jpeg

HUGO
The fastest static site generator available — this site runs on Hugo. Millisecond build times, powerful templating, and no Node.js bloat.

statamic.png

Statamic
A Laravel-based CMS built for developers who want control. Flat-file by default, flexible, and a joy to customise without fighting the framework.

vuejs-wide.png

Vue.js
My preferred JavaScript framework for building reactive UIs. Vue’s single-file components and gentle learning curve make frontend development feel manageable.

nuxt-logo.png

Nuxt
Vue.js with superpowers. Nuxt handles routing, SSR, and project structure out of the box — my go-to for building full Vue applications that need to scale.

buefy_logo.png

Buefy
Vue.js component library built on Bulma. My go-to when building Nuxt apps that need ready-made UI components without the overhead of a heavier design system.

bootstrap-logo-wide.png

Bootstrap
The framework that got a generation of developers building responsive layouts. Still my default when I need something solid and well-documented without ceremony.

bulma-logo.png

Bulma
Clean, Flexbox-based CSS framework with no JavaScript dependencies. I use Bulma on this site — the component classes are intuitive and the output is lean.

tailwind_logo.png

Tailwind CSS
Utility-first CSS framework that I reach for when I want to move fast without wrestling with custom stylesheets. Write styles inline, stay in the zone.

flutter-logo.png

Flutter
Google’s cross-platform UI toolkit. Write once in Dart, ship to iOS, Android, and web. The rendering engine is impressive and the hot reload is genuinely enjoyable.

django-logo-positive.png

Django
Python’s batteries-included web framework. When I need an admin interface, ORM, and auth out of the box, Django saves hours.

astro-logo-dark.png

Astro
When performance is the priority, Astro wins. Ships zero JS by default and produces some of the fastest static sites you can build.



Great Online Services

gmail-logo.png

Gmail
The email client I’ve used for everything. The search, labels, and filters system is unmatched — once you have it set up the way you want, it just works.

google-cloud-logo.png

Google Cloud Platform
Google’s cloud platform — strong on data, ML, and Kubernetes. I reach for GCP when BigQuery, Pub/Sub, or GKE are the right tools for the job.

microsoft_azure.png

Microsoft Azure
Microsoft’s cloud platform — particularly relevant for enterprise clients already in the Microsoft ecosystem. Active Directory integrations and DevOps pipelines are its strengths.

Akamai_logo.png

Akamai
Enterprise-grade CDN and edge security. I’ve worked with Akamai on large-scale deployments where traffic distribution and DDoS protection are non-negotiable.

AWS_logo.png

Amazon Web Services
The cloud platform I know best. From EC2 and S3 to Lambda and RDS — AWS is where most of the infrastructure I build and manage runs.

cloudflare.png

Cloudflare
DNS, CDN, and DDoS protection in one. Cloudflare is the first thing I set up on any new domain — the free tier alone is better than most paid alternatives.

digitalocean-horizontal.png

Digital Ocean
Developer-friendly cloud hosting without the AWS complexity. Droplets spin up in seconds and the pricing is transparent — great for side projects and smaller production workloads.

docker-logo.png

Docker
Containerisation changed how I think about deployment. Docker makes environments reproducible — if it runs locally, it runs in production.

netlify.png

Netlify
Deploy from Git, done. Netlify handles CI, CDN distribution, and custom domains in minutes — this site is deployed on Netlify.

kubernetes-horizontal-color.png

Kubernetes
Container orchestration at scale. Kubernetes manages deployment, scaling, and self-healing of containerised workloads — complex to learn, indispensable once you know it.

terrastruct_logo_black.png

Terrastruct
A diagramming tool built specifically for software architecture. D2 scripts produce clean, version-controllable diagrams — much better than drag-and-drop tools for technical documentation.

sendgrid-logo.png

Sendgrid
Transactional email delivery that actually lands in inboxes. SendGrid is my default for integrating email into applications — reliable API, solid deliverability.

tilt-dev.png

Tilt
Local Kubernetes development without the pain. Tilt watches your code, rebuilds containers, and syncs changes instantly — makes microservice dev loops actually tolerable.

gitlab.png

Gitlab
Git hosting plus CI/CD pipelines in one platform. I prefer GitLab for private infrastructure work — the built-in pipelines and container registry are hard to beat.

grafana-logo.png

Grafana
The observability dashboard I trust for visualising metrics and logs. Grafana ties together Prometheus, Loki, and other data sources into one clear view of system health.

new_relic_logo_horizontal.png

New Relic
Full-stack observability platform. I use New Relic for APM and alerting on production services — the distributed tracing makes root cause analysis much faster.

sentry.png

Sentry
Error tracking that tells you what broke, where, and why — with full stack traces and breadcrumbs. Sentry goes on every production app I ship.

splunk_logo.png

Splunk
Enterprise log management and SIEM at scale. Splunk is the go-to for large organisations that need to aggregate, search, and alert on massive volumes of operational data.

gleap_logo.png

Gleap
In-app bug reporting with screenshots, console logs, and network traces attached automatically. Gleap cuts the back-and-forth with users when something breaks.

hotjar.png

Hotjar
Heatmaps, session recordings, and feedback polls in one tool. Hotjar shows the why behind the numbers — invaluable when optimising user flows.

trello.png

Trello
Visual kanban boards that everyone on a team can understand at a glance. I use Trello for lightweight project tracking where Jira would be overkill.

udemy.png

Udemy
My go-to for picking up new frameworks and tools quickly. The course quality varies but the best instructors on Udemy are genuinely excellent.

logo-standard.png

Firebase
Google’s app platform for real-time databases, auth, and hosting. Firebase removes infrastructure concerns entirely for prototypes and mobile-first apps.

miro_logo.png

Miro
Online whiteboard for brainstorming, user story mapping, and team workshops. My go-to for remote collaboration sessions.

figma_logo.png

Figma
Design and prototyping tool I use to review UI/UX work, annotate designs, and collaborate with designers on product flows.

mural_logo.png

Mural
Digital workspace for visual collaboration. Great for retrospectives, discovery workshops, and async brainstorming with distributed teams.



Current Scripting Skills

php-logo.png

PHP
The language that powers the web — and Laravel makes it genuinely enjoyable. PHP gets a bad reputation it no longer deserves at modern versions.

python-logo.png

Python
My scripting language of choice for automation, data work, and AI tooling. Readable, practical, and backed by an ecosystem that covers almost everything.

html_css_js.png

HTML, CSS and JS
The building blocks of everything on the web. No framework replaces a solid understanding of HTML structure, CSS specificity, and vanilla JS fundamentals.

mysql-logo-300x155.png

MySQL
The relational database I’ve used on more projects than I can count. Rock-solid, well-understood, and still the right choice for structured data in most web apps.

dart_programming_language.png

Dart
The language behind Flutter. Clean syntax and strong typing — once you’re in the Flutter ecosystem Dart becomes second nature.

go_logo.png

Go
Fast, simple, and built for the cloud. I use Go for CLI tooling and backend services where performance and simplicity matter more than abstractions.