Accelerating Insights with Context-Aware AI

When enterprise teams moved to the cloud for speed, their most valuable users, data scientists and analysts, were slowed by fragmented tools and operational overhead. As Lead UX Designer for the Data Notebook experience, I led the strategic design of the Data Agent, a context-aware AI system embedded directly into the workflow. By shifting discovery, setup, and orchestration from users to the agent while preserving human-in-the-loop control, we transformed low-value administrative work into insight-driven workflows. This work established a scalable and trustworthy interaction model for agentic UX, reducing friction for expert users and setting a new standard for AI-assisted data work at enterprise scale.

My Role - Lead UX Designer

My Role - Lead UX Designer

I led the end-to-end UX strategy and design for the Data Agent experience within the notebook environment.

  • Design Strategy: Defined the interaction models for AI-assisted coding, distinguishing between "in-flow" edits and "conversational" assistance.

  • Interaction Design: Designed the dual-pattern system (Cell vs. Chat) to ensure it felt native to the off-console IDE experience.

  • AI Guardrails: Worked with engineering to define how the agent presents citations and "human-in-the-loop" verification steps.

Timeline

Timeline

Aug 2025 - Nov 2025

Key Deliverables

Key Deliverables

SageMaker Unified Studio Notebook with Data Agent, featured at re:Invent 2025

The Problem Space

"I spend 40% of my time just looking up syntax or trying to remember which data catalog holds the customer records. I want to analyze data, not wrestle with the platform."

For the modern Data Pro, the cognitive load was unsustainable. Users faced three distinct barriers:

  • Boilerplate Fatigue: Significant energy was wasted on repetitive tasks—like writing standard SQL connections or visualization code—rather than unique problem solving.

  • Context Fragmentation: Users constantly context-switched between notebooks, data catalogs, and documentation just to understand schema relationships.

  • The "Blank Canvas" Paralysis: Starting a new analysis required a high barrier of technical AWS knowledge, intimidating users who were experts in data but not infrastructure.

Design Challenge

How might we design an AI agent that acts as a competent "pair programmer"—understanding the user's specific data context and intent—while ensuring the human remains firmly in control of the output?

Impact & Success Criteria

Since launching the pilot, the Data Agent has fundamentally shifted the workflow from "manual creation" to "review and refine."

Efficiency: 40% reduction

in boilerplate coding time and 2x faster onboarding for new team members.

Quality: 85% acceptance

for "Fix with AI" suggestions, proving the agent effectively resolves syntax and runtime errors.

Infrastructure Elasticity:

eliminated idle compute costs by implementing a "zero-state" architecture, enabling seamless scaling from GB to TB.

The Solution

We introduced the Data Agent, a domain-expert AI that lives inside the Data Notebook. Unlike a standard LLM, it is "context-aware"—it systematically explores data catalogs, business metadata, and active notebook variables to build context before generating code.

The "Do" Mode: GenAI Cell Experience

Context: For high-velocity, single-turn tasks.

The UX: Users can invoke the agent directly inside a specific notebook cell to "Fix this error" or generate a quick SQL query.

Impact: Removed the friction of syntax lookup, allowing users to "code at the speed of thought."

The "Discuss" Mode: Chat Panel Experience

Context: For complex, ambiguous problems requiring reasoning and planning.

The UX: Users engage in multi-turn dialogue (e.g., "Analyze customer churn"). The Agent acts as an orchestrator: it breaks the prompt into a multi-step plan, explains its reasoning, and generates the necessary code blocks.

Impact: Lowers the barrier to entry, helping analysts scaffold complex projects in minutes rather than days.

"The new SageMaker interface brings clarity and speed to the entire ML lifecycle. Its developer-friendly design has made our experimentation and delivery significantly faster"

Sachin Mittal

Product Manager, Deloitte

The Process


  1. Defining User Goals

Discovery & "The Trust Gap" Early research revealed a critical insight: Data Pros were skeptical of AI. They didn't want a "black box" generating code they didn't understand.

To ensure the Data Agent solved real problems rather than just showcasing technology, we started by crystallizing the core needs of our two primary personas. We found that while Admins needed control, Consumers needed freedom from syntax.

  • Data Consumer Goal: "I want to discover, explore, and get answers from my data quickly—without writing code."

    Insight: The primary friction point isn't the complexity of the data, but the "syntax tax" required to query it.


  • Admin Goal: "I want to create curated data collections so my team can easily reference the exact data needed for their analysis."

    Insight: Governance empowers discovery; clean data collections lead to better AI results.

  1. Strategy: The Unified Agentic Framework

