Snap Engineering Blog

Learn about Snap Engineering culture and our industry-leading innovations and achievements.

Differential Privacy at Snapchat

At Snap, privacy is a central part of our product philosophy. We want Snapchatters to feel safe and secure interacting with their friends and exploring the world around them without worrying about the privacy of their data. To achieve this goal one of the tools we use is Differential Privacy (DP), the de facto privacy standard in both industry and academia. In this article, first we summarize some of the privacy concerns that Snap and the industry as a whole face. Then we examine how Snap uses DP to address those concerns regarding friend recommendations and Maps features.

AR-Enabled Catalogs

Behind the lens: How supplemental feeds help advertisers bring the AR experience to Snap ads and reach millions of Snapchatters.

Speed Up Feature Engineering for Recommendation Systems

At Snap, we have a strong focus on user experience and have built many ML applications to surface the right content to our users. Historically, our engineers have spent a significant amount of time working with features. We’ve found that by automating the creation and consumption of a few common features types, we can simplify the majority of feature engineering work. This provides an opportunity for building a general-purpose feature platform that benefits many business critical ML use cases.

Synthetic Data for Machine Learning (ML)

At Snap we develop a large number of products and solutions powered by ML. Modern ML models require tons of high-quality data to be collected, labeled and processed. All these processes may frequently take a  long time and lots of resources. In this post we talk about how we leverage synthetic data to boost the development of our ML models.

Building a Cross-Platform Mobile Messaging Experience

At Snap, we value creativity, fun, and living in the moment as you communicate with your close friends. Our messaging product includes intricate client-side business rules and careful coordination between the client and server to bring the fastest, most reliable, and most fun way to talk with close friends through photos and video. In order to deliver on this, we chose C++ to build a consistent, unique messaging experience on both mobile platforms.

Machine Learning for Snapchat Ad Ranking

Snapchat ad ranking aims to serve the right ad to the right user at the right time.  These are selected from millions of ads in our inventory at any time. We do so with a strong emphasis on maintaining an excellent user experience and upholding Snap’s strong privacy principles and security standards, including honoring user privacy choices. Serving the right ad, in turn, generates value for our community of advertisers and Snapchatters. Under the hood, a very high throughput real-time ad auction is powered by large-scale distributed engineering systems and state of the art deep learning ML models. 

This post details an overview of the Snapchat ad ranking system, the challenges unique to the online ad ecosystem, and the corresponding machine learning (ML) development cycle.

Snap Video Compression

Compression is broadly used across web and mobile applications, and Snap is no exception. Video compression is one of the core technical considerations at Snap. It enables our users to share and enjoy the moments in daily lives. In this post we’ll talk a bit about the fundamentals of compression, and then describe how we’ve recently invested in improving compression for video to achieve performant, high quality results.

Modernizing the PlayCanvas Backend Infrastructure

PlayCanvas is the leading HTML5 game engine powering 3D experiences and games on many of the world’s most popular websites. PlayCanvas joined Snap in 2017 to help build Snap Games, Snapchat’s multiplayer gaming platform. Today, more than 80% of Snap Games developers have opted to use the PlayCanvas cloud-based platform to build their games. And over 200M Snapchatters have now played these PlayCanvas-powered games.

Over the past 2 years, we have upgraded the PlayCanvas backend to be more scalable, observable, and reliable. In this article, we will cover how, during those years, the application of modern approaches, technologies, and design patterns helped us to resolve the problems we faced.

STOMP out Bad Metrics

How do we ensure consistency, accuracy, and relevancy? And more importantly, how do we ensure operating measures - metrics - already in use are trustworthy and measuring as intended? Social Technology Operating Measures Principles - or STOMP - is a set of principles to help standardize the measurement and qualification of metrics.

Training Large-Scale Recommendation Models with TPUs

At Snap, we train a large number of deep learning models every day to continuously improve the ad recommendation quality to Snapchatters and provide more value to the advertisers. These ad ranking models have hundreds of millions of parameters and are trained on billions of examples. Training an ad ranking model is a computation-intensive and memory lookup heavy task. It requires a state-of-the-art distributed system and performant hardware to complete the training reliably and in a timely manner. This post describes how we leveraged Google’s Tensor Processing Units (TPU) for fast and efficient training.

Bringing Locations to Life with AR

We launched a new feature called Custom Landmarkers in Lens Studio, which lets AR creators and developers anchor Lenses to local places they care about – from statues to storefronts – to tell richer stories about their communities through AR. Now, any creator with a LiDAR-enabled phone can create their own Landmarker in a matter of minutes – taking a big step forward in democratizing AR.

A Snapshot of Snap’s Engineering Team