One of the aspects I enjoy most about data analysis is sharing insights I find from the data. Creating a dashboard to share insights using Dash is easy if you know a little Python, but hosting an app can get a little tricky. I swear, my first time in a Linux server I probably spent more time figuring out how to troubleshoot errors than code the app! If you’re trying to break into a career in data, understanding how to host apps and dashboards gives you the ability to easily share a portfolio of projects to potential employers or clients.
There are several reasons to analyze streaming data. Perhaps you’re looking for anomalies in credit transactions, monitoring network traffic and server resources in a time series, or capturing tick data for automated trading algorithms. Or maybe you simply want to see what people are saying about wine on Twitter! In this article, I’ll explain how to use the Python library Tweepy to stream live tweets into a the wine dashboard built with Dash.
The road to riches is paved with multiple income streams, and these days it has never been simpler to start an online business with little to no start-up capital. In my previous guide, How to Start a Business in an Afternoon using Python and Dash, I explain how to sign up for an Amazon Affiliate account and create a home page for an affiliate website from scratch using Python and the Dash framework. If you have not read the previous guide, do not worry! This article contains the complete advanced template code for the website and these new features!
A few years back, I started exploring ways to make extra money and always saw affiliate marketing pop up as a popular option. I did some research and decided to give it a try. I picked a niche I thought I’d enjoy: Reviewing food. I created a website and tried to build a business around reviewing beef jerky, and I called it Ultimate Jerky Review (UJR)! Although I shut down the website since it wasn’t a very lucrative endeavor, I learned a lot about how to set up and get started affiliate marketing.
Not long ago, it was declared that Data is the new oil in the digital economy. Since that declaration, understanding cyber security and how to protect data has become of utmost importance for businesses around the globe. As someone who works with sensitive education data every day, I understand first hand the seriousness of keeping records protected.
It has been over a year since I created pythondashboards.com to help people learn the Dash framework, and my tutorials have gotten over 300,000 views to date. I am truly thankful to everyone that has supported me and found my content helpful. I appreciate the feedback and will continue to publish content to help beginners and everyone else master the Dash library.
Read more of this content when you subscribe today or view it on Medium.com
Creating the Auto-Sommelier
Back in August 2019, I put my first Natural Language Processing (NLP) project into production and hosted the Auto-Sommelier on my website. Using TensorFlow 1 and the Universal Sentence Encoder, I allow users to describe their ideal wine, and return wines with a description that is similar to the query. The tool transforms wine reviews and user input into vectors and calculates the cosine similarity between user input and the wine reviews to find the most similar results.
When researching boot camps online, there always seem to be a lot of mixed opinions. There are a lot of them out there, some more expensive than others, and they all have slightly different focuses while claiming they can churn out analysts, full stack devs, and/or data scientists in as little as 12 weeks. In my experience, education tends to boil down to you get out what you put in, and my experience taking a Data Visualization and Analytics boot camp was no different.
Why a Boot Camp for Me?
I’ve always been interested in computers, but never thought computer science was for me. Growing up, I never felt like I was that good with numbers so I didn’t try that hard when learning math. In high school, I took a course on Java and a course on computer networking fundamentals. Neither of them captivated me, so I decided to keep computers a hobby and ended up studying Scientific and Technical Communication in college.
When I landed my first job out of college as an intern technical writer at a software company, I got my first taste of what computer science was really about. I fell in love with a language I had never seen before: SQL. When my internship ended, since I loved the company, I decided to take a job with their support team. It gave me an opportunity to write every day, pick up technical skills like SQL, and learn about the software development life cycle.
After six-ish years of climbing the ladder in the support department, I felt like I hit a wall. I had transformed into a product expert who was reading and writing SQL all day. Although I had some skills, I felt like getting to the next level was going to take credentials I didn’t have. Additionally, my interest in analyzing data was beginning to take off. For example, I was obsessed with the stock market.
Starting the Boot Camp
While researching what I had gotten myself into, I read a lot of reviews about people not liking their teacher. I was super lucky in that regard and got a fantastic teacher. He was humble, patient, knowledgeable, and good at keeping the class interesting. One of the benefits of taking a boot camp that offers in-class instruction is getting to meet like-minded and motivated people face to face. It allowed me to make some new friends as we all struggled through the process of going back to school and tackling fast-paced content.
I went into the course with very little Python experience. I had written a couple scripts to scrape some stock data from finance websites, and I messed around with scikit-learn to make a few predictive models, but majority of my technical skill set was SQL. Within the first third of the boot camp, we had worked through fundamentals of Excel and VBA, and started working with python, APIs and JSON data. It was an overwhelming amount of content, but it really made me push myself to focus and learn. My free-time evaporated as I dedicated it to homework.
Creating a Portfolio of Projects
The boot camp focused heavily on creating a portfolio of projects that could get employers interested. They were mostly group projects which was nice since it forced us to strategize merging code and gave us experience developing on a team. We were able to form our own groups, pick whatever topics we wanted (for the most part), and then were off to the races. We had almost zero restrictions as long as we met bare minimum requirements.
If you’re an over achiever or have experience with any of the languages, the projects acted as great opportunities show off a bit. Some of the people in my cohort had advanced degrees, and the collective background of the class was broad. There were quite a few people who had a PhD or MBA, and there were people who had never written a line of code in their life. Because so many people came from different fields, there was no shortage of interesting project topics. The projects also gave us a chance to work on our presentation skills since we had to present them to the class once they were complete.
We covered a lot in a short amount of time… almost too many topics, actually. Just when you start getting comfortable and ready to do more advanced things, they change the topic. It is really up to you to decide what direction you want to take things outside of the classroom. For example, I am focused on python the most because I wanted to get into data science.
The coursework focused more on visualizing data than analyzing it, which might be great if that is what you want to learn. I was hoping to get more feedback on my assignments so I could gauge how I did with my analysis. The only stats we covered were things like Gaussian distributions, standard deviation, ANOVA, Chi-square, student-t, hypothesis testing, and a few other stats functions that I can’t remember from the SciPy Python library.
Life After Boot Camp
After boot camp, I felt like I accomplished a lot and was able to develop a foundation of coding skills. It opened the door for me to advanced my career. A couple months after completing my certification, I landed a job as a Software Product Analyst on the Data Science team at my employer. Now I get a chance to work with experienced data scientists, software engineers, data engineers and data analysts. I developed a passion for coding and an enthusiasm for data science. Beyond the coding and career development, I made some new friends in the boot camp who I still hope to see from time to time. The boot camp changed my life for the better because I busted my ass and kept a positive attitude even though I had to sacrifice a lot of time and dedicate myself to learning something new.
Boot camps aren’t for everyone, and if you’re thinking about taking one, make sure to research what the course offers. If you think you’re up for doing the work, they can definitely change your life and start you on a new path. The boot camp worked for me, but I already knew SQL and already had a passion for data. If you’re on the fence, check out all of the free MOOCs or online content that can help you decide if the topics are right for you.
Check out my github if you’re interested in seeing some of the assignments and projects I completed in the boot camp.
Life is going great! I’m getting married in nine days, I’ll be starting a new career in three weeks, I’m planning my next coding project, and studying hard to keep some of the skills I learned in the Data Analytics boot camp I completed a couple months ago. I have a lot of big changes coming up, and I know I will accomplish a lot of great things as a husband, Product Analyst, and data science enthusiast.
I’m proud of the wine recommendation app I was able to put together and host at robotsdodream.com, but I need to make a few improvements to enhance the user experience. I am working on redesigning the site so it returns the results on the same page, instead of redirecting the user away from the search tool. I’ll also be embedding links within the results so you can shop for the recommendations on wine.com.
The last feature I have planned for the coming months is a “Random” button. Not just any-old random button, though… I want to engineer a feature that could generate a random search query to produce the recommendations. Not only could I practice some NLP data manipulation techniques, but also I’d be able to provide some insight into wine descriptions. For example, I am not a wine connoisseur and don’t know a whole lot about ways in which people describe wine. These are some of my typical queries:
red and easy to drink
sweet and fruity
buttery rich chardonnay
full bodied and flavorful
As you can see, I don’t have an exhaustive vocabulary when it comes to wine. Using data science to better understand some of the key words used in the descriptions will hopefully help me produce better recommendations.
While I’m working on those features, I’ve started planning my next project. My soon-to-be wife and I have been talking about getting into some board games. As a life long gamer, I think analyzing some of the top board games on boardgamegeeks.com would be a fun way to decide which game we try next. I created a plan for the dataset and started working on a python script to scrape some data. I’ll write up a tutorial on what I did once I’m done with the data engineering phase.
Other than the coding projects, my wedding is right around the corner and I landed a new job that allows me to apply the experience I’ve gained over the last 8 years in new and exciting ways. Life is busy, but I am enjoying my upward spiral and can’t wait to see what challenges I’ll overcome next.