Radhika

banner

RADHIKA - Adaptive Reasoning & Intelligence Assistant

A sophisticated AI-powered assistant built with Next.js and powered by multiple LLM providers including Groq, Gemini, OpenAI, and Claude. RADHIKA adapts to different modes of interaction, providing specialized assistance for productivity, wellness, learning, creative tasks, and even acts as your GenZ bestie!

๐ŸŽฌ Project Showcase

Preview Description
YouTube Demo ๐ŸŽฌ YouTube Demo
Click the image to watch the full demo.
Blog Post ๐Ÿ“ Blog Post
Read the blog for in-depth explanation.

โœจ Features

๐ŸŽฏ Multi-Mode Intelligence

๐Ÿค– Multi-Provider AI Support

๐Ÿš€ Advanced Chat Interface

๐ŸŽค Voice Integration

โšก Quick Actions & Smart Features

๐ŸŽจ Dynamic AI Visualization

๐Ÿ“Š Activity Analytics

๐Ÿ› ๏ธ Tech Stack

Frontend

AI & Backend

Development

๐Ÿ’ƒ Smart Model Selection

RADHIKA automatically selects the best model based on your query complexity:

// Determine which model to use based on conversation context
let modelType = "fast"; // llama-3.1-8b-instant for quick responses

// Use reasoning model for complex analytical tasks
if (query.includes("analyze", "compare", "plan", "strategy", "decision", "problem")) {
  modelType = "reasoning"; // llama-3.3-70b-versatile
}

// Use creative model for artistic and innovative tasks
if (query.includes("creative", "brainstorm", "idea", "write", "design", "story")) {
  modelType = "creative"; // qwen/qwen3-32b
}

๐Ÿš€ Getting Started

Prerequisites

Installation

  1. Clone the repository
    git clone https://github.com/RS-labhub/radhika.git
    cd radhika
    
  2. Install dependencies
    npm install
    # or
    bun install
    
  3. Set up environment variables (check .env.example)
    touch .env
    

    Add your API keys (optional for full functionality):

    # Required for Groq (free tier available)
    GROQ_API_KEY=your_groq_api_key_here
       
    # Required for Gemini (free tier available)
    GOOGLE_GENERATIVE_AI_API_KEY=your_gemini_api_key_here
       
    # Optional: Add via UI for OpenAI/Claude
    # OPENAI_API_KEY=your_openai_api_key_here
    # ANTHROPIC_API_KEY=your_claude_api_key_here
    
  4. Run the development server
    npm run dev
    # or
    bun run dev
    
  5. Open your browser Navigate to http://localhost:3000

๐ŸŽฎ Usage Guide

Selecting AI Modes

Click on any of the six mode buttons to switch RADHIKAโ€™s personality and expertise:

AI Provider Selection

Choose from multiple AI providers in the bottom-right corner:

Voice Features

Quick Actions

Each mode provides quick action buttons with pre-defined prompts:

Chat Management

Themes & Customization

๐Ÿ—๏ธ Project Structure

radhika/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ api/chat/route.ts          # Multi-provider chat API endpoint
โ”‚   โ”œโ”€โ”€ globals.css                # Global styles and theme variables
โ”‚   โ”œโ”€โ”€ layout.tsx                 # Root layout with metadata
โ”‚   โ””โ”€โ”€ page.tsx                   # Main application orchestrator
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ ui/                        # shadcn/ui base components
โ”‚   โ”œโ”€โ”€ chat-header.tsx            # Header with controls and mode display
โ”‚   โ”œโ”€โ”€ chat-sidebar.tsx           # Mode selection and quick actions
โ”‚   โ”œโ”€โ”€ chat-messages.tsx          # Message display and formatting
โ”‚   โ”œโ”€โ”€ chat-input.tsx             # Input field with voice controls
โ”‚   โ”œโ”€โ”€ chat-container.tsx         # Chat logic and state management
โ”‚   โ”œโ”€โ”€ ai-visualization.tsx       # 3D particle system visualization
โ”‚   โ””โ”€โ”€ activity-matrix.tsx        # Real-time analytics dashboard
โ”œโ”€โ”€ hooks/
โ”‚   โ””โ”€โ”€ use-speech.ts              # Speech recognition and synthesis
โ”œโ”€โ”€ types/
โ”‚   โ””โ”€โ”€ speech.d.ts                # TypeScript definitions for speech APIs
โ””โ”€โ”€ lib/
    โ””โ”€โ”€ utils.ts                   # Utility functions and helpers

๐Ÿ”ง Configuration

System Prompts

Each mode has a carefully crafted system prompt in app/api/chat/route.ts:

Model Configuration

Customize model selection in the API route:

const MODELS = {
  groq: {
    fast: "llama-3.1-8b-instant",
    reasoning: "llama-3.3-70b-versatile", 
    creative: "qwen/qwen3-32b"
  },
  gemini: { default: "gemini-2.0-flash" },
  openai: { default: "gpt-4o" },
  claude: { default: "claude-3-5-sonnet-20241022" }
}

Customization Options

๐ŸŒŸ Key Features Explained

Adaptive Model Selection

RADHIKA intelligently chooses the best model for your query:

Persistent Chat History

Advanced Voice Integration

Real-time Analytics

Responsive Design

๐Ÿค Contributing

We welcome contributions! Hereโ€™s how to get started:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
    
  3. Make your changes
    • Follow TypeScript best practices
    • Add tests for new functionality
    • Update documentation as needed
  4. Commit your changes
    git commit -m 'Add amazing feature'
    
  5. Push to your branch
    git push origin feature/amazing-feature
    
  6. Open a Pull Request

Development Guidelines

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“ž Support & Community

๐Ÿ”ฎ Roadmap

Upcoming Features

Performance Improvements


Meet the Author

Author

**Built with โค๏ธ by [RS-labhub](https://github.com/RS-labhub)** *RADHIKA - Your Adaptive AI Companion for Every Need* [โญ Star this repo](https://github.com/RS-labhub/radhika) โ€ข [๐Ÿ› Report Bug โ€ข ๐Ÿ’ก Request Feature](https://github.com/RS-labhub/radhika/issues)