appCN
v0.2 early access · React Native + ExpoLive in Expo Go · Play Store soonMCP · for AI agents

Mobile componentsyou actually own.

A shadcn-philosophy library for React Native — copy-paste ownership, motion-first defaults, and a featured AI-native collection. Preview everything live on your phone in seconds.

npx @app-cn/cli@latest init

Recommended — configures NativeWind + Reanimated. Full CLI guide →

   
Running live · same code path as your phone

Built on the tools you already ship with

  • Expo
  • React Native
  • NativeWind
  • Reanimated
  • TypeScript
  • shadcn/ui

0fps

Native motion

0%

Lock-in

0

Ways to install

0% MIT

Open source

How it works

From catalog to your app in three steps.

01

Find what you need

Browse a focused catalog. Base primitives, the AI-native collection. Live preview every one in the browser or on your phone.

02

Preview on your phone

Scan a QR with Expo Go and the component runs live with real native gestures. No emulator, no setup. Same code path as your prod app.

03

Install your way

Copy-paste with the shadcn CLI for ownership. Or pull the whole library from npm. Same primitives, your call.

Why appCN

Built for the way mobile actually feels.

Feel it before you install.

Every component runs live on your real phone via QR — no emulator, no setup, real native gestures. Try the motion in your hand, then copy the source.

AI-native, as the headline.

Streaming bubbles, reasoning traces, voice orbs, prompt composers — a mobile AI collection shipped as the main act, not an afterthought. It's the reason appCN exists.

Dual distribution.

Copy the source with the shadcn CLI for ownership, or install the whole library from npm for ergonomics. Same primitives, your choice.

Motion-first defaults.

Reanimated + gesture handler, shared motion tokens, and one delight detail per component. Premium feel, on by default.

The catalog

Every component.

Open catalog

Button

Base

Pressable with variants and a Reanimated press-scale. Accessible by default.

Press-in snaps the button to 0.96 with a fast 100ms ease; release settles back over 140ms — so taps feel weighted, never twitchy, and you never see overshoot.

Stream Bubble

AI

An assistant message that animates through thinking, token streaming, and a settled final state. The AI-native flagship.

The phase transitions are physical — dots stagger by 150ms each, the caret blinks on its own rhythm, and a `replayKey` re-runs the whole sequence so the bubble can come back to life on demand.

Prompt Input

AI

The AI composer. Auto-grows with content, holds attachment chips, and morphs its send button into a stop with a spinning ring while generating.

The send glyph cross-fades into a stop square the moment generation starts, with a 2px progress ring spinning at 900ms/turn wrapped around it — one element doing the work of three.

Reasoning Trace

AI

A collapsible chain-of-thought panel. Shimmers while thinking, then collapses itself the instant the answer lands.

When `thinking` flips false, the panel auto-collapses its own height (unless the user manually toggled it open) — the trace gets out of the way the moment the answer is ready, so the user doesn't have to do it themselves.

Voice Sphere

AI

A true-3D particle sphere that breathes when idle and ripples with sound when active. The AI-collection voice indicator.

Watch the equator under load — there's an inner wave at one frequency riding on top of a slower swell at another, so the band never repeats itself. Combined with the depth-faded silhouette and the gentle wobble on the X axis, the sphere reads alive even at zero amplitude.

Chat

Block

The AI chat block — a complete, drop-in conversation: streaming assistant bubbles, a docked composer, reasoning, and starter prompts.

Magnetic stream-follow — while the assistant streams, the list eases to keep the newest line in view and releases the moment you scroll up; a scroll-to-bottom pill springs you back with a soft overshoot, and a success haptic fires the instant a reply settles.

Ready when you are.

build beautiful.