AI Chat Interface for Multiple LLM Providers
Chat with OpenAI GPT-4, Google Gemini, and Groq LLaMA models side-by-side. Compare AI responses in real-time with a modern, secure, and user-friendly interface.
- Side-by-side model comparison - Compare responses from different LLMs simultaneously
- Streaming responses - Real-time streaming with smooth animations
- Markdown rendering - Full markdown support with code syntax highlighting
- Chat history - Persistent chat sessions with search and organization
- GPT-4 Optimized (
gpt-4o) - Default - GPT-4 Mini (
gpt-4o-mini) - GPT-4 Turbo (
gpt-4-turbo) - GPT-3.5 Turbo (
gpt-3.5-turbo)
- Gemini 2.0 Flash (
gemini-2.0-flash-exp) - Default - Gemini 1.5 Pro (
gemini-1.5-pro) - Gemini 1.5 Flash (
gemini-1.5-flash)
- LLaMA 3.3 70B (
llama-3.3-70b-versatile) - Default - LLaMA 3.1 70B (
llama-3.1-70b-versatile) - LLaMA 3.1 8B (
llama-3.1-8b-instant)
- Create, rename, delete sessions
- Global search (Cmd/Ctrl+K)
- Keyboard shortcuts
- Auto-generated session titles
- System prompts for common tasks
- Custom prompt creation
- Search and filtering
- One-click prompt usage
- 100,000 token daily limit
- Real-time usage tracking
- Warning system (90%, 95%, 100%)
- Visual progress bar
- Dark/Light theme support
- Responsive design (mobile-friendly)
- Command palette (Cmd/Ctrl+K)
- Keyboard navigation
- Optimistic UI (instant feedback)
Before you begin, ensure you have the following installed:
- Node.js 18+ and npm/pnpm/yarn
- Python 3.11+
- PostgreSQL 14+
- Git
You'll need API keys from:
- Clerk - Authentication
- OpenAI - GPT models
- Google AI Studio - Gemini models
- Groq - LLaMA models
git clone https://github.com/yourusername/tellmemore.git
cd tellmemoreBackend-da:
cd Backend-da
cp .env.example .env
# Edit .env with your database URL, Clerk keys, and JWT secretBackend-llm:
cd Backend-llm
cp .env.example .env
# Edit .env with your OpenAI, Google, and Groq API keysFrontend-next:
cd frontend-next
cp .env.local.example .env.local
# Edit .env.local with your Clerk keys and backend URLsBackend-da:
cd Backend-da
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements-pinned.txtBackend-llm:
cd Backend-llm
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements-pinned.txtFrontend-next:
cd frontend-next
npm installStart all three services in separate terminals:
Terminal 1 - Backend-da:
cd Backend-da
source venv/bin/activate
uvicorn app:app --reload --port 8000Terminal 2 - Backend-llm:
cd Backend-llm
source venv/bin/activate
uvicorn api.main:app --reload --port 8001Terminal 3 - Frontend-next:
cd frontend-next
npm run devOpen http://localhost:3000 in your browser and start chatting!
tellmemore/
βββ Backend-da/ # User/Session management (FastAPI + PostgreSQL)
β βββ backendApp/ # API routes, models, schemas
β βββ requirements-pinned.txt # Python dependencies with versions
β βββ app.py # Main FastAPI application
βββ Backend-llm/ # LLM provider interface (FastAPI)
β βββ api/ # LLM endpoints and services
β βββ services/ # Provider-specific logic (OpenAI, Gemini, Groq)
β βββ requirements-pinned.txt # Python dependencies with versions
β βββ main.py # Main FastAPI application
βββ frontend-next/ # Next.js 16 frontend
β βββ app/ # Next.js app router pages
β βββ components/ # React components
β βββ lib/ # Utilities, API client, hooks
β βββ docs/ # Frontend-specific documentation
β βββ package.json # Node.js dependencies
βββ docs/ # Project-wide documentation
β βββ README.md # Documentation index
β βββ frontend-next-migration-plan.md
β βββ MIGRATION-SUMMARY.md
β βββ CLERK_INTEGRATION_STATUS.md
βββ README.md # This file
For development guidelines, testing, and contribution information, see:
- Documentation:
docs/README.md - Frontend Docs:
frontend-next/docs/ - Backend API (Data):
Backend-da/backend_api_endpoints.md - Backend API (LLM):
Backend-llm/backend_llm_api_endpoints.md
DATABASE_URL=postgresql://user:password@localhost:5432/tellmemore
CLERK_SECRET_KEY=sk_test_...
CLERK_ISSUER_URL=https://your-domain.clerk.accounts.dev
SECRET_KEY=your_jwt_secret_key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30OPENAI_API_KEY=sk-...
GOOGLE_API_KEY=AI...
GROQ_API_KEY=gsk_...NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...
NEXT_BACKEND_DA_URL=http://localhost:8000
NEXT_BACKEND_LLM_URL=http://localhost:8001
NEXT_PUBLIC_APP_URL=http://localhost:3000- Project Documentation:
docs/README.md - Migration Guide:
docs/frontend-next-migration-plan.md - Quick Reference:
docs/MIGRATION-SUMMARY.md - Chat UI Fixes:
frontend-next/docs/CHAT_UI_FIXES_README.md - Backend API (Data):
Backend-da/backend_api_endpoints.md - Backend API (LLM):
Backend-llm/backend_llm_api_endpoints.md - Clerk Integration:
docs/CLERK_INTEGRATION_STATUS.md
- Set up production PostgreSQL database
- Configure production environment variables
- Set up Clerk production instance
- Deploy Backend-da to cloud (AWS, GCP, Azure)
- Deploy Backend-llm to cloud
- Deploy Frontend-next to Vercel/Netlify
- Set up CI/CD pipeline (GitHub Actions)
- Configure domain and SSL
- Set up monitoring (Sentry, Vercel Analytics)
- Enable rate limiting
- Set up backup/disaster recovery
- Frontend: Vercel (Next.js optimized)
- Backend: AWS EC2, Google Cloud Run, or Railway
- Database: AWS RDS PostgreSQL or Supabase
- Monitoring: Sentry + Vercel Analytics
- CI/CD: GitHub Actions
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Python: PEP8, type hints, docstrings
- TypeScript: ESLint + Prettier, strict mode
- Commits: Conventional Commits format
- Tests: Write tests for all new features
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js - React framework
- FastAPI - Python web framework
- Clerk - Authentication
- shadcn/ui - UI components
- React Query - Server state management
- OpenAI - GPT models
- Google AI - Gemini models
- Groq - LLaMA models
- Documentation: docs/README.md
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with β€οΈ by the TellMeMore Team