Build your own JARVIS-style AI Virtual Assistant using the MERN Stack (MongoDB, Express, React, Node.js) with real-time voice interaction, Gemini AI integration, authentication, and image customization — all deployed for FREE on Render.
- 🎙️ Talk like a real assistant using the Web Speech API (voice input/output)
- 🧠 Think smart with Gemini AI responses
- 🔐 Authenticate users with JWT + bcryptjs
- 🖼️ Customize appearance with image upload (Multer + Cloudinary)
- 💬 Personalize everything — name, branding, assistant voice
- 📱 Fully responsive and mobile-ready
- 🌐 Deployed on Render for free!
| Frontend | Backend | AI & APIs | Utilities |
|---|---|---|---|
| React | Node.js + Express | Gemini AI | Multer |
| CSS / JS | MongoDB | Web Speech API | Cloudinary |
| JWT + bcryptjs | Render (Deployment) |
- ✅ Voice Assistant: Uses browser’s Web Speech API to listen and speak like JARVIS
- ✅ AI Intelligence: Sends prompts to Gemini and speaks intelligent replies
- ✅ Authentication: Signup/login with hashed passwords and JWT tokens
- ✅ Custom Upload: Change assistant’s photo via image upload
- ✅ Personalization: Customize assistant name, branding, and more
- ✅ Free Deployment: Easily host backend on Render, frontend on Vercel/Netlify
│ └── src/
├── client/ # React frontend
│ └── components/
│ └── pages/
├── server/ # Express backend
│ └── controllers/
│ └── models/
│ └── routes/
│ └── middleware/
├── .env.example # Template for environment variables
├── README.md
git clone https://github.com/yourusername/ai-virtual-assistant.git
cd ai-virtual-assistant
Create a .env file in the server folder based on .env.example.
PORT=8000
MONGODB_URL=your_mongodb_url
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
GEMINI_API_URL=https://generativelanguage.googleapis.com/v1beta/models/...
# Backend
cd server
npm install
# Frontend
cd ../client
npm install
# In /server
npm run dev
# In /client
npm start
Passwords are hashed using bcryptjs JWT tokens manage session securely Auth-protected routes using middleware
All user voice input is sent to Gemini AI for a smart reply. The response is then spoken back using the browser’s Speech Synthesis API.
Users can upload a custom avatar for their assistant. Images are processed using Multer and stored securely in Cloudinary.
Coming soon...