Satin for Products
Give every user their own experience of your product. Your components, your rules, each person’s way.
In development · SDK alpha in our Reference App · Pilots being planned
Preview as Example profiles
Same data, same API, same permissions
Today
Next
Blocked
Switchers bring habits. Most products ignore them. Challengers win users, then lose them at onboarding. OwnUX lets them keep their habits.
Onboarding
Today:People switching tools relearn every screen before doing real work.
They start in the layout, labels and density they already know.
Roles
Today:One default view must serve designers, engineers, managers and new joiners.
Each person gets a surface that fits them, composed from your own components.
Your frontend
Today:Role-specific views mean frontend forks someone has to maintain.
One integration. Your design system, your API and your permission checks stay in charge.
Proof
Today:Onboarding changes are judged by anecdotes and before-and-after charts.
One agreed metric, measured against a holdout, with confidence intervals planned.
Whether OwnUX lifts activation is the hypothesis each pilot tests, against a holdout. We don’t claim results we haven’t measured.
What you’ll get. The SDK, manifest tooling, conformance suite and rollout controls are in development; measurement and DNA Share are planned.
The OwnUX SDK. React first: the OwnUX Runtime, Experience Translation Engine and Action Broker, using your components and API.
Capability manifest tooling. A schema, validator, examples and starter files. OwnUX stays off until your manifest passes L1 Declared.
A conformance suite. ownux test checks your manifest, then each change: execute, verify, fallback and permission denial.
Rollout controls. Percentage rollout, holdout assignment, a signed kill switch, template version pinning and rollback.
Measurement. Planned: activation, time to first key action, feature discovery and task error rate, with a dashboard in Beta.
DNA Share. People with Interface DNA bring chosen values, with consent. Others set preferences in your product. Planned.
What you control
Your product, your rules. OwnUX works inside limits you set and steps aside when asked.
Lock a screen and no surface renders there. Move the rollout and only new people are added. Flip the kill switch and every surface hands back to your view.
- Locked: billing, security, consent and compliance screens never re-render.
- Design: your tokens, components and permitted layouts.
- Business logic: data and permission checks stay in your backend.
- Rollout: percentages, kill switch, version pins, audit log.
Acme Projects · OwnUX controls
templates: “1” pinnedLocked screens
OwnUX never re-renders these, whatever a person asks for.
locked: ["billing", "security", "consent", "admin"] rollout: { percentage: 25, holdout: 0.1 }
What a person sees
Today
Rendered with your own components and tokens
Of every 1,000 people
225 see OwnUX · 100 holdout · 675 your view
How integration works. Four steps, by your team or an AI tool. Nothing changes in your backend.
- 1
Declare your actions
A short manifest lists the actions OwnUX may offer, their risk and the screens it must never touch.
- 2
Connect your own API
createIntegration maps your list, search, read and change calls to OwnUX. Your API makes every permission decision.
- 3
Register your components
Register a component for each of OwnUX’s 17 building blocks and map your design tokens.
- 4
Test, then roll out
Run ownux test until it says publishable, then release to a percentage with a holdout group.
import { defineManifest } from "@satin/ownux"; export const manifest = defineManifest({ app: { id: "acme-projects", version: "1.4.0" }, actions: { "task.list_assigned": READ, "task.search": READ, "task.get": READ, "task.set_due_date": { ...WRITE, input: { task_ref: "task.ref", due_date: "date" } }, }, // Screens OwnUX never renders, whatever a person asks for. locked: ["billing", "security", "consent"],});$ npx ownux test --config src/ownux/ownux.config.tsOwnUX conformance v0: acme-projects 1.4.0✓ L1 Declared✓ L2 Verified (test task HQ-7, as an editor and a viewer, reset 4 times) ✓ task.get: reads the test task as a valid task ✓ task.set_due_date: changes and reads back ✓ task.set_due_date: verify reads the product, not what was sent ✓ task.set_due_date: a viewer is refused and nothing changesPublishable: yes.Shortened. READ and WRITE are shared settings defined in the same file.
The design partner programme. We’re looking for one to three challenger work-management products to launch OwnUX first.
Who it’s for
- B2B SaaS in work management or an adjacent area
- A React web frontend
- Enough new users to measure an effect: a target of 500 or more a month
- A named product leader as sponsor
- Willing to run a holdout group
The terms
- A 12-week pilot, free or for a nominal fee
- One primary metric and a minimum effect, agreed in writing at the start
- A mutual data-processing agreement, being prepared
- Conversion to the Launch plan if the agreed criteria are met
- Case-study and logo rights on success
What Satin commits to
- Hands-on integration support
- Weekly check-ins
- Conformance fixes within agreed response times
- Transparent reporting of results
Planned pricing, in brief. Free to build, a pilot to prove it, then plans metered by adapted users.
Sandbox
Free
- SDK and Reference App
- ownux test conformance CLI
- Development keys
- No production use or SLA
Design partner
Free or nominal
for 12 weeks
- Production pilot with a holdout
- Integration support
- Converts to Launch on success
Launch
$299–$799
per month
- Up to 2,000 adapted users
- One product, production SDK
- OwnUX Ready badge (planned)
- Hard spending cap
Growth
$999–$2,999
per month, plus usage
- Multiple environments
- Staged rollout
- Measurement dashboard
- Team admin
Enterprise
Custom
contract
- SLA and dedicated support
- SSO and security reviews
- Data-processing terms
Adapted user: anyone who sees an OwnUX surface in a calendar month. Planned launch prices in US dollars, subject to change. Overages capped by default.
Questions, answered.
In developmentThe OwnUX SDK is in development: an alpha runs in the Reference App, and ownux test v0 checks L1 and L2. DNA Share, the developer portal and the analytics dashboard are planned.
No. All logic, data and permission checks stay in your backend. OwnUX calls your API as the signed-in person; if it refuses a change, the person is told and nothing changes.