[back]
selected work samples (mostly writing)
This page has some selected work samples. They’re mostly writing samples, but I’ve also included some tutorials and projects.
Notes:
- I’ve included articles, tutorials, and projects.
- I also have a talks & workshops page!
- The projects section includes programming projects with significant writing content, usually in the README.
- Some tutorials have accompanying videos/slides.
- Some of these docs are old and refer to things that don’t work anymore. I’ve included approximate publish dates to highlight that context.
articles
- 2025 Loop agent - Braintrust documentation - article on Braintrust’s AI assistant
- 2024 Improve Datatable Performance - Salesforce Lightning Web Components Developer Guide - best practices for using datatable web components
- 2022 Quick Start: Salesforce Functions - Salesforce Functions documentation - quickstart guide for setting up Salesforce Functions (see documentation projects below for more information on the Salesforce Functions documentation project)
- 2021 Monitoring Heroku Apps - Heroku Dev Center - best practices article for setting up logging and monitoring for Heroku applications
- 2019 Vector Formats and Sources - Geospatial Information Science and Technology Body of Knowledge - peer-reviewed textbook chapter on geospatial vector data formats
- 2018 - How the internet works - my own website - an article explaining how the internet works
- 2016 512 map tiles - Mapbox blog - blog post explaining web map infrastructure upon moving to GL-based rendering
- 2016 How Mapbox Works [link to internet archive snapshot] - Mapbox documentation - introduction to the Mapbox product and APIs
tutorials
- 2019 Make Your Data Work for You with CSV Parsing - Glitch blog - tutorial on using d3-dsv for parsing and serializing CSV files
- note: Glitch sunsetted in 2025. This blog post has an accompanying project which I will deploy elsewhere and link to here.
- This was part of a series of “challenges” where we created an app and asked users to create their own by “remixing” the app and making changes. For each challenge we created an app, wrote a blog post, and did a live stream showing how the app works and how to customize it. The accompanying video shows the app in action.
- 2017 Analyze data with Turf.js and Mapbox GL JS - Mapbox documentation - step-by-step tutorial on running spatial analysis with Turf.js and displaying results on a map using Mapbox GL JS
- 2016 Make a choropleth map, part 1: create a style - Mapbox documentation - step-by-step tutorial on making a choropleth map using Mapbox Studio
- 2016 Make a choropleth map, part 2: add interactivity - Mapbox documentation - step-by-step tutorial on adding interactivity to your choropleth map in Mapbox Studio
- 2015 Manage GitHub notification messages in Gmail with Google Apps Scripts - personal blog - step-by-step tutorial on using GitHub’s custom headers to create dynamic filters in Gmail using a Google Apps script
- 2015 Creating rainbow borders with Mapbox Studio Classic - Mapbox blog - step-by-step tutorial on custom styling with Mapbox Studio Classic
projects
- 2026 Hazard Viewer - a deployed multiservice web app using FastAPI, PostGIS, and the Claude API. The README documents the architecture, deployment process, and design tradeoffs.
- 2022 Salesforce Functions documentation
- Spearheaded and published documentation for the Salesforce Functions product
- This was the first documentation site at Salesforce using the new “Salesforce Docs” framework, using Markdown and a git-based workflow
- The Get started page was used as a template for new “developer centers” across the Salesforce developer documentation.
- 2016 Mapbox API documentation
- Organized and rewritten documentation for the Mapbox APIs
- Built using docbox, an open-source REST API documentation system designed and built in-house at Mapbox by Tom MacWright and myself
- Blog: Meet the new Mapbox API documentation
- Mapbox API documentation site [link to internet archive snapshot]
- “Testing: It’s not just for code anymore” - talk at the Write the Docs 2017 conference in Portland, Oregon