Inspiration
This semester I was really busy working part time, doing a full course load (with Data Structures and Algos homework eating up my time) - but I needed to be at my best when attending the career fair.
The current process of figuring out which companies to talk to, based on their hiring criteria and my interest, is really inefficient. The current app doesn't filter by major and year, is clunky and not worth taking up memory on my phone, so I'm relegated to manually sorting through 200+ employers and doing all of my research by hand.
I chose the chatbot platform because the UX is extremely friendly and straightforward, is fast (the wifi is slow up in the career fair area), and I knew that I wanted to focus on quick data gathering.
What it does
It allows you to build a profile based on your year, major, and positions (internship, fulltime etc.) that you fall under. From there it'll give you a list of companies to talk to based on your criteria. Finally, you can query for general and very specific information on the company. This serves two purposes:
- Determine if you want to work for the company (if they have a location in Seattle and you've never been - you might want to after learning that!).
- It gives you a leg up when pitching to the company. One use case is getting the tech stack that a company uses often - this could give you great talking points by linking your experience to what the company does on average.
How I built it
- The core logic is written in python.
- It stores data, maintains state/context using MongoDB
- It uses DialogFlow (formerly known as API.AI) for natural language processing
- Facebook messenger is the client
- grok is what was used to host and port
Challenges I ran into
Getting to the code was difficult as figuring out how to configure the client, design the database, maintain state, and do the natural language processing required many steps. I found it more difficult to host and get my client up and running than actually writing the code and realize how important taking care of tech debt and infrastructure is when building software in the real world.
Accomplishments that I'm proud of
Pushing through when facing major roadblock after another. I did my best to incorporate my team throughout the project and am so proud of how much we all grew as burgeoning software engineers. I'm proud of overcoming unforeseen issues and learning how to maintain state with our chatbot.
What I learned
Some of the key learnings we had:
- Working as a team to develop software - dependencies, clean code, communication etc.
- Working with NLP (intents, entities, parsing and normalizing/cleansing our inputs etc.)
- How data is stored and moved around.
What's next for CareerBot
We wish to continue to work on the conversational UX, gather more data, test with users and hopefully launch for the upcoming career fairs!
Built With
- apiai
- dialogflow
- facebook-messenger
- grok
- mongodb
- python
Log in or sign up for Devpost to join the conversation.