React

Frontend framework

I found programming through Actionscript, many moons ago. When Flash died, I, like many others rushed to jQuery. It just didn't feel right. It felt "cheap." When React came along, I got the same feeling I got when I first discovered Actionscript. Things just made sense. Logical - and premium.

Starting out in React's class components epoch and brought along with it through functional component adoption and into hooks maturity, it's the framework that just makes logical sense. Where other's, like Angular, seemed to suffer in spaghetti and bloat, React keeps things simple, structured and above all - enjoyable DX. It's certainly earned it's place at the top. Bolstered by a slew of non-negotiable module plugins like Motion (formerly Motion.dev), it's essentially a new web project no-brainer.

Next.JS

SSR React Framework

Next.js is my go-to framework for building modern frontend experiences. While today's ecosystem leaves us spoilt for choice and different projects require different scaffolding, Next.js reins supreme. The ability to architect a hybrid array of SSR, SSG, and static pages is incredibly flexible, and its file-based routing just makes sense.

I’m a massive fan of its recent evolution—App Router and Server Actions are game-changers. There’s good reason why Payload CMS adopted it as their foundational framework, and subsequently, for me, Next+Payload is hard to bypass.

Typescript

Typesafe Javascript Superset

I’m deeply comfortable across the JavaScript and TypeScript ecosystem. I focus on implementing strong type safety right down to the component level using clean, explicit type and interface declarations. This keeps the data flow predictable, eliminates runtime surprises, and ensures the codebase remains highly readable and easy to scale.

React Three Fiber

Declarative ThreeJS

I think React Three Fiber is my favourite codebase to work with. It's a complete amalgamation of all the things I love. ThreeJS, but declarative and reactive... with all of Drei's library at one's disposal.

I've built lots of cool things with R3F over the years, using shaders, offscreen workers, postprocessing, etc...


Three.JS

Web 3D renderer

These days I generally reach for React Three Fiber to build 3D web experiences, but before R3F I'd built with vanilla ThreeJS. Obviously one needs a certain foundation in ThreeJS to build anything of worth in R3F. Building in R3F is simply quicker, neater and easier to add effects, materials, shaders and any of the extensive array of plugins/helpers from Drei.


file_type_tailwind

Tailwind

Utility-driven CSS

I've used just about every flavour of CSS in my time. Vanilla (obviously), LESS, SASS, SCSS, Styled Components, CSS-in-JS, CSS Modules, etc.

I'm still not convinced about writing it inline, but I've adopted a super efficient SASS-like external, yet colocated embedded Tailwind style that keeps styles readable and easy to traverse and reason about.