Protocol Labs Research
About
People
Research
Outreach
Blog

Joel Gustafson

Research Scientist / AbstractionLab

Education

BS in Mathematics with Computer Science, 2018

Massachusetts Institute of Technology

Joel’s research is in knowledge representation and distributed systems. At Protocol Labs, he is working to create a decentralized semantic web to enable more open and equal access to information. His other interests span interface design, media theory, human-computer interaction, and programming language theory. Joel has previously worked at the Media Lab, CSAIL, and Notion Labs, and holds a degree in Mathematics with Computer Science from MIT.

Areas of Expertise

Distributed Systems, Networking, Knowledge Representation

Blog posts

2021-06-23 / Blog
Designing a dataflow editor with TypeScript and React
This is a design report – a story about the tradeoffs and challenges that we encountered while building a medium-complexity React component in TypeScript. These include state modeling (“making illegal states unrepresentable”) basic type-level programming in TypeScript DX patterns for generically typed React components DX patterns for reusable controlled components using a Redux-like action/dispatch state paradigm These topics all deal with the external interface and TypeScript typings; lower-level implementation challenges (like optimizing drag interactions and sharing state between React and D3) have been left to a future post.