AI UX PlaygroundNewsletterJoin 2K+ AI designers and PMs on Substack. New teardowns, patterns, and prompts as they drop.

Inputs

File Upload with AI Preview

After upload, show what the model saw: summary, thumbnail, extracted fields, before or as questions start. Attachments become inspectable context, not opaque blobs.

Interactive demo

Overview

How might we show what the model read from an attachment before send so uploads feel inspectable, not opaque?

When to use

  • ChatGPT-style composers where PDFs, spreadsheets, and images become prompt context.
  • Turns where the user should verify parse status, summary, or thumbnail before asking questions.
  • Products that mix attachments with text in one send without clearing other composer state.
  • Flows where parsing delay, failure, or partial read must be visible instead of silent.

When to skip

  • Tiny text pastes that do not need a preview card.
  • Virus-scanning delays that would block every send (show progress instead).
  • Binary blobs the product cannot meaningfully summarize.

States

Design parse feedback in the composer, not only a paperclip icon.

  1. 01

    Idle

    No attachment. Attach lives in the bar or + menu with a clear entry point.

  2. 02

    Attaching

    Upload or picker runs. A chip or card appears with filename, type, and size.

  3. 03

    Parsing

    The product reads the file. Progress or a scanning state proves work started.

  4. 04

    Preview ready

    Summary, thumbnail, or extracted fields show what the model understood. Send unlocks when parse succeeds.

  5. 05

    Composing

    Prompt text and preview coexist. Remove control clears the file without resetting the whole composer.

  6. 06

    Failed

    Parse or scan errors surface plainly with retry or remove. Do not let send proceed on unread content.

Key UX elements

The parts that must be present for attachments to feel trustworthy pre-send.

Attach

Make upload reachable from the composer.

Paperclip, + menu row, or drag target should sit where people already type, not in a separate screen.

Chip

Show filename and type at a glance.

A removable chip or card beats a hidden attachment that only appears after send.

Status

Expose parsing progress and errors.

Scanning, ready, and failed states should be visible before the model answers from the file.

Preview

Summarize what the model saw.

Short AI summary, first-page thumb, or key fields let people catch wrong files early.

Gate

Block send on unread or failed files.

Do not ship turns that depend on content the parser could not read.

Rules

  • Attachments with only a filename and no parse status.

  • Previews that hallucinate contents not in the file.

  • Failing silently when parsing fails.

  • Including file bytes in share links without permission.

Evidence

ProductImplementation
ChatGPTFile cards with analysis status in the composer.
ClaudeDocument uploads with readable context summaries.
NotionImported files with AI-assisted previews.
Google DriveAI overviews and previews on stored files.

Real-world examples

See all

FAQ

What should an AI file preview show?

Type, size, parse status, a short summary or first-page thumb, and remove control, before the model answers from it.

When is preview ready enough to ask questions?

When parsing succeeds or the user explicitly continues with partial context. Block claims that require unread pages.

How does this relate to multimodal input?

Multimodal covers mixing modalities in one turn. File upload preview is the affordance that makes file context trustworthy.

What if parsing fails?

Say so, offer retry or remove, and do not pretend the model read the file.