Improving the importing experience
As a Product Designer at EasyPractice, I led the redesign of our client data import experience, a critical entry point for new customers migrating from other clinic management systems. EasyPractice's original import tool offered minimal guidance and feedback, often leading to user drop-off or escalations to support and engineering.
I was responsible for diagnosing the problem, designing a more intuitive multi-step import flow, and aligning the solution with our broader goal of being a fully self-service product.
When therapists switch products, they expect to bring their existing data, especially client records and clinical notes, into the new product with minimal effort. EasyPractice's existing import process lacked clarity and failed silently in many cases, causing frustration and increased reliance on our support and development teams.
This presented a clear opportunity: Improving the import flow could reduce onboarding friction, align with our self-service product philosophy, and free up internal resources. Better yet, it would allow new customers to see familiar data right away, accelerating product familiarity and time to value.
This initiative aimed to:
Success would be measured by:
1. Discovery and research
I began by reviewing user support conversations in Groove, our customer support tool. A clear pattern emerged: Customers attempting to import data often failed or became confused by the lack of guidance or error handling. Many gave up and contacted support, who in turn often escalated the issue to developers.
To supplement this, I gathered anecdotes directly from the development team, who confirmed that import failures were a source of engineering distraction. These insights made it clear that the problem was both user-facing and internal.
2. Definition and scoping
EasyPractice is intentionally designed to be self-service. Since we don't rely on sales teams or customer onboarding specialists, it's essential that new users can set themselves up with minimal friction. The inability to migrate client data smoothly was out of alignment with this strategy.
We scoped the problem down to 2 critical UX gaps:
Any solution had to solve these without introducing unnecessary steps or requiring user training.
3. Ideation and prototyping
I explored patterns from other industries, particularly CRM and marketing platforms, where importing lists is common.
This helped inform a simple, two-step enhancement to our import flow:
These patterns were familiar, intuitive, and low-risk to implement.
4. Iteration and validation
Once I created a prototype of the new flow, I reviewed it with the support and development teams. Their feedback helped clarify edge cases. I refined the UI to reduce ambiguity and ensure the experience felt lightweight and reassuring.
Though we didn't conduct external usability testing, internal validation and historical support data guided design decisions and ensured we were solving the right problems.
The redesigned import flow introduced clear, incremental steps to guide users through the process. With visual previews and a summary table, users gained confidence that their data was correctly formatted and understood by the system.
The import experience was embedded directly into the customer facing product, requiring no additional setup. No external documentation was needed, the flow was designed to be self-explanatory and supportive.
The redesigned import tool led to a drop in manual import requests submitted via Groove. As a result, the support team was able to focus on higher-impact work, and the development team was no longer burdened with import assistance.
Beyond operational relief, the improved UX better supported EasyPractice's mission to be a truly self-service platform. For new customers adopting the product, the ability to successfully import data on their own meant faster setup, less frustration, and a better early impression.
This project reinforced the value of solving "boring" but impactful UX issues. Improving imports didn't introduce new features, it just helped customers trust that their data was safe, understood, and in their control.
The work also validated the power of cross-functional empathy: Support tickets and complaints from developers weren't just noise, they were design signals. By solving a customer problem, we removed friction for both the customer and internal teams.