Skip to main content
← All projects
Public

Open App Scout

A curated directory of production-ready open-source applications.

2017–Present · 93 apps · 4.3k GitHub stars

The Open App Scout browse page, listing 93 apps with category, stack, platform and license filters.

What it is

GitHub search works when you already know what you are looking for. Open App Scout is for the other case: finding a real, complete application in a given stack — something you can clone, run, trace one behaviour through, and contribute to.

A query for a Flutter finance app returns libraries, starter templates, tutorial output, abandoned demos, and screenshots that promise more than the code delivers. The directory exists to remove all of that. Every entry is a usable application with a public repository, a clear license, and enough documentation to evaluate, and every entry was reviewed by a person before it appeared.

Browsing works on the axes that actually narrow the choice: category, stack, platform, license, and tags, with lenses for what is trending, recently added, and established.

One app, one file

Every app is a YAML file at data/records/<slug>.yml. This is the record for Immich, trimmed:

kind: project
name: Immich
slug: immich
description: Self-hosted photo and video backup solution directly from your mobile phone
category: tools
stack: flutter
platforms:
  - android
  - ios
projectType: real-app
repoUrl: https://github.com/immich-app/immich
curation:
  reviewed: true
  reviewedAt: 2026-08-11

Hand-curated fields and automation-owned GitHub metadata live side by side in the same record, with an ownership table in docs/SCHEMA.md saying which is which. Longer editorial write-ups sit beside it as Markdown.

Because the record is a file in git, every change to a listing — a re-categorisation, a corrected description, a removal — arrives as a reviewable diff instead of an untracked edit in a private admin panel.

The Open App Scout homepage.

The homepage leads with two questions — is it alive, and what is new.

The Open App Scout detail page for Cake Wallet.

One record rendered as a detail page.

The Open App Scout collections page.

Collections are saved queries with the curator's selection note attached.

Freshness is a routine

A directory rots quietly: nothing breaks when a listed app stops being maintained. So the maintenance runs on a schedule, and every job lands as a pull request rather than a direct write.

When Job
Every push Validate records, check icon drift, build the site
Weekly grove sync github refreshes stars, activity and release metadata
Weekly Contributors and the generated README are refreshed
Monthly grove cleanup flags stale records for curator review

Nothing is removed automatically. The machine decides what looks stale; a person decides what to do about it.

On 2026-08-11 a sweep inspected 150 records against a cutoff of six months without a push. 58 were kept and 92 were removed. The catalogue has since grown back to 93.

Submitting an app

The fast path is the web form: paste a public GitHub URL and it drafts a YAML record from the repository. The submitter reviews the taxonomy, and the result opens as a pull request.

The slow path is the same thing by hand — write the YAML, run grove check, open a focused pull request. Both routes end in a reviewed pull request.

Readable by machines too

The same records produce llms.txt and llms-full.txt, so an assistant asked for "an open-source React Native chat client" can answer from a reviewed catalogue instead of guessing. They are generated by the build, so they cannot describe an app that has been removed.

How it is built

The site runs on Grove with Astro and Tailwind CSS, and deploys as static assets to Cloudflare. The whole directory is a build artefact with no server behind it. The UI is installed from Grove's registry as source, with the homepage and the submission flow kept as local forks.