class AboutMe {
name: string;
title: string;
experience: string;
location: string;
constructor() {
this.name = 'Jake Gregory';
this.title = 'Lead Developer';
this.experience = 8 + ' years';
this.location = 'London, UK';
};
};
Who Am I?
- A developer driven by technical challenges, with experience across full-stack development, desktop, and mobile.
- I build and maintain websites for global clients, while developing internal tools that alleviate bottlenecks, reduce errors and accelerate delivery.
- Recently, I’ve been incorporating machine learning into projects to bring new levels of capability, control and user experience.
How I tend to work
- Automate the boring parts: if a task happens twice, it gets a script.
- Quality code: code reviews, tooling and automated and manual checks that catch issues before release.
- Mentor: set a good example for other developers and encourage them to ask questions.
Off the clock
- Building personal software: creating software to solve my own day to day problems.
- Hands-on: from repairing holes in walls to installing underglow on my car, I enjoy understanding how things work, learning something new and overcoming challenges.
- DJ & producer: I’ve DJ’d across the UK and Poland, with several releases on record labels since 2016.
Selected Experience
- Shipped responsive layouts for high-visibility apple.com surfaces, serving 50+ regions and 4–5M daily visitors.
- Worked on many localisation projects, including the iPhone 17 Pro, with attention to performance and presentation detail.
- Built internal tools to automate specific tasks across QA, Project Management, Operations and Developer teams.
- Delivered across public-facing product pages and private operational tools with different levels of visibility and sensitivity.
Technical Skills
Frontend
Languages & Runtimes
Tools & AI
Projects
Some projects are internal or client-sensitive, so repositories and demos are limited and some screenshots contain placeholder data.
Is it a banger?
Machine learning based web app that judges music based on how it sounds, rather than titles, tags or metadata. Paste a YouTube link, get a 0‑100 score and see if you make it onto the current week's leaderboard.
- Built the front-end, back-end as well as the infrastructure required for local deployment
- Designed the app around preserving my own music preferences and discovering new music within the same realm
- Implemented using CLAP neural network audio embeddings and cosine similarity-based vector search
code_converter
Node.js utility used to refactor HTML codebases while carefully preserving localised content, visually hidden text, dynamic code and CSS functionality.
- Extracts legacy content into JSON and preserves selectors to enable easy reinsertion
- Designed to avoid duplicate work, saving time and reducing costs
- Reduces manual integration time by ~90%
Internal tool - source code is private.
genre_predicta
Python based music genre classifier utility used to train a neural network on your own music and predict the genres of unseen music.
- Extracts YAMNet audio embeddings and BPM features to generate a feature fingerprint for each track
- Designed to reduce manual effort when organising large music collections
- Runs full feature extraction and model training on ~600 tracks in under 5 minutes on Apple M1 Max
js_hands_up_trigger
Node.js script that executes a shell command when a “hand up” gesture is detected in an NDI video stream.
- Uses TensorFlow.js running Google's MoveNet SinglePose Lightning model to detect hand movement
- Designed to enable hands free control when physical interaction is not possible
- Lightweight with minimal resource usage
Pixie - Safari Extension
Safari companion for the Pixie desktop app enabling remote application control from the browser.
- Built using Xcode and notarised through Apple Notary Service for secure internal distribution
- Triggers Pixie's screenshot functionality and automatically uses the page URL as the filename
- Saves time by eliminating application switching
Internal tool - source code is private.
BPM_2_artnet
Node.js script that analyses a real-time audio input, tracks BPM and sends beat-synchronised pulses to an Art-Net DMX channel.
- Built with a custom minimal WAV decoder to avoid extra dependencies
- Designed to synchronise DMX lighting effects with music
- Multiple configuration options to suit a wide range of use cases
text_2_google-assistant
Node.js script that allows users to interact with Google Assistant via text from the terminal rather than through voice.
- Can be used to control home devices and handle general queries
- Designed with secure oAuth2 credential handling
- Provides accessibility benefits and supports multiple languages
hidden_text_diff
Node.js script that compares non-visible accessibility text across webpages and reports differences as a readable CSV.
- Handles authentication for internal development domains
- Designed to report all types of accessibility HTML elements
- Helps keep accessibility experiences consistent across webpages
Internal tool - source code is private.
string_replacer
Node.js script for rapidly localising accessibility content across webpages.
- Designed to insert localised text into all accessibility HTML elements using a single source text file
- Reports which HTML elements succeeded or failed for easier troubleshooting and remediation
- Reduces task time by around 95%. For example, a task that previously took over 8 hours manually can now be completed in 20 seconds
Internal tool - source code is private.
Pixie - Screenshot Management Utility
Electron desktop application used for capturing, editing, annotating and organising screenshots.
- Built on top of the native macOS screenshot utility
- Designed to streamline the process of capturing visual evidence of bugs and issues
- Used daily by multiple teams, so reliability is essential
Internal tool - source code is private.
iUgo - Music Discovery App
Cross-platform music streaming and discovery application developed for my Bournemouth University dissertation.
- Built with a Tinder-style interface for music recommendations
- Designed to target both iOS and Android from a single codebase
- Graduated with a 2:1