Replacement
Contribute
Submit an app
The directory is a git repository. Every listing is one small JSON file, so adding an app is
a pull request: reviewable, versioned, reversible. The first question a reviewer asks is
simple: what does it replace? Answer that in the replaces field and the rest is bookkeeping.
Open the pull request yourself
Creates data/apps/my-app.json pre-filled from the template. Rename the file to
your app’s slug, edit the values, propose the change.
npm run new my-app
Use the submission form
Fill in the fields and a maintainer turns it into a listing. Allow a few days: every entry is read by a person.
Open an issueWhat we look for
- It replaces something specific: a product in the catalogue, named in replaces.
- You can say in one line what it does differently from that product.
- It runs. A stranger can open the URL and use something.
- AI tooling meaningfully shaped it, not just autocomplete.
- A general-purpose tool with no incumbent to compare it against.
- Landing pages with a waitlist and nothing behind them.
- Affiliate farms, SEO doorways or scraped directories.
- Anything you would not be happy to have a stranger review.
The listing file
Required: name, tagline, url, replaces, category, builtWith, maker, launchedAt. The filename is the URL slug: lowercase letters, numbers
and hyphens, like orbit-notes.json.
{
"name": "Your App",
"tagline": "One clear sentence about what it does, in sentence case",
"description": "A short paragraph about the app. Separate paragraphs with a blank line.\n\nMention what you built it with, what surprised you, and what is next.",
"url": "https://yourapp.com",
"repo": "https://github.com/you/yourapp",
"icon": "https://yourapp.com/icon.png",
"screenshots": [
"https://yourapp.com/shot-1.png"
],
"category": "Productivity",
"replaces": [
{
"product": "Notion",
"kind": "alternative",
"note": "Same docs and databases, but everything stays in plain files on disk."
}
],
"tags": [
"notes",
"offline"
],
"builtWith": [
"Claude Code"
],
"stack": [
"Astro",
"SQLite",
"Cloudflare"
],
"maker": {
"name": "Your Name",
"handle": "yourhandle",
"url": "https://github.com/yourhandle",
"avatar": "https://github.com/yourhandle.png"
},
"status": "live",
"pricing": "freemium",
"launchedAt": "2026-01-01",
"stars": 0,
"featured": false,
"placeholder": false
} Field reference
| Field | Notes |
|---|---|
| name * | 2 to 60 characters, written the way you write it |
| tagline * | One sentence, sentence case, no full stop |
| url * | Live product page. Must load without a login |
| replaces * | What it stands in for: a product from data/products.json, a kind (clone, alternative, inspired-by) and optionally one line on what you do differently. The product must already be in the catalogue, and there are 51 to choose from. |
| category * | One of: AI & Agents, Developer Tools, Design, Media, Productivity, Marketing, Finance, Health, Education, Games, Fun & Toys, Community, Utilities, Open Source |
| builtWith * | The AI tools you actually used, up to six |
| maker * | Your name, plus a handle and profile URL |
| launchedAt * | When it became publicly usable (YYYY-MM-DD) |
| description | A paragraph or two, separated by a blank line |
| repo | Required if pricing is open-source |
| icon | Square image, 128px or larger |
| screenshots | Up to four image URLs |
| tags | Up to five, lowercase and hyphenated |
| stack | Frameworks and services you shipped on |
| pricing | One of: free, freemium, paid, open-source |
| status | One of: live, beta, wip, archived |
| stars | Cached GitHub stars, refreshed on a schedule |
A validator runs on every pull request, so a malformed file cannot be merged. Tools the directory recognises include Claude Code, Cursor, GitHub Copilot, Windsurf, Codex, Devin, v0, Lovable, and anything else is fine too.
Questions
Do I need to open-source it?
No. Closed-source apps are welcome. Set pricing to anything but open-source and leave out repo.
Can I list an app I did not build?
Yes, if the maker is fine with it. Say how you know about it in the pull request.
How do I update or remove a listing?
Open a pull request against your file. Older versions stay in the history, so removal is one revert away.
Can I pay to be listed?
Paid placement exists, always labelled and always expiring. See sponsorship. It is never a requirement to be listed.