Lower the cost of switching to your product. New users keep their layout, words and shortcuts from day one.
SDK alpha in development · 12-week design partner pilots, free or nominal fee
Priya arrives from another tool. Their habits: List · roomy · plain words
Acme
My workProjectsInbox BillingWelcome to Acme
Queued
Hire support lead
Active
Migrate old projects
Q4 launch plan
Shipped
Update pricing page
To relearn on day one
3
Illustrative product and people. Your brand, components and locked screens stay exactly as you built them.
Your product is better. Habits live elsewhere. Switching has a hidden bill: new layout, labels and shortcuts, paid in week one.
Familiar from day one. New users answer a few plain questions. DNA Share will bring existing profiles in, with consent.
Your components, your brand. OwnUX builds surfaces from your registered components and tokens. Users see your design, never Satin’s.
Locked where it matters. Billing, security, consent and compliance screens are declared locked and never re-rendered, whatever a user prefers.
Your backend decides. Business logic, data and permission checks stay in your API. The SDK holds no authorisation logic.
No forked frontend. One product, one codebase. Adaptive surfaces live inside it, your standard view one action away.
Measured against a holdout. Planned: activation, time to first key action, feature discovery and task errors, against users without OwnUX.
Measurement
Prove it with a holdout. Not with anecdotes.
The SDK puts each new user in a stable cohort: OwnUX, holdout or your standard view. By default, 15% of new users are held out, and you can change it.
- Assignment is deterministic, so raising rollout only adds people.
- A signed kill switch returns every surface to your view.
- Planned: results with confidence intervals, never selected anecdotes.
New users this month · 100 shown
Rolling outHoldout group
One primary metric, such as 7-day activation, agreed in writing before the pilot starts.
Planned: confidence intervals, reported against the holdout. No result is shown here because none exists yet.
Illustrative cohort. Drag the rollout, change the holdout or flip the kill switch.
From sandbox to production, through your own staging. The same path for every product, with a conformance gate before users.
- 1
Run the Reference App
Start from Satin’s own small task app, built on the SDK, in the free sandbox on your machine, available when the SDK is published, soon.
- 2
Declare and map
Write a capability manifest for a few entities and actions, and register your components for OwnUX’s primitives.
- 3
Pass conformance
Run ownux test against staging. Checks are reported in plain words; publishing is blocked until it passes.
- 4
Roll out with holdout
Release to a share of new users, watch activation and safety metrics, then promote to production.
import { defineManifest } from "@satin/ownux"; const READ = { risk: "read", preconditions: ["user_authorized"], fallback: "deep_link" } as const;const WRITE = { risk: "reversible_write", preconditions: ["user_authorized", "task_unambiguous", "field_editable"], verify: "read_back", fallback: "deep_link",} as const; export const manifest = defineManifest({ app: { id: "acme-projects", version: "1.4.0" }, actions: { "task.list_assigned": READ, "task.search": READ, "task.set_due_date": { ...WRITE, input: { task_ref: "task.ref", due_date: "date" } }, "task.transition": { ...WRITE, input: { task_ref: "task.ref", transition_id: "string" } }, }, // Screens OwnUX never renders, whatever a person asks for. locked: ["billing", "security", "consent"],});The manifest is the contract. It says which actions OwnUX may offer, how risky each is, and which screens it must never touch. OwnUX stays off until it passes the L1 Declared check.
Every write declares a read-back verification and a fallback. If your API refuses a change, the user is told and nothing changes.
The design partner programme. A 12-week pilot with hands-on support and honest reporting, whatever the result.
- Pilot length
- 12 weeksPilot lengthFree, or a nominal fee
- Default holdout
- 15%Default holdoutOf new users, adjustable
- Agreed in writing up front
- 1 metricAgreed in writing up frontWith a minimum detectable effect
- New users a month
- 500+New users a monthTarget criterion, so an effect can be measured
Who it’s for
- B2B SaaS in work management, or an area next to it
- A React web frontend
- A target of 500 or more new users a month
- A named product leader as sponsor
- Willing to run a holdout group
What we commit to
- Hands-on help writing the manifest and mapping your components
- Weekly check-ins for the length of the pilot
- Conformance fixes within agreed response times
- Transparent reporting of the result, whatever it is
- Conversion to the Launch plan only if the agreed criteria are met
Where things stand, and what teams ask us.
In developmentThe OwnUX SDK alpha for React, running in the Reference App, and the ownux test conformance CLI at v0.
PlannedDNA Share: users bring selected Interface DNA values into your product, with consent, scoped and revocable.
PlannedA developer portal, and a vendor analytics dashboard with holdout comparisons.
No. Users without an Interface DNA set their preferences inside your product, using the same schema. Users who already have one will be able to bring it in through DNA Share, which is planned.