~/ personal playground

A pile of things I've built for personal use.

Help yourself — but no guarantees. Find me on LinkedIn.

Copy-Paste

Copy-paste content from my phone to the laptop. Open it on the PC, scan the QR code on the phone, and the two browsers stay in sync. Data clears after a few hours of inactivity.

Gallery

A gallery of some of my art works.

// WIP

● chart-renderer

Sep 11, 2026

A Vega-Lite-style chart renderer written in Rust and compiled to WASM — no Vega, no canvas, no DOM. Edit a spec and see it rendered side by side against the real Vega-Lite.

rustwasmdataviz

● Streaming Markdown

Jul 12, 2026

An incremental, append-only markdown renderer for LLM output with swappable React and Lit renderers. Committed blocks are parsed and rendered exactly once; only the live tail re-parses each frame.

reactlitmarkdownstreaming

● Inkwell

Jun 14, 2026

A hand-built infinite canvas. Pan, zoom, and draw with pen, shapes, and an eraser — no libraries, just the raw 2D context.

vanillacanvasdrawing

● Enchanted Leaf

May 31, 2026

A Jupyter-style notebook exploring botanical data from a magical forest. Click Run to simulate cell execution.

vanillanotebookdata

● data-chat

May 18, 2026

Agentic chat for data analysis. Ask questions about 48K IMDB movies — Claude writes SQL, builds a dependency graph of named views, and lets you refresh any computation for a different genre or year range.

angularaiduckdbdata

● minimal shell

May 10, 2026

A POSIX shell interpreter compiled to WebAssembly, running entirely in your browser. Interactive terminal with a virtual filesystem.

wasmshellgo

● ptui

May 9, 2026

A terminal-style UI component library. Monospace, dark-first, zero dependencies.

vanillauicomponents

● GSAP Grid

May 8, 2026

A full-screen grid of boxes animated with GSAP. Hover for a proximity glow, click to send a ripple wave across the canvas.

vanillagsapanimation

● Story Time

May 4, 2026

A collaborative campfire story builder. You write, pause, and the narrator picks up the thread.

vanillaaicreative