Tools and templates for building generative UI applications. Mobile-first, optimized for Expo.
High-performance streaming markdown renderer with dynamic component injection.
- Streaming-first rendering
- Format-as-you-type UX
- Progressive component streaming with skeletons
- Full GFM support (tables, strikethrough, task lists)
- Built-in XSS protection
galerie-rn (Experimental)
2D generative UI canvas infrastructure. Currently a stub for future development.
- apps/debugger — Web-based streamdown-rn debugger with streaming controls
- apps/debugger-ios — iOS companion for real-device testing
- apps/starter — Starter template for new apps
npm install streamdown-rn
# or
bun add streamdown-rnimport { StreamdownRN } from 'streamdown-rn';
function ChatMessage({ content }: { content: string }) {
return (
<StreamdownRN theme="dark">
{content}
</StreamdownRN>
);
}cd apps/debugger
bun install
bun run dev:web # Starts WebSocket server + Expo webOpen http://localhost:8081 to access the debugger.
The iOS debugger connects to the web debugger via WebSocket to receive streamed content.
cd apps/debugger-ios
bun install
# First time setup
cd ios && pod install && cd ..
# Run the app
bun run dev # Starts Metro on 8082 + builds iOS appNote: Make sure the web debugger is running first (
bun run dev:webin apps/debugger) — the iOS app connects to its WebSocket server.
bun installbun run buildbun testbun run type-checkgenerative-ui/
├── apps/
│ ├── debugger/ # Web debugger (port 8081)
│ ├── debugger-ios/ # iOS debugger (port 8082)
│ └── starter/ # Starter template
├── packages/
│ ├── streamdown-rn/ # Streaming markdown renderer
│ ├── galerie-rn/ # Canvas management (experimental)
│ └── debug-components/ # Shared debug components
└── AGENTS.md # AI development workflow
This monorepo is optimized for AI-assisted development. See AGENTS.md for the AI development workflow and guidelines.
Built with ❤️ by Dark
