The MOSTLY AI Assistant home screen

Designing the AssistantFrom manual to conversational

Overview

MOSTLY AI could turn sensitive data into safe synthetic data. But only technical specialists could use it. Analysts, PMs, and domain experts, the people who understood the data best, were locked out behind configuration screens and Python.

I led the design of the Assistant from early vision to launch, then through the iteration that made it the platform's primary interface.

Role

Head of Product Design

Duration

Feb 2024 – Dec 2025

V1 shipped Apr 2024

Collaborators

Product Management

Engineering & ML

AI Research

UX Writing, QA

Tools

Figma

Cursor

Claude Code

The problem

Only specialists could use the platform

Every insight needed Python or a data team. Most people just waited.

Data
Scientists
Data
Engineers
Business
Analysts
ML
Engineers

Users left the moment they got their data

Generate, export, gone. Nothing brought them back.

Train model
Generate data
Export
Leave

The bet

One interface, many problems solved

Conversation didn't fix one thing. It collapsed five separate problems into a single bet.

Config had a ceiling

Years of refinement couldn't make setup screens simple enough.

No reason to return

Users generated data and left. No consumption layer, no stickiness.

Mock data had no home

Prompt-and-refine didn't fit config screens. The feature would get buried.

Two products, one team

Public and enterprise needs were splitting the roadmap in two.

AI in the name, not the product

The brand promised intelligence the interface never delivered.

Conversation as the interface

Describe what you need in plain language. One surface that scales from analyst to data scientist, public to air-gapped.

How it works

Conversation, separated from computation

The model handles language, never your data. Real code runs the analysis in an isolated environment, and returns a result you can verify.

Show me correlation between age and purchase behavior
LLM Layer (BYOM)

Conversation handling only

Orchestrator/Broker
  • Manage compute allocation
  • Spins up isolated Python kernels
  • Routes operations to DataLLM
  • Uses or creates platform entities
DataLLMproprietary model
  • Generates Python code
  • Produces mock data
Python Kernel
  • User's actual dataset loaded
  • Execute DataLLM code
  • pandas, matplotlib, seaborn
Thinking

Designing the experience

Conversation took the center

The old homepage made you pick a path before you knew what was possible. The new one just asks what you need.

Assistant homepage — before and after the conversational redesign

A blank input is a wall

An empty box is intimidating. You don't know what to ask, so the box shows you, cycling through what's possible while the conversation starters adapt to who's asking.

How can I assist you today?

The starters aren't fixed. Broad for newcomers, personal for returning users, surfacing the connectors and actions they reach for most.

Showing what's possible, mid-sentence

As users type, the Assistant reveals what it can do, and surfaces new features the moment they ship.

alexichim/New chat
Hey, I just signed up. What can you actually help me with?
Happy to help! I can pull insights from your data, enrich it with new columns, or generate privacy-safe synthetic data. Upload a file to start.
user_data.csvCSV

Show suggestions
Custom instructions
Manage secrets
Notion
Google Drive
Add integration

Frequent for newcomers, off for experts. New features reach everyone, whatever their settings.

The whole job, inside the conversation

Connect a source, ask in plain language, and the Assistant builds, trains, and hands back results you can inspect. No screens, no leaving the chat.

alexichim/New chat

Ask anything…

Real platform objects — connector, generator, synthetic table — pulled into the chat, recognizable at a glance.

Show the work, not just the answer

Trust came from transparency, not polish. Every answer unfolds its reasoning step by step, with the real Python one click away, then folds back into an auditable trail once it's done.

alexichim/Customer churn risk analysis

Steps stream in as they run — plain-language reasoning, the exact code one click away. When it's done, the trail collapses to keep the chat clean, still there to inspect.

Where conversation wasn't enough

Some work still lived in complex configuration screens. So the Assistant came to those screens, reading the settings, understanding intent, and changing them directly.

alexichim/Customer data
Step 2/2Model configuration
Presets
Assistant

HowcanIassistyoutoday?

Ask anything…

The user described a worry in plain words. The Assistant named the right control, turned it on, and the real settings updated in view, each AI change marked.

Never wonder if it's working

Each conversation runs its own Python kernel, which takes time to start and costs real compute. So both were always visible, never a black box.

user/Chat
Python session statusInitializing
Spinning up a dedicated Python kernel.
Compute consumption
Tokens used:
Virtual CPU Time:
Virtual GPU Time:
Usage report

Design solved latency perception before engineering solved latency. Live status turned dead wait time into visible progress.

What usage revealed

Launch was the start, not the finish. Watching real use surfaced the next round of work.

Sharing, built in

Usage analytics showed people exporting artifacts from the chat one by one to share them outside the platform. So the conversation learned to package itself.

alexichim/Churn analysis
Ask anything…
Artifacts/Churn dashboard
Share
Customer churn — overview
Last 7 months · updated just now
Churn rate
4.2%+0.4
At-risk users
1,284+96
Avg. idle days
34−2
Monthly churnTrending up
3.1%3.5%3.3%3.9%3.7%4%4.2%
JanFebMarAprMayJunJul
Risk by segment
Enterprise trials
82%High
SMB month-to-month
66%High
Dormant free
56%Medium

A whole analysis became a shareable report, editable and public, without ever leaving the chat.

Permission before action

Some requests were too consequential to run blind, pulling live external data, combining it with their own, building a report from it.

alexichim/Benchmark report
Ask anything…
Artifacts/Benchmark report
Share
Churn benchmark — you vs. industry
Q2 2025 · SaaS · 200–1,000 employees · 412 companies
Your monthly churn
4.2%
+1.1 pts vs median
Industry median
3.1%
SaaS · 200–1k employees
Top-quartile target
1.8%
Best-in-class
Churn by segment — you vs. industryAbove median
5.4%
3%
Enterprise
4.1%
3.2%
Mid-market
3.6%
3.4%
SMB
6.2%
4.1%
Self-serve
YouIndustry median
Where you stand
MetricYouMedianTop 25%
Monthly churn4.2%3.1%1.8%
Net revenue retention98%104%118%
Avg. customer lifetime2.3 yr3.1 yr4.6 yr
Expansion rate11%14%22%

For high-stakes work, the Assistant proposed a plan first. Nothing ran until the user said go.

Economics that scaled

Heavy adoption pushed compute past projections. The free model that drove growth wasn't sustainable on its own.

alexichim/Churn analysis
Turn this churn analysis into a dashboard I can share.
Worked for 4s · 4 steps

Done. I packaged the analysis into an interactive report — editable and ready to share.

Churn dashboard
Interactive report · HTML
Open
Ask anything…

A Pro tier protected free exploration while making the economics work.

Outcome

Conversation became the platform

77%

The Assistant became the primary way people used MOSTLY AI.

4.5x

People used to generate their data and leave. Now they stay to analyze and build.

10x

From a handful of technical roles to anyone with a question about data.

Executives
Product
Managers
Domain
Experts
Sales
Teams
Compliance
Officers
Marketing
Teams
Business
Analysts
Data
Scientists

The roles once locked out now work through the Assistant — alongside many more it never used to reach.

What I learned

Show the work, don't just deliver it

Transparency built trust faster than accuracy did. Users who could see the reasoning and the code became power users. The ones who couldn't stayed skeptical.

Design for the middle, not the edges

Optimizing for experts shut everyone else out. Optimizing for beginners felt patronizing. The product worked when it served people with intent but incomplete knowledge.

Conversation has limits, and naming them is the job

The bet was conversation everywhere. The truth was that complex configuration still needed real screens. Knowing where not to apply the idea mattered as much as the idea.

The real shift wasn't access to data. It was who got to ask the questions.