Set It Up
I've been wanting to dabble in machine learning for a long time but it intimidated me. The app I haven't isn't high level, but it's my first foot into the ML world and I couldn't be happier! I also added in web parsing, which is something I'd been wanting to explore — really, this idea exists because of the things I really wanted to learn but kept putting off due to intimidation.
What it does :
It takes a programming language from the user from the front end, runs it against Indeed.com to find potential employers through parsing, and save the information in a json file. This json file is used by brain.js to train itself to identify data. We then pass the user's language choice as input and ask out program to tell the user which company likely really needs someone talented in that language based on machine learning.
How I built it :
I used Node.js as the backend server. For parsing, I made use of the cheerio library, and brain.js for the actual machine learning portion of the program. The front end was done in pure HTML and CSS, and then connected to the backend using Express and ejs.
Challenges I ran into :
Taking input from html form, and displaying final output on an HTML page was definitely something I spent the longest on, given that this was the first time I was working with Node, Express and ejs. Parsing the input and putting it into the appropriate required json was also one of the challenges I faced. As Node.js is asynchronous, I also had to find work-arounds so it wouldn't use previous data to analyze and train itself, but rather newly generated data after the parser.
Accomplishments that I'm proud of :
What I learned :
Not speaking academically, I learned a lot of patience and that I shouldn't give up. I got frustrated, my program crashed and broke several times, and at one point I accidentally wiped my whole program and had to start from scratch. But I came out of it smarter. I learned a crazy amount in just one day, especially in terms of how machine learning works and how to do server side programming, and it really makes me excited to learn more.
What's next for Set It Up :
I'm definitely going to try to set it up (pun intended) with more parameters than just the language and make the interface a lot more cleaner. I would also try to make the training process quicker while making it more efficient. I'm far from done with this project.