Embeddable widgets, hardened for the open internet

One script tag.
A backend that survives
the internet.

Create a widget, hand out a single embed snippet, and safely accept submissions from any website you don't control. Every request is validated, rate-limited, spam-filtered, and geo-enriched before it ever reaches your dashboard.

CORS-safeRate-limitedGeo-enrichedMulti-tenant

No credit card, ever. Runs entirely on your machine.

How it works

From config to captured lead — six steps

01

Create & configure

Design your widget through the authenticated API — fields, button text, display rules.

02

Submission protected

Every payload is validated at the boundary, rate-limited per IP, and checked against a honeypot spam control.

03

Get the embed snippet

One <script> tag is generated per widget — everything it needs flows from that single line.

04

Geo-enriched, safely

IP-to-location runs through a provider fallback chain — if both are down, the submission still succeeds.

05

Paste it anywhere

Drop it into any site you don't control. Config loads cached and CORS-safe, and the widget renders in place.

06

Live in your dashboard

Stored, linked to the right tenant, and shown instantly with stats and geo breakdowns.

Built for untrusted traffic

The public internet is the input. Every layer assumes that.

01 / 08

Widget Management API

Authenticated, tenant-isolated CRUD for creating and configuring signup forms, CTAs, and popovers.

02 / 08

Embed Snippet Generation

One <script> tag per widget wires up config fetch, rendering, and submission handling automatically.

03 / 08

Cached Widget Delivery

Versioned JS bundles and short-lived config caching, served with the same discipline as a real CDN.

04 / 08

Public Submission Endpoint

Cross-origin requests handled correctly — CORS, preflight, and boundary validation on every field.

05 / 08

Abuse Protection

Per-IP and per-widget rate limiting, plus honeypot spam detection, stop floods before they land.

06 / 08

Geo Enrichment Fallback

IP-to-location lookups try Provider A, then Provider B — and never block a submission if both are down.

07 / 08

Safe Side Effects

Confirmation emails and webhooks fire after storage. A failure there can never break the main path.

08 / 08

Owner Dashboard & Analytics

Submission counts over time, per-widget stats, and geo breakdowns for every widget owner.

<script src="cdn.yourapp.com/w/…"></script>

Ready when you are

Ship your first widget in minutes

No credit card, no hosting to set up. Create an account, generate a snippet, and start capturing leads from a site you don't even own.