Image Measurement Tool (2026)
A web application that makes it easy to measure the length of objects on photos or images.
A collection of small web tools, visualizations, and notes I made for myself. This is less a polished portfolio than a log of things I tried and want to be able to revisit. X
A web application that makes it easy to measure the length of objects on photos or images.
A tool for creating and editing lecture schedules on a monthly calendar.
An experimental viewer for comparing JavaScript Intl API output across locales and constructors.
A browser tool for converting generated images into pixel art with grid fitting, palettes, and masks.
Practical notes on Zustand basics, selectors, typing, middleware, SSR, and design trade-offs in React.
A tool for stitching together multiple overlapping screenshots into a single image.
A design gallery using Tailwind CSS utility classes, with design prompts for vibe coding.
A tool for searching Lucide icons by handwriting
A browser tool that automatically adds punctuation and line breaks to Japanese text using a lightweight Transformer exported to ONNX.
A 3D/WebGL experiment for loading images or videos and zooming into CRT-style RGB phosphor elements.
A simple browser video editor for cuts, joins, text overlays, and image overlays.
A WASM benchmark comparing lossless compressors by ratio, compression time, and decompression time.
A note-like reactive calculator where expressions and variables update line by line.
A browser game version of a small finger-counting game, with a CPU opponent and a compact state space.
A browser tool that turns images, videos, or camera input into tile-based mosaic art.
A lightweight browser annotation editor for layering notes over images or work targets, designed for quick review and sharing.
A demo for converting video directly in the browser using WebCodecs and web-demuxer.
A tool that parses ASCII-art style tables and turns them into plain structured text.
An article explaining how to generate ZIP files in JavaScript with the Compression API.
An article exploring MP4 generation in the browser with WebCodecs and MP4Box.js.
A compiler experiment that lowers a higher-level syntax into the one-instruction SUBLEQ architecture.
A local browser tool for converting PDFs to Markdown and extracting images as part of the same flow.
A local PDF toolkit for viewing, extracting, splitting, and merging by table-of-contents entries.
A minimal presentation timer focused on the remaining time and progress state a speaker needs while presenting.
A browser version of PDFUnbinder that reads PDF outlines and splits files by chapter or section.
A WebGL image effect tool that processes images into a CRT television look.
A tool that repeatedly applies JPEG compression to create a crunchy artifact texture.
A tool for dragging, dropping, reordering, and exporting images as a PDF.
A visualization that maps MNIST handwriting samples into 2D with UMAP, making digit clusters and overlap easy to explore.
A text editor that helps input long-vowel marks for Nahuatl.
A viewer for inspecting metadata inside safetensors files.
A browser renderer that runs Jinja2 templates on Pyodide.
A Chinese reading aid using CEDICT. Hover or tap characters to quickly check word and character meanings in English.
A JavaFX desktop app for splitting bookmarked PDFs by chapter.
A 3D viewer that plots image pixels in RGB or HSL color space so the color distribution can be inspected directly.
A Scheme-like sound programming language made as a lab assignment. It plays sound.
A ConvnetJS rewrite of the neural network visualization, with adjustable units and learners for observing training behavior.
A technical article explaining dynamic programming as a functional fold, written with diagrams for rogy Advent Calendar.
An early browser visualization of BPNN weights, node states, and the learning process.