Projetos

Plataforma de mão de obra sob demanda

Toda a tecnologia de uma startup do varejo que oferece profissionais qualificados sob demanda para lojas e indústrias, de 2020 a 2026.

O desafio

Lojas e indústrias precisam de gente para turnos específicos, muitas vezes com poucas horas de antecedência. Para cada vaga, é preciso encontrar, num cadastro grande de profissionais, quem está perto, disponível e tem bom histórico, e fazer a oferta chegar a tempo de alguém aceitar.

A ARS respondeu por toda a tecnologia da empresa, do motor que decide a quem oferecer cada vaga ao aplicativo, à infraestrutura e aos indicadores.

O que foi entregue

Motor de alocação

O serviço que escolhe a quem oferecer cada vaga, e na hora certa.

Backend e painéis

Aplicação Rails central, com o painel de operação e o portal dos clientes renderizados no servidor.

Aplicativo iOS e Android

Um único app em React Native para clientes e profissionais, publicado nas lojas, com trilhas de treinamento em SCORM.

Infraestrutura

AWS descrita como código em CDK, Kubernetes, CI/CD e migração do backend para o cluster sem parar o serviço.

Dados e BI

ETL para o data warehouse, camadas de views SQL, catálogo de indicadores e dashboards.

Ferramentas internas

Aplicativo desktop nativo em Rust para a operação e um orquestrador de tarefas que dispara jobs efêmeros no Kubernetes.

Motor de alocação

Pense numa loja que precisa de alguém amanhã cedo para repor as prateleiras. Do outro lado, há muita gente disposta a trabalhar, cada uma com a sua agenda, o seu bairro e a sua experiência. O motor de alocação faz o papel de um bom coordenador de equipe, daqueles que conhecem todo mundo e sabem a quem ligar primeiro.

Ele olha para cada vaga como esse coordenador olharia: quem está perto, quem está livre, quem já fez um bom trabalho. Também se lembra de quem ainda está começando e procura distribuir as oportunidades com justiça.

O resultado é a loja com a pessoa certa no horário marcado, e cada profissional recebendo ofertas que fazem sentido para a sua rotina.

Pesquisa em otimização

Antes de mudar a forma de alocar, vale testar a ideia sem arriscar nada. Para isso foi construída uma bancada de pesquisa, uma espécie de simulador de voo: ela revive semanas que já aconteceram e mostra o que teria sido diferente com outra estratégia.

Nela nasceu o protótipo de um otimizador para o que a literatura chama de WSRP, o problema de montar escalas de trabalho levando em conta o deslocamento de cada pessoa. É como um quebra-cabeça enorme, em que cada peça muda o encaixe das outras. Primeiro, uma heurística de arrependimento (regret) monta uma boa solução inicial. Depois, uma metaheurística, a busca adaptativa em vizinhança ampla (ALNS), desmonta e remonta partes dela até encontrar um encaixe melhor.

O estudo também passou por otimização multiobjetivo, programação por restrições e seleção gulosa submodular, cada uma olhando o mesmo quebra-cabeça por um ângulo diferente.

Tecnologias

Python, FastAPI e Celery; Ruby on Rails e Hotwire; React Native e Expo; Rust; PostgreSQL, Valkey e Redshift; AWS CDK, Kubernetes e GitHub Actions.

Conte o que você precisa resolver.

adriano@ars.tec.br