How MongoDB Atlas Helps CaliberMind Bring Customer Data to Life

< View all blog posts
Oren Zamir
November 22, 2017
Category: Customer Stories, Cloud
This is a guest post by Oren Zamir, CTO @ CaliberMind.

As CTO, I spend most of my time behind the scenes working with our engineers making sure CaliberMind users have real-time access to massive volumes of sales and marketing data. Beyond that, in a crowded SaaS market, my co-founder and I have to stay one step ahead of the competition while keeping our cost of goods, metrics, and operations scalable.

Planning our roadmap is never easy – especially as a startup. With every decision we make, we try to limit our burn rate because of how critical every dollar is at this stage. This means we hire based on what roles will have the most impact, and it also means any vendor we work with has to be a good culture and tech fit, which is one of the reasons we went with MongoDB Atlas, MongoDB’s Database as a Service.

It's been imperative that our technology choices will stand the test of time, and also be flexible enough to pivot with us as needed. CaliberMind initially started off as a company doing deep B2B customer profiling (aka "buyer persona modeling"). We knew that we'd need to integrate with 100s of different APIs to collect all this data – plus have to deal with semi-structured data from web-scrapes, email correspondence, chat logs, support tickets, etc. Additionally, every customer consumes different content (which we can use NLP to understand), and each first-party system has customized data schemas which we must join and normalize. We soon realized that dealing with all this data was even a bigger problem for our customers than the persona modeling. This insight spurred a pivot to become a Customer Data Platform (CDP) designed for marketing and sales users. Our customers have sometimes 20+ systems that contain key data points about their customers and prospects. We needed to extract data from all these platforms like Salesforce, Marketo, Hubspot, Tableau and other silos; we needed to blend this with third-party vendor data to enrich these records and fill in missing data points. Building this clean, unified, and open data set is what our customers wanted to buy and to enable AI and automation processes like lead scoring and dynamic personalization to work more effectively. Ultimately, data without context is meaningless.

To the Cloud We Go

When I thought about how we’d manage our database, it was obvious we needed a hosted environment. First, because I wanted the comfort and security of managed backups. And second, so I could abstract the administration regardless of our cluster size. With a startup, time, like money, is limited. Because of the time crunch, it’s important to find the balance between administering an application myself and paying someone else to do it. MongoDB’s database as a service platform, MongoDB Atlas, has been the perfect balance for us.

Before choosing MongoDB, I had a lot of experience with SQL using MySQL and Postgres. When using those systems, once you create the schemas and a relationship between different tables, it's very fast and easy to understand. But it’s not agile. And as a startup, we need to be flexible and understand how we work with the data, since the data structure changes fast and often.

But with MongoDB, the storage is based on JSON, which allows us to add and remove properties and enables us to easily manipulate the data model to make a lot of progress quickly. When you’re a startup and your product iterates over time, you need to be able to make quick adjustments. Spinning up a MongoDB cluster with Atlas helps us effortlessly update data structures and makes data very accessible for our developers.

On top of the backup and ease of administration criteria, another big issue for us is compliance. Our customers trust us with their data, and we take that responsibility seriously. It’s important for us to work with a product like MongoDB Atlas that helps us handle compliance and do encryption at rest – otherwise, that would all fall on my shoulders.

MongoDB Atlas also helps with its seamless integration with AWS. Currently, we’re using Amazon Redshift as a primary pipeline from outside third-party data sources that use SQL to extract details of our data. We can process this data on our servers and then store it in MongoDB to be referenced for future use. Whether we're updating CRM records on the fly or visualizing data in our product dashboards, our users can be assured that they have immediate and performant access to their data.

Another completely different application for MongoDB in our product is storing of user and environment variables within each organization. When users save a marketing segment or our AI makes a prediction, it's written to MongoDB and displayed on our dashboard using JavaScript. So, in summary, we do bulk processing of SQL-to-NoSQL to MongoDB since so much of our customers' data is stored in RDBMS format; then on top, we use MongoDB to power the application layer directly. For us, this is important because it’s not just about how we get the data, but how we translate it – that’s the premise on which we've build our whole company!

Atlas to the Rescue

As part of MongoDB’s Startup Accelerator, we’ve been granted Atlas credits to help us ramp up. We chose to use Atlas over mLab for the long term because the pricing is very straightforward. Clear pricing means we can more effectively forecast how much we’ll spend in the future. The credits and pricing clarity are critical for us because burn rate is our second highest priority, after making sure our customers are happy.

"As a startup searching for a vendor, make sure pricing is straightforward. Know your future commitments."

As we’ve grown with Atlas, I’ve realized that architecturally, it is great for our team, giving us access to reporting and insights to make the right decisions and iterate quickly. I’m now very comfortable working with the managed database, because I get a lot of real-time activity statistics about our database’s performance. I might not use it day to day, but periodically I will quickly check and see why some queries are holding us up. We had one major update where we had to separate our caching collection and we could easily see the bottleneck through the charts provided by Atlas.

These insights helped us rapidly find a solution. Since then, everything has been stable. These insights are crucial because when I see a problem, I need to be able to quickly right the ship and Atlas is a crucial part in helping me do that.

Never On My Own

Atlas saves me a lot of headaches. As the CTO of a seed-stage company, I have to wear a lot of hats. I do CI/CD, development and spend a lot of time on growing my team professionally. When tasks get taken off my plate, that makes my life a lot easier.

"Quick insights into database performance will help you right the ship and get back to work."

I know I don't need to worry about database administration. I don't need to worry about the data itself, because there's always a backup and always someone keeping an eye on it. And if there's a question, I can reach out to real MongoDB engineers for technical support.

I also can rest easy with the knowledge that as we scale, we’ll have no issues. Scaling with MongoDB Atlas involves clicking a few buttons to get the resources we need to accommodate our increasing amount of data flow. The MongoDB Atlas dashboard provides us insight into latency and spikes that visually represent the current state of our clusters. If we see that we’re reaching a threshold, then we simply go up a tier by making a few clicks in the UI and waiting for the migration to complete.

When you’re making the decision to take something off your plate, you often take a step back and think, “I’m better off doing this on my own.” With MongoDB, I’m not. We’ve found the solution that has a big impact on our business while giving us the financial predictability we need. I’m glad I’m not doing it on my own.

comments powered by Disqus