Demos
Both apps are written in Kāra, compiled to WebAssembly, and run entirely in your browser — the files you drop into them are never uploaded. Open the Network tab while editing: after the page loads, it stays empty.
No file handy? Neither app needs one. Each has sample chips under its drop zone, and the samples are drawn in the page rather than fetched — so you can try either tool, and watch the Network tab stay empty while you do it, without giving it anything of your own first.
Prism — local image workbench Drop a photo — or click a sample — then resize (Lanczos-3 / bilinear), crop, rotate, flip, adjust, grayscale, and download as PNG/JPEG/WebP. Multicore: the resamplers fan out across a Web Worker pool with SIMD inner loops.
Veil — local image redactor Redact screenshots without uploading the thing you're trying to hide: solid bar (destroys the pixels), pixelate, or blur. Try it on the sample account page first — it's drawn in the page, not fetched. Downloading re-encodes locally, which also strips EXIF/GPS metadata.
How they’re built
Section titled “How they’re built”- The samples are canvas 2D, generated on click: zero requests, nothing bundled, nothing to license. Prism’s carries a zone plate, a Siemens star, hairline grids and a text ladder, so the difference between Lanczos-3 and bilinear at ½× is something you can see rather than something we claim; Veil’s is a fabricated account page — the exact thing people reach for a redactor to publish.
- All pixel kernels live in a single
.karasource per app, compiled withkarac build --target=wasm_browser; the browser only decodes and re-encodes the image files. The wasm weighs ~100 KB (Prism) and ~52 KB (Veil). - Prism’s multicore build is Kāra’s
TaskGroupfan-out compiled to Web Workers, withVector[f64, 2]SIMD in the Lanczos inner loop — a 12 MP resize drops from ~1.1 s single-threaded scalar to ~285 ms. The same source also compiles to a sequential module with byte-identical output, which the page falls back to where threads aren’t available (append?seqto force it). - Source, exact-oracle kernel tests, and the headless-Chrome verification
harness live in
karalang/kara-katas →
apps/.