{"id":22305329,"url":"https://github.com/steveee27/tristep-recommendation-system","last_synced_at":"2025-03-26T00:45:49.386Z","repository":{"id":254735790,"uuid":"847394532","full_name":"steveee27/TRISTEP-Recommendation-System","owner":"steveee27","description":"Empower your career with TRISTEP, an AI-driven platform designed to bridge the digital talent gap in Indonesia. Discover industry trends, find the perfect job, and grow your skills through personalized recommendations—all in just three simple steps.","archived":false,"fork":false,"pushed_at":"2024-11-13T17:00:47.000Z","size":17791,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T21:32:37.209Z","etag":null,"topics":["aiforgrowth","careerinnovation","digitalfuture","empowertalent","indonesiadigital","skillup","talentdevelopment","tristep"],"latest_commit_sha":null,"homepage":"https://tristep.streamlit.app/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/steveee27.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T17:44:10.000Z","updated_at":"2024-11-13T17:43:25.000Z","dependencies_parsed_at":"2024-08-26T19:33:06.951Z","dependency_job_id":"d4248349-c87a-4058-a839-f01a80dcc8d0","html_url":"https://github.com/steveee27/TRISTEP-Recommendation-System","commit_stats":null,"previous_names":["steveee27/tristep"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveee27%2FTRISTEP-Recommendation-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveee27%2FTRISTEP-Recommendation-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveee27%2FTRISTEP-Recommendation-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveee27%2FTRISTEP-Recommendation-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steveee27","download_url":"https://codeload.github.com/steveee27/TRISTEP-Recommendation-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245568581,"owners_count":20636803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiforgrowth","careerinnovation","digitalfuture","empowertalent","indonesiadigital","skillup","talentdevelopment","tristep"],"created_at":"2024-12-03T19:11:01.120Z","updated_at":"2025-03-26T00:45:49.358Z","avatar_url":"https://github.com/steveee27.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TRISTEP: AI-Driven Talent Development Platform Empowering Indonesia Through Three Simple Steps\n\nTRISTEP is an innovative AI-powered platform designed to bridge the gap between the supply and demand of digital talent in Indonesia. The platform helps users explore industry trends, find suitable job opportunities, and grow their skills through relevant online courses. By leveraging advanced vectorization techniques like TF-IDF, WORD2VEC, and BERT, TRISTEP delivers accurate and efficient recommendations tailored to individual user preferences.\n\n## 🌐 Try TRISTEP Yourself\nExperience the TRISTEP platform firsthand by visiting: [Access TRISTEP Platform](https://tristep.streamlit.app/)\n\nFor a guided tour on how to use the platform, check out our live demo video: [Watch the Demo](https://youtu.be/b5qtDCex9Ts?si=R6DS-VD32_0Zo84I)\n\n\u003e **Note:** An admin website is also available for managing user-generated data. When users add job or course information, admins can verify these submissions through the admin site: [TRISTEP Admin](https://tristep-adm1n.streamlit.app/)\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Datasets](#datasets)\n- [Methodology](#methodology)\n- [Results](#results)\n- [System Requirements](#system-requirements)\n- [Installation](#installation)\n- [Usage](#usage)\n- [FAQ](#FAQ)\n- [Contributors](#contributors)\n- [License](#license)\n\n## Introduction\n\nTRISTEP addresses the growing need for digital talent by offering a structured approach to career development. The platform consists of three main steps:\n\n1. **Explore:** Users can explore current industry trends and identify job opportunities that align with their career goals.\n2. **Find:** TRISTEP provides personalized job recommendations based on user preferences, including education, skills, and experience.\n3. **Grow:** Users receive recommendations for online courses to enhance their skills, ensuring they remain competitive in the job market.\n\n## Datasets\n\nTRISTEP utilizes two primary datasets:\n\n1. **[Job Postings LinkedIn](https://www.kaggle.com/code/enricofindley/linkedin-job-postings-2023-data-analysis), [Job Postings Jobstreet](https://www.kaggle.com/datasets/azizainunnajib/jobs-crawling):** Contains 49,194 job postings from LinkedIn \u0026 Jobstreet including attributes such as job title, description, salary, location, and company details.\n2. **[Online Courses](https://www.kaggle.com/code/enricofindley/linkedin-job-postings-2023-data-analysis):** Contains 8,092 online courses from platforms like Coursera, Udacity, and others, with detailed information such as course title, description, rating, and more.\n\nThese datasets are used to train and evaluate the recommendation models that power the TRISTEP platform.\n\n## Methodology\n\nTRISTEP uses three vectorization methods to generate recommendations:\n\n- **TF-IDF (Term Frequency-Inverse Document Frequency):** Captures the importance of words in job descriptions and course details relative to the entire dataset.\n- **WORD2VEC:** Creates high-dimensional vector representations of words, capturing semantic similarities.\n- **BERT (Bidirectional Encoder Representations from Transformers):** A sophisticated model that understands the context of words in both directions within a sentence.\n\n### Data Preprocessing\n\nData preprocessing involves cleaning and structuring both datasets to prepare them for vectorization. This includes tasks such as:\n\n- Removing duplicates\n- Imputing missing values\n- Normalizing text fields\n- Tokenizing and vectorizing text data\n\n### Model Training\n\nThe recommendation models were trained using Kaggle Notebooks equipped with two GPU T4s, ensuring efficient computation. The models were evaluated based on `Prec@K`, focusing on how well the top `K` recommendations matched user preferences.\n\n## Results\n\n| Method   | Prec@5 (Jobs) | Prec@5 (Courses) | Processing Time (s) |\n|----------|----------------|-------------------|---------------------|\n| TF-IDF   | 0.900          | 0.860             | Moderate            |\n| WORD2VEC | 0.532          | 0.304             | Fast (Jobs), Slow (Courses) |\n| BERT     | 0.440          | 0.668             | Slow                |\n\nTF-IDF emerged as the most balanced method, offering high accuracy with reasonable processing times, making it the preferred choice for the TRISTEP platform.\n\n\n\n## System Requirements\n\n- Python 3.8 or higher\n- Kaggle Notebook with two GPU T4s (optional for local development)\n- [Required libraries](https://github.com/steveee27/TRISTEP/blob/main/requirements.txt): scikit-learn, pandas, numpy, streamlit, gdown, psutil\n\n## Installation\n\nClone the repository and install the required libraries:\n```\ngit clone https://github.com/steveee27/TRISTEP.git\ncd TRISTEP\npip install -r requirements.txt\n```\n\n## Usage\n\nTo run the Streamlit application locally:\n```\ncd streamlit_app\nstreamlit run app.py\n```\nAccess the TRISTEP platform online at: [TRISTEP Live](https://tristep.streamlit.app/)\n\n## FAQ\n\nWhy am I getting an error when trying to run my Streamlit app?\n\nYour issue is most likely happening because Streamlit needs to be rebooted regularly. This can happen when the app runs out of memory or goes into sleep mode after being idle for a while, especially since we are not using the premium version. For assistance with rebooting, feel free to contact TriStep Company via email at TriStepcompany@gmail.com or through WhatsApp at 085106378743.\n\n## Contributors\n1. [Steve Marcello Liem](https://github.com/steveee27)\n2. [Matthew Lefrandt](https://github.com/MatthewLefrandt)\n3. [Marvel Martawidjaja](https://github.com/marvelm69)\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/steveee27/TRISTEP/blob/main/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveee27%2Ftristep-recommendation-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteveee27%2Ftristep-recommendation-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveee27%2Ftristep-recommendation-system/lists"}