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.
Free in-browser image and video resizer. Set exact pixels, a percentage, the longest side or a social media preset; keep ratio, crop to fill, stretch or pad. No upload.
DesignGitHub @bemanagementgp-bitOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Resize images and short videos to exact pixels, percent or presets, in the browser. Be Management Tools.
Taken from the repository README
Loading the full README.
Read the full README ↗Resize images (PNG, JPG, WebP, GIF first frame, BMP, SVG) and short videos (MP4, WebM, MOV – whatever the browser decodes) to an exact pixel size, a percentage, a longest-side limit or a social/web/print/avatar preset. Keep ratio, crop to fill (9-point anchor), stretch or pad. Everything runs on a <canvas> (images) or <video> + MediaRecorder (videos) in the user's browser; nothing is uploaded.
Live: https://sizeconverter-tool.vercel.app/ (placeholder – replaced after deploy)
Free
{name}-{w}x{h} ({index} too).webm (VP9 or VP8 + Opus), audio copied via AudioContext; over-limit files get a "Convert at 720p / first 30 s" fallbackStudio.watermark), also drawn on every video framelocalStoragePro (one-time, price from config.js)
Gates are enforced in app.js via isPro() / Studio.gate(); the UI listens to pro:changed.
index.html tool page + SEO content + FAQ (JSON-LD WebApplication + FAQPage)
styles.css _shared/base.css + app styles
app.js resize engine (images + video) + UI (vanilla JS, no build step)
studio.js shared canvas / drop zone / export / ZIP helpers (copy of _shared/studio.js)
monetize.js shared theme / toast / analytics / AdSense / Pro license helpers
config.js window.APP_CONFIG (site URL, AdSense, GA, checkout URL, price, LICENSE, NEWSLETTER)
privacy.html privacy policy (required for AdSense)
terms.html terms of use
robots.txt, sitemap.xml, vercel.json, favicon.svg, .gitignore
npx serve .
No build step. Open the printed URL. window.SizeConverter exposes addFiles, computePlan, items() and makeSample() for testing in the console.
Deploy the folder as a static site on Vercel (vercel --prod). After the first deploy, replace the placeholder everywhere:
sed -i 's/sizeconverter-tool.vercel.app/your-app.vercel.app/g' index.html privacy.html terms.html robots.txt sitemap.xml config.js README.md
Then run node _shared/apply-brand.js size-converter from the repo root to inject the shared header, hero, footer and lead card.
ADSENSE_CLIENT: "ca-pub-XXXXXXXXXXXXXXXX" in config.js. Slots: sidebar-1, below-tool. privacy.html already discloses advertising cookies.GA_ID: "G-XXXXXXX". Events: add_files, sample, download (from Studio.exportPNG), download_click, download_all, download_zip, generate (video), preset_save, preset_apply, pro_click, begin_checkout, license_activated.PRO_CHECKOUT_URL, PRO_PRICE and LICENSE.store_id / product_id. Until those are set, real keys are refused and only LICENSE.test_keys work locally.NEWSLETTER.url (Formspree / ConvertKit / Beehiiv) to show the lead card that apply-brand.js injects.AudioContext.createMediaElementSource; if the browser blocks the audio context (no user gesture yet) the track may be silent and the row says so.