an identity layer for the agent web

A terminal bio for people.
A live endpoint any agent can query.

One handle. A profile people screenshot. An endpoint any agent can call.

tty.bio/
Signing up is free
$ whoami
welcome to tty.bio
$ curl https://tty.bio/you
you: no such user

The identity layer between people and agents.

Not another link page. A profile built to be read by whatever's asking — a person, or their agent.

HUMAN VIEW
tty.bio/example
WEB
A
@example
building small tools, writing about it
backend engineer · open to freelance
128
repos
2.1k
followers
42
posts
Latest project
Newsletter
tty.bio/example
WEB
A
@example
building small tools, writing about it
backend engineer, open to freelance
Latest project
Newsletter
Office hours
tty.bio/ascii
WEB · ASCII GENERATOR
.:=*@*=:.
.:=*#%#*=:.
:=*%@@@%*=:
-+*#%%%#*+-
.:=+*#*+=:.
-:=+*+=:-
=*#%%%%%#*=
same image, rendered as colored HTML text
$ curl https://tty.bio/example
TERMINAL
.:=*@*=:.
.:=*#%#*=:.
:=*%@@@%*=:
-+*#%%%#*+-
.:=+*#*+=:.
-:=+*+=:-
=*#%%%%%#*=
─────────────
role building small tools
status open to freelance
location Portland, OR
─── links ───
→ Latest project
→ Newsletter
→ Office hours
→ GitHub (verified)
AGENT VIEW
mcp.tty.bio
MCP TOOL CALL
get_profile("example")
{
"displayName": "Alex Example",
"tagline": "building small tools, writing about it",
"status": "open to freelance",
"location": "Portland, OR",
"stats": [
{ "label": "repos", "value": "128" },
{ "label": "followers", "value": "2.1k" }
],
"links": [
{ "label": "newsletter", "verified": true },
{ "label": "office_hours", "verified": false },
{ "label": "github", "verified": true }
]
}
tty.bio/example/llms.txt
LLMS.TXT
# Alex Example (@example)
> building small tools, writing about it
## Context
- Status: open to freelance
- Location: Portland, OR
## Links
- [Latest project](tty.bio/l/1) (verified)
- [Newsletter](tty.bio/l/2)
- [Office hours](tty.bio/l/3)
- [GitHub](github.com/example) (verified)
---
Full profile: tty.bio/example
tty.bio/example/json-ld
JSON-LD
{
"@context": "schema.org",
"@type": "Person",
"name": "Alex Example",
"alternateName": "@example",
"url": "tty.bio/example",
"image": "tty.bio/example/avatar.png",
"description": "building small tools, writing about it",
"sameAs": [
"github.com/example",
"twitter.com/example"
]
}
WHY IT MATTERS NOW

People don't Google you anymore. Their agent does.

AI agents already answer questions about you — pulled from old links, stale bios, and whatever they scraped last year. tty.bio gives them one real source: your links, your work, your info, straight from you.

// last year
✕ outdated bio · dead links · guessed answers
// with tty.bio
✓ one source of truth, always current

How it works

01

Claim your handle

→ tty.bio/claim

Pick your handle. It's yours the moment you reserve it.

02

Build your profile

→ tty.bio/ascii

Add your links, stats, and an ASCII avatar generated from your photo.

03

Go live for people and their agents

tty.bio/{your-handle}

Automatic — no separate step. One URL, a page for people, a live endpoint for agents.

Claim your tty.bio today

Free to start. Takes about a minute. One handle, read by people and their agents.

tty.bio/