Restarting the #100DaysOfCode Challenge

I've taken on multiple #100DaysOfCode challenges before — some completed, some cut short. Now, I'm restarting, this time focusing on Machine Learning. Consistency, not perfection, is the goal. Join me on this journey of learning, experimenting, and improving — one day at a time.

Restarting the #100DaysOfCode Challenge

In the past, I have taken on multiple #100DaysOfCode challenges. Each time, it felt like setting out on a long, structured journey that kept me disciplined, focused, and constantly learning. Some of these challenges were well-planned, while others were more spontaneous. But they all had one simple rule: code every single day for 100 days straight.

I also attempted #50DaysOfCode twice, but both times, I couldn't complete them due to other work commitments. Despite that, I know how powerful these challenges can be, and now, I’m ready to restart with a fresh focus.

What is the #100DaysOfCodeChallenge?

The #100DaysofCode challenge, originally created by Alexander Kallaway, is a commitment to code daily for 100 days and share progress online. The idea is simple: consistent effort leads to improvement. The official site, 100DaysOfCode.com, provides guidelines, motivation, and a supportive community to keep participants on track.

Why It Worked for Me

Consistency is one of the hardest things to maintain when learning something new. It’s easy to get excited about a topic and then let that excitement fade after a few weeks. The 100-day challenge worked for me because it removed the need for motivation. I didn’t have to decide whether I felt like coding—I just had to show up and do it.

Over time, I started seeing results. The days when I struggled but still pushed through were the ones that taught me the most. It created a sense of momentum, and after a while, skipping a day felt like breaking a promise to myself. The challenge became more than just a personal goal; it became a habit.

Tweet from my 95th Day of my first #100DaysOfCode challenge

Another major benefit was public commitment. When I shared my progress online or discussed it with friends, it created a psychological lock-in. It’s easy to quit something in private, but when people expect updates, it adds an extra push to stay on track. Peer-to-peer catchups and interactions also helped—seeing others progressing with their own challenges often gave me a new sense of motivation.

Tweet from my 8th Day of my second #50DaysOfCode challenge

The Downsides – And How to Avoid Them

Of course, this challenge wasn’t all smooth sailing. There were some days when I was too tired, too busy, or simply not in the right headspace to code. Yet, the pressure to keep the streak alive sometimes made me code just for the sake of it. And while consistency is valuable, doing something just to check off a box can lead to burnout or shallow learning.

Another potential downside is the external validation trap. When you share your progress publicly, it’s easy to start doing it for the sake of showcasing rather than for personal growth. The challenge should be for you, not just to impress others. If you’re only chasing likes, comments, or recognition, you might lose sight of the real goal—learning and improving.

The best way to approach it is with flexibility. If a day gets too overwhelming, it's okay to take a break. It’s okay to adjust the challenge to fit your life rather than forcing your life around it. Quality over quantity always matters.

My Next Challenge – Machine Learning

Now, I’m starting a new #100DaysOfCode challenge, this time focusing on Machine Learning. ML has always intrigued me, but I never gave it dedicated time. This challenge will help me break through that initial barrier and start experimenting with different models, algorithms, and real-world applications.

This time, I’ll be focusing on:

  • Small, consistent progress rather than massive daily coding sessions.
  • Understanding concepts deeply instead of just implementing tutorials.
  • Building something real so that by the end of 100 days, I have a solid grasp of ML fundamentals.

Should You Try It?

If you’ve ever struggled with staying consistent in learning, this might be exactly what you need. It’s not about perfection—it’s about progress. The challenge gives you structure, accountability, and a reason to show up daily.

If you decide to take on a similar challenge:

  1. Set a clear goal – What do you want to achieve? Learning a new language? Building a project?
  2. Track your progress – Use Twitter, GitHub, or a journal to log what you do each day.
  3. Find a community – Peer-to-peer learning and discussions help keep you engaged.
  4. Be flexible – Missing a day isn’t failure; it’s part of the process. Adapt and keep moving.
  5. Do it for yourself – The goal is growth, not just showcasing progress to the world.

It’s a simple idea, but it works. It worked for me before, and I hope it works again. I’ll also be sharing my journey — what I learn, my thoughts, plans, and ideas — through posts/tweets. If you’re interested, feel free to follow along!

So, here’s to 100 days of learning, experimenting, and getting better — one step at a time. 🚀