diana

Diana - AI Voice Assistant

![Diana Logo](https://img.shields.io/badge/Diana-AI%20Assistant-blue?style=for-the-badge&logo=robot&logoColor=white) ![Version](https://img.shields.io/badge/version-1.0.0-blue?style=for-the-badge) ![License](https://img.shields.io/badge/license-MIT-green?style=for-the-badge) **The future of AI conversation is here. Experience seamless voice interactions, multi-agent intelligence, and limitless possibilities with Diana.** [πŸš€ Live Demo](https://nomanayeem.github.io/diana/) | [πŸ“– Documentation](#-documentation) | [🀝 Contributing](#-contributing)

🌟 Features

πŸ—οΈ Architecture

This is a monorepo containing three main components:

Component Technology Purpose Status
Backend FastAPI + Python AI API & Voice Processing 🚧 Development
Frontend Next.js + React Chat Interface & UI 🚧 Development
Landing Static HTML/CSS/JS Marketing & Branding βœ… Deployed

πŸš€ Quick Start

Prerequisites

🎯 Landing Page (Currently Deployed)

The landing page is automatically deployed to GitHub Pages:

🌐 Live Site: https://nomanayeem.github.io/diana/

πŸ”§ Backend Development

# Navigate to backend
cd Diana_Backend

# Install dependencies (choose one method)
uv sync                                    # Recommended: using uv
# OR
python -m venv .venv && source .venv/bin/activate && pip install fastapi uvicorn python-dotenv

# Run development server
uvicorn main:app --reload --host 0.0.0.0 --port 8000

API Endpoints:

Backend will be available at: http://localhost:8000

Notes:

🎨 Frontend Development

# Navigate to frontend
cd diana_frontend

# Install dependencies
npm install

# Run development server
npm run dev

Useful scripts:
- `npm run build` – production build
- `npm run start` – run production build
- `npm run export` – static export (supports GitHub Pages via `NEXT_PUBLIC_BASE_PATH`)

Frontend will be available at: http://localhost:3000

πŸš€ Full Development Workflow

# Terminal 1: Backend
cd Diana_Backend
uvicorn main:app --reload --port 8000

# Terminal 2: Frontend
cd diana_frontend
npm run dev

# Terminal 3: Landing (optional)
cd diana_landing
# Open index.html in browser for local testing

πŸ“ Project Structure

Diana/
β”œβ”€β”€ πŸ“ Diana_Backend/              # FastAPI Backend
β”‚   β”œβ”€β”€ πŸ“„ main.py                 # Main application
β”‚   β”œβ”€β”€ πŸ“„ pyproject.toml          # Python dependencies
β”‚   └── πŸ“„ .env                    # Environment variables
β”œβ”€β”€ πŸ“ diana_frontend/             # Next.js Frontend
β”‚   β”œβ”€β”€ πŸ“ src/
β”‚   β”‚   β”œβ”€β”€ πŸ“ app/                # App Router pages
β”‚   β”‚   β”œβ”€β”€ πŸ“ components/         # Reusable components
β”‚   β”‚   └── πŸ“ config/             # Configuration files
β”‚   β”œβ”€β”€ πŸ“„ package.json            # Node dependencies
β”‚   └── πŸ“„ tailwind.config.js      # Tailwind configuration
β”œβ”€β”€ πŸ“ diana_landing/              # GitHub Pages Landing
β”‚   β”œβ”€β”€ πŸ“„ index.html              # Main landing page
β”‚   β”œβ”€β”€ πŸ“ .github/workflows/      # GitHub Actions
β”‚   └── πŸ“„ README.md               # Landing page docs
β”œβ”€β”€ πŸ“ .github/workflows/          # GitHub Actions
β”‚   └── πŸ“„ deploy-landing.yml      # Landing page deployment
β”œβ”€β”€ πŸ“„ .gitignore                  # Git ignore rules
└── πŸ“„ README.md                   # This file

πŸ› οΈ Technology Stack

Backend

Frontend

Landing Page

🎨 Design Philosophy

Diana’s UI/UX is inspired by modern AI chat interfaces, incorporating design patterns from:

Key Design Principles

πŸ”§ Development

Environment Variables

Backend (Diana_Backend/.env):

# Add your environment variables here
API_KEY=your_api_key_here
DEBUG=True

Frontend (diana_frontend/.env.local):

# Next.js environment variables
NEXT_PUBLIC_API_URL=http://localhost:8000
# Optional when hosting under a subpath (e.g., GitHub Pages):
# NEXT_PUBLIC_BASE_PATH=/diana

Configuration Notes

Code Quality

πŸš€ Deployment

Landing Page (Current)

Backend (Future)

Frontend (Future)

🀝 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. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

πŸ“„ License

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

πŸ™ Acknowledgments


**Diana** - The future of AI conversation is here. πŸš€ *Built with ❀️ for the AI community*