STATUS: OPEN_TO_WORK — GREATER MANCHESTER
new_releases LATEST_SHIP: WAKE_UP_RIGHT · MEAT_LABEL_SCANNER arrow_downward

RICHARD_
GASKIN

Senior developer with expertise in Vue.js, Nuxt3, and cloud architecture. Transformed Project Opal's digital presence from concept to production — delivering in-house deployment systems, mentoring junior developers, and establishing development best practices.

13+
Years_Experience
10+
Companies_Shipped
10+
Tech_Stacks_Mastered

01_ TECHNICAL_STACK

layers

VUE.JS / NUXT3

web

REACT / NEXT.JS

javascript

TYPESCRIPT

terminal

NODE.JS

hub

GRAPHQL / GROQ

deployed_code

DOCKER / K8S

content_paste

SANITY CMS

science

JEST / CYPRESS

psychology

AI PROMPT ENGINEERING

target

AI PROJECT ALIGNMENT

02_ WHAT_I_DO

layers01

FRONTEND_ENGINEERING

Building performant, component-driven UIs with Vue.js, Nuxt3, and React. Obsessed with Lighthouse scores, reusable design systems, and pixel-perfect implementation.

Vue.jsNuxt3ReactSCSS
cloud_done02

DEVOPS_&_CI/CD

Designing and automating deployment pipelines end-to-end. From containerisation with Docker and Kubernetes to Google Cloud Platform infrastructure.

DockerKubernetesGCP
content_paste03

HEADLESS_CMS

Structuring and integrating headless CMS systems so editors and admins can ship updates confidently without engineering involvement.

SanityShopifyWordpress
account_tree04

TEAM_LEADERSHIP

Establishing coding standards, development lifecycles, Kanban workflows, and biweekly retrospectives. Mentoring junior developers and setting teams up to ship fast.

AgileKanbanMentoring

03_ WORK_HISTORY

PROJECT_OPALCURRENTCONTRACT
LEAD_FULLSTACK_DEV + DEVOPS
FEB 2024 — PRESENT

Built the entire infrastructure from concept to production for a digital consultancy startup — website, white-label client deployment system, Google Cloud Functions, Bash automation, analytics via Google Analytics, and transactional email via Mailgun. Refined the system multiple times for maximum cost-effectiveness.

Nuxt 3Sanity CMSGCPGitHub ActionsBashMailgun
EVIDENT_GLOBALCONTRACT
SENIOR_FRONTEND_DEV
JUL 2023 — JAN 2024

Rebuilt the entire website from the ground up using Nuxt 3 and Sanity CMS. Created a modular component architecture enabling non-technical teams to manage content independently. Delivered optimal Lighthouse performance and established frontend coding standards across the codebase.

Nuxt 3Vue.js 3Sanity CMSTypeScriptVite
SMARTOLOGYCONTRACT
FRONTEND_DEV
2022 — 2023

Built SmartMatch's Creative Dashboard — an intuitive interface for editing headlines, copy, and images with brand customisation. Integrated third-party impression and click trackers and streamlined post-click tracking implementation.

Vue.jsJavaScriptAPI Integration
CASPERAKICONTRACT
FULLSTACK_DEV
2021 — 2022

Built a music generation web app allowing users to create full-scale songs from 8-bar vibes with complete creative control and random generation capabilities. Designed the song editor interface and implemented the underlying audio architecture.

Vue.jsNode.jsWeb Audio API
ALLDAYPAPERMANENT
FULLSTACK_DEV
2020 — 2021

Built three interconnected systems: a real-time call centre dashboard for supervisors to monitor agents and listen to live calls, a customisable wallboard for live stats with alerts, and a Chrome extension bridging desk phones to computers with time tracking, call takeover, and break management.

Vue.jsWebSocketsNode.jsChrome Extension API
MATILLION — ALTRINCHAMCONTRACT
VUEJS_DEV
SEP 2019 — SEP 2019

Short-term contract developing a landing app for data management signup and an accompanying account management app. Worked closely with the UI/UX designer, providing feature advice, and maintained clear communication across the dev team to align requirements and keep the project running smoothly.

Vue.jsJavaScript
JD_WILLIAMS — MANCHESTERCONTRACT
FRONTEND_DEV
MAR 2019 — AUG 2019

Updated legacy systems to modern UI using CSS and JavaScript. Built new concepts, provided UX and UI advice, and worked closely with project managers to communicate issues. Focused on taking complex problems and delivering simple, clean solutions.

JavaScriptCSSUI/UX
JDSPORTS (JDPLC) — BURYPERMANENT
FRONTEND_DEV
OCT 2015 — FEB 2019

Started as a contractor in Oct 2015, going permanent in Feb 2016. Built Vue.js applications, responsive mailers (tested via Redeye and Litmus), and interactive page builds for desktop, mobile, and iPad. Maintained and updated jdsports.co.uk, milletsports.co.uk, and other brand sites. Developed the blog with WordPress and worked across team projects alongside marketing.

Vue.jsJavaScriptCSS / SCSSWordPressLitmus
WORLD_WEB_DESIGN — STALYBRIDGEPERMANENT
FRONTEND_DEV
2014 — APR 2015

Built client websites end-to-end with HTML, CSS, JavaScript, jQuery, and PHP interfacing with the company's CMS. Also managed Linux (Debian) servers from scratch, setting up LAMP environments for hosting. Handled network management including firewalls and port forwarding, and produced design mockups in Photoshop.

HTML / CSSJavaScriptjQueryPHPLinux / LAMPPhotoshop

04_ PROJECT_VAULT

Project Opal·Feb 2024 — PresentFeatured

Project Opal — Complete Infrastructure

Lead Full-Stack Developer / DevOps Engineer

Complete infrastructure built with Nuxt 3, Sanity CMS, GitHub Actions, Google Cloud Platform, and automation systems. A well-oiled, cost-effective system refined for optimal performance.

Nuxt 3Sanity CMSGCPGitHub ActionsBashGoogle AnalyticsMailgun
  • › Built entire infrastructure from concept to production
  • › Created automated site deployment system for clients
  • › Implemented Google Cloud Functions and bash automation
  • › Integrated Google Analytics and Mailgun services
  • › Refined system multiple times for maximum cost-effectiveness
Evident Global·Jul 2023 — Jan 2024Featured

Evident Global — Headless CMS Website

Senior Front End Developer

VIEW arrow_outward

Complete website rebuild using Nuxt 3 and Sanity CMS, enabling easy content management for pages, news articles, and issuer details with flexible component system.

Nuxt 3Vue.js 3Sanity CMSTypeScriptVite
  • › Rebuilt entire website from ground up with Nuxt 3
  • › Implemented Sanity CMS for seamless content management
  • › Created modular component architecture for easy expansion
  • › Enabled non-technical team to manage content independently
  • › Delivered optimal performance and user experience
Personal Project·2024

CPP Snake Game — WebAssembly

Developer

VIEW arrow_outward

Classic snake game built in C++ and compiled to WebAssembly for browser play. Features snake movement, food generation, collision detection, and arrow key controls.

C++WebAssemblyGame Development
  • › Successfully compiled C++ to WebAssembly
  • › Implemented game physics and collision detection
  • › Created responsive browser-based gameplay
  • › Deployed interactive web application
Smartology·2022 — 2023

Smartology Self Service Platform

Frontend Developer

VIEW arrow_outward

SmartMatch's Creative Dashboard enabling easy editing of headlines, copy, and images with brand customization and third-party tracker integration.

Vue.jsJavaScriptAPI Integration
  • › Built intuitive creative management dashboard
  • › Implemented brand customization features
  • › Integrated third-party impression and click trackers
  • › Streamlined post-click tracking implementation
Casperaki·2021 — 2022

Casperaki Music Generation App

Full-Stack Developer

VIEW arrow_outward

Music generation web app allowing users to create full-scale songs from 8-bar vibes with complete creative control and random generation capabilities.

Vue.jsNode.jsAudio ProcessingWeb Audio API
  • › Built song editor with intuitive interface
  • › Implemented music generation algorithms
  • › Created random generation system
  • › Delivered complete creative control to users
  • › Built scalable web application architecture
allDayPA·2020 — 2021

allDayPA Realtime Dashboard

Full-Stack Developer

VIEW arrow_outward

Real-time call center management dashboard enabling supervisors to monitor team performance, manage accounts, track agent states, and listen to live calls.

