Duda sells to people who build sites for other businesses, so the product is a multi-site editor where clients can change content without breaking the design, plus hosting and white labelling. A freelancer with a handful of clients can replace the core with a template system, per-client logins that edit only declared fields, and a static build pushed to free hosting. That is several days of work, and you lose the visual drag-and-drop editor, stores, bookings and the white-label platform. If clients need to move blocks around themselves, keep paying.
Before you buildDuda has no free plan, only a 14-day trial. If you build for one client, a static site on free hosting with Decap CMS may be all you need.
Build me a client-site factory for a freelancer to replace Duda. Requirements: - Node.js 22 + TypeScript: a Fastify server rendering pages with Eta. `npm start` serves http://localhost:4850 with /admin for me and /client for my clients. - Storage: better-sqlite3 in ./data/factory.db for sites (name, slug, domain, template, theme), pages and content values per site, users with a role and the site ids they may edit, and an edit history. Uploads go to ./data/uploads/, resized with `sharp`. - Templates: folders in ./templates/<name>/ with Eta layouts and a template.json that declares the editable fields (text, Markdown, image, link, repeating list) and theme tokens (colours, fonts). Ship two templates: a local-services business and a portfolio. - Client editor: sign-in by an emailed magic link (single-use token, 15 minutes, nodemailer SMTP). A client sees only the declared fields of their own site, no layout controls; every save is a version I can revert in the admin, and a "Request a change" box emails me. The login and editor pages carry my agency name, logo and accent colour from settings. - Build: `npm run build -- <slug>` renders ./output/<slug>/ as plain static HTML with sitemap.xml, robots.txt and per-page titles. A Publish button runs it and `wrangler pages deploy` (CLOUDFLARE_API_TOKEN in .env). Contact forms post to /forms/<slug>, with a honeypot field and a rate limit, and are saved and emailed to the client. - Single operator plus clients. No telemetry, local-first: outbound calls go to your SMTP server and Cloudflare only. - Out of scope: a drag-and-drop layout editor, stores, bookings, AI generation, billing clients, DNS automation. - Done when two sites built from one template keep independent content, and a client who opens the edit page of another client's site gets a 403. - README: adding a template, a site and a client, publishing, and pointing a client's domain at the Cloudflare Pages project.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Duda.
Add a domain helper to the client-site factory in this folder. Requirements: - Per site, a Domain page that shows the DNS records to create for the Cloudflare Pages project (a CNAME for www and the apex instructions) with copy buttons. - A Check button resolves the domain with node:dns and reports whether it points at the project, and shows the last check time. - Email the client the instructions with a plain-text version of the same steps. - Never write DNS records anywhere; this only reads and instructs. - Update the README.
Add an approval step to the client-site factory in this folder. Requirements: - A client's save creates a draft version; the live content changes only when I approve it in the admin. - The admin shows a field-by-field diff of draft against live, with Approve and Reject buttons; Reject emails the client with my note. - Approving runs the build for that site and publishes it. - Clients see the status of their last change: draft, approved or rejected. - Update the README.
Add a Duda importer to the client-site factory in this folder. Requirements: - `npm run import-duda -- site.zip --site <slug>` unpacks the Site Export zip, which holds one folder of HTML and CSS per device, and reads the desktop folder only. - For each page, extract the title, meta description, headings, paragraphs and images into the content values of the chosen template and copy the images into ./data/uploads/. - Print a report of pages and fields it couldn't map; never overwrite existing content unless --force is given. - Update the README and note that forms, personalisation and the store aren't in the export.
Duda is built for people who sell websites to other businesses: one login for the agency, permissions that let customers edit text without touching the layout, white-label branding and hosting billed per site. Agencies pay so they don't have to run that stack for every new client.
Estimate · Static output runs on free hosting; the admin needs a $5 VPS if clients log in, and SMTP fits a free tier. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Basic | $25 | $19 | One published site, unlimited client accounts, 150 AI credits a month, email support, up to 2 custom templates and 5 custom sections, no team seats. |
| Team | $39 | $29 | One published site, 3 team seats, up to 5 custom templates and 15 custom sections, email support. |
| Agency | $69 | $52 | Four published sites, 6 team seats, email, chat and screen-share support, site export. |
| White Label | $199 | $149 | Four published sites, 6 team seats, white-label client access and analytics, a custom platform and email domain. |
| Custom | custom | — | Negotiated sites, seats and tiered per-site prices, API access, single sign-on, 24/7 support. |
No free plan: a 14-day trial with the White Label features, no card needed.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: A visual editor where clients drag blocks around without breaking the design, White-label client access, client comments and per-site hosting billed through Duda.
About $25 a month on the Basic plan, $300 a year (checked 2026-10-19).
A visual editor where clients drag blocks around without breaking the design; White-label client access, client comments and per-site hosting billed through Duda; Built-in stores, bookings, personalisation and multi-language sites; Hosting with automatic DNS configuration for each client domain; AI generation of sites, content and widgets, and the MCP access. If any of those matter to you, keep paying.
Yes: Webstudio (open source), Silex (open source), GrapesJS (open source).