A 10-year (ish) retrospective of self-reflection and improvement
Vue Class Store
Universal Vue stores you write once and use anywhere
A guide to MSAL authentication in Vue
Architect a Vue JS app secured with Microsoft Authentication Library
Modular site architecture with Nuxt layers
Build sites that scale by organising code by domain, not concern
Sentiance
Development of data visualisation dashboard for data science firm
Control Space
Browser tab / workflow manager
Asterisk
Greenfield build of peer to peer securities lending platform
WorkFlowy MultiFlow
Multi-column view for WorkFlowy
FairSquare
Greenfield build of car finance and sales platform
Clear Bank
Development of internal banking systems and tooling
Branding Experiment
Branding experiment with overlays and colour mapping
The work is never just “the work”
A deep dive on why projects always take longer and a framework to improve future estimation
Metalink
Web and mobile app to track, manage and discuss NFT collections
Twosday's hidden analogue symmetry
22:22 is palindromic and ambigramic, but what about its analogue form?
Outliner
Convert SVG strokes to outlined fills as a post-export process
Got Paper?
A cheeky app to calculate your toilet paper requirements
Forgd
Data-driven tools & advisory services for blockchain token launch
Alias HQ
The end-to-end solution for migrating to and using path aliases
Todo Emojis
Checkbox emojis for todo lists in Slack
Nuxt Content Assets
Enable locally-located assets in Nuxt Content
State Machine
A powerful yet simply-configured JavaScript finite-state machine
How do AIs code as well as they do?
Claude AI explains in its own words how it writes such good code
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, satisfying, and memorable 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.