SCISPOT INTERNSHIP

Streamlining data import and ingestion for scientists

CONTEXT

Scispot is a platform where wet-lab scientists can automate their laboratory operations.

They’ve built a tool called “Labsheets” (think Spreadsheets) where users can manage their sample and inventory data in one place.

Role

Product Manager/Designer (Me)

Time

1 week

Team

3 Software Engineers

THE PROBLEM

Scientists often collect hundreds of rows of data across varied formats. They struggled to import this into Labsheets because of inconsistent column structures, invalid rows, and mismatched data.

These issues cause a lot of pain to customers because of the amount of wasted time in lab operations.

MY IMPACT

As the sole designer on this project, I lead product scoping and design for a brand new data ingestion tool.

V1 shipped to 100+ labs on Scispot's platform

 CURRENT EXPERIENCE

The current import experience is unintuitive, outdated and full of errors.

When users import CSV columns into an existing labsheet with columns, the mapping process is unclear. By default, all columns are marked as "ignored" without any explanation. After initiating the import, users aren’t alerted to data errors until the import is complete, leaving them with empty rows and no indication of what went wrong. Scispot has received dozens of complaints from customers about the broken UX.
❌ Oudated UI Design
❌ Unable to create new columns in import process
❌ Unclear what "source" and "target" columns mean
❌ No chance for users to fix import mistakes

RESEARCH

Based on previous customer feedback collected from the Customer Success team, I focused on these key areas in the new redesign:

01 | Scientists must be able to map new CSV columns to existing columns.
02 | Errors in the import process must be easily identifiable and fixable.
03 | Users want clear visibility into the status and progress of their import.

FEATURE #1

How might we allow scientists to map their columns?

Scientists work with dozens of columns, so we implemented AI to recommend CSV column mappings to existing columns, reducing the need for manual work. I initially hypothesized that users were very careful about their data import and wanted to review every column, so I explored having users review and approve each mapping pair. After gathering user feedback, this approach was redundant since most columns would have similar errors (like empty rows or columns). Instead, we streamlined the process by displaying the mappings in a table.

VERSION 1

Review & Approve AI column mappings

CHOSEN

Auto-map columns

Presenting the "ignore" column option

I explored how to let users ignore specific columns during the mapping process. Initially, I used checkboxes to have users select columns for import, but the phrasing was unclear and led to confusion. To simplify the experience, I switched to a dropdown menu with a "Do not import" option, allowing users to easily exclude columns without ambiguity.

FEATURE #2

There were 20+ error use cases that could occur in the import process. So, I worked with engineers to define the UX behind each case.

Notifying scientists about every data error and asking them to resolve each one is overwhelming and redundant. We categorized the error cases into two groups: the first includes errors that affect data validity, such as duplicates, while the second consists of minor issues like empty rows that can be handled in the background.
Requires user's attention
  • Duplicate Ids
  • Type adherence errors
  • Empty file
  • Invalid file size
No attention required
  • Auto-id population
  • Duplicate column names
  • Empty rows
  • Empty columns

How might we allow users fix their conflict errors?

To streamline error resolution during data imports, I collaborated with engineering to leverage AI in addressing data conflicts, reducing the need for users to manually fix and reimport data. I explored two interface approaches: the first involved hovering over each error to resolve it line-by-line, and the second provided a side panel for bulk error resolution. I opted for the side panel approach, as it minimized visual clutter and allowed users to resolve similar errors in groups, significantly saving time and improving usability.

VERSION 1

Resolving errors line by line

CHOSEN

Resolving errors in bulk

Making import confirmation alerts visible

Since data imports can take up to an hour, it was essential to notify users when the process was complete. I initially considered using a notification bell message but found it ineffective due to limited visibility among other alerts and insufficient space for detailed error information. Instead, I chose a toast notification, which appears prominently at the bottom of the screen, providing clearer messaging and a direct call to action to download the error report without disrupting the user’s workflow.

VERSION 1

Notification message

CHOSEN

Toast notification

REFLECTIONS

Learnings from designing a technical product

Prioritize Progress Over Perfection
Developing a structured data import tool was essential for streamlining lab operations, but the process wasn’t always straightforward. I often felt rushed, uncertain, and aware that the UX could be improved. However, I learned that delivering a workable v1 quickly is more valuable than holding back for a perfect solution. Early feedback is crucial in iterating toward a more refined, effective experience.
Design for the "lazy" user
A product can look visually stunning but still fail to meet user needs. One key insight from the CPO at Scispot was to focus on designing for the lazy user — the person who wants the quickest, easiest path to completion. This approach pushed me to simplify interactions, minimize friction, and prioritize essential actions that make users’ lives easier, especially in high-stakes lab environments.

READY FOR ANOTHER MUSEUM EXHIBITION?

Facilitating meal donations for 15,000+ kids across Canada