v0.1 · public beta — join the first cohort

Ship UI without shipping code.

Fragments is a no-code runtime for banners, modals, experiments and product surfaces. Marketers build, the SDK delivers, analytics closes the loop — no sprint required.

CUSTOMER WEBSITE · example.com
Home › Pricing
Simple pricing, built for teams
Start free. Scale as you grow. No credit card required for the first workspace.
Starter
$0
Team
$49
Business
$149
FOR YOU · RU
–20% on annual
Auto-applied if you upgrade today.
SDK EVENTS · REAL-TIME
00:00.024✓sdk.init()
00:00.041→fetch /api/slots
00:00.089✓resolve user.ctx
00:00.094·geo=RU · device=desk
00:00.102✓match widget #promo-ru
00:00.118→render tree (4 nodes)
00:00.151✓painted · 38ms total
00:00.152→track impression
resolving…
versionfragments/0.1.0-beta
sdk size12.4 kb gzipped
p50 render38ms
statusall systems
§ 01 — why fragments existsproblem.md

Your marketing team doesn't need a sprint to change a banner.

Every UI experiment that goes through a backlog is one that won't happen. Fragments moves the surface layer out of code and into the hands of the people who need it.

▲ Before — life with tickets

  • ✕Every banner, modal or CTA is a ticket. Every ticket is a sprint. Every sprint has six other tickets.
  • ✕Marketing waits three weeks for a colour change. Nobody is happy about this, including the engineers.
  • ✕Experiments require a deploy, so you run one a month instead of one a day.
  • ✕Analytics live in five tools. Nobody knows which variant won, only which one shipped.

▲ After — one SDK, done

  • →A visual builder your PM can use. Drag, type, publish — banner live in fifteen minutes.
  • →Targeting by geo, device, plan, cohort, time. Rolls out from the edge, not a release.
  • →A/B tests, feature flags and scheduled rollouts live inside the same tool you built the widget in.
  • →Impressions, clicks and conversions attached to every fragment, out of the box.
§ 02 — how it works3 steps · ~15 minutes

Build, ship, analyse. In that order, on the same surface.

01 / 03~12 min
Build
Drag components onto a canvas. Import from Figma. Wire up data sources and conditional logic without touching the codebase.
canvas▢ banner · 420pxdatauser.plan, user.geologicif plan = free → promo_astate● ready to ship
02 / 03~2 min
Ship
Pick audience. Pick schedule. Pick split. Publish to the edge — live on your site in under a second, globally.
geoRU, KZ, BYdevicedesktop + tabletsplit50 / 50 A/Bcdn● propagated · 380ms
03 / 03live
Analyse
Impressions, clicks, conversions — attached to every fragment, streamed to your dashboard, exportable to Metrica, GA4, Amplitude.
impr12,481ctr17.0%conv4.2%winnervariant B · p=0.02
§ 03 — the platform3 modules · 1 sdk

Three things, one runtime.

A builder that speaks to designers, ships to engineers.

Drag-and-drop canvas, component library, Figma import, data binding, conditional logic, versioning and rollback. Exports production-grade DOM — not an iframe, not a wrapper.

  • canvaspixel-perfect WYSIWYG, snapping, constraints
  • library120+ primitives · banners, modals, bars, forms
  • figmabi-directional sync · import and push changes
  • databind to any JSON source or your own API
  • logicconditional rendering · if / else / switch
  • historyfull version history · blame · rollback
CANVAS · welcome-modal.frg
Welcome to Acme
A short tour, 60 seconds or less.
Start
Skip
412 × 180autosaved · 2s ago
§ 03.5 — the bits we're proud of2 signature features

Two things that make us, us.

The rest of the platform is table stakes. These two are why teams stay after the pilot.

→ figma-plugin

Figma → production, one button

Our Figma plugin turns any frame into a live Fragments area. Component names become props, auto-layout becomes CSS, variants become states. No hand-off doc, no developer translation.

  • exportsframes · components · variants · auto-layout
  • bindingstext, colour, sizing — driven by props
  • round-trippush edits from Figma, pull tweaks back in
FIGMA · promo-card
Claim it
Button / Primary
auto-layout · h=40 · pad 14·20
FRAGMENT · live
Claim it →
✓ synced · 2s ago
→ anomaly-detector

AnomalyDetector — always on, quietly

A model watches every live fragment and experiment. When CTR, conversion or latency drifts off-pattern, it pages you. It knows what to ignore — weekends, holiday bumps, planned traffic shifts — so the alerts mean something.

  • watchesctr · conv · dwell · error rate · p99 latency
  • contextseasonality · campaign · known releases
  • alertsslack · email · pagerduty · webhook
