Privacy-first, AI-powered Android keyboard that rewrites any text in any app with one tap.
AutoKeyboard sits inside your Android keyboard and rewrites your messages in any tone: Professional, Flirty, Poetic, Gen-Z, Shakespearean, or your own custom style. Works in WhatsApp, Gmail, Instagram, and every other app.
- 9 Tone Presets β Professional, Friendly, Casual, Flirty, Witty, Poetic, Gen-Z, Formal, Custom
- Custom Prompts β "Talk like my GF" or "Make it Shakespearean"
- 10 Cloud Providers β OpenAI, Gemini, Claude, Mistral, Groq, Cohere, OpenRouter, DeepSeek, Together AI, Custom
- 5 On-Device Models β Gemma, Phi-3, Qwen, Llama 3.2, MLC (fully offline)
- Fallback Chain β Automatic failover across configured providers
- Zero Message Storage β No text is ever stored or logged
- Encrypted API Keys β AndroidKeyStore + EncryptedSharedPreferences
MVVM + Clean Architecture + Hilt DI
βββ domain/ # AIProvider interface (contract)
βββ data/
β βββ model/ # Tone, ProviderConfig, RewriteResult
β βββ local/ # DataStore preferences, SecureStorage
β βββ provider/
β βββ cloud/ # 10 cloud providers (OpenAI, Gemini, Claude...)
β βββ local/ # 5 on-device providers (Gemma, Phi-3, Qwen...)
βββ service/ # KeyboardService (IME), KeyboardViewModel
βββ ui/
β βββ theme/ # Neon Nocturne design system (colors, shapes, typography)
β βββ keyboard/ # KeyboardScreen, KeyTile, EmojiStrip
β βββ sheets/ # ToneSelectorSheet, RewriteResultsSheet
β βββ settings/ # SettingsScreen, SettingsViewModel
β βββ onboarding/# OnboardingScreen
β βββ components/# ShimmerEffect, GradientButton
β βββ navigation/# NavGraph
βββ di/ # Hilt modules
- Android Studio Ladybug (2024.2) or newer
- Android SDK 35
- JDK 17+
git clone https://github.com/AnonAmit/AutoKeyboard.git
cd AutoKeyboard
./gradlew assembleDebugadb install app/build/outputs/apk/debug/app-debug.apkThen go to Settings β System β Languages & Input β On-screen keyboard β Manage on-screen keyboards and enable AutoKeyboard.
- Open AutoKeyboard app from launcher
- Go to Settings β AI Providers
- Tap a provider card and enter your API key
- The key is encrypted and stored in AndroidKeyStore
| Provider | Get API Key |
|---|---|
| OpenAI | platform.openai.com/api-keys |
| Gemini | aistudio.google.com |
| Claude | console.anthropic.com |
| Groq | console.groq.com |
| OpenRouter | openrouter.ai/keys |
- Zero message storage β Input text exists only in RAM during the rewrite call
- No analytics by default β Optional anonymous stats (opt-in)
- Encrypted secrets β API keys stored via
EncryptedSharedPreferences+AndroidKeyStore - No cloud dependency β Can run fully offline with on-device models
- Open source β Full code audit possible
Typography: Plus Jakarta Sans (headlines) + Inter (body)