I help organisations work out what AI should actually change, then build the systems that prove it.
About
Most of my career has been about making organisations work better: agile coaching,
portfolio management, enterprise performance. Now I'm doing the same thing for AI,
working out what it should actually change about how organisations operate. I've
spent that time building real tools, testing real workflows, and thinking hard
about where the gap is between what AI can do and what organisations actually
manage to get from it. The projects on this page are that thinking made visible.
AI adoption
My journey, and what I've learned about adoption
“The point of a report was never the report, it was the insight that let
someone decide. AI should get us to that decision directly, not just produce
reports faster.”
Most of my career has been in Agile coaching, portfolio management, and
enterprise performance, helping organisations diagnose what's not working and
build better ways of operating. More recently I've been doing the same thing
with AI: building my own tools, testing them on real work, and presenting what
I learn to colleagues, rather than just reading about it.
AI is a means to an end, and the harder question is what that end actually is
for a business. The common trap is bolting it onto an existing process: that
works, but only for a fraction of the benefit. The bigger opportunity is
questioning why the process exists at all. What actually slows this down is
organisational: giving people safe access to real data so they stop finding
workarounds, shared tools and skills so nobody rebuilds the same thing twice,
and structured support for people who aren't already comfortable experimenting
on their own.
I can't yet point to organisation-wide numbers this has delivered, the industry
as a whole is still early in adopting it properly, and I'd rather be straight
about that than oversell it. What I can show is the research, the thinking, and
the tools I've built to test it on myself first. The projects below are how.
Applied AI Research
9 projects, each one evidence of how I think about applying AI in practice
Applied inside a large organisation
screenshot placeholder
Cockpit
Commitments made in meetings kept getting lost once everyone logged off, and going back through notes to find them wasted time. I built an AI action board that reads meeting transcripts, calendar, and chat, and turns them into a single tracked list of tasks.
Work · Python, local LLM CLI
Three-zone workflow: AI Action Feed to Today's Plan (capped at 3 to 5 items) to Daily Achieved, moved by button, never auto-populated.
Every card can expand a "why" panel showing the model's reasoning and the verbatim source quote it came from.
Local-first by design: no cloud, no database, everything runs through a single JSON file on-device via a local CLI.
screenshot placeholder
Jira Reporting Tools
Leadership reporting meant hours of manual slide-building every cycle, whether that was a sprint update for one team or an executive summary across a whole portfolio of programmes. I built one modular toolkit that turns raw Jira data straight into whichever of those a leader needs, on a schedule, with no manual deck work.
Work · Python, Jira API
Three-layer architecture: a reusable data layer, a purpose-built enrichment layer per report type, and a presentation layer, so a new report type is a new module, not a rewrite.
The roadmap module deliberately separates delivery risk from data quality: a missing date is flagged as a data problem, never coloured as if it were a risk, and every date change is tracked automatically so a slipped date never goes unnoticed between cycles.
Sprint Reporter runs unattended end to end from the command line; Strategic Alignment has been live since May 2026; the roadmap module has been verified live across 51 portfolios and around 1,200 initiatives, and is awaiting stakeholder sign-off on its redesigned layout.
screenshot placeholder
Programme Relationship Graph
Most dependency reporting is really just a snapshot of what's declared in Jira at that moment, and it goes stale the second something changes. This concept skips the report entirely: it reconstructs how things actually connect from evidence, so instead of reading a report, you ask a question and get an answer. Still a proof of concept.
Core reframe: declared Jira dependency links are treated as claims to validate against reconstructed evidence, not facts to trust outright.
Three evidence layers and exactly three confidence tiers: extracted, inferred, or ambiguous.
PoC-level code and a formal investment case, a ten-slide deck benchmarked against external research, pitched to senior leadership.
Vibe Coding Training Session
Colleagues could see AI's potential but had no concrete starting point for using it themselves. I turned a real internal tool into a teaching kit and ran a hands-on session giving them that starting point directly.
Work, enablement · Python, GitHub Copilot
Structured around a clear narrative: from doing the manual glue work by hand, to a single CLI command, to an agentic tool that plans and acts across steps on its own, a frontier he's honest about still learning.
Taught a concrete prompting pattern: describe the outcome, ask for a plan first, read and correct the plan, then let it build. Also covered giving an AI durable context across sessions with three plain files, an instructions file, a README, and a memory/state file.
Explicit on data handling throughout: the toolkit runs fully locally, so nothing sensitive leaves the machine or reaches an outside AI service.
Independent research
memory-tools
I wanted a frictionless way to capture an idea or task the moment it came to mind. I built two small apps for capturing and browsing straight from my phone or browser. The next step is feeding that capture into the same orchestration layer as Cockpit, so reviewing it becomes an agentic task rather than something I do by hand.
Personal · JavaScript, GitHub API, PWA
Both apps call GitHub's Contents API directly from the browser; a fine-grained personal access token, scoped to contents only, is stored in that browser.
Includes a force-directed graph view of the knowledge base and a scored triage queue, built on lightweight term-overlap scoring rather than a full embeddings pipeline.
I built Clive to perform tasks and save time for a gaming alliance. He ended up becoming something the community chats and jokes with, which is what pushed me to build out his memory and personality properly.
Personal · Node.js, LLM failover
Provider chain with fallback, tried in order on failure, so one API being down never takes the bot offline.
Knowledge is modular: adding a new topic is dropping in a markdown file, no code change needed.
Persistent memory deliberately split across five separate stores so frequent writes never rewrite one large file.
screenshot placeholder
ParentMail School Notifications
One school inbox mixed every kid's messages together, with no way to filter by child. I built a scanner that splits school messages into a separate inbox and calendar per kid.
Personal · Node/Express, Playwright
Extracts individual dated items line by line rather than treating whole messages as one block.
Caches the login session only, never the password, even though that means re-authenticating periodically.
screenshot placeholder
Dark War Codes
A weekly gift code needed redeeming across several game accounts by hand, every week. I built a watcher that catches the code and redeems it automatically, wired into Clive so the community sees the result straight in Discord.
Personal · Python, Discord API, GitHub Actions
Two independent watchers, either of which can trigger a redemption, catching codes posted in different channels.
A scheduled job runs regardless as a safety net, independent of both watchers.
screenshot placeholder
ViewQueue
I wanted YouTube to schedule what I watch by context, bedtime, commute, lunch, without manually tagging anything. I built a mobile-first scheduler that learns viewing habits on-device, no server, no model training.
Personal · Python, YouTube API
Generates a playlist via the YouTube Data API rather than fighting the platform's watch-history API restrictions directly.
On-device personalisation rather than a server-side model: no server cost and no exposure to upstream API changes.
Outside of work
Outside of work I'm Leeds-based with a family. I like technology and
computing in general: home networking, DIY electronics, 3D printing, the
same curiosity that drives most of the projects above, just for its own sake
rather than solving a work problem. Away from a screen, it's triathlon and
cycling.
photo placeholder
Ask about my career
Hi, ask me anything about Tom's career, skills, or projects.