Senior Software Developer @ Pinewood.AI
I've spent five years at Pinewood.AI, starting as a placement student in 2021 and working my way up to Senior Software Developer. Pinewood.AI builds the Automotive Intelligence Platform - a cloud-native dealership management system used by over 2,000 dealers across 36 countries, with 50,000+ people using it every day.
Along the way I've gone from shipping customer-facing features to owning core parts of the platform outright, and expanded into DevOps and systems management without ever leaving full stack development behind.
From Placement to Senior Developer
I joined Pinewood on a software development placement, working across front-end and back-end for dealership brands including Evans Halshaw, Stratstone, and Car Store - building and improving UI components with ASP.NET MVC and APIs, and getting hands-on with enterprise-scale development, agile practice, deployments, and code review from day one.
That led to a zero-hours contract through my final year of university, then a graduate role once I finished, working on the internal framework other teams build on. From there I moved into Software Developer and now Senior Software Developer, taking on more ownership at each step.
The Framework Behind Every Page
Every team at Pinewood.AI builds on top of the internal web framework I've worked on since joining as a graduate - every page across our core apps runs through it, and every request hits it. I've contributed across its whole lifetime: from early groundwork to the mature, accessibility-focused framework now being rolled out worldwide, built on Razor Pages with a deliberate focus on modern web standards and accessibility.
My most notable piece of it is the validation engine most of the company's forms now rely on, alongside a wide range of features and fixes contributed throughout its evolution. Working at that layer means every improvement compounds - it shows up across every application built on it, not just one screen.
Embedded Business Intelligence
Pinewood.AI's Business Intelligence product embeds real-time, role-specific dashboards directly into the dealer platform, so teams get their reporting without logging into a separate tool. I designed and built the backend that makes that possible: multi-tenanted so each organisation's data stays its own, automated management of report embed tokens, the ability to update reports in place rather than redeploy them, the UI for the embeds themselves, and full row-level security to keep every dealer group's data properly isolated.
I took it end to end - design through delivery - quickly enough that it's now used by some of our largest dealer group customers.
Permissions & Audit, Built From Scratch
The permissions system behind the platform is fully custom - roles, permissions, groups, and user assignments that can be scoped down to individual locations, with expiry built in so access doesn't just accumulate forever. I designed and own it end to end.
Every part of it is audited, because a permission system nobody can audit isn't really a permission system - I built that audit trail myself, from the data model up, so every grant, change, and expiry is traceable after the fact rather than taken on trust.
Prototyping Fast: An AI Booking Assistant
I also built a proof-of-concept chatbot on top of the OpenAI API, wired into real vehicle data with a set of custom actions so it could actually do things for a user - book a service appointment, pull a vehicle valuation - rather than just answer questions about them. I took it from nothing to a working platform other automations could build on in under a week.
It didn't end up going into production, but it proved out how quickly this kind of tooling can go from an idea to something real, working end to end - which is exactly the kind of thing worth knowing before committing a team to it.
Leading & Mentoring
I led development on that Power BI implementation myself, and I've mentored a junior developer throughout - including running their early training when they joined as a placement student, and managing their workload since. I also do code review across the team day to day, which alongside mentoring is where a lot of quality gets safeguarded before anything ships. Across all of it, the constant has been delivering complex features independently and iterating quickly without sacrificing quality.
Platform & DevOps
More recently I've expanded into DevOps and platform engineering, working in Azure DevOps to manage the pipelines every team ships through. That's included upgrading applications and workflows onto modern tooling - .NET 10 among it - alongside speeding up build times, improving pipeline resilience, and expanding automated test coverage so more issues get caught before they reach production. I keep researching new tooling on top of that, looking for the next thing worth adopting rather than waiting for it to become a problem first.
Taking the Initiative
A lot of what I do isn't assigned to me directly. When something breaks at scale or a process is clearly slowing the team down, I'd rather come forward with a fix than wait to be asked - working under pressure when a large-scale issue is happening right now, and taking the initiative to improve things afterwards so it doesn't happen the same way twice. That's taken me from writing application code into improving the hosting platform itself, usually because solving a problem properly meant going one layer down rather than working around it.
Day to Day
Frontend
- TypeScript
- Next.js
- React
Backend
- C# / .NET
- ASP.NET / Razor Pages
- Power BI Embedded
Cloud & AI
- Azure DevOps / CI/CD
- Custom RBAC & audit systems
- OpenAI API integration
You can read more about Pinewood.AI's platform at pinewood.ai.