Snap Engineering Blog

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

C++ is an important part of Snap’s client development strategy due to its portability along with its ability to utilize the full potential of client hardware. It powers Snap’s Lens technology which is used in the Snapchat mobile app, Lens Studio, and Snap Camera. It also powers our voice and video calling, messaging, mobile UI frameworks, and a growing set of client infrastructure components.

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.

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.

Differential Privacy at Snapchat - background banner photo
AR-Enabled Catalogs

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

AR Foreground Image
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.

Snap Engineers
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.

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.

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.

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.

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.

From Monolith to Multicloud Micro-Services: Inside Snap’s Service Mesh
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.