Headshot of Chandler Prall

Chandler Prall

Hello! I am a software engineer & engineering manager with nearly 20 years focusing on performant, informative, and accessible web products and applications. My passion is the intersection of user experience + product + developer experience.

Personal Projects / OSS

Physijs

https://github.com/chandlerprall/physijs

A physics plugin for Three.js that allows adding dynamic objects to the scene with little adjustment to code. Try the Jenga-inspired interactive demo.

Goblin Physics

https://github.com/chandlerprall/goblinphysics

Realtime 3D physics and collision detection engine built from the ground up in and for JavaScript.

Insula

https://github.com/chandlerprall/react-insula

State management library inspired by Redux's performance woes along with my personal negative opinion of Redux's reducer model. Was used in Crafty's video player for performance reasons.

Napoleon

https://github.com/chandlerprall/napoleon

An isomorphic JavaScript routing library using a tree structure for performance, predictability, and reporting route collisions. Was used in Crafty's isomorphic Node.js+Single Page Applications, replacing Express's routing system and ensuring server & client routing always acted identically.

Alexandria

https://github.com/chandlerprall/alexandria

Static site generator (used by this site) built as a proof of concept while evaluating Gatsby vs. Next.js for projects at Elastic. Alexandria consumes MDX source files + custom components and outputs static HTML+CSS+JS. Client side JavaScript is enabled through a novel Dynamic component which creates a js bundle to only hydrate its children.

Sagebrush Engine

https://github.com/chandlerprall/sagebrush-engine

An electron based app/game engine with hot code reloading, managed state, and export for web. Red Dot is an example game with its source on github.

Sagebrush IDE

https://github.com/chandlerprall/sagebrush

A way for me to explore programming language design, parsing, and the Monaco editor. Includes a custom regex engine for tokenizing, repurposed for parsing expressions. Pre-defined programs for parsing JSON and tables are available at ide.chandlerprall.com

Work History

Elastic

Senior Software Engineer, April 2018 ➝ Senior Team Lead, December 2022

I joined Elastic as the first engineer fully dedicated to the Elastic UI React component library. The team continued growing to 2 designers and 4 engineers, with myself as the team lead.

While EUI was my primary area, our attention to accessibility brought me into the cross-team accessibility working group and coordinating some accessibility-related efforts across products.

Within these roles I worked with product & other leads to understand requirements, participate in and empower cross-team collaboration, and contribute through pairing, mentoring, and authoring code.

Craftsy

Frontend Engineer, February 2012 ➝ Frontend Architect, April 2018

My primary role at Craftsy was providing technical leadership and mentorship to the front end developers, including pair programming, reviewing pull requests, and leading the team through larger codebase updates. I played an instrumental part in growing the front end team from 2 to 15 engineers.

This involved working closely with our devops and backend teams to ensure we aligned on company goals; as part of this I was a member of the SRE team, providing expertise around our nodejs, web, and CDN layers.

Outside of engineering, I worked with other business departments and individuals to gain a better understanding of the business as a whole, which improved the front end team’s impact.

SheKnows

Software Engineer, August 2010 ➝ Software Engineer, February 2012

Worked closely with product and business leads to build and implement new user- and internal- facing features, coordinating with back end and database engineers, playing a key role in a global redesign that saw a 15% lift in return visitors and in a project that cut our landing page development time down from 3 weeks to a couple days.

Weaver Multimedia Group

Software Engineer, August 2009 ➝ Software Engineer, August 2010

Was part of a two-person team to overhaul the website’s look & feel, and maintained data import scripts which powered our key product.

Active Website

Software Engineer, March 2008 ➝ Software Engineer, August 2009

In charge of the import and storage of real estate data from dozens of MLS sources across the U.S. I worked with design, front end, and back end teams to understand their needs and reliably deliver transformed data across various systems. I also provided JavaScript assistance to our team building Waste Management’s business-facing waste disposal portal.