DEV Community

Cover image for [ShowDev] ConstruĂ­ um PWA de Fitness Local-First com Vanilla JS e IA (Adeus, MyFitnessPal)
Alejandro
Alejandro

Posted on

[ShowDev] ConstruĂ­ um PWA de Fitness Local-First com Vanilla JS e IA (Adeus, MyFitnessPal)

Fala, comunidade! đź‘‹

Hoje quero compartilhar com vocĂŞs um projeto no qual venho trabalhando intensamente: o Aerko_

Como designer de produto e desenvolvedor, eu estava frustrado com o estado atual dos aplicativos de fitness. A maioria deles cobra assinaturas caras em dólar por recursos básicos (como um leitor de código de barras), exige conexão constante com a internet e não passa de um "CRUD gourmetizado" cheio de rastreadores e anúncios.

Decidi que queria algo diferente. Queria voltar Ă s bases da web, focar na performance extrema e, acima de tudo, na privacidade.

A Arquitetura (Zero Bloatware)

O desafio que me propus foi criar uma aplicação complexa sem depender dos frameworks modernos pesados. A stack do Aerko_ é brutalista e direta:

  1. 100% Vanilla JavaScript: Utilizando Web Components nativos (estendendo HTMLElement) para criar uma interface reativa e modular sem a sobrecarga do React ou Vue.
  2. Local-First & Offline: O app Ă© um PWA puro. Ele usa IndexedDB para armazenar todos os dados de treino e dieta localmente. NĂŁo existe um servidor central coletando seus dados. VocĂŞ pode treinar no subsolo da academia sem sinal de 4G que o app vai funcionar perfeitamente.
  3. Inteligência Artificial no Navegador: Integrei o MediaPipe do Google rodando dentro de um Web Worker para analisar a biomecânica e a técnica dos exercícios usando a câmera do celular. Tudo processado no dispositivo do usuário (Zero-Knowledge).
  4. API Aberta: Integração com a API do Open Food Facts para o leitor de código de barras, mantendo a filosofia de dados abertos.

O que o Aerko_ faz?

Para quem treina, o app resolve trĂŞs dores principais:

  1. Nutrição: Leitor de código de barras gratuito e cálculo de macros sem paywall.
  2. Treino: Foco em sobrecarga progressiva, calculando automaticamente o e1RM (Estimated 1 Rep Max) para garantir que você está evoluindo.
  3. Privacidade: Seus dados sĂŁo seus. Se vocĂŞ desinstalar o app, os dados somem.

Show me the code!

O projeto tem o cĂłdigo disponĂ­vel (Source-available). Meu objetivo aqui nĂŁo Ă© vender nada, mas sim compartilhar a arquitetura e receber feedbacks de devs mais experientes.

RepositĂłrio no GitHub: https://github.com/SrPakura/AERKO_PWA

Live App: https://aerko.app

Como o app lida com dados sensíveis (criptografia de chaves no IndexedDB) e processamento pesado de IA via Web Workers, adoraria que a galera focada em arquitetura front-end e segurança desse uma olhada no repositório.

Se você curte a ideia de construir para a web usando os padrões nativos (Vanilla JS, CSS puro, Web Components) e criar produtos que respeitam o usuário, deixa uma estrela lá no repo e me diz o que achou da estrutura de pastas e do roteamento manual!

Valeu demais, galera!

Top comments (0)