Before the days of in-vehicle GPS devices and smartphones, millions of people relied on printed directions from MapQuest to travel from place to place. Founded in 1996, MapQuest was one of the world’s first commercial mapping services, and it paved the way for the more advanced, satellite-based navigation services that followed.
Although MapQuest is known best for its step-by-step directions, its points of interest (POIs) have gained significant traction among its 30 million active monthly users. POIs appear on a user’s map, giving them ideas of things to do and nearby destinations to explore.
When System1, a customer acquisition company, acquired MapQuest in 2019, it wanted to enhance the user experience by expanding MapQuest’s POIs beyond simple key-value searches. “We wanted to build a recommendation engine and tap into more modern, table-stakes features, like generative AI,” says Albert Martin, Director of Engineering at System1. However, the company faced two key challenges with developing new features.
First, MapQuest’s data footprint was outpacing its existing data architecture. At the time, MapQuest’s POI data was stored in memory, but data storage costs rose quickly as MapQuest grew to store over 100 million POIs. To support feature development, System1 needed to find a more cost-effective data structure.
Second, MapQuest’s logging data and metadata were stored in a PostgreSQL database. To query data effectively, System1’s developers would have to replicate data across its systems. Maintaining different databases became increasingly complex for System1’s teams, drawing their focus away from developing additional features.
“We have a small, nimble team,” says Martin. “We don’t want to stand up servers and patch instances. Our team needed to focus on what we can do better than anybody else, which is building a great application and user experience.”
System1 began looking for a data solution that would deliver simplicity and flexibility to its teams under a cost-effective data structure. To minimize disruptions to the user experience, System1 wanted to tackle the data transformation in small steps, starting with a simple lift-and-shift migration of its JSON documents.
The System1 team benchmarked several solutions before selecting MongoDB Atlas, a fully managed, multi-cloud developer data platform. MongoDB’s flexible document model enabled System1 to store its source data, logging data, metadata, and POIs together. By storing information that is frequently accessed and used together in the same document and in related collections, System1 could improve the performance of its solution. “MongoDB is developer friendly and approachable,” says Martin. “MongoDB facilitates a no-schema design while giving us the capabilities we need.”
ALBERT MARTIN, Director of Engineering, System1
To facilitate a smooth migration, System1 signed up for the MongoDB Atlas Pro support plan so that its teams could reach out with questions 24/7. “Knowing that we had experts we could rely on if things started to go sideways meant our team could move quickly with the resources we had,” says Martin. System1 now benefits from built-in features, like point-in-time recoveries and security controls. “At the click of a button, we can undo any mistakes we make,” says Martin.
In just three months, System1 migrated all its JSON documents to MongoDB Atlas, which it runs using Amazon Web Services (AWS). The company then focused on migrating the rest of its POI data to MongoDB, including more than 95 million information sheets. From there, System1 decided to also store all the data from the MapQuest developer website in MongoDB Atlas.
To maintain high data quality, System1 uses Time Series Collections to power analytics for MapQuest’s API offerings on its developer website. The developer network processes tens of millions of daily API requests, each captured in an individual Time Series Collections document. The transition to this service has resolved previous issues with slow reporting and frequent timeouts as well as limited granularity. Now, System1 can provide analytics in near real time, whether for self-service users checking recent usage or enterprise account teams analyzing long-term data.
With a consolidated data architecture, MapQuest users can query POI data 30% faster than before. The company is also saving several hundred thousand dollars in annual database costs. “We’re saving costs not only in dollars but also in the labor around ongoing infrastructure maintenance,” says Martin. “All our data is in one place with MongoDB, and we don’t have to build pipelines. We’re able to focus on just building features.”
In line with its original goal, System1 has developed a recommendation engine around its POIs. While exploring nearby destinations, users can get insights about other businesses that align with their searches. In turn, System1 has seen the length of its user sessions increase. With users staying on the MapQuest application longer, System1 can boost its advertising revenue opportunity.
ALBERT MARTIN, Director of Engineering, System1
Since migrating to MongoDB, System1 has started experimenting with MongoDB Atlas Vector Search to support vector and semantic searches and enhance the discoverability of nearby businesses. The company introduced its developers to Atlas Vector Search with a hackathon, which gives its teams the opportunity to practice their technical skills in a competitive, hands-on format.
“It was surprising,” says Martin. “You could just flip on a switch and replace our key-value searches without facets or any tuning at all.” By supporting vector searches, MapQuest users will be able to enter queries like “my fridge broke” and get recommendations about where to shop for a new refrigerator.
System1 also uses MongoDB’s geospatial operators extensively, given MapQuest’s map- and user-location-centric nature. With these operators, the application can provide highly tuned recommendations for nearby locations and show the best local businesses in the user’s area of interest. By having geospatial capabilities integrated with other MongoDB features, engineers can craft versatile aggregation pipelines that deliver relevant results to users without needing to learn new tools or technologies.
System1 has focused on supporting a CI/CD approach for MapQuest as well. With a consolidated stack, the company can assess which features its users want and quickly roll out updates by making minor changes to MapQuest’s code. “We have CI/CD at MapQuest for the first time, which is exciting,” says Martin. “We’ve got all the underpinnings to evolve MapQuest’s customer experience into the future.”
Next Steps
To learn more about how others are innovating with AI, check out the Building AI with MongoDB case study series. You can also register for MongoDB Atlas and visit the Atlas Vector Search Quick Start guide to start building smarter searches or get started on gen AI in your next project.