LocalFitness

A self-hosted, low-RAM fitness platform: strength tracking, nutrition logging, a barcode product scanner, and GPS cardio, with a native Android companion app.

Overview

LocalFitness is a tool I needed, not a skill I was trying to build — so per my own rules on AI use, it's vibe coded end to end. It covers the three things most commercial fitness apps gate behind a subscription: strength training logs, nutrition tracking with barcode lookups, and GPS-tracked cardio sessions, all self-hosted and kept off third-party servers.

Features

  • Strength tracking: log exercises, sets, reps, and weight, with history per movement
  • Nutrition logging: barcode scanner for fast product lookup, with a running daily macro/calorie total
  • GPS cardio: track runs and rides with route and distance logging
  • Native Android app: companion app for logging on the go, talking to the same self-hosted backend

Implementation

Backend in Go, frontend in SvelteKit, data in PostgreSQL. The Android companion app is written in Kotlin and talks to the same backend over its REST API. Designed to run comfortably on low-RAM self-hosting setups (home servers, small VPS instances) rather than requiring a dedicated machine.

Technologies

Go SvelteKit PostgreSQL Kotlin vibe coded