Skip to content

๐Ÿค– Heyy Zarvis โ€” A smart virtual assistant built with MERN & Gemini API. Always listening. Always helping. Voice, text, and action-ready.

Uddipta7/virtualAssistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– Zarvis โ€“ Your Virtual Assistant

Zarvis is your intelligent AI-powered virtual assistant built using the MERN stack, with seamless voice and text interaction powered by the Gemini AI API. Whether you want to have a conversation, do quick web tasks, hear a joke, or check the time โ€” Zarvis is always ready!

With a beautiful, animated interface and a human-like assistant experience, Zarvis bridges the gap between smart technology and friendly interaction.


๐Ÿ”— Live Demo

๐Ÿš€ Try it now: zarvis.render.app

๐ŸŒŸ Features

๐ŸŽค Always-On Voice Recognition
Just speak โ€” no wake word required! Zarvis listens continuously and responds instantly.

๐Ÿง  Conversational Intelligence (Gemini AI)
Ask anything! Gemini API handles natural language understanding to deliver helpful responses.

๐Ÿ’ฌ Dual Interaction Modes
Speak or type โ€” switch effortlessly based on your preference.

๐Ÿ–ผ๏ธ Custom Assistant Name & Image
Personalize your assistant's name and avatar to match your vibe.

๐ŸŒ Smart Web Actions
Say "Open YouTube" or "Search Google" โ€” Zarvis opens websites for you in a new tab.

๐Ÿ•’ Real-Time Info & Fun
Ask for the current time, date, or even crack a joke โ€” Zarvis keeps it fun and informative.

๐ŸŽจ Stunning Animated UI
Includes:

  • Waveform animation while listening ๐ŸŽ™๏ธ
  • Typewriter effect for replies โŒจ๏ธ
  • Avatar reactions ๐Ÿง‘โ€๐Ÿš€
  • Responsive design with a clean layout

๐Ÿ› ๏ธ Tech Stack

โš™๏ธ Full Stack โ€“ MERN

  • MongoDB โ€“ For storing user data and assistant preferences
  • Express.js โ€“ Backend API routes
  • React.js โ€“ Dynamic and animated user interface
  • Node.js โ€“ Runtime environment for the server

๐Ÿ”ฎ AI Integration

  • Google Gemini API โ€“ Handles all assistant responses

๐Ÿ—ฃ๏ธ Voice & Speech

  • Web Speech API
    • SpeechRecognition for voice input
    • speechSynthesis for voice output

๐ŸŽจ Frontend Stack

  • React.js
  • Tailwind CSS โ€“ For modern responsive UI
  • Framer Motion โ€“ Smooth animations and transitions
  • React Icons โ€“ Icons for UI elements
  • React Router DOM โ€“ Routing between pages
  • Axios โ€“ For API requests

๐Ÿ—„๏ธ Backend Stack

  • Node.js + Express.js โ€“ REST API
  • MongoDB (via Mongoose) โ€“ Database
  • CORS, dotenv, bcrypt โ€“ Auth and config helpers

๐Ÿš€ Getting Started

1. Clone the Repository

git clone https://github.com/Uddipta7/virtualAssistant.git
cd virtualAssistant

2. Install Dependencies

npm install
cd client
npm install

3. Set Up Environment Variables

In the root folder, create a .env file with:

PORT=8000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_key
CLOUDINARY_API_SECRET=your_secret

In the /client folder, create a .env with:

VITE_GEMINI_API_KEY=your_google_gemini_api_key

4. Run the App

In root (backend)

npm run dev

In /client (frontend)

npm run dev

๐Ÿ”ง Project Structure

โ”œโ”€โ”€ client/              # React frontend
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ context/
โ”‚   โ”œโ”€โ”€ assets/
โ”‚   โ”œโ”€โ”€ pages/
โ”‚   โ”œโ”€โ”€ App.jsx
โ”‚   โ””โ”€โ”€ main.jsx
โ”œโ”€โ”€ server/              # Express backend
โ”‚   โ”œโ”€โ”€ controllers/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”œโ”€โ”€ config/
โ”‚   โ””โ”€โ”€ index.js
โ”œโ”€โ”€ .env
โ””โ”€โ”€ README.md

About

๐Ÿค– Heyy Zarvis โ€” A smart virtual assistant built with MERN & Gemini API. Always listening. Always helping. Voice, text, and action-ready.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages