Building a Better Workout Tracker

When we started developing Lifted, we noticed most workout tracking apps were either too complex or too simple. Some apps required you to input every minor detail about your workout, making the process tedious and time-consuming. Others were so basic that they couldn't track progressive overload or provide meaningful insights about your progress.

// Example of our clean, simple workout logging
const logWorkout = async (exercise, sets) => {
  const workout = {
    date: new Date(),
    exercise,
    sets: sets.map((set) => ({
      reps: set.reps,
      weight: set.weight,
      rpe: set.rpe, // Optional RPE tracking
    })),
  }
  await saveWorkout(workout)
}

I derive a large amount of my self-worth from whether or not Hacker News is impressed with the work I'm doing, so when I realized this, I cancelled all of our existing projects and started migrating everything to Rust immediately.