Vue.jsWebSocketsNode.jsReal-time APIs
  • › Built real-time monitoring system for call center operations
  • › Implemented account and call management features
  • › Created agent state tracking with duration monitoring
  • › Integrated live call listening capabilities
  • › Delivered supervisor tools for better team management
allDayPA·2020 — 2021

allDayPA Wallboard System

Full-Stack Developer

VIEW arrow_outward

Customizable wallboard system for real-time stats display with global and personal profiles. Each block fully customizable by name, filters, colors, and alerts.

Vue.jsWebSocketsNode.jsReal-time Data
  • › Built customizable wallboard builder
  • › Implemented real-time stats display
  • › Created global and personal profile system
  • › Added flexible filtering and color customization
  • › Developed alert system for critical metrics
allDayPA·2020 — 2021

allDayPA Chrome Extension

Full-Stack Developer

VIEW arrow_outward

Chrome extension connecting desk phones to computers for time tracking, manager takeover capabilities, messaging, break management, and comprehensive phone state logging.

Chrome Extension APIJavaScriptWebSocketsNode.js
  • › Built Chrome extension for phone integration
  • › Implemented automatic time tracking system
  • › Created manager call takeover feature
  • › Added personal messaging system
  • › Developed break management functionality
  • › Built comprehensive state tracking (busy, on-hold, on-call, on-break)

05_ VIBE_CODING

Projects built with AI as co-pilot — from idea to working product in hours, not weeks. These aren't demos; they're real tools running in production.

philosophy.md
Personal Philosophy

My View on AI & Vibe Coding

Before AI touches core development workflows, the fundamentals come first. I run a foundations-first policy: full command of the coding standards and system architecture in play, established before any AI-assisted tooling enters the picture — never as a substitute for that understanding, only ever built on top of it.

  • › Foundations before automation — mastery of the codebase and its standards is the prerequisite, not an afterthought
  • › Documented prompting practice — a shared framework for how to prompt, validate, and contextualise AI output, not ad-hoc copy-paste
  • › Every AI suggestion is reviewed like any other pull request — nothing ships without a human verifying it against the objective
  • › AI is an accelerator, not a decision-maker — it moves faster toward a goal that's already been clearly defined, it doesn't define that goal for you
vibe_coded.py
AI Built ● Liveschedule Every 2 hours

CV Job Matcher & Auto-Mailer

An intelligent job-hunting assistant that reads your CV, scours job boards for live listings, scores each role on how well it matches your skills and experience, then emails you a ranked shortlist — fully automated and running every 2 hours.

PythonOpenAI APISMTPPDF ParsingCron SchedulingBeautifulSoup
  • › Parses and analyses your CV to extract skills, experience, and seniority
  • › Searches live job listings across multiple sources
  • › Scores each role against your profile using AI-powered matching
  • › Filters out roles below your minimum fit threshold
  • › Emails a ranked shortlist directly to your inbox
  • › Runs autonomously on a 2-hour cron schedule — zero manual effort
vibe_coded.py
AI Built ● Live

SVG LED Sign Measurement Tool

A tool that annotates any LED sign SVG with real-world measurements derived from the sign's physical dimensions in mm. By knowing the exact length of each LED strip path, it calculates the total LEDs per strip — enabling fully automated generation of the per-sign firmware config flashed to the embedded chip.

PythonSVGPathToolsXML ParsingFirmware TemplatingEmbedded / IoT
  • › Accepts an SVG and target physical dimensions (width × height in mm)
  • › Calculates a px-to-mm scale factor from the SVG viewBox
  • › Traces each path/shape and annotates it with its real-world length in mm
  • › Derives LED count per strip based on the LED density (LEDs per metre)
  • › Outputs a per-sign config: strip count, LEDs per strip, total LED count
  • › Config feeds directly into automated firmware compilation for the embedded chip

06_ PERSONAL_PROJECTS

Hardware, embedded systems, and side projects built purely for the love of building. From microcontrollers to game engines — things made outside of work hours.

terminalSoftware
● Complete New

Cleanup Assist

VIEW arrow_outward

