Skip to content

🤖 Advanced AI voice assistant powered by OpenAI with TTS capabilities, built on Node.js and Express

License

Notifications You must be signed in to change notification settings

Lagadnakul/Jarvis-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Robot Jarvis AI Assistant

Typing SVG

License: MIT Node.js OpenAI MongoDB Express

FeaturesTech StackGetting StartedUsageContributingSupport

🌟 Overview

Jarvis AI is a next-generation voice assistant that combines OpenAI's powerful language models with advanced speech technologies to create remarkably natural conversations. With contextual memory and adaptive learning, Jarvis evolves to understand your preferences and needs over time.

AI Assistant Demo

✨ Key Features

🎙️ Natural Voice Interaction

Human-like conversations powered by advanced speech recognition and neural text-to-speech

🧠 Contextual Intelligence

Remembers conversation history and adapts to your personal preferences

🔄 Continuous Learning

Improves over time by learning from interactions and feedback

🔒 Privacy-Focused Design

Secure processing with optional local operation for sensitive commands

🛠️ Tech Stack

Backend

Node.js 18+ → Express.js → OpenAI API → MongoDB
                ↓
Speech Services → Google TTS → Microsoft Speech SDK → Local Fallback

Frontend (Coming Soon)

React + TypeScript → Material UI → Redux Toolkit

🚀 Getting Started

Prerequisites

  • Node.js v18+
  • MongoDB (local or Atlas)
  • API keys for:
    • OpenAI
    • Google Cloud (for TTS)
    • Microsoft Cognitive Services (optional)

Quick Start

# Clone the repository
git clone https://github.com/Lagadnakul/Jarvis-AI.git

# Install dependencies
cd Jarvis-AI/backend
npm install

# Configure environment
cp .env.example .env
# Edit .env with your API keys

# Start development server
npm run dev

# Verify server
curl http://localhost:5000/health

⚙️ Usage

API Endpoints

Endpoint Method Description
/api/ai/process POST Send voice/text commands to AI
/api/ai/stop-speaking POST Stop text-to-speech output
/api/ai/voices GET Get available TTS voices
/health GET Check server status

Example

// Process a command with Jarvis
const response = await fetch('http://localhost:5000/api/ai/process', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    command: 'What's the weather today?',
    userId: 'user-123'
  })
});
const data = await response.json();
console.log(data);

🔧 Configuration

Create a .env file with these variables:

PORT=5000
NODE_ENV=development
MONGODB_URI=your_mongodb_connection_string
OPENAI_API_KEY=your_openai_api_key
GOOGLE_APPLICATION_CREDENTIALS=path/to/google-credentials.json
MICROSOFT_SPEECH_KEY=your_microsoft_speech_key
MICROSOFT_SPEECH_REGION=your_region

📈 Roadmap

🌐 Web Interface 📱 Mobile App 🏠 Smart Home
🗣️ Custom Voice 🌍 Multi-language 📅 Scheduling

🤝 Contributing

Contributions make Jarvis better! Here's how:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

See our Contributing Guide for details.

📄 License

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

🙏 Acknowledgements

  • OpenAI for their revolutionary language models
  • MongoDB for the flexible database solution
  • Express.js for the robust backend framework

Stars Forks

Made with ❤️ by the Jarvis AI Team

Report BugRequest Feature

About

🤖 Advanced AI voice assistant powered by OpenAI with TTS capabilities, built on Node.js and Express

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published