Skip to content

Recipe R07

The AI Workspace

An AI application: conversations, a model choice, visible reasoning, cited answers and a composer.

Teams building an assistant, research tool or internal AI product.

The page, section by section

  1. 01

    History grouped by time; collapsing turns titles into initials rather than hiding them.

  2. 02

    Models compared by speed and depth, so the choice is informed.

  3. 03

    What the assistant is doing, one line at a time, open for detail.

  4. 04

    Every sentence carries its sources; hovering a citation lights the source card.

  5. 05

    Answer actions

    Message Actions

    Copy, retry through versions, and feedback with a reason.

  6. 06

    Attachments tuck into the composer's top edge like folder tabs; model and send stay in reach.

The build brief

Paste it into Claude, Cursor or ChatGPT with the component files, and ask for your own version: your name, your work, your product. It names each component and where to copy it from.

# Build brief: The AI Workspace

An AI application: conversations, a model choice, visible reasoning, cited answers and a composer.
For: Teams building an assistant, research tool or internal AI product.

## Direction
- Paper palette: warm off-white (#f5f1e8) with ink text and a restrained serif for the assistant's answers.
- Show the work: reasoning as a line you can open, answers with numbered sources that highlight on hover.
- Chrome stays quiet so the conversation is the interface.
- Everything works on a phone: the sidebar collapses to a rail or goes full width.


## Page map
1. Conversations: Conversation Sidebar. History grouped by time; collapsing turns titles into initials rather than hiding them.
2. Model: Model Picker. Models compared by speed and depth, so the choice is informed.
3. Reasoning: Thinking Trace. What the assistant is doing, one line at a time, open for detail.
4. Answer: Cited Answer. Every sentence carries its sources; hovering a citation lights the source card.
5. Answer actions: Message Actions. Copy, retry through versions, and feedback with a reason.
6. Composer: Prompt Composer. Attachments tuck into the composer's top edge like folder tabs; model and send stay in reach.

## Components
Copy each component's files from its page (Code tab) into your project before you start, and use them as given: change props and content, not internals.
- Conversation Sidebar: https://tryvitrine.dev/components/conversation-sidebar (A chat history sidebar grouped by when, not what — it collapses into a narrow rail where each conversation becomes its initials, and titles can be renamed in place.)
- Model Picker: https://tryvitrine.dev/components/model-picker (A model switcher that tells you what you're trading: each model shows two quiet meters — speed and depth — and the selection mark slides between rows while the trigger's label rolls over.)
- Thinking Trace: https://tryvitrine.dev/components/thinking-trace (A reasoning status that shows its work without shouting: the current step shimmers across its own words with a live timer, and the line expands into the steps already done, each with its duration.)
- Cited Answer: https://tryvitrine.dev/components/cited-answer (An AI answer whose citations work both ways: point at a number and its source lifts out of the row above; point at a source and every sentence it supports is underlined.)
- Message Actions: https://tryvitrine.dev/components/message-actions (The quiet row under an AI reply, where every action has its own honest micro-state: copy becomes a check, retry turns once and adds a version switcher, and a thumbs-down asks one short question.)
- Prompt Composer: https://tryvitrine.dev/components/prompt-composer (A chat composer where attached files tuck into its top edge like tabs in a folder — they rise from behind it when added and sink back when removed.)

## Build
- Next.js (App Router), TypeScript, Tailwind CSS. No extra UI libraries.
- Write real content for this site: real names, dates, numbers and sentences. No lorem ipsum, no "Feature one".
- Compose the sections in the order of the page map. Keep each component's own spacing; add page rhythm with consistent section padding.
- Mobile first: every section must work at 375px wide without horizontal scrolling.
- Respect prefers-reduced-motion everywhere; every Vitrine component already does.

## Before you ship
- Run `/template-tells` (https://tryvitrine.dev/workshop/skills/template-tells) on everything you wrote yourself: copy, sections, styles.
- Run `/responsive-audit` (https://tryvitrine.dev/workshop/skills/responsive-audit) at 375, 768 and 1280.
- Run `/accessibility-pass` (https://tryvitrine.dev/workshop/skills/accessibility-pass).
- Run `/performance-pass` (https://tryvitrine.dev/workshop/skills/performance-pass) on a production build.
- Run `/technical-seo-audit` (https://tryvitrine.dev/workshop/skills/technical-seo-audit) and `/seo-auditor` (https://tryvitrine.dev/workshop/skills/seo-auditor) before launch.

Direction

  • Paper palette: warm off-white (#f5f1e8) with ink text and a restrained serif for the assistant's answers.
  • Show the work: reasoning as a line you can open, answers with numbered sources that highlight on hover.
  • Chrome stays quiet so the conversation is the interface.
  • Everything works on a phone: the sidebar collapses to a rail or goes full width.

Featured

301 components