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.
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.
- 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
- 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
- Use Clerk authentication for quick and secure account creation
- Access YOKD from any device - desktop or mobile
- Create a Folder: Organize your routines
- Build Your Routine:
- Add exercises
- Define sets, reps, and weights
- Include personal notes
- From the dashboard, click "Start Routine" on the desired routine
- The app will load the routine's session page
- Log exercises in real-time
- Mark sets as complete
- Utilize the automatic rest timer
- Click "Finish" to save your workout data
- Track progress across multiple sessions
- Use previous session data as a baseline for future workouts
- Visit yokd.xyz
- Desktop and Mobile Friendly
Apple Devices:
- Open yokd.xyz in your preferred browser
- Tap the share button (square with an up arrow)
- Scroll down and select "Add to Home Screen"
- Name the app and tap "Add"
Android Devices:
- Open yokd.xyz in your preferred browser
- Tap the three-dot menu in the top right
- Select "Install app" or "Add to Home screen"
- Confirm the installation
- Frontend: React / Next.js
- Language: TypeScript
- Backend: Node.js
- Database: SQLite / Turso / Drizzle ORM
- Authentication: Clerk
- Styling: Tailwind CSS
Interested in improving YOKD? Follow these steps:
- 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.
- Clone your forked repository to your local machine
git clone https://github.com/your-username/yokd.git
cd yokd
- Create a feature branch
git checkout -b feature/your-feature-name
- Make your changes
- Commit your modifications
git add .
git commit -m 'Add innovative feature'
- Push to your branch
git push origin feature/your-feature-name
- 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.
This project is licensed with a modified MIT License that includes additional restrictions:
- 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
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.
- 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
Questions or feedback? Reach out to j@jjcxdev.