An AI-powered personal assistant that helps you manage life's administrative tasks — documents, subscriptions, and major life events with smart checklists.
- 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)
- Track all your recurring subscriptions
- Monitor free trials to avoid surprise charges
- Calculate monthly and yearly spending summaries
- Spending breakdown by category
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
- Email reminders for expiring documents
- Free trial ending alerts
- Daily digest summaries
- Python 3.10+
- GitHub Token for GitHub Models API
-
Clone the repository
git clone https://github.com/yourusername/life-admin-assistant.git cd life-admin-assistant -
Create virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment Create a
.envfile 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
Web UI (Streamlit)
python run_web.pyOpens at http://localhost:8501
Command Line
python main.pylife-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
| 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 |
The agent includes OpenTelemetry tracing for debugging:
-
Enable tracing in your
.env:TRACING_ENABLED=true
-
View traces in VS Code:
- Open Command Palette (
Ctrl+Shift+P) - Run "AI Toolkit: Open Trace Viewer"
- Open Command Palette (
Run evaluation to test agent quality:
python evaluation/evaluate_agent.pyThis will:
- Run test queries against the agent
- Evaluate response quality and tool usage
- Generate results in
evaluation/results.json
- Push code to GitHub
- Connect repo to Streamlit Cloud
- Add secrets in Streamlit dashboard:
GITHUB_TOKEN = "your_token" MODEL_NAME = "openai/gpt-4.1-mini" DATABASE_PATH = "data/life_admin.db"
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
- Built with Microsoft Agent Framework
- Powered by GitHub Models
- UI built with Streamlit