Send emails using just your voice. Fully local, private, and browser-powered.
Voice-to-Email is a modern, speech-driven email application built with Python (Flask) and JavaScript. It allows users to compose and send emails entirely through voice commands — including selecting the recipient, writing the subject, composing the message, and sending.
This project was designed to be:
- Lightweight – works locally without heavy libraries or cloud APIs
- Secure – uses Gmail App Passwords; no data is stored on any server
- Accessible – hands-free interface, ideal for users with disabilities or multitasking needs
Whether you're visually impaired, on-the-go, or just want to try futuristic interaction, this app gives you a unique, local experience with no cloud dependencies.
| Feature | Description |
|---|---|
| Voice Commands | Use your voice to fill all fields: recipient, subject, body, and send email |
| Gmail Integration | Secure email sending using SMTP (with Gmail App Password) |
| Contact Manager | Add, view, and delete saved contacts by name |
| Local-Only App | All logic runs locally in your browser and server — no cloud APIs involved |
| Beautiful UI | Modern, glass-style responsive interface built with HTML/CSS/JS |
| Layer | Technology |
|---|---|
| Backend | Python 3.9+, Flask |
| Frontend | HTML5, CSS3 (Glassmorphism), JS |
| Speech | Web Speech API (browser-native) |
| Gmail SMTP via SSL (port 465) |
-
You speak your command: e.g.
- “Recipient Mohit”
- “Subject Hello”
- “Body How are you doing today?”
- “Send email”
-
The browser’s Web Speech API transcribes your voice into text
-
The text is injected into the respective input fields in real time
-
When you say “Send email,” a secure POST request is made via Flask to Gmail SMTP
-
Gmail securely delivers your message using your App Password
No third-party services
No speech API keys
Everything stays local
For security, Gmail blocks less-secure login methods.
To use this app:
- Go to https://myaccount.google.com/apppasswords
- Generate an App Password
- Use this App Password in the app — not your real password
Your credentials are used only at runtime and never saved.
folder_structure: |
voice-to-email/
├── app.py # Flask backend
├── contacts.json # Stores user contacts locally
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── screenshot.png # UI preview screenshot
├── templates/ # HTML templates
│ ├── login.html
│ ├── index.html
│ └── contacts.html
└── static/ # Frontend assets
├── style.css # App styling
└── script.js # Voice command logic
bash
git clone https://github.com/yourid/voice-to-email.git
cd voice-to-email
python -m venv venv
venv\Scripts\activate # on Windows
pip install -r requirements.txt
python app.py
http://127.0.0.1:5000
You're on your laptop, cooking with your hands full, and you suddenly remember to email your friend:
You open the app, press the mic, and say:
“Recipient Mohit”
“Subject Dinner plans”
“Body Let’s meet at 8pm near the old cafe”
“Send email”
Boom!!! Email sent — without typing a single letter.
1.Dark mode toggle
2.ChatGPT integration for smarter responses
3.Message history
4.View inbox (read-only)
5.Convert to mobile PWA (installable)
Pull requests are welcome! If you'd like to suggest new features or improve existing ones, feel free to fork and open an issue or PR.
Made with by Sourav Sharma
“I built this as a personal tool and project to explore voice-driven UIs — and now it's yours to use too.”