Workout Tracker

Overview

A full-stack workout tracking application with a Python/Flask REST API backend and a Vanilla JS frontend that lets users log, browse, and manage workout records. What makes it interesting is the server-side JSON persistence layer — rather than a traditional database, the Flask API reads and writes structured workout data to a flat file, seeding 30 records on first startup if none exist. I designed the persistence layer to initialize and validate itself automatically at boot, keeping the deployment simple while still demonstrating a clean client-server separation between the Netlify-hosted frontend and the Flask backend.

My Contributions

  • Designed and built the Flask REST API with full CRUD endpoints for workout records
  • Implemented the JSON persistence layer with automatic seeding and file validation on startup
  • Built the Vanilla JS frontend hosted on Netlify, consuming the Flask API
  • Architected the client-server separation between a static frontend and a Python backend

Tech Stack

  • Python
  • Flask
  • JSON persistence
  • Vanilla JS
  • Netlify

Explore the Project

The frontend is hosted on Netlify. The full source code, including the Flask backend and JSON persistence implementation, is available on GitHub.