Toolkit
Everything I build with.
18 skills across front end, back end, AI, and design. These are the tools I reach for on every project, from a landing page to a full product build.
Hover a card on desktop, or tap it on mobile, to see how I use it.
AI & Automation
- Integrate LLMs (OpenAI, Claude, Gemini) into real-world products
- Build agentic workflows that automate repetitive business tasks
- Prompt engineering and retrieval-augmented generation (RAG) pipelines
- Connect AI features to existing apps via APIs, webhooks and queues
React / Next.js
- Build fast, SEO-friendly apps with the App Router, Server Components and streaming
- Design reusable, type-safe component libraries that scale across teams
- Optimise Core Web Vitals — code-splitting, image optimisation, smart caching
- Wire up state management (Context, Zustand, Redux) without the boilerplate
TypeScript / JS
- Write type-safe code that catches bugs before they ever ship
- Refactor legacy JavaScript codebases into modern, maintainable TypeScript
- Model complex domain logic with generics, unions and utility types
- Set up tooling — ESLint, Prettier, strict tsconfig — clean code by default
WordPress / PHP
- Custom theme and plugin development built from scratch
- WooCommerce stores, membership sites and multilingual (WPML) builds
- Performance tuning — caching, query optimisation, lazy-loading assets
- Secure, maintainable PHP following WordPress coding standards
GSAP
- Professional-grade animations with timelines, easing and staggered effects
- ScrollTrigger, MorphSVG and physics-based interactions
Python / Django
- REST APIs and full-stack apps built with Django and DRF
- Automation scripts, data pipelines and web scraping tools
- PostgreSQL schema design, migrations and query optimisation
- Containerised deployments with Docker, Gunicorn and CI/CD
UX Design
- Wireframe-to-prototype design in Figma, fast iteration cycles
- User flows that reduce friction and lift conversion rates
- Design systems — consistent components, tokens and theming
- Accessibility-first design: WCAG contrast, focus states, keyboard nav
Node / APIs
- RESTful and GraphQL APIs built with Node.js, Express and Fastify
- Authentication and authorisation — JWT, OAuth 2.0, session management
- Real-time features with WebSockets and Server-Sent Events
- Rate limiting, caching (Redis) and database query optimisation
DevOps / Cloud
- Docker containers, Docker Compose and multi-stage builds
- CI/CD pipelines with GitHub Actions — test, build, deploy automatically
- AWS — S3, EC2, RDS, CloudFront, Lambda and IAM policies
- Vercel, Railway and Render deployments for modern web apps
HTML5 / CSS3
- Semantic, accessible HTML5 markup for great SEO and screen readers
- Advanced CSS3 — animations, Grid, Flexbox, custom properties
- Responsive design with mobile-first approach and fluid typography
Tailwind CSS
- Rapid UI development with utility-first classes — no context switching
- Custom design systems with Tailwind config, plugins and tokens
- Dark mode, responsive variants and arbitrary values
Git / GitHub
- Git branching strategies — Gitflow, trunk-based, conventional commits
- GitHub Actions, pull request reviews, protected branches and CODEOWNERS
Three.js
- 3D scenes, geometry, materials and lighting in the browser via WebGL
- Custom shaders, post-processing and interactive 3D experiences
Redux
- Predictable state management with Redux Toolkit — slices, thunks, RTK Query
- DevTools time-travel debugging and middleware patterns
MongoDB
- Flexible document modelling with Mongoose and aggregation pipelines
- Atlas search, geospatial queries and change streams
PostgreSQL
- Relational schema design, indexing strategies and query optimisation
- Advanced features — JSONB, full-text search, row-level security
MySQL
- Relational database design with transactions, stored procedures and views
- Performance tuning with EXPLAIN, index optimisation and connection pooling
Redis
- In-memory caching, session storage and pub/sub messaging
- Rate limiting, leaderboards and distributed locking patterns