Projects
Email Read Receipt
Inspired by the the idea of read receipts in traditional text messaging, I created a program that send a notification when an Email I want to track is opened by the recipient.
Utilizing AWS, I launched and hosed a web server using NGINX. From there, I wrote server side code to analyze HTTP methods accessing the content being hosted on my web server.
By including tracking pixels, each with a unique identifier generated by my Python scripts, by monitoring the server logging, I could track what content on my web server was being requested by who.
Attaching the functionality of Amazon SES, when an Email that is being tracked is opened, an alert is sent to my phone with the timestamp and subject line of the email.
Code Featured on my GitHub --->
Working with linear algebra principles, I created a program that compresses images, reducing the amount of storage they take up in exchange for the loss of a little visual clarity.
How much the image is compressed, and therefore how much visual clarity is sacrificed, is determined by the user entering a "compression factor" during the run time of the program.
For this script, I used singular value decomposition to employ rank reduction on the images, utilizing Python and NumPy. The program works for both grayscale and color images.
To the left (below if you're on mobile) is an example of what the program can do with an image. On the top, a normal photo of the UCSB campus. On the bottom is the compressed version of the image with a compression factor of 5. When enlarged, it is clear to see the dip in quality, especially in the sky and the ocean. However, if the images are shrunk, as below, the differences become less clear. (Compressed on the left).
Code featured on GitHub --->
Image Compression Software
Surf Forecast Web Scraper
Going to a school right by the beach, I take full advantage of all the Southern California Coast has to offer, with one of my hobbies being surfing. However, surf forecast websites, especially for smaller breaks, aren't known for their reliability.
Through this project, I wanted to compile different surf forecast data from a variety of sites in order to give myself the the chance to read all of the data in one place instead of having to visit 3 different sites and sit through 30 second ads on each.
Utilizing the Selenium, I was able to web scrape relevant data from different forecast websites. Using HTML, CSS, and Bootstrap, I then compiled the data on a simple web page to have an easy read on all the projected conditions for the day.
Code featured on my GitHub --->