Doop
Doop is an open-source multiplayer design canvas and design MCP for Claude Code, Codex, and any AI agent. Design side by side with agents — free in beta.
Turn any image into ASCII art in your browser. Edit it with brushes or as text. Download PNG, SVG or plain text.
DesignTypeScript · CSSGitHub @krishpintoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Turn any image into editable ASCII art, in your browser. Styles, your own alphabet, brushes, PNG/SVG/text export.
Taken from the repository README
Loading the full README.
Read the full README ↗Image → ASCII art, in the browser. One page, no account, nothing uploaded.
npm install
npm run dev
Everything is in lib/ascii.ts and runs on the CPU:
sampleImage() downsamples the image to one pixel per character cell (two-step scaling so big photos don't alias) and keeps a brightness and a colour per cell.compose() turns that into one character and one colour per cell using the settings (ramp, gamma, invert, contour, shade…) and the user's edits. Edits live in Overrides, one slot per cell, so they survive style changes and undo is just a copy.render() draws the grid to a canvas; toText() and toSVG() produce the other formats from the same grid.The UI is three files: components/home.tsx (drop zone), components/editor.tsx (everything else), components/ui.tsx (buttons, chips, sliders). Styles come from app/globals.css: warm near-black, amber accent, Geist Sans and Geist Mono.
Add one object to PRESETS in lib/presets.ts. A preset is a partial Settings bag; everything not set falls back to DEFAULTS.