GRT Mobile
App de controle de presença de terceirizados na portaria, com uso offline, PIN e QR Code. A V2 foi reconstruída em 14 dias.
Contexto
Na portaria de empresas contratantes, o app registra a presença de terceirizados de acordo com a situação de conformidade de cada um. Fiz a V1 em Bubble Mobile, em contrato com a Camada, dona do contrato. A V2, em código próprio, é uma prova de conceito que fiz por conta própria.
O que construí
- V1 (Bubble): login com código por e-mail, PIN para uso offline, busca por CPF, lista ou QR Code, aceite de termos com registro e sincronização com a API do cliente.
- V2 (código próprio): o mesmo produto reconstruído do zero em 14 dias, com dedicação parcial, funcionando offline.
Decisões técnicas
- Funciona sem internet. Os dados ficam num SQLite local e a sincronização não perde nem duplica registros.
- Segurança tratada como requisito. Credenciais cifradas com AES-256, senhas e PIN com hash forte e limite de tentativas de login.
- Infraestrutura barata. A partir de cerca de US$ 40 por mês, com Fly.io e PostgreSQL no Neon.
- Testes como contrato. Mais de 1.300 testes automatizados rodando em CI.
Resultados
- 20 mil colaboradores carregados em menos de 10 segundos num Android intermediário.
- Sincronização sem perda nem duplicidade.
- A V2 inteira foi reconstruída por uma pessoa só, em 14 dias, com dedicação parcial.
- 14 dias
- para reconstruir a V2, com dedicação parcial
- 1.300+
- testes automatizados em CI
- 20 mil
- colaboradores carregados em menos de 10 s num Android intermediário
Stack
- Expo (React Native)
- TypeScript
- SQLite
- Node.js
- Fastify
- PostgreSQL (Neon)
- pg-boss
- Zod
- Fly.io
- Sentry
- GitHub Actions