final
This commit is contained in:
parent
b85a3c4719
commit
08fa73c8de
3
.gitignore
vendored
3
.gitignore
vendored
@ -6,11 +6,8 @@ test*
|
|||||||
openaiSelenium*
|
openaiSelenium*
|
||||||
open_ai_calls.json
|
open_ai_calls.json
|
||||||
_*
|
_*
|
||||||
data_folder*
|
|
||||||
.venv
|
.venv
|
||||||
generated_cv*
|
generated_cv*
|
||||||
resume.html
|
|
||||||
.vscode
|
.vscode
|
||||||
chrome_profile
|
chrome_profile
|
||||||
lib*
|
|
||||||
answers.json
|
answers.json
|
||||||
|
317
README.md
317
README.md
@ -175,55 +175,281 @@ This file contains your resume information in a structured format. Fill it out w
|
|||||||
|
|
||||||
Each section has specific fields to fill out:
|
Each section has specific fields to fill out:
|
||||||
|
|
||||||
- `personal_information:`
|
#### Personal Information
|
||||||
- Contains basic personal details
|
|
||||||
- Example: `name: "John Doe"`
|
|
||||||
|
|
||||||
- `self_identification:`
|
##### Description
|
||||||
- Optional demographic information
|
This section contains basic personal details to identify yourself and provide contact information.
|
||||||
- Example: `gender: "Male"`
|
|
||||||
|
|
||||||
- `legal_authorization:`
|
- **name**: Your first name.
|
||||||
- Work authorization status
|
- **surname**: Your last name or family name.
|
||||||
- Use `true` or `false` for each field
|
- **date_of_birth**: Your birth date in the format DD/MM/YYYY.
|
||||||
- Example: `usWorkAuthorization: true`
|
- **country**: The country where you currently reside.
|
||||||
|
- **city**: The city where you currently live.
|
||||||
|
- **address**: Your full address, including street and number.
|
||||||
|
- **phone_prefix**: The international dialing code for your phone number (e.g., +1 for the USA, +44 for the UK).
|
||||||
|
- **phone**: Your phone number without the international prefix.
|
||||||
|
- **email**: Your primary email address.
|
||||||
|
- **github**: URL to your GitHub profile, if applicable.
|
||||||
|
- **linkedin**: URL to your LinkedIn profile, if applicable.
|
||||||
|
|
||||||
- `work_preferences:`
|
##### Example
|
||||||
- Your work-related preferences
|
```yaml
|
||||||
- Use `true` or `false` for each field
|
personal_information:
|
||||||
- Example: `remoteWork: true`
|
name: "Jane"
|
||||||
|
surname: "Doe"
|
||||||
|
date_of_birth: "01/01/1990"
|
||||||
|
country: "USA"
|
||||||
|
city: "New York"
|
||||||
|
address: "123 Main St"
|
||||||
|
phone_prefix: "+1"
|
||||||
|
phone: "5551234567"
|
||||||
|
email: "jane.doe@example.com"
|
||||||
|
github: "https://github.com/janedoe"
|
||||||
|
linkedin: "https://www.linkedin.com/in/janedoe/"
|
||||||
|
```
|
||||||
|
|
||||||
- `education_details:`
|
#### Education Details
|
||||||
- List your educational background
|
|
||||||
- Include degree, university, GPA, graduation year, field of study, and skills acquired
|
|
||||||
- Example:
|
|
||||||
```yaml
|
|
||||||
- degree: "Bachelor's"
|
|
||||||
university: "University of Example"
|
|
||||||
gpa: "3.8"
|
|
||||||
graduationYear: "2022"
|
|
||||||
fieldOfStudy: "Computer Science"
|
|
||||||
skillsAcquired:
|
|
||||||
problemSolving: "4"
|
|
||||||
```
|
|
||||||
|
|
||||||
- `experience_details:`
|
##### Description
|
||||||
- List your work experiences
|
This section outlines your academic background, including degrees earned and relevant coursework.
|
||||||
- Include position, company, employment period, location, industry, key responsibilities, and skills acquired
|
|
||||||
- Example:
|
|
||||||
```yaml
|
|
||||||
- position: "Software Developer"
|
|
||||||
company: "Tech Corp"
|
|
||||||
employmentPeriod: "Jan 2020 - Present"
|
|
||||||
location: "San Francisco, USA"
|
|
||||||
industry: "Technology"
|
|
||||||
keyResponsibilities:
|
|
||||||
responsibility1: "Developed web applications using React"
|
|
||||||
skillsAcquired:
|
|
||||||
adaptability: "3"
|
|
||||||
```
|
|
||||||
|
|
||||||
- Other sections like `projects`, `availability`, `salary_expectations`, `certifications`, `skills`, `languages`, and `interests` follow a similar format, with each item on a new line.
|
- **degree**: The type of degree obtained (e.g., Bachelor's Degree, Master's Degree).
|
||||||
|
- **university**: The name of the university or institution where you studied.
|
||||||
|
- **gpa**: Your Grade Point Average or equivalent measure of academic performance.
|
||||||
|
- **graduation_year**: The year you graduated.
|
||||||
|
- **field_of_study**: The major or focus area of your studies.
|
||||||
|
- **exam**: A list of courses or subjects taken along with their respective grades.
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
education_details:
|
||||||
|
- degree: "Bachelor's Degree"
|
||||||
|
university: "University of Example"
|
||||||
|
gpa: "3.8/4"
|
||||||
|
graduation_year: "2022"
|
||||||
|
field_of_study: "Software Engineering"
|
||||||
|
exam:
|
||||||
|
Algorithms: "A"
|
||||||
|
Data Structures: "B+"
|
||||||
|
Database Systems: "A"
|
||||||
|
Operating Systems: "A-"
|
||||||
|
Web Development: "B"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Experience Details
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
This section details your work experience, including job roles, companies, and key responsibilities.
|
||||||
|
|
||||||
|
- **position**: Your job title or role.
|
||||||
|
- **company**: The name of the company or organization where you worked.
|
||||||
|
- **employment_period**: The timeframe during which you were employed in the role (e.g., MM/YYYY - MM/YYYY).
|
||||||
|
- **location**: The city and country where the company is located.
|
||||||
|
- **industry**: The industry or field in which the company operates.
|
||||||
|
- **key_responsibilities**: A list of major responsibilities or duties you had in the role.
|
||||||
|
- **skills_acquired**: Skills or expertise gained through this role.
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
experience_details:
|
||||||
|
- position: "Software Developer"
|
||||||
|
company: "Tech Innovations Inc."
|
||||||
|
employment_period: "06/2021 - Present"
|
||||||
|
location: "San Francisco, CA"
|
||||||
|
industry: "Technology"
|
||||||
|
key_responsibilities:
|
||||||
|
- responsibility_1: "Developed web applications using React and Node.js"
|
||||||
|
- responsibility_2: "Collaborated with cross-functional teams to design and implement new features"
|
||||||
|
- responsibility_3: "Troubleshot and resolved complex software issues"
|
||||||
|
skills_acquired:
|
||||||
|
- "React"
|
||||||
|
- "Node.js"
|
||||||
|
- "Software Troubleshooting"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Projects
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
Include notable projects you have worked on, including personal or professional projects.
|
||||||
|
|
||||||
|
- **name**: The name or title of the project.
|
||||||
|
- **description**: A brief summary of what the project involves or its purpose.
|
||||||
|
- **link**: URL to the project, if available (e.g., GitHub repository, website).
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
projects:
|
||||||
|
- name: "Weather App"
|
||||||
|
description: "A web application that provides real-time weather information using a third-party API."
|
||||||
|
link: "https://github.com/janedoe/weather-app"
|
||||||
|
- name: "Task Manager"
|
||||||
|
description: "A task management tool with features for tracking and prioritizing tasks."
|
||||||
|
link: "https://github.com/janedoe/task-manager"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Achievements
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
Highlight notable accomplishments or awards you have received.
|
||||||
|
|
||||||
|
- **name**: The title or name of the achievement.
|
||||||
|
- **description**: A brief explanation of the achievement and its significance.
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
achievements:
|
||||||
|
- name: "Employee of the Month"
|
||||||
|
description: "Recognized for exceptional performance and contributions to the team."
|
||||||
|
- name: "Hackathon Winner"
|
||||||
|
description: "Won first place in a national hackathon competition."
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Certifications
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
Include any professional certifications you have earned.
|
||||||
|
|
||||||
|
- **certification_name**: The name of the certification.
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
certifications:
|
||||||
|
- "Certified Scrum Master"
|
||||||
|
- "AWS Certified Solutions Architect"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Languages
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
Detail the languages you speak and your proficiency level in each.
|
||||||
|
|
||||||
|
- **language**: The name of the language.
|
||||||
|
- **proficiency**: Your level of proficiency (e.g., Native, Fluent, Intermediate).
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
languages:
|
||||||
|
- language: "English"
|
||||||
|
proficiency: "Fluent"
|
||||||
|
- language: "Spanish"
|
||||||
|
proficiency: "Intermediate"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Interests
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
Mention your professional or personal interests that may be relevant to your career.
|
||||||
|
|
||||||
|
- **interest**: A list of interests or hobbies.
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
interests:
|
||||||
|
- "Machine Learning"
|
||||||
|
- "Cybersecurity"
|
||||||
|
- "Open Source Projects"
|
||||||
|
- "Digital Marketing"
|
||||||
|
- "Entrepreneurship"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Availability
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
State your current availability or notice period.
|
||||||
|
|
||||||
|
- **notice_period**: The amount of time required before you can start a new role (e.g., "2 weeks", "1 month").
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
availability:
|
||||||
|
notice_period: "2 weeks"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Salary Expectations
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
Provide your expected salary range.
|
||||||
|
|
||||||
|
- **salary_range_usd**: The salary range you are expecting, expressed in USD.
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
salary_expectations:
|
||||||
|
salary_range_usd: "80000 - 100000"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Self-Identification
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
Provide information related to personal identity, including gender and pronouns.
|
||||||
|
|
||||||
|
- **gender**: Your gender identity.
|
||||||
|
- **pronouns**: The pronouns you use (e.g., He/Him, She/Her, They/Them).
|
||||||
|
- **veteran**: Your status as a veteran (e.g., Yes, No).
|
||||||
|
- **disability**: Whether you have a disability (e.g., Yes, No).
|
||||||
|
- **ethnicity**: Your ethnicity.
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
self_identification:
|
||||||
|
gender: "Female"
|
||||||
|
pronouns: "She/Her"
|
||||||
|
veteran: "No"
|
||||||
|
disability: "No"
|
||||||
|
ethnicity: "Asian"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Legal Authorization
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
Indicate your legal ability to work in various locations.
|
||||||
|
|
||||||
|
- **eu_work_authorization**: Whether you are authorized to work in the European Union (Yes/No).
|
||||||
|
- **us_work_authorization**: Whether you are authorized to work in the United States (Yes/No).
|
||||||
|
- **requires_us_visa**: Whether you require a visa to work in the US (Yes/No).
|
||||||
|
- **requires_us_sponsorship**: Whether you require sponsorship to work in the US (Yes/No).
|
||||||
|
- **requires_eu_visa**: Whether you require a visa to work in the EU (Yes/No).
|
||||||
|
- **legally_allowed_to_work_in_eu**: Whether you are legally allowed to work in the EU (Yes/No).
|
||||||
|
- **legally_allowed_to_work_in_us**: Whether you are legally allowed to work in the US (Yes/No).
|
||||||
|
- **requires_eu_sponsorship**: Whether you require sponsorship to work in the EU (Yes/No).
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
legal_authorization:
|
||||||
|
eu_work_authorization: "Yes"
|
||||||
|
us_work_authorization: "No"
|
||||||
|
requires_us_visa: "Yes"
|
||||||
|
requires_us_sponsorship: "Yes"
|
||||||
|
requires_eu_visa: "No"
|
||||||
|
legally_allowed_to_work_in_eu: "Yes"
|
||||||
|
legally_allowed_to_work_in_us: "No"
|
||||||
|
requires_eu_sponsorship: "No"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Work Preferences
|
||||||
|
|
||||||
|
##### Description
|
||||||
|
Specify your preferences for work arrangements and conditions.
|
||||||
|
|
||||||
|
- **remote_work**: Whether you are open to remote work (Yes/No).
|
||||||
|
- **in_person_work**: Whether you are open to in-person work (Yes/No).
|
||||||
|
- **open_to_relocation**: Whether you are willing to relocate for a job (Yes/No).
|
||||||
|
- **willing_to_complete_assessments**: Whether you are willing to complete job assessments (Yes/No).
|
||||||
|
- **willing_to_undergo_drug_tests**: Whether you are willing to undergo drug testing (Yes/No).
|
||||||
|
- **willing_to_undergo_background_checks**: Whether you are willing to undergo background checks (Yes/No).
|
||||||
|
|
||||||
|
##### Example
|
||||||
|
```yaml
|
||||||
|
work
|
||||||
|
|
||||||
|
_preferences:
|
||||||
|
remote_work: "Yes"
|
||||||
|
in_person_work: "No"
|
||||||
|
open_to_relocation: "Yes"
|
||||||
|
willing_to_complete_assessments: "Yes"
|
||||||
|
willing_to_undergo_drug_tests: "No"
|
||||||
|
willing_to_undergo_background_checks: "Yes"
|
||||||
|
```
|
||||||
|
|
||||||
### PLUS. data_folder_example
|
### PLUS. data_folder_example
|
||||||
|
|
||||||
@ -247,7 +473,6 @@ Using this folder as a guide can be particularly helpful for:
|
|||||||
2. Seeing examples of valid data for each field
|
2. Seeing examples of valid data for each field
|
||||||
3. Having a reference point while filling out your personal files
|
3. Having a reference point while filling out your personal files
|
||||||
|
|
||||||
#### Important Note
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
0. **LinkedIn language**
|
0. **LinkedIn language**
|
||||||
@ -276,7 +501,7 @@ Using this folder as a guide can be particularly helpful for:
|
|||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
For detailed information on each component and their respective roles, please refer to the [Documentation](documentation.md) file.
|
TODO ):
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
@ -292,7 +517,7 @@ LinkedIn_AIHawk provides a significant advantage in the modern job market by aut
|
|||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
|
||||||
- [feder-cr](https://github.com/feder-cr/) - Creator and Maintainer
|
- [feder-cr](https://github.com/feder-cr) - Creator and Lead Developer
|
||||||
|
|
||||||
LinkedIn_AIHawk is still in beta, and your feedback, suggestions, and contributions are highly valued. Feel free to open issues, suggest enhancements, or submit pull requests to help improve the project. Let's work together to make LinkedIn_AIHawk an even more powerful tool for job seekers worldwide.
|
LinkedIn_AIHawk is still in beta, and your feedback, suggestions, and contributions are highly valued. Feel free to open issues, suggest enhancements, or submit pull requests to help improve the project. Let's work together to make LinkedIn_AIHawk an even more powerful tool for job seekers worldwide.
|
||||||
|
|
||||||
|
@ -1,40 +1,42 @@
|
|||||||
remote: true
|
remote: [true/false]
|
||||||
|
|
||||||
experienceLevel:
|
experienceLevel:
|
||||||
internship: true
|
internship: [true/false]
|
||||||
entry: false
|
entry: [true/false]
|
||||||
associate: true
|
associate: [true/false]
|
||||||
mid-senior level: false
|
mid-senior level: [true/false]
|
||||||
director: true
|
director: [true/false]
|
||||||
executive: false
|
executive: [true/false]
|
||||||
|
|
||||||
jobTypes:
|
jobTypes:
|
||||||
full-time: true
|
full-time: [true/false]
|
||||||
contract: false
|
contract: [true/false]
|
||||||
part-time: false
|
part-time: [true/false]
|
||||||
temporary: true
|
temporary: [true/false]
|
||||||
internship: false
|
internship: [true/false]
|
||||||
other: false
|
other: [true/false]
|
||||||
volunteer: true
|
volunteer: [true/false]
|
||||||
|
|
||||||
date:
|
date:
|
||||||
all time: false
|
all time: [true/false]
|
||||||
month: true
|
month: [true/false]
|
||||||
week: false
|
week: [true/false]
|
||||||
24 hours: true
|
24 hours: [true/false]
|
||||||
|
|
||||||
positions:
|
positions:
|
||||||
- Software Enginner ML
|
- position1
|
||||||
|
- position2
|
||||||
|
|
||||||
locations:
|
locations:
|
||||||
- USA
|
- Country1
|
||||||
|
- Country2
|
||||||
|
|
||||||
distance: 100
|
distance: 100
|
||||||
|
|
||||||
companyBlacklist:
|
companyBlacklist:
|
||||||
- Noir
|
- Company1
|
||||||
- Crossover
|
- Company2
|
||||||
|
|
||||||
titleBlacklist:
|
titleBlacklist:
|
||||||
- diocane
|
- word1
|
||||||
|
- word2
|
@ -1,133 +1,101 @@
|
|||||||
personal_information:
|
personal_information:
|
||||||
name: "Liam"
|
name: "[Your Name]"
|
||||||
surname: "Murphy"
|
surname: "[Your Surname]"
|
||||||
date_of_birth: "15/08/1995"
|
date_of_birth: "[DD/MM/YYYY]"
|
||||||
country: "Ireland"
|
country: "[Your Country]"
|
||||||
city: "Galway"
|
city: "[Your City]"
|
||||||
address: "Galway City Center"
|
address: "[Your Address]"
|
||||||
phone_prefix: "+353"
|
phone_prefix: "[Your Phone Prefix]"
|
||||||
phone: "871234567"
|
phone: "[Your Phone Number]"
|
||||||
email: "liam.murphy@gmail.com"
|
email: "[Your Email Address]"
|
||||||
github: "https://github.com/liam-murphy"
|
github: "[Your GitHub Profile URL]"
|
||||||
linkedin: "https://www.linkedin.com/in/liam-murphy/"
|
linkedin: "[Your LinkedIn Profile URL]"
|
||||||
|
|
||||||
education_details:
|
education_details:
|
||||||
- degree: "Bachelor's Degree"
|
- degree: "[Your Degree]"
|
||||||
university: "National University of Ireland, Galway"
|
university: "[Your University]"
|
||||||
gpa: "4/4"
|
gpa: "[Your GPA]"
|
||||||
graduation_year: "2020"
|
graduation_year: "[Year of Graduation]"
|
||||||
field_of_study: "Computer Science"
|
field_of_study: "[Your Field of Study]"
|
||||||
exam:
|
exam:
|
||||||
Information Theory and Inference: "4"
|
[Course Name 1]: "[Grade]"
|
||||||
Algorithm Analysis and Design: "4"
|
[Course Name 2]: "[Grade]"
|
||||||
Object-Oriented Languages and Programming: "4"
|
[Course Name 3]: "[Grade]"
|
||||||
Linear Algebra and Numerical Analysis: "4"
|
[Course Name 4]: "[Grade]"
|
||||||
Database: "4"
|
[Course Name 5]: "[Grade]"
|
||||||
|
|
||||||
experience_details:
|
experience_details:
|
||||||
- position: "Co-Founder & Software Engineer"
|
- position: "[Your Job Title]"
|
||||||
company: "CryptoWave Solutions"
|
company: "[Company Name]"
|
||||||
employment_period: "03/2021 - Present"
|
employment_period: "[Start Date] - [End Date]"
|
||||||
location: "Ireland"
|
location: "[Location]"
|
||||||
industry: "Blockchain Technology"
|
industry: "[Industry]"
|
||||||
key_responsibilities:
|
key_responsibilities:
|
||||||
- responsibility_1: "Co-founded and led a startup specializing in app and software development with a focus on blockchain technology"
|
- responsibility_1: "[Key Responsibility 1]"
|
||||||
- responsibility_2: "Provided blockchain consultations for 10+ companies, enhancing their software capabilities with secure, decentralized solutions"
|
- responsibility_2: "[Key Responsibility 2]"
|
||||||
- responsibility_3: "Developed blockchain applications, integrated cutting-edge technology to meet client needs and drive industry innovation"
|
- responsibility_3: "[Key Responsibility 3]"
|
||||||
skills_acquired:
|
skills_acquired:
|
||||||
- "Blockchain development"
|
- "[Skill 1]"
|
||||||
- "Software engineering"
|
- "[Skill 2]"
|
||||||
- "Consultancy"
|
- "[Skill 3]"
|
||||||
|
|
||||||
- position: "Research Intern"
|
|
||||||
company: "National University of Ireland, Galway"
|
|
||||||
employment_period: "11/2022 - 03/2023"
|
|
||||||
location: "Galway, Ireland"
|
|
||||||
industry: "IoT Security Research"
|
|
||||||
key_responsibilities:
|
|
||||||
- responsibility_1: "Conducted in-depth research on IoT security, focusing on binary instrumentation and runtime monitoring"
|
|
||||||
- responsibility_2: "Performed in-depth study of the MQTT protocol and Falco"
|
|
||||||
- responsibility_3: "Developed multiple software components including MQTT packet analysis library, Falco adapter, and RML monitor in Prolog"
|
|
||||||
- responsibility_4: "Authored thesis 'Binary Instrumentation for Runtime Monitoring of Internet of Things Systems Using Falco'"
|
|
||||||
skills_acquired:
|
|
||||||
- "IoT security"
|
|
||||||
- "Binary instrumentation"
|
|
||||||
- "MQTT protocol"
|
|
||||||
- "Prolog programming"
|
|
||||||
|
|
||||||
- position: "Software Engineer"
|
|
||||||
company: "University Hospital Galway"
|
|
||||||
employment_period: "05/2022 - 11/2022"
|
|
||||||
location: "Galway, Ireland"
|
|
||||||
industry: "Healthcare IT"
|
|
||||||
key_responsibilities:
|
|
||||||
- responsibility_1: "Integrated and enforced robust security protocols"
|
|
||||||
- responsibility_2: "Developed and maintained a critical software tool for password validation used by over 1,600 employees"
|
|
||||||
- responsibility_3: "Played an integral role in the hospital's cybersecurity team"
|
|
||||||
skills_acquired:
|
|
||||||
- "Cybersecurity"
|
|
||||||
- "Software development"
|
|
||||||
- "Password validation"
|
|
||||||
|
|
||||||
projects:
|
projects:
|
||||||
- name: "JobBot"
|
- name: "[Project Name]"
|
||||||
description: "AI-driven tool to automate and personalize job applications on LinkedIn, gained over 3000 stars on GitHub, improving efficiency and reducing application time"
|
description: "[Brief Description of the Project]"
|
||||||
link: "https://github.com/liam-murphy/jobbot"
|
link: "[Project URL]"
|
||||||
- name: "mqtt-packet-parser"
|
- name: "[Project Name]"
|
||||||
description: "Developed a Node.js module for parsing MQTT packets, improved parsing efficiency by 40%"
|
description: "[Brief Description of the Project]"
|
||||||
link: "https://github.com/liam-murphy/mqtt-packet-parser"
|
link: "[Project URL]"
|
||||||
|
|
||||||
achievements:
|
achievements:
|
||||||
- name: "Winner of an Irish public competition"
|
- name: "[Achievement Title]"
|
||||||
description: "Won first place in a public competition with a perfect score of 70/70, securing a Software Developer position at University Hospital Galway"
|
description: "[Brief Description of the Achievement]"
|
||||||
- name: "Galway Merit Scholarship"
|
- name: "[Achievement Title]"
|
||||||
description: "Awarded annually from 2018 to 2020 in recognition of academic excellence and contribution"
|
description: "[Brief Description of the Achievement]"
|
||||||
- name: "GitHub Recognition"
|
|
||||||
description: "Gained over 3000 stars on GitHub with JobBot project"
|
|
||||||
|
|
||||||
certifications:
|
certifications:
|
||||||
- "C1"
|
- "[Certification Name]"
|
||||||
|
|
||||||
languages:
|
languages:
|
||||||
- language: "English"
|
- language: "[Language Name]"
|
||||||
proficiency: "Native"
|
proficiency: "[Proficiency Level]"
|
||||||
- language: "Spanish"
|
- language: "[Language Name]"
|
||||||
proficiency: "Professional"
|
proficiency: "[Proficiency Level]"
|
||||||
|
|
||||||
interests:
|
interests:
|
||||||
- "Full-Stack Development"
|
- "[Interest 1]"
|
||||||
- "Software Architecture"
|
- "[Interest 2]"
|
||||||
- "IoT system design and development"
|
- "[Interest 3]"
|
||||||
- "Artificial Intelligence"
|
- "[Interest 4]"
|
||||||
- "Cloud Technologies"
|
- "[Interest 5]"
|
||||||
|
|
||||||
availability:
|
availability:
|
||||||
notice_period: "immediately"
|
notice_period: "[Notice Period]"
|
||||||
|
|
||||||
salary_expectations:
|
salary_expectations:
|
||||||
salary_range_usd: "100000"
|
salary_range_usd: "[Expected Salary Range in USD]"
|
||||||
|
|
||||||
self_identification:
|
self_identification:
|
||||||
gender: "Male"
|
gender: "[Gender]"
|
||||||
pronouns: "He"
|
pronouns: "[Pronouns]"
|
||||||
veteran: "No"
|
veteran: "[Veteran Status]"
|
||||||
disability: "No"
|
disability: "[Disability Status]"
|
||||||
ethnicity: "white"
|
ethnicity: "[Ethnicity]"
|
||||||
|
|
||||||
legal_authorization:
|
legal_authorization:
|
||||||
eu_work_authorization: "Yes"
|
eu_work_authorization: "[Yes/No]"
|
||||||
us_work_authorization: "No"
|
us_work_authorization: "[Yes/No]"
|
||||||
requires_us_visa: "Yes"
|
requires_us_visa: "[Yes/No]"
|
||||||
requires_us_sponsorship: "Yes"
|
requires_us_sponsorship: "[Yes/No]"
|
||||||
requires_eu_visa: "No"
|
requires_eu_visa: "[Yes/No]"
|
||||||
legally_allowed_to_work_in_eu: "Yes"
|
legally_allowed_to_work_in_eu: "[Yes/No]"
|
||||||
legally_allowed_to_work_in_us: "No"
|
legally_allowed_to_work_in_us: "[Yes/No]"
|
||||||
requires_eu_sponsorship: "No"
|
requires_eu_sponsorship: "[Yes/No]"
|
||||||
|
|
||||||
work_preferences:
|
work_preferences:
|
||||||
remote_work: "Yes"
|
remote_work: "[Yes/No]"
|
||||||
in_person_work: "Yes"
|
in_person_work: "[Yes/No]"
|
||||||
open_to_relocation: "Yes"
|
open_to_relocation: "[Yes/No]"
|
||||||
willing_to_complete_assessments: "Yes"
|
willing_to_complete_assessments: "[Yes/No]"
|
||||||
willing_to_undergo_drug_tests: "Yes"
|
willing_to_undergo_drug_tests: "[Yes/No]"
|
||||||
willing_to_undergo_background_checks: "Yes"
|
willing_to_undergo_background_checks: "[Yes/No]"
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
email: [Your Linkedin email]
|
email: myemaillinkedin@gmail.com
|
||||||
password: [Your Linkedin password]
|
password: ImpossiblePassowrd10
|
||||||
openai_api_key: [OpenAi API key, tutorial -> https://medium.com/@lorenzozar/how-to-get-your-own-openai-api-key-f4d44e60c327]
|
openai_api_key: sk-11KRr4uuTwpRGfeRTfj1T9BlbkFJjP8QTrswHU1yGruru2FR
|
39
data_folder_example/config.yaml
Normal file
39
data_folder_example/config.yaml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
remote: true
|
||||||
|
|
||||||
|
experienceLevel:
|
||||||
|
internship: true
|
||||||
|
entry: true
|
||||||
|
associate: true
|
||||||
|
mid-senior level: true
|
||||||
|
director: false
|
||||||
|
executive: false
|
||||||
|
|
||||||
|
jobTypes:
|
||||||
|
full-time: true
|
||||||
|
contract: false
|
||||||
|
part-time: false
|
||||||
|
temporary: true
|
||||||
|
internship: false
|
||||||
|
other: false
|
||||||
|
volunteer: true
|
||||||
|
|
||||||
|
date:
|
||||||
|
all time: false
|
||||||
|
month: true
|
||||||
|
week: false
|
||||||
|
24 hours: true
|
||||||
|
|
||||||
|
positions:
|
||||||
|
- Software Tester
|
||||||
|
|
||||||
|
|
||||||
|
locations:
|
||||||
|
- USA
|
||||||
|
|
||||||
|
distance: 100
|
||||||
|
|
||||||
|
companyBlacklist:
|
||||||
|
- Noir
|
||||||
|
- Crossover
|
||||||
|
|
||||||
|
titleBlacklist:
|
133
data_folder_example/plain_text_resume.yaml
Normal file
133
data_folder_example/plain_text_resume.yaml
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
personal_information:
|
||||||
|
name: "Liam"
|
||||||
|
surname: "Murphy"
|
||||||
|
date_of_birth: "15/08/1995"
|
||||||
|
country: "Ireland"
|
||||||
|
city: "Galway"
|
||||||
|
address: "Galway City Center"
|
||||||
|
phone_prefix: "+353"
|
||||||
|
phone: "871234567"
|
||||||
|
email: "liam.murphy@gmail.com"
|
||||||
|
github: "https://github.com/liam-murphy"
|
||||||
|
linkedin: "https://www.linkedin.com/in/liam-murphy/"
|
||||||
|
|
||||||
|
education_details:
|
||||||
|
- degree: "Bachelor's Degree"
|
||||||
|
university: "National University of Ireland, Galway"
|
||||||
|
gpa: "4/4"
|
||||||
|
graduation_year: "2020"
|
||||||
|
field_of_study: "Computer Science"
|
||||||
|
exam:
|
||||||
|
Information Theory and Inference: "4"
|
||||||
|
Algorithm Analysis and Design: "4"
|
||||||
|
Object-Oriented Languages and Programming: "4"
|
||||||
|
Linear Algebra and Numerical Analysis: "4"
|
||||||
|
Database: "4"
|
||||||
|
|
||||||
|
experience_details:
|
||||||
|
- position: "Co-Founder & Software Engineer"
|
||||||
|
company: "CryptoWave Solutions"
|
||||||
|
employment_period: "03/2021 - Present"
|
||||||
|
location: "Ireland"
|
||||||
|
industry: "Blockchain Technology"
|
||||||
|
key_responsibilities:
|
||||||
|
- responsibility_1: "Co-founded and led a startup specializing in app and software development with a focus on blockchain technology"
|
||||||
|
- responsibility_2: "Provided blockchain consultations for 10+ companies, enhancing their software capabilities with secure, decentralized solutions"
|
||||||
|
- responsibility_3: "Developed blockchain applications, integrated cutting-edge technology to meet client needs and drive industry innovation"
|
||||||
|
skills_acquired:
|
||||||
|
- "Blockchain development"
|
||||||
|
- "Software engineering"
|
||||||
|
- "Consultancy"
|
||||||
|
|
||||||
|
- position: "Research Intern"
|
||||||
|
company: "National University of Ireland, Galway"
|
||||||
|
employment_period: "11/2022 - 03/2023"
|
||||||
|
location: "Galway, Ireland"
|
||||||
|
industry: "IoT Security Research"
|
||||||
|
key_responsibilities:
|
||||||
|
- responsibility_1: "Conducted in-depth research on IoT security, focusing on binary instrumentation and runtime monitoring"
|
||||||
|
- responsibility_2: "Performed in-depth study of the MQTT protocol and Falco"
|
||||||
|
- responsibility_3: "Developed multiple software components including MQTT packet analysis library, Falco adapter, and RML monitor in Prolog"
|
||||||
|
- responsibility_4: "Authored thesis 'Binary Instrumentation for Runtime Monitoring of Internet of Things Systems Using Falco'"
|
||||||
|
skills_acquired:
|
||||||
|
- "IoT security"
|
||||||
|
- "Binary instrumentation"
|
||||||
|
- "MQTT protocol"
|
||||||
|
- "Prolog programming"
|
||||||
|
|
||||||
|
- position: "Software Engineer"
|
||||||
|
company: "University Hospital Galway"
|
||||||
|
employment_period: "05/2022 - 11/2022"
|
||||||
|
location: "Galway, Ireland"
|
||||||
|
industry: "Healthcare IT"
|
||||||
|
key_responsibilities:
|
||||||
|
- responsibility_1: "Integrated and enforced robust security protocols"
|
||||||
|
- responsibility_2: "Developed and maintained a critical software tool for password validation used by over 1,600 employees"
|
||||||
|
- responsibility_3: "Played an integral role in the hospital's cybersecurity team"
|
||||||
|
skills_acquired:
|
||||||
|
- "Cybersecurity"
|
||||||
|
- "Software development"
|
||||||
|
- "Password validation"
|
||||||
|
|
||||||
|
projects:
|
||||||
|
- name: "JobBot"
|
||||||
|
description: "AI-driven tool to automate and personalize job applications on LinkedIn, gained over 3000 stars on GitHub, improving efficiency and reducing application time"
|
||||||
|
link: "https://github.com/liam-murphy/jobbot"
|
||||||
|
- name: "mqtt-packet-parser"
|
||||||
|
description: "Developed a Node.js module for parsing MQTT packets, improved parsing efficiency by 40%"
|
||||||
|
link: "https://github.com/liam-murphy/mqtt-packet-parser"
|
||||||
|
|
||||||
|
achievements:
|
||||||
|
- name: "Winner of an Irish public competition"
|
||||||
|
description: "Won first place in a public competition with a perfect score of 70/70, securing a Software Developer position at University Hospital Galway"
|
||||||
|
- name: "Galway Merit Scholarship"
|
||||||
|
description: "Awarded annually from 2018 to 2020 in recognition of academic excellence and contribution"
|
||||||
|
- name: "GitHub Recognition"
|
||||||
|
description: "Gained over 3000 stars on GitHub with JobBot project"
|
||||||
|
|
||||||
|
certifications:
|
||||||
|
- "C1"
|
||||||
|
|
||||||
|
languages:
|
||||||
|
- language: "English"
|
||||||
|
proficiency: "Native"
|
||||||
|
- language: "Spanish"
|
||||||
|
proficiency: "Professional"
|
||||||
|
|
||||||
|
interests:
|
||||||
|
- "Full-Stack Development"
|
||||||
|
- "Software Architecture"
|
||||||
|
- "IoT system design and development"
|
||||||
|
- "Artificial Intelligence"
|
||||||
|
- "Cloud Technologies"
|
||||||
|
|
||||||
|
availability:
|
||||||
|
notice_period: "immediately"
|
||||||
|
|
||||||
|
salary_expectations:
|
||||||
|
salary_range_usd: "100000"
|
||||||
|
|
||||||
|
self_identification:
|
||||||
|
gender: "Male"
|
||||||
|
pronouns: "He"
|
||||||
|
veteran: "No"
|
||||||
|
disability: "No"
|
||||||
|
ethnicity: "white"
|
||||||
|
|
||||||
|
legal_authorization:
|
||||||
|
eu_work_authorization: "Yes"
|
||||||
|
us_work_authorization: "No"
|
||||||
|
requires_us_visa: "Yes"
|
||||||
|
requires_us_sponsorship: "Yes"
|
||||||
|
requires_eu_visa: "No"
|
||||||
|
legally_allowed_to_work_in_eu: "Yes"
|
||||||
|
legally_allowed_to_work_in_us: "No"
|
||||||
|
requires_eu_sponsorship: "No"
|
||||||
|
|
||||||
|
work_preferences:
|
||||||
|
remote_work: "Yes"
|
||||||
|
in_person_work: "Yes"
|
||||||
|
open_to_relocation: "Yes"
|
||||||
|
willing_to_complete_assessments: "Yes"
|
||||||
|
willing_to_undergo_drug_tests: "Yes"
|
||||||
|
willing_to_undergo_background_checks: "Yes"
|
3
data_folder_example/secrets.yaml
Normal file
3
data_folder_example/secrets.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
email: myemaillinkedin@gmail.com
|
||||||
|
password: ImpossiblePassowrd10
|
||||||
|
openai_api_key: sk-11KRr4uuTwpRGfeRTfj1T9BlbkFJjP8QTrswHU1yGruru2FR
|
5
job.py
5
job.py
@ -10,6 +10,7 @@ class Job:
|
|||||||
description: str = ""
|
description: str = ""
|
||||||
summarize_job_description: str = ""
|
summarize_job_description: str = ""
|
||||||
pdf_path: str = ""
|
pdf_path: str = ""
|
||||||
|
recruiter_link: str = ""
|
||||||
|
|
||||||
def set_summarize_job_description(self, summarize_job_description):
|
def set_summarize_job_description(self, summarize_job_description):
|
||||||
self.summarize_job_description = summarize_job_description
|
self.summarize_job_description = summarize_job_description
|
||||||
@ -17,6 +18,9 @@ class Job:
|
|||||||
def set_job_description(self, description):
|
def set_job_description(self, description):
|
||||||
self.description = description
|
self.description = description
|
||||||
|
|
||||||
|
def set_recruiter_link(self, recruiter_link):
|
||||||
|
self.recruiter_link = recruiter_link
|
||||||
|
|
||||||
def formatted_job_information(self):
|
def formatted_job_information(self):
|
||||||
"""
|
"""
|
||||||
Formats the job information as a markdown string.
|
Formats the job information as a markdown string.
|
||||||
@ -27,6 +31,7 @@ class Job:
|
|||||||
- Position: {self.title}
|
- Position: {self.title}
|
||||||
- At: {self.company}
|
- At: {self.company}
|
||||||
- Location: {self.location}
|
- Location: {self.location}
|
||||||
|
- Recruiter Profile: {self.recruiter_link or 'Not available'}
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
{self.description or 'No description provided.'}
|
{self.description or 'No description provided.'}
|
||||||
|
@ -55,8 +55,8 @@ class LinkedInEasyApplier:
|
|||||||
time.sleep(random.uniform(3, 5))
|
time.sleep(random.uniform(3, 5))
|
||||||
try:
|
try:
|
||||||
easy_apply_button = self._find_easy_apply_button()
|
easy_apply_button = self._find_easy_apply_button()
|
||||||
job_description = self._get_job_description()
|
job.set_job_description(self._get_job_description())
|
||||||
job.set_job_description(job_description)
|
job.set_recruiter_link(self._get_job_recruiter())
|
||||||
actions = ActionChains(self.driver)
|
actions = ActionChains(self.driver)
|
||||||
actions.move_to_element(easy_apply_button).click().perform()
|
actions.move_to_element(easy_apply_button).click().perform()
|
||||||
self.gpt_answerer.set_job(job)
|
self.gpt_answerer.set_job(job)
|
||||||
@ -107,6 +107,19 @@ class LinkedInEasyApplier:
|
|||||||
tb_str = traceback.format_exc()
|
tb_str = traceback.format_exc()
|
||||||
raise Exception(f"Error getting Job description: \nTraceback:\n{tb_str}")
|
raise Exception(f"Error getting Job description: \nTraceback:\n{tb_str}")
|
||||||
|
|
||||||
|
|
||||||
|
def _get_job_recruiter(self):
|
||||||
|
try:
|
||||||
|
hiring_team_section = WebDriverWait(self.driver, 10).until(
|
||||||
|
EC.presence_of_element_located((By.XPATH, '//h2[text()="Meet the hiring team"]'))
|
||||||
|
)
|
||||||
|
recruiter_element = hiring_team_section.find_element(By.XPATH, './/following::a[contains(@href, "linkedin.com/in/")]')
|
||||||
|
recruiter_link = recruiter_element.get_attribute('href')
|
||||||
|
return recruiter_link
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Errore durante l'estrazione del link del recruiter: {e}")
|
||||||
|
return ""
|
||||||
|
|
||||||
def _scroll_page(self) -> None:
|
def _scroll_page(self) -> None:
|
||||||
scrollable_element = self.driver.find_element(By.TAG_NAME, 'html')
|
scrollable_element = self.driver.find_element(By.TAG_NAME, 'html')
|
||||||
#utils.scroll_slow(self.driver, scrollable_element, step=300, reverse=False)
|
#utils.scroll_slow(self.driver, scrollable_element, step=300, reverse=False)
|
||||||
@ -269,8 +282,6 @@ class LinkedInEasyApplier:
|
|||||||
else:
|
else:
|
||||||
question_type = 'textbox'
|
question_type = 'textbox'
|
||||||
answer = self.gpt_answerer.answer_question_textual_wide_range(question_text)
|
answer = self.gpt_answerer.answer_question_textual_wide_range(question_text)
|
||||||
|
|
||||||
|
|
||||||
existing_answer = None
|
existing_answer = None
|
||||||
for item in self.all_data:
|
for item in self.all_data:
|
||||||
if item['question'] == self._sanitize_text(question_text) and item['type'] == question_type:
|
if item['question'] == self._sanitize_text(question_text) and item['type'] == question_type:
|
||||||
|
@ -149,6 +149,7 @@ class LinkedInJobManager:
|
|||||||
"company": job.company,
|
"company": job.company,
|
||||||
"job_title": job.title,
|
"job_title": job.title,
|
||||||
"link": job.link,
|
"link": job.link,
|
||||||
|
"job_recruiter": job.recruiter_link,
|
||||||
"job_location": job.location,
|
"job_location": job.location,
|
||||||
"pdf_path": pdf_path
|
"pdf_path": pdf_path
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user