Adam Solove

I’m a programmer, speaker and activist. I seek deep understanding so I can create clear explanations.

Talks & essays

The history of UI engineering

Recreating Sketchpad, the first GUI was a talk at !!con 2024 about what we can learn by studying and rebuilding early user interfaces. Earlier, Constraint programming in the browser at JSConf 2013 covered related ground, alongside a short note on being inspired by Sketchpad and its constraint-oriented UI.

Adam delivers a talk, gesturing at a podium in front of a screen showing the design of a rivet. Fig. !!con 2024

Embeddable UIs

<iframe>able finance, presented at Fintech Devcon 2023, shares advice and war stories for building embeddable UIs and SDKs using iframes.

Screenshot of Adam in purple hair, gesturing dynamically while presenting. Fig. Fintech Devcon 2023

Collaborating to specify UIs

Pure UI Control is an essay on how teams can communicate and organize their work when building complex UIs. A companion essay, What are the important problems in UI engineering?, sketches the open territory I think the field still hasn’t properly mapped.

Structuring concurrency

Synchronizable abstractions for understandable concurrency is an explanation of the Concurrent ML event system — the small, careful design that later inspired React Fiber.

Sequence diagram of Concurrent ML communication. Fig. CML event sequence

React internals

Preact in Pictures is a 2017 talk explaining the core virtual DOM diffing algorithm, following the code in Preact but with notes on how it compares to React. The companion Preact Internals series goes deeper. Earlier, in 2014, I gave an early talk on React + Om and wrote an experience report on shipping a ClojureScript wrapper for React.

Diagram visualizing the Preact lifecycle. Fig. Preact lifecycle

Web performance

The new fast is a talk I gave several times in 2016 sharing advanced web performance techniques that were fairly new at the time — HTTP/2, server push, advanced CDN usage, and streaming responses.

Slide with stylized network waterfall discussing site performance best practices. Fig. The new fast

Career

Day-job software, mostly in narrow specialist domains where the cost of a misunderstanding is high.

Payments

My primary work for the past six years has been building UIs and APIs for payments. At Figma I worked on payments and billing. At Stripe I worked on Elements, PaymentIntents, SCA, W3C, and emoji.

Design tools

From 2011–2017, I primarily worked on in-browser WYSIWYG design tools for websites and images.

Full history

A more complete chronological account lives on my LinkedIn profile.

Projects

Open-source and volunteer work — small collaborations that tend to outlast the season I spent on them.

Read Japanese Literature

Read Japanese Literature is a podcast and blog run by my partner, Alison. I help with the website and sound design.

Screenshot of the Read Japanese Literature blog page. Fig. readjapaneseliterature.com

Pyret

Pyret is an in-browser programming language and environment used in the Bootstrap curriculum. In 2020 and ’21, I updated their IDE to be shinier, faster, and easier to use.

Federated Wiki

Federated Wiki is a new, personal version of the wiki being developed by Ward Cunningham. In 2011, I collaborated with him to design and build the core UI paradigm that still powers it today.

Screenshot of Smallest Federated Wiki UI model. Fig. Smallest Federated Wiki