Skip to content

Repository files navigation

LLMify 🧠

Unified AI chat interface for multiple language models

Next.js TypeScript Prisma License

LLMify is a unified chat interface that lets you interact with multiple AI models (OpenAI, Anthropic, DeepSeek, xAI, and more) through a single, elegant interface. Use your own API keys or the platform's global key.


✨ Features

  • Multi-Model Support β€” Access GPT, Claude, DeepSeek, Grok, Gemini, and more from one place
  • Local API Key Storage β€” Your keys stay encrypted in your browser using Web Crypto API
  • Smart Conversations β€” Context-aware chat with memory and customization
  • Fine-Tuned Controls β€” Adjust creativity, length, and technical depth
  • Usage Analytics β€” Track tokens, costs, and model performance
  • Real-time Streaming β€” Get responses as they're generated
  • Responsive Design β€” Works seamlessly on desktop and mobile
  • Dark/Light Theme β€” System theme detection with manual toggle
  • Secure & Private β€” API keys never leave your device

πŸš€ Getting Started

Prerequisites

  • Node.js 20+
  • pnpm (recommended)
  • PostgreSQL database
  • API keys for your chosen providers

Installation

# Clone the repository
git clone https://github.com/pvcodes/LLMify.git
cd LLMify

# Install dependencies
pnpm install

# Set up environment variables
cp .env.example .env

# Generate Prisma client
pnpm db:generate

# Push database schema
npx prisma db push

# Start development server
pnpm dev

Environment Variables

# Database
DATABASE_URL="postgresql://user:password@localhost:5432/llmify"

# NextAuth
NEXTAUTH_SECRET="your-secret-key"
NEXTAUTH_URL="http://localhost:3000"

# OAuth (optional)
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""

πŸ›  Tech Stack

Category Technology
Framework Next.js 15 (App Router)
Language TypeScript
Database PostgreSQL + Prisma
Authentication NextAuth.js
AI SDK Vercel AI SDK
UI Radix UI + Tailwind CSS
State Zustand
Animations Framer Motion

πŸ“ Project Structure

src/
β”œβ”€β”€ actions/           # Server actions
β”œβ”€β”€ app/              # Next.js app router pages
β”œβ”€β”€ components/       # React components
β”‚   β”œβ”€β”€ ui/           # Base UI components
β”‚   β”œβ”€β”€ chat/         # Chat-specific components
β”‚   β”œβ”€β”€ landing-page/ # Landing page sections
β”‚   └── settings/     # Settings pages
β”œβ”€β”€ hooks/            # Custom React hooks
β”œβ”€β”€ lib/              # Utilities, configs, AI logic
└── store/            # Zustand stores

πŸ”§ Available Scripts

pnpm dev          # Start development server
pnpm build        # Build for production
pnpm start        # Start production server
pnpm lint         # Run ESLint with auto-fix
pnpm db:generate  # Generate Prisma client

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.


πŸ™ Acknowledgments

  • Vercel for the amazing AI SDK
  • Radix UI for accessible components
  • All the AI providers making LLMs accessible

Built with πŸ’œ by pvcodes

About

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages