## Full page — v1

Scroll through. Two states shown: empty hero, and results after searching `supabase`.

onym
// name availability, classified
See who actually owns a name — across registries, GitHub, and domains.
$ onym check supabase
try zedbunruffastraltailwind ⌘K to focus
1 free · 5 taken (5 active) → exit 2 · ACTIVE project holds this name ↗ share onym.dev/supabase
crates.io ● free no package published
pypi ● taken v2.9.1 · 4.2M downloads/mo · last release 3d ago ACTIVE
npm ● taken v2.47.3 · 1.8M downloads/mo · last release 1d ago ACTIVE
github.com checking
.dev ● taken registered 2020-03-12 ACTIVE
.io ● taken registered 2019-08-04 ACTIVE
.com ● taken registered 2016-11-22 ACTIVE
what makes onym different

### Classification: tells squatters from real projects

● ACTIVE

Real project with recent releases and meaningful downloads.

>= 100 recent downloads
● PLACEHOLDER

Empty 0.0.x publish — someone reserved the name but shipped nothing.

v0.0.x AND < 100 downloads
● DEAD

Abandoned. No activity in years, few downloads.

<= 10 dl AND last release > 2y
● UNKNOWN

Exists, but signals are inconclusive.

when heuristics disagree
prefer the cli

### Install onym

$ cargo install onym copy
also: `brew install rvben/tap/onym` · prebuilt binaries on github releases

Decisions baked in — push back on any:

- Streaming results — each source resolves independently (github row is still spinning above). Feels alive and honest about latency.
- Shareable permalinks — `onym.dev/supabase` deep-links a result. Click the URL, see the check.
- Example chips on the empty state so first-time visitors have something to click.
- Classification legend section below the fold — explains the one thing that differentiates onym from namae/namecheckr.
- Install block near the bottom — CLI is the "real" product, web is the demo.
- ⌘K to focus — keyboard-first affordance.