Aponte a câmera
para a bomba.
Ele digita por você.
FotoClaude lêSalvo
Rolar ↓

Produto próprio · 2026 — em andamento

EcoDrive.

Cliente
Produto próprio
Papel
Design + full-stack
Stack
React Native · Expo · SQLite · Supabase Edge Functions · Claude
Período
2026 — em andamento

Um registro de abastecimento feito para o jeito como o brasileiro abastece de verdade: gasolina, etanol, GNV vendido por metro cúbico e, muitas vezes, dois deles na mesma parada. Você fotografa o odômetro e o display da bomba; o Claude lê os números dos dois, e o app responde com consumo real e custo por quilômetro. Desenhado e construído sozinho — interface, banco de dados e backend.

Ninguém registra abastecimento

Apps de controle de combustível morrem na bomba. Litros, preço por litro, total — três números digitados na pista com uma fila atrás de você e um frentista esperando o cartão. Os números já estão acesos no display; o atrito nunca foi a aritmética, foi o formulário.

A câmera é o formulário

Fotografe o odômetro, depois a bomba. O Claude lê os quilômetros da primeira e quantidade, preço unitário e total da segunda, e um abastecimento vira um registro estruturado em dois gestos. Todo campo continua editável depois, porque um display fotografado contra o sol baixo às vezes merece correção — a leitura preenche o formulário, ela não manda nele.

Um abastecimento de ponta a ponta — foto, leitura, consumo

Uma leitura que você pode contestar

O modelo devolve sua confiança e seu raciocínio ao lado dos números, e a interface mostra os dois: 15.02 m³ a R$4.749 dá R$71.32 contra os R$71.33 exibidos, menos de um centésimo de real de diferença, então dá para confiar na leitura. Quando uma foto é de fato ilegível, o app diz isso e devolve o formulário em vez de inventar um valor. Em um abastecimento eu escolhi gasolina na mão e a leitura me corrigiu — a foto era de uma bomba de GNV.

O odômetro, lido com 95% de confiança
O odômetro, lido com 95% de confiança
A bomba — os números, o raciocínio por trás deles e campos que continuam editáveis
A bomba — os números, o raciocínio por trás deles e campos que continuam editáveis

Dois combustíveis, um tanque

Um carro flex brasileiro com kit GNV recebe dois combustíveis na mesma parada, e nenhuma média honesta abrange os dois: litros e metros cúbicos não se somam. Então um abastecimento carrega até dois combustíveis, cada um na sua unidade — litros, metros cúbicos, quilowatt-hora — e quando há dois, o número em destaque passa a ser o custo por quilômetro, o único que sobrevive à troca de unidade. A conversão de energia por trás disso fica interna; megajoules nunca chegam à tela.

Gasolina e GNV na mesma parada — 9.9 km/L equivalentes no total
Gasolina e GNV na mesma parada — 9.9 km/L equivalentes no total
A comparação que só o custo por quilômetro consegue fazer
A comparação que só o custo por quilômetro consegue fazer

O primeiro abastecimento não tem média

Consumo precisa de dois abastecimentos, o que quer dizer que a versão honesta deste app é inútil no dia em que é instalado. Então a primeira execução faz uma única pergunta — você lembra o odômetro do seu último abastecimento? — e devolve uma média real na hora. Se a resposta for não, um slider recebe os quilômetros semanais e estima o gasto mensal. De um jeito ou de outro, algo verdadeiro está na tela em vinte segundos.

A foto não pousa em lugar nenhum

A imagem vai para uma Supabase Edge Function em São Paulo, passa pela memória até o modelo e nunca é armazenada. A chave da API vive na function, nunca no bundle do app. O consentimento é explícito antes da primeira foto, a localização é opt-in, e as Configurações trazem um reset de fábrica atrás de um toque de dois segundos. Uma leitura custa cerca de US$0.004.

Uma stack, as mesmas mãos

React Native com Expo. Todo o histórico vive no aparelho em SQLite via Drizzle, então o app continua funcionando num posto de estrada sem sinal; o Supabase só entra no caminho quando uma foto está sendo lida. Cadastrar um carro puxa marca, modelo, ano e valor de mercado da tabela FIPE brasileira. Desenhado, construído e publicado sozinho: as mesmas mãos fizeram a UX, a interface, o schema e o backend.

Todo abastecimento, guardado no aparelho
Todo abastecimento, guardado no aparelho
O carro, seu valor na FIPE e uma foto
O carro, seu valor na FIPE e uma foto

Um build Android funcionando: duas fotos na entrada, consumo e custo por quilômetro na saída, sem digitar um número.