Visualise and plan your remote team's availability and meeting times
Clear Bank
Development of internal banking systems and tooling
7 code-style variations for strongly-typed JSON
Destructure raw JSON whilst automatically adding type information
Diary of a Rapid Application Build
Development diary and reflection on building a Trello clone from scratch
Modular site architecture with Nuxt layers
Build sites that scale by organising code by domain, not concern
Better FastMail
UX & UI improvements to the FastMail web client
Axios Actions
Bundle endpoints as callable, reusable services
Nuxt Areas
Scalable folder management for large Nuxt 2 projects
Alias HQ
The end-to-end solution for migrating to and using path aliases
25 Finder tips & tactics to speed up your workflow
A treasure trove of solid strategies and hidden gems to wrangle those windows and fly through folders
Control Space
Browser tab / workflow manager
Hacking WorkFlowy formatting with Stylish
Use a well-known Chrome extension to add new functionality via custom CSS styles
WorkFlowy MultiFlow
Multi-column view for WorkFlowy
Nuxt Layers Utils
Simplify and consolidate Nuxt layers paths' configuration
Getting a grip on Nuxt's auto-import functionality
Understanding when to use and when to avoid the auto-import magic
The wrong kind of democracy?
A comparison of the 2015 election results with FPTP vs PR
Sentiance
Development of data visualisation dashboard for data science firm
The Shard, finished
Ever thought The Shard looks like they forgot to finish it off? See how it could have looked if they had...
Great Suspender Recovery
Recover your deleted Great Suspender tabs!
Likely Logic
Holding page for my product development moniker
My ketogenic diet and intermittent fasting journey
Everything I learned in 3 months of sticking to a keto and fasting regime
Data fetching in Nuxt
Nuxt data fetching explained within the context of Nuxt's SSR lifecycle
Todo Emojis
Checkbox emojis for todo lists in Slack
State Machine
A powerful yet simply-configured JavaScript finite-state machine
How I stopped biting my nails
How I stopped biting my nails and learned to respect my hands
Guide to nailing your next hackathon
An intro to hackathons and how to get the most out of them
On mindsets, mind shifts and wins
A 10-year (ish) retrospective of self-reflection and improvement
Got Paper?
A cheeky app to calculate your toilet paper requirements
Twosday's hidden analogue symmetry
22:22 is palindromic and ambigramic, but what about its analogue form?
Extension Bus
Universal message bus for web extensions
Nuxt Content Assets
Enable locally-located assets in Nuxt Content
Asterisk
Greenfield build of peer to peer securities lending platform
Spaceman
Manage monorepo workspaces with a prompt-based CLI
WXT Pages
File-system based routing for WXT browser extensions
The work is never just “the work”
A deep dive on why projects always take longer and a framework to improve future estimation
Dave Stewart
2026 Nuxt migration of davestewart.co.uk
WebStorm Power User Manual
The WebStorm features and tools I use everyday to write better code and build bigger apps
A guide to MSAL authentication in Vue
Architect a Vue JS app secured with Microsoft Authentication Library
WXT Layers
Nuxt-like layers functionality for WXT browser extensions
Versioning and releasing larger Chrome extensions
An approach to plan and implement a robust versioning scheme and release schedule – without Semver
Why rocks, pebbles, sand is a productivity trap
Doing the big stuff first can set you up for failure; here's how you should structure your day instead
WebStorm shortcuts for lightning productivity
Essential WebStorm keyboard shortcuts to make you the most productive developer in the office
FairSquare
Greenfield build of car finance and sales platform
Outliner
Convert SVG strokes to outlined fills as a post-export process
Metalink
Web and mobile app to track, manage and discuss NFT collections
Bluesky Follower Info
View your followers' profile and stats in your feed to decide who to follow back
Phomemo CLI
Node CLI, print server and browser client for the Phomemo mini printer
Birthday Timeline Poster
Birthday retrospective where guests share memories via QR code
WorkFlowy "Inboxes"
A WorkFlowy organisational strategy for when you've multiple projects and lots of ideas
Figma Select Related
Select distantly-related items in complex component trees
Vuex Pathify
Vue / Vuex plugin providing a unified path syntax to Vuex stores
How do AIs code as well as they do?
Claude AI explains in its own words how it writes such good code
Branding Experiment
Branding experiment with overlays and colour mapping
Forgd
Data-driven tools & advisory services for blockchain token launch
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.