COLAB14 - Chrome Extension

JD+

A Chrome extension that empowers job-seekers with insights beyond a job description.

Background  

When a candidate decides to take a job, there are so many things they would like to know before committing to a role. What is the culture of the company? How is the management? What are some of their key values? Also, there might be role-specific questions such as, what does the career progression look like? What does the role entail? How is the manager?

While the job search process is filled with uncertainty, it is important to make informed decisions to the best of our abilities. 

Problem 

67% young job-seekers believe job descriptions should include information about salaries, benefits, location, commute time, and employee reviews, as it is difficult and time-consuming to research every company they apply to. Lack of company research affects candidates' chances of getting a job. A study by Linkedin shows 47% of candidates failed job interviews because they didn't have information about the company they applied to. 

We had experienced this problem in our job hunt as well, so we started questioning,

How might we help job-seekers with limited work experience learn more about a job opportunity so that they feel confident when applying for a role?

Research Insights

Using our own experiences as job seekers, we first identified two prospective user groups: new grads seeking their first job and career switchers looking to break into a new field. 

To validate the existence of the problem, we interviewed five job-seekers and one recruiter. The main takeaway was that our users are looking to get a job while having limited knowledge about the industry, companies, and roles they are pursuing. Not only does this lack of information make it difficult for our users to know what role is the right fit for them, but it also decreases their chances of getting the job. 

Pain points:

  • Most job seekers apply to hundreds of jobs, and repeating these steps becomes a mechanical and inefficient process.
  • Users have to switch between many sites to get complete information (such as salary, reviews, etc.)
  • Some details like company value and specific project information are not available online.
  • New grads might be shy to network and don’t know what questions to ask in an interview.

We also did a heuristic analysis of LinkedIn and Indeed, and mapped the resources already available to job-seekers. 

From the research insights, we identified our primary user and their “jobs to be done”. Meet Mike, a job-seeker with limited work experience.

This helped us understand our primary user’s functional, social and emotional needs. The ultimate goal was to get a sense of achievement and feel proud. They wanted to ace the job interview and land a job that would be a right fit for them. 

  • They needed to have adequate knowledge about a company. They did this by researching the company’s mission, culture etc from the company’s website.
  • They saw the value in networking. They wanted to connect with employees at the company with similar roles, and hopefully schedule a coffee chat
  • They wanted to have background information about a company. They did this by visiting a number of third-party sites like glassdoor, blind, level.fyi, etc.

Design and Execution

As we started brainstorming potential solutions, we focused on how we can save time while simultaneously providing value for the user. We converted user needs into potential features. 

Originally, we planned to present LinkedIn profiles of past/current employees to the user so they can connect and get more information. However, we could not pursue this feature due to technical challenges caused by changes in LinkedIn’s API. Instead, we focused on how we can extract data already available and provide it to the user in a comprehensive and convenient way.

We started sketching ideas using the crazy 8s sketching technique and created low and high fidelity mockups for testing. The initial design had 3 screens (Guide, Links and Preview) as shown below.

Lofi & Hifi Mockups

Low-fi Mockups

Hi-Fi Mockups (first iteration)

Measuring Success and Testing

We conducted six moderated usability tests with a Figma Prototype. The measure of success was defined as:

  • Usability of the extension
  • Time saved compared to the manual approach
  • Overall user experience
  • Number of downloads and recurring usage (tested once the extension is live)

The response we got was overwhelmingly positive. 

"I am currency in the job hunt process and I would love to have this tool, as I go through this process 5-10 times a day - Pragya."
  • 4/5 testers thought the extension was very useful. 
  • 4/5 testers thought the UI was simple, easy to use, and beautiful
  • 4/5 users commented that user interface (UI) for the Preview Screen should be simplified
  • 3/5 users pointed out that the toggle to navigate between screens was easy to miss

We iterated our designs based on the feedback. The updated design had 3 primary tabs (Links, Preview, People) and a Guide as shown below. The UI was improved to be simpler and more accessible. 

Final Solution

The final design scans a job description the user is viewing and presents a list of third-party sites like glassdoor and Level.fyi that are auto-filled with the role and company information. 

  1. Preview Tab: Most valuable information mentioned by users (location, salary, reviews) available in one place 

  1. Links Tab: Save time by providing easy access to all resources users already used such as Glassdoor, Levels.fyi etc 
  1. People Tab: Allow users to network with past/current employees to get first hand information about the job 
  1. Guide: Provide resources to help new grads with research and networking process

Implementation Details

Technical implementation

Our application is hosted on Chrome Store, which uses an API hosted on Heroku. The application was developed with JavaScript (React.js), HTML, and CSS. The backend API was developed with Python (FastAPI) and SerpAPI for web scraping.


High-level journey of a request

