100 Days of Projects

Overview
This page documents and details my experience with the 100 Days of Code Python course by Angela Yu. The program covers various aspects of computer science and programming through project-based learning and there is an independent complete project for each day of the course that incorporates the breadth of what is possible with Python. To view the entire GitHub Repo, please click here, or continue reading for more details.
Motivation
From my education and experience, I gained aptitude with Python, but there were vast gaps in my knowledge. While I could train, run, evaluate, and iterate machine learning models with scikit-learn, Keras or TensorFlow, I lacked greater exposure with object orientated programming, graphical user interfaces, user design or other areas of computer science. Although I knew about these concepts and used them, I felt like I needed to improve them to better round out my skillset and to communicate about problems from various perspectives. Thus, when I found this course, I thought it would be a perfect experience to not only better my Python skills, but to build up my talents with the foundations of computer science. While there have been days where I felt incredibly frustrated with the process, the practice and experience I have gained have become invaluable to me and I truly feel like I have become a better coder through it.
Projects
I have listed all my projects below in descending order as the latter days are generally more complex than the earlier ones. For each project, I have linked its page on my GitHub where I have provided the code and some more information, including a short description, some quick stats and my thoughts about the project including any notes, relevant links, or other points of interest.
If you are unsure of where to start, I have singled out a few projects I think are particularly interesting or feel free to start anywhere in the full table below. More projects are still being added daily, so check back later for more of my work.
| Day | Project | Link |
|---|---|---|
| 49 | Automated LinkedIn Job Applications - to be added... | ![]() |
| 48 | Game Playing Bot - automatically plays the Cookie Clicker Idle Game using Selenium to handle web elements, the time module to space out commands and list comprehension for game logic | ![]() |
| 47 | Amazon Price Tracker - scrapes an Amazon product page to automatically detect price changes and sends the user an email if a price drops below the threshold they are willing to pay for it | ![]() |
| 46 | Spotify Playlist Time Machine - scrapes Billboard's Top 100 Songs from a requested date with Beautiful Soup, filters the data with regular expression and then uses Spotipy to handle the Spotify API to search for the songs and add them to a playlist automatically | ![]() |
| 45 | Movie Web Scraper - scrapes an online list of top movies using Beautiful Soup and creates a text file with the movie titles and their rankings | ![]() |
| 44 | CSS Site - the final day of the web development module that created a modern looking personal website focusing primarily on CSS styling | ![]() |
| 43 | CSS Resume - a continuation of the previous day that added CSS directly into the page and also a stylesheet, vastly improving the look of the page | ![]() |
| 42 | HTML Resume - a continuation of the previous day that added readibility through tables and forms | ![]() |
| 41 | HTML Personal Website - a simple resume or CV site that mimics the minimalistic style of some famous CS professors and serves as an introduction to HTML | ![]() |
| 40 | Flight Deal Tracker - a continuation of the previous day with added functionality, including an independent user signup on Replit, extra error handling and automatic checking for layovers if there are limited flights due to Covid | ![]() |
| 39 | Flight Deal Tracker - automatically finds and manages flight deals for a user and texts them if there is a fare reduction for a location it monitors | ![]() |
| 38 | Workout Tracker - asks a user about their exercise in natural language and records detailed information in a workout log on Google Sheets | ![]() |
| 37 | Habit Tracker - a program that interacts with the Pixela API to track habits through pixels and color, similar to the GitHub contribution graph | ![]() |
| 36 | Stock Alert - a SMS alert that checks a stock's closing prices and if a significant change is detected, it sends a text to the user letting them know about it along with recent news articles for the company | ![]() |
| 35 | Rain Alert - a SMS alert that checks the weather forecast through the OpenWeather API and sends a text to let the user know that they may want to bring an umbrella | ![]() |
| 34 | GUI Trivia Game - a trivia game that retrieves questions from the Open Trivia Database API and uses OOP to organize its functions and logic | ![]() |
| 33A | ISS Tracker - detects if the International Space Station (ISS) is overhead and will email the user if they should be able to see it in the night sky | ![]() |
| 33B | Stoic Quote Generator - a GUI that uses the Stoicism Quotes Public API to retrieve and display stoic quotes by different historical figures | ![]() |
| 32 | Automatic Birthday Emailer - automatically checks for birthdays on the current date and sends out a randomized email to the birthday person preventing the user from ever forgetting a birthday again | ![]() |
| 31 | Flashcard App - a GUI flashcard app that quizzes the user on vocabulary from a dynamically managed csv file | ![]() |
| 30 | Password Manager Expanded - an expansion of the previous day that changes the data to be stored in a json file, allows for searching through recorded data and incorporates greater error and exception handling | ![]() |
| 29 | Password Manager - a GUI password manager that stores security details locally and has the ability to generate strong random passwords | ![]() |
| 28 | Pomodoro Timer - a GUI timer that follows the Pomodoro Technique and updates its UI based on the user's progress | ![]() |
| 20 | Snake - a recreation of the famous Snake game using OOP to divide the logic and the Turtle module for the interface | ![]() |
| 11 | Blackjack - a recreation of blackjack that uses functions and recursion to organize the game | ![]() |