To ensure the Data Agent solved real user needs, I mapped out four high-level interaction patterns that served as the blueprint for the AI's behavior:

  • Agentic Intent [Discover]: The user asks a question ("What were Q4 sales?"), and the Agent queries the data directly to return an answer.

  • Agentic Development [Build]: The user describes an outcome ("Build an ML pipeline"), and the Agent scaffolds the infrastructure and code.

  • Agentic Navigation [Guide]: The Agent acts as a contextual GPS, analyzing the current state to offer personalized next steps.

  • Unified Troubleshooting [Fix]: Moving from "error reporting" to "error resolution," proactively diagnosing syntax issues and complex Spark errors.

Strategic UX Flows

  1. Designing for "Human-in-the-Loop" Trust

A generic chatbot is useless if it hallucinates code that deletes data. We had to design for trust.

  • The Two-Stage Architecture: We utilized a "Planner + Code Generator" architecture. I designed the UI to visualize this "thinking" process, showing the user the Agent's plan before execution.

  • Execution Modes: I defined two distinct interaction models to balance speed and control:

    Run Step-by-Step: The default mode for complex tasks. The user reviews and approves each step of the plan individually.

    Accept & Auto-Run: A "hands-off" mode for routine, low-risk workflows where the user trusts the full plan.

  • Guardrails: We designed explicit approval states for "mutative actions" (like dropping a table), ensuring the AI could never perform a destructive operation without user consent.

  1. Establishing a Generative AI Design Language

As Lead Designer, I consolidated pattern guidance to establish a unified visual language for Generative AI across the platform.

  • Visual Affordance: I defined specific iconography and motion cues to help users instantly distinguish AI-generated suggestions from standard interface elements.

  • Interaction Taxonomy: I categorized interactions into Conversational Workspaces (for reasoning) and Inline Overlays (for quick edits), ensuring cohesive mental models across the entire product suite.

This framework ensured cohesive mental models and consistent behavior across varied product surfaces, balancing high-velocity tasks with deep analytical work.

Atoms on backgrounds

Decision framework for selecting the right interaction pattern

Pattern 1/6: AI identifier ingress

The GenAI ingress pattern establishes clear, identifiable entry points for users to access generative AI functionality within interfaces. It provides consistent visual language and positioning guidelines for AI triggers across different UI contexts, enabling users to easily discover, recognize, and engage with AI-powered features throughout an application.

Interactive elements

  1. In buttons

  • 1a: Primary button - No gradient (CTA color provides visibility)

  • 1b: Secondary button - Add gradient

  • 1c: Button in alerts - No gradient (match button text color)

  1. In input fields

  • Right side, vertically centered

  • Applies to all input types (dropdowns, text fields, etc.)

Containers and blocks

  1. In containers / content blocks

  • Upper right corner with margin

  • Never flush to edges

  • For headers: Right side of header row

  • Apply to each AI-generated block individually

  1. In icon group

  • Leftmost position in group

Complex components

  1. In data tables

  • Full table: Top right of header

  • Column: Right side of header (before sort icons)

  • Row: Far right, before controls

  • Cell: Inline, right of content

  1. GenAI panels

  • 6a: Header - Left-aligned with title (no gradient)

  • 6b: User messages - Right-aligned for clear distinction

  • 6c: AI responses - Left-aligned avatar

  • 6d: Mixed content (contains both AI-generated and human-authored content within the same interface or container) - Block-level indicators

Pattern 2/6: Full page chat

Provides a dedicated interface for users to engage in complex, multi-turn conversations with an AI assistant. This immersive environment dedicates the entire screen to the conversation, allowing users to focus exclusively on AI interaction without distractions. It's designed for scenarios requiring deep engagement, context retention, and rich media support, such as creative assistance, research tasks, and data exploration conversations.

Anatomy

  1. Welcome message

  • Display a clear introduction of the AI agent to set context

  • Show suggested prompts or examples to help users start the conversation

  • Use friendly, approachable language that reflects the AI's capabilities

  1. Prompt input

  • Position persistently at the bottom of the interface

  • Include controls for formatting, attaching files, and additional features

  • States:

    • 2a - Default: Empty input field with disabled send button

    • 2b - Active/Focused: Show gradient color for user interaction, and transform send icon to stop icon during AI response generation

  1. Legal statement

  • Position consistently in the chat below the prompt input or in the welcome message

  • Include link to responsible AI policy

  • Maintain visibility throughout the conversation

  1. Conversation history

  • Display chronological sequence of messages

  • Provide clear visual distinction between user and AI messages

  • Support scrolling and navigation through conversation flow

  1. GenAI responses

  • Present AI-generated content with clear visual hierarchy

  • Support multiple content types (text, code, data, chart, media)

  • Use distinct boundaries to separate responses

  • Maintain consistent formatting and styling

  1. Response controls

  • Attach consistently to each AI response

  • Include standard actions:

    • Feedback mechanisms (thumbs up/down)

    • Copy to clipboard

    • Regenerate response

    • Additional options (report, share, edit)

  • Source information or explanations when available

  • Position controls uniformly across all responses

