AI / Machine Learning
-
February 23, 2021

How To Build An App Like Pinterest

Pinterest began as a small startup website in 2010 with just a few thousand users. Since then, the visual bookmarking application has grown into a tech powerhouse with 400+ million monthly users, serving over 200 billion pins scattered across 4 billion boards and counting.

No small feat for a company that waited nine years post-launch to go public and file for an IPO, and that carried the ‘the next best thing’ tag for some time. Their 2020 quarterly report highlighting a revenue growth of 48% year over year to $1693 mill, shows that they are ready to ditch that tagline. 

The continued interest in Pinterest (no pun intended) grew considerably during the pandemic, with people turning to the app for inspiration during the lockdown. A recent e-commerce report highlights the massive spike in online shopping, with eCommerce companies Q2 Growth showing a 140.2% Average Increase.

With the steady growth of online shopping and labeling, along with the profitability of a Pinterest-like user base and ads business, now is not the time to shy away from your idea of building an app like Pinterest. The internet is a big place and there’s plenty of room for competition. 

Table of contents

How Does The Pinterest App Work?

The Pinterest app operates as a visual bookmarking platform allowing users (pinners) to ‘pin’ (bookmark) their likes and interests on their online travels. It has been described as a social media service designed to discover and save online information in the form of images, videos, and GIFS using pins and boards. 

Pinterest pin
Pinterest pin

With machine learning pulling the strings, the app can identify and recommend content based on a user's previous pins, aka their bookmarked or saved content. The algorithms running in the background work to inspire users with new content they have yet to search for or pin to their boards. While it may seem simple on the surface, behind the scenes it's equivalent to an app like Uber or Facebook in terms of complexity.

With pins in the hundreds of billions and upwards of 4 billion boards and counting, big data plays a central role in everything the Pinterest app does. To accommodate this high volume of data, Pinterest’s engineers created a huge online dataset for the app. Pinterest has a strong data strategy that has yet to steer them wrong, with AR as the driving force behind the said strategy. 

How Much Does It Cost To Build An App Like Pinterest?

The cost of a Pinterest-like app will mainly be determined by the scope and complexity of the app, and who/how you choose to build it. You have two options here, depending on the type of app you want to build. 

If you simply want to build a superficial “basic functions” Pinterest clone app, it could be done in a few days with one engineer using Rails or even no-code tools. It should be noted that this basic app will only allow users to pin content, and won’t scale well if too much data is thrown at it. 

If you want to build an actual equivalent product, it would require extensive ML and AR capabilities, with potentially dozens to hundreds of engineers doing research and development, managing data, etc. This will be required for an app aimed at a global user base. 

The costs for this type of build will be determined by the following:

  • What tech resources you have available
  • Who you choose to build it & their hourly rate
  • How long it will take them to design the UI & UX
  • How long it will take them to develop the app platform(s) 
  • How long it will take them to develop the back-end servers 

The going rate for a software development agency in the predominant U.S. tech hubs such as SF and NYC will generally run between $100 - $199 per hour. However, there are many attractive nearshore options that plenty of U.S. tech companies and startups are availing of to cut costs. 

If you have some tech capabilities but need additional support, IT staff augmentation can be a strong cost-effective solution providing the same high standard of services, if not better. The MasterClass app is a great example of a company effectively utilizing IT staff augmentation to lower costs.

Here is an overview of Rootstrap’s app development process effectively used by Tony Robbins and Google, as well as the aforementioned MasterClass:

Project TasksTimeCost

RoadmappingStory mapping,
Market research,
User demographics,
App idea validation,
Market capitalization

1-2 weeks

$18k-$36k
App Scoping & AnalysisArchitecture,
App category,
App complexity
1-2 weeks
$18k-$36kDesign & DevelopmentWireframing,
Data Storage,
UI/UX Design,
Design assets,
Infrastructure
12 - 16  weeks $200k-$280kDeployment & Warranty Period
Approval
Beta-testing
1-4 weeks$18k-$72k
Post-launch MaintenanceAnalysis,
Bug fixes,
Monitoring,
App Updates,
Design changesTBDTBD
MasterClass tech stack

Pinterest Tech Stack

Since its inception, the Pinterest tech stack has scaled up at an enormously high rate. Pinterest’s original stack was made up of  Django and Python, with their web servers taking the shape of Node.js and Tornado. 

Originally, their engineers used Redis and Memcached/Membase to handle caching, whereas RabbitMQ was put in place to handle the application’s queue. To handle persistent data storage they used MySQL, and to manage load-balancing and static-delivery, they utilized Varnish and HAproxy. 

