[Chrome-Extension]: https://tinadesigns.me/projects/Indeed/imgs/chrome-extension.png # &#127800; Indeed Jobs Extension >###### Browser: Google Chrome >###### Version: 2.1 <br/> ## <span style="display:none">&#10052;&#65039; &nbsp;</span><span style="font-size:1.3em;">:city_sunset: Inspiration </span><br/> <!-- <div style="text-align:center"> --> Job hunting <span style=""><b></b><span style="border-bottom:0.01px solid red; padding-bottom:0.1em"><i>sucks</i></span></span>. <span style="border-bottom:0.01px dotted pink; padding-bottom:0.5em">It's demoralizing, nerve-racking, and mundanely repetitive.</span> <div style="margin-top:1.7em"><span style="border-bottom:0.01px solid green; padding-bottom:0.1em">So</span>. I created this browser extension out of sheer frustration. &#128579;</div> <br/> ## <span style="display:none">&#10052;&#65039; &nbsp;</span><span style="font-size:1.25em;">:ribbon:</span> <span style="font-size:1.24em;">Dedication <br/> Dedicated to every job seeker questioning their worth </span> <br/> <span style="background-color: #efe3ff; padding: 0.7em">┌─────── ・ 。゚★: ⋆⋅✦⋅⋆ :☆゚. ───────┐</span> <span style="background:#efe3ff; padding: 0.em .23em; padding-right: 27.1em; padding-bottom: 1.3em"><div style="margin-top:-2em"></div><span style="margin-left: 7.4em; font-size: 0.9em"><b>Good luck on your job search!</b> <span style="font-size: 1.2em">&#128149;</span></span><div style="margin-top:-1em"></div></span> <span style="background-color:#efe3ff; padding-bottom: 0.7em; padding-left: 0.7em; padding-right: 0.7em; padding-top: 0.6em">└─────── ・ 。゚★: ⋆⋅✦⋅⋆ :☆゚. ───────┘</span> </span> <br/> <p></p> ## <span style="display:none">&#10052;&#65039; &nbsp;</span><span style="font-size:1em; font-family:Monaco, Optima, Marker Felt; text-transform: uppercase"><i class="fa fa-cloud-download"></i> How To Install</span> This is an unreleased extension, unavailable in the Chrome Web Store. To install on your machine, please follow these steps: :::info 1. Clone project from git repo &nbsp; ( tbd ) 2. Configure your developer environment variables 3. Navigate to **`chrome://extensions`** 4. Load unpacked the Indeed Jobs Extension project folder. ::: <br/> The extension should appear as below: <br/> <img src="https://tinadesigns.me/projects/Indeed/imgs/chrome-extension.png" alt="chrome-extension" width="" style="margin-left: 5em"/> <p></p><br/> Go to **Indeed.com** and search for your dream job :crystal_ball: <div style="margin-left: 10em; margin-top:-0.7em; padding-bottom: 1em">. . .</div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; ( if it even exists :unicorn_face: ) <!-- <div style="padding-bottom: 0.6em"></div> --> <div style="font-size: 2.5em; margin-left: 3.8em">&#128557;</div> --- #### <div id="server">Hooking up to the back end </div> :::info First, **`cd`** to the project directory <br/> Then run **`npm install`** && **`npm i nodemon forever`** <br/> Start the server from the terminal: **`npm run start:app`** <br/> To run the script indefinitely, use this command instead: **`npm run start-nodemon`** ::: Server will run on <b>port 8000</b>: :::info **`http://localhost:8000`** ::: <br/> <hr/> <br/> ## <span style="display:none">&#10052;&#65039; &nbsp;</span><span style="font-size:1.2em; font-family:Monaco, Optima, Marker Felt; text-transform: uppercase">:city_sunrise::city_sunset: Themes </span> #### <span style="display='inline-block'; font-weight: bold">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Light Theme</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="margin-left= 3.5em; display='inline-block'; font-weight: bold">Dark Theme</span> <div style="margin-top:1em"> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/slider-day.png" alt="" width="180" style="border: 2px solid lightgray; margin-left: 3em"/> <img align="right" src="https://tinadesigns.me/projects/Indeed/imgs/slider-night.png" alt="" width="190" style="border: 2px solid lightgray; margin-left: 9em"/> </div> <p></p><br/> <img style="display:'inline-block'; " align="left" src="https://tinadesigns.me/projects/Indeed/imgs/light-theme.png" alt="light-theme" width="300"/> <img style="display:'inline-block'; margin-left: 2em" align="right" src="https://tinadesigns.me/projects/Indeed/imgs/dark-theme.png" alt="dark-theme" width="295"/> <p></p><br/> <img style="display:'inline-block'; margin-left: 1em;" src="https://tinadesigns.me/projects/Indeed/imgs/light-theme-2.png" alt="light-theme" width="300" style="margin-left: 2em; padding-right: 2.6em"/> <img style="display='inline-block'; margin-left: 1em;" src="https://tinadesigns.me/projects/Indeed/imgs/dark-theme-1.png" alt="dark-theme" height="271" width="320"/> <p></p><br/> <!-- ::: --> <br/> ## <span style="display:none">&#10052;&#65039; &nbsp;</span><span style="font-size:1.2em; font-family:Monaco, Optima, Marker Felt; text-transform: uppercase">:atom_symbol: Features </span><p></p> ### <span style="display:none">&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="font-size:1.1em; font-family:Monaco; text-transform:uppercase"> :lower_left_crayon: Highlights </span> <br/> :abc: &nbsp; **Custom keywords tailored to job seeker**<p></p><br/> <!-- ::: --> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/kw1.png" alt="keywords-highlight" width="" style="margin-left: -0.1em; margin-top: -2.2em; padding-right: 2.6em"/> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/kw9.png" alt="keywords-highlight" width="600"/> <p></p><br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/kw2.png" alt="keywords-highlight" width="" style=""/> <p></p><br/> <img align="right" src="https://tinadesigns.me/projects/Indeed/imgs/kw6.png" alt="keywords-highlight" width="610" style=""/> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/kw3.png" alt="keywords-highlight" width="470"/> <br/> <img style="margin-left: -1em" src="https://tinadesigns.me/projects/Indeed/imgs/kw8.png" alt="keywords-highlight" width="400" style=""/> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/kw5.png" alt="keywords-highlight" width="570"/> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/missing-resume-tags.png" alt="keywords-highlight" width="400"/> <hr/> <br/> <span style="font-size:1.65em">:no_good: &nbsp; **Dealbreakers**</span> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/unpaid-2.png" alt="keywords-highlight" width="900" style="margin-left:-2em"/> <div style="margin-left: 1.5em"> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/unpaid-1.png" alt="keywords-highlight" width="1020" style="margin-left:-1em; margin-top: 1.2em" /> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/deal-breaker6.png" alt="keywords-highlight" width="500" style="margin-left:-1em; margin-top: 1.2em" /> <p></p> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/dealbreaker7.png" alt="keywords-highlight" width="600" style="margin-left:-1em; margin-top: 1.2em" /> </div> <hr/> <br/> <span style="font-size:1.5em">:cool: &nbsp; **Personality Match &middot; Culture Fit**</span> <div style="margin-left: 1.5em"> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/personality1.png" alt="keywords-highlight" width="400" style="margin-left:-1em; margin-top: 1.2em" /> <img src="https://tinadesigns.me/projects/Indeed/imgs/personality1a.png" alt="keywords-highlight" width="600" style="margin-left:-1em; margin-top: 1.2em" /> <img src="https://tinadesigns.me/projects/Indeed/imgs/personality1c.png" alt="keywords-highlight" width="600" style="margin-left:-1em; margin-top: 1.2em" /> <img src="https://tinadesigns.me/projects/Indeed/imgs/personality1b.png" alt="keywords-highlight" width="600" style="margin-top: 1.2em; margin-left:-0.3em" /> </div> <hr/> <br/> <div style="margin-left: 1.5em"> <span style="font-size:1.5em; font-weight:bold"><span style="font-size:1.2em">&#127545;</span> &nbsp; Languages</span> <p></p><br/> <img src="https://tinadesigns.me/projects/Indeed/imgs/language.png" alt="languages" width="560"/> <br/><br/> <div style="margin-left: 1.3em"> <img src="https://tinadesigns.me/projects/Indeed/imgs/language3.png" alt="languages" width="400"/ style="margin-left:-0.18em"> </div> <img src="https://tinadesigns.me/projects/Indeed/imgs/language4.png" alt="languages" width="405"/> <br/><br/> <div style="margin-left: 0.3em"> <img src="https://tinadesigns.me/projects/Indeed/imgs/language5.png" alt="languages" width="415"/></div> <br/> <img src="https://tinadesigns.me/projects/Indeed/imgs/language5a.png" alt="languages" width="600" /> <br/><br/> <div style="margin-left: 1.3em"> <img src="https://tinadesigns.me/projects/Indeed/imgs/language6.png" alt="languages" width="650" style="margin-left:-0.1em"/> </div> <p></p><br/> <p></p> </div> <span style="font-size:1.5em">:calendar: &nbsp; **Posting Date**</span> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/job-green.png" alt="keywords-highlight" width="700"/> <img align="center" src="https://tinadesigns.me/projects/Indeed/imgs/job-yellow.png" alt="keywords-highlight" width="700"/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/job-red.png" alt="keywords-highlight" width="700"/> <hr/> <p></p><br/> ### <span style="display:none">&nbsp; &nbsp; &nbsp;</span> :mag: &nbsp; <span style="text-transform:uppercase">View Multiple Job Posts</span> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/select-multiple-posts.gif" alt="view-multiple-job-posts" width="600"/> <p></p><br/> Select interested jobs, hit **`Enter`**, and view their full descriptions. Limit the # of tabs / windows that can be opened at a time. Default is 5. Option values increment by 5 from 5 to 15. <img align="center" src="https://tinadesigns.me/projects/Indeed/imgs/select-checkbox-limit.png" alt="select-checkbox-limit" width="" style="margin-left: -2%"/> <p></p><br/> <hr/> ### <span style="display:none">&nbsp; &nbsp; &nbsp;</span> :x: &nbsp; <span style="text-transform:uppercase">Remove Job Posts</span> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/remove-jobs.gif" alt="remove-jobs" width="300"/> <p></p> <br/> :::info <div style="font-size: 1.1em; font-weight: bold"> <i class="fa fa-database"></i> &nbsp; Jobs removed from Indeed are stored in Chrome's local <div style="margin-left: 1.6em"> storage. You can retrieve & restore hidden jobs any time. </div> </div> ::: <div style="font-size: 1.1em; padding: 1em; margin-top: -1.2em; background:#f9f7ca"><b> Note:</b> If permanent data storage is important to you, do a hard backup by exporting the data &nbsp;</div> ==<span style="padding-left:9.5em; padding-right:9.5em; background:#f9f7ca">( keep reading to learn how </div> :wink: )</span>== <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/hidden jobs-lt.png" alt="keywords-highlight" width="700"/> <p></p> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/hidden jobs-dk.png" alt="keywords-highlight" width="700"/> <p></p> <br/><p></p> <br/> :::info <div style="font-size:1.2em;"> <h5> <i class="fa fa-database"></i> &nbsp; Demo: removed jobs are restored to Indeed <br/> &nbsp; &nbsp; &nbsp;&nbsp; storage is cleared (reset); local file backup </h5> </div> ::: <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/hidden-jobs.gif" alt="keywords-highlight" width="800"/> <p></p><br/> :::info <div style="font-size:1.2em;"> <i class="fa fa-database"></i> &nbsp; Result: Local storage is now empty <br/> &nbsp; &nbsp; &nbsp; All jobs will show in Indeed search results </div> ::: <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/hidden-empty-storage.png" alt="keywords-highlight" width="900"/> <br/> <p></p><br/> <div style="text-align: center"> <span style="font-size:1.8em">:warning: </span> <div style="font-size: 1.3em; font-weight: bold;">Uh oh... didn't mean to do that?</div><br/> </div> :::info <div style="font-size: 1.3em;"> No worries, data gets backed up any time the storage is emptied &#128524; <p></p><br/> A local JSON file containing the most recent jobs data history can be found in the Downloads folder on your computer: <p></p><br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/local-json-file-backup.png" alt="keywords-highlight" width="900"/> <br/><p></p> <br/> When this file is moved into the <b>`data`</b> folder within the root extensions directory, the most recently hidden jobs data will auto merge with any previously stored data. <br/> Test it out: 1. <a href="#server"><u>Start the server</u></a> 2. Export data 3. Move downloaded JSON file to <b>`data`</b> folder <br/> If your environment is properly configured, then the process from data export &nbsp;&#10145;&#65039;&nbsp; database update should be fully automated &#129302; <br/><p></p> </div> ::: <br/> ::: info <div style="font-size:1.3em"> &#128161; Files are named by type (hidden, applied, or saved) with varying <br/> &nbsp; &nbsp; &nbsp; key:value pairs according to file type. </div> ::: <p></p><br/> <div style="text-align:center; font-weight: bold; font-size:1.1em"> Example of a hidden_jobs.json file: <p></p> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/hidden-backup-json.gif" alt="keywords-highlight" width="900"/> <br/> </div> ==<span style="font-size: 1.3em;">Demo: Restore data with a click of a button as shown below:</span>== <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/restore-jobs3.gif" alt="keywords-highlight" width="900"/> <br/> :::info <div style="text-align: center"> And you're <b>good to go</b> &#128293; </div> ::: <br/><hr/><br/> ### <span style="display:none">&nbsp; &nbsp; &nbsp;</span> :notebook_with_decorative_cover: &nbsp; <span style="text-transform:uppercase">Cover Letter Generator </span> ( one click &nbsp; <i class="fa fa-mouse-pointer"></i>) <br/> :::info <div style="font-size:1.2em; text-align: center; font-weight:bold"> Ready to apply? <br/><p></p> <img src="https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fassets2.bigthink.com%2Fsystem%2Fidea_thumbnails%2F58192%2Fprimary%2Fbaby_meme.jpg%3F1425651974&f=1&nofb=1" style="width:15em"/> <br/> <div style="padding:0.8em"></div> ==&nbsp; &nbsp; &nbsp; Click anywhere within the dotted regions &nbsp;&nbsp; &nbsp;== </div> ::: <div style="text-align: center"> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/cover-letter-a.png" alt="keywords-highlight" width="" style="display: inline-block"/> <img src="https://tinadesigns.me/projects/Indeed/imgs/cover-letter-b.png" alt="keywords-highlight" width="" style="display: inline-block;"/> <p></p><br/> </div> :::info <div style="font-size:1.2em;"> <i class="fa fa-clipboard"></i> &nbsp; Awesome! Your cover letter template has been generated & copied to the clipboard. It is now ready to be pasted <span style="font-size: 1.5em">&#128588; </span></span><br/> </div> ::: <img align="right" src="https://tinadesigns.me/projects/Indeed/imgs/cover-letter-c.png" alt="keywords-highlight" width="500" style="display: inline-block"/> :::info <div style="font-size:1.2em;"> &#9757;&#65039; An example of a (poorly crafted) cover letter generated with <br/> &nbsp; &nbsp; &nbsp; key descriptors & variables. <p></p> &nbsp; &nbsp;&nbsp; ( plz don't make your cover letter this blatantly generic &#x1F648; ) </div> ::: <br/> <hr/> <p></p><br/> ### <span style="display:none">&nbsp; &nbsp; &nbsp;</span> :train2: &nbsp; <span style="text-transform:uppercase">Commute Details</span> <br/> :::info :world_map: &nbsp; **Enter zip code > Get directions + Travel time** ::: <p></p><br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/commute.gif" alt="keywords-highlight" width="400"/> <p></p><br/> <hr/> ### <span style="display:none">&nbsp; &nbsp; &nbsp;</span> :sunglasses: &nbsp; <span style="text-transform:uppercase">Easy Apply Filter</span> <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/easy-apply-off.png" alt="keywords-highlight" width="200"/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/external-apply-btn.png" alt="keywords-highlight" width="270" style="margin-left: 2em"/> <p></p><br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/easy-apply-on.png" alt="keywords-highlight" width="200" style="margin-left: -0.2em"/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/indeed-apply-btn.png" alt="keywords-highlight" width="170" style="margin-left: 4.4em"/> <p></p><br/> <hr/> <br/> ### <span style="display:none">&nbsp; &nbsp; &nbsp;</span> <i class="fa fa-download"></i> &nbsp; <span style="text-transform:uppercase">Jobs Data Repository</span> <br/> #### ==View and Export Applied Jobs Data== <br/> :::info <h5 style="font-size:1.1em; text-align:1.5em; margin-left: 3em; width: 28em">Export as CSV file or view on localhost <p></p><br/> <span style="margin-left: 12em; text-decoration: underline">How?</span> <p></p><br/> Add your Indeed + MongoDB account credentials to the .env file. Run `app.js` script. All submitted Indeed job application details will be fetched and inserted into your personal database. <p></p><br/> Data can be used for tracking, analysis, improvements and follow ups. Refine application to achieve optimum success and response rates.</h5> ::: <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/export-applied-jobs.png" alt="keywords-highlight" width="800"/> <p></p><br/> #### ==View Hidden Jobs Data== <br/> <img align="left" src="https://tinadesigns.me/projects/Indeed/imgs/view-hidden-jobs.png" alt="keywords-highlight" width="800"/> <br/> <p></p><br/><p></p> <hr/> <p></p><br/><p></p> <br/> ## <span style="font-size:1.2em"><span style="display:none">&#9770;&#65039;</span>:star_and_crescent: &nbsp; Future Release (2.7)</span> <br/> ### <span style="display:none">&nbsp; &nbsp; &nbsp;</span> :star::star::star: &nbsp; Glassdoor Ratings :::info <div style="font-size: 1.2em; margin-left: 2.5em"> <b>See company ratings and get direct links to reviews on Glassdoor from within Indeed. Quickly spot the gems &#128142;</b> </div> ::: <p></p> <br/><br/> ### <span style="display:none">&nbsp; &nbsp; &nbsp;</span> :scream: &nbsp; Truth Is In the Data #### :link: &nbsp; Resume + Portfolio Tracking Links :::info <div style="font-size: 1.2em; margin-left: 2.5em"> <b>Generate mutable branded tracking links for your online <br/>resume / portfolio. View stats, conduct A/B testing, improve click-through rate (CTR), optimize employer response rates.</b> </div> ::: <br/> <div style="text-align: center; font-size: 1.8em; color:darkred"> S A Y &nbsp; &nbsp; W H A T ? <span style="padding-left: 0.3em; font-size:1.5em"> &#129488; </span> </div> <br/> <div style="font-size: 1em; font-weight:bold; background: #cef2cd; padding: 1.2em; color:#2772ab"> <div style="margin-left:1.7em; width: 90%"> <br/> <div style="text-align:center; letter-spacinng:0.1em; font-family:Helvetica; font-size:1.15em"> <div style="font-size: 1.1em">Hey, here's a teaser:</div> <p></p><br/> <div style=""> Ever feel like your application never got the love you thought it deserved? &#x1F97A; <p></p><br/> What if you discovered that your resume never did, in fact, make it in front of another human? <p></p><br/> Would that affect the way you feel? Or change your approach to applying? </div> <p></p><hr/> <div style="text-align:center"> Persistency + timing are key. It is a numbers game after all* &#129323; <hr/> <span style="font-size:0.8em">* tested on a <span style="font-size:0.7em">very small</span> sample size</span> <span style="font-size:0.5em"> ** does not apply if you have the connections ofc... </span><br/> <span style="font-size:0.3em"> (but then y r u here eh?) </span> </div> </div> </div> <br/>