On-demand workforce platform
All the technology of a retail startup that provides qualified workers on demand to stores and factories, from 2020 to 2026.
The challenge
Stores and factories need people for specific shifts, often with only a few hours' notice. For each shift, the right person has to be found in a large pool of workers, someone nearby, available and with a good track record, and the offer has to reach them in time for someone to accept.
ARS was responsible for all of the company's technology, from the engine that decides who gets each offer to the app, the infrastructure and the metrics.
What was delivered
Allocation engine
The service that picks who to offer each shift to, at the right time.
Backend and dashboards
The central Rails application, with the operations console and the customer portal rendered on the server.
iOS and Android app
A single React Native app for customers and workers, published on the stores, with SCORM training courses.
Infrastructure
AWS described as code in CDK, Kubernetes, CI/CD and a move of the backend to the cluster without downtime.
Data and BI
ETL into the data warehouse, layered SQL views, a metrics catalog and dashboards.
Internal tools
A native Rust desktop app for operations and a task orchestrator that runs ephemeral jobs on Kubernetes.
Allocation engine
Picture a store that needs someone early tomorrow morning to restock the shelves. On the other side, there are plenty of people willing to work, each with their own schedule, neighborhood and experience. The allocation engine plays the part of a good team coordinator, the kind who knows everyone and knows who to call first.
It looks at each shift the way that coordinator would: who is nearby, who is free, who has done good work before. It also remembers the people who are just starting out and tries to share opportunities fairly.
The result is the store with the right person at the right time, and every worker getting offers that fit their routine.
Optimization research
Before changing how allocation works, it pays to test the idea without risking anything. That is what the research workbench is for, a kind of flight simulator: it relives weeks that have already happened and shows what would have been different under another strategy.
It is where a prototype optimizer was born for what the literature calls WSRP, the problem of building work schedules while accounting for each person's travel. Think of a huge jigsaw puzzle where every piece changes how the others fit. First, a regret heuristic assembles a good starting solution. Then a metaheuristic, adaptive large neighborhood search (ALNS), takes parts of it apart and puts them back together until it finds a better fit.
The study also covered multi-objective optimization, constraint programming and submodular greedy selection, each looking at the same puzzle from a different angle.
Technologies
Python, FastAPI and Celery; Ruby on Rails and Hotwire; React Native and Expo; Rust; PostgreSQL, Valkey and Redshift; AWS CDK, Kubernetes and GitHub Actions.