DavidShortland
Currently building systems for global electric motorsport events at Smedley Group. I'm most useful when the domain is unfamiliar and the problem isn't obvious yet. I'd rather spend a week understanding what to build than a month building the wrong thing.
// Experience
recordingSoftware Developer
Global electric karting events company with operations in the UK and US. I'm part of a small engineering team reporting to the Head of Advanced Technology. Small enough that every project means owning the problem end-to-end: understanding the domain, building the system, deploying it, and keeping it running.
Driver Performance System
liveReplaced a manual, spreadsheet-driven process for analysing race performance. Built with the senior software architect. The system generates driver KPIs from raw timing data so coaches can act on them between sessions, not days later.
Live Telemetry Platform
liveReal-time system that streams kart telemetry during live events. Built with a cross-disciplinary team: senior software architect, mechanical engineer, simulation/modelling engineer, and PM. Engineers see vehicle health and performance as it happens instead of waiting for post-session data. Recently transitioned day-to-day development to a junior developer I helped onboard.
Event Management Dashboard
liveInternal tool for configuring karting events across global locations. Replaced a fragmented manual process that took hours with a single consistent workflow that takes under five minutes.
Kart Programming Tool
completedWrapped complex CANOpen protocols in a tool that lets mechanics program kart ECUs without needing to understand the protocol underneath.
Data Analyst Intern
Developed a predictive model for World Rally Championship (WRC) results. Ranked each participant in a WRC event by considering a comprehensive array of factors including driver, co-driver, vehicles, tyre choice, and terrain to generate forecasts of event results.
WRC Predictive Model
completedBuilt a predictive ranking model for WRC events, weighing driver and co-driver history, vehicle performance, tyre selection, and terrain characteristics to forecast finishing positions.
// Education
BSc Computer Science
Mathematics Interpreter
completedTeam project. A full interpreter for mathematical expressions: lexer, recursive descent parser, AST, and evaluator, with support for six number types, symbolic differentiation, definite integration, and root finding. Built in F# with a WPF GUI for interactive graph plotting.
Health Tracker
completedTeam project. Full-stack health platform with exercise, meal, and metric tracking, group challenges, and goal monitoring. Event-driven architecture with separate Lambda functions for email notifications and a scheduled daily job checking overdue goals.
WeatherWise
completedPersonalised weather platform that goes beyond raw data, generating contextual, actionable recommendations based on temperature, UV, wind, and visibility. Google OAuth, saved locations with comparison, and a Zustand-managed client cache.
A Levels
// Technologies
activeLanguages & Frameworks
Cloud & Infrastructure
Databases
Testing & Practices
// Latest Transmissions
liveBuilding a Mathematics Interpreter in F#: From Parser to Symbolic Calculus
How we built a full interpreter with symbolic differentiation, six number types, and interactive graph plotting, and what the architectural decisions reveal about building extensible systems.
Building an Event-Driven Health Tracker with Three Lambda Functions
How we built a health tracking platform with event-driven notifications, scheduled jobs, and auto-completing goals, and why decoupling what happens from when it happens made everything simpler.
Building WeatherWise: A Weather Platform That Tells You What to Do
Building a weather platform that transforms raw API data into prioritised, actionable recommendations, and the full-stack architecture that supports it.
// Comms
openInterested in working together, or just want to talk shop about software engineering, interesting domains, or how teams should actually build things?