Inteligência Artificial com Propósito Humano
Este repositório reúne os desafios técnicos das vagas em aberto na aiiaLabs.
Todos os candidatos, independente da vaga, trabalham em cima do mesmo projeto base: o PesquisaBot. Cada vaga tem um ângulo de ataque próprio e critérios próprios de avaliação.
PesquisaBot é uma plataforma fictícia de NPS conversacional via WhatsApp com análise de sentimento por IA.
Uma empresa cliente cadastra uma campanha de NPS e dispara mensagens para uma lista de clientes finais. O cliente recebe a pergunta no WhatsApp ("De 0 a 10, o quanto você recomendaria a Loja X?") e, em vez de só registrar a nota, conversa por alguns turnos com uma IA. A IA entende o motivo da nota, faz uma pergunta de acompanhamento quando faz sentido, e encerra agradecendo.
As respostas são processadas em tempo real para extrair sentimento, temas recorrentes (atendimento, preço, prazo, qualidade) e nível de urgência. A empresa cliente acessa um painel web onde vê o NPS consolidado, evolução temporal, clusters de elogios e reclamações, e pode abrir conversas específicas.
| Camada | Tecnologia |
|---|---|
| Cloud | AWS (Lambda, EC2, S3, RDS na combinação que fizer sentido) |
| Backend | Go e Python, cada um onde fizer mais sentido |
| Frontend | Next.js (App Router) com TypeScript |
| Versionamento e CI | GitHub e GitHub Actions |
| Banco de dados | PostgreSQL (Supabase, RDS ou similar) |
| Twilio API ou Meta WhatsApp Cloud API | |
| IA | Anthropic, OpenAI ou outro provider |
Se sua vaga não exige implementação completa (QA, Dados, Processos), fique apenas na parte relevante. Os requisitos por vaga estão detalhados abaixo.
- Desenvolvedor(a) Fullstack: construir o produto inteiro
- Front end e AI Creative Technologist: dashboard e features de IA
- QA UX/UI: auditoria, plano de testes e automação visual
- Assistente de Dados e IA: análise dos dados gerados pelo bot
- Analista de Processos e Automação: mapear processo manual e automatizar
Construir o PesquisaBot do zero, com a stack obrigatória, em escopo enxuto mas funcional. A gente não espera produto perfeito. Espera código limpo, decisões justificadas e o ciclo completo rodando.
Backend (peso 35%)
Serviço em Go para receber webhooks do WhatsApp e orquestrar a conversa numa state machine simples (pergunta inicial, captura da nota, acompanhamento por IA, encerramento). Serviço em Python para processamento das respostas (análise de sentimento e classificação por temas), podendo ser uma Lambda. Modelagem em PostgreSQL cobrindo campanhas, contatos, conversas, mensagens e respostas processadas.
Frontend (peso 25%)
Dashboard em Next.js (App Router) com TypeScript. Telas mínimas: lista de campanhas, criação de nova campanha, detalhe de campanha com NPS e gráficos básicos, lista de conversas, detalhe de conversa. Não precisa ser bonito. Precisa ser claro e funcional.
Infra e CI/CD (peso 20%)
Deploy em AWS, justificando o combo escolhido (Lambda com RDS, ECS, EC2 com RDS etc.). Pipeline em GitHub Actions com lint, testes e deploy automático. README com diagrama da arquitetura.
Boas práticas (peso 20%)
Testes automatizados (no mínimo unitários no backend e smoke no frontend). Tratamento de erros e logs estruturados. Variáveis de ambiente, sem secrets no repositório. Commits limpos e PRs descritivos.
Conseguir, ponta a ponta:
- Cadastrar uma campanha pelo dashboard
- Disparar mensagem para um número via WhatsApp Sandbox
- Receber a resposta, processar com IA e salvar no banco
- Ver o resultado no dashboard
Repositório GitHub público, README com instruções de execução e decisões de arquitetura, e um Loom de até 5 minutos mostrando o produto rodando.
O backend do PesquisaBot já existe (mock fornecido no fork). Você vai construir o dashboard e as features de IA que o gestor enxerga.
Dashboard (peso 40%)
Next.js (App Router) com TypeScript. Visualizações cobrindo NPS consolidado, evolução temporal, distribuição de sentimentos, nuvem de temas (tag cloud dinâmica ou outra forma) e comparativo entre campanhas. Estados de loading, vazio e erro tratados. Responsivo e acessível (contraste, navegação por teclado, semântica).
IA na experiência (peso 35%)
Integre IA generativa em pelo menos dois pontos. Algumas ideias:
- Botão "resumo executivo da semana" que gera um briefing em linguagem natural
- Filtro semântico onde o usuário digita "reclamações sobre prazo" em vez de selecionar tags
- Sugestão de ação: para cada cluster de feedback negativo, a IA propõe uma ação concreta
- Modo conversacional onde o usuário pergunta sobre os próprios dados ("qual região tem o pior NPS este mês?")
Wrapper de API a gente identifica fácil. O que conta é como você usa a IA dentro da experiência.
Documentação e deploy (peso 25%)
README com stack, instruções de execução, decisões de design, prompts utilizados e suas iterações. Deploy público (Vercel preferencial). Mini design system com tokens de cor, tipografia e espaçamento documentados.
Repositório GitHub público, deploy público acessível e README com prompts e iterações documentados.
Você recebe acesso a uma versão de referência do PesquisaBot (link no fork) e precisa encontrar o que está errado, ruim ou frágil, propondo caminhos de correção.
Análise heurística (peso 25%)
Auditoria do dashboard usando as 10 heurísticas de Nielsen. Mínimo 8 problemas, classificados por severidade (crítico, grave, menor, cosmético). Para cada um: descrição, heurística violada, evidência (screenshot) e sugestão de correção.
Plano de testes do fluxo conversacional (peso 30%)
Plano de testes para o fluxo NPS no WhatsApp. Inclua: objetivo, perfil dos participantes, mínimo 5 cenários (com pelo menos 2 focados em respostas inesperadas como gírias, áudios, respostas evasivas, números fora do range), métricas de sucesso (taxa de conclusão, tempo médio, satisfação via NPS, SUS ou CSAT à sua escolha) e roteiro de perguntas pós teste.
Bug reports e automação visual (peso 35%)
Tarefa A, obrigatória. Navegue pelo dashboard em 3 resoluções (1920x1080, 768x1024, 375x812) e documente bugs visuais e de UX usando o template:
| Campo | Descrição |
|---|---|
| Título | Curto e objetivo |
| Ambiente | Navegador, SO, resolução |
| Passos | Numerados |
| Esperado | O que deveria acontecer |
| Atual | O que acontece |
| Severidade | Crítico, grave, menor ou cosmético |
| Evidência | Screenshot ou GIF |
Tarefa B, diferencial. Script com Playwright, Cypress ou Puppeteer que captura screenshots em 3 resoluções, compara com baseline e gera relatório de regressão visual.
Case prático (peso 10%, bônus)
Cenário: depois de uma atualização, a taxa de conclusão de pesquisas caiu de 68% para 39%. O cliente está irritado.
- Liste 3 hipóteses, justificando cada uma
- Diga que dados, logs e métricas você cruzaria
- Plano de investigação e correção com prazos
- Rascunhe a mensagem para o cliente
Fork deste repositório, pasta qa_uxui/seu_nome/. Cadastro em jobs.aiialabs.com.br. Prazo: 5 dias úteis a partir do fork.
Você recebeu um CSV com 1.000 respostas anonimizadas coletadas pelo PesquisaBot ao longo de 6 meses, com colunas: data, campanha_id, cliente_id, regiao, nota_nps, transcricao_da_conversa, sentimento_bruto, tema_detectado, canal.
Limpeza e análise (peso 40%)
Tratar inconsistências (nulos, duplicatas, outliers, transcrições truncadas). Documentar cada decisão de limpeza. Mínimo 5 análises descritivas relevantes (NPS por região, evolução temporal, temas mais frequentes em detratores etc.).
Uso de IA como ferramenta (peso 30%)
Use uma ferramenta de IA generativa em pelo menos uma etapa (reclassificação de temas, sumarização de transcrições, identificação de clusters). Entregue o histórico dos prompts utilizados, justificando a formulação de cada um. Avalie criticamente: o que funcionou, o que precisou ser ajustado, onde a IA errou.
Visualização e storytelling (peso 30%)
Mini dashboard (Looker Studio, Power BI, Streamlit ou similar). Resumo executivo de no máximo 1 página com 3 insights principais e recomendações acionáveis.
Raciocínio analítico, qualidade da documentação, uso inteligente da IA, storytelling com dados.
Repositório GitHub, Google Drive ou Notion. CSV de exemplo disponível no fork.
Uma empresa de médio porte hoje faz pesquisa NPS assim:
- A equipe exporta lista de clientes da última semana de um CRM
- Alguém envia formulário Google manualmente para cada um por email
- Após 3 dias, exporta as respostas para uma planilha
- Outra pessoa lê os comentários e classifica em "elogio, reclamação, sugestão"
- Gera um PPT semanal com NPS, evolução e top reclamações
- Envia por email para a diretoria
Tempo médio: 6h de trabalho humano por ciclo semanal. Erros frequentes: classificação inconsistente, atrasos, taxa de resposta de 12%, perda de contexto qualitativo.
Mapeamento do processo manual (peso 25%)
Fluxograma do processo atual (BPMN, Miro, Draw.io). Identifique gargalos, riscos e desperdícios. Calcule o custo estimado considerando salário hora médio do time.
Processo automatizado com PesquisaBot (peso 40%)
Redesenhe o processo usando o PesquisaBot como engrenagem central. Inclua pelo menos 2 pontos onde IA generativa agrega valor concreto (classificação automática, geração do executive summary semanal, mensagem personalizada por nota etc.). Mostre integrações reais (CRM para PesquisaBot para BI). Justifique cada mudança e quantifique o ganho esperado em tempo, custo e taxa de resposta.
Prova de conceito (peso 35%)
Implemente um dos pontos da automação. Pode ser:
- Fluxo no n8n ou Make que pega clientes do CRM e dispara campanha
- Script Python que classifica respostas usando LLM e atualiza planilha
- Integração que gera o resumo executivo semanal automaticamente
Vídeo de até 5 minutos demonstrando.
Repositório GitHub ou Google Drive. Vídeo (Loom ou YouTube não listado).
Independente da vaga, a gente avalia:
- Pensamento de produto: você entendeu o problema antes de começar a codar?
- Comunicação: seu README dá pra ler? Suas decisões estão claras?
- Honestidade técnica: o que você não conseguiu fazer e por quê. Diga o que ficou de fora em vez de tentar esconder.
- Boas práticas: Git limpo, código legível, testes onde fazem sentido, sem secrets vazadas no repositório.
- Faça fork deste repositório
- Crie uma pasta no padrão
[vaga]/seu_nome/(ex:fullstack/maria_silva/) - Trabalhe na sua branch e abra um Pull Request quando terminar
- Faça também o cadastro em jobs.aiialabs.com.br para entrar oficialmente no processo
Prazo padrão: 5 dias úteis a partir do fork. Se precisar de mais tempo, fala com a gente. A gente prefere saber antes a receber uma entrega corrida.