Seventeen years on the front end of the web, and still enjoying it.
Mostly on big, awkward platforms where the framework is the easy part and the real work is the complex features, performance, and keeping a large codebase from turning into a swamp. I've done that for a global pharmaceutical client, Sony PlayStation, enterprise SaaS and Virgin Media, usually leading the frontend side.
The parts most people skip
— the bits that decide if it's any good✳The gnarly features
The work other teams route around: a locked-down enterprise CSP that broke Vue's compiler build, an ARIA-correct mirror of a third-party select that couldn't be replaced. At the client's healthcare platforms that included healthcare-grade WCAG across patient-facing products: accessibility baked in from the first line of markup, not bolted on at the end.
✳Design systems
My favourite work: one YAML definition generates the types, the templates, the CMS dialogs and the markup, so nobody hand-writes the same component five slightly different ways.
✳Performance & reliability
Core Web Vitals, progressive hydration, loading behaviour, and the build that doesn't fall over at 5pm on a Friday. CI/CD that ships without drama.
Currently: enterprise SaaS learning platform
3|Share · enterprise SaaS learning platform · 2025 – present
One YAML file per component. Everything else generated.
I'm rebuilding the client's learning platform as a modern AEM Cloud component system. Each component's YAML schema generates the TypeScript types, the Lit templates, the AEM dialogs and the HTL: around 25 production AEM components so far (40+ including the Lit atoms they compose from), instead of four hand-maintained copies of each.
Read the case study →generator
fig. 1: the pipeline. ≈ 25 AEM components (40+ with Lit atoms), zero hand-written copies.
Where I've worked
2025
Global pharma
Senior Frontend Developer, Global Healthcare (via 3|Share)- Owned search and discovery for the HCP medical-information portal: Solr-backed single-page search and faceted filtering reconciling three search contexts (publications, clinical trials, congresses, medical info) through redesigned, deep-linkable Vuex state.
- Refactored Vue to the runtime build to satisfy a strict enterprise CSP that banned
eval, then migrated the medical-information request system Vue 2 → Vue 3 with code-splitting; zero functionality lost. - Built authenticated clinical-trial bookmarking on the patient platform: legacy Vuex wired to AWS DynamoDB + Cognito with event-driven state sync across pages.
- Built oneDataLayer: one TypeScript framework for views, clicks, scroll, search and OneTrust consent, wired into AEM components via a single data attribute; no per-component JS.
- Led WCAG remediation across all three platforms ahead of the EU Accessibility Act, validated against real NVDA and VoiceOver.
2021
Immediate Media
Senior Frontend Developer, London- Features for high-traffic brands including BBC Good Food, History Extra and Made for Mums.
- Headless and traditional CMS work with React, Next.js and Node.js across multiple brand properties.
2020
Sony PlayStation
Senior AEM Frontend Developer, London- Led the community-forum migration from Lithium to AEM Communities and spearheaded a global site redesign on PlayStation's web presence.
- Rebuilt help & support as an AngularJS single-page app; introduced Jasmine testing to the frontend workflow.
2016
Virgin Media
Senior → Lead Frontend Developer, Hook- Led a team of up to 7 developers (3 offshore) through the renewal and migration of the Virgin Mobile platform.
- Defined frontend technical strategy, unified Care and Sales onto one AEM stack in Sightly/HTL, and introduced Grunt + SASS into the Maven build.
2012
Perform · Brandwidth
Web Developer, Feltham / Windsor- High-profile sports-media sites under tight deadlines; hand-coded, W3C-valid builds for clients including Toyota and Holiday Inn.
What I reach for
— judgement more than toolingDay to day it's TypeScript everywhere, with Vue and Lit doing most of the heavy lifting in my recent work, and React and Next.js when a project calls for them. For styling I lean on modern CSS, design tokens and cascade layers, plus Tailwind where it fits. I build with Vite, document in Storybook, validate with Zod, and test with Web Test Runner and Playwright.
The rest is judgement more than tooling: component architecture, design systems, schema-first code generation, WCAG and ARIA done properly, Core Web Vitals, and the CI/CD to get all of it out the door without drama. A long history with Adobe Experience Manager, and more recently headless CMS work in Contentstack and Sanity.
Lately — the newer CSS platform features (container queries, the View Transitions API, cascade layers and :has()), schema-driven design systems, and treating AI as part of the daily workflow rather than a novelty. The platform has moved a long way recently, and I have moved with it.
On the side
— pieces I keep coming back toRadioShake
2025 – presentA side project that got a bit out of hand: an internet-radio app for Android and Wear OS. 45,000+ stations, Android Auto, and a daft feature where you shake the phone to jump to a random station. Kotlin + Jetpack Compose, built largely with AI assistance, which is part of why I trust that way of working for client projects too.
Read the case study →fig. 2: radioshake.media, live on Google Play.
Slipstream
2026A Linear-style issue tracker on a local-first sync engine I wrote from scratch: no Replicache, no Zero. Optimistic mutations, a server-authoritative mutation log, offline retry with backoff, and Yjs only where a CRDT earns its keep. Live demo, open source.
Read the case study →Strata
2026A 20-component web-component design system where the theming surface is the product: two tiers of design tokens plus a documented ::part() inventory. The proof: a complete alternative identity in one CSS file, switchable live in the Storybook. Every component axe-checked.
Read the case study →ask.hiten.dev
2026A live streaming chat over my CV, grounded in a hand-written facts file so it stays honest. Astro 5, vanilla TypeScript parsing SSE token by token, GPT-OSS 120B via Groq; self-hosted CI on my own NAS.
Try it live →Noctal Studio
2026Productised web services for small Reading businesses: four fixed-price packages plus monthly care plans. A one-person operation with the senior frontend experience you see on this site.
Visit the studio →Reading, & paperwork
Web development in Reading
I'm in Reading, and happy to work with people nearby, or anywhere remotely. If you run a business in Reading, Berkshire or the Thames Valley and need a website or web app built properly: quick to load, usable for everyone, not held together with string. That's the sort of work I take on freelance.
Same goes for teams that want a pair of senior frontend hands, or some design-system help, for a few months. I'll do the whole thing: the build, the performance work, the accessibility, and the unglamorous bit at the end where it actually ships.
Certifications
Common questions
— the bits a hiring manager usually asksWhere are you based, and do you work remotely?
Based in Reading, Berkshire, UK. Happily remote across the UK with EU-friendly hours, and occasional on-site in London or the Thames Valley when an engagement calls for it.
Are you available, and on what basis?
Open now to both permanent and contract roles. Permanent: senior or principal frontend, frontend architect, staff engineer. Contract: outside-IR35, typically 3 to 12 months.
What is your IR35 status for contract work?
Contract engagements are taken outside IR35. Happy to discuss SDS and the contractual specifics for your engagement on a call.
What is your day rate or salary expectation?
Best discussed on a call. Email hello@hiten.dev or call 07827 443 288. Rates and salary depend on engagement length, scope and whether the role is inside or outside IR35.
Which frameworks do you work with day to day?
TypeScript across everything. Vue and Lit have the deepest production depth from recent enterprise work. React and Next.js when the project calls for them (BBC Good Food, IronPulse). Also: Astro 5 SSR (three live sites), Adobe Experience Manager, Storybook 10, Vite, Zod and Playwright.
Which sectors and clients have you worked in?
Enterprise SaaS (current 3|Share engagement), regulated healthcare (a global pharmaceutical client, four years), gaming and media (Sony PlayStation), telecoms (Virgin Media), publishing (BBC Good Food, History Extra), automotive (Toyota), hospitality (Holiday Inn).
How do you use AI in your day to day work?
Claude Code on a dedicated headless Ubuntu box, reachable anywhere over Tailscale. Each project ships an AGENTS.md so the agent follows that project's own conventions, with MCP wired to my self-hosted Forgejo so it can interact with repos directly. The distinctive habit is queueing well-scoped autonomous coding sessions overnight and reviewing the diffs the next morning like PRs. A productivity multiplier with discipline, not theatre.
How quickly do you reply?
Email gets a same-day reply most days. The quickest way to start a conversation is hello@hiten.dev or 07827 443 288.
Got a project, or just want to talk shop?




