Local-first fitness app for tracking your workouts made for PROD in a week.
Warning: GitLab Pages auth may interfere with offline functionality! In case it breaks you'll need to manually unload Service Worker via DevTools.
React
as a primary UI and reactivity library.React Router
for easy and configurable routing with data loading and route nesting.TailwindCSS
withCVA
&Tailwind Merge
for simple and consistent styling across app and components.PGLite
withDrizzleORM
for advanced local data persistence with type-safety and scalability in mind.Vite
as the bundler.vite-plugin-pwa
for service worker & asset generation.ESLint
with@antfu/eslint-config
as the linter and formatter for maintaining consistency and best practices.
- Full offline support including all data & assets using service worker.
- Profile switching that allows multiple users to use the app on the same device.
- Experimental View Transitions support (except Firefox), some browsers might have visual glitches.
- 3D character with purchasable outfits.
- Support for installing as PWA.
- Code and design by Damir Modyarov, licensed under MIT License.
- Bundled images form Unslpash, licensed under Unsplash License.
- Some small code snippets from the internet were used (with or without modifications) and are linked in the respective code comments.
All the code in the repository was written by me without any AI assistance, unless explicitly stated otherwise.
AI was used ONLY for database dummy data and recommended exercise load formula. (because I have zero interest in researching workouts)
dev
: Starts the development server.build
: Builds the app for production.preview
: Serves the production build locally.lint
: Runs ESLint (linter and formatter).