This project aims to create an AI assistant that helps users break down goals, plan tasks, and manage their schedule, acting as a "second brain" for executive function.
This initial version uses BAML for LLM calls and Langgraph for workflow orchestration, running as a Python script.
- Setup:
- Install Python 3.10+
- Install Poetry:
pip install poetry - Clone the repository.
- Navigate to the project directory.
- Install dependencies:
poetry install
- Environment Variables:
- Ensure you have a
GOOGLE_API_KEYenvironment variable set, accessible to the script (e.g., in your shell environment or potentially a.envfile).
- Ensure you have a
- Run:
- Execute the main script:
poetry run python main.py
- Execute the main script:
- 1. User Interface (UI):
- Develop a web interface (e.g., Flask/FastAPI, Streamlit) for user input (goals, tasks, constraints) and schedule visualization.
- 2. Persistence (Memory):
- Implement storage for user goals, tasks (with status), generated schedules, and preferences.
- Start with simple file storage (e.g., JSON).
- Consider a database (SQLite, KuzuDB) for more robust storage.
- 3. Real Calendar Integration:
- Integrate with Google Calendar/Outlook/Apple Calendar APIs.
- Read existing calendar events to understand availability.
- Write generated schedules back to the user's calendar.
- (Alternative) Generate
.icalfiles for import.
- 4. Dynamic Adaptation & Rescheduling:
- Allow users to mark task status (completed, delayed, interrupted).
- Implement automatic rescheduling based on progress/conflicts.
- Learn and adjust task duration estimates.
- 5. Notifications & Reminders:
- Add timely notifications (desktop/push) for task starts, switches, and deadlines.
- 6. Improved Task Management:
- Allow manual task creation, editing, deletion.
- Add support for specific task deadlines.
- Enable adding notes/details to tasks.
- Handle recurring tasks/routines.
- Explore task dependency visualization (potential KuzuDB use).
- 7. Learning & Personalization:
- Learn user's focus periods and work patterns.
- Adjust time estimates based on user performance.
- Allow user feedback on schedule quality.
- 8. Contextual Awareness (Beyond Tasks):
- Explore integration with note-taking apps (Obsidian, Notion) or other data sources (emails, docs) for task context (RAG).