# suyogshelke/lifeos architecture

> Architecture diagram of the GitHub repository suyogshelke/lifeos, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/suyogshelke/lifeos
- Repository: https://github.com/suyogshelke/lifeos

## Overview

LifeOS is a personal life-management application with a web client and Django backend domains for accounts, tasks, projects, goals, calendar, expenses, learning, memory, and AI assistance. The visible user workflow is entering the web app, navigating to a feature page, and using its corresponding capability; backend wiring is not shown in the sampled views. The memory task explicitly extracts and chunks uploaded documents, requests Gemini embeddings, and stores chunks. Other backend links are omitted where source evidence is unavailable.

Main entry points: [`lifeos_web/src/App.jsx`](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/App.jsx) (Web App Router), [`memory/tasks.py`](https://github.com/suyogshelke/lifeos/blob/main/memory/tasks.py) (Document Processor), [`lifeos_web/src/pages/Login.jsx`](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Login.jsx) (Login Page), [`lifeos_web/src/pages/Register.jsx`](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Register.jsx) (Registration Page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Web Client"]
  node_app["Web App Router<br/>[App.jsx]"]
  node_login["Login Page<br/>[Login.jsx]"]
  node_register["Registration Page<br/>[Register.jsx]"]
  node_dashboard["Dashboard Page<br/>[Dashboard.jsx]"]
  node_memory_page["Memory Page<br/>[Memory.jsx]"]
  node_learning_page["Learning Page<br/>[Learning.jsx]"]
  node_expenses_page["Expenses Page<br/>[Expenses.jsx]"]
end

subgraph group_domains["Life Management"]
  node_accounts["Accounts API<br/>[views.py]"]
  node_tasks["Tasks API<br/>[views.py]"]
  node_projects["Projects API<br/>[views.py]"]
  node_goals["Goals API<br/>[views.py]"]
  node_calendar["Calendar API<br/>[views.py]"]
  node_expenses["Expenses API<br/>[views.py]"]
  node_learning["Learning API<br/>[views.py]"]
end

subgraph group_memory["Document Memory"]
  node_memory_api["Memory API<br/>[views.py]"]
  node_document_task["Document Processor<br/>[tasks.py]"]
  node_memory_store[("Document Records<br/>[models.py]")]
end

subgraph group_assistant["AI Assistant"]
  node_ai_api["AI Service API<br/>[views.py]"]
  node_context["Context Builder<br/>[context_builder.py]"]
  node_ai_tools["AI Tools<br/>[tools.py]"]
end

node_user(("User"))
node_gemini["Gemini Embeddings"]

node_user -->|"opens"| node_app
node_app -->|"routes"| node_login
node_app -->|"routes"| node_register
node_app -->|"routes"| node_dashboard
node_app -->|"routes"| node_memory_page
node_app -->|"routes"| node_learning_page
node_app -->|"routes"| node_expenses_page
node_document_task -->|"reads and writes"| node_memory_store
node_document_task -->|"requests embeddings"| node_gemini

click node_app "https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/App.jsx"
click node_login "https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Login.jsx"
click node_register "https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Register.jsx"
click node_dashboard "https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Dashboard.jsx"
click node_memory_page "https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Memory.jsx"
click node_learning_page "https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Learning.jsx"
click node_expenses_page "https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Expenses.jsx"
click node_accounts "https://github.com/suyogshelke/lifeos/blob/main/accounts/views.py"
click node_tasks "https://github.com/suyogshelke/lifeos/blob/main/tasks/views.py"
click node_projects "https://github.com/suyogshelke/lifeos/blob/main/projects/views.py"
click node_goals "https://github.com/suyogshelke/lifeos/blob/main/goals/views.py"
click node_calendar "https://github.com/suyogshelke/lifeos/blob/main/calendar_app/views.py"
click node_expenses "https://github.com/suyogshelke/lifeos/blob/main/expenses/views.py"
click node_learning "https://github.com/suyogshelke/lifeos/blob/main/learning/views.py"
click node_memory_api "https://github.com/suyogshelke/lifeos/blob/main/memory/views.py"
click node_document_task "https://github.com/suyogshelke/lifeos/blob/main/memory/tasks.py"
click node_memory_store "https://github.com/suyogshelke/lifeos/blob/main/memory/models.py"
click node_ai_api "https://github.com/suyogshelke/lifeos/blob/main/ai_service/views.py"
click node_context "https://github.com/suyogshelke/lifeos/blob/main/ai_service/context_builder.py"
click node_ai_tools "https://github.com/suyogshelke/lifeos/blob/main/ai_service/tools.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_login,node_register,node_dashboard,node_memory_page,node_learning_page,node_expenses_page,node_user toneBlue
class node_accounts,node_tasks,node_projects,node_goals,node_calendar,node_expenses,node_learning toneAmber
class node_memory_api,node_document_task,node_memory_store toneMint
class node_ai_api,node_context,node_ai_tools toneRose
class node_gemini toneIndigo
```

## Components

### Web Client

- [Web App Router](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/App.jsx): `lifeos_web/src/App.jsx`
- [Login Page](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Login.jsx): `lifeos_web/src/pages/Login.jsx`
- [Registration Page](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Register.jsx): `lifeos_web/src/pages/Register.jsx`
- [Dashboard Page](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Dashboard.jsx): `lifeos_web/src/pages/Dashboard.jsx`
- [Memory Page](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Memory.jsx): `lifeos_web/src/pages/Memory.jsx`
- [Learning Page](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Learning.jsx): `lifeos_web/src/pages/Learning.jsx`
- [Expenses Page](https://github.com/suyogshelke/lifeos/blob/main/lifeos_web/src/pages/Expenses.jsx): `lifeos_web/src/pages/Expenses.jsx`

### Life Management

- [Accounts API](https://github.com/suyogshelke/lifeos/blob/main/accounts/views.py): `accounts/views.py`
- [Tasks API](https://github.com/suyogshelke/lifeos/blob/main/tasks/views.py): `tasks/views.py`
- [Projects API](https://github.com/suyogshelke/lifeos/blob/main/projects/views.py): `projects/views.py`
- [Goals API](https://github.com/suyogshelke/lifeos/blob/main/goals/views.py): `goals/views.py`
- [Calendar API](https://github.com/suyogshelke/lifeos/blob/main/calendar_app/views.py): `calendar_app/views.py`
- [Expenses API](https://github.com/suyogshelke/lifeos/blob/main/expenses/views.py): `expenses/views.py`
- [Learning API](https://github.com/suyogshelke/lifeos/blob/main/learning/views.py): `learning/views.py`

### Document Memory

- [Memory API](https://github.com/suyogshelke/lifeos/blob/main/memory/views.py): `memory/views.py`
- [Document Processor](https://github.com/suyogshelke/lifeos/blob/main/memory/tasks.py): `memory/tasks.py`
- [Document Records](https://github.com/suyogshelke/lifeos/blob/main/memory/models.py): `memory/models.py`

### AI Assistant

- [AI Service API](https://github.com/suyogshelke/lifeos/blob/main/ai_service/views.py): `ai_service/views.py`
- [Context Builder](https://github.com/suyogshelke/lifeos/blob/main/ai_service/context_builder.py): `ai_service/context_builder.py`
- [AI Tools](https://github.com/suyogshelke/lifeos/blob/main/ai_service/tools.py): `ai_service/tools.py`

### Other components

- **User**
- **Gemini Embeddings**

## Connections

- User → Web App Router: opens
- Web App Router → Login Page: routes
- Web App Router → Registration Page: routes
- Web App Router → Dashboard Page: routes
- Web App Router → Memory Page: routes
- Web App Router → Learning Page: routes
- Web App Router → Expenses Page: routes
- Document Processor → Document Records: reads and writes
- Document Processor → Gemini Embeddings: requests embeddings
