ReactFlutter

Drop-in adaptive UI for React, Flutter, or both.

Wrap your app in one provider. Each user gets a UI that fits their device, their preferences, and the way they actually use your product automatically, on-device, no config. npm install @morphuiapp/morphui

No credit card · No config · One npm install

Built by indie devs
Powered by Claude
Privacy-first

Real users · Real frustration · Real abandonment

You built your app for a user that doesn't exist.

Not intentionally. But when you picked one color scheme, one font size, one layout, you made a guess about who your user is, when they use your app, on what device, in what lighting.

That guess is wrong. For most of your users. Most of the time.

Thomas

Mid-checkout. A call comes in.

He comes back 3 minutes later. Cart empty, form reset. He leaves frustrated.

No interruption recovery
State preserved, ready to continue

Maria

Reading your form outside in sunlight.

Low-contrast labels become unreadable. She gives up and switches to a competitor.

Contrast fails WCAG AA
WCAG AA verified: readable everywhere

We heard you

The things you're not saying yet.

Every builder who looked at Morph had one of these four thoughts. Here's the honest answer to each.

I don't have time for this right now.

5 minutes isn't a sprint. It's a lunch break. Install the package, wrap your app, get your free key. That's it. You don't configure anything. You don't write a theme. You don't make a single decision. The hard part doesn't exist.

Most builders are done before their coffee gets cold.

What if it breaks something in production?

One attribute. data-morph-skip on any element. Morph never touches it. And if you want out entirely: remove one class from html. Your app is exactly what it was before. No residue. No migration. No rollback plan needed because it's already reversible by design.

It's an additive layer, not a rewrite.

What if I get locked in and you shut down?

V1 has no backend dependency. It works locally, forever. If we ever shut down V2's license server — we've committed to 6+ months notice and an open-source fallback release. You're not locked in. You're just getting better UI for now.

MIT license. Your code stays yours.

I'm a solo dev. I can't maintain another dependency.

Morph is a leaf dependency, not a tree. It doesn't own your theme system, your routing, or your state. You remove it the same way you added it. No Morph-specific components to rip out. No config to migrate. It's 5 minutes in, 5 minutes out. Zero maintenance overhead.

Built by solo devs, for solo devs.

Privacy by default

What Morph learns (and what it doesn't)

Morph never reads your users' content. It learns from interaction patterns alone — and all of that stays on the device.

Morph reads

  • Which zones the user clicks (locally)
  • Time of day (system)
  • Battery level (system, Flutter)
  • Phone grip (accelerometer, Flutter)
  • Dark mode preference (system)
  • Reduced motion preference (system)
  • Scroll speed and depth (locally)
  • WCAG contrast on every element

Morph never reads

  • User content (text, photos, files)
  • Personal info (name, email, etc.)
  • Browsing history
  • Other apps on device
  • Location (you pipe in if needed)
  • Microphone, camera, contacts
  • Anything outside your app
  • Any identifiable data

All behavioral data stays on device. Local Hive on Flutter, IndexedDB on React. Nothing leaves unless you explicitly enable anonymous analytics — and even then, only aggregated patterns, never content.

Why Morph was built

Built by a developer who needed it

“After 3 client projects building dark mode and accessibility from scratch, I knew there had to be a better way. Morph is what I would have built if I had infinite time. So I built it for everyone else.”
Cabraule

Cabraule

Founder of Morph · 8 months solo · 3 client projects shipped

Featured: YC Summer 2026 RFS thesis on dynamic interfaces — we attack the 99% who won't prompt their UI themselves.

3 client projects · 8 months solo · 5-minute install

What Morph saves you per project

1 week of dark mode + accessibility work$0
2 weeks of mobile ergonomics optimization$0
Accessibility audit failuresEliminated
User churn from poor UX defaultsRecovered

Most teams break even on their Morph subscription in the first week.

Pricing

One plan. React and Flutter included.

Your web app and mobile app. Same license key. Same price. No extra cost.

React, Flutter, or both

Free

One license key. Use it for React, Flutter, or both — same price.

$0forever

100 API calls/day

1 license key

  • Automatic dark / light mode
  • WCAG AA - automatic
  • System preferences detection
  • AI theme generation (Haiku)
  • Behavioral tracking
  • Smart suggestions
  • Analytics dashboard
  • Interruption recovery (basic)
Get started - free
Best Value

Professional

One plan, full features on web and mobile.

$19/month
$29/monthSave 35%

First 50 founders · Price locked forever · Cancel anytime

5,000 API calls/day

5 license keys

  • Everything in Free
  • AI theme generation (Sonnet)Popular
  • Behavioral tracking (local)
  • Interruption recovery (advanced)New
  • Grip detection
  • Battery-aware UI
  • Same license key — React, Flutter, or bothPopular
Start Pro trial
See all 20+ features

One Professional license unlocks Pro features on both your React web app AND your Flutter mobile app. Same key. No extra cost.

React 18+ for web. Flutter 3.10+ for mobile. Same license key.

Why not X?

vs Building it yourself

3 to 6 weeks of engineering across React and Flutter. An analytics dependency. A scoring algorithm to design and tune. A backend to maintain.
Morph installs in 5 minutes, on both. No backend, no algorithm to tune.

Live Examples

See Morph in real apps

Production-ready examples you can clone, fork, and ship. All MIT licensed.

🦎
Morph
Flutter Demo
E-commerce App

Flutter E-commerce Demo

AI dark modeGrip detectionBehavioral tracking
View on GitHub

Real questions · Honest answers

Things you're probably wondering

The four questions we get asked the most. The rest live in the docs.

No. Morph reads your existing design before applying anything. Add data-morph-skip to any element and Morph treats it as off-limits forever — styles, ordering, tracking, all untouched. Worst case: remove one line, your app is exactly as you shipped it.
Your app keeps working. Morph degrades gracefully to Free tier features. Your users see no error, no broken UI, no missing functionality — just less adaptation. Upgrade again and all Pro features return instantly. Cancel anytime, zero data loss, no contract.
Yes, by design. All V2 behavioral data stays on the device (IndexedDB on web, Hive on mobile). Nothing leaves the user's device unless you explicitly enable analytics with userConsent: true. No tracking server, no cookie, no external API call for V2 data.
V1 (dark mode, accessibility, theme generation) keeps working forever — it's local-first with no backend dependency for core features. V2 requires the license server, but we commit to 6+ months notice and an open-source fallback if we ever stop. We're not going to leave builders stranded.

Beta access · founder seats open

Your users aren't one person.
Stop giving them one interface.

First 50 founders get Pro at $19/mo · Price locked forever (vs $29/mo public). No credit card. No config file. Works on your existing React and Flutter apps in under 5 minutes.

No credit card · No config · Unsubscribe anytime

npm install @morphuiapp/morphuiflutter pub add morph_flutter

// Wrap your app. That's it. The rest is automatic.