devin jones

london

Eleven years turning regulatory expectations into something a large bank can actually execute — Deutsche Bank, then Citi, where I look after controls governance for the Services business. At weekends I build software and host it myself. What I learn building it ends up back in the day job. Nearly everything below was built this year.


0 9 * * 1-5 the job — monday to friday, at 09:00

rolesvp, controls governance & oversight
orgciti services·london·since 2022
scope14 global assessment units·team of 12·90+ countries
beforedeutsche bank 2015–2022·capgemini invent 2018
controls.rationalised70,000 → 10,000
sla.adherence40% → 98%
units.consolidated1,400 → 14 → 7
practitioners.trained150

# writing the framework is the easy part. adoption across ninety-odd

# countries is the job, and most of that is training, documentation,

# and making the case to people who do not report to me.

#

# the last programme reported off a python pipeline i wrote — a

# 40-page pack every morning, read at md and executive committee

# level, replacing about five hours of manual work a day. then i

# taught a team of analysts to run it, so it stopped being mine.


0 11 * * 6,0 the habit — saturday and sunday, at 11:00

tap any project to see it

Last Stand at wave 41: a serpentine barricade maze filling the field, the horde's route traced in amber, a napalm fire burning at a choke point
RoboROI assumptions and sources page, listing which cost defaults are not applied to the scenario and why
Together app home screen showing private chat, couple session, and the day's question
phone voice telegram whisper vps agent approve before it writes
The Home Reform editorial homepage prototype: deep plum panel with the studio wordmark beside a photograph of a warm ochre bedroom
Fined, Lad title card: a set of scales above the words the stag do fines court

A maze‑building zombie tower defence. Endless waves, one spawn point, forever.

# built around one complaint: these games get frustrating when difficulty arrives as a second spawn point. so this one never opens one. wave 100 comes through the same gap as wave 1 — the curve moves through what walks in, never through where it walks in from. nothing you build can be destroyed, and any placement that would seal the route is refused, so you cannot softlock yourself.

# a single flow‑field BFS from the camp replaces per‑zombie pathing. repathing 130 zombies after you drop a wall then costs nothing, "would this placement seal it?" becomes "is the spawn still reachable?", and the route preview is just walking downhill. no dependencies, no build step, and the whole thing runs headless in node for the test suite.

vanilla js · canvas 2d · pwa, works offline · ~5,000 lines

Total cost of ownership for humanoid robots. Vendor‑neutral.

# two thirds of the five‑year cost came from one number nobody had sourced — breakeven month 26 with it, month 7 without, and every check had passed green for four days. nothing related a number's provenance to its influence, so i wrote the check that does.

in build next.js · express · golden‑master fixtures

An AI relationship coach for couples.

# the model is not the hard part. crisis detection runs before the model call, not after. a banned‑word list is enforced by tests rather than a style guide, content is encrypted per couple, and no message body is ever logged.

in testing fastapi · supabase · claude · react native

My development environment, operated from a phone.

# a coding agent running against project folders on a server. voice note in, work out, and it still asks before it writes. built because most of my building time is twenty minutes and not at a desk.

running telegram · whisper · hetzner · rclone

A London interior design studio, moved off Squarespace.

# the interesting part was sharing a repo with a designer who doesn't write code: hard branch edges, an explicit list of what must never be touched, and production fenced off because editing it takes the public site down.

next.js · nginx · pm2 · hetzner

A fines court for a stag do. And one for a golf four‑ball.

# submit a charge, the group votes on severity, the best man delivers the verdict. the golf one runs last man standing — the fine transfers to whoever offends most recently, which is a surprisingly awkward piece of state. tested by groups who were not gentle.

live node · express · sqlite / postgres · react

devinjones521@gmail.com linkedin/in/devinjones521