LettuceAI is a sleek, privacy-first AI roleplay application built with Tauri v2, React, and TypeScript. It gives you a modern, mobile-first experience for creating characters, writing stories, and chatting with AI models, entirely on your own device. You bring your own API keys and choose which models to use.
Our focus: privacy, customization, and creative freedom so your stories stay yours.
- Frontend: React 18, TypeScript 5, Tailwind CSS v4, Framer Motion, Lucide React, Zod
- Backend: Tauri v2 (Rust), Keyring, custom Tauri commands
- Node.js 18+ & npm
- Rust 1.70+ & Cargo
- Android SDK (for Android builds, optional)
- Install Android Studio and set up the SDK
- Ensure ANDROID_SDK_ROOTis set in your environment variables
- Add platform tools to your PATH(e.g.,export PATH=$ANDROID_SDK_ROOT/platform-tools:$PATH)
 
# Clone the repository
git clone https://github.com/LettuceAI/mobile-app.git
cd lettuceai
# Install dependencies
npm install
# Run development server (web view)
npm run dev
# Run Tauri app (native desktop)
npm run tauri android dev
# Build for production
npm run tauri android build# Ensure ANDROID_SDK_ROOT is set to your Android SDK path
# Run on Android emulator
npm run tauri android dev
# Build Android APK
npm run tauri android dev- Open Settings → Providers
- Add a provider (OpenAI, Anthropic, OpenRouter, local/custom)
- Paste your API key (stored securely in the OS keychain)
- Optionally set base URL & default model
- Test connection without sending conversation content
- Open the chat interface
- Select your provider and model
- (Optional) Add custom system prompts
- Start roleplaying — responses stream in real time
- Name & identity
- Personality traits and style
- Boundaries and content guidelines
src/
  core/        # Chat logic, providers, storage, secure creds
  ui/          # Pages and reusable components
  assets/      # Static assets and resources
src-tauri/
  src/         # Rust backend (custom commands, entry point)
  capabilities/ 
  icons/
npm run dev         # Hot reload (web view)
npm run tauri dev   # Native app dev
npx tsc --noEmit    # Type check
npm run lint        # ESLint
npm run format      # Prettier
npm run build       # Production build- Enhanced chat controls
- Character and persona library
- Built-in guides for character creation
- Fully customizable defaults
- Multi-character conversations
- Import chats and characters from SillyTavern and similar platforms
- Export/Import data
- iOS support
- Plugin ecosystem
We welcome contributions!
- Fork the repo
- Create a feature branch git checkout -b feature/amazing-feature
- Follow TypeScript & React best practices
- Test thoroughly
- Commit with meaningful messages
- Push and open a PR
GNU Affero General Public License v3.0 — see LICENSE
Made with ❤️ for the AI community
Privacy-first • Local-first • Open Source
