Pular para o conteúdo
B
Bradata
arquiteturacaseIA

Arquitetura do VisionApp: como construímos uma plataforma de licitações com IA

Por dentro da arquitetura do VisionApp — monitoramento de editais, matching com LLM, pipeline Kanban e assistente IA que resume editais em 30 segundos.

Por Bradata··3 min de leitura

O problema que resolvemos

Empresas que participam de licitações públicas enfrentam um problema brutal: milhares de editais publicados diariamente em portais diferentes, com formatos inconsistentes, prazos curtos e documentos de 200+ páginas. A maioria descobre oportunidades tarde demais — ou perde horas analisando editais irrelevantes.

O VisionApp nasceu pra resolver isso: uma plataforma que monitora, filtra, analisa e prioriza licitações automaticamente usando IA.

Decisões de arquitetura

Stack core

  • Next.js 14 (App Router) — SSR para SEO + client components para interatividade
  • Python — backend de IA, scrapers e pipelines de dados
  • PostgreSQL com pgvector — banco relacional + busca vetorial para embeddings
  • Redis — cache, filas de jobs e sessões
  • LLM (via API) — análise de documentos e assistente conversacional

Por que Next.js + Python (e não monolito)?

A UI precisa de interatividade rica (Kanban, chat ao vivo, dashboards) — Next.js com React é ideal pra isso. Mas o processamento de IA (embeddings, parsing de PDFs, matching) é CPU-intensivo e se beneficia do ecossistema Python (LangChain, PyPDF, scikit-learn). Separamos em dois serviços comunicando via API REST.

Como funciona o matching IA

O core do VisionApp é o matching engine — dado o perfil de uma empresa (CNAEs, certidões, stack, região, histórico), ele recebe editais novos e atribui um score de compatibilidade de 0 a 100.

Fluxo:

  1. Scraper coleta editais de portais gov (ComprasNet, BEC, portais estaduais)
  2. Parser extrai texto dos PDFs e normaliza (título, objeto, valor, prazo, requisitos)
  3. Embedder gera vetor semântico do edital usando modelo de embeddings
  4. Matcher calcula similaridade coseno entre o vetor do edital e os vetores do perfil da empresa
  5. Ranker aplica regras de negócio (prazo, valor mínimo, região, exclusões) e gera score final
  6. Notifier envia alertas por email, push e WhatsApp para matches acima do threshold

Watch Queries

Usuários criam "Watch Queries" — perfis de busca salvos com filtros de palavras-chave, UFs, faixa de valor e modalidade. O matcher roda contra todas as watch queries de todos os clientes a cada ciclo de scraping (a cada hora).

O assistente IA

O assistente conversacional do VisionApp usa RAG (Retrieval-Augmented Generation):

  1. Usuário pergunta: "Qual o prazo de impugnação do edital do FNDE?"
  2. Sistema busca o documento do edital no banco vetorial
  3. Chunks relevantes são recuperados e injetados no prompt
  4. LLM responde com base no conteúdo real do edital — não alucina

O sistema também gera briefings executivos automaticamente: resume um edital de 200 páginas em um documento de 1 página com: objeto, valor estimado, requisitos técnicos, prazos, riscos e recomendação.

Resultado

O VisionApp processa milhares de editais por dia, com tempo médio de matching de 2.3 segundos por edital. Empresas que usam a plataforma reportam redução de 70% no tempo gasto analisando editais e aumento de 3x na taxa de participação em licitações relevantes.

Stack completa

Next.js · React · Python · FastAPI · PostgreSQL · pgvector · Redis · LangChain · OpenAI · Docker · AWS


VisionApp é um produto da Bradata. Conheça a plataforma ou fale conosco.

Precisa de um talento tech agora?

Fale com a Bradata e receba uma proposta em 24 horas úteis.