Hi, I'm Tom 👋
Full-stack Developer and Ecommerce Business Development Manager with 20+ years of experience in the automotive parts industry.
TC

About

I'm a developer and ecommerce strategist with a strong commercial background, currently leading digital initiatives for a UK-based automotive parts supplier. I manage Myton, a specialist Jaguar Land Rover brand, where I bridge the gap between business needs and technical solutions.

I'm passionate about building tools that solve real-world problems. Recently, I’ve been focused on developing modern admin dashboards using Next.js, MongoDB, and Shadcn UI, while also exploring how LLMs can improve internal automation.

I enjoy working in the JetBrains ecosystem and am comfortable deploying and managing cloud based solutions on AWS and DigitalOcean.

Skills

Next.js
React
Node.js
JavaScript
TypeScript
Python
C#
MongoDB
MySQL
AdonisJS
Tailwind CSS
Flet
AWS
Go
My Projects

Check out my latest work

I've built everything from large-scale ecommerce and CRM systems at work to personal passion projects like a custom music player. Here are some of my favorite projects that showcase both my professional and personal development journey.

Audire Music Player

Problem: I’ve wanted to build a great local MP3 player since my teenage Winamp days — something fast, modern, and focused on albums, artwork, and rich metadata. Off-the-shelf players either feel bloated, cloud-dependent, or don’t treat local libraries with care. Solution: A desktop music player built with Wails (Go + web UI) to learn GoLang and deepen my React + desktop app skills. Audire scans local folders, parses ID3 tags, and loads/saves album artwork. The UI surfaces album/artist views, queues, playlists, and detailed metadata, with a roadmap to blend the best bits of Spotify/iTunes (clean navigation, smooth playback, gorgeous artwork) and add community-style reviews/notes — all in a local-first, private package. Results: A fast, lightweight prototype that proves out a Go + Wails desktop architecture and a reusable pattern for local media apps. It’s helping me level up in Go concurrency, desktop packaging, and React state management while evolving toward a polished, modern player for large local libraries.

Wails (Go Desktop)
Go
React
TypeScript
Tailwind CSS
ID3 Tag Parsing
Local Artwork Caching
Filesystem Watchers
Audio Playback Pipeline
Playlists & Queues
Local-First Architecture

GSAP Branded Websites

Problem: Several smaller ecommerce websites lacked impact and failed to establish a strong emotional connection with customers. Solution: Reimagined these sites as static, brand-focused experiences using GSAP animations, storytelling design, and immersive visuals. The goal was not just to sell products, but to create an emotional bond with each brand by making the digital experience memorable and engaging. Results: Delivered visually striking, animation-driven websites that communicate brand identity clearly, build customer trust, and leave a lasting impression — complementing the main consolidated ecommerce platform.

GSAP Animation
Visual Storytelling
UI/UX Design
Motion Design
Brand Identity

Part Number Matching Tool

Problem: Sourcing genuine and alternative Jaguar Land Rover parts was slow and costly, requiring manual cross-referencing between OEM part numbers and multiple supplier catalogues. This created inefficiencies in procurement and made it difficult to consistently offer the best value to customers. Solution: Built a Python and MySQL-based tool that automatically cross-references Jaguar Land Rover OEM part numbers against TecDoc data, a dataset exceeding 170 GB and containing millions of records. The system uses AWS S3 for large-scale CSV storage, RDS for database hosting, and IAM for secure access management. Concurrency was implemented to process hundreds of thousands of part numbers quickly, while worker processes running on AWS EC2 handle ingestion and transformation tasks. Performance optimisations were added to ensure scalability as the dataset grows. Results: Transformed procurement workflows by eliminating manual lookups, reducing processing times from hours to minutes, and enabling significant cost savings for both the business and its customers. The system continues to evolve, incorporating new datasets, enhanced algorithms, and further optimisations to expand coverage, accuracy, and security.

Python
MySQL
Concurrency & Parallel Processing
Large-Scale Data Processing
Data Matching Algorithms
Process Automation
TecDoc Integration
Performance Optimisation
AWS S3
AWS RDS
AWS IAM
AWS EC2
AWS Lightsail

Ecommerce Platform for Myton Automotive

