expo-ai-kit
Bring on-device AI capabilities to your React Native and Expo applications. Run language models directly on the device with no network latency, complete privacy, and offline support.
What is expo-ai-kit?
expo-ai-kit is a library that provides a unified API for running AI models directly on mobile devices. It leverages platform-native AI frameworks to deliver fast, private, and offline-capable AI experiences.
On iOS, expo-ai-kit uses Apple's Foundation Models framework (part of Apple Intelligence) to access the on-device language model. On Android, support is coming soon with integration planned for Google's ML Kit and on-device LLM capabilities.
Privacy First
All AI processing happens locally on the device. Your users' data never leaves their phone, ensuring complete privacy and compliance with data protection regulations.
Key Features
- Zero network latency — Responses are generated instantly on-device without waiting for network round-trips
- Complete privacy — All data stays on the device, never sent to external servers
- Offline support — Works without an internet connection
- Multi-turn conversations — Maintain context across multiple messages in a conversation
- Streaming responses — Get responses token-by-token for a natural chat experience
- Simple API — Clean, Promise-based API that's easy to integrate into any app
Platform Support
| Platform | Status | Requirements |
|---|---|---|
| iOS | Supported | iOS 26.0+, Apple Intelligence enabled device |
| Android | Coming Soon | TBD |
| Web | Not Planned | — |
iOS Requirements
On iOS, expo-ai-kit requires a device that supports Apple Intelligence. This includes iPhone 15 Pro, iPhone 15 Pro Max, and all iPhone 16 models. The device must also be running iOS 26.0 or later with Apple Intelligence enabled in Settings.
Quick Example
Here's a simple example showing how to check availability and send a message:
import { isAvailable, createSession, sendMessage } from 'expo-ai-kit';
async function askQuestion() {
// Check if on-device AI is available
const available = await isAvailable();
if (!available) {
console.log('On-device AI is not available on this device');
return;
}
// Create a new session
const session = await createSession();
// Send a message and get a response
const response = await sendMessage(session, {
message: 'What is React Native?',
});
console.log(response.text);
}Next Steps
- Get Started — Install expo-ai-kit and run your first query
- API Reference — Explore the complete API documentation
- Examples — See full code examples including a chat app
- Multi-turn Conversations — Learn how to build conversational experiences