# himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work- architecture

> Architecture diagram of the GitHub repository himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-, 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/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-
- Repository: https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-

## Overview

This is a missed-opportunity recovery app: users review unfinished work, ingest notes or other “exhaust” for candidate opportunities, then recover, postpone, or archive items. Recovery can generate a tailored boost through a server endpoint, using Gemini when configured and mock responses otherwise. The excerpts establish the dashboard and API calls; wiring for several listed screens and calendar/auth endpoints is not shown, so those are represented as separate UI capabilities without inferred connections.

Main entry points: [`src/App.tsx`](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/App.tsx) (App state), [`server.ts`](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/server.ts) (Express API), [`src/components/IngestPipeline.tsx`](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/IngestPipeline.tsx) (Exhaust ingestion), [`src/components/GraveyardDashboard.tsx`](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/GraveyardDashboard.tsx) (Graveyard dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Opportunity workspace"]
  node_app["App state<br/>[App.tsx]"]
  node_dashboard["Graveyard dashboard"]
  node_filter["Filter panel<br/>[FilterPanel.tsx]"]
  node_opportunity["Opportunity model<br/>[types.ts]"]
  node_seed["Seed opportunities<br/>[data.ts]"]
  node_vault[("Browser opportunity vault")]
end

subgraph group_recovery["Recovery actions"]
  node_brief["Daily brief<br/>[DailyBrief.tsx]"]
  node_ingest["Exhaust ingestion<br/>[IngestPipeline.tsx]"]
  node_workspace["Recovery workspace"]
end

subgraph group_backend["Analysis services"]
  node_api["Express API<br/>[server.ts]"]
  node_gemini{{"Gemini models"}}
  node_mock["Mock analysis<br/>[server.ts]"]
end

subgraph group_additional["Additional screens"]
  node_calendar["Calendar screen<br/>[CalendarPage.tsx]"]
  node_signup["Signup screen<br/>[SignupPage.tsx]"]
end

node_user(("User"))
node_calendar_api{{"Calendar API"}}
node_auth_api{{"Signup API"}}

node_user -->|"uses"| node_app
node_app -->|"reads and writes"| node_vault
node_app -->|"seeds from"| node_seed
node_app -->|"renders"| node_dashboard
node_app -->|"renders"| node_brief
node_app -->|"renders"| node_ingest
node_app -->|"renders"| node_workspace
node_dashboard -->|"sends selections"| node_app
node_brief -->|"sends actions"| node_app
node_ingest -->|"posts exhaust"| node_api
node_api -.->|"analyzes with"| node_gemini
node_api -->|"falls back to"| node_mock
node_api -->|"returns opportunities"| node_ingest
node_workspace -->|"requests boost"| node_api
node_api -.->|"generates boost"| node_gemini
node_calendar -.->|"requests connections"| node_calendar_api
node_signup -.->|"submits signup"| node_auth_api

click node_app "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/App.tsx"
click node_dashboard "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/GraveyardDashboard.tsx"
click node_brief "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/DailyBrief.tsx"
click node_ingest "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/IngestPipeline.tsx"
click node_workspace "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/RecoveryWorkspace.tsx"
click node_filter "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/FilterPanel.tsx"
click node_opportunity "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/types.ts"
click node_seed "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/data.ts"
click node_api "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/server.ts"
click node_mock "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/server.ts"
click node_calendar "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/pages/CalendarPage.tsx"
click node_signup "https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/pages/SignupPage.tsx"

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_dashboard,node_filter,node_opportunity,node_seed,node_vault,node_user toneBlue
class node_brief,node_ingest,node_workspace toneAmber
class node_api,node_gemini,node_mock,node_calendar_api,node_auth_api toneMint
class node_calendar,node_signup toneRose
```

## Components

### Opportunity workspace

- [App state](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/App.tsx): `src/App.tsx`
- [Graveyard dashboard](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/GraveyardDashboard.tsx): `src/components/GraveyardDashboard.tsx`
- [Filter panel](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/FilterPanel.tsx): `src/components/FilterPanel.tsx`
- [Opportunity model](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/types.ts): `src/types.ts`
- [Seed opportunities](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/data.ts): `src/data.ts`
- **Browser opportunity vault**

### Recovery actions

- [Daily brief](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/DailyBrief.tsx): `src/components/DailyBrief.tsx`
- [Exhaust ingestion](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/IngestPipeline.tsx): `src/components/IngestPipeline.tsx`
- [Recovery workspace](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/components/RecoveryWorkspace.tsx): `src/components/RecoveryWorkspace.tsx`

### Analysis services

- [Express API](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/server.ts): `server.ts`
- **Gemini models**
- [Mock analysis](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/server.ts): `server.ts`

### Additional screens

- [Calendar screen](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/pages/CalendarPage.tsx): `src/pages/CalendarPage.tsx`
- [Signup screen](https://github.com/himanshudangwal16-gemini/missed-opportunity-agent-personal-and-office-work-/blob/main/src/pages/SignupPage.tsx): `src/pages/SignupPage.tsx`

### Other components

- **User**
- **Calendar API**
- **Signup API**

## Connections

- User → App state: uses
- App state → Browser opportunity vault: reads and writes
- App state → Seed opportunities: seeds from
- App state → Graveyard dashboard: renders
- App state → Daily brief: renders
- App state → Exhaust ingestion: renders
- App state → Recovery workspace: renders
- Graveyard dashboard → App state: sends selections
- Daily brief → App state: sends actions
- Exhaust ingestion → Express API: posts exhaust
- Express API → Gemini models: analyzes with
- Express API → Mock analysis: falls back to
- Express API → Exhaust ingestion: returns opportunities
- Recovery workspace → Express API: requests boost
- Express API → Gemini models: generates boost
- Calendar screen → Calendar API: requests connections
- Signup screen → Signup API: submits signup
