Pular para o conteúdo
brorn
Nº 021 · Outros apps

nutri.me

App que fecha o ciclo de alimentação da semana de uma casa: um cardápio, lista de compras com preço, carrinho no supermercado online, dia de cozinha e etiquetas impressas para as porções.

No ar
Período
2026-08 → hoje
Plataformas
Web · Impressora de etiquetas Bluetooth
Papel
Sozinho: design, código e entrega
Tecnologias
Fig. 1 · Cardápio da semana
Fig. 2 · Lista de compras
Fig. 3 · Ficha da receita

§1O problema

Planejar a semana, comprar, cozinhar em lote e saber o que está no congelador são tarefas soltas. Faltava um fluxo único, do cardápio até a etiqueta com a data de validade.

§2O que eu construí

  • Cinco telasSemana, Coach, Cozinha, Compras e Despensa.
  • CoachMonta um cardápio a partir de regras definidas na tela, usando um LLM e receitas buscadas ao vivo em um serviço de receitas.
  • ComprasLista de compras precificada e entrega do carrinho ao supermercado online (a compra final é feita lá).
  • ReceitasCriadas no serviço de receitas pela API da própria página (gravação conferida depois por leitura).
  • EtiquetasUma etiqueta por porção em impressora Bluetooth, por D-Bus, com data de congelamento e validade.
  • DespensaEstados da porção (planejada, comprada, cozida, congelada).
  • Guarda de acesso localContra requisições de outros sites.

§3As partes difíceis

5 itens
  1. 01

    Automatizar serviços sem API pública

    Navegador controlado por script, e achar que a página usa uma API REST (GET/PATCH) em vez de simular digitação.

  2. 02

    Impressora Bluetooth no Linux sem root

    A biblioteca padrão não conectava; criei só o transporte falando com o BlueZ por D-Bus e reaproveitei o protocolo da biblioteca.

  3. 03

    Impressora que dorme sozinha

    E a confirmação de página que nunca chega (resolvido consultando o estado de tempos em tempos).

  4. 04

    Etiqueta legível

    Registrar a fonte manualmente para o canvas não sair com retângulos, e conferir sem gastar etiqueta (modo só-PNG).

  5. 05

    Trabalhos lentos assíncronos e regras de calendário

    Sempre planeja a próxima semana, nunca a atual.

§4Resultado

Ciclo completo implementado e ensaiado de ponta a ponta em agosto de 2026, com impressão de etiqueta confirmada na impressora. Última atualização em outubro de 2026.

§5Stack

  • Next.js 16
  • TypeScript
  • SQLite (better-sqlite3)
  • LLM por linha de comando (saída JSON)
  • Puppeteer / navegador automatizado
  • Bluetooth LE (BlueZ / D-Bus, niimbluelib)
  • @napi-rs/canvas
  • pm2
  • Tailscale