Skip to content

davidagustin/rules-of-machine-learning

Repository files navigation

Rules of Machine Learning - Memorization App

A modern, interactive web application to help you memorize Google's 43 Rules of Machine Learning Engineering. Built with Next.js, TypeScript, and Tailwind CSS.

Features

📖 Browse Mode

  • Complete Rule Database: All 43 rules from Google's ML Engineering guide
  • Category Filtering: Filter rules by different phases and categories:
    • Before Machine Learning
    • ML Phase I: Your First Pipeline
    • ML Phase II: Feature Engineering
    • ML Phase III: Slowed Growth, Optimization Refinement, and Complex Models
    • Monitoring and Debugging
    • Validation and Testing
    • Model Management
    • Feature Engineering
    • Data Quality
    • Model Evaluation
    • Business Alignment
    • Advanced Techniques
  • Search Functionality: Search through rule titles and descriptions
  • Expandable Cards: Click to expand and read full rule descriptions
  • Phase Indicators: Visual badges showing which ML phase each rule belongs to

🎓 Study Mode

  • Sequential Learning: Study rules one by one in order
  • Progress Tracking: Visual progress bar showing your study progress
  • Show/Hide Answers: Test your knowledge by hiding descriptions
  • Navigation Controls: Previous, Next, and Reset buttons
  • Filtered Study Sessions: Study only specific categories

🃏 Flashcard Mode

  • Randomized Learning: Shuffled card order for varied study sessions
  • Jump to Card: Navigate directly to any specific card number
  • Simple Interface: Clean, single-view cards showing title and description
  • Navigation Controls: Previous, Next, Shuffle, and Reset buttons
  • Progress Tracking: Visual progress bar and card counter

🎨 Modern UI/UX

  • Responsive Design: Works on desktop, tablet, and mobile
  • Dark Mode Support: Automatic dark/light theme switching
  • Beautiful Gradients: Modern gradient backgrounds
  • Smooth Animations: Hover effects and transitions
  • Accessibility: Proper contrast and keyboard navigation

Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

  1. Clone the repository:
git clone <repository-url>
cd rules-of-machine-learning
  1. Install dependencies:
npm install
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser

Building for Production

npm run build
npm start

Usage

Browse Mode

  1. Use the category dropdown to filter rules by specific phases or topics
  2. Use the search box to find specific rules by keywords
  3. Click on any rule card to expand and read the full description
  4. Each rule shows its category and phase indicator

Study Mode

  1. Switch to Study Mode using the toggle button
  2. Rules are presented one at a time in sequential order
  3. Click "Show Answer" to reveal the rule description
  4. Use Previous/Next buttons to navigate through rules
  5. Use Reset to start over from the beginning
  6. Apply filters in Browse Mode before switching to Study Mode for focused study sessions

Flashcard Mode

  1. Switch to Flashcard Mode using the toggle button
  2. Cards are shuffled randomly for varied study sessions
  3. Each card shows both the rule title and description
  4. Use Previous/Next buttons to navigate through cards
  5. Use Shuffle to randomize the card order
  6. Use Jump to Card to navigate directly to any specific card number
  7. Apply filters in Browse Mode before switching to Flashcard Mode for focused study sessions

Rules Overview

The app includes all 43 rules from Google's Machine Learning Engineering guide, organized into logical phases:

Pre-ML Phase (Rules 1-3)

  • Focus on when to use ML vs. heuristics
  • Setting up metrics and infrastructure

Phase I: First Pipeline (Rules 4-7)

  • Building your first ML pipeline
  • Infrastructure and testing considerations

Phase II: Feature Engineering (Rules 8-20)

  • Objective definition and measurement
  • Model selection and interpretability
  • Launch decisions and model comparison

Phase III: Advanced Topics (Rules 21-43)

  • Performance optimization
  • Monitoring and debugging
  • Advanced techniques and best practices

Technology Stack

  • Framework: Next.js 15 with App Router
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Icons: Unicode emojis (no external dependencies)
  • Deployment: Ready for Vercel, Netlify, or any static hosting

Contributing

Feel free to submit issues and enhancement requests!

License

This project is open source and available under the MIT License.

Acknowledgments

Based on Google's Rules of Machine Learning guide by Martin Zinkevich.


Happy Learning! 🚀

Releases

No releases published

Packages

No packages published