Pattern 3/6: Side-panel chat

Provides AI assistance to users while allowing them to maintain context in their main workflow. This pattern features a persistent or toggle-able panel positioned on the side of the screen that preserves the main workspace while offering continuous AI support.

Anatomy

  1. Panel container

  • Dimensions:

    • Width: Default 400px, minimum 250px, maximum 800px

    • Height: Full viewport height

    • Resizable via drag handle

  • Panel header:

    • GenAI icon and chat title for clear identification

    • New chat button to reset conversation

    • Close/minimize controls

    • Visual separation from chat content

  • Behavior:

    • Preserves chat history during session

    • History cleared only on explicit user action

    • Maintains position and size preferences

    • Smooth resize transitions

  1. User message

  • Displays the user’s input as part of the conversation thread

  • Right-aligned bubble, visually distinct from AI response

  • Optional: use same avatar as the user (if profile system exists)

  • Serves as history/context for transparency

  1. GenAI response

  • Visually distinguishes from the user message with a consistent, left-aligned bubble

  • 3a - Agent Avatar (optional): Left-aligned icon distinguishing AI from user messages

  • 3b - Response content: Readable text or syntax-highlighted code output

  • 3c - Action controls: Copy, feedback, and regenerate options

  • 3d - Suggested prompts: Follow-up suggestions users can select or customize

  • 3e - Generation State: Progress indicator with cancel/stop controls

  1. Chat snackbar

  • Purpose: Temporarily surfaces response progress or decision-required states during AI interactions.

  • Use cases: Displays actionable options (accept, reject, cancel, run) and shows real-time progress indicators during AI content generation.

  • Placement: Anchored at the bottom of the chat panel, positioned directly above the prompt input field.

  • Benefit: Maintains immediate visibility of critical actions and status updates without interrupting the natural conversation flow or requiring users to scroll.

  1. Prompt Input

  • Purpose: Primary field where users compose or enter prompts to interact with the AI.

  • Placement: Fixed at the bottom of the chat panel, ensuring persistent and easy access throughout the conversation.

  • Use cases: Supports free-form text entry, structured commands, and quick insertion of suggested prompts or templates.

  • Benefit: Delivers a consistent, accessible entry point for initiating AI interactions, maintaining user focus while enabling seamless engagement.

Pattern 4/6: Code assist

Provides AI assistance to users while allowing them to maintain context in their main workflow. This pattern features a persistent or toggle-able panel positioned on the side of the screen that preserves the main workspace while offering continuous AI support.

Anatomy

  1. Cell controls: Interface elements for:

  • Running/executing code

  • Selecting code type (e.g., code, markdown, raw)

  • Initiating GenAI code assistance

  • Showing cell execution status

  1. Input mechanism:

  • Where users specify their intent through comments, natural language queries, or partial code

  • Shows a gradient border animation only during active/focused states when user interacts with the input

  • Returns to normal border state when not in focus or active

  • Provides visual feedback to indicate where users can input their queries or code

  • States and behaviors:

    • Initial state: Users can input and modify prompt before generate code

    • Generating state:

      • Prompt becomes read-only

      • Shows generating state

      • Provides option to stop generation

    • Generated state:

      • Prompt remains read-only

      • Actions change to:

        • Accept and run generated code

        • Accept generated code

        • Reject generated code

    • Code accepted state:

      • Hide the prompt input

      • Generated code becomes part of the notebook

  1. Code generation area:

  • Where AI-generated code appears, visually distinct from user code

  • 3a - Suggestion preview: Inline display of proposed code with appropriate syntax highlighting

  • 3b - Diff view: Visual representation of changes between current code and suggestion

  1. Feedback controls: Options for: Thumbs up (positive feedback), Thumbs down (negative feedback), Copy code, Regenerate code, etc.


  2. Code execution error state:

  • Occurs when code fails to execute

  • Shows execution error message

  • Provides "Fix with AI" action

Pattern 5/6: Inline overlays

Inline helper

Provides contextual assistance and validation that appears alongside text input fields. It offers immediate feedback, suggestions, and validation while users input content - ranging from technical identifiers to general descriptions. The pattern uses subtle indicators like icons, underlines, or popovers to provide guidance without disrupting the input flow.

