# runacapital/awesome-oss-alternatives architecture

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

- Interactive diagram: https://gitdiagram.com/runacapital/awesome-oss-alternatives
- Repository: https://github.com/runacapital/awesome-oss-alternatives

## Overview

This repository is a curated directory of open-source alternatives to SaaS products, presented as a README list and a searchable documentation site. The user workflow is to browse or search the catalog, choose a category or product entry, and inspect its description, repository, and SaaS alternatives. The tree and sampled sources support the site navigation and search UI; they do not establish the publishing pipeline between YAML submissions and the rendered catalogs, so that wiring is omitted.

Main entry points: [`website/src/pages/index.js`](https://github.com/runacapital/awesome-oss-alternatives/blob/main/website/src/pages/index.js) (Website homepage), [`website/src/components/HomepageFeatures/index.js`](https://github.com/runacapital/awesome-oss-alternatives/blob/main/website/src/components/HomepageFeatures/index.js) (Catalog search), [`website/docs`](https://github.com/runacapital/awesome-oss-alternatives/tree/main/website/docs) (Category entries), [`website/docs/intro.md`](https://github.com/runacapital/awesome-oss-alternatives/blob/main/website/docs/intro.md) (List introduction)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_content["Catalog content"]
  node_submissions["Company submissions"]
  node_docs["Category entries"]
end

subgraph group_site["Website experience"]
  node_homepage["Website homepage<br/>[index.js]"]
  node_search["Catalog search<br/>[index.js]"]
  node_intro["List introduction<br/>[intro.md]"]
end

subgraph group_entry["Reader entry points"]
  node_readme["README catalog<br/>[README.md]"]
end

node_reader(("Catalog reader"))

node_reader -->|"browses"| node_readme
node_reader -->|"opens"| node_homepage
node_homepage -->|"renders"| node_search
node_homepage -->|"links to"| node_intro
node_reader -->|"searches"| node_search
node_reader -->|"reads entries"| node_docs

click node_readme "https://github.com/runacapital/awesome-oss-alternatives/blob/main/README.md"
click node_submissions "https://github.com/runacapital/awesome-oss-alternatives/tree/main/submissions"
click node_docs "https://github.com/runacapital/awesome-oss-alternatives/tree/main/website/docs"
click node_homepage "https://github.com/runacapital/awesome-oss-alternatives/blob/main/website/src/pages/index.js"
click node_search "https://github.com/runacapital/awesome-oss-alternatives/blob/main/website/src/components/HomepageFeatures/index.js"
click node_intro "https://github.com/runacapital/awesome-oss-alternatives/blob/main/website/docs/intro.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_submissions,node_docs toneBlue
class node_homepage,node_search,node_intro toneAmber
class node_readme toneMint
class node_reader toneIndigo
```

## Components

### Catalog content

- [Company submissions](https://github.com/runacapital/awesome-oss-alternatives/tree/main/submissions): `submissions`
- [Category entries](https://github.com/runacapital/awesome-oss-alternatives/tree/main/website/docs): `website/docs`

### Website experience

- [Website homepage](https://github.com/runacapital/awesome-oss-alternatives/blob/main/website/src/pages/index.js): `website/src/pages/index.js`
- [Catalog search](https://github.com/runacapital/awesome-oss-alternatives/blob/main/website/src/components/HomepageFeatures/index.js): `website/src/components/HomepageFeatures/index.js`
- [List introduction](https://github.com/runacapital/awesome-oss-alternatives/blob/main/website/docs/intro.md): `website/docs/intro.md`

### Reader entry points

- [README catalog](https://github.com/runacapital/awesome-oss-alternatives/blob/main/README.md): `README.md`

### Other components

- **Catalog reader**

## Connections

- Catalog reader → README catalog: browses
- Catalog reader → Website homepage: opens
- Website homepage → Catalog search: renders
- Website homepage → List introduction: links to
- Catalog reader → Catalog search: searches
- Catalog reader → Category entries: reads entries
