About
Projects
-
ShortLinks
A fingerprinting URL shortener
-
Brainstormer
A full-featured research point generator
-
Peopledle
A wordle-like game on historical figures
-
This Site!
Exploring modern web development without JavaScript
-
Huskyfetch
Lecture auditing tool for exploring new topics
-
DubScrape
Explore UW demographics by extracting names and contact info
-
CompreSUS
Utilize compression patterns in the form of everyone's favorite spaceman
-
Counting
Add customization and punshments your servers' popular Discord chat game
-
CamRand
Explore cryptography by using a webcam as an entropy source and building an API
Shortener is a URL shortener that I made for my own personal use and to explore various browser fingerprinting techniques. It's a simple web app that allows you to create short links, but also allows you to track and map the IP geolocation of users who use your link. It also displays their browser information and time of access.
The app is written in Python using the Flask framework and adds SQLite as a database. It's hosted on a Raspberry Pi 4 and is accessible at links.leibmann.org.
The source code is available on GitHub.
My first published site, Brainstormer, is a simple idea generating tool that creates a word cloud from the given topic.
It queries the bing cognitive search api and runs NLP sentiment analysis to gather the most impactful words from the results, displaying them.
It was built using Bootstrap, Flask, Nginx, and elbow grease. Deployed with Cloudflare
Peopledle is a wordle-like game where you try to guess the historically-significant person based on sentences from their Wikipedia page.
Significant sentences are distinguished using PageRank, the powerful algorithm that powers Google's search engine. This allows for an accurate ranking of sentence significance, keeping the game challenging through any wikipedia article.
Your score is saved! Check out the hardest days using the Past People feature, which publishes scores. Go for the easy ones, or take on a challenge!
The site was built using Flask, as a backend, storing data in SQLite and JSON files with a frontend based on Jinja Templating .
Check it out on the site or take a peek at the source on GitHub
It uses wikipedia's list of important people, using the Wikipedia API the site to gather the information needed. If you have any suggestions for people to add, feel free to email me, I'm always looking to add to the list
This site was built entirely without javascript, using the checkbox hack and many other techniques to create a responsive, accessible, and fast website.
Built by hand in pure HTML/CSS3, uses twemoji, OpenSans, and Material Icons . Deployed on Netlify sourced from Github
Don't do anything silly, like open another instance of this website in the embedded window. Only you know your limits.
To visualizing the ever-changing nature of the NBA, I teamed up with Melisa Li, Clarence Muchina, and Rich Chen to visualize the NBA's rapid change over the past 10 years. We collected data on teams' three-point shooting statistics through the past decade and created interactive visualizations that highlight the significant increase in three-point attempts and makes over time.
Overall, we consumed over 5,554,545 rows of data, totalling 1411 MB. This was condensed and aggregated to produce the final, web-ready data.
We built our exploration using D3.js, Observable's Swatches, and Todd Schneider's NBA Shots Scraper
Built in 24 hours for DubHacks '21, HuskyFetch is a web app that allows you to search for any ongoing or upcoming lectures at the University of Washington.
It gathers this information through the many public course pages, and displays it in a simple, easy to read format.
While it originally gathered events from many other sources, including the official Google Maps API and several campus event calendars, it was refactored to focus on providing the best lecture finding and auditing experience.
It was built using Bootstrap, Flask, Nginx, and deployed on a Raspberry Pi 4. Check out the project on GitHub.
DubScrape is a web scraper that gathers information from the UW Student Directory . It was built to help me find the email addresses of my classmates, counting fellow CS students, and to help me learn how to use BeautifulSoup and LXML, extracting the results to a single CSV file for analysis.
While you must be a UW student to get access to student information, you can still use the tool to gather information about faculty, including getting a ratio of professors to staff.
The source code is available on GitHub.
CompreSUS is a python command-line utility that explores lossy compression, compressing and decompressing images into a pattern of pixels.
Of course, it earned its name from this combination of pixels: they take the form of everyone's favorite spaceman.
It was built to help me learn about compression, and uses Pillow and NumPy, with a fun and functional end-product.
The source code is available on GitHub.
Counting Royale is a discord bot that allows you to play the classic game of Counting with your friends.
After a channel is designated, people must count, starting from one. A person cannot count twice in a row or skip a number, otherwise the count resets. Sounds simple, right? It's not.
Losses are counted, and the person who loses the most is crowned the Counting Champion and "rewarded" with a channel mute, server kick, or any number of other actions.
These actions can persist across multiple servers and have an admin-decided time limit
The bot can be setup and has per-server configurations, allowing you to customize the actions and other settings to your discretion.
It was built using discord.py and SQLite.
The source code is available on GitHub.
CamRand is a simple web app that allows you to generate random bytes or a random number from a within a range.
Built to explore the concept of cryptographic randomness, it uses a combination of on-board hardware and webcam noise to generate these bytes, ensuring that they are truly random.
The app is built using my usual toolkit of Bootstrap, Flask, and Nginx, and deployed on a Raspberry Pi 4. The camera faces outside, making it responsive to daylight changes, the weather, wind speeds, and of course noise.
The source code is available on GitHub.
Resume
DownloadHighlights
-
September 2023
Accepted as a research assistant under Galen Weld, focusing on content use, moderation, and community sentiment across online platforms. -
June 2023
Officially hired as a Student Assistant at the McCarty Innovation & Learning Lab, a makerspace on the UW campus. While I would need to wait until September for my first shift, I got a head start on mastering the tools and have now helped over 100 students. -
October 2022
Published leibmann.org, the site you're on right now, to showcase my work and provide a platform for my future projects. -
September 2021
Enrolled at the University of Washington marking the formal beginnings of my computer science education. -
November 2019
Hired as a tennis coach for TGA of Greater Seattle. Maintained position until June of 2022, teaching scores of summer and in-school classes while building teaching and leadership skills
Education
University of Washington
BS. Computer Science, Data Science Option
Skills
Interests
Contact
Thanks for wanting to get in touch!
Feel free to fill out the form or
send an email to
contact@leibmann.org