1
0 Comments

Every no-code "export" button is a lie. I spent 8 months building one that isn't.

People build beautiful sites in Framer, Webflow, and Wix, then find out they can't leave. The site is hostage to a subscription, a page limit, and a platform. The export button either doesn't exist or hands you markup that falls apart the moment it's hosted anywhere else.

NoCodeExport takes any no-code URL and returns a static bundle you can host anywhere. Assets downloaded, fonts subset, forms rewired to your own endpoint, animations recovered.

The business point first: every cheap competitor in this space is a wget wrapper. They work until they don't, and they don't in the last 10% — vendor runtimes, animation recovery, platform detection that survives an update. That 10% is the entire reason this is a product and not a weekend script. It's also not something you can bolt on later. Here's what it actually looks like.

Vendor runtimes are not uniformly safe to strip. I assumed removing the platform's JavaScript was always a win. On Wix it is — their runtime boots a Worker from the original site's origin, so it's cross-origin wherever you republish and dies before it hydrates. Stripping it rendered pixel-identically while cutting 69 requests per pageview to 8 Wix hosts. I shipped that, felt clever, and applied the same logic to Squarespace. It blanked every hero image. Their runtime does load-bearing layout work — it promotes background images above a black overlay that otherwise covers them. The image loads at full size and is simply never revealed. Generalizing my own fix would have broken every Squarespace export I'd ever ship.

Detection signals rot, and so do their replacements. Squarespace's credit link fired on 0 of 6 real sites. Their generator meta tag: also 0. I replaced both with what I called the durable bootstrap signal, re-measured a year later across 8 sites, and got 0 of 8. The replacement had rotted too. Webflow went the same way — badge is injected at runtime now, CDN moved hosts, their main script became hashed chunks. One live site scored exactly at my minimum confidence threshold, on a single signal. Below that threshold the whole platform pipeline silently switches off. No error. Just a worse export.

A fallback that still writes a file must never report success. There's a raw-DOM fallback for pages the processor chokes on. It produces valid files, so a 10-page export once shipped 10 out of 10 pages degraded and reported "Pages: 10." That one cost me a customer before I caught it.

Two smaller ones that ate days: Subresource Integrity hashes silently block any file you localize, because the hash no longer matches and the browser says nothing. And new URL(u).pathname stays percent-encoded — getting the decode direction backwards between the file on disk and the reference in the HTML made 82 files in a single export unreachable.

Honest limits: free tier is one page with hotlinked assets, so you need a paid plan for a genuinely self-contained multi-page bundle. It won't reconstruct a CMS — dynamic collections come out as the static pages they rendered to. And detection genuinely does rot, so if it misreads your site, send me the URL.

Question for anyone who's been here: how do you price something where the value is invisible when it works? A perfect export looks like nothing happened. Buyers only understand the moat after a cheaper tool has already failed them.

posted toAvatar for product NoCodeExport
NoCodeExport