Retrospective on 100 Days of Code

On April 4,2024, I finished Replit's 100 days of code project that involved building small games and projects using Python. It was a good starting point and taught me a lot about writing scripts for automation, working with libraries and debugging. I'm grateful to the people behind the scene who made this happen and especially to the instructor, David Morgan, for his teaching and friendly demeanor.

Finishing this in early April was quite special since I did the last 20 something projects in Ramadan, a time when I was fasting and away from social media. I had some busy work weeks at my day job in March so sticking with Python in the evening required dedication and saying no to A LOT of things, including sleep.

Here are some things I was ruminating on during those last few weeks:

  1. At some point, you'll make every mistake under the sun.
  2. Sometimes the answer to a program not working is going for a walk, having a latte, listening to a Hans Zimmer instrumental and then firing up the laptop again.
  3. Peak coding hours are somewhere between 9:00 pm until the wee hours. I won't tell you how late though 💀 but I definitely subsisted on 2-3 hrs of sleep more than once.
  4. The post-major-bug-fix-adrenaline-surge will have you doing crazy things - throwing the trash out, putting the dirty clothes in the hamper, opening the windows, brushing your teeth, putting your hair in a three strand braid, checking in on people at odd hours.
  5. Building on last point, the highs will be very high and the lows will be very low. My four moods while looking at my own code, sometimes in the same sitting, were like this:
  1. Remember to enjoy the toiling and not be too focused on the end state when the thing is done. It is shallow to live only for some future goal for after all, it is the sides of the mountain that sustain life, not the top.
  2. I don't know about you all but for me, writing out things while brainstorming using pen and paper works pretty good; not the whole code but drawing a sketch and talking out loud about positioning different code blocks.
  3. It's ok to not retain everything you learnt in the first go. You'll remember tips and tricks better the more you use them so don't worry too much about perfect recall. It's perfectly fine to look things up over and over again until you get it.
  4. Do not give up halfway. Stay the course.
  5. It might take longer than 100 days to finish especially if you have other commitments. Don't fret.
  6. There will be projects you'll become very attached to and looking at them sometime later will give you the most vivid flashbacks.
  7. Not all suffering is bad. If you're struggling with something, it means you ARE trying to understand it and not just zoom past it to the next thing. Getting the foundations right is important so don't rush through it.
  8. If you give up on trying to resolve some error before going to bed, chances are that the same error will waltz back into your memory as soon as you wake up.
  9. A lot of the despair can be avoided by remembering that python can be a bit slow. Your code is fine. Just hit refresh and be patient!
  10. Code review coming up short can sometimes feel akin to printing something in the eleventh hour. Meaning don't do it when desperate or running short on time because it will NOT work.
  11. Make sure to thank anyone in the community that helped you sort out your debugging woes. I certainly reached out to them 3-4 times and they were able to help me figure it out within 24 hrs.

Some Favorite Projects

I really liked creating a visual novel for fictional characters, Isiah and Stella, which was essentially a text adventure game with images. Other examples include working with Spotify API to pull preview of songs from the last few decades, chat room and product price scraper. Here's a peek at some of those projects:

e-commerce price scraper

using Spotify's API to load previews of some songs from a given year

community chat (user view)

community chat (admin view)

You can find more of my projects on Replit. For the extra lazy, start here:

Dad Jokes // the credible hulk just got… more credible // POV you're in 1996 and in a chat room // Flask Web Server with 2 website endpoints // Auth // blog engine: three tablespoons daily // Isiah and Stella // A Calculator From The Stone Age // To-do list management system // sending automated event alerts to yourself // scraping 101 (working with HN) // Hashing & Salting

I'm proud of all this and am not planning on making this endeavor a one time thing. What shall I build next? You'll find out soon.