Inspiration
Our group's goal was to create a project to assist the Government of Alberta in leveraging publicly available data to identify skill sets attained from post-secondary course level offerings, and to help uncover unique education pathways that lead to employment in alignment with Alberta’s current and future labour market needs. Our unique solution to this was utilizing a large quantity of Alberta's untapped data: scraping 200,000 post secondary transcripts.
What it does
The web application allows job seekers to drag and drop pdf files (transcripts, resumes, etc.) to their profile. From there, our data-driven, AI-integrated web platform connects #Alberta post-secondary graduates' skill sets directly to Alberta employment opportunities, tailored and matched to their abilities.
How we built it
Back end: Our data flow utilized publicly-available post-secondary course data scraped from UCalgary's calendar. A custom Natural Language Processing (NLP) artificial intelligence data model identified a set of career skills a student might obtain from each of those courses, based on the course descriptions and an open-source list of career skill keywords. When a student's transcript is uploaded to the Script.AB platform, the student's own set of skills is then mapped to the student based on the courses contained in their transcript. As well, a combination of mathematical and predictive analysis assigns a "competency score" for each of those skills, based on the applicable course's description and course level (ex. a 200-level course versus a 500-level course).
We used open source NLP deep learning models to create embeddings on course descriptions scraped from the University of Calgary website. A contextual similarity score is calculated against the list of job required skills to obtain the most relevant skills from each course offering. This is then mapped back to the courses on any given transcript, using our algorithm to calculate the Estimated Ability of a student on any of his skills based on Relevance, Course Difficulty Level, and Grade obtained.
Front end: We designed mockups in Figma, modeling use cases from three personas: a job seeker, employer or third-party (government and institutions) viewing trend data. Our web app was created with nextjs, tailwind css, and material UI. We used nextjs built-in APIs to fetch our scraped preprocessed data. In the future we plan to implement a flask server to run our parsing scripts and ML models in real-time. We proceeded to implement the job seeker user flow, allowing a potential user to sign up and upload their transcript which was transformed into skills. From those skills we display a list of potential jobs and in each job you could see the level of skill match.
Challenges we ran into
We struggled coming up with an idea that would differentiate ourselves from other available resources like Glassdoor or LinkedIn. By leveraging available post secondary transcripts and AI we were able to achieve a unique solution to a similar problem, catered to the ease of user experience.
Accomplishments that we're proud of
Focusing on the job seeker's perspective, we were able to launch a fully functional prototype that uses scraped data from a mock post-secondary transcript.
To view our mock transcript and demonstration video, click here: https://bit.ly/mocktranscript https://bit.ly/scriptABdemo
What we learned
We learned a multitude of new skills in attempting regex, formatting open source data, and implementing mathematical analysis. After 48 intense & rewarding hours, our team learned new technologies in the process, as well as pushed their technical and communication skills to the limit.
What's next for Script.AB
To be announced...
*Devpost and product not directly affiliated with the Government of Alberta.
Update: to watch our 5-min. pitch, please watch Platform Calgary's YouTube video here: https://www.youtube.com/watch?v=h7EaxADzkB8&list=PLAOGXzGB27Gx1Z5BAje4Sa_Tqz1SHRjXz&index=5
Built With
- figma
- materialui
- natural-language-processing
- nextjs
- numpy
- pandas
- python
- tailwindcss
- transcripts
Log in or sign up for Devpost to join the conversation.