My Capstone Project – The Job Tracker

Photo by: Clem Onojehuo / Unsplash – https://unsplash.com/photos/fY8Jr4iuPQM

Inspiration and Project Goals

Every year, students of all majors begin the hunt for internships and new grad positions. They begin scouring the internet for job opportunities – sending out application after application, and attempting to connect with employers and build their network on various networking websites. Weeks pass and some of the applications that they submitted are moved to the next stage, some are rejected, and others are lost in the ether. More time passes and these same students are consumed with all the responsibilities that come with being a student and they quickly lose track of a majority of the applications that they spent so much time on. Worse yet, they lose track of the contacts that they reached out to and connected with, making follow-up nearly impossible. Hiring season comes and goes and these eager students are left wondering where they went wrong and what they could’ve done better.

My capstone project seeks to help students overcome some of these common pitfalls related to the job hunt. My team and I are building a job tracker web application that will allow students to create a personal profile, add and manage contacts, and track jobs through a pipeline consisting of interested, applied, interviewing, and decision stages. The so called “job board” page will allow a user to create a job and then drag-and-drop the job tile based on the current job stage. Created jobs and their associated job tile will house all the relevant job information – contacts, company, a link to the job application, etc. Users can take things a step further by attaching specific skills to the jobs that they’re tracking allowing the user to get a better understanding of what skills are most in demand related to the jobs they’re applying to. These job related skills can then be viewed on their profile page and compared to skills that the user is able to add and manage – a user can create personal skills and adjust their skill proficiency. This allows a user to see how their own strengths match to what is most sought after in the jobs they’re applying to. Here are a few of the early UI designs that the project is being based off of:

Profile page UI design
Job board page UI design
Contacts page UI design

Ultimately, the goal of this project is to provide students with a platform that will allow them to better manage the job hunt and gain some insights into what skills they can spend more time building to be more marketable in the job search.

Current State of the Project

As of today, we’ve completed roughly three weeks of work directly related to the job tracker web app. The project currently allows for user creation, authentication, and authorization. Users are able to login or sign up and are routed to their profile page where they can update their profile information, update their password, delete their account, etc. All web pages are fully responsive and are able to scale and respond to a desktop or mobile environment. Additionally, the contacts page UI is in process and will be complete and functional within the next week. Following this, we will be starting the implementation of the job board page and related functionality. As it stands, the project is currently using the following technologies: Node.js, React.js, Express.js, Firebase, Redux, and Bootstrap. Once complete, the application will be hosted using Google Cloud Platform’s App Engine.

Challenges and Growth

My focus has been primarily related to the front end application functionality. This means that I’ve been focused on writing code for the UI and to allow the front end to request and receive information from the back end. In all honesty, this has been a big challenge for me. I’m very comfortable with back end web development, but I’ve never had much of an opportunity to really solidify my front end skills. I’ve always found utilizing the CSS flexbox or the Bootstrap grid system to be intimidating – I could make it work but it always felt a bit “hacky”. Despite all of that, I’ve learned a ton so far and feel really proud of my work. The login/signup page and the profile page UI both feel like the most professional front end work I’ve ever done – they’re responsive, easy-to-use, and the overall design looks really good.

So, what’s made the difference? For one, just stepping up to the challenge and allowing myself to embrace the uncertainty associated with learning anything new has made a huge difference. This is the first time I’ve really been forced to stick it out with front end development and hanging in there has given me the opportunity to learn more and more each day which has added up quickly! Another area helping me has been working through guides and tutorials about CSS flexbox and the Bootstrap grid system. I realized that my foundation in these two areas was pretty shaky – developing my understanding of how to use both of these systems has really improved my understanding of how to control the layout and responsiveness of a web page.

Final Thoughts

One of the most exciting parts of the capstone journey for me so far has been reflecting on how much I’ve learned and grown in the two years since beginning the post-bacc program at Oregon State University. I started out with a decent understanding of Python and not much else. I remember being overwhelmed in our web development class and spent a lot of time trying to understand how to implement a front end, a back end, and how to connect the two. To now be at the point where I know how to fully build and deploy a functioning web application is pretty amazing. That said, I’m really happy with the progress our team has made on our capstone project through three weeks and am looking forward to getting our application completed and deployed!

Interested in Any of the Technologies We’re Using?

Learn more about React.js: https://reactjs.org/

Learn more about Express.js: https://expressjs.com/

Learn more about Node.js: https://nodejs.org/en/

Learn more about Redux: https://redux.js.org/

Learn more about Bootstrap: https://getbootstrap.com/

Learn more about Firebase: https://firebase.google.com/