{"$schema":"https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json","basics":{"email":"david@oneforthecode.com","image":"https://oneforthecode.com/images/avatar.jpeg","label":"Senior Software Engineer and Node.js Contractor","location":{"city":"Crewe","countryCode":"GB","region":"Cheshire"},"name":"David Yates","phone":"07867 697095","profiles":[{"network":"LinkedIn","url":"https://www.linkedin.com/in/dave-yates-0064a1136/","username":"dave-yates-0064a1136"},{"network":"GitHub","url":"https://github.com/s3y","username":"s3y"},{"network":"Mastodon","url":"https://mastodon.social/@s3yy","username":"@s3yy"}],"summary":"Senior software engineer with 15+ years building web and platform software, the last several years contracting independently through my own company, Built By Up (previously Upnorth), and via Apex Enterprise Consulting. Node.js specialist across fintech, betting and gaming, media, and e-commerce, delivering to fixed contract scopes. Through Built By Up I lead a small team of developers I bring in and mentor when an engagement needs extra capacity. Strong on TypeScript, React, and Docker/Kubernetes, with a track record of pragmatic delivery in regulated and high-traffic environments.","url":"https://oneforthecode.com"},"interests":[{"name":"Brazilian Jiu-Jitsu"},{"name":"Self-hosting and homelab"},{"name":"Open source"}],"languages":[{"fluency":"Native speaker","language":"English"}],"meta":{"canonical":"https://oneforthecode.com/cv/resume.json","lastModified":"2026-07-25","version":"v1.0.0"},"projects":[{"description":"Codebase health analysis, transformation, and enforcement CLI. Reports on the state of a codebase, applies codemods, and enforces the standards it finds so drift gets caught in CI rather than in review.","keywords":["TypeScript","Node.js","AST","CLI","Codemods"],"name":"Anvil","roles":["Author"]},{"description":"Self-hosted infrastructure managed declaratively with Ansible and Terraform: Proxmox, Docker, Kubernetes, Caddy, Tailscale, Authentik single sign-on, and Pi-hole with Unbound. Running and evolving continuously since 2023, with every change applied through version control rather than by hand.","keywords":["Ansible","Terraform","Proxmox","Kubernetes","Docker","Caddy","Tailscale","Authentik"],"name":"Homelab and GitOps infrastructure","roles":["Author","Maintainer"]},{"description":"Self-hosted private multimodal chat stack running entirely on local hardware, so no prompt or image ever leaves the house. Containerised Python services behind a web front end.","keywords":["Python","Docker","LLM","Self-hosted"],"name":"Private multimodal LLM stack","roles":["Author"]},{"description":"Technical blog and CV. Hugo and Tailwind with Playwright end-to-end coverage, deployed to GitHub Pages behind Cloudflare. The CV builds from a single JSON Resume file into an HTML timeline, a machine-readable endpoint, and a PDF regenerated on every deploy.","keywords":["Hugo","Tailwind","Playwright","GitHub Actions","JSON Resume"],"name":"One For The Code","roles":["Author","Maintainer"],"url":"https://oneforthecode.com"},{"description":"Reusable Expo starter for small, low-ops mobile apps. Clone it, edit one config file, ship. Built to remove the week of setup that sits in front of every small idea.","keywords":["TypeScript","Expo","React Native","Swift"],"name":"micro-app-kit","roles":["Author"]},{"description":"On-site pricing engine for a used-car flipper. A native iOS app for valuing a vehicle at the kerbside, built with SwiftUI and SwiftData and working fully offline.","keywords":["Swift","SwiftUI","SwiftData","iOS"],"name":"FlipPricer","roles":["Author"]},{"description":"Service backing the live widgets on the blog, aggregating activity data from several third-party providers behind a single cached API.","keywords":["Node.js","TypeScript","Azure","REST"],"name":"Personal API","roles":["Author"]},{"description":"An Electron YouTube player that keeps your Slack status in step with whatever is playing. A small thing that started as a joke and turned out to be genuinely useful.","keywords":["TypeScript","Electron","Slack API"],"name":"youtube-slack-poster","roles":["Author"],"url":"https://github.com/s3y/youtube-slack-poster"}],"skills":[{"keywords":["TypeScript","JavaScript","PHP","Python","Go","C#","Rust"],"name":"Languages"},{"keywords":["Node.js","Laravel","Express","tRPC","GraphQL","REST","Postgres","MySQL","Redis"],"name":"Backend"},{"keywords":["React","Next.js","Vue","Angular","React Native","Redux","Tailwind"],"name":"Frontend"},{"keywords":["Docker","Kubernetes","OpenShift","Terraform","Jenkins","GitHub Actions","GitLab CI","Prometheus","Grafana","AWS","Azure"],"name":"Platform and DevOps"},{"keywords":["Jest","Playwright","Cypress","Vitest","Test-driven development"],"name":"Testing"}],"work":[{"description":"via Apex Enterprise Consulting","highlights":["Shipping to 40+ countries with localised, multi-currency storefronts."],"keywords":["Node.js","TypeScript","React","Docker"],"name":"Naturecan","position":"Software Engineer","startDate":"2026-01","summary":"Building and maintaining features for a high-volume e-commerce platform."},{"description":"via Apex Enterprise Consulting","endDate":"2026-01","highlights":["Delivered against a fixed tournament deadline, with traffic peaking in the tens of thousands of concurrent users during match windows."],"keywords":["Node.js","TypeScript","React","Docker"],"name":"Low6","position":"Full Stack Engineer","startDate":"2025-01","summary":"Delivering features on Spin to Win, a World Cup prediction product, picking up an in-flight codebase and shipping to hard, tight deadlines."},{"description":"via Apex Enterprise Consulting","endDate":"2026-01","highlights":["Services processing environmental disclosures from around 25,000 companies, representing roughly two-thirds of global market capitalisation."],"keywords":["Node.js","TypeScript","Docker"],"name":"CDP","position":"Node Engineer","startDate":"2025-01","summary":"Node engineer on CDP's environmental data platform, building and maintaining services that process corporate environmental disclosure data."},{"description":"via Built By Up","endDate":"2025-01","highlights":["Digitised client-facing processes for a FTSE 100 platform serving over 1.8m retail investors and more than £150bn in assets under administration."],"keywords":["Node.js","Docker","PHP","Vite","Bash","React","React Context","Git","GitLab","JIRA"],"name":"Hargreaves Lansdown","position":"Senior Engineer","startDate":"2024-01","summary":"Led a project to digitise multiple client-facing processes and integrate them into the Salesforce CRM."},{"description":"via Built By Up","endDate":"2024-01","highlights":["Mentored three junior developers across both engagements."],"keywords":["Node.js","Docker","PHP","Go","Vite","Bash","React","React Native","Python","AWS","Git","GitLab","JIRA"],"name":"PepsiCo and education startup","position":"Software Engineer","startDate":"2023-01","summary":"Delivered smaller-scale projects while mentoring junior developers, including a React Native app for PepsiCo and a GPT-enabled auto-marker for an education startup."},{"description":"via Built By Up","endDate":"2023-12","highlights":["Delivered features on BBC products reaching an audience in the tens of millions.","Worked within an account team of around eight, contributing to product and engineering planning alongside delivery."],"keywords":["Node.js","Docker","Jest","Bash","Optimizely","React","Redux","React Context","Git","GitHub","JIRA"],"name":"BBC","position":"Senior Engineer","startDate":"2023-01","summary":"Key member of the account team delivering features on new and existing projects, contributing to product and engineering planning alongside feature development."},{"endDate":"2023-01","highlights":["Around 15 Node microservices on Docker and Kubernetes, designed to run in air-gapped environments."],"keywords":["Node.js","Docker","Kubernetes","Jest","TypeScript","Postgres","Bash","React","Redux","Java","React Native","Prometheus","Grafana","Git","GitLab","JIRA"],"name":"General System","position":"Senior Full Stack Engineer","startDate":"2022-01","summary":"Built a next-gen realtime analytics platform using Node.js microservices on Docker and Kubernetes, with emphasis on applications designed to run in air-gapped environments."},{"endDate":"2022-01","highlights":["Grew a new team to around seven engineers.","Maintained roughly 12 stateless Node services supporting a customer base of over 20m."],"keywords":["Node.js","RamdaJS","Fluture","Flow","Domain Driven Design","Kibana","Kubernetes","OpenShift","Git","GitHub","JIRA"],"name":"GoDaddy","position":"Lead Node Developer","startDate":"2021-01","summary":"Helped build a new team and maintain stateless Node.js microservices (RamdaJS, Fluture, Flow). Stabilised deployment pipelines on Jenkins and Kubernetes/OpenShift, and introduced new working practices to a growing team."},{"endDate":"2021-01","highlights":["Re-platformed the front end of Sky Casino, one of the UK's largest online casino products, serving a customer base in the millions."],"keywords":["Next.js","React","Apollo GraphQL","MySQL","Docker","Terraform","Jest","Cypress","PHP","Jenkins","Git","GitLab","JIRA"],"name":"Sky Betting \u0026 Gaming","position":"Full Stack Web Developer","startDate":"2020-01","summary":"Re-platformed the Sky Casino Next.js implementation, enforced stricter standards, and brought the software up to date. Upgraded Node and PHP versions and carried out heavy DevOps work around Docker and Jenkins."},{"description":"Permanent, Crewe","endDate":"2020-12","highlights":["Shared component library adopted across more than 200 micro-sites."],"keywords":["React","Python","AWS"],"name":"Radius Payment Solutions","position":"Head of Front End","startDate":"2020-01","summary":"Front-end strategy for hundreds of micro-sites and a shared component library, plus the Live Maps offering of their telematics platform."},{"description":"via Upnorth, Manchester","endDate":"2020-01","highlights":["Decoupled the front end from Magento during a scale-up period at one of the UK's largest fast-fashion e-tailers."],"keywords":["React","Magento","Kubernetes","GraphQL"],"name":"Missguided","position":"Full Stack Engineer","startDate":"2019-01","summary":"Decoupled the front end from a legacy Magento stack as part of a digital transformation and e-commerce scale-up."},{"description":"via Upnorth, Crewe","endDate":"2019-12","highlights":[],"keywords":["C#","React","Node.js","SQL","RabbitMQ"],"name":"Assurant","position":"UX and Front End Tech Lead","startDate":"2019-01","summary":"Managed front-end and back-end development of customer support tools across complex insurance journeys."},{"description":"via Upnorth, Manchester","endDate":"2019-12","highlights":[],"keywords":["React","C#","Microservices"],"name":"LateRooms","position":"Principal Software Engineer","startDate":"2019-01","summary":"Guided architecture and best practice on a white-label travel product (React over a C# microservices stack), including mentorship and hiring."},{"description":"via Upnorth, Bournemouth","endDate":"2019-01","highlights":[],"keywords":["Angular","React","C#","SQL","Sitecore"],"name":"Vitality Group Inc","position":"Full Stack Developer","startDate":"2018-01","summary":"Built new insurance products with a Sitecore backend."},{"description":"via Upnorth, Manchester","endDate":"2018-12","highlights":[],"keywords":["React","Vue","Laravel","Python","Docker","Redis","WebSockets"],"name":"Inprofit Traders","position":"Senior Applications Developer","startDate":"2018-01","summary":"Solved complex problems on an online trading platform."},{"description":"via Upnorth, Oxford","endDate":"2017-12","highlights":[],"keywords":["AngularJS","Laravel","MySQL","WebSockets"],"name":"CF Woodford Investment Fund","position":"Web Developer","startDate":"2017-01","summary":"Delivered a data-driven internal dashboard."},{"description":"Leeds","endDate":"2016-12","highlights":[],"keywords":["C# MVC","AngularJS","Breeze","Entity Framework"],"name":"Toriga Energy","position":"Senior Front End Developer","startDate":"2014-01","summary":"Built auditing software and owned the whole front-end process."},{"description":"Leeds","endDate":"2014-01","highlights":[],"keywords":["PHP","Magento","WordPress","AngularJS"],"name":"Creative Emporium","position":"Web Developer","startDate":"2013-01","summary":"Bespoke e-commerce sites with custom CMS, plus client support."},{"description":"Own company, Kirkwall","endDate":"2013-01","highlights":[],"keywords":["PHP","HTML","CSS","jQuery"],"name":"Upnorth Creative Media","position":"Web Developer and Founder","startDate":"2009-01","summary":"PHP, HTML, CSS and jQuery solutions for local clients, plus hardware and technical support."}]}