Open source projects I created, maintain or significantly contributed to.
Project
Role
★
Description
Leaflet
author
45k
The number one JavaScript library for interactive maps.
Mapbox GL JS
core dev
12k
JavaScript/WebGL vector maps library.
pixelmatch
author
6.9k
The fastest and smallest pixel-level image comparison library.
suncalc
author
3.4k
Tiny library for calculating sun/moon positions and phases.
flatbush
author
1.6k
Fast static spatial index for 2D rectangles and points.
rbush
author
2.8k
Fast JS R-tree-based 2D spatial index.
delaunator
author
2.6k
The fastest JS Delaunay triangulation library for 2D points.
earcut
author
2.5k
The fastest and smallest JS polygon triangulation library.
supercluster
author
2.3k
Fast geospatial point clustering library.
geojson-vt
author
2k
Very fast tile-based geospatial index for GeoJSON data.
polylabel
author
1.5k
Finds the pole of inaccessibility of a polygon (for labeling).
mapbox-gl-native
core dev
4.5k
OpenGL-based vector maps rendering engine (archived).
Computational geometry & geospatial algorithms
Project
Role
★
Description
kdbush
author
0.7k
Very fast static spatial index for 2D points in JavaScript.
robust‑predicates
author
0.3k
Fast robust geometric predicates (modern JS port of Shewchuk's).
concaveman
author
0.7k
The fastest concave hull algorithm in JS.
cheap-ruler
author
0.4k
Fast approximations for common geographic measurements.
tiny-sdf
author
0.7k
Browser-side signed distance field generation from text.
potpack
author
0.4k
A tiny and fast JS rectangle packing library (for sprite layouts).
MARTINI
author
0.7k
Fast terrain meshing via right-triangulated irregular networks (RTIN).
delatin
author
0.3k
Fast terrain meshing via Delaunay-based greedy triangulation.
d3-delaunay
core dev
0.7k
Fast Voronoi diagram library for 2D points (based on Delaunator).
delaunator-rs
author
0.3k
A port of Delaunator to Rust.
earcut.hpp
core dev
1k
C++11 port of Earcut.
geoflatbush
author
Geographic kNN queries for Flatbush.
geokdbush
author
0.4k
Geographic kNN queries for kdbush.
rbush-knn
author
kNN search plugin for RBush.
simplify-js
author
2.4k
Fast JS polyline simplification library.
lineclip
author
Fast library for clipping polylines and polygons by a bbox.
linematch
author
Fast algorithm for comparing polyline sets (e.g. road networks).
which-polygon
author
Fast index for point-in-polygon queries (e.g. point-in-country).
dobbyscan
author
Fast density-based clustering of geographic points.
icomesh
author
Fast icosphere mesh generation library for WebGL visualizations.
Project
Role
★
Description
pbf
maintainer
0.9k
Low-level, lightweight protocol buffers encoder/decoder for JS.
webgl-wind
author
1.1k
WebGL-powered wind particle visualization.
simpleheat
author
1k
Tiny JavaScript library for drawing heatmaps with Canvas.
Leaflet.heat
author
1.6k
Simple, fast heatmap plugin for Leaflet.
flamebearer
author
1.7k
Blazing fast flame graphs for Node & V8.
bullshit.js
author
1.9k
Bookmarklet to expose bullshit on web pages.
road-orientation-map
author
0.3k
A visualization of road orientations on an interactive map.
claudefiles
author
Tiny Claude Code efficiency kit (status line & guard hook).
tinyjam
author
A radically simple, zero-configuration static site generator.
yeahjs
author
A tiny, fast, modern EJS templating library.
geobuf
maintainer
1k
Compact binary encoding for geospatial data.
vector-tile-js
maintainer
0.4k
Library for parsing Mapbox vector tiles in JavaScript.
tinyqueue
author
0.5k
Small and simple JS priority queue.
flatqueue
author
A faster but more limited variation of tinyqueue.
quickselect
author
Fast selection algorithm in JavaScript (Floyd-Rivest).
simple-statistics
core dev
3.5k
Descriptive, regression, and inference statistics for JS.
Older, deprecated, unfinished or experimental projects — kept as a record of past work.
Project
Role
Description
magic-string
core dev
Tool for generating source maps (earlier contributions).
kothic-js
core dev
Full-featured JS map rendering engine using HTML5 Canvas (earlier contributions).
dead-simple-grid
author
250-byte CSS grid framework (unmaintained).
tile-cover
core dev
Generates the minimum set of tiles that cover a geometry (unmaintained).
tile-reduce
core dev
Scalable vector tile geospatial analysis library for Node (unmaintained).
geojson-vt-cpp
core dev
C++11 port of GeoJSON-VT (archived).
seidel
author
Seidel's polygon triangulation in JS (deprecated).
binary-split
maintainer
Fast Node.js stream splitter.
geojson-cpp
author
C++14 library for converting GeoJSON into geometry.hpp representation (archived; formerly geojson.hpp).
mbtiles-extracts
author
Tool for extracting regional subsets of MBTiles files (archived).
bbtrees
author
Self-balancing binary search tree implementations in JS (unfinished).
supercluster.hpp
author
C++14 port of Supercluster (archived).
tile-decorator
author
JS tool for optimizing vector tiles (unmaintained).
github-org-browser
author
Simple tool for browsing public repos of a GitHub organization.
kdbush.hpp
author
C++11 port of KDBush (archived).
cumulative-timer
author
Simple cumulative timer for benchmarking JavaScript (archived).
Leaflet.TouchHover
author
Leaflet plugin for hover interactions on mobile.
polysnap
author
Snap rounding a polygon with self-intersections (a work in progress).
suncalc-go
author
Go port of SunCalc (unfinished).
polyclip
author
Martinez polygon boolean operations in JS (unfinished).
pbf-split
author
Splits a Node stream of length-prefixed protocol buffer messages (deprecated).
fanny
author
Experiments with feedforward neural networks in JS.
rollup-plugin-unassert
maintainer
A Rollup plugin to remove assertion calls via Unassert.
hain
author
Port of Hain's polygon trapezoidation in JS (unfinished).