Building useful software for messy real-world work
I work from unclear goal to running service: framing the problem, choosing the architecture, building the thing, and keeping it understandable for the team that owns it next.
A lot of the interesting work happens between disciplines: careers, mobile services, sustainability, physics, public science, research visibility, and AI that has to be useful after the demo.
Domains: Applied AI
Careers AI assistant
LUCA
A Lancaster University careers pilot for independent employability practice: CV and cover letter review, interview modes, feedback reports, and LinkedIn recommendations.
Applying AI in a university service context, balancing usefulness, trust, safety, evaluation, privacy, and operational cost.
A daily companion for campus life, evolved through co-production and data: Expo migration, performance work, check-in improvements, digital passes, safety tooling, and support visibility.
Maintaining and evolving a high-visibility student platform where reliability, accessibility, release confidence, and institutional service ownership matter as much as feature delivery.
A map interface for iceberg detection research, turning satellite radar and AI outputs into accessible location data for potential maritime use.
Translating specialist research outputs into a usable interface where uncertainty, map interaction, and public-facing interpretation need careful handling.
A public site for an EPSRC-funded AI research hub, built with Next.js, Mantine UI, AWS, university content integrations, and a lightweight admin workflow.
Making collaboration, content ownership, AWS hosting, and long-term maintenance practical for a distributed programme.
An open-source npm registry gateway and Node devcontainer base image for safer dependency installs, built from a spec with Codex doing the long-haul implementation work.
Anvil sits between package managers and upstream registries, applies deterministic policy, queues analysis, and gives reviewers enough evidence to understand why a dependency was allowed, blocked, quarantined, or overridden.
A TypeScript npm registry gateway that evaluates package metadata, tarballs, provenance, low-adoption signals, lifecycle scripts, and overrides before install traffic reaches developers or CI.
Node Base safety harness
A companion Node devcontainer image for unknown repositories, with ignore-scripts safe mode, observed install mode, lifecycle reports, and explicit handling for install-time behaviour.
AI kept in its lane
Optional LLM review adds structured risk context, but deterministic policy stays the enforcement authority. Decorative security can stay outside where it belongs.
How I work
I like the bit where vague goals have to become usable systems, sensible architecture, and delivery plans that a real team can survive without forming a support group.
Strong technical work is rarely just code. It is judgement, collaboration, trade-offs, communication, and enough taste to know when an abstraction has wandered into self-importance.
AWS Certified Solutions Architect - Professional gives me a structured way to reason about reliability, security, cost, scalability, migration, and operational support.
Start with the shape of the problem before picking the stack.
Design for the people who will actually use and maintain the thing.
Use AI where it expands capability, not where it decorates a demo.
Keep systems understandable enough that future teams can safely change them.
Prefer evidence from users, data, and delivery over theatre. Theatre has excellent lighting and terrible uptime.
Problem framing
Turning uncertain ideas into practical options, including what to test first and what to leave alone for now.
AWS architecture
Designing secure, cost-aware, maintainable cloud systems with reliability, migration, permissions, and operational support in view.
Delivery judgement
Keeping implementation, observability, release confidence, handover, and day-two ownership connected from the start, without losing the people who run it.
Applied AI systems
Building AI features around usefulness, trust, evaluation, privacy, and cost instead of letting the demo write cheques the service cannot cash.
Notes from the workbench
Short-form thinking on software, engineering judgement, AI, delivery, and whatever technical decision currently deserves a raised eyebrow.
More work, writing, and traces of what I'm building
This site is a working notebook for software, platforms, ideas, and the occasional technical opinion with its sleeves rolled up.