Skip to content
/ yokd Public

YOKD is what happens when a developer who lifts gets tired of overcomplicated fitness apps. Built for lifters by someone who actually lifts, it strips away the bloat to focus on what matters: tracking your sets, seeing your progress, and getting stronger. No gimmicks, no 'revolutionary AI workout plans' .

Notifications You must be signed in to change notification settings

jjcxdev/yokd

Repository files navigation

YOKD

YOKD Logo

CS50 Final Project

This project was developed as the final project for Harvard University's CS50 Introduction to Computer Science course. YOKD represents the culmination of skills learned throughout the course, applying web development, database management, and user experience design principles.

Video Demo:

YouTube

Project Overview

YOKD is what happens when a developer who lifts gets tired of overcomplicated fitness apps. Built for lifters by someone who actually lifts, it strips away the bloat to focus on what matters: tracking your sets, seeing your progress, and getting stronger. No gimmicks, no 'revolutionary AI workout plans' - just a clean, fast way to log your lifts and track your gains.

Key Features

  • Seamless Routine Management: Create, store, and access workout routines with ease
  • Detailed Exercise Tracking: Log sets, reps, weights, and personal notes for each exercise
  • Intelligent Rest Timer: Automatic rest period tracking to optimize workout recovery
  • Session Monitoring: Track the total duration of workout sessions
  • User-Friendly Interface: Simple, intuitive design for smooth workout logging

CS50 Learning Objectives Demonstrated

  • Web Development: Utilizing modern web technologies to create a full-stack application
  • Database Design: Implementing robust data storage and retrieval
  • Authentication: Integrating secure user management
  • Responsive Design: Creating a cross-platform application
  • Problem-Solving: Addressing a real-world fitness tracking challenge

Getting Started

1. Sign Up

  • Use Clerk authentication for quick and secure account creation
  • Access YOKD from any device - desktop or mobile

2. Create Your Workout Structure

  1. Create a Folder: Organize your routines
  2. Build Your Routine:
    • Add exercises
    • Define sets, reps, and weights
    • Include personal notes

3. Start a Routine

  • From the dashboard, click "Start Routine" on the desired routine
  • The app will load the routine's session page

4. Workout Tracking

  • Log exercises in real-time
  • Mark sets as complete
  • Utilize the automatic rest timer

5. Session Completion

  • Click "Finish" to save your workout data
  • Track progress across multiple sessions
  • Use previous session data as a baseline for future workouts

Accessing YOKD

  • Visit yokd.xyz
  • Desktop and Mobile Friendly

Mobile PWA Installation

Apple Devices:

  1. Open yokd.xyz in your preferred browser
  2. Tap the share button (square with an up arrow)
  3. Scroll down and select "Add to Home Screen"
  4. Name the app and tap "Add"

Android Devices:

  1. Open yokd.xyz in your preferred browser
  2. Tap the three-dot menu in the top right
  3. Select "Install app" or "Add to Home screen"
  4. Confirm the installation

Technology Stack

  • Frontend: React / Next.js
  • Language: TypeScript
  • Backend: Node.js
  • Database: SQLite / Turso / Drizzle ORM
  • Authentication: Clerk
  • Styling: Tailwind CSS

Contributing

Interested in improving YOKD? Follow these steps:

  1. Fork the repository
  • Go to the YOKD repository on GitHub.
  • Click the "Fork" button in the top right corner to create a copy of the repository under your own GitHub account.
  1. Clone your forked repository to your local machine
git clone https://github.com/your-username/yokd.git
cd yokd
  1. Create a feature branch
git checkout -b feature/your-feature-name
  1. Make your changes
  2. Commit your modifications
git add .
git commit -m 'Add innovative feature'
  1. Push to your branch
git push origin feature/your-feature-name
  1. Open a pull request
  • Go to the original YOKD repository on GitHub.
  • Click the "New pull request" button.
  • Select your forked repository and the feature branch you just pushed.

License

This project is licensed with a modified MIT License that includes additional restrictions:

Key Licensing Terms:

  • Non-commercial use is permitted
  • Personal and educational use allowed
  • Modification for personal use is permitted
  • Commercial use and redistribution are strictly prohibited
  • Only the original author jjcx may create a commercial or subscription-based version of the application

Monetization Policy

The sole right to monetize YOKD through subscriptions or paid features is reserved by the original author. Any attempts to commercialize or distribute this application for profit by third parties are expressly forbidden. Detailed licensing terms are available in the full LICENSE file. For specific permissions or commercial licensing inquiries, contact j@jjcxdev.

Acknowledgements

  • David J. Malan, Gordon McKay Professor of the Practice of Computer Science at Harvard University
  • Harvard University CS50 Course Staff
  • CS50 Community and Support Team

Contact

Questions or feedback? Reach out to j@jjcxdev.

About

YOKD is what happens when a developer who lifts gets tired of overcomplicated fitness apps. Built for lifters by someone who actually lifts, it strips away the bloat to focus on what matters: tracking your sets, seeing your progress, and getting stronger. No gimmicks, no 'revolutionary AI workout plans' .

Topics

Resources

Stars

Watchers

Forks