rasbt/LLMs-from-scratchPublic

Implement a ChatGPT-like LLM in PyTorch from scratch, step by step

AI summary: An educational repository detailing how to build a Large Language Model entirely from scratch.

Stars
100.8K
+94 today
Forks
15.5K
Watchers
824
Open issues
2
Open PRs
0
Contributors
~68
Commits
1.1K
Branches
13

Jupyter NotebookOtherCreated Jul 23, 2023Last push 8d ago+547 stars this week+674 this month

Star history

since Jul 23, 2023
050K100KJul 2023Jul 2024Jul 2025Aug 2026
100.8K stars as of Aug 7, 2026, tracked back to Jul 23, 2023. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 1 commit2025-08-15: 1 commit2025-08-16: 0 commits2025-08-17: 1 commit2025-08-18: 1 commit2025-08-19: 3 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 1 commit2025-08-23: 1 commit2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 1 commit2025-08-29: 0 commits2025-08-30: 1 commit2025-08-31: 2 commits2025-09-01: 3 commits2025-09-02: 1 commit2025-09-03: 3 commits2025-09-04: 2 commits2025-09-05: 2 commits2025-09-06: 3 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 2 commits2025-09-10: 0 commits2025-09-11: 1 commit2025-09-12: 0 commits2025-09-13: 2 commits2025-09-14: 3 commits2025-09-15: 2 commits2025-09-16: 0 commits2025-09-17: 2 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 1 commit2025-09-21: 0 commits2025-09-22: 2 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 3 commits2025-09-27: 2 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 2 commits2025-10-01: 1 commit2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 1 commit2025-10-07: 1 commit2025-10-08: 2 commits2025-10-09: 1 commit2025-10-10: 0 commits2025-10-11: 3 commits2025-10-12: 3 commits2025-10-13: 2 commits2025-10-14: 1 commit2025-10-15: 0 commits2025-10-16: 1 commit2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 1 commit2025-10-20: 0 commits2025-10-21: 3 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 1 commit2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 1 commit2025-11-01: 2 commits2025-11-02: 2 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 2 commits2025-11-06: 1 commit2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 1 commit2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 1 commit2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 2 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 1 commit2025-11-23: 1 commit2025-11-24: 1 commit2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 1 commit2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 1 commit2025-12-19: 1 commit2025-12-20: 3 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 1 commit2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 1 commit2026-01-02: 2 commits2026-01-03: 2 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 1 commit2026-01-09: 1 commit2026-01-10: 1 commit2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 1 commit2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 1 commit2026-01-19: 1 commit2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 1 commit2026-01-28: 0 commits2026-01-29: 1 commit2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 1 commit2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 1 commit2026-02-18: 2 commits2026-02-19: 4 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 1 commit2026-02-28: 0 commits2026-03-01: 1 commit2026-03-02: 0 commits2026-03-03: 2 commits2026-03-04: 1 commit2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 3 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 1 commit2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 1 commit2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 1 commit2026-03-31: 1 commit2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 1 commit2026-04-05: 1 commit2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 1 commit2026-04-11: 1 commit2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 1 commit2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 1 commit2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 1 commit2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 3 commits2026-05-18: 0 commits2026-05-19: 2 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 1 commit2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 1 commit2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 2 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 1 commit2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
142 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    100,788 stars

  • Continuous integration

    Automated checks passing

  • Top 10% tracked

    Rank 63 of 1058

What LLMs-from-scratch does

This repository serves as the companion code for the book 'Build a Large Language Model (From Scratch)'. It provides a step-by-step, code-first approach to understanding the inner workings of LLMs. It covers the entire pipeline: implementing the attention mechanism, building the transformer architecture, pretraining on raw text, and finally fine-tuning the model for instruction following. It demystifies the magic behind tools like ChatGPT by building a functional miniature version.

Machine learning students, software engineers, and researchers who want to understand exactly how LLMs work beneath the high-level APIs.

  • Progressive implementation: Code is structured sequentially, matching the chapters of the companion book.
  • No black boxes: Implements core components like self-attention and positional embeddings from raw PyTorch.
  • End-to-end pipeline: Covers tokenizer creation, pretraining, and instruction fine-tuning.
  • Educational focus: Prioritizes readability and understanding over highly optimized, complex code.
  • Jupyter Notebooks: Extensive use of interactive notebooks for easy experimentation and visualization.

Where teams use it

Deep learning education

Follow the notebooks to gain a fundamental, first-principles understanding of transformer architectures.

Custom architecture experimentation

Modify the scratch-built components to test new attention mechanisms or architectural changes.

Understanding fine-tuning