CTR · promo-summer · last 24h
▲ anomaly · 18:04
CTR dropped 42% — outside expected band
✓ not explained by weekend · ✓ not a known deploy
→ posted to #growth-alerts
§ 04 — for your engineersintegration · ~1 hour

One script tag. Then engineers get out of the way.

Drop the SDK once, mark your slots with data-fragment, ship. Everything after that happens in the dashboard.

index.html · one-time setupHTML
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html>
<head>
  <script
    src="https://cdn.fragments-studio.io/sdk.js"
    data-key="frg_4kJ29_live"
    async defer>
  </script>
</head>
</html>
app.tsx · render an areaTypeScript
1
2
3
4
5
6
7
8
9
10
import { Area } from '@fragments/react';

// drop an area anywhere — overrides + options
<Area
  areaCode="4ce18c45cd999"
  props={{
    key: 'Override value',
  }}
  options={{ ssr: false }}
/>
12.4 kb
gzipped, zero deps
<50ms
p99 edge latency
ssr · csr
both supported natively
csp safe
nonces + strict-dynamic
§ 05 — the numberstargets from early pilot benchmarks
from idea to live
15min
Average time from opening the builder to first impression on production.
experiment throughput
10×
More tests per month vs. pre-Fragments baseline across pilot teams.
code written by marketing
0
Lines. Forever. This is not a metaphor — the builder produces production DOM.
engineering integration
1h
One afternoon. One script tag. One identify call. One happy platform team.
§ 06 — use cases6 of many

Anywhere a <div> goes, a fragment goes.

01

Promo banners and announcements

Launch offers, holiday messaging, compliance notices, maintenance bars. Scheduled to the minute, killable with one click.

bannermodalannouncement-bar
02

A/B and multivariate tests

Test copy, colour, layout, placement. System allocates traffic, tracks lift, stops on significance. Export the winner to your repo if you want.

a/bmultivariateauto-stop
03

Geo and compliance targeting

Show different content in RU, KZ, EU. Solve GDPR banners. Swap pricing by currency. All from the same dashboard.

geogdpri18n
04

In-product onboarding and nudges

Empty-state prompts, upgrade nudges, feature announcements, NPS surveys. Trigger on user traits, scroll, inactivity, anything.

onboardingnpsupsell
05

Fast widget production

Figma → builder → prod, with data binding. Ideal for landing pages, event sites, campaign microsites that need to ship this week.

figma-importlandingcampaign
06

Feature flags without the ceremony

Percentage rollouts, kill switches, cohort targeting. Same tool. Same audit log. No second vendor.

flagskill-switchcohorts
§ 07 — pricingflat · per workspace

Flat pricing. No seat maths, no surprises.

Pilot · free
$0 / 14 days
Full platform, no credit card, cancel by doing nothing.
  • 10,000 impressions / day
  • 3 live fragments
  • All modules, all targeting
  • Community Slack support
Start pilot
Enterprise
Let's talk
Self-host, SSO, custom SLA, procurement teams welcome.
  • Dedicated cloud
  • SSO (SAML/SCIM on request)
  • Audit log exports
  • Data residency on request
  • Direct founder support
Contact sales
§ 08 — faqcommon questions · last updated apr 2026

Questions we actually get asked.

Optimize is dead and VWO rewrites your DOM with a mutation overlay — slow, fragile, and their builder is from 2014. Fragments renders production-grade native DOM through a purpose-built SDK, with SSR support, a modern builder, and feature flags baked in.
12.4 kb gzipped, zero dependencies, async by default, no render-blocking. p99 time-to-paint for a fragment is under 50ms globally. We publish our perf budget publicly and ship slower if we break it.
Yes. The SDK is framework-agnostic — you mark slots with data-fragment or use the thin adapter for your framework. SSR is supported natively; hydration is clean.
Default EU hosting; RU localization (152-ФЗ-compliant) and US on the roadmap. Custom regions on Enterprise. Fragments ships with consent-mode integration for GDPR and can be configured to not drop a single cookie until the user opts in.
No — that's literally the point of the product. After the one-time SDK install, everything happens in the dashboard. If you need a new slot on a new page, a dev adds one data-fragment attribute. That's it.
On the Enterprise plan, yes — either on-prem or in a dedicated cloud tenant. For most teams, our managed cloud is faster to roll out and cheaper to operate.
→ PILOT · 14 DAYS · NO CARD

Ship your first fragment before stand-up tomorrow.

We'll hop on a 30-minute call, drop the SDK into your site together, and push a live banner before you hang up. If not, lunch is on us.

● Public beta — v0.1● Encryption in transit and at rest● EU hosting (RU/US on roadmap)● No vendor lock-in — export DOM anytime
why01how02platform03sdk04numbers05cases06pricing07faq08