Skip to content

kargarisaac/second_brain

Repository files navigation

Personal Executive-Function Assistant (AI "Second Brain")

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.

Running the MVP

  1. Setup:
    • Install Python 3.10+
    • Install Poetry: pip install poetry
    • Clone the repository.
    • Navigate to the project directory.
    • Install dependencies: poetry install
  2. Environment Variables:
    • Ensure you have a GOOGLE_API_KEY environment variable set, accessible to the script (e.g., in your shell environment or potentially a .env file).
  3. Run:
    • Execute the main script: poetry run python main.py

TODO / Future Enhancements

  • 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 .ical files 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).

About

This project aims to create an AI agent as an assistant that helps users break down goals, plan tasks, and manage their schedule, acting as a "second brain" for executive function.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages