Work
Send request calls api.mays.co from your browser
Systems in production, browser experiments, and the small utilities I use every day. Everything here runs on this site.
Systems
In production on AWS.
MCP Server
Not sentConnect your own AI assistant to the retirement simulator, the Buffett letters, and every post on this site.
A stateless MCP server on AWS Lambda. The MCP page’s inspector sends the same requests the server’s automated tests use.
Model Context Protocol · TypeScript · AWS Lambda · Rust/WASM
Ask Warren Buffett
recorded · 12,063 msAsk a question and get an answer drawn from 25 Berkshire Hathaway shareholder letters, 1998–2023, with the passages it used.
Retrieval over 673 embedded passages. Every answer shows its sources.
Claude Opus 5.5 · OpenAI embeddings · AWS Lambda
Read the write-up →Retirement Simulator
loading rust/wasm… ms · rust/wasmChange a withdrawal rate and 100,000 simulated retirements rerun in your browser.
Rust compiled to WebAssembly. The same engine answers the MCP server’s
simulate_retirementtool.Rust · WebAssembly
Startup Idea Generator
on request · claude-sonnet-5-5Paste a resume and get startup ideas with a business plan, market analysis, and technical recommendations.
Claude Sonnet 5.5 · AWS Lambda · TypeScript
Read the write-up →
Experiments
These run in your browser.
Falling Sand
runs in your browser · rust/wasmPour sand, water, fire, and stone into a pixel sandbox and watch simple rules take over.
Image Cleaner
runs in your browser · rust/wasmStrip GPS and other metadata from a photo, turn it upright, and resize it without uploading it.
Target Shooter
runs in your browserHit targets to score points before time runs out.
Flip
runs in your browserA new puzzle every day. Reverse runs of tiles to sort 1 to 8 in as few flips as you can, then share your score.
Utilities
Small tools I use every day. Nothing you paste leaves your browser.
CSV to JSON
runs in your browserTurns CSV into a JSON array, or into an object keyed by the first column.
JSON to CSV
runs in your browserTurns a JSON array, or an object of objects, into comma- or tab-separated CSV.
JSON Formatter
runs in your browserPretty-prints or minifies JSON and reports the first syntax error.
Word & Character Counter
runs in your browserCounts characters, words, lines, and paragraphs as you type, and ranks the 10 most frequent words.
Terminal Paste Cleaner
runs in your browserStrips trailing spaces, shared indentation, and extra blank lines from text copied out of a terminal.
The MCP server, Ask Warren Buffett, and the Startup Idea Generator run as AWS Lambda functions behind API Gateway. The Retirement Simulator’s Rust engine runs in your browser and inside the MCP server. The site itself is static Astro on S3 and CloudFront.