Estudo de caso: Weightics - Uma balança que mostra a tendência, não o ruído

Um app iOS cujo motor estatístico de doze algoritmos (suavização EWMA, filtro de Hampel, inclinação de Theil-Sen) separa mudança real do corpo da flutuação do dia a dia, inteiramente no aparelho, com composição corporal, um modo Medicação para GLP-1 e widgets em volta.

Projeto
Weightics
Ano
Serviço
Desenvolvimento iOS, Ciência de Dados & ML

Weightics

Visão geral

A tendência por baixo do número

Suba na balança em duas manhãs seguidas e ela vai contar duas histórias diferentes, ambas erradas. O Weightics é um app de iOS construído sobre uma premissa: o número de hoje é quase todo ruído, e o dado útil é a tendência por baixo dele. Um motor de doze algoritmos separa os dois, inteiramente no aparelho.

A versão 1.7 parte dessa tendência. A composição corporal chega do Apple Saúde, o modo Medicação registra as doses de GLP-1 e os locais de aplicação, relatórios semanais, mensais e anuais resumem a mudança, e widgets levam a tendência para a Tela de Início, a Tela Bloqueada e o modo Em Espera.

  • Suavização EWMA
  • Filtro de Hampel
  • Inclinação de Theil-Sen
  • Modo Medicação
  • Widgets na Tela de Início e na Bloqueada
  • Só no aparelho

O motor

Do registro cru à tendência real

Cinco estágios entre um número digitado num seletor e uma linha em que dá para agir. Cada um existe para remover um tipo específico de mentira.
01

Limpar o sinal

A winsorização de Hampel e as checagens 3σ/MAD pegam os registros que são erro de medição, e não mudança do corpo: balança no carpete, uma refeição pesada, uma pesagem na hora errada.

02

Suavizar a tendência

EWMA com meia-vida adaptativa, mais uma inclinação mediana de Theil-Sen que sobrevive aos outliers que um ajuste de mínimos quadrados iria perseguir.

03

Tirar a semana

O efeito do fim de semana é real e previsível. Detectar a sazonalidade semanal e subtraí-la impede que segunda-feira seja lida como fracasso.

04

Conquistar confiança

Uma progressão de DataPhase mede o quanto a tendência já pode ser levada a sério, então o painel diz “Construindo a sua tendência, 31%” em vez de fingir certeza a partir de quatro registros.

05

Projetar adiante

As projeções de sete dias vêm com faixa de confiança, então a previsão mostra a própria incerteza em vez de uma única linha confiante.

Produto

O app, tela por tela

Capturas da versão atual rodando no simulador do iOS 27, com um histórico de exemplo de 110 dias e o modo Medicação ligado. A gravação registra uma pesagem no disco e volta para o painel com a tendência já atualizada.

O painel responde uma pergunta, o Tratamento guarda o registro das doses, e a Análise é onde a estatística aparece para quem quiser.

Pesagem · do disco à tendência

Painel com tendência de 71,0 kg, um mês de pesagens sob uma linha de tendência em queda dentro da faixa de oscilação normal, e marcadores das doses semanais

Painel

Aba Tratamento com a próxima dose semanal em três dias num arco, 16 doses registradas e os últimos locais de aplicação marcados numa figura do corpo

Tratamento · modo Medicação

Análise com a previsão para a meta de 70 kg entre meados de novembro e o começo de janeiro, e um gráfico semana a semana em que a tendência caiu em 12 de 12 semanas

Análise · previsão

Aba Corpo com uma leitura de 24,1% de gordura corporal vinda do Apple Saúde e um mês de composição corporal em torno da tendência

Corpo · composição

Tela de boas-vindas: ilustrações em argila de uma balança e de uma linha ondulada em cards inclinados, acima de Welcome to Weightics

Boas-vindas

Relatório semanal com a tendência 0,3 kg abaixo, sete de sete dias registrados, o melhor e o pior dia e um marco alcançado

Relatórios · semanal

Folha de registro de pesagem com o disco em 70,7 kg, a tendência atual e a data e a hora

Pesagem · disco

Assinatura

Um paywall desenhado com a sua própria tendência

Quem instala agora começa com 14 dias grátis do plano anual. O paywall é SwiftUI puro: ele desenha as pesagens da própria pessoa, deixa o ruído do dia a dia assentar na tendência e mostra a data da meta que está prestes a liberar.

Paywall · a sua tendência

Acesso

Quem instalou antes continua no plano gratuito

A trava lê a versão original do app na App Store. Quem instalou antes da assinatura fica no plano gratuito para sempre, e qualquer dúvida, sem internet ou com um recibo ilegível, abre o app em vez de travar.

Planos

Os preços vêm da oferta

Os planos e os preços são lidos da oferta atual no RevenueCat, então dá para testar preço sem lançar versão, e uma chave remota desliga a trava.

Seus dados

Travado não quer dizer perdido

Mesmo travado, o app exporta todas as pesagens em CSV, e nada é apagado.

Stack e prova

A matemática nunca sai do celular

Não há servidor de inferência nem pipeline de analytics, então não há o que vazar. A estatística que faz o app valer a pena é também o motivo de ele nunca precisar mandar nada para lugar nenhum.
Motor de tendência
12

Algoritmos no conjunto, entre eles EWMA e Theil-Sen

Projeções
7 dias

Horizonte de previsão, entregue com a sua faixa de confiança

Períodos do gráfico
8

De uma semana ao histórico inteiro, com pinça para dar zoom entre eles

Fora do aparelho
0

Bytes de dado de peso saindo do celular

Tecnologias

  • Swift
  • SwiftUI
  • SwiftData
  • Swift Charts
  • HealthKit
  • WidgetKit
  • App Groups
  • TipKit
  • Background Tasks
  • RevenueCat
  • Swift Testing

O Swift Charts desenha a tendência contra o peso real; o SwiftData guarda cada registro no iPhone, sem sincronizar com o iCloud; o HealthKit lê e escreve massa corporal em segundo plano para quem assina. A assinatura passa pelo RevenueCat: quem instala agora começa com 14 dias grátis, e quem instalou antes continua no plano gratuito.

Mais estudos de caso

Um leitor de cardápio que escolhe o que pedir, com as contas feitas no aparelho

Um app de iOS que lê o cardápio de um restaurante a partir de uma foto, cruza com o que você registrou hoje no Apple Saúde e ordena os pratos. Um modelo de linguagem lê o cardápio; o Swift faz as contas.

Ler mais

Aulas de idioma a partir do jogo na sua tela

O Looté é um app iOS para quem estuda um idioma com os jogos que já joga. Ele lê a tela do jogo, explica cada fala no contexto da cena e transforma o que você salva em flashcards com repetição espaçada.

Ler mais

Sob encomenda - Traga o problema para a bancada.

Uma ideia crua já basta para começar. Você conversa direto com quem vai construir.

Bancada

São Paulo