Domino’s API Endpoints feature lets Snap publish and operationalize R models as web services in just one click.
When consumers apply on Snap’s web site or in stores, Snap uses predictive models to decide whether to approve the lease. In order to make its predictions more accurate, Snap developed more sophisticated machine learning models in R, and stood up a process to continuously improve these models through rapid iteration.
Snap needed a way to integrate its new, R-based models into its core web application, which is built in Java. At the same time, Snap needed a way to frequently re-deploy model updates, without bothering its engineering team to integrate new R logic into the Java codebase.
Tyler Hunt, a Data Scientist at Snap, was responsible for moving this initiative forward. Searching for a platform to streamline the process of deploying his models to production, Tyler found Domino.
Tyler considered using Snap’s own engineering resources to build their own solution, but didn’t want to take the time or spend the money required to engineer a custom solution. Tyler also looked at other products, but ruled them out because they were “a little bit pricey and not as responsive as Domino.” Quality of support was especially important to Tyler. “This is a situation when if something goes wrong, I need to know that when I actually send out an email someone is going to be on it,” he said. “I got that sense from Domino, I didn’t get it from [others].”
“This is a situation when if something goes wrong, I need to know that when I actually send out an email someone is going to be on it. I got that sense from Domino, I didn’t get it from [others].”
Ultimately, he decided to use Domino to operationalize his R models. Domino’s API Endpoints feature lets Tyler publish an R model as a web service with one click, so that existing software systems, including Snaps Java web app, can invoke his model by making a simple HTTP request.
Because the lease approval process is core to its user-facing product and deals with sensitive data, Snap also had strict non-functional requirements. Domino met or exceeded all of Snap’s requirements for a secure, reliable production process: very low latency (for performance), security, and stability.
Domino makes it easy for Tyler and his team to deploy model updates on their own schedule. Tyler simply pushes new models to Domino and clicks a button. Domino handles a smooth “cutover,” routing requests to the new version of the model once it is fully initialized. With this capability, Snap can deploy changes to their models much more rapidly than they could before.
Tyler hit his aggressive deadline, going live with his new models in just three weeks after first trying Domino. Since then, Snap has been able to deploy dozens of updates to their models without any engineering or infrastructure headache, and without any downtime or outages. With these more sophisticated models and their faster iteration cycles, Tyler expects Snap to see a 20% reduction in early-stage default resulting in meaningful improvement in top and bottom line results.