Todos os insights

GlukoScope: desenhando o acompanhamento pessoal de glicose com contexto

Um projeto pessoal mobile-first para registrar medições, entender histórico e tratar dados de saúde com o cuidado que eles exigem.

Uma razão pessoal para construir

Convivo com diabetes e uso o FreeStyle Libre 2 Plus. Por isso, informações sobre glicose fazem parte do meu cotidiano, mas encontrar uma aplicação que ajude a entender os dados com calma, e não apenas a acumulá-los, tem sido mais difícil do que deveria.

Eu queria um produto que combinasse uma interface bonita e funcional com um modelo de interação mais leve, incluindo um companheiro virtual que reagisse ao momento. A intenção nunca foi diminuir a seriedade dos dados de saúde, mas tornar o hábito recorrente de voltar a eles mais claro e humano.

Um problema de saúde pessoal bem delimitado

O GlukoScope nasceu de uma observação simples: uma medição de glicose é útil, mas um número isolado raramente explica o suficiente. O produto foi pensado como um registro pessoal que reúne medições, hábitos e histórico em um lugar mais calmo, para reconhecer a própria rotina e levar informações mais organizadas às conversas com profissionais de saúde.

Esse enquadramento importa. O GlukoScope não é um dispositivo primário de monitoramento, uma ferramenta diagnóstica nem uma fonte de recomendações terapêuticas. Ele ajuda cada pessoa a entender seu próprio histórico sem transformar dados de saúde em orientação clínica.

Página inicial do GlukoScope com a proposta do produto e um exemplo de painel de glicose.

Contexto antes da complexidade

O registro manual é o ponto de partida confiável. Uma medição pode guardar valor, horário, faixa-alvo, contexto e observação, incluindo momentos como jejum, refeições, exercício e sono. Assim, o histórico já se torna útil sem exigir uma conexão externa para começar.

A experiência organiza esse registro em painel, linha do tempo e visões diárias ou semanais. A intenção não é criar mais um painel clínico e denso, mas tornar mais fácil voltar à informação e reconhecer padrões ao longo do tempo.

Um painel feito para voltar aos dados

A tela inicial evidencia primeiro a última medição e a faixa pessoal. Em seguida, reúne gráfico de curto prazo, tempo na faixa, média de glicose, variabilidade e janelas de GMI estimado. Uma área de análises permite escolher um período e observar cobertura, eventos baixos e altos, perfil ao longo do dia e o histórico de leituras que formou esses resumos.

Esses indicadores são apresentados como descritivos. O produto mostra tendências e explica suas estimativas, mas não toma decisões terapêuticas. O Gluko, companheiro que reage ao estado e à tendência atual, traz uma camada mais humana à experiência sem se passar por substituto de orientação profissional.

Painel do GlukoScope com gráfico de glicose das últimas seis horas, tempo na faixa, média, variabilidade, GMI estimado e sincronização com LibreLinkUp.
Dados pessoais do autor, exibidos com autorização.

Usando IA para criar uma linguagem de produto coerente

O primeiro layout web foi criado com o v0 da Vercel. Usei IA como parceira de design para explorar a identidade visual e transformar as direções mais úteis em um design system: tokens de cor, tipografia, espaçamento, raios, superfícies e estados para gráficos, metas e reações do Gluko.

Esse sistema permite que painel, análises, conexões com fontes e o companheiro pareçam partes de um único produto, e não telas isoladas. Ele também virou componentes de interface compartilhados: os botões têm variantes primária, secundária e de contorno, com dimensões consistentes e estados explícitos de pressionado, carregamento e desabilitado. A implementação continuou exigindo julgamento de produto: decidir o que merece destaque, onde reduzir a carga cognitiva e como manter a experiência útil sem fazer alegações clínicas.

Segurança também precisa de um caminho de recuperação tranquilo

Um produto de saúde pessoal também precisa que os fluxos comuns de conta sejam confiáveis. A criação de conta valida uma senha forte: pelo menos 12 caracteres, letras maiúsculas e minúsculas, número e símbolo, com confirmação visível antes de criar a conta. Os campos de senha oferecem o controle esperado de visibilidade e semântica para gerenciadores de senha do navegador.

A recuperação de senha é um fluxo completo, e não um link sem saída: o e-mail de recuperação volta pelo callback de autenticação para uma tela própria de atualização de senha. O produto registra que a recuperação foi solicitada ou concluída, mas nunca registra uma senha ou seu conteúdo. É um detalhe pequeno em um roadmap, mas central para a confiança necessária para voltar aos próprios dados de saúde ao longo do tempo.

LibreLinkUp já faz parte do produto

O acompanhamento manual continua disponível, mas a integração com LibreLinkUp já está implementada. Pela área de Fontes, a pessoa pode conectar a conta, iniciar uma sincronização e manter os registros manuais ao lado das leituras importadas. A primeira sincronização traz o histórico recente disponível; as execuções seguintes deduplicam as leituras antes de incluí-las na linha do tempo.

A integração vive inteiramente no backend. As credenciais são criptografadas com AES-256-GCM, as sincronizações são auditáveis e o adaptador pode ser desativado por ambiente. O serviço atual também pode atualizar em um intervalo configurado enquanto o backend estiver ativo, com um caminho separado de importação CSV para recuperar um histórico mais completo do LibreView.

Página do GlukoScope destacando medições com contexto e a integração com LibreLinkUp.

Privacidade e limites de produto caminham juntos

Leituras de glicose são dados sensíveis de saúde. Por isso, autenticação, separação de dados por usuário, consentimento, exportação, exclusão, auditoria e origem dos dados são capacidades explícitas do produto, e não um detalhe jurídico adicionado no fim.

As métricas são opt-in e oferecem três escolhas: recusar, permitir sem identificação ou permitir vinculadas à conta. Nada do Amplitude é inicializado antes dessa decisão. No modo anônimo, não há identidade de conta, o registro de IP fica desativado e os valores das faixas não são enviados; no modo vinculado, somente o identificador interno da conta é usado, nunca o e-mail, e os limites das faixas só são enviados quando a pessoa salva esses ajustes.

Amplitude Analytics e Session Replay ajudam a avaliar navegação e qualidade da interação, não comportamento de saúde. Os dados do replay ficam em memória antes do envio e usam mascaramento conservador. Leituras de glicose, e-mail, senhas, observações, credenciais do LibreLinkUp e conteúdo de CSV não são enviados como propriedades de evento. O backend também mantém uma identidade interna estável, separada do provedor de autenticação; as medições ficam em uma unidade canônica, os horários são armazenados em UTC com fuso do usuário para a apresentação e os logs evitam registrar valores de glicose ou tokens.

Desenhado para evoluir sem reescrever o núcleo

A stack é um monorepo TypeScript: Expo e React Native no app universal, Fastify na API, PostgreSQL e Prisma na persistência e contratos compartilhados nas fronteiras. Ele começa como um monólito modular, permitindo que o produto evolua sem acoplar o modelo central de medições a uma interface ou fornecedor específico.

LibreLinkUp é a fonte externa implementada hoje. Apple Health, Health Connect e Nightscout estão mapeados como adaptadores futuros, e não como funcionalidades já disponíveis. Mantê-los atrás da mesma fronteira permite evoluir sem perder a promessa central: mais contexto para dados pessoais de glicose.