My last roommate Jared and I became friends extremely quickly because of old cars. We met the year before when he caught me gushing over his minty E30 in the parking lot of our apartment complex, and him chancing by on the way to class. We hit it off instantly and ended up finding out we shared a programming class and were basically next door neighbors. This last semester, he asked me a few times to help him with a personal project related to pricing used cars using data from BringATrailer.com. The whole thing was an extremely fun (and at times unnecessarily difficult because of CORS policies) project to work on after coming home from classes. Much to my suprise I found myself using the web application several times a week when I went back home to price cars I was looking at myself. This of course lead to one of many software developer's favorite time consuming activities: reinventing the wheel, but this time it's going to be in hot new flavor language of the month!
As summer rolled around I started looking around at newer web technologies. I had done a couple of freelance projects in Django recently, so naturally I opend up PyCharm and began filling out the different views and models for a new project. I then realized the scope of the project was going to be way smaller than a monolithic Django app, so I started fiddling around with Flask for the first time. Flask was nice and really easy to prototype on, but by the time I had looked up, it had already been a month and a half and all I did was have a Bootstrap powered mockup of what I wanted the site to look like and a half working Beautiful Soup script.
Along came Dash, a Python framework that combined Plotly.js and React with the magically light Flask HTML Generator. I wasn't overly focused on the newest niches, I just needed to prototype something that worked. Once I figured out how to do some fairly simple things with Dash, I finished writing a scrapy script that grabbed JSON data from a couple different Bring A Trailer links, and loaded it up into a SQLite DB hosted on an AWS server I set up. Once the DB was set up, I wrote a couple functions to populate the Dropdown menus and graphs for Dash, and within a few hours, I had a working live python version of the project we worked on last semester! Sucess!
Sure, it's not the prettiest yet, and there are a few bugs, but it works. And because the whole thing is built on Flask, it can easily be integrated into the previous Flask project I was working on! But most importantly, I pushed working code instead of spending another month overly focused on miniscule things. Don't spend so much time trying to find the right tools that you can't produce a product.