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.

DayProjectLink
49Automated LinkedIn Job Applications - to be added...View Project on Github
48Game 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 logicView Project on Github
47Amazon 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 itView Project on Github
46Spotify 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 automaticallyView Project on Github
45Movie Web Scraper - scrapes an online list of top movies using Beautiful Soup and creates a text file with the movie titles and their rankingsView Project on Github
44CSS Site - the final day of the web development module that created a modern looking personal website focusing primarily on CSS stylingView Project on Github
43CSS Resume - a continuation of the previous day that added CSS directly into the page and also a stylesheet, vastly improving the look of the pageView Project on Github
42HTML Resume - a continuation of the previous day that added readibility through tables and formsView Project on Github
41HTML Personal Website - a simple resume or CV site that mimics the minimalistic style of some famous CS professors and serves as an introduction to HTMLView Project on Github
40Flight 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 CovidView Project on Github
39Flight Deal Tracker - automatically finds and manages flight deals for a user and texts them if there is a fare reduction for a location it monitorsView Project on Github
38Workout Tracker - asks a user about their exercise in natural language and records detailed information in a workout log on Google SheetsView Project on Github
37Habit Tracker - a program that interacts with the Pixela API to track habits through pixels and color, similar to the GitHub contribution graphView Project on Github
36Stock 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 companyView Project on Github
35Rain 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 umbrellaView Project on Github
34GUI Trivia Game - a trivia game that retrieves questions from the Open Trivia Database API and uses OOP to organize its functions and logicView Project on Github
33AISS 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 skyView Project on Github
33BStoic Quote Generator - a GUI that uses the Stoicism Quotes Public API to retrieve and display stoic quotes by different historical figuresView Project on Github
32Automatic 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 againView Project on Github
31Flashcard App - a GUI flashcard app that quizzes the user on vocabulary from a dynamically managed csv fileView Project on Github
30Password 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 handlingView Project on Github
29Password Manager - a GUI password manager that stores security details locally and has the ability to generate strong random passwordsView Project on Github
28Pomodoro Timer - a GUI timer that follows the Pomodoro Technique and updates its UI based on the user's progressView Project on Github
20Snake - a recreation of the famous Snake game using OOP to divide the logic and the Turtle module for the interfaceView Project on Github
11Blackjack - a recreation of blackjack that uses functions and recursion to organize the gameView Project on Github