When a user is on a job details page on Linkedin, they click on the JD+ icon in their browser, and a request is made to fetch information about the company. The returned response is the company website, LinkedIn, glassdoor, levels.fyi, and blind links. The user can then click on any links to learn more about the company.


Technical challenges

We attempted to use the LinkedIn API to search for profiles the user could connect with. Halfway through, we realized the people search function had been deprecated, and we needed to pivot our product to web scraping the data required for the application.

  • Currently, the requests are being made synchronously; therefore, the server takes some time to process requests.
  • The data being scrapped is not consistent, and we haven’t written tests to cover some edge cases. 

Some of our key takeaways were:

  • Focus on building important features first
  • Strive to have timely and clear communication between members of the technical team

Future Steps

We used a prioritisation matrix to determine our minimum viable product(MVP). implementation and decided to start with developing the links tab. As our next step, we will be:

  • Creating a marketing strategy to get the extension in the hands of the users. This will give us valuable feedback on our MVP
  • Next, we will focus on implementing the “Preview” tab. We have already conducted a feasibility study and found that most data can be extracted to display key information for a job.
  • As a final step, we will explore the possibility of implementing the “People” tab 
JD+ Future Roadmap

Learnings

Product Manager Learnings:

Sam Chen

  • Project management: working with the team to complete tasks and reach milestones effectively
  • Remote Collaboration: figuring out ways to communicate effectively, setting up collaboration processes like standups and weekly meetings to remove blockers and keep everyone on the same page.

Designer Learnings:

Sahar Sajjad

  • I learned how to work within an agile process. As circumstances changed, and we needed to pivot our problem or have more communication, we adapted to it.
  • I learned how to communicate within a cross-functional team. 
  • Most importantly, I learned how to hand off my design for implementation and do design reviews to ensure it closely follows the original design. I also started thinking about the feasibility of my designs.

Designer Learnings:

Jo Sturdivant

  1. Adapting to an Established Team: Joining the team in week 6 of 8 was challenging, as I had to quickly adapt to existing workflows, dynamics, and goals. This mirrors real-world situations where you often integrate into teams mid-project, and flexibility is essential.
  2. Work-Blocking for Efficiency: With only two weeks to complete the project, I learned the importance of a structured work-blocking system. This approach allowed me to manage my time effectively and meet deadlines under pressure.
  3. Making Data-Driven Design Decisions: Unlike my past projects, I had to rely on research conducted by others. This was a valuable experience in using pre-existing data to guide design decisions, helping me focus on the core insights without starting from scratch.

Developer Learnings:

Onyedikachi Eni

  • I learned how to work within an agile process
  • How to use a product backlog
  • The importance of effective prioritization

Developer Learnings:

Vanady Beard

&

As the back-end developer, I learned how important it is to create efficient and reliable systems that support the entire application. This experience also taught me the importance of optimising the database and ensuring the backend is scalable and easy to maintain.

Developer Learnings:

Stephen Asiedu

&

As a back-end developer, I've come to understand the importance of being familiar with various database systems and modules. This knowledge enables me to build diverse applications and maintain versatility in my work. I've also learned that the responsibility for making the right choices rests on my shoulders, guided by my best judgement.

Developer Learnings:

Oluwafemi Adenuga

&

  • Communicate MVP feasibility: I learned the importance of mapping out our MVP features and communicating feature feasibility to nontechnical members.
  • Check-in often: Providing updates with daily standup sessions helped track the stage of the app and how we can deliver more quickly.

Developer Learnings:

Maurquise Williams

&

  1. Process of Creating an MVP: Developing a Minimum Viable Product (MVP) taught me how to focus on delivering core functionalities balancing between essential features and avoiding scope creep.
  2. Collaboration in a Real-World Tech Setting: This experience taught me how to collaborate efficiently in a fast-paced tech environment, keeping the team aligned and productive, even while working remotely across time zones.
  3. Sharpening Critical Thinking and Problem-Solving Skills: This experience honed my ability to think critically and solve problems efficiently. By tackling challenges and finding quick solutions, I sharpened my decision-making and troubleshooting skills in a dynamic, real-world setting.

Developer Learnings:

Jeremiah Williams

&

All in all this experience was very awesome I learned that in coding with others being transparent is key

Developers Learnings:

Justin Farley

&

I learned how important communication is when working with a team. Communication provides understanding, advice, ideas, and much more. While working with the product team, I’ve found that communication keeps everything flowing smoothly. Working with a team also showed me that every member brings something different to the table and we all have to work together in order to align and meet our end goal.

Full Team Learning

As a team, we learned that we should check the solution’s technical feasibility early on in the process. Despite the unforeseen challenge, we decided to keep going and brainstorm ways to provide value to our users. We also learned that a faster feedback loop was crucial to remove blockers early in the process.