A simple, elegant to-do list application built with HTML, CSS, and JavaScript that includes AI-powered task planning and persists data in the browser's local storage.
✅ Add Main Tasks: Create primary tasks with a simple input field
✅ Subtasks Support: Add unlimited subtasks under each main task
✅ AI-Powered Planning: Use "PlanForMe" to automatically generate subtasks with AI
✅ Edit Tasks: Click on any task or subtask title to edit it inline
✅ Mark Complete: Check/uncheck boxes to mark tasks as complete
✅ Delete Tasks: Remove unwanted tasks and subtasks with the cross button
✅ Auto-Save: All changes are automatically saved to browser storage
✅ Persistent Data: Tasks remain intact even after browser refresh or restart
✅ Settings Panel: Configure AI integration with secure credential storage
✅ Responsive Design: Works perfectly on desktop and mobile devices
- Purple "PlanForMe" button with magic wand icon appears next to each main task
- One-click AI planning: Automatically generates 3-7 relevant subtasks
- Smart suggestions: AI analyzes your main task and creates actionable steps
- Seamless integration: Generated subtasks appear instantly in your task list
- Secure configuration: Set up your Azure AI credentials safely
- API endpoint configuration: Enter your Azure OpenAI endpoint
- Model deployment: Specify your deployed model name
- Test connection: Verify your AI setup before using PlanForMe
- Encrypted storage: Credentials stored securely in browser storage
- Open
index.htmlin your web browser - You'll see the heading "My To Do App" with a settings button and input field
- Click the "⚙️ Settings" button in the top right
- Enter your Azure OpenAI endpoint (e.g.,
https://your-resource.openai.azure.com/) - Enter your API key from Azure
- Enter your model deployment name (e.g.,
gpt-35-turboorgpt-4) - Click "🔗 Test Connection" to verify your setup
- Click "💾 Save Settings" to store your configuration
- Add a main task (e.g., "Plan a birthday party")
- Click the "🪄 PlanForMe" button next to the task
- Wait for the AI to analyze and generate subtasks
- Review and edit the generated subtasks as needed
- Mark subtasks complete as you work through them
- Type your task in the input field at the top
- Click "Add Task" button or press Enter
- Your task will appear in the list below
- Click the "+ Subtask" button next to any main task
- Type your subtask title and press Enter or click away to save
- Subtasks appear indented under their parent task
- Click on any task or subtask title
- Edit the text directly
- Press Enter or click away to save changes
- Click the checkbox next to any task or subtask
- Completed items will have a strikethrough effect and reduced opacity
- Click again to mark as incomplete
- Click the "×" button next to any task or subtask
- Confirm the deletion when prompted
- Main tasks will delete all their subtasks too
- All changes are automatically saved to your browser's local storage
- Your tasks will persist even if you:
- Refresh the page
- Close and reopen the browser
- Restart your computer
todoAI/
│
├── index.html # Main HTML structure
├── styles.css # Styling and responsive design
├── script.js # JavaScript functionality and data management
└── README.md # This file
- HTML5: Semantic markup for accessibility
- CSS3: Modern styling with gradients, animations, and responsive design
- Vanilla JavaScript: No external dependencies
- Local Storage: Browser-based data persistence
- Azure OpenAI Integration: AI-powered task planning
- Secure Credential Storage: API keys stored safely in browser
- Responsive: Mobile-friendly design that adapts to different screen sizes
To use the PlanForMe feature, you'll need:
- Azure OpenAI Service: An active Azure subscription with OpenAI service
- Deployed Model: A deployed GPT-3.5-turbo or GPT-4 model
- API Credentials: Your endpoint URL and API key
- CORS Configuration: Ensure your Azure endpoint allows browser requests
- Create an Azure OpenAI resource in the Azure portal
- Deploy a chat model (gpt-35-turbo recommended)
- Note your endpoint URL and API key from the resource overview
- Configure CORS to allow requests from your domain (or
*for testing)
- API keys are stored locally in your browser's localStorage
- No server storage: Your credentials never leave your device
- HTTPS recommended: Use HTTPS in production for secure API calls
- Key rotation: Regularly rotate your Azure API keys for security
This app works in all modern browsers that support:
- Local Storage API
- ES6 Classes
- CSS Grid and Flexbox
The app uses CSS custom properties and is easy to customize:
- Change colors in the CSS file
- Modify the gradient backgrounds
- Adjust spacing and typography
- Add new animations or transitions
Enjoy organizing your tasks! 🚀