This code will provide me a summer internship abroad.
It is a chrome extension that saves all the pertinent information from job postings to a google sheet. The google sheet acts as a tracking tool for all the applied jobs:
- Applied
- Got ghosted?
- Got an interview, went well?
- Got an offer, accepted the offer?
- Got a Job!
It also has many filters, statistics and rankings.
- Upload the code without api keys
- Rename repository to
ThisGotMeAJob
Platform | Job data | Alerts |
---|---|---|
✓ | ✓ | |
Stackoverflow | ✓ | |
AngelList | ✓ | |
Indeed | ✓ | ✓ |
Google jobs search | ✓ |
These are data points collected for each job:
# company info
company {
name
website
logo
size
founded
industry
}
# platform info
platform
website
# job info
position
type
workspace
location
salary
# timing
posted_date
applied_date
# additional info
description
comment
I had found no great way to do web scrapping from a chrome extension, so I created my own utility:
var result = await WebScrapping.scrape('https://awesome.url/page', 'cool_scrapper_content.js')
Instead of relying on iframes which tend to cause many COORS errors and slowlyness. V2 utilises fetch
instead.
async function request(method, url, other) {
return await BackgroundTasks.execute('request', { method, url, other })
}
var html = await request('GET', 'https://awesome.url/page', { cache: 'force-cache' })
var doc = HTML.toElement(`<document>${html}</document>`)
// either simulate into an iframe or process the initial source code data...
function request(method, url, other) {
// request logic with fetch...
}
BackgroundTasks.addHandeler('request', async (params) => {
var { method, url, body, other } = params
return await request(method, url, other)
})