Today, the evolution of Pinterest’s technologies is evident from the current tech stack put in place by the engineering team. With all of Pinterest’s technological advancements throughout the past decade.

Here is the existing tech infrastructure currently holding the underlying framework of the app together:

Application & DataDevOpsBusiness ToolsUtilitiesAmazon:
Cloudfront, S3, EC2,
SQS, & RedshiftDocker, GitHubSlack, G SuiteAmazon Route 53Objective-C,
Backbone.js, MemcachedZookeeperOneLogin, AsanaSparkPostUnderscore,
EdgeCast, MySQL,
Java CrittercismAnyPerk, JiraBitBarHadoop, NGINX,
Python, Django, GoJenkins, PingdomZendeskQubole, HBase,
Redis, ReactVarnish, XcodeGrexItApache Storm, KAFKA*Webpack
Pinterest tech stack

One look at Pinterest's open-source projects further highlights the technical work undertaken by their engineering team.

Pinterest Machine Learning

Pinterest uses machine learning to identify similar content to its users’ previous pins to recommend new related content to them. The algorithms behind this help the app deliver inspiring content that users have to search for to add pins to their boards.

Pinterest developed its Labs feature to tackle the complex challenges with Machine Learning and Artificial Intelligence. The Labs feature brings the world’s finest engineers, scientists, and researchers together, to work on recommender systems, image recognition, and big data analytics.

Taxonomy is a methodological approach used to classify entities and define any hierarchical relationship between them. This methodology can take the shape of a knowledge management system used to improve accuracy in machine learning models in place for user-behavior modeling, searches, and classification functionalities. 

Pinterest created its own taxonomy-based knowledge management system to provide its analysts with a highly trusted and effective tool for understanding content. This allows them to see how content is performing and provides insights into any emerging trends on the platform. 

Pinterest AI

As well the Labs feature, Pinterest Lens is a prime example of how to effectively utilize artificial intelligence. Running on Beta, Lens functions as a visual search tool that can be used online or offline.

Users can inspire ideas by simply pointing their embedded Pinterest camera at an item or content of their choosing. It uses AI to identify objects captured by a user's Pins or smartphone, with the end goal of presenting suggested products and themes to suit their tastes. 

The Lens feature plays a big role in the Pinterest machine and has contributed to hundreds of millions of searches by users, not only on the Pinterest app but also across browser extensions. 

Pinterest Augmented Reality

With 80-85% of Pinterest users being female, the tech giants are using this to develop innovative features such as its Try-On Platform. Pinterest embedded an internal facial augment reality (AR) technology to provide a search filter for its user's skin tones.

However, utilizing this type of AR functionality comes with challenges. One of these is teaching this technology to avoid introducing bias, such as what we saw with Zoom and Twitter’s algorithmic bias issues this past year. 

While AR/AI bias cannot be fully eliminated, actions can be taken to reduce it, such as having a multidisciplinary data science team with differing points of view. With this approach, any selected data to train the machine learning model can factor in the different aspects of information to represent a more accurate reality.

Pinterest Computer Vision Technology

Computer vision technology (CVT) is an AI application that Pinterest has been using in its attempt to change the way people shop online. CVT has been a big contributor to the AI revolution, which the pandemic has helped accelerate as a result of the aforementioned sharp rise in eCommerce.

When it comes to advertising, CVT allows the app to effectively target relevant ads to its users, based on their organic experiences and the billions of pins thrown onto boards. Pinterest has ads in the hundreds of thousands and CVT ensures a high standard of relevant ads based on a user's thinking are being shared. 

This feature has proved popular as it has received positive feedback from the app's users. A lot of this is down to manual override features such as hide this ad’ and ‘hide this pin’, or simply straight to the point ‘don’t ever show me this again'

This intentional feedback loop is deliberately put in place by the developers, as it allows for machine learning to utilize hundreds of thousands of daily metrics from organic searches and user experiences.  

Pinterest Website

The Pinterest website was originally launched in closed beta with its core founding tech stack taking the shape of MySQL and Python, with Rackspace Cloud Servers as the host, before eventually making the switch to Amazon Web Services. 

Pinterest Co-Founder, Paul Sciarra shared the following in a 2011 interview on their original tech stack:  

We use python + heavily-modified Django at the application layer. Tornado and (very selectively) node.js as web servers. Memcached and membase / redis for object- and logical-caching, respectively. RabbitMQ as a message queue. Nginx, HAproxy, and Varnish for static delivery and load-balancing. Persistent data storage using MySQL. MrJob on EMR for map-reduce. “

