Chrome Extensions
Tags: extensions, chrome, webdev, javascript
Published: 2024-03-05 21:09:22

#### I took a day off of work...

I needed a personal day from my 9 to 5 today, and so I slept in a little later. I had the urge to learn something new, specifically something that has been on my mind for quite a while - I have just never been able to find the time. Luckily enough, I had the time to learn how to create my own Google Chrome extension.

Google Chrome is one of the most popular browsers, hitting numbers of 3.2 billion users in December of 2023 (Source: [Demand Sage](https://www.demandsage.com/chrome-statistics/#:~:text=Based%20on%20data%20from%20Statista,to%203.229%20billion%20in%202021)). I, for one, use Chrome each day as my browser of choice. I have found that the extensions offered by Chrome are quite helpful tools day in and day out, but I had never created my own. 

Lately, I have been wondering what the process to create a Chrome extension was. Given that I had time today, I watched a quick YouTube video; I did not realize how easy it truly was to create your own extension. 

[Check out the YouTube Video I watched](https://www.youtube.com/watch?v=B8Ihv3xsWYs)

The only thing different than just creating a static site with HTML/CSS/JavaScript was that I had to set up a manifest.json file to configure my extension settings, which looked like this:
![Code snippet of my manifest.json](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k0cxyx0k86sr5568y50q.png)

As you can see, it is not a lot of work setting up this manifest.json. You just need to fill in a couple of the settings for the extension, like name and description. There are optional properties you can add, like "default_icon": to the action property.. This would replace the extension icon to the icon of your choice. More on the extension settings here in the tutorial: [Chrome Extensions](https://developer.chrome.com/docs/extensions/get-started)

I decided to make an extension that would interact with me on a daily basis.. What do I do on a daily basis that could be enhanced, though? Well, I decided to create a dynamic job search extension. This extension pulls job search results directly from LinkedIn (in real time!) based on a pre determined search query that I created for myself. Check out the [public GitHub Repository](https://github.com/bealecs/chrome-extension) for a look at the code that went into the project.

I am looking at new job postings on LinkedIn each day, and this extension that I created (in just about an hour) will streamline personal job search results based off my preferences each day. I pinned my extension for even more convenience, so now with just one click I have custom-queried job results in real time. I am all about creating solutions to real world scenarios/issues, and this tool is guaranteed to save me time in my future job searching.

Check out the README.md in the [GitHub Repo](https://github.com/bealecs/chrome-extension) to clone the repo and set it up yourself. I used [RapidAPI](https://rapidapi.com/collection/list-of-free-apis) to find the API for LinkedIn, and then set my custom search preferences from there. Otherwise, you can directly update the search parameters in the API call from the script.js file.

All in all, this side project only took around an hour to complete and was super cool to learn. Not only that, but I also have the added reward of saving time down the road - that's what coding is all about to me. 

#### Resources and Links

- [GitHub Repo](https://github.com/bealecs/chrome-extension)
- [RapidAPI](https://rapidapi.com/collection/list-of-free-apis) - List of free APIs
- [Demand Sage](https://www.demandsage.com/chrome-statistics/#:~:text=Based%20on%20data%20from%20Statista,to%203.229%20billion%20in%202021) - Reference to fact about Google Chrome users
- [YouTube Tutorial](https://www.youtube.com/watch?v=B8Ihv3xsWYs)
- [Chrome Extension Tutorial](https://developer.chrome.com/docs/extensions/get-started)