1672fadc05d9a7ad9b77433ac9ed5f6ed50f1785
- Accent: #818cf8 → #5558e6 (darker indigo) - Error: #f87171 → #b91c1c (darker red) - Success: #10b981 → #0d9488 (darker teal) - Backgrounds: #0d→#0a, #1a→#16, #25→1f (darker) - Borders: #33→2a, #40→38 (darker) - Text: #fff→#e8, #b0→a8, #88→80 (softer) - Code block background: #1e1e1e → #1a1a1a - Code block text: #d4d4d4 → #e8e8e8 (lighter for contrast) - All 52 tests passing
Light Chat
A lightweight Android chat application built with React and Capacitor for connecting to locally or remotely hosted LLMs.
Features
- LLM API Integration: Connect to any OpenAI-compatible API endpoint
- Session Management: Multiple chat sessions with add/remove functionality
- Dark Theme: Sleek black/dark UI design
- Conversation Export: Save chats as text, log, or markdown files
- Custom System Prompts: Inject your own system prompts for personalized interactions
- Model Configuration: Custom model name support for local LLMs
- Offline Ready: Capacitor wrapper for native Android APK generation
Tech Stack
- Frontend: React + TypeScript
- Mobile Wrapper: Capacitor
- Build Tool: Vite
- Package Manager: pnpm
- Testing: Vitest + React Testing Library
- Android Studio: For final APK generation
Getting Started
Prerequisites
- Node.js (v18+)
- pnpm
- Android Studio (for APK building)
- Capacitor CLI
Installation
# Install dependencies with pnpm
pnpm install
# Start development server
pnpm dev
Build for Android
# Type check TypeScript code
pnpm type-check
# Build the web app
pnpm build
# Sync with Capacitor
npx cap sync
# Open in Android Studio
npx cap open android
Project Structure
The codebase follows these principles:
- Simple: Keep things straightforward
- Modular: Separate concerns into distinct modules
- Reusable: Abstract common functionality
- Tested: Unit tests for all components
Contributing
When adding features:
- Look for existing similar functions to abstract
- Write unit tests
- Keep components small and focused
- Follow the modular architecture
Description
Languages
TypeScript
95.2%
CSS
4%
HTML
0.5%
JavaScript
0.3%