Pinterest website
Pinterest website

Speaking at a 2014 GOTO conference, Pinterest’s Founding Engineer, Marty Weiner, spoke about the evolution of the site’s technology, and how the company grew from having 1 engineer and 2 founders, operating with 1 small Web Engine and 1 small MySQL DB on Rackspace, to a tech giant helping hundreds of millions of people discover new and existing interests. 

Over a decade later, the following technologies are pulling the strings on the Pinterest website: 

Programming LanguagesDatabases & NoSQL DatatoresHTTP ServersServer LibrariesServer SoftwareCloud HardwareAPIJava,
Python,
jQuery,
HTML5,
GOReactRedis,
HBase
MySQL,
Apache
Hadoop,
MemCachedNginxDjango, Flask,
FinagleCACHE
VARNISH
Apache SolrS3,
AWS,
Level(3), edgecastAkamai
Pinterest website technologies

Apps Similar To Pinterest

There's been no shortage of attempts to build an app like Pinterest. The chasing pack tends to focus on lifestyle areas that Pinterest did not cover, while others are more inclined to compete directly with what Pinterest is offering. 

For example, Pinterest wasn’t the only company that attracted pandemic customers by leveraging AI. Amazon is now using AI to accommodate shopper inquiries with its product recommendations engine accounting for 35% of the site’s sales, according to McKinsey

Tech startups are also getting in on the act, with AR-powered companies like ModiFace, Syte, and Edited offering features for their customers to try out products such as lipstick and spot trending fashion virtually. 

The following is a breakdown of the technology used by some of the most popular Pinterest-like apps on the market: 

AppApplication & DataUtilitiesDevOpsBusiness ToolsWe Heart ItCSS 3,
Racket,
Java,Ruby,
JavaScript,
Objective-C,
CoffeeScript,
Rails,Python,
jQuery, Ubuntu,
Swift, Mustache,
NGINX,jQuery UI
Twilio SendGrid,
Google Analytics,
Google Tag ManagerNew RelicGmail,
G Suite,
QuantcastDribbleNGINX,
Ruby, Rails
Amazon CloudFrontStripe, Stripe,
Twilio SendGrid,
Google AnalyticsNew RelicG SuiteFancyPython, NGINX,
jQuery UI, jQuery,
Modernizr, Django,
Underscore, Backbone.jsStripe, Clicky,
DNS Made Easy,
Twilio SendGrid,
Google Analytics,
Google Tag Manager,
Mixpanel, Amplitude,RequireJSGmail,
G SuiteMixRedis
Node.js,
DynamoDB
PostgreSQL,
Apache Flink
Go, Swift, Scala,
Amazon: S3, EC2,
& Cloudfront,Twilio, Mandrill, MetabaseGithub, Docker,
New Relic, CircleCI,
Mocha, TestFlight, Papertrail,
Code Climate, Airbrake, CodacySlack, Asana,
Mailchimp, IntercomProduct HuntAmazonS3, Pusher,
PostgreSQL, Redis,
JavaScript, Node.js,
Sidekiq, Amazon RDS,
Sinatra, React, Ruby,
GraphQL, Heroku, CloudFlare, Puma,imgix,
PostgreSQL, Amazon Redshift, Rails,Algolia,
Mailjet,
Stream,
Segment
GitHub, New Relic, Pingdom,
Codeship, Papertrail, LibratoQuip, Gusto, Respondly
Slack, Trello, IntercomEditedReact, NGINX,
CloudFlare, Redis,
JavaScript, Python,
Node.js, Django,
MariaDB, Memcached,
Flask, ReduxMandrill
ElasticsearchBabel,
GitHub,
Docker,
Ansible,
Webpack,
Vagrant,
HAProxy,
Kubernetes,
GreenhouseSlack,
G Suite,
InVisionApps like Pinterest

What To Take Away

The Pinterest tech stack showcases the innovative technologies at the disposal of today's developers. Emerging tech such as computer vision technology is no longer a futuristic idea solely available to the leading tech giants.

People are using the Pinterest app to help them discover and save what they love and do. Did they already know this, or did Pinterest simply help them figure it out? Either way, inventing the world’s #1 online labeling system (and a giant one at that) is a massive undertaking.

And, all of this is being achieved via the aforementioned trending technologies e.g., ML, AR, AI, etc. This is a huge milestone in the world of technological advancements, which even the less-tech inclined may find hard to ignore.