Transformei a Tabela TACO (Unicamp) em uma API REST Moderna com IA e Gerador de Rótulos
Fala, pessoal do TabNews!
Queria compartilhar com vocês um projeto que nasceu de uma dor pessoal e acabou virando um produto completo (SaaS). Sou desenvolvedor na CodivaTech e, como muitos aqui, sempre quis criar aplicações de saúde/dieta, mas esbarrava na falta de dados confiáveis e acessíveis no Brasil.
A Tabela TACO (Tabela Brasileira de Composição de Alimentos) é o padrão ouro, mas ela geralmente vive em PDFs estáticos ou planilhas Excel desformatadas. Para um dev, isso é um pesadelo.
Decidi resolver isso criando a TacoAPI: uma infraestrutura completa de dados nutricionais, gratuita para devs, com uma camada de inteligência artificial.
🚀 O Problema
Quem já tentou fazer um app de dieta sabe: APIs gringas (como USDA) não têm "Pão de Queijo", "Feijoada" ou "Açaí". As tabelas brasileiras não tinham API pública decente, documentada e performática.
🛠️ A Solução (Tech Stack)
Construí um ecossistema dividido em Backend (API) e Frontend (Ferramentas):
Backend: Fastify + Prisma + PostgreSQL. Focamos em performance (respostas < 50ms).
Frontend: Next.js 14 (App Router) + Shadcn/UI + Zustand para gerenciamento de estado.
Infra: VPS na Hostinger rodando Coolify (uma alternativa open-source ao Vercel/Heroku que recomendo demais) com Nginx fazendo proxy reverso.
✨ Features "Mirabolantes"
Implementei funcionalidades que dão "superpoderes" aos dados:
Assistente IA (GPT-4 Integration): O usuário pede "lanche pós-treino vegano" em linguagem natural. O backend processa na OpenAI, extrai keywords e busca os IDs reais no nosso banco SQL.
Comparador Nutricional (Radar Charts): Usamos Recharts para plotar a densidade nutritiva de dois alimentos lado a lado (ex: Ferro vs Sódio), normalizando os dados pelo % do Valor Diário (VD).
Gerador de Rótulos (No-Code): Talvez a feature mais útil para o mundo real. O usuário monta uma receita e geramos um PDF Vetorial (usando @react-pdf/renderer) idêntico ao padrão da ANVISA para impressão.
👨💻 Para Desenvolvedores (DX)
Se você quer usar os dados no seu app, a API é RESTful e documentada (Swagger).
Temos um Free Tier (1.000 requests/mês) para projetos pessoais e MVPs.
Exemplo de consumo:
JavaScript
// GET https://taco.codivatech.com/api/foods?q=arroz&vegan=true
{
"results": [
{
"id": 45,
"description": "Arroz integral cozido",
"protein": 2.6,
"kcal": 124,
"category": "Cereais"
}
]
}
🔗 Links
Aplicação & Docs: https://taco.codivatech.com
API Key: https://taco.codivatech.com/api-keys
Documentação: https://taco.codivatech.com/developer/docs
Gostaria muito do feedback da comunidade sobre a arquitetura e a usabilidade. Se encontrarem bugs ou tiverem sugestões de novas features (estou pensando em adicionar webhooks para o futuro), deixem nos comentários!
Abraços!