Building My Sliding Sleeping Platform
April 2026 · Designing and building a sliding sleeping platform for my trunk
April 2026 · Designing and building a sliding sleeping platform for my trunk
The platform in its stowed configuration, fitted into the rear cargo area with space underneath for gear storage.
The sliding front section pulled forward over the folded seats to create a flat sleeping surface long enough to actually use.
Leon Leibmann, Galen Weld, Amy X. Zhang, Tim Althoff
ICWSM 2025 — Copenhagen, Denmark
Galen Weld, Leon Leibmann, Amy X. Zhang, Tim Althoff
arXiv Preprint — 2024
Check back soon for updates on current research and projects.
A fingerprinting URL shortener
A full-featured research point generator
A wordle-like game on historical figures
Exploring modern web development without JavaScript
Lecture auditing tool for exploring new topics
Explore UW demographics by extracting names and contact info
Utilize compression patterns in the form of everyone's favorite spaceman
Add customization and punshments your servers' popular Discord chat game
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.
BS. Computer Science, Data Science Option
GPA: 3.74
Thanks for wanting to get in touch!
Feel free to fill out the form or
send an email to
contact@leibmann.org