The thinking behind the practice

The Philosophy

One Commit a Day is about more than what you accomplish. It is about showing up, learning through practice, and becoming the technical person you want to be.

1. Intentional Learning in the Age of AI

AI makes it easier than ever to generate code, create content, and build things quickly. But producing something is not the same as understanding it.

Intentional learning, hands-on practice, and curiosity remain valuable. Taking one small step each day, with a genuine intention to learn, can build meaningful knowledge and experience over time.

AI can be a useful tool along the way. What matters is staying engaged in the process, not just focusing on the output.

2. Consistency Over Perfection

It is easy to believe that meaningful progress requires large contributions, impressive projects, or hours of uninterrupted work.

But growth can also come from small, repeated actions: reading code, asking questions, improving documentation, investigating a bug, or learning something new.

One Commit a Day encourages a sustainable practice built around showing up, even when progress is small.

The goal is not perfection, but consistency. You don't have to accomplish something significant every day to keep moving forward.

3. Meaningful Contributions Over Commit Counts

The name One Commit a Day started with a simple daily contribution challenge. Over time, the meaning of contribution became broader.

A contribution is any action that helps move a project forward or deepens your involvement in technology and open source.

It can be:

A Git commit is one way to record progress, but it is not the definition of progress.

Not a productivity tracker. The goal is not to extend a contribution streak or make your GitHub contribution graph greener. The grass may look greener on someone else's graph, but what matters is meaningful progress in your own journey.

4. From TO-DO to TO-BE

Most productivity systems focus on what needs to be done. Tasks, deadlines, milestones, and completed activities are useful, but they only describe part of the journey.

Inspired by the idea of a Japanese diary system, One Commit a Day also introduces a different question: Who do I want to become?

TO-DO

What do I need to do today?

  • Complete a task.
  • Fix a bug.
  • Learn a technology.
  • Contribute to a project.

TO-BE

What kind of developer do I want to be?

  • What problems do I want to solve?
  • What values guide my work?
  • How do I want to learn and contribute?
  • What kind of technical person am I becoming?

The two are not opposites. They complement each other. Daily actions provide experience, while reflection helps give those actions direction.

The TO-BE journals provide space to explore personal direction, relationships with technology, and long-term technical practice.

5. Growing Through Open Source

Becoming an open-source contributor is not simply about submitting pull requests. It is also about understanding projects, participating in communities, communicating with maintainers, and building trust over time.

A Possible Journey

  1. Explore: Discover projects, communities, and technologies that interest you.
  2. Focus: Choose a few projects and become familiar with their codebases and communities.
  3. Contribute Deeply: Take on larger issues, support other contributors, and propose improvements.
  4. Collaborate: Build relationships and become a trusted contributor over time.

This progression is not a fixed career ladder. Everyone has a different path, pace, and area of interest.

The purpose of consistent participation is to create opportunities for deeper involvement and meaningful collaboration.

6. Make the Framework Your Own

One Commit a Day is designed to be flexible. Not everyone has the same schedule, responsibilities, energy, or technical goals.

You can start with daily logs alone, introduce weekly reflections later, or explore the TO-BE journals whenever you feel ready.

The contribution levels are guidelines, not performance requirements. Recovery Mode exists for days when normal participation is unrealistic.

Take what is useful, adapt what doesn't work, and allow the system to evolve with you.

Show Up. Make Progress. Reflect. Repeat.

Small actions create experience. Reflection creates direction. Consistency gives growth room to happen.

Start Your Journey