50%
reduction in time spent waiting for data queries to run.
22%
reduction in overall architecture costs.
The Challenge
SnappCar’s data team was caught between a growing platform and an infrastructure that could no longer keep pace. Two bottlenecks were particularly acute:
- Data warehouse at its limits: The existing Azure SQL setup was not designed for SnappCar’s current data volumes. Query times had become a serious operational issue, blocking analyses that were previously considered routine and making it impossible to explore new use cases like search behavior analysis.
- MLOps ownership gap: Deploying and iterating on the SnappRank recommendation model required heavy involvement from the back-end engineering team, who managed the Kubernetes cluster on which the model ran. This dependency pushed time-to-production from weeks to months, significantly slowing the data team’s ability to improve model quality and respond to production issues.
Our Approach
Following an initial design sprint to map the current landscape and identify the highest-leverage interventions, Enjins designed and implemented a best-of-breed architecture prioritizing team autonomy, scalability, and time-to-value. Given the data team’s limited size, the guiding principle was to maximize business value creation while minimizing infrastructure maintenance overhead.
- Data Warehouse Migration: We migrated the data warehouse from Azure SQL to Snowflake, whose optimized architecture and usage-based pricing model directly addressed both the performance and cost challenges at once.
- Streamlining Ingestion and Transformation: For data ingestion and transformation, we introduced Managed Airflow and dbt — replacing a brittle Kubernetes-hosted Airflow setup with a more governable, maintainable, and transparent pipeline layer that gave the team real control over their data flows.
- MLOps Ownership Back to the Data Team: To resolve the MLOps ownership bottleneck, we introduced Deeploy as the serving and monitoring layer for the SnappRank model. This gave the data science team a dedicated UI to deploy, monitor, and iterate on models fully independently — without requiring back-end involvement.
- Feature Store for Reliable Inference: Within the same infrastructure, a Redis feature store was added to support fast, reliable feature retrieval at inference time, ensuring the model had consistent access to the right data in production.
- Knowledge Transfer and Team Enablement: The entire setup was established within three weeks, with Enjins gradually transitioning from hands-on implementation to knowledge transfer — enabling the SnappCar team to extend the platform independently and continue moving at pace going forward.
"Adaptability is key. We still managed to have an easy-to-use solution, but additionally, we have seen a 22% reduction in architecture costs."
SnappCar
Data team
