Hello! I'm Sara Strasner, a full-stack JavaScript developer learning Python using a 100 Days of Code course on Udemy. This webpage gives me a way of reflecting on what I've learned each day, while seeing my own growth through daily Python projects.
A basic server built using Flask and a function speed calculator decorator function.
View this Project
A data entry job automation bot that searches for potential rentals on Zillow, scrapes the relevant data with Beautiful Soup, and completes a Google form with that data using Selenium Web Driver.
View this Project
Uses Selenium to automatically log in to Instagram, navigate to the page of a given account, click the followers link, and start following those accounts one-by-one.
View this Project
A bot that uses Selenium to get the current internet upload and download speeds via `speedtest.net` and tweets a complaint to my internet provider if either value is below their promised speeds.
View this Project
A Selenium WebDriver bot that logs in to Tinder with Facebook credentials and swipes right on the first 100 potential matches.
View this Project
A bot that uses Selenium to automate applying for jobs via LinkedIn.
View this Project
Uses Selenium Webdriver to create a bot that plays Cookie Clicker by clicking on the cookie as fast as possible. Every 5 seconds, it checks the right-hand pane to see which upgrades are affordable and purchase the most expensive one. Every 5 minutes, the bot stops and prints the cookies per second.
View this Project
An automated price tracker that uses BeautifulSoup to monitor the price of a given item on Amazon. If the price drops below a specified threshold, smtplib emails me with the price and item name.
View this Project
A 'Time Machine' that creates a Spotify playlist of the Billboard Top 100 songs for a user-provided date. Uses BeautifulSoup and requests for web scraping and Spotipy for authentication and playlist creation.
View this Project
A list of must-see movies built using data scraped via BeautifulSoup from Empire's list of 100 best movies of all time.
View this Project
A continuation of the Cheap Flight Finder project that accomodates multiple users, handles exceptions, handles destinations without direct flights, and emails all users when deals arise.
View this Project
A cheap flight finder that reads city data and maximum prices from a Google sheet and checks for the cheapest flights from tomorrow to 6 months later for all the cities in the Google Sheet. If the price is lower than the lowest price listed in the Google Sheet, it sends an SMS to me. Uses Object-Oriented Programming, the Sheety API, Kiwi Partners Flight Search API, Tequila Flight Search API, and Twilio SMS API.
View this Project
An application that uses natural language processing, Nutritionix API, and Sheety API to prompt for the user's description of their exercise and adds it to a Google Sheet.
View this Project
A full-CRUD habit tracker built with Pixela, requests, and datetime.
View this Project
An application that checks the closing stock prices for a given stock. If the closing stock price has fluctuated by over 5% in the last two days, it sends a text with the percentage difference, and the 3 latest news articles about that company. Built using Alpha Vantage API, News API, Twilio, requests, and datetime.
View this Project
Checks the weather forecast for a given location, and sends me a text message if it will rain within the next 12 hours. Uses Twilio for sending SMS and the OpenWeather API for checking the forecast.
View this Project
A refactored version of a CLI-based quiz app that included a GUI (via Tkinter) and pulls new data from the Open Trivia database each time the app runs.
View this Project
An ISS tracker that emails me if it's dark out, and the ISS is overhead. Utilizes Sunrise-Sunset and ISS Open-Notify APIs and smtplib for email.
View this Project
A birthday wisher that uses SMTP, datetime, and pandas to automatically send customized birthday emails to friends and family.
View this Project
A flashcard app built with Tkinter that shows a Spanish word and then its English translation after three seconds. If the user clicks that they knew the word, it is removed from the list of words to learn and won't be shown again.
View this Project
An updated version of the password manager that handles exceptions related to the data.json file. This version also has a search feature so users can search for an existing password.
View this Project
A password manager built using Tkinter. The app can provide a randomized password if needed and saves the website, username, and password to a local file.
View this Project
An application built using tkinter to help users implement the Pomodoro Technique when working.
View this Project
A GUI program that converts miles to kilometers built with Tkinter.
View this Project
Returns the NATO alphabet for each letter in a user input string. Built using list and dictionary comprehension. Pandas is used to import, read, and manipulate a .csv file of the NATO alphabet.
View this Project
A guessing game that prompts the user to name all 50 states. Correctly guessed states are labeled on a map. The states data is read and analyzed using the pandas library. The map is rendered using the turtle library. The game keeps a record of correct states and at the end of the game creates a csv file of states to study.
View this Project
Opening, reading, and writing files to complete a mail merge project.
View this Project
Similar to that of Frogger, the goal of Turtle Crossing is to cross a busy road and get to the other side without being hit by a car. This game is built using Object-Oriented Programming, classes, and game logic.
View this Project
Building Pong, the classic arcade game, with Turtle, classes, class inheritance, and game logic.
View this Project
Part II of the Snake Game Part I build. Creates and updates a scoreboard and detects collisions with food, wall or tail. Built using Object-Oriented Programming and class inheritance.
View this Project
Part 1 of the two-part build of the classic Snake Game. Built using Object-Oriented Programming.
View this Project
A digital turtle race built using event listeners, state, and multiple instances of Turtle Graphics. The user is asked to predict a winner, and each turtle takes a random number of steps until a winner crosses the finish line.
View this Project
A digital art creation app inspired by Damien Hirst's spot paintings, which feature rows of randomly colored circles.
View this Project
A quiz game built using Object-Oriented Programming. The QuizBrain class has methods that check for remaining unasked questions, asks the next question, checks the user's answer, and print's the user's current score.
View this Project
An updated version of Coffee Machine (below), which has been refactored using Object-Oriented Programming.
View this Project
A virtual coffee machine that takes orders, checks available resources (coffee, water, milk) before fulfilling orders, processes payments and gives change, and renders a report of the machine's current resources and money
View this Project
An implementation of the Higher Lower game. The user is given two cards and has to decide which of the two has more Instagram followers. This game is built using game logic, conditionals, loops, and local and global variables.
View this Project
An number guessing game built using a variety of local and global variables and namespaces.
View this Project
An interactive blackjack game using using a variety of function and loops, and advanced game logic.
View this project's flowchartView this Project
A calculator using recursion, while loops, and functions that provide outputs
View this Project
A CLI silent auction app that askes for a bidder's name and bid, then clears the screen for the next bidder to enter their name and bid. Each bid is added to a dictionary. Once all bids are entered, the largest bid is found in the dictionary and returned as the winner of the silent auction.
View this Project
Implementing a Caesar cipher, which takes a message and a shift value, then encrypts/decrypts the message shifting each letter forward or backward based on the shift value.
View this Project
A hangman game built with lists, if/else statements, and loops.
View this Project
A password generator that user for loops to generate a randomized password using user input.
View this Project
An interactive rock, paper, scissors game built using conditional logic.
View this Project
A text-based adventure game that gives the user a series of binary choices that may or may not lead them to a hidden treasure.
View this Project
A tip calculator that uses basic mathematical operators to calculate a grand total with tip, and then splits that number among how many will be paying the bill.
View this Project
A Python implementation of the classic band name generator. City You Grew Up In + Name of Your First Pet = Perfect Band Name.
View this Project