AI-native frontend,from idea to production.
- React / Next.js
- Digital products
- AI & games
- Remote-first
Tay Digital is a frontend engineering studio specialising in React and Next.js. We deliver production software end to end — from design and engineering through testing, accessibility, DevOps and delivery, whether independently or alongside client teams.
Our AI-native workflow uses reusable skills, MCP, automated testing and review to take work from idea or ticket through to production. Alongside client work, we build our own apps and services around real user problems, plus smaller experiments through the Tay Digital Lab.
I’ve been building frontends for 25+ years (it still doesn’t feel like work) — including the last 14 of them contracting through Tay Digital, remotely and across the UK, with React and Next.js as my go-to stack.
Right now that means the MoneyHelper Pensions Dashboard at Money and Pensions Service: a national service to find and view your pensions in one place when it launches in 2027.
Products
Apps and services built around a real need — architecture, design, payments and support. Watchlist Buddy is the fullest example: a real app that people use, rather than a weekend demo.
Watchlist Buddy
A smarter way to know what’s ready to watch.
Flags when a season is ready to binge — every episode out — plus return dates and release dates. Built for people like me who would rather wait for the whole season.
Next.js · TypeScript · React · Supabase
(opens in a new tab)WordPress Buddy
A simpler way to keep WordPress sites looked after.
Hosting, updates, and support for small UK businesses — the unglamorous work that keeps a WordPress site alive, with Stripe handling the billing.
Next.js · TypeScript · React · Supabase · Stripe
(opens in a new tab)Snooker Handicaps
An easier way to keep league handicaps up to date.
Built for Dundee Amateur Snooker Association so admins don’t have to work handicaps out by hand every week. Results are pulled automatically from League Republic, then processed against the handicap rules — each result updates the players involved.
Next.js · TypeScript · React · Supabase
(opens in a new tab)
Labs
These are timeboxed, playable proofs of speed, not finished products. Prompting-only experiments to test the limits of what AI can build — I purposefully don’t look at the code, and code quality is not in scope.
Tiggl
An evening — chase, dodge, and don’t crash.
An original game where you chase the circles, avoid the bad eggs, and don’t let a nudge turn into a crash. Physics and collision detection — a bump will crash the round. Ten levels, a live score, and a clock. In the site hero for now — a standalone build comes later.
Next.js · TypeScript
(Remember) Whatever
Around 1999 — gigs, demos, and one EP.
I had a band around 1999. We played gigs around the UK — mostly Glasgow — and recorded some live demos and one studio EP. This is what got me building websites. Using AI I’ve taken some of those tracks and run them through Suno.
Original Music · Songwriting · Suno
(opens in a new tab)Rainbowslugs
v1 in 10 mins, born from an off-the-cuff work chat message.
Local multiplayer snail-race betting in chunky Amiga style — pick a slug, put something on it, watch them crawl. An experiment to see how far a game could get from a standing start, playable but not finished.
Next.js · TypeScript
(opens in a new tab)Stick to the Grid
A few hours with my 11-year-old son Adam — experimenting with changes.
A neon stick-figure platformer with arcade-cabinet energy, made with my 11-year-old son Adam to get him involved in coding. Still rough around the edges — we got it to a playable place fast enough to make together, and still not finished.
Next.js · TypeScript
(opens in a new tab)TLOU / Escape the Dark
A weekend converting a board game to online — audio, design, and more.
A recreation of The Last of Us: Escape the Dark — the tabletop game, not the TV show. It didn’t translate well in gameplay; I tried skills games instead of dice rolls, but it feels too complex to be good, though it’s playable and still in progress.
Next.js · TypeScript
(opens in a new tab)