Search Oryxen

Search tools, jump to categories, and open key destinations

Data changelog & quality report

The catalogue shows its work.

Oryxen's catalogue currently holds 28,878 active records across 13 categories. When that number changes, we write down what changed and why — before anyone has to ask.

October 26–27, 2026No rows deleted

Catalogue quality pass: 4,214 renames, 7,203 retirements

Renamed

4,214

display names normalized from raw source paths to the tools' own names

Retired

7,203

records flagged inactive with a provenance reason — kept, never deleted

Active now

28,878

down from 36,081 — the shrink is cleanup, not loss

What was retired, exactly:

Retirement reasons and counts from the October 2026 quality pass
Provenance flagRecordsWhat it means
duplicate5,088Same tool recorded more than once under different slugs — one canonical record kept, the rest retired with a duplicate_of reference.
junk_name1,714Scraped navigation labels and clone titles, not tool names: "Source Code" ×1,239, "octocat" ×105, "Home", "Readme" and similar.
foreign_language398Records whose entire description is a foreign-language README excerpt (Thai, Persian, Cyrillic, CJK, Hungarian, German) — not useful for an English-speaking audience.
boilerplate3Copy-paste vendor boilerplate with no tool-specific content.
total retired7,203applied in full during a single script run with a hard safety cap

duplicate ×5,088 — Same tool recorded more than once under different slugs — one canonical record kept, the rest retired with a duplicate_of reference.

junk_name ×1,714 — Scraped navigation labels and clone titles, not tool names: "Source Code" ×1,239, "octocat" ×105, "Home", "Readme" and similar.

foreign_language ×398 — Records whose entire description is a foreign-language README excerpt (Thai, Persian, Cyrillic, CJK, Hungarian, German) — not useful for an English-speaking audience.

boilerplate ×3 — Copy-paste vendor boilerplate with no tool-specific content.

The rules that governed the pass

  • Nothing was deleted. Every retired record stays in the database with a machine-readable provenance flag and timestamp — retrievable and reversible.
  • Display-name renames turn raw repository paths ("0xdea/jiggy") into the tool's own name ("jiggy"). Deterministic and repeatable.
  • Retirements are evidence-based: exact-name duplicates, scraped nav labels, and non-English-only descriptions. No editorial taste, no paid influence — order stays deterministic.
  • Public totals always derive from the baked snapshot. "Not recorded" stays distinct from "no".
October 27, 2026

Description corrections: 4 records, documented publicly

Four high-traffic records carried descriptions copied from an unrelated source repository during early imports. Each is now corrected using the vendor's own public description. The original wrong text is listed here on purpose: a corrections page that hides what it corrected isn't a corrections page. Each record carries a description_corrected_editorial flag with a timestamp, so the change is machine-readable too.

/tools/chatgpt

was "Turn brief ideas into engaging, AI-generated videos for any platform…" (a video-generation product)

now OpenAI's AI assistant for answering questions, drafting and analyzing text, generating code and problem solving

/tools/python

was "A curated list of awesome Go frameworks, libraries, and software…" (an awesome-Go README))

now A high-level programming language with a large standard library and package ecosystem for web, data, AI and scripting

/tools/typescript

was "OpenLM: a drop-in OpenAI-compatible library…" (an unrelated wrapper project))

now A strongly typed language that builds on JavaScript, adding static types and compiling to plain JavaScript

/tools/kubernetes-2

was "[OpenShift] - An open source PaaS built on [kubernetes]… by Red Hat")

now An open-source system for automating the deployment, scaling and management of containerized applications

Category mappings for Python and TypeScript were part of a wider audit of 1,212 records, recorded below. Category counts were re-derived and the snapshot regenerated afterwards.

October 27, 2026

Category audit: 1,212 records moved, 3,454 left for review

Every active record was scored against all thirteen categories using only its own name, description and repository fields. A move required a score of at least 8, a lead of at least 35% over the runner-up, and no signal at all for the category the record was already in. AI and Other are never automatic targets; leaving AI needs a score of 14 with zero AI signal, and leaving the attribute-style Self-Hosted and Open Source categories needs 16. Ambiguous records were left alone and queued for a human instead of guessed.

Scanned

28,878

active records scored against every category

Moved

1,212

4.2% — each with a recorded confidence

Left for review

3,454

mixed evidence — nothing changed without a human decision

Largest corrections. Postman and Kubernetes had been filed under Automation; Figma and Sketch plugins had been imported under AI Coding; command-line tools had been filed under Design.

Largest category moves and the resulting counts
FromToRecords
AI CodingDeveloper Tools270
OtherDesign228
AI CodingDesign184
DesignDeveloper Tools129
AutomationDeveloper Tools47
Category counts before and after the audit
CategoryBeforeAfterChange
AI9,3679,339-28
AI Coding6,2355,647-588
Developer Tools3,6874,121+434
Design3,3753,734+359
Other3,7203,453-267
Automation699632-67
Audio533566+33
Learning412469+57
Productivity261283+22
Self-Hosted282280-2
Startup154152-2
Video56105+49
Open Source97970

