Stop building chat UIs from scratch. The complete toolkit for building native AI-powered chat applications on mobile apps.
Building the intelligence for your AI agent is hard enough. Don't waste weeks fighting with list views, keyboard handling, and message bubbles. ChatKit gives you a production-ready chat interface that feels 100% native, right out of the box.
We know you want to see code running. Choose your path:
- Swift? → Jump to Swift Quick Start (The modern way) | Minimal Skeleton
- Objective-C? → Jump to Obj-C Quick Start (Legacy codebase? We got you.) | Minimal Skeleton
- Kotlin/Java? → Android Examples | README
ChatKit is designed to scale from simple embedded widgets to full-blown AI assistants.
Don't force users to leave their current task to get help. Embed ChatKit as a mini-program overlay or a floating entry directly within your existing workflows (e.g., stock charts, dashboards).
- Context Injection: Automatically pass the current screen's data to the LLM. The agent "sees" what the user sees. Learn more
- Non-intrusive: Users summon the agent for specific tasks and dismiss it immediately. Component Embedding Guide
Build independent, professional-grade AI assistants (like Project Samantha) capable of handling complex domain logic.
- Generative UI: Render complex financial tables, forms, or interactive charts dynamically using MCP-UI / MCP Apps, AG-UI, or A2UI protocols. Protocol Support
- One-Shot Execution: Turn natural language (e.g., "Buy 100 shares of AAPL") into secure, sandboxed actions immediately—bypassing deep menus. Architecture Overview
Don't leave users stranded when the AI hits a limit.
- Seamless Handoff: Automatically route high-stakes or complex intent to human agents without losing conversation context.
- Huddle Mode: Enable a unique three-way collaboration (User + AI + Human) where the AI acts as a copilot for the human advisor.
Context is King. Generic chatbots fail because they don't know who the user is. ChatKit connects the dots.
- Frictionless: No need to ask "Where are you?". The SDK already knows. Context Providers Guide
- Proactive: Trigger actions based on location, time, or battery status. Overview
We fit your workflow, whether you need speed or control.
🏎️ Ship Fast (High-Level APIs): Need a chat screen now? Components like ChatKitConversationViewController handle lifecycle and UI rendering for you. Read Guide
🛠️ Full Control (Low-Level APIs): Need custom layouts? Drop down to direct runtime access and manual UI binding. Read Guide
🧩 Make It Yours (Providers): Inject Location, Calendar events, or custom data directly into the LLM context. Context Providers Guide
Clone the repo and run these demos to see ChatKit in action.
📖 For complete instructions: See Running Demos for detailed setup and troubleshooting.
Location: demo-apps/iOS/Simple/
Demonstrates high-level APIs, drawer navigation, and standard build tooling.
cd demo-apps/iOS/Simple
make runSee: Simple README
Location: demo-apps/iOS/SimpleObjC/
Demonstrates Objective-C integration and legacy support.
cd demo-apps/iOS/SimpleObjC
make runSee: SimpleObjC README
Location: demo-apps/Android/
A complete demo app with multiple scenarios.
cd demo-apps/Android
make runSee: Android Examples | README | 中文
- Overview - Complete introduction to ChatKit: features, protocols, and capabilities
- Getting Started - Language-specific quick starts (Swift & Objective-C)
- Quick Start - Minimal skeleton code (5 minutes)
- Swift Developer Guide - From basic usage to advanced patterns.
- Objective-C Developer Guide - Complete API reference for Obj-C.
- Configuration Guide - Customize everything: themes, prompt starters, debug settings.
- Context Providers - How to inject custom data into conversations.
- Component Embedding - Embed chat in Drawers, Sheets, or Tabs.
- Prompt Starters - Configure welcome chips and initial suggestions.
- Installation Guide - SPM, CocoaPods setup.
- Build Tooling - Makefile & XcodeGen guide.
- Troubleshooting - Solutions for common issues.
➡️ Full index: docs/README.md
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with ❤️ by the FinClip team



