• Tips 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!

    Read More
  • Announcing 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 build. You can check out more about the profile at the main Curalate blog.

    Read More
  • Hotline Ping: URL availability monitoring built with AWS Lambda and the Serverless Framework

    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 if you’re willing to build an API health tracker yourself? This blog post is for you. Not only can we beat $500 per month, we can build our API health tracker for damn near free!

    Read More
  • Bridging 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 Maven to manage dependencies and compilation. This is convenient since any Curalady / Curalad can clone one of our repos and type mvn install at the root with the expectation that everything will compile successfully on the first try. We wanted this same ease of use for our Scala projects that needed access to native libraries and this post explains how we obtained it.

    Read More
  • Avoiding 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?

    Read More
  • Build 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, and Asgard, the progression has given us confidence in the system and allowed us to develop and deploy ever faster. In this post I’ll talk about how we build and deploy our code at Curalate. We’ll cover where we started three years ago, where we are now, and what the future holds.

    Read More
  • Brewing 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 words, each emoji evokes a much richer response for the reader than boring old text. This makes sense: people communicate visually.

    Read More
  • Angular 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 features to our product. This model became unmaintainable as we planned on more cohesive and complex features and we decided to begin using Angular. The change was welcomed throughout the team and has changed our development process for the better, but migrating to Angular did not come without issues. In this post, I’ll describe the performance bottlenecks we encountered when creating one particularly complex feature using Angular and the methods we employed to solve these issues.

    Read More
  • 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, interactive customer experiences and extracting insights and intelligence from billions of consumer engagements every month. If you’re a digital marketer, we’d love to show you a demo of our tools at work.

    Read More