Learn exactly how a base completion model is transformed into an instruction-following assistant.

Preparing for AI interviews

Study the implementation details to confidently answer technical questions about LLM mechanics.

Getting started: Open the Jupyter Notebooks in the chapter folders to begin coding.

README

main branch

Build a Large Language Model (From Scratch)

This repository contains the code for developing, pretraining, and finetuning a GPT-like LLM and is the official code repository for the book Build a Large Language Model (From Scratch).




In Build a Large Language Model (From Scratch), you'll learn and understand how large language models (LLMs) work from the inside out by coding them from the ground up, step by step. In this book, I'll guide you through creating your own LLM, explaining each stage with clear text, diagrams, and examples.

The method described in this book for training and developing your own small-but-functional model for educational purposes mirrors the approach used in creating large-scale foundational models such as those behind ChatGPT. In addition, this book includes code for loading the weights of larger pretrained models for finetuning.



To download a copy of this repository, click on the Download ZIP button or execute the following command in your terminal:

git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git

(If you downloaded the code bundle from the Manning website, please consider visiting the official code repository on GitHub at https://github.com/rasbt/LLMs-from-scratch for the latest updates.)



Table of Contents

Please note that this README.md file is a Markdown (.md) file. If you have downloaded this code bundle from the Manning website and are viewing it on your local computer, I recommend using a Markdown editor or previewer for proper viewing. If you haven't installed a Markdown editor yet, Ghostwriter is a good free option.

You can alternatively view this and other files on GitHub at https://github.com/rasbt/LLMs-from-scratch in your browser, which renders Markdown automatically.



Tip: If you're seeking guidance on installing Python and Python packages and setting up your code environment, I suggest reading the README.md file located in the setup directory.



Code tests Linux Code tests Windows Code tests macOS

Chapter Title Main Code (for Quick Access) All Code + Supplementary
Setup recommendations
How to best read this book
- -
Ch 1: Understanding Large Language Models No code -
Ch 2: Working with Text Data - ch02.ipynb
- dataloader.ipynb (summary)
- exercise-solutions.ipynb
./ch02
Ch 3: Coding Attention Mechanisms - ch03.ipynb
- multihead-attention.ipynb (summary)
- exercise-solutions.ipynb
./ch03
Ch 4: Implementing a GPT Model from Scratch - ch04.ipynb
- gpt.py (summary)
- exercise-solutions.ipynb
./ch04
Ch 5: Pretraining on Unlabeled Data - ch05.ipynb
- gpt_train.py (summary)
- gpt_generate.py (summary)
- exercise-solutions.ipynb
./ch05
Ch 6: Finetuning for Text Classification - ch06.ipynb
- gpt_class_finetune.py
- exercise-solutions.ipynb
./ch06
Ch 7: Finetuning to Follow Instructions - ch07.ipynb
- gpt_instruction_finetuning.py (summary)
- ollama_evaluate.py (summary)
- exercise-solutions.ipynb
./ch07
Appendix A: Introduction to PyTorch - code-part1.ipynb
- code-part2.ipynb
- DDP-script.py
- exercise-solutions.ipynb
./appendix-A
Appendix B: References and Further Reading No code ./appendix-B
Appendix C: Exercise Solutions - list of exercise solutions ./appendix-C
Appendix D: Adding Bells and Whistles to the Training Loop - appendix-D.ipynb ./appendix-D
Appendix E: Parameter-efficient Finetuning with LoRA - appendix-E.ipynb ./appendix-E

 

The mental model below summarizes the contents covered in this book.


 

Prerequisites

The most important prerequisite is a strong foundation in Python programming. With this knowledge, you will be well prepared to explore the fascinating world of LLMs and understand the concepts and code examples presented in this book.

If you have some experience with deep neural networks, you may find certain concepts more familiar, as LLMs are built upon these architectures.

This book uses PyTorch to implement the code from scratch without using any external LLM libraries. While proficiency in PyTorch is not a prerequisite, familiarity with PyTorch basics is certainly useful. If you are new to PyTorch, Appendix A provides a concise introduction to PyTorch. Alternatively, you may find my book, PyTorch in One Hour: From Tensors to Training Neural Networks on Multiple GPUs, helpful for learning about the essentials.


 

Hardware Requirements

The code in the main chapters of this book is designed to run on conventional laptops within a reasonable timeframe and does not require specialized hardware. This approach ensures that a wide audience can engage with the material. Additionally, the code automatically utilizes GPUs if they are available. (Please see the setup doc for additional recommendations.)

 

Video Course

A 17-hour and 15-minute companion video course where I code through each chapter of the book. The course is organized into chapters and sections that mirror the book's structure so that it can be used as a standalone alternative to the book or complementary code-along resource.

 

Companion Book / Sequel

Build A Reasoning Model (From Scratch), while a standalone book, can be considered as a sequel to Build A Large Language Model (From Scratch).

It starts with a pretrained model and implements different reasoning approaches, including inference-time scaling, reinforcement learning, and distillation, to improve the model's reasoning capabilities.

Similar to Build A Large Language Model (From Scratch), Build A Reasoning Model (From Scratch) takes a hands-on approach implementing these methods from scratch.


 

Exercises

Each chapter of the book includes several exercises. The solutions are summarized in Appendix C, and the corresponding code notebooks are available in the main chapter folders of this repository (for example, ./ch02/01_main-chapter-code/exercise-solutions.ipynb.

In addition to the code exercises, you can download a free 170-page PDF titled Test Yourself On Build a Large Language Model (From Scratch) from the Manning website. It contains approximately 30 quiz questions and solutions per chapter to help you test your understanding.

 

Bonus Material

Several folders contain optional materials as a bonus for interested readers:

More bonus material from the Reasoning From Scratch repository:


 

Questions, Feedback, and Contributing to This Repository

I welcome all sorts of feedback, best shared via the Manning Forum or GitHub Discussions. Likewise, if you have any questions or just want to bounce ideas off others, please don't hesitate to post these in the forum as well.

Please note that since this repository contains the code corresponding to a print book, I currently cannot accept contributions that would extend the contents of the main chapter code, as it would introduce deviations from the physical book. Keeping it consistent helps ensure a smooth experience for everyone.

 

Citation

If you find this book or code useful for your research, please consider citing it.

Chicago-style citation:

Raschka, Sebastian. Build A Large Language Model (From Scratch). Manning, 2024. ISBN: 978-1633437166.

BibTeX entry:

@book{build-llms-from-scratch-book,
  author       = {Sebastian Raschka},
  title        = {Build A Large Language Model (From Scratch)},
  publisher    = {Manning},
  year         = {2024},
  isbn         = {978-1633437166},
  url          = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
  github       = {https://github.com/rasbt/LLMs-from-scratch}
}
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 210

Code frequency

additions and deletions
+6.4K-6.4KWeek of 2025-08-03: +0 linesWeek of 2025-08-03: -0 linesWeek of 2025-08-10: +201 linesWeek of 2025-08-10: -10 linesWeek of 2025-08-17: +3,742 linesWeek of 2025-08-17: -610 linesWeek of 2025-08-24: +26 linesWeek of 2025-08-24: -3 linesWeek of 2025-08-31: +5,774 linesWeek of 2025-08-31: -3,826 linesWeek of 2025-09-07: +923 linesWeek of 2025-09-07: -827 linesWeek of 2025-09-14: +858 linesWeek of 2025-09-14: -242 linesWeek of 2025-09-21: +331 linesWeek of 2025-09-21: -281 linesWeek of 2025-09-28: +58 linesWeek of 2025-09-28: -12 linesWeek of 2025-10-05: +4,243 linesWeek of 2025-10-05: -914 linesWeek of 2025-10-12: +1,621 linesWeek of 2025-10-12: -97 linesWeek of 2025-10-19: +1,577 linesWeek of 2025-10-19: -314 linesWeek of 2025-10-26: +514 linesWeek of 2025-10-26: -379 linesWeek of 2025-11-02: +510 linesWeek of 2025-11-02: -33 linesWeek of 2025-11-09: +83 linesWeek of 2025-11-09: -5 linesWeek of 2025-11-16: +3,211 linesWeek of 2025-11-16: -59 linesWeek of 2025-11-23: +57 linesWeek of 2025-11-23: -3 linesWeek of 2025-11-30: +0 linesWeek of 2025-11-30: -0 linesWeek of 2025-12-07: +0 linesWeek of 2025-12-07: -0 linesWeek of 2025-12-14: +2,146 linesWeek of 2025-12-14: -1,916 linesWeek of 2025-12-21: +4 linesWeek of 2025-12-21: -4 linesWeek of 2025-12-28: +188 linesWeek of 2025-12-28: -54 linesWeek of 2026-01-04: +2,992 linesWeek of 2026-01-04: -35 linesWeek of 2026-01-11: +17 linesWeek of 2026-01-11: -9 linesWeek of 2026-01-18: +29 linesWeek of 2026-01-18: -22 linesWeek of 2026-01-25: +88 linesWeek of 2026-01-25: -11 linesWeek of 2026-02-01: +0 linesWeek of 2026-02-01: -0 linesWeek of 2026-02-08: +13 linesWeek of 2026-02-08: -7 linesWeek of 2026-02-15: +6,393 linesWeek of 2026-02-15: -1,753 linesWeek of 2026-02-22: +16 linesWeek of 2026-02-22: -0 linesWeek of 2026-03-01: +4,476 linesWeek of 2026-03-01: -176 linesWeek of 2026-03-08: +0 linesWeek of 2026-03-08: -0 linesWeek of 2026-03-15: +13 linesWeek of 2026-03-15: -7 linesWeek of 2026-03-22: +1 linesWeek of 2026-03-22: -1 linesWeek of 2026-03-29: +91 linesWeek of 2026-03-29: -111 linesWeek of 2026-04-05: +5,105 linesWeek of 2026-04-05: -52 linesWeek of 2026-04-12: +109 linesWeek of 2026-04-12: -14 linesWeek of 2026-04-19: +0 linesWeek of 2026-04-19: -0 linesWeek of 2026-04-26: +0 linesWeek of 2026-04-26: -0 linesWeek of 2026-05-03: +1 linesWeek of 2026-05-03: -1 linesWeek of 2026-05-10: +32 linesWeek of 2026-05-10: -0 linesWeek of 2026-05-17: +3,982 linesWeek of 2026-05-17: -141 linesWeek of 2026-05-24: +0 linesWeek of 2026-05-24: -0 linesWeek of 2026-05-31: +0 linesWeek of 2026-05-31: -1 linesWeek of 2026-06-07: +0 linesWeek of 2026-06-07: -0 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +0 linesWeek of 2026-06-28: -0 linesWeek of 2026-07-05: +360 linesWeek of 2026-07-05: -35 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +137 linesWeek of 2026-07-26: -5 linesAug 3, 2025Jul 26, 2026
+49.9K lines added, -12K removed over the last year.

Commits per week

last 52 weeks
160Week of 2025-08-03: 0 commitsWeek of 2025-08-10: 2 commitsWeek of 2025-08-17: 7 commitsWeek of 2025-08-24: 2 commitsWeek of 2025-08-31: 16 commitsWeek of 2025-09-07: 5 commitsWeek of 2025-09-14: 8 commitsWeek of 2025-09-21: 7 commitsWeek of 2025-09-28: 3 commitsWeek of 2025-10-05: 8 commitsWeek of 2025-10-12: 7 commitsWeek of 2025-10-19: 4 commitsWeek of 2025-10-26: 4 commitsWeek of 2025-11-02: 5 commitsWeek of 2025-11-09: 2 commitsWeek of 2025-11-16: 3 commitsWeek of 2025-11-23: 2 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 6 commitsWeek of 2025-12-21: 1 commitsWeek of 2025-12-28: 5 commitsWeek of 2026-01-04: 3 commitsWeek of 2026-01-11: 1 commitsWeek of 2026-01-18: 2 commitsWeek of 2026-01-25: 2 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 1 commitsWeek of 2026-02-15: 7 commitsWeek of 2026-02-22: 1 commitsWeek of 2026-03-01: 7 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 1 commitsWeek of 2026-03-22: 1 commitsWeek of 2026-03-29: 3 commitsWeek of 2026-04-05: 3 commitsWeek of 2026-04-12: 1 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 1 commitsWeek of 2026-05-10: 1 commitsWeek of 2026-05-17: 6 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 1 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 2 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 1 commitsAug 3, 2025Jul 26, 2026
142 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 2 commitsSun 2:00 — 0 commitsSun 3:00 — 1 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 5 commitsSun 7:00 — 10 commitsSun 8:00 — 24 commitsSun 9:00 — 16 commitsSun 10:00 — 20 commitsSun 11:00 — 13 commitsSun 12:00 — 15 commitsSun 13:00 — 10 commitsSun 14:00 — 12 commitsSun 15:00 — 10 commitsSun 16:00 — 11 commitsSun 17:00 — 7 commitsSun 18:00 — 6 commitsSun 19:00 — 7 commitsSun 20:00 — 12 commitsSun 21:00 — 9 commitsSun 22:00 — 3 commitsSun 23:00 — 2 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 1 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 2 commitsMon 6:00 — 9 commitsMon 7:00 — 32 commitsMon 8:00 — 17 commitsMon 9:00 — 3 commitsMon 10:00 — 5 commitsMon 11:00 — 7 commitsMon 12:00 — 5 commitsMon 13:00 — 0 commitsMon 14:00 — 3 commitsMon 15:00 — 3 commitsMon 16:00 — 8 commitsMon 17:00 — 6 commitsMon 18:00 — 9 commitsMon 19:00 — 4 commitsMon 20:00 — 13 commitsMon 21:00 — 6 commitsMon 22:00 — 4 commitsMon 23:00 — 0 commitsTue 0:00 — 3 commitsTue 1:00 — 0 commitsTue 2:00 — 2 commitsTue 3:00 — 1 commitsTue 4:00 — 1 commitsTue 5:00 — 3 commitsTue 6:00 — 10 commitsTue 7:00 — 20 commitsTue 8:00 — 18 commitsTue 9:00 — 3 commitsTue 10:00 — 4 commitsTue 11:00 — 1 commitsTue 12:00 — 5 commitsTue 13:00 — 3 commitsTue 14:00 — 2 commitsTue 15:00 — 1 commitsTue 16:00 — 4 commitsTue 17:00 — 6 commitsTue 18:00 — 5 commitsTue 19:00 — 15 commitsTue 20:00 — 17 commitsTue 21:00 — 11 commitsTue 22:00 — 3 commitsTue 23:00 — 1 commitsWed 0:00 — 3 commitsWed 1:00 — 1 commitsWed 2:00 — 2 commitsWed 3:00 — 4 commitsWed 4:00 — 2 commitsWed 5:00 — 3 commitsWed 6:00 — 7 commitsWed 7:00 — 16 commitsWed 8:00 — 15 commitsWed 9:00 — 3 commitsWed 10:00 — 2 commitsWed 11:00 — 2 commitsWed 12:00 — 3 commitsWed 13:00 — 6 commitsWed 14:00 — 3 commitsWed 15:00 — 2 commitsWed 16:00 — 5 commitsWed 17:00 — 5 commitsWed 18:00 — 9 commitsWed 19:00 — 12 commitsWed 20:00 — 15 commitsWed 21:00 — 6 commitsWed 22:00 — 5 commitsWed 23:00 — 3 commitsThu 0:00 — 1 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 2 commitsThu 4:00 — 0 commitsThu 5:00 — 1 commitsThu 6:00 — 3 commitsThu 7:00 — 16 commitsThu 8:00 — 12 commitsThu 9:00 — 8 commitsThu 10:00 — 3 commitsThu 11:00 — 3 commitsThu 12:00 — 2 commitsThu 13:00 — 1 commitsThu 14:00 — 5 commitsThu 15:00 — 5 commitsThu 16:00 — 3 commitsThu 17:00 — 4 commitsThu 18:00 — 6 commitsThu 19:00 — 6 commitsThu 20:00 — 14 commitsThu 21:00 — 3 commitsThu 22:00 — 0 commitsThu 23:00 — 1 commitsFri 0:00 — 1 commitsFri 1:00 — 4 commitsFri 2:00 — 1 commitsFri 3:00 — 1 commitsFri 4:00 — 1 commitsFri 5:00 — 2 commitsFri 6:00 — 7 commitsFri 7:00 — 14 commitsFri 8:00 — 15 commitsFri 9:00 — 5 commitsFri 10:00 — 4 commitsFri 11:00 — 2 commitsFri 12:00 — 5 commitsFri 13:00 — 3 commitsFri 14:00 — 5 commitsFri 15:00 — 6 commitsFri 16:00 — 2 commitsFri 17:00 — 3 commitsFri 18:00 — 3 commitsFri 19:00 — 7 commitsFri 20:00 — 4 commitsFri 21:00 — 7 commitsFri 22:00 — 5 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 2 commitsSat 2:00 — 1 commitsSat 3:00 — 2 commitsSat 4:00 — 3 commitsSat 5:00 — 1 commitsSat 6:00 — 8 commitsSat 7:00 — 20 commitsSat 8:00 — 15 commitsSat 9:00 — 11 commitsSat 10:00 — 14 commitsSat 11:00 — 12 commitsSat 12:00 — 11 commitsSat 13:00 — 10 commitsSat 14:00 — 9 commitsSat 15:00 — 6 commitsSat 16:00 — 7 commitsSat 17:00 — 16 commitsSat 18:00 — 5 commitsSat 19:00 — 1 commitsSat 20:00 — 6 commitsSat 21:00 — 4 commitsSat 22:00 — 2 commitsSat 23:00 — 1 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits119 (82%)
Community commits26 (18%)

145 commits in total over the last year.

DateListRankStars gained
May 13, 2026daily#19+58
  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    385.5K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • donnemartin/system-design-primer

    Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

    362.2K stars · Python

  • practical-tutorials/project-based-learning

    Curated list of project-based tutorials

    277.1K stars · Python