Broadcast · since 2020
Real-time data behind live election and sports broadcasts
Freelance lead developer for the BBC, building and running the real-time data services that on-air results graphics request their data from, with some front-end work on operator tools.
The problem: Results go out live to a national audience, on deadline, with no second chance on the night, so the data has to be right and on time.
- Election night results: UK general, Scottish Parliament, Senedd, local and US elections
- Live football and rugby match coverage
- Football results round-ups: results boards, league tables and match reports
- Wimbledon coverage
- Sustaining services: the always-on information screens that keep channels live between programmes, with the time, what's on next, and news and weather headlines
Freelance developer · 2020 to present
Own SaaS product · launched 2026
Lineplate
A browser app that turns 3D CAD assemblies into finished technical documentation: hidden-line drawings, exploded views, ballooned parts lists and multi-page assembly manuals, kept up to date when the design changes.
The problem: Manufacturers redraw their assembly instructions and parts diagrams by hand, or pay for specialist desktop software, and every design change means doing it again.
- An industrial CAD geometry kernel compiled to WebAssembly, so files are processed in the visitor's browser and never uploaded
- Exact hidden-line drawings exported as true vector SVG, PDF and PNG
- Automatic exploded views, balloons, parts lists and assembly manuals
- Revision matching that carries all the work across to a new version of the CAD file
TypeScript · Next.js · C++ and WebAssembly · PostgreSQL · Stripe · Azure
Read the full case study
Visit lineplate.com
Automotive engineering · 2013 to present
Job, stock and invoicing system for a drivetrain repair workshop
A bespoke system that runs a UK drivetrain repair and parts business day to day, from booking a job in to month-end reporting. In daily use for more than 11 years.
The problem: Jobs, stock, purchasing and invoicing lived in spreadsheets and separate tools, so stock values and month-end figures were slow and unreliable.
- Job booking, job sheets, works orders and warranty jobs
- Stock control with average-cost valuation, stock takes and material sold by length
- Purchase orders, goods-in, supplier returns and invoice matching
- Invoices, credits, statements and emailed proof of delivery
- Month-end and financial reporting, label printing and a sales dashboard
- Carried over to a new owner when the business changed hands
ASP.NET MVC · C# · Entity Framework · SQL Server · Power BI
Retail · 15+ years
Gallery management and e-commerce for a Scottish art gallery
Online sales, cataloguing and gallery administration for a Glasgow gallery of original Scottish art: around 28,000 artworks from about 500 artists, re-platformed twice.
The problem: Thousands of unique works had to be catalogued, photographed, priced and sold online and in store, with artists paid accurately.
- E-commerce storefront with artist pages, exhibitions, wish lists and reservations
- Staff CMS and admin replacing a desktop database and manual upload process (2017, Azure)
- Complete re-platform to ASP.NET Core, Postgres and Auth0, cutting hosting costs and separating admin from the public site (2023)
- Artist payments, stock reporting, e-commerce analytics and in-gallery iPad kiosks
ASP.NET Core · EF Core · PostgreSQL · Auth0 · Cloudflare · Azure / DigitalOcean
Arts & heritage · 17 years
Archive, shop and heritage sites for a Glasgow arts charity
Four generations of web presence for a printmaking studio and gallery: a lottery-funded online archive, a CMS with online print sales and course booking, and an oral-history site.
The problem: The charity needed to publish its collection, sell prints and fill courses online, with small staff able to run it themselves.
- Searchable online archive of around 1,800 prints, fed from the curator's collections database by a custom publishing tool (live for 13 years)
- CMS with online print shop, course booking and exhibitions programme, still in use after 14 years
- Oral-history site with interview audio and transcripts
- Hosting, security and ongoing support, working alongside the charity's designer
ASP.NET MVC · ASP.NET Core · SQL Server
Financial services SaaS · 2018 to 2023
Secure client-messaging SaaS for financial advisers
Co-created with a financial-services partner: a multi-tenant platform that let advice firms exchange messages and documents with clients securely, built for GDPR and FCA confidentiality. I architected, built and ran it in production for five years.
The problem: Advice firms were emailing sensitive client documents, which isn't secure enough for regulated work.
- Multi-tenant platform with firm admins, staff and client roles
- Secure messaging and document exchange with notification links and login-protected access
- Per-firm branding, retention and auto-delete controls
- Self-service trials and onboarding
- Encrypted storage in UK data centres, security scanning and monitoring
ASP.NET Core · Angular · IdentityServer · Azure App Service, SQL & Blob Storage
E-commerce · 2019 to 2024
E-commerce rescue and Shopify migration for a Scottish food brand
Stabilised a struggling online shop, then moved it to Shopify in about eight weeks. The store took orders from the first day, and a second European store followed.
The problem: An overloaded WordPress shop was slow, unbacked-up and fragile, holding back a growing food and events business.
- Emergency stabilisation: backups, upgrades and image optimisation
- A written plan and quote the client used to secure business-support funding
- Full migration to Shopify, with products, stockist locator, shipping, VAT and payments
- A second store for the European market
- Ongoing support plan and tools, and implementing design refreshes from the client's designer
Shopify · Liquid · WooCommerce migration · Cloudflare
E-commerce automation
Automated print-on-demand pipeline for a book publisher
Personalised children's books go from web order to a commercial printer with no manual steps: each order generates a print-ready PDF and is submitted to the printer's API automatically.
The problem: Every personalised book had to be laid out and sent to the printer by hand, which couldn't scale.
- Order hook from the online shop
- Personalised, print-ready PDF generation
- Integration with a commercial print API, including order tracking
- Cloud hosting with automatic recovery
Node.js · MongoDB · PDF generation · DigitalOcean · print API integration
Creative business · 16+ years
Website and direct online sales for a professional artist
A long-running site for a painter with an easy CMS she runs herself and direct online painting sales through card checkout.
The problem: The artist wanted to update her own site and sell directly, rather than relying only on galleries.
- Edit-in-place CMS
- Direct "buy now" sales with card checkout
- Reliable enquiry email delivery
- Hosting, security and support over many years
ASP.NET · SQL Server · Stripe
Public sector
Employee absence management for a Scottish council
A complete online employee and HR absence management system for a Scottish council.
The problem: Absence was tracked across paper forms and spreadsheets, with no reliable reporting.
- Absence recording, approval workflows and HR case management
- Reporting for managers and HR
- Secure cloud hosting on Azure
Angular · ASP.NET Web API · Entity Framework · Azure SQL
Own SaaS product
My House Move Plan
A personalised week-by-week house-move plan for UK households, with ready-made change-of-address letters and PDF export.
The problem: Moving house involves dozens of deadlines and organisations to notify, and generic checklists miss most of them.
- A personalised 12-week plan generated from each household's situation
- 13 pre-filled change-of-address letters
- PDF generation and export
- One-off online payments
Architected, built, hosted and run end to end
Visit myhousemoveplan.co.uk
Own SaaS product
StoryPrompt
A year of weekly memoir prompts by email. Answers are collected without a login and typeset into a finished PDF book.
The problem: Families want to capture a parent's or grandparent's life story, but a blank page is daunting.
- Scheduled email delivery of a weekly prompt over 52 weeks
- Secure no-login answer forms
- Automated typesetting of the answers into a finished book
- Gift purchase and payment flow
Architected, built, hosted and run end to end
Visit storyprompt.co.uk
Own SaaS product
AccessDrop
Digital-download delivery for Etsy sellers: checks Google Drive, Dropbox and Canva links and produces branded PDFs with QR codes.
The problem: Etsy sellers lose sales and get bad reviews when download links break or buyers can't find their files.
- Link checks against Google Drive, Dropbox and Canva
- Branded PDF generation with QR codes
- Subscription billing
- Self-service dashboard for sellers
Architected, built, hosted and run end to end
Visit accessdrop.app