Personal Projects

Can I Outsmart United Airlines? - Oct 2023
AI has been the latest craze so I wanted to embark on a side project to learn more about it. My goal was to build a model to predict if an airplane ticket would increase the next day. I chose to train/test my model on a specific airline + route
to minimize differences in airline pricing algorithms and market demand trends. I ultimately landed on non-stop United flights from SFO-LAX as I take this flight multiple times a year. You can view the data set, models, and in-depth explanation
on Kaggle.
The project ended up including three parts. I started with a random forest model in the first part because it typically needs less data processing (doesn't require normalization) and is less prone to overfitting. I chose to measure the
effectiveness of my model based on prediction accuracy: if it correctly guessed whether the price increased the next day. In part 2, I implemented a deep neural network following the FastAI "Practical Deep Learning for Coders" course,
specifically "Lesson 5: From-scratch model", which was surprisingly easier than I anticipated. In part 3, I implement the same deep neural network model as part 2, but use the FastAI library instead. I chose to create a from-scratch model first
to better understand how a neural network works.
Overall my deep neural network model performed worse that my random forest model. I have several ideas for why this may be the case. First, my data isn't too complex or extensive so I am training a complicated model on a small amount of simple
data. Second, I may not have normalized my continuous data (Oil_Price and Days_In_Advance) optimally, Lastly but more importantly, because airlines sell in "buckets" and price in fare groups, a random forest model should tend to perform better.
While my deep neural network wasn't as effective as I had hoped, it was a great learning experience and now I won't be dumbfounded when I hear terms like "stochastic gradient descent" being thrown around.
Kaggle Data Set Link: https://tinyurl.com/airfare-dataset
Kaggle Part 1 Code: https://tinyurl.com/airfare-predictor-pt1
Kaggle Part 2 Code: https://tinyurl.com/airfare-predictor-pt2
Kaggle Part 3 Code: https://tinyurl.com/airfare-predictor-pt3

Boosted Board Stealth - Feb 2023
When I initially moved to San Francisco in Jan 2023, I thought I would be walking everywhere since my office was a 20 minute walk away and public transportation was convenient. However, the closest gym (Bay Club)
also involved traversing a massive hill (Telegraph Hill). I would be taking the Filbert Steps after every gym session, impossible after any leg/cardio workout. Having riden a penny board throughout college
and watched Casey Neistat vlogs growing up, it was only fitting that I get a Boosted Board. The Boosted company went out of business and was sold off to Lime in April 2020, but there were plenty of used Boosted Boards available locally.
Despite the lack of official customer support, I was set on acquiring a Boosted Board: half because of nostalgic Neistat vlogs and half because the product itself was well made and still had a strong community of enthusiasts.
I ended up buying a well-used Boosted Board Stealth off someone on Facebook Marketplace, who also became my first truly random friend since moving to SF. The board had slightly over a 1000 miles on it, but the battery was replaced
a couple hundred miles ago so I felt comfortable buying it. When I got the board, I took it completely apart and did a thorough assessment. I ended up replacing quite a few worn parts (motors, grip tape, deck screws, bearings, bushings, nuts, wheels)
and cleaned the rest (trucks, motor guards, battery/esc/motor screws, deck spacers) by soaking them in a vinegar bath before brushing off the rust. From this endeavor, I learned a lot about the Boosted Board construction as well as some of the
common problems. For example, my extended range battery has the 2.1.7 firmware which means its prone to the RLOD (Red Light of Death). Some very smart riders discovered the best way to prevent the RLOD is to keep the battery charging whenever
it's not in use so the battery management system can continue balancing out the cells (an excellent example of the Boosted community).
Of all the new parts, the most recognizable is my custom grip tape. I wanted to make my board unique and found a Reddit tutorial on making custom grip tapes for Boosted Boards. I ended up choosing the Arizona Green Tea background
and overlayed the Boosted logo on the bottom right corner to maintain the Boosted branding. The custom grip tape costs only ~$10 more than a standard black longboard grip tape, so it was definetely worth the upgrade.

Personal/WFH Desk Setup - March 2023
I believe my desk setup is an excellent encapsulation of my qualities: minimal, organized, highly-functional, and cost-efficient. I spent many hours researching products and scouring local online marketplaces, and am ultimately
very satisfied with the end product. The main problem I encountered was having a dual monitor setup which could easily switch between my Macbook Pro 13" (personal) and Windows Surface Pro (work), while maintaining full functionaility
of the accompanying accessories (speakers, monitor light bar, webcam, keyboard, mouse).
I ended up choosing 2x LG 4k 27" monitors with identical display specs, but one with the added functionaility of usb-c charging. I can pass through data (audio + video) and charge my laptop with a single usb-c cable, but more
importantly, the monitor has a usb-a hub on the back. By connecting my webcam and speakers to this usb-a hub, these accessories will automatically connect with whatever laptop is connected to the monitor. My mouse (Logitech MX Master 3)
can easily connect and switch between 3 devices, but my keyboard (Apple Magic Keyboard) only wirelessly connects to one device. To work around this, I hardwire it to the Microsoft Surface Pro Dock with a lightning cable whenever
I am using my work laptop. My lightbar is also connected to the Surface Dock as it only needs power. Overall, I only need to swap a single cable for each monitor when switching between laptops.
I bought my desk and chair (Autonomous Smart Desk Pro and ErgoChair Pro) off Craigslist at a 60% MSRP discount and miraculously Uber XL'ed it back. The rest of the visible desk accessories are from Amazon: Vivo dual monitor mount, Omoton dual
laptop vertical stand, and PU leather desk mat in the light blue colorway. You'll notice a lack of cables because I incorporated a cable rack, velcro straps, zipties, and clips for cable management. All of the electronics
(monitors, chargers, desk motors, etc.) are connected to a surge protector (APC P12U2) with a 330L-N/400L-G/400N-G rating, so they are well protected from any brown/blackouts. If there is one thing I would change about my setup, it would
be the resolution of my monitors. I should have saved money and opted for 2k resolution since fonts and icons are way too small at 4k 27". I found myself changing both my macOS and WindowsOS to 150% zoom, which is the same as 2k resolution.

andrewliu.fyi - May 2023
I contemplated for a while whether or not to create a personal website. The idea spurred after watching countless content creators advocate for displaying you work, particularly Ali Abdaal and how the book "Show Your Work!" by
Austin Kleon impacted his career. The thought was only bolstered by the countless brilliant individuals I came across who published their thoughts on personal websites. My primary hesistation wasn't from fear of friends/family
coming across my website but rather fear of having no useful information to provide. However, I soon realized it would be impossible to initiate a conversation around topics I find interesting without putting my thoughts/work out for
people to digest.
I coded my website from scratch by following a tutorial on YouTube that had a design I liked. I made sure the tutorial only used HTML, CSS, and JavaScript because I wanted to host my website on GitHub Pages, which requires the website be
static. The primary reason for using GitHub was because it was free, unlike other platforms. This was the first time I ever programmed in HTML/CSS/JavaScript, but after spending 20 hours following the tutorial
and creating their template website, I had a general idea. I am by no means an experienced programmer in any of the three languages, but with enough trial and error, I was able to customize the website to my liking and add additional content.
You can find the source code to my website on my GitHub, which is linked to the Github icon on my Home page.