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)