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 sent

    Connect 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 ms

    Ask 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…

    Change 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_retirement tool.

    Rust · WebAssembly

  • Startup Idea Generator

    on request · claude-sonnet-5-5

    Paste 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/wasm

    Pour sand, water, fire, and stone into a pixel sandbox and watch simple rules take over.

  • Image Cleaner

    runs in your browser · rust/wasm

    Strip GPS and other metadata from a photo, turn it upright, and resize it without uploading it.

  • Target Shooter

    runs in your browser

    Hit targets to score points before time runs out.

  • Flip

    runs in your browser

    A 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 browser

    Turns CSV into a JSON array, or into an object keyed by the first column.

  • JSON to CSV

    runs in your browser

    Turns a JSON array, or an object of objects, into comma- or tab-separated CSV.

  • JSON Formatter

    runs in your browser

    Pretty-prints or minifies JSON and reports the first syntax error.

  • Word & Character Counter

    runs in your browser

    Counts characters, words, lines, and paragraphs as you type, and ranks the 10 most frequent words.

  • Terminal Paste Cleaner

    runs in your browser

    Strips 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.