June 8, 2022

⏳ All products aren't created equal: Empty and filled products

Discover folk - the CRM for people-powered businesses

All products aren't created equal. Some products are "Filled": integrating external data into the product is a prerequisite to delivering value to the user. If this may create strong initial challenges for the software development team — and longer development cycles — it can drive high value for end-users and significant barriers to entry for incumbents. As a Filled product, folk faced these typical challenges. From day 1, we integrated with communication sources and imported users' interactions (emails, calendar events). To the 5,000 pilots on the waiting list, thank you for your patience, we're adding value day by day. It will be worth the wait.

The goal of any product team is to create value for its end-users. Teams keep this in mind at every stage of the development process. However, each process is different depending on how the product will consolidate data and content. Two product families emerge:

About Empty products

These products work as standalone. Value resides in the way the user creates content in the product. There is no initial integration that conditions the user journey. These products exist to contain data. It applies to various product categories:

  • Note-taking apps, e.g. Notion, Slite
  • Product/Project management apps, e.g. Asana, Trello, Cycle, Jira
  • Presentation tools, e.g. Pitch
  • Task managers, e.g. Todoist, Wunderlist, Kairn
  • Communication tools, e.g. Slack, Aircall

About Filled products

These products take their value only after importing, aggregating and consolidating external data from other products or APIs. Integrations are in that sense a cornerstone of the user journey and an early focus for product development teams. These products inherit already existing content, they include various Client software:

  • Communication & messaging clients, e.g. Front, Superhuman
  • Calendar clients, e.g. Sunrise (RIP), Cron
  • Contact management clients, e.g. folk
  • Data visualization tools, e.g. Tableau, Data Studio, Forest Admin

After the first few years of product iterations, the difference between Empty and Filled products tends to blur - that's especially true for successful products. In our emerging API economy, every successful team will end up developing integrations.

But, in the early days, even before product-market fit, this distinction is significant and imposes additional challenges on the development team.

All products aren't created equal: The perilous path to filled products

All products aren't created equal. Great product teams know it. Inequalities are various and exist in the complexity of features needed, the complexity of the product's technology or in the strength of the incumbent products in place.

Developing a Filled product adds hurdles to the initial software development process. Filled products integrate input data from various sources, they're in that sense clients. Relying on external data poses three types of challenges:

Admin & Legal

It all starts by getting the input. Input data doesn't live in a vacuum. It's hosted by a mother company that should have developed an API. Getting access usually involves lengthy administrative and legal procedures before closing a deal. Take Gmail API. They require products to go through a third party security assessment that may cost from $15,000 to $75,000. Solutions often come down to investing time and/or dollars to close the partnership. That's what we did with Gmail for folk.


  • Heterogenous data — Data is now in. Potentially from various sources. It's structured differently depending on the source. Take Front, they had to integrate emails sent, Twitter messages, WhatsApp messages, etc. Data teams will need to make sure all data points collected are uniformized.
  • Duplicated data — Multiple data sources should also result in duplicates. Having duplicates in our experience will create redundancy. This calls for deduplication. So that one data point equals one occurrence.
  • Inaccurate data — Input data may also contain errors. Cleaning external data by getting rid of inaccurate data points is a prerequisite for providing a good experience.
  • Irrelevant data — After integrating this external, heterogeneous, and potentially duplicated data, it needs to be treated in a way that's relevant to the user. In Empty products, the data is user-generated so there isn’t any concern about the relevancy of the content. In Filled products though, the challenge is to make it relevant.

Dealing with these challenges will require building a data team — with data engineering skills — and a data infrastructure (including a data lake) to collect, host and treat data received. This is also an additional cost to bear in mind.

User experience

  • Trust — Building trust with users is a tedious process, especially for Filled products. A user is familiar with their own data, so there’s little room for mistakes when it gets synchronized on the software. Any data loss or data alteration will be fatal to the already fragile trust you’re trying to build and will inevitably result in churn. Trust is hard to build and easy to lose.
  • Performance — Large amount of data may flow into the product. Filled Product teams will have to ensure infrastructure can bear the load of importing external data while keeping performance at the highest standard.
  • Discoverability — With the large amount of data imported, every data point needs to be discoverable. This creates a need for additional features, such as categorization and search. Data discoverability isn't an issue for software where content is user-generated.

To conquer without danger we triumph without glory

While most development teams agree that the path to a Filled product will be paved with challenges, end-users are not necessarily aware of that. Their expectations for the product won't be any lower. And so, overall product quality - design, speed and features - must stay at the highest standards to delight your customers.

Given all these obstacles, you're probably wondering why the hell we're launching a Filled product then?

Yes, it's a big undertaking. But it has significant game-changing product value for users:

  • Lower time-to-value — When the onboarding is done, the user already has all his data on the product. Users can be fully operational right as they get started on the product, as opposed to Empty products where users need to input content progressively. On Superhuman, you’re able to start using the software right after your onboarding, since all your email data is already in.
  • Data-driven product — From day 1, a Filled product contains large amounts of data. It's a great fertile ground for building smart features powered by data analysis. On folk, from the day you get onboarded, we'll be able to detect your duplicates, identify irrelevant contacts, and score relationships you have with your contacts given your interactions with them. Delivering these smart features will create a wow-effect even for your earliest users. The culmination of a data-driven product is to build a "canonical" database, i.e. leveraging the same data points used by several users to provide a network effect. This is a complex process but one that will help build a moat.
  • Single source of truth — The Filled product centralizes a specific set of data (contacts, emails, etc) and becomes your primary source of truth. Any update from other data points will propagate in the Filled product. Users now have a go-to software for performing a given task. For instance, no matter the communication channel (Twitter, Emails, Whatsapp, etc), I go to Front to interact with all my customers.

It's quite clear why Filled products are so great. Users rapidly understand their value (better conversion!) and will adopt them for longer as they benefit from unique data advantage and a single source of truth (so lower churn!).

The hard thing about hard things

Among the 25 startup projects we've launched at eFounders, only a few are "Filled" products by design - Mention, Front, Forest Admin and Upflow.

Folk is the newest addition to this family. And like our other “Filled” products, developing Folk has its inherent challenges. Knowing there would be hurdles to overcome, we decided from the get-go to maintain the highest development standards and never compromise on product quality. Hard times may have delayed our launch, but these efforts aren’t lost. If well-executed, early integrations will fuel adoption and create game-changing product value. We are aiming for perfection. We promise it will be worth the wait.

Filled products are hard yes, but they’re great. The road may be full of struggle, but isn't it the hard thing about hard things?