O monopólio da informação na residência médica
Se você abrir o Google hoje e pesquisar sobre qualquer programa de residência médica no país, vai cair quase com certeza em um blog de cursinho preparatório. São dezenas de artigos com títulos chamativos cuja única meta é vender preparatórios de vinte a trinta mil reais.
O conteúdo factual fica em segundo plano. Detalhes essenciais como o número real de vagas autorizadas pela Comissão Nacional de Residência Médica (CNRM), taxa histórica de ocupação, carga horária legal, valor da bolsa e hospitais conveniados acabam soterrados por pop-ups de matrícula e formulários para captura de leads.
Os dados oficiais existem, mas estavam escondidos em painéis pouco intuitivos do MEC ou dispersos em resoluções burocráticas do Diário Oficial. Faltava um lugar neutro, que organizasse esse ecossistema com o rigor de uma Wikipedia e a transparência de um Glassdoor.
Foi para cobrir esse vazio que criei o residenciamedica.med.br.
Os números reais do sistema de saúde
O portal foi construído consumindo diretamente as bases públicas do Painel CNRM/MEC e as diretrizes regulatórias da Resolução CFM nº 2.380/2024. Não há estimativas aproximadas nem números inventados:
| Dimensão | Total auditado | Fonte primária |
|---|---|---|
| Programas indexados | 5.656 | Painel CNRM / Ministério da Educação |
| Especialidades médicas | 55 | Conselho Federal de Medicina (CFM 2.380/2024) |
| Áreas de atuação | 62 | Conselho Federal de Medicina (CFM 2.380/2024) |
| Vagas autorizadas | 54.619 | Cadastro Nacional de Residências Médicas |
| Unidades Federativas | 27 (todos os estados e DF) | Ministério da Educação |
| Páginas programáticas | 6.000+ | Geradas pelo motor estático em Astro |
O valor da bolsa nacional (fixada pelo MEC em R$ 4.106,09 brutos para todas as especialidades credenciadas), a carga horária de 60 horas semanais e os direitos previstos na Lei Federal 6.932/1981 estão documentados de forma direta, sem intermediários.
Note (Independência Comercial)
O portal não aceita patrocínio de preparatórios nem comercializa cursos. A proposta é oferecer transparência sobre onde estão as vagas, quais instituições têm programas autorizados e como o médico residente pode validar a regularidade do seu curso perante o MEC.
Arquitetura técnica: SEO programático com Astro e SQLite
Gerar e manter mais de seis mil páginas estáticas pode ser um pesadelo de performance se o pipeline depender de centenas de chamadas de API ou arquivos JSON dispersos.
Para resolver a equação de velocidade de build e consumo mínimo de memória, adotei uma arquitetura simples e eficiente:
┌─────────────────────────────────────────────────────────────┐│ Fontes Oficiais (JSON MEC/CFM) │└──────────────────────────────┬──────────────────────────────┘ │ npm run seed ▼┌─────────────────────────────────────────────────────────────┐│ SQLite Local (better-sqlite3) ││ 5.656 programas · 55 especialidades · 62 áreas │└──────────────────────────────┬──────────────────────────────┘ │ Queries otimizadas ▼┌─────────────────────────────────────────────────────────────┐│ Motor de Geração Astro 6 (TypeScript) ││ Páginas por especialidade, estado e instituição │└──────────────────────────────┬──────────────────────────────┘ ▼┌─────────────────────────────────────────────────────────────┐│ Saída Distribuída (HTML + Markdown Mirrors) ││ Deploy Docker Multi-stage no Coolify (Node 22) │└─────────────────────────────────────────────────────────────┘A base relacional SQLite local reduz o tempo de consulta durante o build para milissegundos. Cada combinação relevante de busca ganha sua própria página indexável: especialidade por estado, programas por hospital e guias completos de formação.
Ao mesmo tempo, as rotas de busca interativa contam com componentes leves e hidratação seletiva, garantindo que o médico encontre qualquer instituição em segundos pelo celular.
Otimização para mecanismos generativos (GEO)
Sites orientados a dados públicos precisam responder bem tanto aos motores de busca convencionais quanto aos novos agentes de busca e assistentes de inteligência artificial. O portal implementa uma camada completa de GEO (Generative Engine Optimization):
- Schema Stacking rigoroso: cada página inclui múltiplos blocos JSON-LD interligados (MedicalWebPage, Organization, ItemList, FAQPage e SpeakableSpecification).
- llms.txt e mirrors em Markdown: mapeamento estruturado em
/public/.well-known/llms.txte/llms.txt, fornecendo versões limpas em texto puro de cada página para indexadores de LLMs. - Content Negotiation via servidor: requisições com cabeçalho
Accept: text/markdownrecebem o conteúdo formatado diretamente em Markdown puro através doserver.mjs. - Headers RFC 8288: links semânticos no cabeçalho HTTP apontando para o sitemap e para o manifesto de dados abertos.
Isso garante que, quando um residente pergunta ao ChatGPT ou ao Perplexity sobre a duração da residência de Anestesiologia ou as vagas disponíveis no SUS-SP, as respostas possam citar o portal com dados factuais e atualizados.
Tip (Indexação Limpa)
Separar a camada semântica para LLMs não requer frameworks pesados. Uma rotina de negociação de conteúdo no servidor web entregando a árvore markdown resolve com custo zero de infraestrutura.
Design system ivee: serenidade e legibilidade
Projetos na área da saúde costumam cair em dois extremos: ou parecem prontuários hospitalares cinzentos dos anos 90, ou usam ilustrações genéricas de banco de imagens com médicos sorridentes e estetoscópios reluzentes.
Para o portal, desenvolvi o design system ivee. A proposta visual combina:
- Paleta serena: base em Sky Canvas (
#f5f9fd) e Arctic Mist (#ffffff), com textos e contornos em Ocean Deep (#0c4170), áreas de destaque em Azure Glow (#c4e3fa) e acentos pontuais de ação em Sunset Orange (#fc6b42). - Tipografia clássica e funcional: títulos na fonte serifada Crimson Text, transmitindo a autoridade institucional necessária para dados regulatórios, contrastados com a sans-serif Roboto para blocos de leitura e tabelas densas.
- Espaçamento confortável: cantos arredondados de 40px em cards, tabelas organizadas com leitura rápida no mobile e hierarquia visual clara.
O resultado é uma interface limpa, onde o foco absoluto permanece nos dados, nas tabelas comparativas e nas normas legais.
Disponibilidade e infraestrutura
O portal opera em produção no endereço oficial:
- Endereço do projeto: residenciamedica.med.br
- Stack principal: Astro 6.2, TypeScript 5.8, Tailwind CSS 4, SQLite, Docker e Coolify em ambiente Node 22 Alpine.
Centralizar milhares de registros públicos em uma interface acessível e independente devolve a quem presta a prova o controle sobre a própria carreira.