/job-search-engine

A job search engine and site created for the Relevance & Matching Tech community on Slack.

Primary LanguagePython

job-search-engine

A job search engine and site created for the Relevance & Matching Tech community on Slack (relevancy.slack.com).

alt text



How did this site come about?

Soon after I joined the group and started perusing open roles in the #jobs channel, I realized there was an opportunity to 1) build a quick search engine MVP and 2) contribute to the community. Below are the steps I took to deploy the site:

  1. Create a new AWS account, so you can use Free Tier resources.
  2. Create an OpenSearch instance.
    • When setting up fine-grained access control, create a user using IAM and use it as the master user.
  3. Create the index and mapping using either the OpenSearch Dashboard, command line, or juptyer notebook (my personal recommendation). For the latter two, you'll need to either pass in your AWS credentials explicitly or install the CLI (pip install awscli) and run aws configure where you will store them (highly recommended).
  4. Build your Streamlit app (or copy what I have above).
  5. Deploy on EC2.
    • Just as in step 3, for local access, you'll need to aws configure so the app can query the index.




Notable Updates

  • [4/23] Get a real domain name by using Amazon Route 53 and PairDomains.com
  • [4/23] Enable user to search for "more jobs like this" with a single button click
  • [5/23] Track user behavior with Streamlit Analytics by writing page load and click events to S3, and a nightly cron for aggregating them with Google Analytics (7/29). Add a page to visualize activity
  • [5/23] Align dev and prod environments by using Docker
  • [6/23] Add new page, Scrape Jobs, so developers can more easily pull in jobs to the site
  • [7/19] Enable HTTPS