Projects Versioning

Product design

ux research


To continue empowering users' creative process, we introduced Project Versioning—a feature designed to help creators never fear losing progress or making a misstep again. It was built as their safety net!

business goals

Enhance user engagement and retention by offering a new feature that encourages them to progress in their work by saving multiple versions. Reduce the support overhead by decreasing the amount of support requests related to lost work, or accidental changes. There is also a monetization opportunity by creating premium or pro tiers where users get more versions and backups.

design goals

Designing a user-friendly and intuitive version feature for technical and non-technical users Create good communication around upgrading to premium features (reaching limits, upgrading, different tier designs)


What do creators do when wanting or needing to preserve a milestone?

We selected a cohort of active creators with multiple apps published and noticed that creators often make copies of their projects to help preserve a milestone in their app-building progress. A few reasons stood out: completing a large portion of the design or functionality work, preserving a working snapshot of the app, preparing a backup in anticipation of a proposed change failing (when testing complex functionalities), etc. 3 things stood out from the data collected.

messy saving process

The workaround solution to save copies to manage versions often result in messy copies with varying names, that are unidentifiable.

Unclear progress or sequencing

It is difficult to sequence and track progress with this method, as opening a project makes it the latest modified.

No option to plan backups within designer

While building a project, users do not have the option to do a backup, which results in interrupting their building experience.


After analyzing the data, it became clear we needed to simplify this process by enabling versioning within the Drag-n-Drop projects.

jobs to be done

When trying to save progress within a projects, users struggle to save a version or backup of their apps, so that they can have more control over their creative building process


Entry point and layout of the new feature

Firstly, I figured out the touchpoint and point of entry in the builder before diving in more granular changes. The main considerations were:

  • The left side panel is where navigation and drag and drop tools are located, so the right side panel where settings, admin task like sharing, and publishing are made sense to locate the entry point.
  • The design tapped into affordances from google products where users are familiar with the entry point


Creating, viewing, restoring and deleting a snapshot

  • The challenges were to create a good hierarchy for the information to be displayed including the version details, the interactions for deletion and restoration, as well as the plan limits and other empty states.
  • Some more granular details like text truncation, user support like tooltips, or expectations around restoration and deletion


Plan limits, auto versioning and upgrading

The challenge here was to align our business goal with a user-friendly approach, ensuring all users, including those on lower-tier plans, feel included. To achieve this, I employed clear communication strategies, including:

  • A dynamic progress bar that changes color when reaching the plan limit and a version count to reinforce this limit's significance.
  • Used the platform notifications banner to support users understanding what were the results of their actions.
  • Disctinction between auto versioning and created versions


The project, being part of multiple broader efforts from a business and design perspective, was successful in the most important metric we set: decreasing support requests connected to the loss of work. This new feature had a direct impact and reduced these intercom requests by 26% in the first 2 months.


While the design solution itself wasn't highly complex, the true challenge laid in addressing various user touchpoints and edge cases. Whether it was optimizing the upgrading process, providing clear information about plan limits, or streamlining versioning actions, the potential for user frustration was a constant consideration. My goal was to empower users with a seamless experience, and overcoming these challenges was key to achieving that goal.