a camera that sees in characters
this project started because i needed an ascii portrait for the terminal feature on my portfolio landing page. i looked around for tools that could convert a photo into ascii art and wasn't happy with any of them -- so i figured i'd just build my own. that "quick tool" turned into a full webcam-to-ascii converter with a retro crt terminal aesthetic. green on black, scanlines, the works. it's the kind of project that makes people lean in and say "wait, how does this work?" which is exactly the reaction i wanted.
canvas, not dom
the early version rendered ascii characters as dom text elements, which was slow and glitchy. the breakthrough was switching to canvas rendering -- drawing each character directly with fillText on an html canvas. this solved all the performance issues immediately. the camera feed is drawn to a hidden canvas, sampled pixel by pixel to get brightness values, and each pixel is mapped to a character from the selected charset. the app supports multiple charsets (standard, blocks, minimal, circles, katakana), color modes (green, amber, white, full color, custom hex), contrast and detail controls, and a capture feature that lets you download your ascii portrait as a png or pdf. the custom color picker uses a floating swatch panel with preset colors and a hex input.
