Ashley Cook

Frontend Engineer

I build React and TypeScript applications with a focus on interactive, high-performance user interfaces. My experience spans product development, frontend architecture, Canvas and WebGL applications, and migrating complex legacy systems to the web.

I've worked on browser-based editors, enterprise diagramming tools, browser games and interactive web applications. Many of these products managed large datasets, complex interactions or long-lived customer data, requiring frontend architecture that remained responsive as products evolved.

React • TypeScript • JavaScript • Zustand • Canvas API • PixiJS • WebGL • Node.js • GLSL • WebGPU • WGSL

radial16.7ms
scene:update
canvas:draw
hit-test

Brief About

Building large interactive applications

Most of my work has involved products where the frontend is the application rather than a thin layer over an API. Diagram editors, migration tooling and browser-based software all place long-term demands on application structure.

That has led to work on component architecture, migration tooling, editor-style interfaces and frontend performance, where maintaining existing behaviour is often as important as delivering new features.

Expertise

Where frontend work meets rendering constraints

Frontend Engineering

Building React applications that remain understandable as products, teams and requirements grow.

Rendering Systems

Building Canvas-based interaction systems that support complex React applications and large visual datasets.

Graphics & Web Technologies

Interactive Interfaces with PixiJS, WebGL and modern graphics APIs to solve practical product problems.

Enterprise Applications

Developing internal tools and customer-facing products where years of existing behaviour can't simply be rewritten.

Migration & Legacy Modernisation

Moving established products onto modern foundations without disrupting the people already using them.

Product Development

Turning vague ideas into software by identifying the technical constraint that actually shapes the solution.