shadcn

shadcn · Launch Video Breakdown: Hook, Pacing & Motion Design

A Mac app for capturing things you want to keep and prompts you want to try next while working with AI.

ProductivityLaunchJuly 29, 2026@shadcn
0:00 · The Hook · AI Prompt Capture & Refinement
0:00 / 0:00

Scene-by-scene timeline & spoken transcript

  1. The Hook

    AI Prompt Capture & Refinement

    “(No spoken dialogue — The track begins with a sustained, evolving pad sound, creating an atmospheric and slightly mysterious mood. At [00:07], a subtle riser begins to build, leading into a percussive impact at [00:08].)”

    On screen
    What should we build? Choose project Do anything Full access 5.6 Sol Extra High RESEARCH Search Negation in inherited configs. The moment a config can extend a base or preset, someone needs to remove an extension the... CONFIGURATION FORMATS Add a note or a prompt (development) I'm exploring I'm exploring different configuration format... I'm exploring different configuration formats for a new developer tool. Show me a few approaches, explain the tradeoffs, and recommend one. Thinking Compare configuration formats Best qualities: • Excellent autocomplete and documentation. • Supports computed values, imports, conditions, and reusable helpers. • Very natural for a JavaScript/TypeScript audience. Tradeoffs: • Configuration becomes executable code. • Loading it requires a runtime or transpilation strategy. • Harder to consume from other languages. • Caching, sandboxing, reproducibility, and security become more complicated. • Users may put substantial application logic into the config. Recommendation Use TOML as the default declarative format, backed by a published schema and a command such as: sh tool config check
    Camera
    Static wide shot of a macOS desktop, then a close-up on the application window, followed by a subtle zoom out to reveal the full application interface.
    Motion
    Seamless UI interaction simulation with rapid text input, content generation, and dynamic highlighting. The camera subtly pans and zooms to follow the user's focus.
  2. Problem Agitation

    The Scattered AI Workflow

    “(No spoken dialogue — A rhythmic, arpeggiated synth melody and a driving sub-bass line begin. Another significant riser occurs at [00:15], culminating in a powerful sub-bass drop and impact at [00:16], accompanied by a bright, shimmering synth chord.)”

    On screen
    ChatGPT. Claude. Cursor. Chrome. Apps. Chats. Tabs. Everywhere. Declarative configuration with plugin extensions matcher, or a conditional. Then you're Babel going from .babelrc to babel.config.js, or ESLint's multi-year flat config migration. The hybrid – JSON with a JS escape hatch – is the worst outcome, because every consumer of the file (editors, your own CLI, other tools, agents) has to handle both shapes and can no longer statically read the config. Validation happens after side effects. You can't validate options for plugins you haven't resolved yet. So either extensions ship their own schemas (a format you now own and version), or bad config surfaces as a runtime error inside someone else's code. This also kills the autocomplete story, which is usually the main reason to go declarative in the first place. Provenance drift. extensions: ["foo*"] declares intent but not origin. npm? your registry? a path? a URL? The dependency graph now exists in two places and they diverge. You've already got the right instinct with lock-file integrity – extensions need to land in the same resolution and integrity model as everything else, not a parallel one. Three things worth locking down before it ships: 1. A version field on the format. You will need it and you can't retrofit it. 2. An effective-config command ( config resolve --print or similar). Declarative config can't be console.log(); without a way to see the merged result, every support thread becomes archaeology. 3. Whether extensions may contribute top-level fields or are confined to their own namespace. Allowing it is convenient for about six months. The deeper question is whether "extensions" is one concept or several – a thing that transforms config, a thing that adds capability, and a thing that just registers assets here have very different composition rules, and one array flattens them into a single ordering problem. Outputs Create a file or site Sources Attach files or connect apps Search RESEARCH Negation in inherited configs. The moment a config can extend a base or preset, someone needs to remove an extension the... CONFIGURATION FORMATS Use TOML as the default declarative format, backed by a published schema keep the core configuration declarative even if you later add an optional TypeScript escape hatch Add a note or a prompt (development)
    Camera
    Rapid cuts between full-screen text overlays and close-ups of the application's sidebar, emphasizing the problem of scattered information.
    Motion
    Fast-paced text reveals with a subtle bounce, combined with quick UI element highlights and a 'snap' transition between scenes. The sidebar content scrolls and updates dynamically.
  3. Product Reveal

    Consolidate Your AI Prompts

    “(No spoken dialogue — The energy continues to build with additional percussive elements and a more pronounced synth melody. A dramatic sweep and riser starts at [00:23], leading to a strong sub-bass impact at [00:24].)”

    On screen
    Write down the prompts already in your head, but not ready to send. keep the core configuration declarative even if you later add an optional TypeScript escape hatch Negation in inherited configs. The moment a config can extend a base or preset, someone needs to remove an extension the... Three things worth locking down before it ships: How should configuration How should configuration migrations work? Should plugins own th
    Camera
    Focus shifts to the sidebar, demonstrating the capture of prompts. The camera zooms in on specific UI elements as they are interacted with.
    Motion
    Smooth, deliberate cursor movements and clicks. Text input appears with a typewriter effect. UI elements expand and collapse with a gentle spring animation, emphasizing ease of use.
  4. Feature Teaser

    Seamless Integration & Productivity

    “(No spoken dialogue — The track then transitions into a more intense, driving section with layered synths and a consistent, pulsing rhythm. A final, extended riser and sweep begins at [00:40], building to a climactic sub-bass drop and impact at [00:42], followed by a sustained, resonant synth chord that fades out.)”

    On screen
    Send them to your chat with one shortcut... How should configuration migrations work? Should plugins own their configuration schema? Add a note or a prompt (development) Copy Copy as List Mark as Done Space Expand Edit Edit in New Window Merge Notes Move to • Paths resolved relative to the configuration file. • A command that prints the fully resolved configuration. Choose something else when the audience changes: Situation Best choice Primarily hand-written, cross-language tool TOML Primarily machine-generated configuration JSON Existing infrastructure/CI ecosystem YAML JS/TS-only tool where computed configuration is essential TypeScript My strongest recommendation is to keep the core configuration declarative even if you later add an optional TypeScript escape hatch. It is much easier to add programmability than to recover portability and predictability after executable configuration becomes the default. 1. How should configuration migrations work? 2. Should plugins own their configuration schema? Full access 5.6 Sol Extra High Merge Notes Local Files Sections No Tracking Markdown No Account Copy as List Free Updates Search Keyboard-First Custom Shortcuts Native Mac App shadcn.com/copper
    Camera
    Dynamic sequence of UI interactions: right-click menus, drag-and-drop, and rapid scrolling. The camera maintains a close-up on the application, occasionally zooming out for context.
    Motion
    Contextual menu animations with a subtle fade and scale. Content appears to 'snap' into place. The final scenes feature a rapid montage of key features presented as bullet points, each appearing with a quick, crisp animation, culminating in a bold call to action.

Related Productivity Product Launches

Explore all Productivity launches →
Claude
Hook 9.249.8M
ClaudeProductivity

Anthropic introduces Cowork, which brings the Claude Code way of delegating tasks to everyday, non-technical work.

@claudeai
Wispr Flow
Hook 9.319.4M
Wispr FlowProductivity

Don't type, just speak. Flawless voice-to-text across every app at 240 WPM.

@tankots
Zaro
Hook 9.27.5M
ZaroProductivity

One workspace for knowledge scattered across Slack, email, Docs, and Notion. Connect your tools and build apps and agents that stay live with your data.

@ZaroAI_