Anatomy

  1. Input status and interaction indicators

  • Interactive elements that serve both as status indicators and action triggers

  • Visual cues showing which input have suggestions, pending content, or are being processed

  • Clickable indicators that reveal AI-generated content for review when selected

  • Different states include:

    • Available suggestion (clickable to review)

    • Processing/generating (non-interactive)

    • Error state (clickable to retry or see error details)

  • AI indicators are only visible for fields with pending suggestions

  • Once content is accepted, AI indicators are removed and the cell appears as standard content

  • Optional subtle animation for the transition from suggestion state to accepted state

  1. Ghost text: Lightly styled text showing the suggested completion


  2. Suggestion bubble

  • Contains the header section, editable generated content, and action controls

  • Appears near the relevant text

  • Visually distinct but connected to the original content

  • May include formatting that highlights changes or additions

  1. Generated content

  • Editable form field with generated content for preview

  • Regenerate option to get alternative suggestions

  • Multiple suggestions when applicable

  1. Quick actions

  • Accept button to apply the suggestion

  • Reject to ignore the suggestion

  • Cancel/dismiss button to close the suggestion interface

Table assist

Enables intelligent interaction with structured data, providing cell-level, row-level, or column-level assistance within familiar spreadsheet layouts. This pattern empowers users to receive AI-generated suggestions within tabular data contexts, helping them fill missing values, identify patterns, or apply formulas. The pattern creates a distributed research environment where each cell can function as a mini-agent contributing to the whole dataset, turning the grid into both prompt canvas and output viewer.

Anatomy

  1. Cell status and interaction indicators

  • Interactive elements that serve both as status indicators and action triggers

  • Visual cues showing which cells have suggestions, pending content, or are being processed

  • Clickable indicators that reveal AI-generated content for review when selected

  • Different states include:

    • Available suggestion (clickable to review)

    • Processing/generating (non-interactive)

    • Error state (clickable to retry or see error details)

  • AI indicators are only visible for cells with pending suggestions

  • Once content is accepted, AI indicators are removed and the cell appears as standard content

  • Optional subtle animation for the transition from suggestion state to accepted state

  1. Ghost text: Lightly styled text showing the suggested completion


  2. Suggestion bubble: Overlay showing AI-generated content, editable by the user


  3. Generated content

  • Editable form field with generated content for preview

  • Regenerate option to get alternative suggestions

  • Multiple suggestions when applicable

  1. Quick actions: Accept, reject, and cancel controls within the suggestion bubble


  2. Bulk action controls:

  • "Accept all" / "Reject all" buttons for efficient batch processing

  • Alert banner with instructional text explaining bulk actions (e.g., "Use 'Accept all' to apply all suggestions at once" or "Use 'Reject all' to dismiss all pending suggestions")

  • Visual confirmation of bulk actions with option to undo

  • Progress indicator for bulk operations on large datasets

Pattern 6/6: Feedback

The GenAI response feedback/controls pattern provides users with actionable controls after receiving output from a generative AI system. These controls enable users to copy content, provide positive or negative feedback, and request regeneration of content. This pattern helps create a more interactive experience with AI-generated content while collecting valuable user feedback.Anatomy

  1. Copy

  • Purpose: Copies the generated code or content to clipboard

  • Behavior: Should provide clear visual confirmation when copying is successful

  1. Thumbs up

  • Purpose: Allows users to provide positive feedback on the AI response

  • Behavior: Should visibly confirm feedback submission (e.g., checkmark with "Feedback sent" label)

  1. Thumbs down

  • Purpose: Allows users to provide negative feedback on the AI response

  • Behavior: Opens a lightweight, optional form for additional feedback details

  • Form characteristics: Should be dismissible, concise, and non-intrusive

  1. Regenerate

  • Purpose: Requests a new AI output for the same input

  • Behavior: Preserves prompt context but yields a fresh content variation

  • Indicator: Should clearly show that new output will replace current suggestion

  • Options: May include ability to stop generation in progress or undo after regeneration

Reflections

Designing the Data Agent reinforced that in the era of AI, context is king. The most beautiful UI fails if the AI hallucinates; conversely, a smart AI fails if the UI feels intrusive.

Our success came from respecting the user's expertise. We didn't try to replace the Data Scientist; we gave them a super-powered assistant that handled the drudgery. If I were to iterate again, I would push for even deeper visual integrations—imagine asking the agent to "explain this outlier," and having it highlight the specific data point on a graph instantly.

This project proved that when we remove the "technical tax" of the cloud, we unlock the true creative potential of our data teams.

Designing the Data Agent reinforced that in the era of AI, context is king. The most beautiful UI fails if the AI hallucinates; conversely, a smart AI fails if the UI feels intrusive.

Our success came from respecting the user's expertise. We didn't try to replace the Data Scientist; we gave them a super-powered assistant that handled the drudgery. By designing "Human-in-the-Loop" patterns—where the AI suggests a plan but the user holds the keys to execution—we turned skepticism into confidence.

Create a free website with Framer, the website builder loved by startups, designers and agencies.