If you think Twitter is just for memes, funny threads, or aggressive opinions, think again! Many recruiters are using Twitter to hire candidates because it gives a genuine impression of your personality and interests. This makes it very important for a jobseeker or anyone who wants to grow their career to be active on Twitter, build their network, and engage with people in their domain of interest. But how do you know who to connect with? How do you keep track of the jobs that are being posted on Twitter? We build Recrwitter to solve this problem.

What it does

Recrwitter is the one-stop shop for all things related to job search on Twitter. It keeps track of job openings posted on Twitter in different tech domains like Software Engineering, Machine Learning, Product Management, etc. It gives you the flexibility to filter them by location, job type, and company. We also provide the feature to look for relevant Twitter spaces that could help you with your job search.

How we built it

Recrwitter is a web-based platform powered by Twitter APIs and hosted on the Azure Cloud. We have used the serverless architecture for the different functionalities of the web app and deployed them as Azure Functions. While the front-end react web app served as the static website from the Storage Account.

Job Search

We have created a time-triggered Azure Function FetchTweetsTimeTriggered, that executes every 2 hrs and fetches the tweets related to the Job Posting with the help of the Twitter V2 Recent Tweet Search API. The search query utilizes powerful context annotations to filter out the relevant jobs-related tweets. We have prepared the queries for specific domains by adding suitable keywords and hashtags to the context annotations. For Example, the search query of jobs related to Frontend Developer looks like this: ((Frontend OR "Front end" OR "Front-end") (engineer OR developer)) (#hiring OR #JobAlert OR #hiringalert OR #react OR #angular OR #vue) (context:66.961961812492148736 OR context:66.850073441055133696 OR 67.1486470043353239552) has:links lang:en -RT

Tweets fetched every two hours get staged into the Cosmos DB API for MongoDB so as to provide a better job searching experience to the users. As we are aware twitter's recent search API can only return the tweets for the last 7 days. Staging the tweets provide deep search functionality to the users as the job posting stay relevant at least for 15 days.

We staged these tweets for 15 days in the database and then another time-triggered Azure Function does the DB cleanup. This function executes every 15 days.

Now, users can easily see all the job posting tweets that are relevant to them by applying filters on Domains, Locations, and even Companies. All these tweets are served to the web app by the GET HTTP Triggered Azure Function that reads tweets from the Cosmos DB.

Space Search

Searching the spaces is way easier now. At recrwitter, users can see the live and upcoming spaces related to jobs and career growth directly. We have utilized twitter’s Search Space API in the GetSpaceHTTPTriggered Azure Functions that serve the spaces’ information to the users.

In the below diagram we have shown the deployment architecture diagram describing how the application is communicating with the different resources and Twitter APIs.

Challenges we ran into

  • Extract the relevant tweets from Twitter and filter out the unnecessary content.
  • Designing the backend part in the most efficient way.
  • Learning how to deploy an application using Azure.

Accomplishments that we're proud of

We are incredibly proud of what we have achieved that we have built in 4 weeks when one of us had a full-time job and the other one was moving to a different city for college. Our key achievements:

  • Building an end-to-end product.
  • The UI design of the website.
  • Building an efficient backend system for our application.

What we learned

In this hackathon, we created an end-to-end product, which was a great opportunity for us to improve our software engineering skills and learn more about cloud and deployment using Microsoft Azure.

As always, we were glad to keep learning about team spirit and, time and project management!

What's next for Recrwitter

  • We plan to continue this project and make it sustainable so that people can actually use it and benefit from it.
  • Include jobs for more domains and not just tech. We also want to include more relevant filters, and make it easier for people to see the jobs that they actually want to see.
  • Work on improving our tweets extraction process using Machine Learning and Natural Language Processing techniques to filter out the irrelevant stuff.
  • Provide a feature to help people search for recruiters and other relevant profiles.
  • Give give real-time insights about job postings on Twitter including trending hashtags, top companies that are hiring, top locations, and the most common skills that employers are looking for.

Built With

Share this project: