███╗ ██╗ ██████╗ ██╗ ██╗ █████╗
████╗ ██║██╔═══██╗██║ ██║██╔══██╗
██╔██╗ ██║██║ ██║██║ ██║███████║
██║╚██╗██║██║ ██║╚██╗ ██╔╝██╔══██║
██║ ╚████║╚██████╔╝ ╚████╔╝ ██║ ██║
╚═╝ ╚═══╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝
A voice-activated AI desktop assistant with a dark HUD interface
NOVA is a high-performance, voice-activated AI desktop assistant built with Python 3.11. It features a sleek dark-mode HUD (Heads-Up Display) and integrates Google Gemini 2.5 Flash-Lite for intelligent, context-aware responses with conversation memory.
| Feature | Description |
|---|---|
| 🎙️ Voice Commands | Real-time speech recognition via Google Speech API |
| ⌨️ Text Input | Type commands directly in the HUD — no mic needed |
| 🧠 AI with Memory | Gemini AI remembers your last 10 exchanges for context |
| 📋 Live Task Panel | Add, list, and complete tasks — visible in the UI in real time |
| 🔇 Mute Toggle | Instantly mute/unmute text-to-speech from the UI |
| 🕐 Live Clock | Real-time date and time displayed in the header |
| 🖥️ PC Health | Monitor CPU, RAM, and Disk usage by voice |
| 🌤️ Weather | Instant weather updates for your configured city |
| 🗑️ Clear Log | One-click terminal log wipe |
| 🔐 Secure API Key | API key stored in .env — never hardcoded |
| ⚙️ Config File | Customize name, city, voice speed without touching code |
"What time is it" → Current time
"What's the date" → Today's date
"Weather" → Weather for your city
"PC health" → CPU, RAM, Disk usage
"Open YouTube" → Opens YouTube
"Open VS Code" → Launches VS Code
"Open Spotify" → Opens Spotify
"Open GitHub" → Opens GitHub
"Screenshot" → Saves timestamped screenshot
"Add task: <task name>" → Adds to task board
"List tasks" → Reads out all tasks
"Complete task 1" → Marks task 1 as done
"Take note: <text>" → Saves to quick_notes.txt
"Tell me a joke" → Random developer joke
"Clear memory" → Clears AI conversation history
"Exit" / "Goodbye" → Shuts down NOVA
"Anything else..." → Answered by Gemini AI
NOVA/
├── dev.py # Core logic, voice loop, command processor
├── dev_ui.py # HUD UI — CustomTkinter interface
├── config.json # User settings (name, city, voice)
├── .env # API key (never uploaded to GitHub)
├── .env.example # Template for setting up .env
├── requirements.txt # All dependencies
├── project_tasks.json # Auto-generated task storage
└── quick_notes.txt # Auto-generated voice notes
| Component | Technology |
|---|---|
| Language | Python 3.11 |
| UI Framework | CustomTkinter |
| LLM | Google Gemini 2.5 Flash-Lite |
| Speech-to-Text | Google Web Speech API |
| Text-to-Speech | SAPI5 via pyttsx3 |
| Threading | Python threading module |
| Config | python-dotenv + config.json |
git clone https://github.com/YOUR_USERNAME/NOVA.git
cd NOVApy -3.11 -m pip install -r requirements.txt- Get a free key from Google AI Studio
- Copy
.env.example→ rename to.env - Add your key:
GEMINI_API_KEY=your_key_here
Edit config.json:
{
"user_name": "Your Name",
"city": "Your City",
"voice_rate": 180,
"voice_index": 0
}py -3.11 dev.py- API key is stored in
.envwhich is listed in.gitignore - The
.envfile is never committed to GitHub - Use
.env.exampleas a safe template to share setup instructions
- Windows 10/11
- Python 3.11
- Microphone (optional — text input works without one)
- Google Gemini API key (free)
Made by Shaurya Vardhan