Two decades of open computation
Software
I build systems that make serious mathematical computation open, collaborative, and inspectable. The implementation has changed repeatedly; that purpose has not.
Current / 2026
Rebuilding Sage for agents
Sage.js asks what open mathematical software should look like when computational agents can help implement, test, benchmark, and document it.
The project uses SageMath behavior as an executable specification while building a cleaner TypeScript architecture for Node, native applications, Jupyter, and browsers.
Systems
One thread through changing architectures
Each project responds to a different constraint: access, integration, collaboration, or verifiability.
Engineering principles
Power should remain inspectable
Open source matters most when users can understand, verify, extend, and preserve the systems on which their work depends.