Senior front-end, product-minded engineering
I help product teams take ideas from rough concepts to well-structured, accessible interfaces that hold up in production — as a contributor, a lead, or the bridge between design and build.
I have spent the last decade helping teams ship web software — marketing pages, content-heavy products, and complex dashboards with real-time data. My sweet spot is the intersection of user experience, performance, and a codebase that is easy to extend. I care most about the second and third of those, because they are what a team lives with after launch.
I started in 2012 doing freelance work for international clients — markup, CSS, jQuery, PHP, WordPress — and learned the habits that still shape how I work: honest estimates, frequent updates, and small deliverables. From there I built commercial themes at Bootstrapious, where writing documentation for non-expert buyers taught me to explain code clearly. I ran my own agency, Ionic Hub, from 2019 to 2024, taking projects from proposal to delivery and learning to scope honestly and say no to work that did not fit.
Since 2021 I have been at Storage IT Solutions, where I grew from a React developer into the front-end team lead — owning critical features, setting standards, running reviews, and mentoring mid-level engineers. Alongside that I co-founded Web3 Monkeys in 2024, building the entire front-end surface for a blockchain-native brand and setting the wallet and transaction UX patterns reused across its products.
Whether you are an early-stage founder or an established org modernising a legacy UI, the working relationship is the same: shared ownership, clear communication, and a bias toward shipping in sensible slices.
Three shapes of engagement
Individual contributor
Own a feature or a surface end to end — from the data layer to the pixels — and ship it in reviewable slices alongside your team.
Tech lead
Set the front-end direction, run reviews, define the conventions, and keep engineering aligned with design and product without becoming the bottleneck.
Design ↔ engineering bridge
Translate a Figma file into a build plan, flag the expensive components early, and propose the small changes that make them cheap.
Principles
Clarity over cleverness
Clever code is a loan taken out against the next person's time. I optimise for the reader: explicit names, boring control flow, and abstractions that appear only after the third repetition, not before the first.
Velocity with guardrails
Speed and quality are not a trade-off if the guardrails are automated. Types, lint, formatting, and a few high-value tests catch the mistakes that would otherwise become a slow week later. The pipeline does the nagging so people don't have to.
Design ↔ engineering
The best results come from closing the loop between design and build early — flagging the expensive component before it is designed in detail, and proposing the small change that makes it cheap. I am comfortable on both sides of that conversation.
11+
Years shipping production UIs
2000+
Client-facing deliveries
SaaS → Web3
Cross-industry experience
Think we'd work well together?
The best way to find out is a short call about what you're building. If it's not a fit, I'll usually know someone who is.
More on the day-to-day in how I work and the full timeline.