Tech Stack

A snapshot of what I actually reach for in production work. Expertise levels are honest - depth, not breadth claims.


Daily drivers

  • PHP & Laravel (expert) - Versions 5 through 12. Framework-deep, including queues, events, broadcasting, package authoring, and the full operational story around Horizon, Forge, and Cloud.
  • MySQL / MariaDB (expert) - Schema design, query optimisation, indexing strategy, large-table migrations done safely.
  • Redis (strong) - Sessions, cache, queues, locks. Run it in anger every day.
  • Nuxt 3 & Vue 3 (strong working) - SSR, hydration, composables, Pinia. Daily on personal product work.
  • Tailwind CSS (strong) - Component-system thinking; not just utility-class soup.

Comfortable territory

  • Inertia.js
  • Livewire
  • Semantic UI (legacy projects)
  • TypeScript (Nuxt-side)
  • PHPUnit / Pest
  • Laravel Dusk (browser tests)
  • Docker

Infrastructure & deployment

  • Laravel Cloud, Laravel Forge
  • Linode, AWS (varied services as the engagement demands)
  • Vercel (Nuxt SSR and static)
  • GitHub Actions, Bitbucket Pipelines

E-commerce platforms

  • Magento 2 - theming, modules, payment integration, performance
  • Shopify - Liquid, app integrations
  • WordPress / WooCommerce

Practices

  • Event-driven architecture where it earns its complexity
  • API-first design with a clean SSR consumer
  • Soft-delete & audit trail by default
  • Multi-tenant via organisation scoping
  • Documentation as a deliverable, not an afterthought