Joel Gustafson / About
I grew up in Duluth MN, graduated from MIT in 2018, and now live in Brooklyn.
I'm broadly interested in
- HTML, text editors, browsers
- local-first apps, p2p collaboration
- databases, networking, distributed systems
- "tools for thought"
- what it's like to be online right now
- knowledge representation, identity, agency, belief, meaning
- manifold learning, "geometric deep learning"
- the pro tennis tour
#Projects
- andromeda - a high-performance parallelized force-directed graph layout engine
- microcbor - Fast canonical CBOR implementation with streaming APIs
- zig-ipld - Zig implementation of the IPLD data model
- zig-sqlite - simple, low-level, explicitly-typed SQLite bindings for Zig
- zig-lmdb - Zig bindings for LMDB
- react-lezer-highlighter - a tiny library for syntax highlighting on the web
- zkmessage.xyz - a plausibly deniable group message board
- mimc.party - a web tool for calculating MiMC hashes
- codemirror-lang-circom - CodeMirror integration for the Circom language
- next-rest - a framework for writing end-to-end typesafe REST APIs for NextJS
- nil.directory - for when you forget what the IPFS hash of the empty directory is
- fp16 - 16-bit half-precision floating-point numbers for JavaScript
- big-varint - encode and decode arbitrarily large signed and unsigned varints in JavaScript
- react-dataflow-editor - a generic drag-and-drop dataflow editor for React
- it-zip - a tiny TypeScript utility for doing generic and variadic iteration
- brainfreeze - a fully homomorphic implementation of Brainfuck
- mental.bike - reminding us to not lose sight of how good things could be
- json.scm - JSON implementation for MIT Scheme
#Work
I'm currently self-studying differential geometry and algebraic topology.
In 2022 I co-founded Canvas, a application framework built on a programmable peer-to-peer database. This yielded a number of novel research blog posts related to p2p networks and distributed systems.
From 2018-2022 I was with Protocol Labs as an independent researcher, and collaborated with the Knowledge Futures Group on a distributed knowledge graph project.
In summer 2017 I interned at Notion in the run-up to the Notion 2.0 launch that introduced tables and databases. I designed and implemented the DSL, runtime, editor, and documentation for formulas.
Throughout undergrad I worked with Gerry Sussman on various LISP projects, like a native Jupyter kernel for MIT Scheme and some experimental notebook programming interfaces.
I also worked as an undergradudate researcher in the Viral Communications Group at the Media Lab on an early version of PubPub, an open access publishing platform.