Hi 👋, I'm Evan Schwartz.
I'm an ideas person, aspiring inventor, and software engineer (Rust/Typescript).
When in a new environment, system, or company, I try to find what the most important problem is and then dive into working on it. My favorite thing is finding simple, clever solutions to apparently complex problems and then taking them from idea to reality. I also enjoy building community, giving presentations, and trying to explain ideas in ways that are easy to understand.
The three most significant projects I've worked on thus far are Autometrics, TurboVPB and Turbo Phonebank, and Interledger (see below for the details, recorded presentations, and blog posts on each).
Outside of this, I spend time reading about political economy (among many other topics), running, cooking, sometimes making ceramics.
Autometrics is a set of open source libraries that make it easy to understand how code is performing in production. It enables developers to instrument functions with Prometheus metrics to track the request rate, error rate, and latency of any function. The fun part is that they also insert links to live charts directly into each function's documentation so developers can jump directly from their editors to looking at the performance of their system in realtime (watch the demo here).
I came up with the initial idea for Autometrics while working at Fiberplane on how to make observability more accessible and appealing to developers. I built the first implementation in Rust (autometrics-rs) and have been collaborating with other developers inside and outside of the company to develop the concept further and create libraries in different programming languages.
- When can you add Prometheus labels without increasing cardinality? (Jul 12, 2023)
- Inside some complex Prometheus queries (Jul 5, 2023)
- Why are Prometheus queries hard? (Jul 4, 2023)
- autometrics-rs 0.5: Automatically connecting Prometheus metrics to traces (Jun 21, 2023)
- autometrics-rs 0.4: Spot Commits That Introduce Errors or Slow Down Your Application (Apr 27, 2023)
- Autometrics: a developer-first observability framework that writes queries for you (Apr 13, 2023)
- The Case for Function-Level Metrics: An observability sweet spot that balances debuggability, cost, and ease of use (Apr 12, 2023)
- autometrics-rs 0.3: Defining Service-Level Objectives (SLOs) in Rust Source Code (Mar 22, 2023)
- An adventure with SLOs, generic Prometheus alerting rules, and complex PromQL queries (Mar 16, 2023)
While taking time off in-between jobs, I got involved with the Sunrise Movement doing phonebanking for climate-focused, progressive political candidates in the US. I was frustrated by how manual some of the phone calling platforms were and decided to build a browser extension, TurboVPB, to speed up these calls.
I'm proud to say that TurboVPB has been used to place more than 5 million calls and send more than 500,000 text messages -- and counting.
Based on the experience of building this browser extension, I also built a standalone phonebanking platform called Turbo Phonebank (using Typescript, Preact, Supabase, and Vercel). This has been used to contact more than 50,000+ people.
- TurboVPB | Speed up phone banking with OpenVPB, VAN, and BlueVote -- Call and text with 2 clicks! (Oct 3, 2020)
- TurboVPB | 2-Minute Setup (Oct 3, 2020)
- TurboVPB | 2-Click Texting (Oct 3, 2020)
Interledger is a protocol for routing money across payment networks, akin to packet switching on the internet. While working at Ripple, the then-CTO, Stefan Thomas, and I co-invented Interledger to enable interoperability between disparate financial networks and ledgers. I helped develop the initial concept, core protocols, reference implementation in Typescript, and then led the reimplementation in Rust. I currently serve on the board of the Interledger Foundation.
- State of the Interledger @ the Interledger Summit (Apr 5, 2019)
- Interledger in Rust Workshop @ the Interledger Summit (Apr 5, 2019)
- Interledger Protocol & Streaming Payments (May 16, 2018)
- Building with ILP (July 2016)
- How it [Interledger] Works (July 2016)
- Building the Internet of Payments with Interledger @ Epicenter Podcast (May 17, 2016)
- Content Micropayments (Feb 2016)
- Interledger Overview @ the 1st Interledger Workshop (Feb 2016)
- Thoughts on Scaling Interledger Connectors: How I Learned to Stop Worrying and Love HTTP (Jan 23, 2019)
- Layer 3 Is for Interoperability: The Protocol Stack for the Internet of Value (Oct 30, 2018)
- Interledger: How to Interconnect All Blockchains and Value Networks (Oct 3, 2018)
- STREAMing Money and Data Over ILP (May 18, 2018)
- Simplifying Interledger: The Graveyard of Possible Protocol Features (Jan 29, 2018)
- A Protocol for Interledger Payments (Original Whitepaper - Oct 6, 2015)
- Getting Past “Ampersand-Driven Development” in Rust: A little mental model for ownership and borrowing (Mar 9, 2023)
- Why we chose Jsonnet over WebAssembly for Fiberplane Templates (Jul 26, 2022)
These are some of the books I've read that were particularly excellent, interesting, and/or perspective-altering (roughly in reverse chronological order of when I read them):
- In the Garden of Beasts: Love, Terror, and an American Family in Hitler's Berlin - Erik Larson
- Entangled Life: How Fungi Make Our Worlds, Change Our Minds, and Shape Our Futures - Merlin Sheldrake
- The Mountains Sing - Nguyễn Phan Quế Mai
- The World for Sale: Money, Power, and the Traders Who Barter the Earth's Resources - Javier Blas, Jack Farchy
- Moneyland: Why Thieves And Crooks Now Rule The World And How To Take It Back - Oliver Bullough
- The Three-Body Problem (series) - Cixin Liu
- The Entrepreneurial State: Debunking public vs. private sector myths - Mariana Mazzucato
- The Passions and the Interests: Political Arguments for Capitalism before Its Triumph - Albert O. Hirschman