Work

Software in production, in front of real users

Systems that businesses have relied on for 10+ years, SaaS platforms, e-commerce, real-time data for live broadcasts and products I own and run. Client names are left out unless a client has agreed to be named.

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

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

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

Have a project in mind?

Tell me what you're trying to achieve, and I'll reply as soon as I can to say whether it's a fit and what the fixed-price first step costs.

Start a project