Problem: Off-the-shelf ecommerce platforms could not handle the complex requirements of the automotive aftermarket without forcing the business to adapt to the platform, rather than the other way around. Key needs included generating pro-forma invoices with payment links, handling worldwide shipping to over 50 countries, integrating multiple payment providers, and maintaining strong SEO performance for thousands of parts. The existing legacy system, originally built in PHP around 2009, was outdated and inflexible, with only the database still usable. Solution: Designed and developed a custom ecommerce platform consisting of both a customer-facing shopping website and an internal business management system. The frontend site was built with SEO best practices such as clean URLs, structured metadata, schema markup, and performance optimisation to maximise organic visibility. The backend system handled product data management, order processing, invoicing, international shipping, and integrations with Stripe and PayPal. Node.js was chosen to unify front-end and back-end development in a single language, accelerating delivery and simplifying long-term maintenance. Results: Delivered a purpose-built platform for the automotive aftermarket that provides the flexibility and performance needed to scale globally. Customers benefit from a modern, search-optimised shopping experience, while staff use a powerful business management system that streamlines operations, reduces manual effort, and supports rapid growth.

Node.js
AdonisJS 4.1
MySQL
Stripe API
PayPal API
Custom Shipping Integrations
Frontend Ecommerce Development
Backend Business Management System
SEO Best Practices
Ecommerce Architecture

CRM Tooling for APD

Problem: The sales team relied on spreadsheets, emails, and legacy tools to manage customer interactions, branch data, and visit reporting. This fragmented approach made it difficult to track performance across BDMs, integrate with existing sales data, and provide management with actionable insights. Solution: Designed and built a custom CRM-style system using Next.js and MongoDB, fully integrated with APD’s legacy customer and sales data. The project began with extensive stakeholder engagement: shadowing BDMs on visits to understand their workflow, gathering input from branch managers on how they wanted to guide BDM activity, and collecting feedback from leadership and controllers on strategic goals. A UX-first approach was taken, creating wireframes and interactive prototypes that were tested directly with BDMs and managers to refine usability before development. The resulting system includes: • Customer type classification for segmentation and reporting. • Branch management with detailed contact and address data. • BDM visit logging with objectives, notes, and follow-ups. • Role-based access via NextAuth, ensuring tailored dashboards for BDMs, managers, and admins. • Admin tools for managing branches, users, customer types, and visit types through a multi-tab interface. • Integrated dashboards that combine CRM activity with legacy sales data to give management a complete picture. Results: Delivered a modern, centralised platform that streamlined sales workflows, improved accountability, and provided leadership with data-driven oversight of branch and BDM performance. The system reduced time spent on admin, improved data quality, and set a strong foundation for future CRM and analytics initiatives. By embedding design validation and testing early in the process, the tool achieved strong adoption and usability across all stakeholder groups.

Next.js
MongoDB
NextAuth.js
Shadcn UI
Tailwind CSS
TypeScript
React Hook Form
Role-Based Access Control
Dashboard & Data Visualisation
Legacy System Integration
Stakeholder-Centred Design
Wireframing & Prototyping
UX Testing

Product Data Scraper & Manager

Problem: Managing product data across multiple manufacturer and distributor sources was slow, error-prone, and required constant manual checking for inconsistencies. Solution: Built a desktop tool with Electron JS that scrapes product data, cleans and standardizes it, and integrates it into a local MongoDB database for part matching and analysis. The program presents the data in an interactive table, automatically highlighting products that need attention due to inconsistencies or missing details. Updates can be applied with a single click, and quick links open the relevant ecommerce admin product page for deeper edits. Results: Turned a previously time-consuming and difficult process into a streamlined, user-friendly workflow — reducing errors, saving significant staff time, and ensuring product data remains accurate and up to date.

Electron JS
MongoDB
Web Scraping
Data Cleaning & Standardization
Process Automation
UI/UX for Internal Tools
Hackathons

I like building things

While studying at the Open University, I took part in a UX design hackathon at Birmingham City University, where our team built a concept for a smart shoe that could guide you home with built-in navigation. In just one day, we went from idea to prototype. It was a hands-on crash course in user-centered design and product thinking, and a great reminder of how quickly ideas can come to life when you're surrounded by creativity and collaboration. I’d highly recommend the experience to anyone interested in building meaningful, user-focused products.