Launched July 14, 2026
Widget Storm

Widget Storm

Native web widgets — one script tag, no iframe.

FreeUI LibraryNoCode1,622 impressions#9 of its week3 comments

Comments

>log in to comment
  • Monib Asad Masud[maker]· 3mo ago

    You're right about the trade-off. The short answer is I don't isolate at all. No Shadow DOM, no wrapper sandbox. That's on purpose. The widget goes into your page as normal DOM, so your CSS can reach in and restyle it. That recolor in the demo is just the host page styling the widget, not a setting inside it. What keeps it clean is naming. Everything inside a widget uses a prefixed class like wg-countdown-timer or wg-dice-face, and the styles only ever target those classes, never a plain div or button. So nothing leaks back out onto your page. Those wg-* names also don't clash with Tailwind or Bootstrap, so the widget looks the same on both. It brings its own CSS and JS and doesn't rely on anything from the host. The same widget can appear more than once on a page. Each embed gets its own id on the root element, either one you set or an auto-generated one, and the JS only looks inside its own root, never across the whole page. So you can add five of them without them interfering, and if you want to restyle just one, you target its id. Untrusted or dynamic user widgets don't run in your browser at all. They run server-side in a WASM sandbox first, so only trusted or safe code ever reaches the page. The one thing I don't block is CSS bleeding in, and that's on purpose. Normal host styles hit their own classes and leave wg-* alone, so in practice it holds up. If your page resets everything globally, like * { all: unset }, then yes, it will bleed. I'd rather keep the restyling, since that's the point, than lock it down for a page that's trying to break it. It's one script tag if you want to try it. I'm curious whether you can find a host-CSS case where it falls apart. There's one more path I didn't mention. The script tag isn't the only way in. If your site runs PHP, you include your wgclient.php and call $wg->get(name, author, params). That renders the widget server-side, right into your own markup. Leave the mode empty and you get the whole widget, CSS and HTML and JS. Ask for just css, js or php and you get only that part, to place wherever you want. No link or script tag needed. Since it renders on the server, the widget is already in your HTML from the first byte. It works with JavaScript off, and search engines see it. You scope it like the rest of your template, so the prefixed class approach only matters for the script tag path.

  • PDFops· 3mo ago

    The "no iframe" part is the interesting bet — iframes hand you free style and JS isolation, so dropping them means you now own that problem. Are you scoping styles via Shadow DOM, or something lighter? The failure mode everyone hits with script-tag widgets is the host page's CSS bleeding in (or the widget's leaking out) — curious how you keep a widget rendering identically on a Tailwind site and a legacy Bootstrap one without the iframe sandbox doing the heavy lifting.

  • Monib Asad Masud[maker]· 3mo ago

    Maker here — thanks for checking out Widget Storm! The core idea: widgets render natively into your page's DOM instead of being boxed into an iframe. One script tag, and the widget becomes part of your markup — so your site's CSS can restyle it like your own HTML (the demo video above shows a host page recoloring a countdown widget live). Free to use, no per-widget subscription. Under the hood every widget ships self-contained with its own JS and CSS, and user-created dynamic widgets run isolated in a WASM sandbox on the server. I have been building embeddable components since 2008; this launch is the modernized platform. Happy to answer any questions here during launch week — and honest feedback on the embed flow is very welcome.

Widget Storm renders self-contained widgets natively into your page's DOM instead of boxing them in an iframe — one script tag, no per-widget monthly fee. Each widget carries its own CSS and JS, so it inherits your layout and fits your design. A quietly maintained platform building embeddable components since 2008. If your site runs PHP you can also render a widget server-side with $wg->get(), so it lands in your initial HTML, visible to search engines and with no client JS needed.

Widget Storm renders embeddable web widgets directly into the DOM with a single script tag, no iframes.

for
Web developers who need lightweight, SEO-friendly embeddable components.
pricing
free
works withPHPjQuery

Key features

5 features of Widget Storm
  • Single script embed — Add widgets with one <script> tag, no per-widget monthly fees.
  • Native DOM rendering — Widgets are inserted directly into the page’s DOM, inheriting site CSS and layout.
  • Server-side rendering for PHP — Use $wg->get() to render widgets into initial HTML for SEO and no client JS.
  • Self-contained assets — Each widget bundles its own CSS and JS, preventing style conflicts.
  • No iframe isolation — Widgets avoid the performance and styling limitations of iframe embeds.

Use cases

  • Add a contact form widget that matches your site’s design without an iframe.
  • Render product recommendation widgets server-side on a PHP site for SEO visibility.
  • Integrate a live chat widget that inherits your site’s CSS variables.
  • Embed analytics or marketing widgets without adding extra client-side scripts.

Widget Storm vs alternatives

Widget Stormshadcn/uiStorybookMaterial UIBolt
Best forNative DOM widgets without iframesReusable React UI componentsComponent documentation and testingMaterial UI componentsPrompt-driven web app creation
PricingFreeFreeFreeFreeSubscription
DevHunt upvotes20000
LaunchedJul 2026————

Widget Storm FAQ

What is Widget Storm?+

Widget Storm is a platform for embedding self-contained web widgets directly into a page’s DOM using a single script tag.

How does it differ from iframe-based widgets?+

Widgets are rendered natively in the DOM, inheriting your site’s CSS and layout, avoiding the isolation and performance overhead of iframes.

Is there a per-widget fee?+

No, Widget Storm does not charge a monthly fee per widget; you only pay for paid widgets via Stripe.

Can widgets be rendered server-side?+

Yes, on PHP sites you can use $wg->get() to output widgets in the initial HTML, improving SEO and removing client-side JS requirements.

What data is collected when using the service?+

Only minimal data for sessions, analytics (Umami), and payment processing (Stripe) are collected as described in the privacy policy.

Summarized by DevHunt from widget-storm.de · Oct 4, 2026. Details may change; check the official site.