This article was published on July 2, 2014

The race for right now: How to build a real-time commerce app

The race for right now: How to build a real-time commerce app
Gautam Golwala
Story by

Gautam Golwala

Gautam Golwala is a co-founder and the CTO of Poshmark. Using 15+ years of experience building scalable infrastructure for the web and worki Gautam Golwala is a co-founder and the CTO of Poshmark. Using 15+ years of experience building scalable infrastructure for the web and working with data, he is crafting the platform to scale social commerce to millions of users. Built on a scalable Cloud platform, the Poshmark API is the interface to a complex social marketplace that is using billions of connections and interactions between its users to drive commerce. Prior to founding Poshmark, Gautam led technology and engineering at Kaboodle, a social shopping site completely powered by user generated content. Using information extraction and machine learning techniques, Kaboodle allowed users to discover and collect products from across the web into consolidated lists that acted as points of social interaction. Gautam designed the technology that allowed Kaboodle to grow into a top 200 website, receiving high volumes of traffic to a user generated catalog of millions of products. Before Kaboodle, Gautam was a senior architect and engineering manager at Yodlee, a personal finance software company. Joining the team at an early stage, he helped create the industry’s most scalable and robust personal finance data platform built on top of user data. He developed the scalable architecture used to crawl and normalize financial data across 1000's of financial institutions for millions of users. Gautam holds a Masters degree in Computer Science from the University of Pennsylvania, and completed his undergraduate degree in Computer Engineering from the University of Pune, India.

Gautam Golwala is the co-founder and Chief Technology Officer at Poshmark.

Today’s economy is one that’s rooted in the right here, right now, instant delivery mentality. Mobile technology is empowering consumers to follow the news, order a driver on demand, and make purchases from each other all in real-time.

At the highest level, real-time commerce drives sales by connecting people and merchandise together through interactive app experiences. Many brands today are engaging in real-time commerce, each with a different approach that caters to their communities: Uber is one-to-one, Twitter is one-to-many, and Poshmark is many-to-many.

While real-time commerce apps are gaining steam, what’s the best way to actually build a successful experience? Here are four recommendations for developers and engineers who want to create compelling real-time commerce solutions:

1. Design events around specific schedules

The ultimate goal of real-time commerce is to encourage engagement with potential buyers so they are more inclined to make a purchase.

The best way to prompt engagement is by designing specific in-app events. People like to feel they are part of something, and having events happen in real-time is a great way to drive community engagement among users.

When designing in-app events you will need to consider the following: What time will it take place? How long will it last? How many people can participate?

Uber is a great example of a company that’s designing in-app events that take place on a set date and for a limited time for its users. Whether a user wants to pay $20 to play with a kitten for 15 minutes, or have a Christmas tree delivered, the UberKITTENS and  #UberTREE events encouraged users to open the app at once and take part.


While these aren’t recurring events, Uber schedules designated periods for promotions around exciting ideas and holidays to encourage engagement with its users in real-time.

Another way companies can see a major spike in traffic is to design specific in-app events that occur repeatedly at scheduled times. These in-app events draw a large number of users into the app at the same time and keep them coming back – think of it as a flash mob of sorts for commerce that everyone knows is coming.

Once you decide to have an event, the biggest challenges are notifying buyers, synchronizing between the app and the server to keep the schedules in sync, serving up massive amounts of data in real-time and keeping participants engaged.

2. Develop each platform to its strengths and embrace mobile as the driving technology

When you’ve finished designing your event, it’s time to publish a schedule and notify your potential buyers and sellers. It’s important to have a clear understanding of how your users will interact with these events once you let them know the schedule.

In the right-now economy, it’s necessary to leverage mobile to its highest potential to engage with users in real-time. The power and technology behind mobile makes it the perfect platform for real-time commerce.

Mobile is simple and easy to use because people always have their phones with them allowing them to fulfill what they need when they need it.

shopping in store tablet

The best way to get traction to your events is to prompt your audience to enter the event at the time it starts by using mobile notifications and reminders. For example, Gilt sends its users notifications at the time of their events to trigger in-app purchasing around mobile exclusives. These sales are exclusive to the mobile platform, which encourages users to open the app.

Shopkick also alerts its shoppers of deals based on their current location, encouraging purchase decisions to be made in the moment with their recent partnership with American Eagle Outfitters. Customers receive push notifications and reminders on products they tagged both inside and outside the store without having to open the app, creating the ultimate commerce experience.

3. Build for scaling on the backend + capacity management

Now that you’ve attracted your audience, it’s crucial to build technology on the backend to support the spike in traffic in the app, without any change in the user experience.

You want all your users to come to your app all at the same time, but you need to ensure you do not denigrate the user experience due to the avalanche of traffic.

Different systems will need to optimize in different ways. For traditional e-commerce sites that have flash sales, aggressive caching at multiple layers can help ensure the initial user experience is not impacted. This works because a lot of the traffic is consuming content, and only a portion of it converts to transactions.


For a flash mob in a marketplace, the challenges are more complex. Users coming in are not just consuming content, but creating it as well.

Additionally for social marketplaces like Poshmark, they are also heavily interacting with each other. What this translates to technically is there is a sudden surge in traffic that is writing to the database(s). Traditional caching by itself is not enough in this case.

There are few tools and tricks to handle this kind of load:

  • Consider taking a ‘limited supply’ approach in real-time to control the number of users who can enter at a time. Think of this almost as a velvet rope that’s built into the technology to ensure control over each user’s experience.

  • Use the right balance of synchronous and asynchronous processing. What that allows you to do is to carry out the minimum amount of processing needed to meet the user experience needs on your front end systems, while off loading the rest to a backend system. It is extremely important to carefully monitor the asynchronous processing to make sure operations complete in a reasonable amount of time.

  • Scale your interactions by scaling your database writes. In the case of Poshmark, we make heavy use of database isolation and sharding in order to scale our writes.

  • Take advantage of the smarter clients we have today. Mobile apps as well as the more advanced browsers we now have access to allow us to distribute some of the processing and logic from the server onto these smart clients.

4. Analyze in-app activity to offer real-time segmentation

No matter how many people open your app at once, it’s most important to offer an experience that keeps each individual engaged.

Twitter’s use of hashtags is an example of simple, real-time engagement. Hashtags are an easy way for people to search what’s trending on the platform and then follow that conversation based on their interest.

Following the Twitter example, create your own version of a hashtag in your marketplace. This means building out features that make it easy to track and filter what’s trending both on the backend as well as to your potential buyers.

OpenTable uses real-time segmentation when managing available reservations in real-time to control when users can book a table.

Looking into the future, consumers will look for even greater instant satisfaction when it comes to dealing with companies and brands. Real-time commerce is a huge opportunity for companies to engage with users on an ongoing bases and build active communities.

What do you think is next for the future of real-time commerce?

Get the TNW newsletter

Get the most important tech news in your inbox each week.