Matt Riley / software engineer / Leeds

Made to
be used.

I build backend systems and developer tools, from first release through the work of keeping them running.

Explore the work
Objects of the work / 001A Blender study
Three independent tools, imagined as objects on a workbench.12 seconds / three chapters
Last played:
De La Soul — Ego Trippin' (Part Two)

Selected work

Useful by
design.

Tools I use, things I publish, and the work I do with teams.

Waffle, imagined as a small orange terminal with a keyboard and green screen in Blender 01 / Go

Run an agent.

Waffle

A personal AI agent that runs on your own hardware.

A place to bring models, skills, and tools together around the way I work. The terminal in the film represents the agent you use.

Explore Waffle
AgenGit, imagined as a blue reel-to-reel recorder with aluminium reels and a recording light in Blender 02 / Zig

Keep the record.

AgenGit

A local record of what coding agents do between Git commits.

Commits tell one part of the story. AgenGit captures the activity between them. The tape recorder represents that running record.

Explore AgenGit
Lore, imagined as a blue archive drawer filled with tabbed index cards in Blender 03 / JavaScript / SQLite

Remember context.

Lore

Local memory for Copilot CLI and Pi, stored in SQLite.

Context that can carry over to the next session. The card archive represents memory you keep locally.

Explore Lore
Waffle, the orange cat the agent is named after

The other Waffle.
The cat came first. The agent borrowed the name.

02 / Open sourceSmall tools / source availableskill-eval / Neovim / Flagz

Things I publish.

Small tools.
Real uses.

A way to evaluate agent skills, a quieter Neovim interface, and feature flags you can host yourself. Built around problems I keep running into.

01skill-eval

Run the same task with and without a skill, grade the outputs, and measure the difference.

02pint.nvim

A small measure of UI for Neovim — dashboards, notifications, statuscolumn, indent guides, and reference words.

03Flagz

A self-hosted feature-flag service with REST, gRPC, SSE, PostgreSQL, and Go and TypeScript clients.

skill-eval / Gopint.nvim / LuaFlagz / Go
03 / RecordProfessional work / since 2007Companies / dates / technologies

A record of the work.

Different jobs.
Same questions.

I started in analysis and testing, then moved through backend, platform, and product engineering. Same questions each time: does it ship, does it stay up, and is the next change cheaper than the last?

Read the plain-text work record
  1. jan 2026 — nowLloyds WealthSenior Software Engineer

    I work on the existing TypeScript suite — React, Remix, and Serverless on AWS SAM. Since joining I've moved several repos from CircleCI to GitHub Actions, put infrastructure in Terraform, and been chipping away at dependency and platform updates so the next change is cheaper.

    • TypeScript
    • React
    • Remix
    • Terraform
    • GitHub Actions
    • AWS SAM
    • AWS
  2. feb 2023 — sep 2023HavenSenior Software Engineer

    Web Platform and Activities. I built API layers over the existing databases and simplified the backend so the product teams weren't fighting the architecture to ship.

    • AWS
    • Express
    • Fastify
    • Kubernetes
    • NestJS
    • NodeJS
    • PostgreSQL
    • Terraform
    • TypeScript
  3. nov 2021 — dec 2022Add To EventSoftware Engineer

    I helped move the product off Drupal onto TypeScript microservices on GKE, using NestJS. Same product, new backend.

    • Cloud Functions
    • Docker
    • GCP
    • Gitlab
    • Kubernetes
    • NestJS
    • NodeJS
    • PostgreSQL
    • Redis
    • Terraform
    • TypeScript
  4. jul 2019 — jul 2021MetriskSoftware Engineer

    I built the service behind Scan2Recycle: users photograph a product, Cloud Vision identifies it, and they get a reward — store loyalty points, for example — for putting it in an in-store recycle bin.

    That service ran on GCP (Pub/Sub, Cloud Functions, Cloud Vision). The main Metrisk promotions platform was AWS — AppSync, Lambda, Serverless.

    • AWS
    • Cloud Functions
    • DynamoDB
    • GCP
    • Github Actions
    • GraphQL
    • Kinesis
    • Lambda
    • NodeJS
    • PubSub
    • Serverless
    • TypeScript
  5. apr 2015 — jul 2019SkySoftware Engineer

    I joined as an automation tester and moved onto the GraphQL core team. That service fed Sky.com and the MySky app. I also looked after the Varnish cache in front of the backends GraphQL consumed.

    • Apollo Server
    • Docker
    • Express
    • Grafana
    • GraphQL
    • Kafka
    • MongoDB
    • NodeJS
    • Redis
    • Ruby
    • Sinatra
  6. apr 2014 — apr 2015William HillTest Engineer

    Testing gaming content on William Hill — mainly Vegas, plus Games and Live Casino. Fairness testing on an in-house Node.js app, supplier REST APIs, and some Ruby automation with the Innovation team.

    • Coffeescript
    • MongoDB
    • NodeJS
    • Ruby
  7. jan 2012 — apr 2014Hewlett PackardSystem Integration Test Engineer
    • Citrix
    • Ruby
  8. nov 2007 — dec 2011DWPBusiness Analyst & Test Engineer
    • Excel
    • Microsoft Access
    • Oracle e-business suite
    • Visual Basic

A little context

The person
behind it.

I've spent nearly twenty years in software, mostly on backend APIs and the systems around them — GraphQL at Sky, product and platform work after that, currently at Lloyds Wealth. I also make tools for my own setup: a personal agent, a way to record what coding agents do between commits, and a pile of Neovim and Homebrew bits.

I'm a Neovim user, which I have to mention at any possible opportunity as per the terms and conditions of using (Neo)Vim, and comfortable using any environment with a terminal — preferably macOS or (almost) any flavour of Linux.

Outside of writing code and tinkering with my dotfiles I enjoy:

Public code

More on
GitHub.

Fetching repository details. Browse all repositories on GitHub.

Contact / closeMatt Riley / Leeds

Have a problem worth solving?

Let's make
something that stays up.

I'm in a role just now. I still read mail about backend systems, developer tooling, and product work that has to keep working after launch.

Email me: hello@mattriley.work

Go / Templ / HTMX / public tools / no trackers