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.
Design 3D prints in your browser: custom shadow lamps, Diwali rangoli stencils, photo lithophanes, name keychains and more. Download print-ready STL files.
DesignTypeScript · JavaScriptGitHub @upworkmkdOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Browser tools that turn pictures into print-ready 3D files. Next.js 16 on Vercel, Supabase (Postgres, auth, storage) and Razorpay.
Live tool: Shadow Lamp Maker. Coming soon: Statue Maker, Layered Sculpture Maker, STL Repair.
| Part | Where |
|---|---|
| Pages | src/app – landing, /tools/[slug] info pages, /tools/shadow-lamp/make, auth, /account, /admin, policies |
| Preview engine (browser, free) | src/lib/lamp/raster.js + src/components/maker/lamp.worker.js – decides what each wall keeps and predicts the shadow. No meshes. |
| File builder (server, paid) | src/lib/lamp/mesh.server.js, build.server.ts – builds the STL walls, cover plate and zip. Never sent to the browser. |
| Payments | src/app/api/checkout, api/payments/verify, api/webhooks/razorpay, src/lib/razorpay.server.ts |
| Delivery | src/lib/fulfil.server.ts builds the zip into the private lab-files bucket; api/files/[id]/download hands out a 60-second signed link |
| Database | supabase/migrations/20261008000000_init.sql – tables, row level security, storage bucket, seed prices |
| Visitor tracking | supabase/migrations/20261019000000_visitors.sql – visitors, visits, activity events, reviews, admin stats |
| Monthly plans | supabase/migrations/20261020000000_subscriptions.sql – plans, prices, Razorpay subscriptions |
| Prices (Oct 2026) | supabase/migrations/20261020200000_new_prices.sql |
| Reviews | supabase/migrations/20261020300000_one_review_each.sql – one review per customer |
| Anonymous counts | supabase/migrations/20261020400000_anonymous_views.sql – cookieless page views for visitors without consent |
| Retention | supabase/migrations/20261020500000_keep_tracking_10_days.sql – deletes visitor data older than 10 days, nightly (pg_cron) |
| Layered sculptures | supabase/migrations/20261020600000_layered_sculpture.sql – prices for the Layered Sculpture Maker |
The browser sends only a black-and-white run-length mask of the picture (tens of KB) plus the placement. The server rebuilds the identical field and the paid files from it, so preview and files always match.
ap-south-1).supabase/migrations/20261008000000_init.sql, then supabase/migrations/20261019000000_visitors.sql and supabase/migrations/20261020000000_subscriptions.sql. For plans, enable Razorpay Subscriptions, add the subscription.* webhook events, and press Save on each plan in Admin → Plans.https://labs.themdcreations.comhttps://labs.themdcreations.com/auth/callback, http://localhost:3000/auth/callbackhttps://labs.themdcreations.com/api/webhooks/razorpay, events payment.captured and order.paid, choose a secret.Copy .env.example to .env.local (and add the same values in Vercel → Project → Settings → Environment Variables).
npm install
npm run dev # http://localhost:3000
npm run dev and npm run build first bundle the preview worker into public/lamp-worker.js.
Sign up on the site, then in the Supabase SQL editor:
update public.profiles set role = 'admin' where email = '[email protected]';
/admin then shows sales and lets you change each tool's status and prices. Admins download their own designs free.
npm run build).labs.themdcreations.com, then at your DNS provider add a CNAME record labs → cname.vercel-dns.com.src/lib/tools.ts (words) and to the tools table (status/prices).src/app/tools/<slug>/make, post a design to /api/designs with tool: '<slug>', and add a builder branch in src/lib/fulfil.server.ts.