Atilla Türker Project

Workout tracker

Lightweight

A strength-training log that turns every set into progress you can see.

Log workouts set by set, and Lightweight turns your history into estimated one-rep maxes, strength curves and personal records. It works offline first and syncs across your devices.

Role
Design & development
Year
2025 – 2026
Platforms
iOS · Android
Sync
Offline first, cloud backup
Status
In development

What it does

  • Set-by-set logging

    Every set is saved the moment it’s logged. There is no save button, and nothing is lost.

  • Progression analytics

    Estimated 1RM (Epley), strength curves and progress over time for each exercise.

  • Personal records

    Best performances are detected automatically, per exercise.

  • Routines

    Build and edit your own routines and start a workout from them.

  • 1,170 exercises

    A built-in exercise library, many with clean monoline illustrations.

  • Sign in and sync

    Email, Google or Apple sign-in, with history synced across devices.

How it’s built

  1. 01

    Local first: Zustand persisted to MMKV is the source of truth and Firestore is a mirror. Writes that fail go to an offline queue scoped to the signed-in account and are never dropped.

  2. 02

    Finished workouts are immutable. Deletes are written as tombstones so other devices learn about them, and a reconcile step merges cloud and local history on sign-in.

  3. 03

    A layered architecture (domain, features, components, infrastructure) whose import rules are enforced by a test. Training maths lives in pure, tested domain rules.

  4. 04

    No UI kit or chart library: the design system, charts and icons are hand-built in light and dark. Firestore security rules are tested against the emulator.

Stack

  • React Native
  • Expo
  • TypeScript
  • Zustand
  • MMKV
  • Firebase Auth
  • Firestore
  • React Navigation
  • React Hook Form
  • Zod
  • Jest