Each moved record carries category_source = classified, a category_confidence and a category_reviewed_at timestamp. The original category and JSON array are kept indirectory_tool_category_backupand a single rollback command restores them. Full rules and the review queue are documented in the repo under docs/data/categories.md.

October 27, 2026

Pricing audit: 244 labels corrected, 10 monthly prices recorded

Pricing labels were checked against each record's own text. A label moved only on an explicit phrase: a free tier or free plan is Freemium, an unconditional free offer is Free, and a free trial is neither. "Open source" alone was not treated as free, and a price was recorded only when the text gave exactly one explicit monthly amount. Credits, revenue thresholds, per-call fees and one-off packages were rejected. 28,628 records without explicit evidence were left as they were.

Scanned

28,878

active records checked against their text

Changed

250

244 label corrections and 10 prices

Vendor-verified

0

text inference is labeled, never presented as a quote

Corrections found in both directions. ChatGPT was Paid while its text said "free to use, with paid plans"; Fontshare was Paid while its text said "100% free". HuggingChat gained its recorded $9/month Pro price.

Examples of corrected pricing labels and the text evidence
RecordWasNowEvidence
ChatGPTPaidFreemiumfree to use, with paid plans
Appcircle.ioPaidFreemiumFree for 30 minutes max build time
PostmanUnknownFreemiumfree forever with certain limits
FontsharePaidFree100% free for personal and commercial use
HuggingChatFreeFreemiumFree: High usage limits. Pro: $9/mo
GeminiUnknownFreemiumAdvanced: $19.99/mo
Pricing label transitions
WasNowRecords
UnknownFreemium106
FreeFreemium87
UnknownFree39
PaidFreemium8
PaidFree4
Pricing distribution before and after
LabelBeforeAfter
Unknown21,84821,703
Free3,6783,634
Freemium2,0202,221
Paid1,3321,320

Recorded monthly prices include api-hub ($2.99), HuggingChat ($9.00), Metashot ($12.00), XFlux ($19.00), Gemini ($19.99). Each changed record carries pricing_source = text_inferred, a pricing_confidence and a pricing_checked_at timestamp. price_verified_at stays empty until a person checks the provider. Originals are in directory_tool_pricing_backup and rollback was exercised before publishing: 250 records restored to the exact pre-audit distribution, then re-applied. Rules and holds are documented in docs/data/pricing.md.

October 27, 2026

Integration matrix: 3,639 records, each with its phrase

API, MCP, SDK and self-hosted are now facts with evidence, not substrings. A flag is set only when the record's own name or description contains an explicit phrase; everything else stays unrecorded, which is not a claim that the capability is absent. A client library for somebody else's API is not counted as an API provider, and the bulk Self-Hosted category tag is not treated as evidence.

Scanned

28,878

active records read for explicit capability phrases

Recorded

3,639

at least one capability, with the matched phrase kept

Unrecorded

24,771

no explicit phrase; not recorded is not a "no"

Integration flags applied
CapabilityRecords
API256
MCP3,128
SDK113
Self-hosted330
Two or more181
Any flag3,639
Substring matches replaced by explicit evidence
FilterSubstringEvidence
API2,074256
Self-hosted3,483330

The old API filter counted the letters api inside "capital", "rapid" and "therapist". The old self-hosted filter's 3,483 matches were almost all the bulk Self-Hosted category tag; only 237 descriptions mentioned self-hosting. Both filters now read the flags, so a record appears only when its text supports the claim.

Examples of recorded integration capabilities and their text evidence
RecordRecordedEvidence
DenAPI, self-hostedSelf-hosted sandbox runtime… REST API and WebSocket support
nocturnusaiAPI, MCP, SDKREST API, Python/TypeScript SDKs, and MCP server integration
CrystallizeAPIBuilt-in GraphQL API
EuterpeAPI, self-hostedSelf-hosted music streaming server… REST API
1ClickClawSelf-hostedSelf-host OpenClaw to build and deploy AI agents
rs-esNone recordedClient for the Elastic REST API — a client, not an API provider

Each changed record carries integration_source = 'text_evidence', an integration_confidence and an integration_checked_at timestamp. Originals are in directory_tool_integration_backup; rollback was exercised before publishing, clearing all 3,639 flags and then re-applying them. The UI labels the flag MCP, not "MCP server", because the flag covers MCP clients as well as servers. Nothing here is vendor-verified. Rules are documented in docs/data/integrations.md.

What happens next

New imports run the same quality rules before records go live, so duplicates and junk names are stopped at the gate. Category counts re-derive from the active set after every change, and this page records every further catalogue-wide change. A bulk JSON snapshot export is on the API roadmap so you can diff the catalogue yourself.

More on how Oryxen works