Skip to content

m7mdraafat/LifeAdminAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏠 Life Admin Assistant

An AI-powered personal assistant that helps you manage life's administrative tasks — documents, subscriptions, and major life events with smart checklists.

Python Streamlit License

✨ Features

📄 Document Tracking

  • Track important documents with expiry dates (passport, license, insurance, etc.)
  • Automatic reminders at 90, 30, and 7 days before expiry
  • Organize by category and family member
  • Visual urgency indicators (🔴 urgent, 🟠 warning, 🟡 upcoming)

💳 Subscription Management

  • Track all your recurring subscriptions
  • Monitor free trials to avoid surprise charges
  • Calculate monthly and yearly spending summaries
  • Spending breakdown by category

📋 Life Event Checklists

Pre-built checklists for major life events:

  • 🏠 Moving - 16 tasks from notice to settling in
  • 💼 New Job - Onboarding and first month tasks
  • 🚗 Buying a Car - Research to registration
  • 🏡 Buying a Home - Pre-approval to closing
  • 💒 Getting Married - Planning to post-wedding tasks
  • ✈️ Travel - Planning to departure checklist
  • 🎯 Custom - Create your own checklists

🔔 Notifications

  • Email reminders for expiring documents
  • Free trial ending alerts
  • Daily digest summaries

🚀 Quick Start

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/life-admin-assistant.git
    cd life-admin-assistant
  2. Create virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Configure environment Create a .env file in the project root:

    GITHUB_TOKEN=your_github_token_here
    MODEL_NAME=openai/gpt-4.1-mini
    DATABASE_PATH=data/life_admin.db
    
    # Optional: Email notifications
    SENDER_EMAIL=[email protected]
    SENDER_PASSWORD=your_app_password
    NOTIFICATION_EMAIL=[email protected]
    
    # Optional: Tracing
    TRACING_ENABLED=true
    OTLP_ENDPOINT=http://localhost:4317

Running the App

Web UI (Streamlit)

python run_web.py

Opens at http://localhost:8501

Command Line

python main.py

📁 Project Structure

life-admin-assistant/
├── main.py                 # CLI entry point
├── run_web.py              # Streamlit launcher
├── requirements.txt        # Python dependencies
├── .env                    # Environment variables (create this)
├── data/                   # SQLite database storage
├── evaluation/             # Evaluation framework
│   ├── evaluate_agent.py   # Evaluation runner
│   └── test_dataset.json   # Test cases
├── knowledge/              # Knowledge base files
└── src/
    ├── agent.py            # Main AI agent configuration
    ├── config.py           # Configuration management
    ├── cli.py              # Command-line interface
    ├── webapp.py           # Streamlit web UI
    ├── database/
    │   ├── models/         # Data models
    │   └── repository/     # Database operations
    ├── prompts/
    │   └── system_prompt.txt
    └── tools/              # Agent tools
        ├── documents.py    # Document tracking
        ├── subscriptions.py# Subscription management
        ├── checklists.py   # Life event checklists
        └── notifications.py# Email notifications

🛠️ Available Tools

Tool Description
add_document Track a new document with expiry date
list_documents List all tracked documents
get_expiring_documents Show documents expiring soon
add_subscription Track a new subscription
get_spending_summary Calculate subscription spending
get_trial_alerts Check for ending free trials
start_life_event Begin tracking a life event
get_checklist View life event checklist
mark_task_complete Mark a checklist task done
send_expiry_reminder Send email notification
get_daily_digest Get summary of items needing attention

🔍 Observability

The agent includes OpenTelemetry tracing for debugging:

  1. Enable tracing in your .env:

    TRACING_ENABLED=true
  2. View traces in VS Code:

    • Open Command Palette (Ctrl+Shift+P)
    • Run "AI Toolkit: Open Trace Viewer"

📊 Evaluation

Run evaluation to test agent quality:

python evaluation/evaluate_agent.py

This will:

  1. Run test queries against the agent
  2. Evaluate response quality and tool usage
  3. Generate results in evaluation/results.json

☁️ Deployment (Streamlit Cloud)

  1. Push code to GitHub
  2. Connect repo to Streamlit Cloud
  3. Add secrets in Streamlit dashboard:
    GITHUB_TOKEN = "your_token"
    MODEL_NAME = "openai/gpt-4.1-mini"
    DATABASE_PATH = "data/life_admin.db"

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📝 License

This project is licensed under the MIT License.

🙏 Acknowledgments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages