# suryanshraj2029/devhandover-ai architecture

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

- Interactive diagram: https://gitdiagram.com/suryanshraj2029/devhandover-ai
- Repository: https://github.com/suryanshraj2029/devhandover-ai

## Overview

DevHandover AI is a Streamlit handover and project-knowledge platform. The documented user journey is to manage a workspace, add project knowledge and interview records, assess continuity and successor readiness, then assemble a handover package. The README describes these as product capabilities; sampled code shows their implementation is concentrated in app.py, including SQLite persistence and Gemini-backed interview behavior. The frontend is an unrelated Vite starter, not the documented product UI. Several domain links below are documented rather than verified in unsampled code.

Main entry points: [`app.py`](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py) (Streamlit interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workspace["Workspace and Documents"]
  node_ui["Streamlit interface<br/>[app.py]"]
  node_workspaces["Project workspaces<br/>[app.py]"]
  node_pdf["PDF extraction<br/>[app.py]"]
end

subgraph group_knowledge["Knowledge and Interviews"]
  node_assistant["Knowledge assistant<br/>[app.py]"]
  node_gaps["Knowledge gaps<br/>[app.py]"]
  node_interviews["Knowledge interviews<br/>[app.py]"]
  node_verification["Evidence verification<br/>[app.py]"]
  node_knowledge_map["Project knowledge map<br/>[app.py]"]
end

subgraph group_continuity["Continuity Planning"]
  node_risk["Risk assessment<br/>[app.py]"]
  node_expertise["Domain expertise<br/>[app.py]"]
  node_checkpoints["Handover checkpoints<br/>[app.py]"]
  node_readiness["Successor readiness<br/>[app.py]"]
end

subgraph group_handover["Handover and Persistence"]
  node_successor["Successor workspace<br/>[app.py]"]
  node_package["Handover package<br/>[app.py]"]
  node_store[("SQLite database<br/>[app.py]")]
end

node_user(("Team user"))
node_gemini{{"Gemini AI"}}
node_pymupdf{{"PyMuPDF"}}

node_user -->|"uses"| node_ui
node_ui -->|"manages"| node_workspaces
node_workspaces -->|"uploads documents"| node_pdf
node_pdf -->|"extracts text"| node_pymupdf
node_pdf -->|"provides knowledge"| node_assistant
node_assistant -->|"answers with"| node_gemini
node_ui -->|"identifies"| node_gaps
node_ui -->|"conducts"| node_interviews
node_interviews -->|"generates questions"| node_gemini
node_ui -->|"verifies evidence"| node_verification
node_ui -->|"organizes knowledge"| node_knowledge_map
node_ui -->|"assesses"| node_risk
node_ui -->|"tracks owners"| node_expertise
node_ui -->|"tracks tasks"| node_checkpoints
node_ui -->|"assesses successors"| node_readiness
node_successor -->|"asks questions"| node_assistant
node_ui -->|"supports learning"| node_successor
node_ui -->|"generates report"| node_package
node_ui -->|"persists records"| node_store
node_interviews -->|"saves records"| node_store
node_risk -->|"saves assessment"| node_store

click node_ui "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_workspaces "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_pdf "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_assistant "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_gaps "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_interviews "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_verification "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_knowledge_map "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_risk "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_expertise "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_checkpoints "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_readiness "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_successor "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_package "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py"
click node_store "https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.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_ui,node_workspaces,node_pdf,node_user toneBlue
class node_assistant,node_gaps,node_interviews,node_verification,node_knowledge_map toneAmber
class node_risk,node_expertise,node_checkpoints,node_readiness toneMint
class node_successor,node_package,node_store toneRose
class node_gemini,node_pymupdf toneIndigo
```

## Components

### Workspace and Documents

- [Streamlit interface](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [Project workspaces](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [PDF extraction](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`

### Knowledge and Interviews

- [Knowledge assistant](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [Knowledge gaps](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [Knowledge interviews](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [Evidence verification](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [Project knowledge map](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`

### Continuity Planning

- [Risk assessment](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [Domain expertise](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [Handover checkpoints](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [Successor readiness](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`

### Handover and Persistence

- [Successor workspace](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [Handover package](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`
- [SQLite database](https://github.com/suryanshraj2029/devhandover-ai/blob/main/app.py): `app.py`

### Other components

- **Team user**
- **Gemini AI**
- **PyMuPDF**

## Connections

- Team user → Streamlit interface: uses (evidence: `README.md`)
- Streamlit interface → Project workspaces: manages (evidence: `README.md`)
- Project workspaces → PDF extraction: uploads documents (evidence: `README.md`)
- PDF extraction → PyMuPDF: extracts text (evidence: `README.md`)
- PDF extraction → Knowledge assistant: provides knowledge (evidence: `README.md`)
- Knowledge assistant → Gemini AI: answers with (evidence: `README.md`)
- Streamlit interface → Knowledge gaps: identifies (evidence: `README.md`)
- Streamlit interface → Knowledge interviews: conducts (evidence: `README.md`)
- Knowledge interviews → Gemini AI: generates questions (evidence: `app.py`)
- Streamlit interface → Evidence verification: verifies evidence (evidence: `README.md`)
- Streamlit interface → Project knowledge map: organizes knowledge (evidence: `README.md`)
- Streamlit interface → Risk assessment: assesses (evidence: `README.md`)
- Streamlit interface → Domain expertise: tracks owners (evidence: `README.md`)
- Streamlit interface → Handover checkpoints: tracks tasks (evidence: `README.md`)
- Streamlit interface → Successor readiness: assesses successors (evidence: `README.md`)
- Successor workspace → Knowledge assistant: asks questions (evidence: `README.md`)
- Streamlit interface → Successor workspace: supports learning (evidence: `README.md`)
- Streamlit interface → Handover package: generates report (evidence: `README.md`)
- Streamlit interface → SQLite database: persists records (evidence: `README.md`)
- Knowledge interviews → SQLite database: saves records (evidence: `app.py`)
- Risk assessment → SQLite database: saves assessment (evidence: `app.py`)
