Patterns
Common components backed by open data structures. Standard shapes, styled for context. Any conforming payload renders in any conforming renderer.
Avatar
Identity at a glance. Handle, image, presence.
{
"type": "avatar",
"handle": "riveraudio",
"initials": "RA",
"image": null,
"status": "online"
}
Item Card
A thing that exists. Name, image, price, tags.
Vintage Receiver
Pioneer SX-780 from 1978. Clean channels, warm sound.
Untitled Item
No description
{
"type": "item",
"name": "Vintage Receiver",
"description": "Pioneer SX-780 from 1978.",
"price": { "amount": 250000, "unit": "sat" },
"emoji": "๐ง",
"tags": ["vintage", "audio", "pioneer"],
"images": ["/uploads/receiver-01.jpg"]
}
Post Card
A thing someone said. Content, author, time.
Just listed a batch of restored receivers. All tested, all clean.
{
"type": "post",
"body": "Just listed a batch of restored receivers.",
"author": { "handle": "audiosmith" },
"created_at": "2025-05-16T10:30:00Z"
}
Contact Card
A person or entity. Name, handle, bio, location.
River Audio
@riveraudio
Restoring vintage hi-fi since 2019
Portland, OR
{
"type": "contact",
"name": "River Audio",
"handle": "riveraudio",
"bio": "Restoring vintage hi-fi since 2019",
"location": "Portland, OR",
"avatar": null
}
Transaction Receipt
A thing that happened. Amount, parties, txid.
250,000 sats
a3f2...8b1c
{
"type": "transaction",
"amount": { "value": 250000, "unit": "sat" },
"from": { "handle": "audiosmith" },
"to": { "handle": "riveraudio" },
"txid": "a3f2...8b1c",
"status": "confirmed"
}
Listing Card
An item offered for sale. Item reference, price, seller, status.
Vintage Receiver
Active250,000 sats
{
"type": "listing",
"item": { "name": "Vintage Receiver", "emoji": "๐ง" },
"price": { "amount": 250000, "unit": "sat" },
"seller": { "handle": "audiosmith" },
"status": "active"
}