Aviary's customizable SDK powers cross-platform photo editing for over 4,500 partners and over 50 million monthly active users across the globe. Some of our notable partners include Walgreens, Squarespace, Yahoo Mail, Flickr, Photobucket, and Wix. Aviary's network has grown to thousands of partners and over 50 million active users since the fall of 2011. To optimize the photo editing experience, we recently built a content delivery system that targets users with customized effects, stickers, frames, etc. Today, we can distribute targeted content based on a seamlessly extendable set of parameters, including a user's location, language, app, and device.
2. Aviary
Photo-Editing
SDK & Apps
Fully-Baked UI
Configurable, High-Quality Tools
Over 5,000 Partners
Over 50 Million Monthly Users
Over 4 Billion Photos Edited
iOS, Android, Web, Windows, Server
J
3. Who Are We?
Nir
Jack
Lead Serverside
Director of
Engineer
Engineering
Likes:
●
●
●
Automated deployment
Big-O notation
Brainteasers
Hates:
●
Cilantro
Likes:
●
●
●
Parallelizing processes
DRY code
Seltzer
Hates:
●
Food after the sell-by date
13. Delivered Types
● Manifest JSON
○ Content Set
○ Content Versions
● Content JSON
○ Content Metadata
○ All Assets
N
14. The “Fat Tiny” Situation
We want to manage the Fat Tiny sticker pack
as a single entity, but we want to deliver it to
each device in its own
optimal format.
How can we do that?
N
15. Response Formatting Model
Content Entry
Response Formats
Responses
JSON document describing
content item
JSON documents defining mappings
from entry to responses
Actual JSON responses
delivered to devices
J
27. Other Mongo Usage
● PAULA permissions in user objects
users collection
{
"name": "nir",
"email": "nir@aviary.com",
"permissions": [
"content",
"dev",
"admin",
"partying"
]
}
● Integration tests interact with schemaless db willy nilly
N
29. The Facts
● Built and deployed in 3 months
● Very few struggles with MongoDB
● Seamless management
● Graceful scaling from 0 to over 20M MAUs
● Happy serverside engineers
J
30. The Future
● Targeted Translations
● Granular User Targeting
● PAULA for the masses
N