Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NEXA AI Logo

πŸ€– NEXA_AI β€” Voice-Activated AI Assistant

A voice-activated AI assistant β€” say the wake word and let NEXA do the rest.

πŸ”— Live Demo Β β€’Β  GitHub


🎯 What is Nexa AI?

Nexa AI is a smart, voice-activated virtual assistant built with the MERN stack and powered by Google's Gemini API. Just speak your command β€” Nexa listens via the browser's built-in Speech-to-Text API, sends it to Gemini for an intelligent response, and replies back with a natural voice. You can also instruct Nexa to open websites, play YouTube videos, search the web, and much more β€” all hands-free.


✨ Features

  • 🎀 Voice Activation β€” Say your assistant's wake word to trigger commands
  • πŸ€– AI Responses β€” Powered by Google Gemini AI for smart, natural replies
  • πŸ”Š Text-to-Speech β€” Assistant speaks back in your chosen language & voice
  • 🌐 Web Actions β€” Opens Google, YouTube, LinkedIn, Instagram, Maps & more
  • 🎡 YouTube Playback β€” Play any song or video via voice command
  • πŸ—“οΈ Real-time Info β€” Get current date, time, day, weather instantly
  • πŸ’¬ Chat Mode β€” Type queries when you don't want to use voice
  • πŸ“Š Dashboard β€” Visual stats: total queries, voice vs chat breakdown, weekly activity
  • πŸ•“ History Log β€” Browse all past interactions with search & filter
  • 🧠 Custom Persona β€” Choose your assistant's name, avatar & personality
  • 🌍 Multi-language β€” English, Hindi, Marathi voice support
  • πŸ” Auth System β€” Secure register/login with JWT cookies

πŸ› οΈ Tech Stack

Layer Technology
Frontend React.js (Vite), React Router
Backend Node.js, Express.js
Database MongoDB (Mongoose)
AI Engine Google Gemini API
Auth JWT (HTTP-only cookies)
Voice Web Speech API (SpeechRecognition + SpeechSynthesis)
Image Upload Cloudinary
Styling Inline styles (custom dark cyber theme)

πŸ“ Project Structure

NEXA_AI/
β”œβ”€β”€ Frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   β”œβ”€β”€ Home.jsx          # Voice assistant main page
β”‚   β”‚   β”‚   β”œβ”€β”€ Chat.jsx          # Text chat interface
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx     # Stats & analytics
β”‚   β”‚   β”‚   β”œβ”€β”€ History.jsx       # Interaction log
β”‚   β”‚   β”‚   β”œβ”€β”€ customize.jsx     # Assistant persona setup
β”‚   β”‚   β”‚   └── Auth.jsx          # Login / Register
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ Navbar.jsx        # Sidebar navigation
β”‚   β”‚   β”‚   └── Animation.jsx     # Neural background canvas
β”‚   β”‚   └── contextAPI/
β”‚   β”‚       └── Usercontext.jsx   # Global state management
β”‚   β”œβ”€β”€ vercel.json               # Vercel SPA + API proxy config
β”‚   └── vite.config.js
β”‚
└── Backend/
    β”œβ”€β”€ controller/
    β”‚   β”œβ”€β”€ usercontroler.js      # User, history, dashboard logic
    β”‚   └── authcontroler.js      # Register, login, logout
    β”œβ”€β”€ models/
    β”‚   └── user.js               # MongoDB user schema
    β”œβ”€β”€ routes/
    β”‚   β”œβ”€β”€ userRoutes.js
    β”‚   └── authRoutes.js
    β”œβ”€β”€ middleware/
    β”‚   β”œβ”€β”€ isAuth.js             # JWT verification
    β”‚   └── multer.js             # File upload
    β”œβ”€β”€ config/
    β”‚   └── cloudinary.js
    β”œβ”€β”€ gemini_api.js             # Gemini AI integration
    └── index.js

πŸš€ Getting Started

Prerequisites

  • Node.js v18+
  • MongoDB Atlas account
  • Google Gemini API key
  • Cloudinary account

1. Clone the repository

git clone https://github.com/Sakshi123509/Nexa_AI.git
cd Nexa_AI

2. Backend Setup

cd Backend
npm install

Create .env file in /Backend:

PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
GEMINI_API_KEY=your_gemini_api_key
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
npm run dev

3. Frontend Setup

cd Frontend
npm install
npm run dev

Create .env file in /Frontend:

VITE_API_URL=http://localhost:5000

Frontend runs on http://localhost:5173
Backend runs on http://localhost:5000


🎀 How to Use

  1. Register β†’ Create your account
  2. Setup Persona β†’ Go to _PERSONA and choose assistant name & avatar
  3. Go to Assistant page β†’ Click Start Listening
  4. Say the wake word β†’ e.g., "Hey Nexa, what is the weather today?"
  5. NEXA responds β€” speaks back + opens relevant apps/links

Example Voice Commands

Command Action
[wake word] search React tutorials Opens Google Search
[wake word] play Kesariya on YouTube Opens YouTube
[wake word] what time is it Speaks current time
[wake word] open Instagram Opens Instagram
[wake word] open maps Mumbai Opens Google Maps
[wake word] what is machine learning AI explanation via Gemini

πŸ”‘ Environment Variables

Backend

Variable Description
MONGODB_URI MongoDB Atlas connection string
JWT_SECRET Secret key for JWT tokens
GEMINI_API_KEY Google Gemini AI API key
CLOUDINARY_CLOUD_NAME Cloudinary cloud name
CLOUDINARY_API_KEY Cloudinary API key
CLOUDINARY_API_SECRET Cloudinary API secret

Frontend

Variable Description
VITE_API_URL Backend server URL

---## πŸ“Έ Screenshots


πŸŽ™οΈ Assistant

βš™οΈ Customize

πŸ’¬ Chat

πŸ•“ History

πŸ“Š Dashboard
## 🌐 Deployment

Vercel Config (vercel.json)

{
  "rewrites": [
    {
      "source": "/api/:path*",
      "destination": "https://nexa-ai-wy87.onrender.com/api/:path*"
    },
    {
      "source": "/(.*)",
      "destination": "/index.html"
    }
  ]
}

🀝 Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you'd like to change.


Made with ❀️ by Sakshi

⭐ Star this repo if you found it helpful!

About

πŸŽ™οΈ ARIA is a voice-activated AI assistant built with React & Node.js, powered by Gemini AI. Say the wake word to search, open apps, get real-time info, and more.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages