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.
Apply your presets, Lightroom XMP and .cube LUTs in batch, then export an Instagram-ready carousel. Free, in your browser, nothing uploaded.
DesignTypeScript · CSSGitHub @joancomadranOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
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
Free, local, open-source photo editor: apply Lightroom XMP presets and .cube LUTs to RAW photos in your browser. No uploads.
Taken from the repository README
Loading the full README.
Read the full README ↗The open-source photo editor that stays on your device.
Free, open-source in-browser RAW photo editor that applies Lightroom XMP presets and .cube LUTs. No uploads, no account.
Fifteen seconds: sliders on an open photo, paste across the shoot, export, then presets (XMP and .cube LUTs). MP4 if the GIF does not play.
If you find it useful, a star helps others find it ⭐
Lightroom and Camera Raw are trademarks of Adobe. Lightframes is an independent project and is not affiliated with or endorsed by Adobe.
.cube 3D LUTs apply after the parametric edits..xmp develop presets, including Lightroom and Camera Raw, are mapped onto Lightframes sliders.
What is imported: basic tone (exposure, contrast, highlights, shadows, whites, blacks), white balance (a relative temperature, or an approximation of Kelvin), tint, HSL, the tone curve (master and per channel), vibrance and saturation, texture, clarity, dehaze, colour grading (or the older split toning), vignette amount and midpoint, grain, sharpening, and luminance and colour noise reduction.
What is not imported: camera profiles, lens corrections, local masks, crop and transform, calibration, and detail controls beyond those sliders. A preset that depends on the missing pieces will not match Lightroom.
Your photos are opened, edited and exported in the browser. Nothing is uploaded.
The first use of object removal downloads its AI model (MI-GAN) from Hugging Face, checks it against a SHA-256, and caches it. The photo is not uploaded with that download. Segmentation and upscale models are served from this site, not from a third party. Each model downloads once, is hash-checked, and then runs in the browser.
Page visits are counted with Vercel Web Analytics, which does not use cookies and does not receive your photos.
The editor and the gear page include links to Amazon.es. As an Amazon Associate, Lightframes earns from qualifying purchases. The cards are drawings in the page: they do not load images or scripts from Amazon. Amazon is contacted only when you click a link.
Node.js 20+. The production build is a static dist/ folder. Any static host can serve it.
npm install
npm run build
npm run preview serves that build locally. npm run dev starts the dev server (usually http://localhost:4321). The landing page is /. The editor is /editor.
| Script | What it does |
|---|---|
npm run dev | Dev server with hot reload |
npm run build | Type-check (astro check) and build to dist/ |
npm run preview | Serve the production build locally |
npm run check | Type-check .astro, .ts and .tsx only |
npm run lint | Lint with oxlint |
A Chromium browser (Chrome, Edge, Brave) is the best bet for opening a folder and for canvas performance. Large RAW files and the AI tools are slower on phones.
localStorage backup of presets/editor.astro.config.mjs site URL, integrations (React, sitemap, PWA)
integrations/pwa.mjs writes dist/sw.js with workbox-build after the build
vercel.json clean URLs, no trailing slash
src/
App.tsx, components/, hooks/, lib/, types/ the editor (React)
EditorRoot.tsx editor entry, mounted by src/pages/editor.astro
pages/ routes: landing, editor, tools, blog, FAQ, legal, robots.txt, llms.txt…
site/ layouts, i18n, JSON-LD, landing copy
content/ tools, blog, pages, FAQ (Markdown / JSON, EN + ES)
public/ icons, manifest, samples, AI models, site images
promo/ promo video (Remotion), separate package
Tool pages, guides, the FAQ and the legal pages are Markdown or JSON in src/content/. See docs/SEO.md for the URL map and how to add a post.
Press ? in the editor for the full list. Shortcuts are ignored while a text field is focused.
| Shortcut | Action |
|---|---|
Ctrl/Cmd+Z | Undo |
Ctrl/Cmd+Shift+Z / Ctrl/Cmd+Y | Redo |
Ctrl/Cmd+C | Copy edits |
Ctrl/Cmd+V | Paste edits to the selection |
Ctrl/Cmd+A | Select all in the filmstrip |
Ctrl/Cmd+E | Export dialog |
Shift+1–8 | Switch panel |
W | White balance picker |
R | Crop |
Q | Retouch: spots and background |
M / Shift+M | New linear / radial mask |
K / Shift+K | New brush / AI subject mask |
\ | Before (whole image) |
Y | Before / after split |
J | Clipping overlay |
G | Show / hide filmstrip |
1–5 / 0 | Rate stars / clear rating |
P / X / U | Pick / reject / unflag |
[ ] or ↑ ↓ | Previous / next photo |
Issues and pull requests are welcome. For anything larger than a small fix, open an issue first so the approach is agreed.
npm install
npm run lint
npm run build
Bug reports are most useful with the browser, the device, and, for RAW, the camera model. Please don't add a third-party script, font host, ad network or tracker: a page load stays on this origin, apart from the cases named in the privacy policy.
MIT. See LICENSE.
Sample photos in public/samples/ (and the preset renders made from them) are © the Lightframes author, all rights reserved. They are not covered by the MIT license. The AI models keep their own licenses (see public/models/NOTICE.md).