A Windows 11 disk analyser that answers the question every other one leaves you with: is this safe to delete? Instead of just ranking folders by size, it gives each one a verdict — part of Windows, owned by an installed app, a known-reclaimable cache, or your own files — so the judgement call is made for you, or honestly flagged as unknown.

RustTauri 2React 19TypeScriptNTFS JunctionsGitHub Actions
  • › Classifies every large folder by safety, cross-referencing the uninstall registry and Microsoft Store package paths to name the owning app
  • › A 46-rule database of known space hogs — node_modules, Docker/WSL virtual disks, shader caches, Windows.old, npm/pip/cargo/gradle caches
  • › One-click move to another drive leaves an NTFS junction behind, so every app keeps working as if nothing moved
  • › Paranoid by design — the original is kept until the copy and junction verify, any failure rolls back, and OS folders cannot be moved or deleted at all
  • › Rust core with a React front end in a Tauri shell, so the scan runs native while the UI stays web
  • › Built in public by GitHub Actions straight from the repo, with SHA-256 checksums on every release
terminalSoftware
◐ In Review New

Wake Up Right

VIEW arrow_outward

An Android app that forces disciplined mornings — smart alarms tuned to your sleep cycle, math and QR-scan challenges to dismiss them, and a lockdown mode that blocks distracting apps until your morning routine is done. Built in Kotlin with Jetpack Compose and MVVM, shipping Free and Pro editions from a single codebase with all data stored locally.

KotlinJetpack ComposeHiltRoomWorkManagerCameraX
  • › Accelerometer-based smart alarm fires at a light-sleep moment before the set wake time
  • › Math and QR-scan challenges force full alertness before the alarm can be dismissed
  • › App-lockdown mode via Accessibility Service, with a UsageStats polling fallback
  • › Product-flavour architecture shares one codebase between Free and Pro, with flavour-isolated ad/video SDKs
  • › DST- and leap-year-aware alarm scheduling, covered by unit tests
  • › Play Store compliant and fully localised in English and Spanish
terminalSoftware
● Complete New

Meat Label Scanner

VIEW arrow_outward

A progressive web app that helps UK consumers instantly check whether meat products come from (halal or kosher) certified establishments. Enter or photograph the oval establishment code printed on any meat label and it identifies the plant behind it — including certification status and whether pre-slaughter stunning is used.

JavaScriptVercel Serverless FunctionsSupabase / PostgreSQLOCR.space APIService Workers / PWAPython (data pipeline)
  • › OCR-based photo scanning extracts the establishment code automatically from a label photo
  • › Searches 5,444 UK establishments from a dataset built on FSA open data, cross-referenced against HMC halal certification records
  • › Offline-first PWA — cache-first service worker keeps lookups working with no connection
  • › Detects in-app browsers (Facebook/Instagram) and nudges users toward Safari/Chrome for install
  • › Community submission workflow for new certified establishments, moderated via Supabase
  • › Custom Node build script handles content-hashed cache busting with no framework or bundler
memoryEmbeddedgroup Collab
● Complete

ESP8266 Base Framework

A shared, reusable firmware foundation built with a close friend for the ESP8266 microcontroller. The framework handles the boilerplate that every connected device needs — WiFi provisioning and secure admin authentication — so any new project can skip the setup overhead and go straight to the interesting hardware logic.

C++Arduino / ESP8266WiFi StackEEPROMEmbedded HTTP Server
  • › Handles WiFi connection management and automatic reconnection
  • › Provides a web-based admin portal for configuring credentials
  • › Stores network and auth details in persistent flash memory (EEPROM)
  • › Exposes a clean API for project-specific logic to build on top of
  • › Used as the foundation for all other ESP8266 projects in this portfolio
  • › Collaboratively developed and maintained with a close friend
memoryEmbedded
● Complete

NeoPixel LED Sign

A custom-built LED sign powered by an ESP8266 running the shared base framework. Individual NeoPixel LEDs are driven directly from the microcontroller and configurable in real time through a browser-based admin panel — no app, no cloud, just the device serving its own UI over the local network.

C++Arduino / ESP8266NeoPixel / WS2812BEmbedded HTTP ServerHTML / CSS
  • › Controls individually addressable NeoPixel (WS2812B) LED strips
  • › Leverages the ESP8266 Base Framework for WiFi and admin login
  • › Serves a browser UI directly from the microcontroller
  • › Allows real-time control of colour, brightness, and animations
  • › Secured behind the framework's admin authentication layer
  • › Fully self-contained — operates independently of any external service
