MLOps Platform
The problem
Airtasker's marketplace processes a high volume of task listings, offers, and assignments in real time — but there was no infrastructure to put ML models into that flow. Every model the data science team built lived in a notebook. Getting one to production meant bespoke IAM wiring, hand-rolled Docker images, and no reliable path from experiment to live endpoint. Each attempt was effectively a one-off build.
What I built
A two-layer MLOps platform on AWS SageMaker. The foundation standardises the environment every model runs in: a Docker image hierarchy with a shared Python base and GPU support, a common library for feature access and preprocessing, governed IAM roles, and standardised Snowflake connectivity for feature stores.
On top of that sits a service template that gives the ML team a complete, deployable scaffold for any new model: a SageMaker training pipeline, a real-time inference endpoint with auto-scaling, and GitHub Actions workflows to promote from experiment to production. Local development runs in an identical environment to SageMaker, eliminating the reproducibility bugs that previously made model behaviour unpredictable between training and serving.
Outcomes
In the 12 months since the platform was established, the team has shipped three production models: Cipher BERT (task classification powering recommendations and reporting), Top Offer Selection (offer ranking to lift posting-to-assignment conversion), and a tasker interest model that matches taskers to relevant work. Statsig A/B experiments attribute a combined ~7% uplift in revenue to these models.