Build a demo
Pick what you want and take the command. Everything lands in one app, as source you own: the screens, the hooks behind them, the backends they talk to and the credentials those need. With pages on, each one also gets a route you can open, behind the same sign-in and in the same sidebar.
1 · What it runs on
An app has one of each service, so everything you pick below uses these. Change one and every component that can use it follows.
2 · What it holds
AI
A chat panel on the Vercel AI SDK: hand it the SDK’s own Chat or let it talk to the route it installed — markdown answers that render while they stream, reasoning, tool calls and citations drawn where the model produced them, a transcript a screen reader hears and a keyboard can read, an answer you can stop mid-sentence, and a different sentence for every way a turn can be refused.
See it on its ownA raised message box on the native AI SDK Chat, standalone or sharing its containing chat: a Composer that sends into Chat.Root's sink. Enter sends, Shift+Enter starts a line, Cmd/Ctrl+Enter always sends; typing stays available during an answer. With attachments and dictation on, the paperclip and the microphone are optional capabilities of the box: left out, they show when file-storage and transcription are configured, and the `attachments` and `dictation` props switch them off or require them.
See it on its ownA generic message box: a Composer that sends wherever it is put, into a Chat.Root or a Room.Root above it, or through its own onSubmit. It holds the send while a file uploads or a dictation listens, and says when the send is on its way, held or refused. With attachments and dictation on, the paperclip and the microphone are optional capabilities of the box: left out, they show when file-storage and transcription are configured, and the `attachments` and `dictation` props switch them off or require them.
See it on its own
Auth
One screen for both ways in: the sign-in card and the sign-up card, whichever ways in you choose, with the way across under the form.
See it on its ownA keyboard-navigable account menu with registry settings, invitations, optional organization switching, host-owned theme controls and cancellable sign-out.
See it on its ownA card where the signed-in person edits their own name and picture, and, when you add them, changes their address or phone number.
See it on its ownA button that names the organization you act as and opens the list to switch, with your personal account and a form that creates an organization.
See it on its ownA card listing the active organization's members, where the people allowed to manage them change roles, remove members and cancel pending invitations.
See it on its ownA card that invites someone to the active organization by email, as the role you pick for them.
See it on its ownA card where whoever administers the active organization renames it, changes its logo, and leaves or deletes it behind a confirmation armed in place.
See it on its ownURL-addressable settings grouped by whose they are: the person's Profile, Security and Devices, then the active organization's General and Members. A sidebar beside the open page when wide; a list that opens one page at a time when narrow.
See it on its ownManage device sessions, connected providers and guarded account deletion using the installed auth backend.
See it on its own
Data
One collection with table, list, grid, board and split-detail presentations that preserve search, selection, cursor and the opened record.
See it on its ownA table of one collection's records, with its columns drawn from the schema and search, filters, sort, selection, a create form, row actions and paging chosen at install.
See it on its ownA list of one collection's records, each item drawn from the schema as its picture, its name and the rest as labelled values, with search, filters, selection, a create form, item actions and paging chosen at install.
See it on its ownA grid of cards for one collection's records, each card drawn from the schema as its picture, its name and the rest as labelled values, with search, filters, selection, a create form, card actions and paging chosen at install.
See it on its ownA board of one collection's records in lanes, one per option of the schema's group field, where dragging a card to another lane moves the record, with search, filters, a create form in each lane and card actions chosen at install.
See it on its ownA collection's records nested by the field each one names the record above it in — opened and closed one branch at a time, with the same search, filters and selection as a table.
See it on its ownA collection's records in one column and whichever one is open beside them, every field of it laid out — the list keeps its search, filters and paging while the detail is read.
See it on its ownThe controls of one collection without a view between them — search, filters, select-all, bulk actions and a pager — holding the collection open around rows you draw yourself.
See it on its own
Files
A drop zone that says what it takes and the queue behind it: files land three at a time — straight into the store where the store will take them — each with a picture or an icon for its kind, its own progress, its own cancel, and a reason when it is refused.
See it on its ownWhat is in a bucket, as a list you can add to: a picture of each file or an icon for its kind, a size, a way to save it and a way to remove it — as rows, cards or compact chips — over a drop zone that says what it takes and puts what you give it in the same place.
See it on its ownA message box that takes files anywhere on it: drop them on it, paste a screenshot into it or reach for the paperclip, watch each one go up as a compact chip with a picture or an icon for its kind, and send once they have all arrived.
See it on its ownThe Extend file explorer on slices' parts: a folder as icons, a list, Miller columns or a gallery with a preview, back and forward through the folders opened, sort, a type and date filter with pills, search under the open folder, a status line, and — when you ask for them — selection, a panel for the file you picked, and the controls that put a file in, make folders, move an entry into one and remove what is there.
See it on its ownA browsable document gallery with shared Quick Look, keyboard navigation, native media and bounded text previews.
See it on its ownPick, crop and store an avatar with keyboard controls, local worker export and honest local fallback.
See it on its own
Location
An address looked up and then finished by hand: a Base UI combobox whose box is the street line, the rest of the address in fields nobody has to accept as-is, one live region for the count and every refusal, and one hidden field a form can post.
See it on its own
Realtime
Who is in a room: a face pile that never outgrows its header, with a count that opens the rest as a searchable list, and the roster with what each person is doing — here, idle or away, in a dot and in words.
See it on its ownEverybody's pointer over your page: gliding on one frame loop, anchored to the content so scrolling never moves one off its target, resting pointers folding their names, chips on the edge for the ones scrolled away, follow, and a few words of chat at your pointer.
See it on its ownA room's chat that reads like a meeting: turns grouped by author, markers for arrivals and presenting, messages that wait through a reconnect and say when they failed, links, reactions, a typing line and a composer that grows. Nothing is kept.
See it on its ownThe door of a call: your own camera and microphone before anybody sees or hears them, a level that moves when you speak, the camera and microphone by name, the name you go in under, and who is already inside — then Join, with exactly that. Nothing joins the room until you press it.
See it on its ownA call laid out the way the room is shaped: tiles are tracks, so a shared screen takes the stage with everybody in a strip, a one-on-one floats you in a corner you can drag, Auto keeps the columns that show the most face, pins, Spotlight and Sidebar, rings that follow each voice, hands, reactions and Meet's shortcuts. Six is the mesh's honest ceiling.
See it on its ownA room for voices: a stage that talks and an audience that listens, hands raised into a queue only the host sees, invites that move a seat up onto the stage, rings that grow with each voice, push-to-talk on a held button or Space, reactions floating from the seat, deafen and a volume per person.
See it on its ownA whole call in one window: the door with your camera, microphone and name, then the call — faces laid out by the room, a shared screen on the stage — with the chat, the people and a whiteboard beside it one at a time, reactions, hands, captions and Meet's shortcuts. One room underneath all of it, so opening a panel never joins anything again.
See it on its ownA whiteboard several people draw on at once: an endless surface to pan and zoom, pens with real pressure, shapes, text and sticky notes to select, move and resize, a measure tool and rulers, a laser pointer, everybody's pointer, a minimap and an SVG export. Each person has their own view, tool and undo; every change reaches the others as it is made.
See it on its own
Transcription
A microphone beside a field somebody can also type in: the words go in at the caret, the hypothesis stays outside the field, a definitive version that disagrees with an edit is offered rather than applied, and a refused microphone says which refusal it was.
See it on its own
One command, every component. Each lands in your app as one file composed from the headless parts of the @slices.sh/* packages, with the config of the services it uses. Set up the registry once, below the command.
Tick a component above and the command to install it appears here.