# geekan/howtolivelonger architecture

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

- Interactive diagram: https://gitdiagram.com/geekan/howtolivelonger
- Repository: https://github.com/geekan/howtolivelonger

## Overview

HowToLiveLonger is a self-contained longevity research atlas: readers browse research summaries and study links in an offline-capable, multilingual interface. Its separate AI-agent skill reads the research JSON and answers with study sources. The template, data, locale files, and skill are visible in the tree; runtime interaction details are not sampled, so the graph shows only documented relationships.

Main entry points: [`src/index.template.html`](https://github.com/geekan/howtolivelonger/blob/main/src/index.template.html) (Atlas interface), [`skills/howtolivelonger/SKILL.md`](https://github.com/geekan/howtolivelonger/blob/main/skills/howtolivelonger/SKILL.md) (Longevity skill), [`data/evidence.json`](https://github.com/geekan/howtolivelonger/blob/main/data/evidence.json) (Research summaries), [`locales`](https://github.com/geekan/howtolivelonger/tree/main/locales) (Interface translations)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_atlas["Research atlas"]
  node_atlas_ui["Atlas interface"]
end

subgraph group_content["Research content"]
  node_evidence[("Research summaries<br/>[evidence.json]")]
  node_study_sources[("Study sources<br/>[evidence.json]")]
  node_glossary["Research glossary<br/>[glossary.json]"]
end

subgraph group_localization["Languages"]
  node_translations["Interface translations"]
  node_reader_copy["Reader summaries"]
end

subgraph group_agent["AI agent skill"]
  node_agent_skill["Longevity skill<br/>[SKILL.md]"]
end

node_reader(("Reader"))
node_agent_user(("AI agent"))

node_reader -->|"browses"| node_atlas_ui
node_atlas_ui -->|"presents summaries"| node_evidence
node_atlas_ui -->|"links studies"| node_study_sources
node_atlas_ui -->|"supports languages"| node_translations
node_agent_user -->|"invokes"| node_agent_skill
node_agent_skill -->|"reads research"| node_evidence
node_agent_skill -->|"answers with sources"| node_study_sources

click node_atlas_ui "https://github.com/geekan/howtolivelonger/blob/main/src/index.template.html"
click node_evidence "https://github.com/geekan/howtolivelonger/blob/main/data/evidence.json"
click node_study_sources "https://github.com/geekan/howtolivelonger/blob/main/data/evidence.json"
click node_glossary "https://github.com/geekan/howtolivelonger/blob/main/data/glossary.json"
click node_translations "https://github.com/geekan/howtolivelonger/tree/main/locales"
click node_reader_copy "https://github.com/geekan/howtolivelonger/tree/main/locales/readers"
click node_agent_skill "https://github.com/geekan/howtolivelonger/blob/main/skills/howtolivelonger/SKILL.md"

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_atlas_ui toneBlue
class node_evidence,node_study_sources,node_glossary toneAmber
class node_translations,node_reader_copy toneMint
class node_agent_skill toneRose
class node_reader,node_agent_user toneIndigo
```

## Components

### Research atlas

- [Atlas interface](https://github.com/geekan/howtolivelonger/blob/main/src/index.template.html): `src/index.template.html`

### Research content

- [Research summaries](https://github.com/geekan/howtolivelonger/blob/main/data/evidence.json): `data/evidence.json`
- [Study sources](https://github.com/geekan/howtolivelonger/blob/main/data/evidence.json): `data/evidence.json`
- [Research glossary](https://github.com/geekan/howtolivelonger/blob/main/data/glossary.json): `data/glossary.json`

### Languages

- [Interface translations](https://github.com/geekan/howtolivelonger/tree/main/locales): `locales`
- [Reader summaries](https://github.com/geekan/howtolivelonger/tree/main/locales/readers): `locales/readers`

### AI agent skill

- [Longevity skill](https://github.com/geekan/howtolivelonger/blob/main/skills/howtolivelonger/SKILL.md): `skills/howtolivelonger/SKILL.md`

### Other components

- **Reader**
- **AI agent**

## Connections

- Reader → Atlas interface: browses (evidence: `README.md`)
- Atlas interface → Research summaries: presents summaries (evidence: `README.md`)
- Atlas interface → Study sources: links studies (evidence: `README.md`)
- Atlas interface → Interface translations: supports languages (evidence: `README.md`)
- AI agent → Longevity skill: invokes (evidence: `README.md`)
- Longevity skill → Research summaries: reads research (evidence: `README.md`)
- Longevity skill → Study sources: answers with sources (evidence: `README.md`)
