About
I grew up in Duluth MN, graduated from MIT in 2018, and now live in Brooklyn.
I'm broadly interested in
- web3
- text editors
- "tools for thought"
- category theory
- HTML
- offline and local-first apps, p2p collaboration
- what it's like to be online right now
- ontology, representation, identity, agency, belief, meaning
- Hannah Arendt, Marshall McLuhan, Simone Weil, Ivan Illich
- the pro tennis tour
#Projects
- 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
- thingsandstuff.com - self-explanatory
- json.scm - JSON implementation for MIT Scheme
#Work
I'm currently building Canvas, a framework for building peer-to-peer applications using decentralized replicated causal logs.
From 2018-2022 I was with Protocol Labs as an independent research scientist, collaborating with the Knowledge Futures Group on knowledge graph and semantic web research.
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 Scheme 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.