What I built
I built a web application to help users automate their job search.
Category Submission:
Built for Business
App Link
Screenshots
Description
This is a full-stack application, and I used Node (Express) as a backend, MongoDB as my database, Auth0 for authentication, and React as my frontend.
Link to Source Code
Permissive License
Background
Two years ago, when I was looking for work, I found more luck on Twitter than LinkedIn. Twitter made it easy for my resume to reach the hiring manager, whereas I was never sure on LinkedIn. On Twitter, I was able to talk to real human beings about the job and forward them my resume. There were no awkward cold emails.
Soon, I was searching for jobs on Twitter daily. I quickly automated the process and wrote a script that will explore the jobs for me.
And yes, it did land me a few interviews.
So for this hackathon, I converted those few lines into a whole application. It has authentication, a database to save jobs, a frontend built with React, which lets the user create, search, delete, update, and store the relevant positions.
How I built it
Building this application was challenging for a lot of reasons; nonetheless, it was enjoyable.
Tools
I had to decide what tools to use. I knew I would be using React to create my frontend (because I have been working with it for a few years).
I wasn't sure what to use as my backend. I had always wanted to try Node(Express) and thought this would be an ideal place to start.
Twitter API
The other issue I faced was the Twitter API. Even though they have documentation, it isn't easy to work with. I had to find another way around, but I will work with their direct API in the future.
Authentication
I never worked with authentication before, so learning authentication was fun. I decided to use Auth0 for authentication, and it was super straightforward.
I would like to give a shoutout to The Collab Lab here and especially to Sam Julien for helping me find my way around the Auth0 authentication.
Deployment
I had never deployed a full-stack application before, and I wasn't sure how to do it. I tried, but Digital Ocean didn't let me. For whatever reasons, my Digital Ocean account wasn't allowing me to deploy my application. I reached out to Chris Sev, and he was able to deploy it on his end with some errors. I then created another Digital Ocean account, and I was able to deploy it (again with some errors). (I still can't deploy the application using my original account).
I followed Traversy Media's video to fix some of the issues. I deployed it again, but this time, I saw a new error.
The Collab Lab came to my rescue again. I posted my problem on their slack channel, and David Lluna hop on a call with me within a couple of hours and helped me figure out what I was doing wrong.
I was adding all of my environmental variables except NODE_ENV === 'production'
, due to which my client was not building.
Future Features
I would like to add
- Notifications
- Categories - I am a developer but I also am a freelance writer. I look for both opportunities and I would benefit from having the jobs listing separately for both of them.
- Get premium Twitter API to have more reliable results
Additional Resources/Info
I would like to add some resources I used for building this application:
Top comments (0)