Development of data visualisation dashboard for data science firm
Nuxt Content Assets
Enable locally-located assets in Nuxt Content
Asterisk
Greenfield build of peer to peer securities lending platform
Outliner
Convert SVG strokes to outlined fills as a post-export process
A guide to MSAL authentication in Vue
Architect a Vue JS app secured with Microsoft Authentication Library
The work is never just “the work”
A deep dive on why projects always take longer and a framework to improve future estimation
FairSquare
Greenfield build of car finance and sales platform
WorkFlowy MultiFlow
Multi-column view for WorkFlowy
Got Paper?
A cheeky app to calculate your toilet paper requirements
State Machine
A powerful yet simply-configured JavaScript finite-state machine
Twosday's hidden analogue symmetry
22:22 is palindromic and ambigramic, but what about its analogue form?
Clear Bank
Development of internal banking systems and tooling
On mindsets, mind shifts and wins
A 10-year (ish) retrospective of self-reflection and improvement
How do AIs code as well as they do?
Claude AI explains in its own words how it writes such good code
Metalink
Web and mobile app to track, manage and discuss NFT collections
Alias HQ
The end-to-end solution for migrating to and using path aliases
Forgd
Data-driven tools & advisory services for blockchain token launch
Todo Emojis
Checkbox emojis for todo lists in Slack
Control Space
Browser tab / workflow manager
Modular site architecture with Nuxt layers
Build sites that scale by organising code by domain, not concern
Branding Experiment
Branding experiment with overlays and colour mapping
Vue Class Store
Universal Vue stores you write once and use anywhere
I started out in Animation and Flash, which taught me how things should feel. I've spent 10 years building web applications, which taught me how things should work.
Now I combine both to create eye-catching and satisfying experiences:
Right now I specialise in UI architecture, component libraries, and design systems – but I'm just as comfortable working across the full application stack.
I'm available for contract work or permanent roles where I get to work across design, product, and engineering.