Código e Automação
28 de jul. de 2026
Go back
Meu Mercado: Dynamic Island no iPhone, versão offline LT e histórico de preços na web
Autor: Rafael Lins
Atualizacao do projeto Meu Mercado com apps online/offline, Live Activities para iOS, versao LT local e uma nova frente web para acompanhamento manual de precos.

O Meu Mercado chegou a uma nova fase. Ele deixou de ser apenas um app de listas de compras e passou a ter duas linhas de produto bem claras.
De um lado, existe a versão online, integrada com API, login, web administrativa, analytics e recursos que dependem da internet. Do outro, nasceu o MeuMercadoLT, uma versão offline, separada, local, sem login e pensada para funcionar mesmo sem servidor.
Essa separação ficou importante porque o uso real mostrou que nem toda funcionalidade precisa viver no mesmo lugar.
Duas versões, dois objetivos
A versão online continua sendo a base conectada do projeto:
app Flutter para iOS e Android;
login e cadastro;
API em produção;
catálogo sincronizado;
listas salvas no backend;
mapa de supermercados próximos;
Firebase/GA4;
web administrativa;
histórico manual de preços na web.
Já o MeuMercadoLT tem outro papel:
não usa login;
não usa API;
não usa mapa;
não usa Firebase/GA4;
salva tudo no aparelho;
usa SQLite local;
permite backup e importação por JSON;
mantém catálogo e listas funcionando sem internet.
Na prática, a LT é uma versão mais leve e independente. Ela não tenta substituir a versão online. Ela resolve outro cenário: abrir o app, montar a lista e comprar, sem depender de conta, servidor ou conexão.
Dynamic Island no iPhone
Com a chegada do novo iPhone, surgiu uma oportunidade interessante: usar a Dynamic Island dentro de um fluxo que realmente combina com ela.
Eu não queria colocar ali apenas um alerta comum. A ideia foi usar a Dynamic Island no momento em que ela faz sentido: quando a pessoa está no mercado com uma lista aberta.
A fase 1 implementada funciona assim:
A lista muda para o status No mercado.
O iOS inicia uma Live Activity.
A Dynamic Island mostra o progresso da compra, como
8/23.Ao expandir, aparecem o nome da lista, o progresso e o próximo item pendente.
Ao tocar, o app abre direto na lista.
Quando a lista é finalizada, excluída ou deixa de estar no mercado, a Live Activity é encerrada.
Essa implementação entrou nas duas versões iOS:
MeuMercado online;
MeuMercadoLT offline.
No app offline, isso foi feito sem qualquer dependência de internet. O Flutter conversa com o iOS por MethodChannel, e o iOS usa ActivityKit/WidgetKit para exibir a Live Activity.
Por que isso faz sentido no produto
Usar o app no mercado é diferente de navegar nele sentado em uma mesa.
Na compra real, a pessoa está andando, olhando prateleiras, pegando produtos, desbloqueando o celular, marcando itens e voltando para a lista.
Nesse contexto, a Dynamic Island vira um atalho útil:
mostra se a lista está avançando;
evita abrir o app sem necessidade;
permite voltar direto para a lista;
deixa claro que há uma compra em andamento.
É uma pequena camada nativa, mas com impacto direto na experiência.
Acompanhamento de preços na web
Outra frente nova é o histórico manual de preços na versão web.
Como não existe uma API livre e confiável cobrindo todos os mercados e produtos, a decisão foi não inventar uma automação frágil. A primeira versão segue um caminho mais honesto: o próprio usuário registra preços manualmente ou importa dados de pedidos online quando isso fizer sentido.
A web agora tem uma estrutura para:
registrar preço por produto;
vincular preço a uma lista;
informar mercado e data;
comparar histórico por período;
enxergar variações de preço de forma simples;
evoluir para filtros e painéis mais completos.
Também entrou uma primeira tela de importação para pedidos online, começando pelo caso do Condor.
O fluxo é direto:
escolher uma lista;
colar o texto copiado do pedido;
o sistema interpreta produto, quantidade e valor;
o usuário revisa os vínculos;
os preços confirmados entram no histórico.
Itens não entregues, com quantidade 0 e valor R$ 0,00, não viram histórico de preço.
O que ficou fora dos apps
Essa parte de acompanhamento de preços ficou deliberadamente na web.
Motivos:
é uma tela mais analítica;
exige revisão com mais calma;
combina melhor com painel;
reduz a complexidade nos apps;
evita colocar um fluxo pesado no celular.
Os apps continuam focados no uso rápido de compra: criar lista, abrir no mercado, marcar itens, finalizar e consultar o catálogo.
O projeto ficou mais maduro
O ponto mais importante dessa fase não é apenas ter mais features.
É que o Meu Mercado agora tem uma arquitetura de produto mais clara:
Essa divisão reduz conflitos e ajuda a decidir onde cada recurso deve nascer.
Próximos passos
As próximas evoluções devem seguir essa mesma lógica:
testar a fase 1 da Dynamic Island no iPhone novo;
refinar a experiência da Live Activity depois do uso real;
evoluir o acompanhamento de preços na web com filtros e gráficos melhores;
manter a LT simples, local e confiável;
preparar melhor o caminho para publicação nas lojas.
O Meu Mercado começou como uma lista de compras simples.
Agora ele já é um pequeno ecossistema: web, app online, app offline, analytics, mapa, histórico de preços e integração nativa com recursos do iPhone.
Esse é o tipo de evolução boa de acompanhar: cada feature nova não entra só porque é possível, mas porque ajuda a deixar o produto mais útil no uso real.
Go back





