Welcome to the Curalate Engineering Blog!
At Curalate, we’re helping the world’s greatest brands unlock the power of pictures. We’re doing so by building novel, interactivecustomer experiences and extracting insights and intelligence from...
View ArticleAngular Performance Considerations or: How We Ended Up Detaching $$watchers
When I came to Curalate, our dashboard was a bunch of page-specific jQuery mixed with some helpful libraries. Naturally, this setup became unwieldy as we added more developers to the team and more...
View ArticleBrewing EmojiNet
Emojis, the tiny pictographs in our phone’s keyboard, have become a important form of communication. Even Oxford Dictionary named 😂 the word of the year for 2015. Though maybe not worth a thousand...
View ArticleBuild and Deploy at Curalate
Since Curalate began three years ago, our build and deploy pipeline has changed immensely. From a manual process run locally on our laptops to an automated system consisting of Jenkins, Packer, Chef,...
View ArticleAvoiding Pitfalls with DNS and AWS Elastic Load Balancer
Using ELB for your backend microservices? Seeing intermittent connectivity issues, partial outages across your instances, or other unexplainable failures?TL;DR Respect DNS!At Curalate, we are nearly...
View ArticleBridging C++ to Scala with BridJ
At Curalate we’ve moved towards a microservice architecture with each service living in its own git repository. For the most part, we’ve standardized the way we build our Scala projects using Apache...
View ArticleHotline Ping: URL availability monitoring built with AWS Lambda and the...
Say you want to track the health of your API. Pingdom is probably your first move. But what if you want to track thousands of endpoints? Suddenly you’re looking at a monthly bill of over $500! So, what...
View ArticleAnnouncing Curalate's New Muse Page!
The good people at The Muse have made a lovely profile page detailing what it’s like to work at Curalate. We’re extremely proud of the culture we foster, the vision we pursue, and the products we...
View ArticleTips for Starting With Redshift
When beginning to use Amazon Redshift there are always some growing pains. In this blog post we’ll go through 3 tips and tricks we learned from starting up our own Redshift pipeline!Why We Use...
View ArticleZipkin At Curalate
Curalate uses a micro-services infrastructure (SOA) to power its products. As the number of services began to grow, tracking down performance issues became more difficult due to the increasing number...
View ArticleProgrammatic Jenkins jobs using the Job DSL plugin
Jenkins is an incredibly powerful and versatile tool but it can quickly become a maintenance nightmare: jobs are abandoned, lack of standardization, misconfiguration, etc. But it doesn’t have to be...
View ArticleBuilding a Tracking Pixel in 3 Steps (featuring AWS Kinesis Firehose!)
At Curalate, we need to be able to use data to demonstrate that our products hold value for our clients. One of our products, Fanreel, uses user-generated content to enhance online shopping experiences...
View ArticleMechanical Turk Lessons Learned
At Curalate, we constantly dream up big ideas for new products and services. Big ideas that require lots of work. Lots of boring, repetitive, simple work that we honestly do not want to do ourselves....
View ArticleCreating an iOS Share Extension for an Ionic App
At Curalate we build a mobile app that allows our clients to use our services on-the-go. It provides an ever-evolving subset of features from our web experience and we ship updates every month or so,...
View ArticleContent Based Intelligent Cropping
Square pegs don’t fit in round holes, but what if you have power tools?Digital images often don’t fit where we want them: advertisements, social networks, and printers all require that images be a...
View ArticleFrom Thrift To Finatra
There are a million and one ways to do (micro-)services, each with a million and one pitfalls. At Curalate, we’ve been on a long journey of splitting out our monolith into composable and simple...
View ArticleTracing High Volume Services
We like to think that building a service ecosystem is like stacking building blocks. You start with a function in your code. That function is hosted in a class. That class in a service. That service is...
View ArticleLoad Testing for Expected Increases in Traffic with Vegeta
At Curalate, our service and API traffic is fairly tightly coupled to e-commerce traffic, so any increase is reasonably predictable. We expect an increase in request rate towards the beginning of...
View ArticleR&D At Curalate: A Case Study of Deep Metric Embedding
At Curalate, we make social sell for hundreds of the world’s largest brands and retailers. Our Fanreel product is a good example of this; it empowers brands to collect, curate, and publish social...
View ArticleChoosing a Deep Learning library for developing and deploying your App/Service
Interest in deep learning is growing and growing and, with it at peak hype right now, a lot of people are looking to find the best deep learning library to build their new app or bring their company...
View Article