Spark turns your Android phone into a powerful AI chat companion by running Large Language Models directly on your device. Chat privately with no cloud dependencies, and even use it as a local API server for your applications.
⚠️ Early Development Notice: Spark is in active development and things are moving fast! If you encounter any bugs or issues, please help us improve by:
- 🐛 Opening an issue
- 💬 Reporting it in our Discord community
Your feedback is incredibly valuable in making Spark better for everyone!
- 💬 Private Chat: Have conversations with AI models running 100% on your device
- 🤖 Multiple Models: Choose from small (0.5GB) to powerful (4GB+) models
- 🌐 Local API: Use as a drop-in replacement for OpenAI's API in your apps
- 🎨 Beautiful UI: Modern Material You design with dark mode
- 🔄 Easy Updates: One-click model downloads from HuggingFace
- 🔒 Full Privacy: No data leaves your device
- Android 8.1 or newer
- 64-bit processor (ARMv8)
- Storage: 2GB+ free space
- RAM:
- Minimum: 3GB free RAM
- Recommended: 6GB+ for larger models
- High-end: 8GB+ for multimodal models
- Gemma-3n-E2B-it (3.0GB)
- Vision + Text capabilities
- 4096 token context
- Needs 8GB RAM
- Gemma-3n-E4B-it (4.2GB)
- Enhanced multimodal model
- 4096 token context
- Needs 9GB RAM
- Gemma3-1B-IT (0.5GB) ⭐
- Fast & lightweight
- 2048 token context
- Only needs 4GB RAM
- Qwen2.5-1.5B (1.5GB)
- Strong multilingual support
- 1280 token context
- Needs 6GB RAM
- DeepSeek R1 (1.5GB)
- Best for reasoning tasks
- 1280 token context
- Needs 6GB RAM
- Install Spark from Latest Release
- Open app and go to Models tab
- Download a model (start with Gemma3-1B-IT for best compatibility)
- Create a new chat and start talking!
The API server lets you use Spark models in your own apps as a local alternative to OpenAI's API.
-
In Spark app:
- Load your chosen model
- Go to Server tab
- Start server and note your phone's IP address
-
In your application:
- Replace
localhostwith your phone's IP - Use standard OpenAI API format:
- Replace
# List available models
GET http://<phone-ip>:8080/v1/models
# Chat completion
POST http://<phone-ip>:8080/v1/chat/completions
{
"model": "gemma3-1b-it",
"messages": [{"role": "user", "content": "Hello!"}]
}MIT License - see LICENSE
- MediaPipe - LLM inference
- Ktor - API server
- Jetpack Compose - Modern UI