precision_manufacturingHardware
● Complete

3-Axis Robotic Arm

A physically built three-axis robotic arm with a custom inverse kinematics solver at its core. Rather than manually dialling in each servo, you specify a target point in 3D space and the IK engine works backwards to calculate the exact angle each joint needs to reach it. A browser UI exposes both manual per-servo control and direct coordinate targeting.

C++ArduinoServo MotorsInverse KinematicsEmbedded HTTP ServerJavaScript
  • › Three-axis movement driven by independent servo motors
  • › Inverse kinematics solver converts (X, Y, Z) target points to joint angles
  • › Browser-based UI with two control modes: manual servo sliders and 3D point input
  • › Real-time servo feedback — arm moves as you adjust values
  • › IK math handles arm reach limits and prevents invalid positions
  • › Physical arm fabricated and wired from scratch
terminalSoftware
● Complete

Snake — C++ to WebAssembly

VIEW arrow_outward

Classic snake built entirely in C++, then compiled to WebAssembly so it runs at native speed inside any modern browser — no plugins, no JavaScript game logic, just a C++ binary executing in the browser sandbox. A deliberate exercise in bridging low-level systems code and the modern web platform.

C++WebAssemblyEmscriptenHTML5 CanvasGame Development
  • › Full game loop written in C++: movement, food spawning, collision detection
  • › Compiled to WebAssembly via Emscripten for zero-install browser play
  • › Canvas rendering driven directly from C++ through the Emscripten HTML5 API
  • › Arrow key input handling wired through the browser event system
  • › Score tracking and game-over / restart flow
  • › Deployed as a static site — playable from any browser with no backend
memoryEmbedded
◌ In Progress

ESP32 RF & WiFi Protocol Analyser

An ongoing research project exploring WiFi protocols and radio frequency fundamentals using an ESP32 paired with multiple nRF24L01 radio modules. Running entirely in passive monitor mode — no transmission — the device captures and decodes 802.11 management frames, maps nearby RF activity across WiFi, Bluetooth, and the 2.4 GHz band, and surfaces everything through a local web dashboard.

C++ESP32nRF24L01Arduino802.11 / WiFi StackRF / 2.4 GHzEmbedded HTTP Server
  • › ESP32 in monitor mode passively captures 802.11 management frames (beacons, probes, deauth, assoc)
  • › Multiple nRF24L01 modules scan across RF channels simultaneously for broader spectrum coverage
  • › Decodes raw frame headers to extract SSID, BSSID, channel, RSSI, and frame type
  • › Maps active devices and access points with signal strength over time
  • › Local web dashboard served from the ESP32 for real-time visualisation
  • › Built to deepen foundational knowledge of radio protocols and wireless stack internals

07_ DEV_TOOLS

Small, single-purpose utilities I kept re-googling, so I rebuilt them properly. Everything runs client-side — nothing you paste leaves your browser.

Browse all 10 tools arrow_forward

08_ BEYOND_THE_CODE

INTERESTS

boltElectronics
computerComputers
codeSoftware
memoryEmbedded Systems
wifi_tetheringIoT
view_in_ar3D Printing
auto_modeSystem Automation
psychologyPhilosophy

PASSIONS

hiking
Hiking
Exploring trails and wild terrain
directions_bike
Cycling
On road and off it
sports_motorsports
Racing Motorcycles
Pushing limits on the track
explore
Exploring
New places, new perspectives
auto_stories
Learning
New knowledge and perspectives, always
fitness_center
Building My Body
Health and strength as a discipline

GALLERY

Richard racing motorcycles on track
ON_TRACK
Richard on an adventure
EXPLORING
Richard racing motorcycles
RACING
Richard on an adventure
EXPLORING
Richard racing motorcycles on track
RACING
Richard on the track
ON_TRACK

09_ GET_IN_TOUCH

Open to senior frontend / fullstack roles, consulting, and interesting build challenges. Drop me a message — I reply fast.

format_quote

"The measure of intelligence is the ability to change." — Einstein

STATUS: OPEN_TO_WORK
Greater Manchester · Remote · Hybrid