Skip to content

About

An interactive, browser-based machine learning learning platform designed for beginners. Learn ML concepts through hands-on experimentation with zero setup required

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

31 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Machine Learning 101

Learn machine learning by doing β€” right in your browser.

An interactive, open-source learning platform for beginners. Adjust parameters, watch algorithms run, and build real intuition β€” with zero setup required.

Website License: MIT CI Nuxt TypeScript PRs Welcome


🌟 What is this?

Machine Learning 101 is a free, browser-based platform for building intuition about machine learning. Instead of just reading theory, you experiment: tweak a learning rate and watch gradient descent converge, drag points and see a decision boundary move, add clusters and watch K-means settle.

Everything runs client-side β€” no installs, no sign-up required, no backend needed. Your progress is saved locally in your browser (with optional cloud sync if you sign in).

Zero setup Β· Visual-first Β· Learn by doing Β· Open source

✨ Features

  • 🎯 Interactive learning β€” Real-time parameter adjustments with immediate visual feedback
  • πŸ“Š Rich visualizations β€” Interactive 2D/3D charts powered by Chart.js, D3.js, and Plotly.js
  • πŸ§ͺ Hands-on experiments β€” Train models, tune parameters, and inspect results instantly
  • πŸ“š Guided content β€” Clear explanations, interactive quizzes, and progress tracking
  • πŸ”’ Privacy-focused β€” Optional, opt-in analytics with full user control and GDPR compliance
  • πŸ“± Responsive β€” Works on desktop, tablet, and mobile
  • ⚑ Zero setup β€” No installations, no backend dependencies, no barriers to learning
  • 🌐 Fully static β€” Deployable to any static host (Netlify, Vercel, GitHub Pages)
  • πŸ” Optional cloud sync β€” Sign in to keep progress across devices (Cloudflare Workers + D1)

Learning domains

Domain Topics
Regression Linear regression, logistic regression
Classification KNN, decision trees, SVM
Clustering K-means, hierarchical clustering
Preprocessing Feature scaling, encoding, imputation, feature selection
Optimization Gradient descent, momentum, RMSProp, Adam
Advanced PCA, t-SNE, neural networks, CNNs, hyperparameter tuning

πŸš€ Getting Started

Prerequisites

  • Node.js 22+ (see .nvmrc β€” we recommend nvm: nvm use)
  • npm 10+

Run Locally

# Clone the repository
git clone https://github.com/marvelefe/machinelearning101.git
cd machinelearning101

# Install dependencies
npm install

# Start the dev server
npm run dev

Open http://localhost:3000 πŸŽ‰

Useful Commands

Command Description
npm run dev Start the development server
npm run build Build for production
npm run preview Preview the production build locally
npm run generate Generate the fully static site
npm run test Run unit tests (Vitest)
npm run type-check Run TypeScript type checking

πŸ—οΈ Project Structure

.
β”œβ”€β”€ algorithms/          # ML algorithm implementations (extend BaseAlgorithm)
β”‚   β”œβ”€β”€ advanced/       #   Neural networks, PCA, t-SNE
β”‚   β”œβ”€β”€ classification/ #   KNN, decision trees, SVM
β”‚   β”œβ”€β”€ clustering/     #   K-means, hierarchical
β”‚   β”œβ”€β”€ optimization/   #   Gradient descent variants
β”‚   β”œβ”€β”€ preprocessing/  #   Scaling, encoding, imputation
β”‚   └── regression/     #   Linear, logistic regression
β”œβ”€β”€ components/          # Vue components
β”‚   β”œβ”€β”€ layout/         #   Header, footer, navigation
β”‚   β”œβ”€β”€ modules/        #   Module-specific UI
β”‚   β”œβ”€β”€ shared/         #   Reusable components
β”‚   └── visualizations/ #   Chart wrappers
β”œβ”€β”€ composables/         # Vue composables (reusable logic)
β”œβ”€β”€ content/            # Learning content (markdown + JSON)
β”‚   └── modules/        #   Organized by domain
β”œβ”€β”€ pages/              # Nuxt pages (auto-routing)
β”œβ”€β”€ stores/             # Pinia state management
β”œβ”€β”€ types/              # TypeScript definitions
β”œβ”€β”€ utils/              # Utility functions
β”œβ”€β”€ tests/              # Unit tests (Vitest)
β”œβ”€β”€ worker/             # Optional Cloudflare Worker (auth backend)
└── service-workers/    # Web Workers (heavy computation)

πŸ› οΈ Tech Stack

πŸ“š Documentation

Guide Description
User Guide How to use the platform
Developer Guide Development setup and workflow
Module Creation Guide Add a new learning module
State Management How Pinia stores are organized
Quiz Integration Adding quizzes to modules
Bookmark Integration Bookmarking support
Core Web Vitals Performance notes
Deployment Guide Deploying the site & backend
Worker README Optional auth backend

πŸ” Optional Authentication Backend

Signing in enables cross-device progress sync via Cloudflare Workers + D1 and Google OAuth. This is entirely optional β€” the site works fully without it. See the Worker README and the Deployment Guide to set it up.

🀝 Contributing

Contributions are warmly welcomed β€” code, content, docs, design, and bug reports alike! πŸ’š

Please note that this project is released with a Contributor Code of Conduct. By participating you agree to abide by its terms.

πŸ”’ Security

Found a vulnerability? Please report it privately β€” see our Security Policy. Do not open a public issue for security concerns.

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

⭐ Support the Project

If Machine Learning 101 helped you learn something, consider giving it a star ⭐ β€” it helps others discover the project. And if you'd like to contribute, we'd love to have you!

Made with ❀️ for learners everywhere.

machinelearning101.com

About

An interactive, browser-based machine learning learning platform designed for beginners. Learn ML concepts through hands-on experimentation with zero setup required

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages