A powerful, AI-driven task management application that lets you manage your tasks through natural voice commands. Built with Streamlit and OpenAI's Whisper + GPT-5 nano.
This repository includes custom commands that help you explore and understand this specific application - its architecture, voice commands, UI workflows, and codebase - through interactive, step-by-step guidance with AI coding assistants.
Claude Code:
- Type
/getting-started
and press Enter
Other AI Assistants (Cursor, etc.):
- Drag
.claude/commands/getting-started.md
into the chat window and press Enter
# Interactive guided tour - learn step by step
/getting-started
# Refresh the knowledge base from current code
/refresh-knowledge
# Discover UI elements and capabilities
/refresh-ui-elements
-
/getting-started
- Interactive tutorial that teaches you:- The architecture and how components work together
- All voice commands and capabilities
- How to explore the code
- Quick setup and your first voice command
-
/refresh-knowledge
- Analyzes the codebase and updates documentation:- Ensures all documentation matches current implementation
- Updates architecture, commands, workflows, and setup guides
- Run this after making significant changes
-
/refresh-ui-elements
- Discovers and documents UI capabilities:- Maps all interactive elements
- Documents what each element actually does
- Saves to
.reference/ui_elements.json
If you're not using an AI coding assistant, follow the manual installation steps in the Quick Start section below.
- Brain Dump Mode: Speak freely about multiple tasks and ideas - the AI will extract and organize them
- Command Mode: Give specific voice commands to manage existing tasks
- Add tasks: "Add a task to review the documentation"
- Modify tasks: "Change the first task to high priority"
- Delete tasks: "Delete the task about testing"
- Complete tasks: "Mark the integration task as complete"
- Query tasks: "What should I work on next?"
- Filter tasks: "Show me all client tasks"
- Prioritize: "Prioritize my tasks for me"
- Priority levels: High ๐ด, Medium ๐ก, Low ๐ข
- Categories: Client ๐ค, Business ๐ผ, Personal ๐
- Smart filtering: Filter by priority, category, and status
- Auto-prioritization: AI suggests priorities based on task content
- Task matching: Natural language reference to existing tasks
- Audio confirmations: Hear back when actions are completed
- Query responses: Get spoken answers to your questions
- Error handling: Voice feedback for low-confidence commands
- Dynamic assistance: Ask questions about using the app
- Voice and text input: Get help through voice or typing
- Context-aware suggestions: Receive personalized tips based on your tasks
- Quick reference: Always-available command reference
- Tutorial guidance: Step-by-step help for new users
- Comprehensive task breakdown by priority and category
- Completion tracking and progress metrics
- Visual indicators for task status
Note: If you're using an AI coding assistant (Claude Code, Cursor, etc.), run
/getting-started
for an interactive setup guide instead.
- Python 3.11+
- OpenAI API key
-
Clone the repository
git clone <repository-url> cd task-tracker
-
Set up virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment
cp .env.example .env # Edit .env and add your OPENAI_API_KEY
-
Run the application
streamlit run app.py
The Voice Task Manager includes an AI-powered help system:
- Access Help: Click "๐ง Toggle Help Panel" in the sidebar
- Ask Questions: Use voice or text to ask about features
- Get Suggestions: View contextual tips based on your current tasks
- Quick Reference: Access command reference anytime
Example Help Questions:
- "How do I add a task?"
- "What commands can I use?"
- "How do I change task priority?"
- "What should I work on next?"
Perfect for capturing multiple tasks at once:
- Select "๐ง Brain Dump" mode
- Click the microphone and speak naturally
- Example: "I need to review the quarterly report, call the client about the project update, and schedule a team meeting for next week"
- The AI will extract and organize these into separate tasks
- Click "Add to Task List" to save them
Ideal for managing existing tasks:
- Select "๐ฏ Command" mode
- Give specific voice commands
- Examples:
- "Add a high priority task to fix the login bug"
- "Mark the documentation review as complete"
- "What should I work on next?"
- "Show me all client tasks"
- "Delete the task about testing"
- "Add a task to [description]"
- "Create a [priority] priority task to [description]"
- "Add a [category] task to [description]"
- "Change [task description] to [new description]"
- "Set [task description] to [priority] priority"
- "Mark [task description] as [category]"
- "Mark [task description] as complete"
- "Complete [task description]"
- "Finish [task description]"
- "Delete [task description]"
- "Remove [task description]"
- "Cancel [task description]"
- "What should I work on next?"
- "Show me all [priority] priority tasks"
- "List all [category] tasks"
- "How many tasks do I have?"
- "Prioritize my tasks"
- "Clear all tasks"
- "Show me pending tasks"
Create a .env
file with:
OPENAI_API_KEY=your_openai_api_key_here
- Whisper: ~$0.006/minute of audio
- GPT-5 nano: 3x cheaper than GPT-4o-mini (which was ~$0.00015 per command)
- Estimated daily cost (heavy use): < $0.20
- WhisperService: Handles speech-to-text transcription
- LLMService: Processes commands and extracts tasks
- TaskManager: Manages task storage and operations
- CommandRouter: Routes voice commands to appropriate handlers
- TTSService: Provides voice feedback
- TaskMatcher: Fuzzy matching for natural language task references
- HelpService: AI-powered help system with knowledge base
{
"id": "uuid",
"text": "Task description",
"priority": "high|medium|low",
"category": "client|business|personal|null",
"completed": false,
"created_at": "ISO timestamp",
"modified_at": "ISO timestamp",
"completed_at": "ISO timestamp|null"
}
- "Add a task to review the documentation"
- "Change the first task to high priority"
- "Delete the task about testing"
- "Mark the integration task as complete"
- "What should I work on next?"
- "Show me all client tasks"
- "Prioritize my tasks for me"
- Empty task list
- Ambiguous task references
- Multiple tasks with similar names
- Network timeout during API calls
- Invalid audio input
- Multi-user support with authentication
- Cloud sync for cross-device access
- Recurring tasks and scheduling
- Calendar integration (Google, Outlook)
- Batch operations on multiple tasks
- Task dependencies and subtasks
- Time tracking per task
- Export to other formats (Markdown, CSV)
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues:
- Check the console for error messages
- Verify your OpenAI API key is valid
- Ensure your microphone permissions are enabled
- Try rephrasing your voice commands
This repository includes a .claude/
directory with custom commands specifically designed to help you understand and work with this Voice Task Manager application using AI coding assistants (Claude Code, Cursor, and others):
Using in Claude Code:
- Type
/getting-started
(or any command) and press Enter
Using in Other Assistants:
- Drag the command file from
.claude/commands/
into the chat window and press Enter
Commands:
getting-started.md
- Interactive tutorial for learning the systemrefresh-knowledge.md
- Update all documentation from current coderefresh-ui-elements.md
- Discover and document UI capabilities
The .reference/
directory contains comprehensive documentation:
task-tracker-architecture.md
- System architecture and componentsvoice-commands-guide.md
- All voice commands and patternsuser_workflows.md
- UI interactions and workflowsgetting-started-guide.md
- Setup and usage instructionsui_elements.json
- Discovered UI capabilities
These files are automatically maintained by the refresh commands to ensure documentation always matches the implementation.
Built with โค๏ธ using Streamlit and OpenAI