navkast
commited on
LLM test harness + prompt caching + prompt tuning (#8)
Browse files* Commit test data + move test data around
* update
* create sample test jsons
* add preliminary VSP modeling
* add preliminary vsp modeling
* Continue iterating on test data
* Add samples
* wip
* wip
* format
* format
* format fixes
* wip
* wip
* wip
* wip
* fix test data, fix prompts, introduce llm cache
* formatting
This view is limited to 50 files because it contains too many changes.
See raw diff
- .gitignore +2 -0
- enum_classifier_results.json +0 -0
- pyproject.toml +2 -0
- src/notebooks/classifiers/education_classifier.ipynb +45 -35
- src/notebooks/classifiers/work_experience/investment_banking_group_classifier.ipynb +12 -13
- src/notebooks/classifiers/work_experience/investment_focus_asset_class_classifier.ipynb +15 -68
- src/notebooks/classifiers/work_experience/investment_focus_sectors_classifier.ipynb +15 -64
- src/notebooks/classifiers/work_experience/work_experience_classifier.ipynb +16 -108
- src/notebooks/data/eric_armagost.json +0 -395
- src/notebooks/data/hansae_catlett.json +0 -1054
- src/vsp/app/bindings.py +4 -1
- src/vsp/app/classifiers/education_classifier.py +4 -4
- src/vsp/app/classifiers/work_experience/general_work_experience_classifier.py +8 -6
- src/vsp/app/classifiers/work_experience/investing_focus_asset_class_classifier.py +6 -5
- src/vsp/app/classifiers/work_experience/investing_focus_sector_classifier.py +6 -5
- src/vsp/app/classifiers/work_experience/investment_banking_group_classifier.py +6 -5
- src/vsp/app/main.py +48 -102
- src/vsp/app/model/linkedin/linkedin_formatters.py +5 -5
- src/vsp/app/model/linkedin/linkedin_models.py +3 -0
- src/vsp/app/model/vsp/vsp_models.py +74 -0
- src/vsp/app/prompts/education_classifier/1 - education_classifier_human.txt +3 -3
- src/vsp/app/prompts/education_classifier/1 - education_classifier_system.txt +11 -11
- src/vsp/app/prompts/prompt_loader.py +1 -1
- src/vsp/app/prompts/work_experience_classifier/1 - work_experience_classifier_human.txt +1 -1
- src/vsp/app/prompts/work_experience_classifier/1 - work_experience_classifier_system.txt +23 -11
- src/vsp/app/prompts/work_experience_classifier/investing_focus_asset_class/1 - investing_focus_asset_class_classifier_human.txt +1 -1
- src/vsp/app/prompts/work_experience_classifier/investing_focus_asset_class/1 - investing_focus_asset_class_classifier_system.txt +3 -2
- src/vsp/app/prompts/work_experience_classifier/investing_focus_sector/1 - investing_focus_sector_classifier_human.txt +1 -1
- src/vsp/app/prompts/work_experience_classifier/investing_focus_sector/1 - investing_focus_sector_classifier_system.txt +4 -5
- src/vsp/app/prompts/work_experience_classifier/investment_banking_group/1 - investment_banking_group_classifier_human.txt +1 -1
- src/vsp/app/prompts/work_experience_classifier/investment_banking_group/1 - investment_banking_group_classifier_system.txt +2 -1
- src/vsp/app/scrapers/linkedin_downloader.py +25 -25
- src/vsp/llm/cached_llm_service.py +38 -0
- src/vsp/llm/llm_cache.py +49 -0
- src/vsp/llm/openai/openai.py +1 -1
- src/vsp/shared/config.py +1 -1
- tests/test_data/sample_profiles/chanson_zhao.json +527 -0
- tests/test_data/sample_profiles/eric_armagost.json +261 -0
- tests/test_data/sample_profiles/hansae_catlett.json +565 -0
- tests/test_data/sample_profiles/jake_kugler.json +270 -0
- tests/test_data/sample_profiles/jeffrey_bai.json +297 -0
- tests/test_data/sample_profiles/lauren_hipple.json +411 -0
- tests/test_data/sample_profiles/nicholas_penske.json +465 -0
- tests/test_data/sample_profiles/peter_tagliaferri.json +316 -0
- tests/test_data/sample_profiles/siddharth_saxena.json +625 -0
- tests/test_data/sample_profiles/zac_mohring.json +363 -0
- tests/test_data/sample_profiles_classified/chanson_zhao.json +190 -0
- tests/test_data/sample_profiles_classified/eric_armagost.json +97 -0
- tests/test_data/sample_profiles_classified/hansae_catlett.json +180 -0
- tests/test_data/sample_profiles_classified/jake_kugler.json +120 -0
.gitignore
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
# Byte-compiled / optimized / DLL files
|
| 2 |
__pycache__/
|
| 3 |
*.py[cod]
|
|
@@ -163,3 +164,4 @@ cython_debug/
|
|
| 163 |
|
| 164 |
.claudesync
|
| 165 |
.aider*
|
|
|
|
|
|
| 1 |
+
.DS_Store
|
| 2 |
# Byte-compiled / optimized / DLL files
|
| 3 |
__pycache__/
|
| 4 |
*.py[cod]
|
|
|
|
| 164 |
|
| 165 |
.claudesync
|
| 166 |
.aider*
|
| 167 |
+
llm_cache.db
|
enum_classifier_results.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
pyproject.toml
CHANGED
|
@@ -11,7 +11,9 @@ dependencies = [
|
|
| 11 |
"pydantic>=2.8.2",
|
| 12 |
"pytimeparse>=1.1.8",
|
| 13 |
"requests>=2.32.3",
|
|
|
|
| 14 |
"structlog>=24.4.0",
|
|
|
|
| 15 |
"tenacity>=9.0.0",
|
| 16 |
"tomli>=2.0.1",
|
| 17 |
]
|
|
|
|
| 11 |
"pydantic>=2.8.2",
|
| 12 |
"pytimeparse>=1.1.8",
|
| 13 |
"requests>=2.32.3",
|
| 14 |
+
"rich>=13.8.1",
|
| 15 |
"structlog>=24.4.0",
|
| 16 |
+
"tabulate>=0.9.0",
|
| 17 |
"tenacity>=9.0.0",
|
| 18 |
"tomli>=2.0.1",
|
| 19 |
]
|
src/notebooks/classifiers/education_classifier.ipynb
CHANGED
|
@@ -4,13 +4,33 @@
|
|
| 4 |
"cell_type": "code",
|
| 5 |
"execution_count": 1,
|
| 6 |
"metadata": {},
|
| 7 |
-
"outputs": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
"source": [
|
| 9 |
"import json\n",
|
|
|
|
|
|
|
| 10 |
"\n",
|
| 11 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 12 |
"\n",
|
| 13 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
" data = json.load(f)\n",
|
| 15 |
" # convert to linkedin profile\n",
|
| 16 |
"\n",
|
|
@@ -19,60 +39,50 @@
|
|
| 19 |
},
|
| 20 |
{
|
| 21 |
"cell_type": "code",
|
| 22 |
-
"execution_count":
|
| 23 |
"metadata": {},
|
| 24 |
"outputs": [
|
| 25 |
{
|
| 26 |
"name": "stdout",
|
| 27 |
"output_type": "stream",
|
| 28 |
"text": [
|
| 29 |
-
"\u001b[2m2024-09-
|
| 30 |
-
"\u001b[2m2024-09-
|
| 31 |
-
"\u001b[2m2024-09-
|
| 32 |
-
"\u001b[2m2024-09-
|
| 33 |
-
"\u001b[2m2024-09-
|
| 34 |
-
"\u001b[2m2024-09-
|
| 35 |
-
"\u001b[2m2024-09-
|
| 36 |
-
"\u001b[2m2024-09-
|
| 37 |
-
"
|
| 38 |
-
"
|
| 39 |
-
"
|
| 40 |
-
"
|
| 41 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
"{\n",
|
| 43 |
" \"output\": \"Graduate School\",\n",
|
| 44 |
" \"confidence\": 1.0,\n",
|
| 45 |
-
" \"reasoning\": \"The specific
|
| 46 |
"}\n",
|
| 47 |
"{\n",
|
| 48 |
" \"output\": \"Undergraduate (Incomplete)\",\n",
|
| 49 |
" \"confidence\": 0.9,\n",
|
| 50 |
-
" \"reasoning\": \"The specific
|
| 51 |
-
"}\n",
|
| 52 |
-
"{\n",
|
| 53 |
-
" \"output\": \"Undergraduate (Completed)\",\n",
|
| 54 |
-
" \"confidence\": 1.0,\n",
|
| 55 |
-
" \"reasoning\": \"The specific LinkedIn education item clearly states that the candidate earned a Bachelor of Arts degree in Biomedical Engineering and Philosophy from Harvard University, with a graduation period from 2007 to 2011. This aligns perfectly with the information provided in the full resume, which also lists the same degree and institution, confirming its completion. Since the degree is a completed undergraduate degree, it fits squarely into the \\\"Undergraduate (Completed)\\\" category. The additional details about graduating with honors and involvement in various activities further support the classification as a completed undergraduate education.\"\n",
|
| 56 |
"}\n",
|
| 57 |
"{\n",
|
| 58 |
" \"output\": \"MBA\",\n",
|
| 59 |
" \"confidence\": 1.0,\n",
|
| 60 |
-
" \"reasoning\": \"The specific
|
| 61 |
-
"}\n",
|
| 62 |
-
"{\n",
|
| 63 |
-
" \"output\": \"Graduate School\",\n",
|
| 64 |
-
" \"confidence\": 1.0,\n",
|
| 65 |
-
" \"reasoning\": \"The specific LinkedIn education item clearly states that the candidate obtained a Master of Public Policy (M.P.P.) from Stanford University, which aligns perfectly with the information provided in the full resume. The degree is a graduate-level qualification, and the period of study (2016 to 2019) matches the timeline in the resume. Additionally, the description of the candidate's work during this program further supports the classification as a graduate school education. Therefore, it is accurately classified as GRAD_SCHOOL.\"\n",
|
| 66 |
-
"}\n",
|
| 67 |
-
"{\n",
|
| 68 |
-
" \"output\": \"Undergraduate (Incomplete)\",\n",
|
| 69 |
-
" \"confidence\": 0.9,\n",
|
| 70 |
-
" \"reasoning\": \"The specific LinkedIn education item indicates that the candidate participated in a \\\"Study Abroad\\\" program at the University of New South Wales, which is typically associated with undergraduate studies. The resume shows that the candidate completed a Bachelor of Arts at Harvard University, and the study abroad experience aligns with the undergraduate level of education. Since the degree type is explicitly labeled as \\\"Study Abroad,\\\" it falls under the category of \\\"Undergraduate (Incomplete)\\\" as it does not represent a completed degree but rather an additional educational experience during their undergraduate studies. The confidence level is high due to the clear context provided by both the resume and the LinkedIn item.\"\n",
|
| 71 |
"}\n",
|
| 72 |
"{\n",
|
| 73 |
" \"output\": \"Undergraduate (Completed)\",\n",
|
| 74 |
" \"confidence\": 1.0,\n",
|
| 75 |
-
" \"reasoning\": \"The specific
|
| 76 |
"}\n"
|
| 77 |
]
|
| 78 |
}
|
|
|
|
| 4 |
"cell_type": "code",
|
| 5 |
"execution_count": 1,
|
| 6 |
"metadata": {},
|
| 7 |
+
"outputs": [
|
| 8 |
+
{
|
| 9 |
+
"name": "stdout",
|
| 10 |
+
"output_type": "stream",
|
| 11 |
+
"text": [
|
| 12 |
+
"/Volumes/code/geometric/VSP-data-enrichment/src\n"
|
| 13 |
+
]
|
| 14 |
+
}
|
| 15 |
+
],
|
| 16 |
"source": [
|
| 17 |
"import json\n",
|
| 18 |
+
"import os\n",
|
| 19 |
+
"import subprocess\n",
|
| 20 |
"\n",
|
| 21 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 22 |
"\n",
|
| 23 |
+
"\n",
|
| 24 |
+
"def get_git_root():\n",
|
| 25 |
+
" return subprocess.check_output([\"git\", \"rev-parse\", \"--show-toplevel\"]).decode().strip()\n",
|
| 26 |
+
"\n",
|
| 27 |
+
"\n",
|
| 28 |
+
"git_root = get_git_root()\n",
|
| 29 |
+
"os.chdir(path=get_git_root() + \"/src\")\n",
|
| 30 |
+
"print(os.getcwd())\n",
|
| 31 |
+
"\n",
|
| 32 |
+
"\n",
|
| 33 |
+
"with open(\"../tests/test_data/hansae_catlett.json\") as f:\n",
|
| 34 |
" data = json.load(f)\n",
|
| 35 |
" # convert to linkedin profile\n",
|
| 36 |
"\n",
|
|
|
|
| 39 |
},
|
| 40 |
{
|
| 41 |
"cell_type": "code",
|
| 42 |
+
"execution_count": 2,
|
| 43 |
"metadata": {},
|
| 44 |
"outputs": [
|
| 45 |
{
|
| 46 |
"name": "stdout",
|
| 47 |
"output_type": "stream",
|
| 48 |
"text": [
|
| 49 |
+
"\u001b[2m2024-09-11 14:33:11\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mFetching parameter from Parameter Store\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/openai/api_key\u001b[0m\n",
|
| 50 |
+
"\u001b[2m2024-09-11 14:33:11\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mCreating boto3 client \u001b[0m \u001b[36mservice\u001b[0m=\u001b[35mssm\u001b[0m\n",
|
| 51 |
+
"\u001b[2m2024-09-11 14:33:11\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mAssuming role \u001b[0m \u001b[36mrole_arn\u001b[0m=\u001b[35marn:aws:iam::339713096219:role/ReadWrite\u001b[0m\n",
|
| 52 |
+
"\u001b[2m2024-09-11 14:33:12\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mRole assumed successfully \u001b[0m\n",
|
| 53 |
+
"\u001b[2m2024-09-11 14:33:12\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mSuccessfully fetched parameter\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/openai/api_key\u001b[0m\n",
|
| 54 |
+
"\u001b[2m2024-09-11 14:33:12\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mFetching parameter from Parameter Store\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/rapidapi/linkedin\u001b[0m\n",
|
| 55 |
+
"\u001b[2m2024-09-11 14:33:12\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mCreating boto3 client \u001b[0m \u001b[36mservice\u001b[0m=\u001b[35mssm\u001b[0m\n",
|
| 56 |
+
"\u001b[2m2024-09-11 14:33:12\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mAssuming role \u001b[0m \u001b[36mrole_arn\u001b[0m=\u001b[35marn:aws:iam::339713096219:role/ReadWrite\u001b[0m\n",
|
| 57 |
+
"\u001b[2m2024-09-11 14:33:13\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mRole assumed successfully \u001b[0m\n",
|
| 58 |
+
"\u001b[2m2024-09-11 14:33:13\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mSuccessfully fetched parameter\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/rapidapi/linkedin\u001b[0m\n",
|
| 59 |
+
"\u001b[2m2024-09-11 14:33:14\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 60 |
+
"\u001b[2m2024-09-11 14:33:14\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1018\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m116\u001b[0m\n",
|
| 61 |
+
"\u001b[2m2024-09-11 14:33:14\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 62 |
+
"\u001b[2m2024-09-11 14:33:14\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m975\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m140\u001b[0m\n",
|
| 63 |
+
"\u001b[2m2024-09-11 14:33:15\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 64 |
+
"\u001b[2m2024-09-11 14:33:15\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1064\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m109\u001b[0m\n",
|
| 65 |
+
"\u001b[2m2024-09-11 14:33:15\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 66 |
+
"\u001b[2m2024-09-11 14:33:15\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1026\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m111\u001b[0m\n",
|
| 67 |
"{\n",
|
| 68 |
" \"output\": \"Graduate School\",\n",
|
| 69 |
" \"confidence\": 1.0,\n",
|
| 70 |
+
" \"reasoning\": \"The specific Linkedin education item clearly states that the candidate obtained a Master of Public Policy (M.P.P.) from Stanford University, which aligns perfectly with the information provided in the full resume. The degree is a graduate-level qualification, and the period of study (2016 to 2019) matches the timeline in the resume. Additionally, the description of the candidate's work during this program further supports the classification as a graduate school education. Therefore, it is accurately classified as GRAD_SCHOOL.\"\n",
|
| 71 |
"}\n",
|
| 72 |
"{\n",
|
| 73 |
" \"output\": \"Undergraduate (Incomplete)\",\n",
|
| 74 |
" \"confidence\": 0.9,\n",
|
| 75 |
+
" \"reasoning\": \"The specific Linkedin education item indicates that the candidate participated in a \\\"Study Abroad\\\" program at the University of New South Wales, focusing on Engineering, Philosophy, and Finance. This aligns with the resume, which shows that the candidate completed a Bachelor of Arts at Harvard University, suggesting that the study abroad experience was part of their undergraduate education. Since the degree is classified as \\\"Study Abroad\\\" and does not indicate completion of a separate degree, it falls under the category of \\\"Undergraduate (Incomplete).\\\" The high confidence level is due to the clear connection between the study abroad experience and the candidate's undergraduate studies.\"\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
"}\n",
|
| 77 |
"{\n",
|
| 78 |
" \"output\": \"MBA\",\n",
|
| 79 |
" \"confidence\": 1.0,\n",
|
| 80 |
+
" \"reasoning\": \"The specific Linkedin education item clearly states that the candidate obtained a Master of Business Administration (M.B.A.) from Stanford University Graduate School of Business, with the period of study from 2016 to 2019. This matches exactly with the information provided in the full resume, which also lists the same degree and institution. The presence of various activities and awards associated with the MBA program further supports the classification as an MBA. Therefore, the classification is confidently categorized as \\\"MBA.\\\"\"\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
"}\n",
|
| 82 |
"{\n",
|
| 83 |
" \"output\": \"Undergraduate (Completed)\",\n",
|
| 84 |
" \"confidence\": 1.0,\n",
|
| 85 |
+
" \"reasoning\": \"The specific Linkedin education item clearly states that the candidate earned a Bachelor of Arts degree in Biomedical Engineering and Philosophy from Harvard University, with a graduation period from 2007 to 2011. This aligns perfectly with the information provided in the full resume, which also lists the same degree and institution, confirming its completion. The description \\\"Graduated with Honors\\\" further supports that this is a completed undergraduate degree. Therefore, it is classified as \\\"Undergraduate (Completed).\\\"\"\n",
|
| 86 |
"}\n"
|
| 87 |
]
|
| 88 |
}
|
src/notebooks/classifiers/work_experience/investment_banking_group_classifier.ipynb
CHANGED
|
@@ -1,17 +1,5 @@
|
|
| 1 |
{
|
| 2 |
"cells": [
|
| 3 |
-
{
|
| 4 |
-
"cell_type": "code",
|
| 5 |
-
"execution_count": 1,
|
| 6 |
-
"metadata": {},
|
| 7 |
-
"outputs": [],
|
| 8 |
-
"source": [
|
| 9 |
-
"import os\n",
|
| 10 |
-
"\n",
|
| 11 |
-
"os.getcwd()\n",
|
| 12 |
-
"os.chdir(path=os.getcwd() + \"/../../../\")"
|
| 13 |
-
]
|
| 14 |
-
},
|
| 15 |
{
|
| 16 |
"cell_type": "code",
|
| 17 |
"execution_count": null,
|
|
@@ -19,13 +7,24 @@
|
|
| 19 |
"outputs": [],
|
| 20 |
"source": [
|
| 21 |
"import json\n",
|
|
|
|
|
|
|
| 22 |
"\n",
|
| 23 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 24 |
"\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
"print(os.getcwd())\n",
|
| 26 |
"\n",
|
| 27 |
-
"
|
|
|
|
| 28 |
" data = json.load(f)\n",
|
|
|
|
| 29 |
"\n",
|
| 30 |
"profile = LinkedinProfile.profile_from_json(data)"
|
| 31 |
]
|
|
|
|
| 1 |
{
|
| 2 |
"cells": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
{
|
| 4 |
"cell_type": "code",
|
| 5 |
"execution_count": null,
|
|
|
|
| 7 |
"outputs": [],
|
| 8 |
"source": [
|
| 9 |
"import json\n",
|
| 10 |
+
"import os\n",
|
| 11 |
+
"import subprocess\n",
|
| 12 |
"\n",
|
| 13 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 14 |
"\n",
|
| 15 |
+
"\n",
|
| 16 |
+
"def get_git_root():\n",
|
| 17 |
+
" return subprocess.check_output([\"git\", \"rev-parse\", \"--show-toplevel\"]).decode().strip()\n",
|
| 18 |
+
"\n",
|
| 19 |
+
"\n",
|
| 20 |
+
"git_root = get_git_root()\n",
|
| 21 |
+
"os.chdir(path=get_git_root() + \"/src\")\n",
|
| 22 |
"print(os.getcwd())\n",
|
| 23 |
"\n",
|
| 24 |
+
"\n",
|
| 25 |
+
"with open(\"../tests/test_data/eric_armagost.json\") as f:\n",
|
| 26 |
" data = json.load(f)\n",
|
| 27 |
+
" # convert to linkedin profile\n",
|
| 28 |
"\n",
|
| 29 |
"profile = LinkedinProfile.profile_from_json(data)"
|
| 30 |
]
|
src/notebooks/classifiers/work_experience/investment_focus_asset_class_classifier.ipynb
CHANGED
|
@@ -2,91 +2,38 @@
|
|
| 2 |
"cells": [
|
| 3 |
{
|
| 4 |
"cell_type": "code",
|
| 5 |
-
"execution_count":
|
| 6 |
"metadata": {},
|
| 7 |
"outputs": [],
|
| 8 |
-
"source": [
|
| 9 |
-
"import os\n",
|
| 10 |
-
"\n",
|
| 11 |
-
"os.getcwd()\n",
|
| 12 |
-
"os.chdir(path=os.getcwd() + \"/../../../\")"
|
| 13 |
-
]
|
| 14 |
-
},
|
| 15 |
-
{
|
| 16 |
-
"cell_type": "code",
|
| 17 |
-
"execution_count": 2,
|
| 18 |
-
"metadata": {},
|
| 19 |
-
"outputs": [
|
| 20 |
-
{
|
| 21 |
-
"name": "stdout",
|
| 22 |
-
"output_type": "stream",
|
| 23 |
-
"text": [
|
| 24 |
-
"/Volumes/code/geometric/VSP-data-enrichment/src\n"
|
| 25 |
-
]
|
| 26 |
-
}
|
| 27 |
-
],
|
| 28 |
"source": [
|
| 29 |
"import json\n",
|
|
|
|
|
|
|
| 30 |
"\n",
|
| 31 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 32 |
"\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
"print(os.getcwd())\n",
|
| 34 |
"\n",
|
| 35 |
-
"
|
|
|
|
| 36 |
" data = json.load(f)\n",
|
|
|
|
| 37 |
"\n",
|
| 38 |
"profile = LinkedinProfile.profile_from_json(data)"
|
| 39 |
]
|
| 40 |
},
|
| 41 |
{
|
| 42 |
"cell_type": "code",
|
| 43 |
-
"execution_count":
|
| 44 |
"metadata": {},
|
| 45 |
-
"outputs": [
|
| 46 |
-
{
|
| 47 |
-
"name": "stdout",
|
| 48 |
-
"output_type": "stream",
|
| 49 |
-
"text": [
|
| 50 |
-
"\u001b[2m2024-09-10 13:03:31\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mFetching parameter from Parameter Store\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/openai/api_key\u001b[0m\n",
|
| 51 |
-
"\u001b[2m2024-09-10 13:03:31\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mCreating boto3 client \u001b[0m \u001b[36mservice\u001b[0m=\u001b[35mssm\u001b[0m\n",
|
| 52 |
-
"\u001b[2m2024-09-10 13:03:31\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mAssuming role \u001b[0m \u001b[36mrole_arn\u001b[0m=\u001b[35marn:aws:iam::339713096219:role/ReadWrite\u001b[0m\n",
|
| 53 |
-
"\u001b[2m2024-09-10 13:03:31\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mRole assumed successfully \u001b[0m\n",
|
| 54 |
-
"\u001b[2m2024-09-10 13:03:32\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mSuccessfully fetched parameter\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/openai/api_key\u001b[0m\n",
|
| 55 |
-
"\u001b[2m2024-09-10 13:03:33\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 56 |
-
"\u001b[2m2024-09-10 13:03:33\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1062\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m102\u001b[0m\n",
|
| 57 |
-
"\u001b[2m2024-09-10 13:03:33\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 58 |
-
"\u001b[2m2024-09-10 13:03:33\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1139\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m97\u001b[0m\n",
|
| 59 |
-
"\u001b[2m2024-09-10 13:03:33\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 60 |
-
"\u001b[2m2024-09-10 13:03:33\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1062\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m116\u001b[0m\n",
|
| 61 |
-
"\u001b[2m2024-09-10 13:03:33\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 62 |
-
"\u001b[2m2024-09-10 13:03:33\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1061\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m114\u001b[0m\n",
|
| 63 |
-
"{\n",
|
| 64 |
-
" \"investing_focus_asset_class\": \"Other\",\n",
|
| 65 |
-
" \"confidence\": 0.4,\n",
|
| 66 |
-
" \"reasoning\": \"The specific work experience at William Blair & Company is categorized as \\\"Investment Banking,\\\" which primarily focuses on advisory services rather than direct investments in asset classes like venture capital or private equity. The lack of detailed investment-related responsibilities in the description further supports this classification, leading to a lower confidence level.\",\n",
|
| 67 |
-
" \"other_description\": \"Investment banking typically involves advisory services for mergers and acquisitions, capital raising, and financial restructuring, rather than direct investments.\"\n",
|
| 68 |
-
"}\n",
|
| 69 |
-
"{\n",
|
| 70 |
-
" \"investing_focus_asset_class\": \"Private Equity / Buyouts\",\n",
|
| 71 |
-
" \"confidence\": 0.9,\n",
|
| 72 |
-
" \"reasoning\": \"The specific work experience at Accel-KKR indicates a focus on private equity investments, particularly in technology and software sectors. The description highlights typical transactions such as acquisitions, buyouts of divisions from public companies, and take-private transactions, which are all characteristic of private equity buyouts. This aligns well with the classification of PRIVATE_EQUITY_BUYOUTS.\",\n",
|
| 73 |
-
" \"other_description\": null\n",
|
| 74 |
-
"}\n",
|
| 75 |
-
"{\n",
|
| 76 |
-
" \"investing_focus_asset_class\": \"Other\",\n",
|
| 77 |
-
" \"confidence\": 0.4,\n",
|
| 78 |
-
" \"reasoning\": \"The specific work experience at Fidelity Investments as FFAS Corporate Finance does not provide clear evidence of a direct focus on any of the predefined investing categories. The role likely involved corporate finance activities, which may include advisory services rather than direct investment activities in the specified asset classes. Therefore, I classified it as OTHER, with a low confidence level due to the lack of detailed investment-related responsibilities in the description.\",\n",
|
| 79 |
-
" \"other_description\": \"Corporate finance within a financial services context, focusing on financial advisory and capital raising.\"\n",
|
| 80 |
-
"}\n",
|
| 81 |
-
"{\n",
|
| 82 |
-
" \"investing_focus_asset_class\": \"Other\",\n",
|
| 83 |
-
" \"confidence\": 0.4,\n",
|
| 84 |
-
" \"reasoning\": \"The specific work experience at Fidelity Investments as a PI Corporate Finance professional does not provide enough detail to classify it into one of the predefined investing focus or asset class categories. The lack of a description of responsibilities or specific investment activities makes it difficult to ascertain a clear focus. Therefore, I classified it as OTHER, reflecting its general corporate finance nature within the financial services sector.\",\n",
|
| 85 |
-
" \"other_description\": \"Corporate finance role focused on financial services, not directly tied to a specific investing focus or asset class.\"\n",
|
| 86 |
-
"}\n"
|
| 87 |
-
]
|
| 88 |
-
}
|
| 89 |
-
],
|
| 90 |
"source": [
|
| 91 |
"import asyncio\n",
|
| 92 |
"\n",
|
|
|
|
| 2 |
"cells": [
|
| 3 |
{
|
| 4 |
"cell_type": "code",
|
| 5 |
+
"execution_count": null,
|
| 6 |
"metadata": {},
|
| 7 |
"outputs": [],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
"source": [
|
| 9 |
"import json\n",
|
| 10 |
+
"import os\n",
|
| 11 |
+
"import subprocess\n",
|
| 12 |
"\n",
|
| 13 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 14 |
"\n",
|
| 15 |
+
"\n",
|
| 16 |
+
"def get_git_root():\n",
|
| 17 |
+
" return subprocess.check_output([\"git\", \"rev-parse\", \"--show-toplevel\"]).decode().strip()\n",
|
| 18 |
+
"\n",
|
| 19 |
+
"\n",
|
| 20 |
+
"git_root = get_git_root()\n",
|
| 21 |
+
"os.chdir(path=get_git_root() + \"/src\")\n",
|
| 22 |
"print(os.getcwd())\n",
|
| 23 |
"\n",
|
| 24 |
+
"\n",
|
| 25 |
+
"with open(\"../tests/test_data/eric_armagost.json\") as f:\n",
|
| 26 |
" data = json.load(f)\n",
|
| 27 |
+
" # convert to linkedin profile\n",
|
| 28 |
"\n",
|
| 29 |
"profile = LinkedinProfile.profile_from_json(data)"
|
| 30 |
]
|
| 31 |
},
|
| 32 |
{
|
| 33 |
"cell_type": "code",
|
| 34 |
+
"execution_count": null,
|
| 35 |
"metadata": {},
|
| 36 |
+
"outputs": [],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
"source": [
|
| 38 |
"import asyncio\n",
|
| 39 |
"\n",
|
src/notebooks/classifiers/work_experience/investment_focus_sectors_classifier.ipynb
CHANGED
|
@@ -2,87 +2,38 @@
|
|
| 2 |
"cells": [
|
| 3 |
{
|
| 4 |
"cell_type": "code",
|
| 5 |
-
"execution_count":
|
| 6 |
"metadata": {},
|
| 7 |
"outputs": [],
|
| 8 |
-
"source": [
|
| 9 |
-
"import os\n",
|
| 10 |
-
"\n",
|
| 11 |
-
"os.getcwd()\n",
|
| 12 |
-
"os.chdir(path=os.getcwd() + \"/../../../\")"
|
| 13 |
-
]
|
| 14 |
-
},
|
| 15 |
-
{
|
| 16 |
-
"cell_type": "code",
|
| 17 |
-
"execution_count": 2,
|
| 18 |
-
"metadata": {},
|
| 19 |
-
"outputs": [
|
| 20 |
-
{
|
| 21 |
-
"name": "stdout",
|
| 22 |
-
"output_type": "stream",
|
| 23 |
-
"text": [
|
| 24 |
-
"/Volumes/code/geometric/VSP-data-enrichment/src\n"
|
| 25 |
-
]
|
| 26 |
-
}
|
| 27 |
-
],
|
| 28 |
"source": [
|
| 29 |
"import json\n",
|
|
|
|
|
|
|
| 30 |
"\n",
|
| 31 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 32 |
"\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
"print(os.getcwd())\n",
|
| 34 |
"\n",
|
| 35 |
-
"
|
|
|
|
| 36 |
" data = json.load(f)\n",
|
|
|
|
| 37 |
"\n",
|
| 38 |
"profile = LinkedinProfile.profile_from_json(data)"
|
| 39 |
]
|
| 40 |
},
|
| 41 |
{
|
| 42 |
"cell_type": "code",
|
| 43 |
-
"execution_count":
|
| 44 |
"metadata": {},
|
| 45 |
-
"outputs": [
|
| 46 |
-
{
|
| 47 |
-
"name": "stdout",
|
| 48 |
-
"output_type": "stream",
|
| 49 |
-
"text": [
|
| 50 |
-
"\u001b[2m2024-09-10 14:00:22\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mFetching parameter from Parameter Store\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/openai/api_key\u001b[0m\n",
|
| 51 |
-
"\u001b[2m2024-09-10 14:00:22\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mCreating boto3 client \u001b[0m \u001b[36mservice\u001b[0m=\u001b[35mssm\u001b[0m\n",
|
| 52 |
-
"\u001b[2m2024-09-10 14:00:22\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mAssuming role \u001b[0m \u001b[36mrole_arn\u001b[0m=\u001b[35marn:aws:iam::339713096219:role/ReadWrite\u001b[0m\n",
|
| 53 |
-
"\u001b[2m2024-09-10 14:00:23\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mRole assumed successfully \u001b[0m\n",
|
| 54 |
-
"\u001b[2m2024-09-10 14:00:23\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mSuccessfully fetched parameter\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/openai/api_key\u001b[0m\n",
|
| 55 |
-
"\u001b[2m2024-09-10 14:00:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 56 |
-
"\u001b[2m2024-09-10 14:00:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1138\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m92\u001b[0m\n",
|
| 57 |
-
"\u001b[2m2024-09-10 14:00:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 58 |
-
"\u001b[2m2024-09-10 14:00:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1061\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m99\u001b[0m\n",
|
| 59 |
-
"\u001b[2m2024-09-10 14:00:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 60 |
-
"\u001b[2m2024-09-10 14:00:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1060\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m95\u001b[0m\n",
|
| 61 |
-
"\u001b[2m2024-09-10 14:00:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 62 |
-
"\u001b[2m2024-09-10 14:00:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1061\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m115\u001b[0m\n",
|
| 63 |
-
"{\n",
|
| 64 |
-
" \"investing_focus_sector\": \"Technology / Software / TMT\",\n",
|
| 65 |
-
" \"confidence\": 0.9,\n",
|
| 66 |
-
" \"reasoning\": \"The specific work experience at Accel-KKR clearly indicates a focus on investing in software and technology-enabled services companies. The description highlights that the firm is dedicated exclusively to this sector, which aligns with the TECHNOLOGY_SOFTWARE_TMT category. The candidate's role as an Investment Professional further supports this classification, as it involves transactions related to technology companies.\"\n",
|
| 67 |
-
"}\n",
|
| 68 |
-
"{\n",
|
| 69 |
-
" \"investing_focus_sector\": \"Financial Institutions Group (FIG) / Fintech\",\n",
|
| 70 |
-
" \"confidence\": 0.8,\n",
|
| 71 |
-
" \"reasoning\": \"The specific work experience at Fidelity Investments is clearly within the financial services sector, as indicated by the company name and industry classification. The role in FFAS Corporate Finance suggests involvement in financial analysis and corporate finance activities, which aligns with the focus on financial institutions. While the description lacks detail, the context of Fidelity Investments as a major player in financial services supports a strong classification in this sector.\"\n",
|
| 72 |
-
"}\n",
|
| 73 |
-
"{\n",
|
| 74 |
-
" \"investing_focus_sector\": \"Financial Institutions Group (FIG) / Fintech\",\n",
|
| 75 |
-
" \"confidence\": 0.8,\n",
|
| 76 |
-
" \"reasoning\": \"The specific work experience item is from Fidelity Investments, a company clearly identified within the financial services sector. The job title \\\"PI Corporate Finance\\\" suggests a focus on corporate finance activities, which are typically associated with financial institutions. While the description lacks detail, the context of the company and the role strongly indicate a focus on financial services, justifying a high confidence level.\"\n",
|
| 77 |
-
"}\n",
|
| 78 |
-
"{\n",
|
| 79 |
-
" \"investing_focus_sector\": \"Financial Institutions Group (FIG) / Fintech\",\n",
|
| 80 |
-
" \"confidence\": 0.8,\n",
|
| 81 |
-
" \"reasoning\": \"The specific work experience item indicates that the candidate worked in Investment Banking at William Blair & Company, which is categorized under Financial Services. This aligns with the focus on financial institutions, as investment banking involves services related to capital raising, mergers and acquisitions, and financial advisory, all of which are core functions of financial institutions. The absence of a detailed description does not detract significantly from this classification, as the job title and company industry provide strong evidence for the sector classification.\"\n",
|
| 82 |
-
"}\n"
|
| 83 |
-
]
|
| 84 |
-
}
|
| 85 |
-
],
|
| 86 |
"source": [
|
| 87 |
"import asyncio\n",
|
| 88 |
"\n",
|
|
|
|
| 2 |
"cells": [
|
| 3 |
{
|
| 4 |
"cell_type": "code",
|
| 5 |
+
"execution_count": null,
|
| 6 |
"metadata": {},
|
| 7 |
"outputs": [],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
"source": [
|
| 9 |
"import json\n",
|
| 10 |
+
"import os\n",
|
| 11 |
+
"import subprocess\n",
|
| 12 |
"\n",
|
| 13 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 14 |
"\n",
|
| 15 |
+
"\n",
|
| 16 |
+
"def get_git_root():\n",
|
| 17 |
+
" return subprocess.check_output([\"git\", \"rev-parse\", \"--show-toplevel\"]).decode().strip()\n",
|
| 18 |
+
"\n",
|
| 19 |
+
"\n",
|
| 20 |
+
"git_root = get_git_root()\n",
|
| 21 |
+
"os.chdir(path=get_git_root() + \"/src\")\n",
|
| 22 |
"print(os.getcwd())\n",
|
| 23 |
"\n",
|
| 24 |
+
"\n",
|
| 25 |
+
"with open(\"../tests/test_data/eric_armagost.json\") as f:\n",
|
| 26 |
" data = json.load(f)\n",
|
| 27 |
+
" # convert to linkedin profile\n",
|
| 28 |
"\n",
|
| 29 |
"profile = LinkedinProfile.profile_from_json(data)"
|
| 30 |
]
|
| 31 |
},
|
| 32 |
{
|
| 33 |
"cell_type": "code",
|
| 34 |
+
"execution_count": null,
|
| 35 |
"metadata": {},
|
| 36 |
+
"outputs": [],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
"source": [
|
| 38 |
"import asyncio\n",
|
| 39 |
"\n",
|
src/notebooks/classifiers/work_experience/work_experience_classifier.ipynb
CHANGED
|
@@ -2,27 +2,27 @@
|
|
| 2 |
"cells": [
|
| 3 |
{
|
| 4 |
"cell_type": "code",
|
| 5 |
-
"execution_count":
|
| 6 |
-
"metadata": {},
|
| 7 |
-
"outputs": [],
|
| 8 |
-
"source": [
|
| 9 |
-
"import os\n",
|
| 10 |
-
"\n",
|
| 11 |
-
"os.getcwd()\n",
|
| 12 |
-
"os.chdir(path=os.getcwd() + \"/../\")"
|
| 13 |
-
]
|
| 14 |
-
},
|
| 15 |
-
{
|
| 16 |
-
"cell_type": "code",
|
| 17 |
-
"execution_count": 2,
|
| 18 |
"metadata": {},
|
| 19 |
"outputs": [],
|
| 20 |
"source": [
|
| 21 |
"import json\n",
|
|
|
|
|
|
|
| 22 |
"\n",
|
| 23 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 24 |
"\n",
|
| 25 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
" data = json.load(f)\n",
|
| 27 |
" # convert to linkedin profile\n",
|
| 28 |
"\n",
|
|
@@ -31,101 +31,9 @@
|
|
| 31 |
},
|
| 32 |
{
|
| 33 |
"cell_type": "code",
|
| 34 |
-
"execution_count":
|
| 35 |
"metadata": {},
|
| 36 |
-
"outputs": [
|
| 37 |
-
{
|
| 38 |
-
"name": "stdout",
|
| 39 |
-
"output_type": "stream",
|
| 40 |
-
"text": [
|
| 41 |
-
"\u001b[2m2024-09-08 23:16:22\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mFetching parameter from Parameter Store\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/openai/api_key\u001b[0m\n",
|
| 42 |
-
"\u001b[2m2024-09-08 23:16:22\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mCreating boto3 client \u001b[0m \u001b[36mservice\u001b[0m=\u001b[35mssm\u001b[0m\n",
|
| 43 |
-
"\u001b[2m2024-09-08 23:16:22\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mAssuming role \u001b[0m \u001b[36mrole_arn\u001b[0m=\u001b[35marn:aws:iam::339713096219:role/ReadWrite\u001b[0m\n",
|
| 44 |
-
"\u001b[2m2024-09-08 23:16:22\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mRole assumed successfully \u001b[0m\n",
|
| 45 |
-
"\u001b[2m2024-09-08 23:16:23\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mSuccessfully fetched parameter\u001b[0m \u001b[36mparameter\u001b[0m=\u001b[35m/secrets/openai/api_key\u001b[0m\n",
|
| 46 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 47 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1350\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m114\u001b[0m\n",
|
| 48 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 49 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1386\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m116\u001b[0m\n",
|
| 50 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 51 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1548\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m130\u001b[0m\n",
|
| 52 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 53 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1354\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m119\u001b[0m\n",
|
| 54 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 55 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1355\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m115\u001b[0m\n",
|
| 56 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 57 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1353\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m110\u001b[0m\n",
|
| 58 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 59 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1354\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m116\u001b[0m\n",
|
| 60 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 61 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1355\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m124\u001b[0m\n",
|
| 62 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 63 |
-
"\u001b[2m2024-09-08 23:16:24\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1351\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m144\u001b[0m\n",
|
| 64 |
-
"\u001b[2m2024-09-08 23:16:25\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mOpenAI API called \u001b[0m \u001b[36mmodel\u001b[0m=\u001b[35mgpt-4o-mini\u001b[0m\n",
|
| 65 |
-
"\u001b[2m2024-09-08 23:16:25\u001b[0m [\u001b[32m\u001b[1minfo \u001b[0m] \u001b[1mToken usage \u001b[0m \u001b[36minput_tokens\u001b[0m=\u001b[35m1352\u001b[0m \u001b[36moutput_tokens\u001b[0m=\u001b[35m114\u001b[0m\n",
|
| 66 |
-
"{\n",
|
| 67 |
-
" \"primary_job_type\": \"Other\",\n",
|
| 68 |
-
" \"secondary_job_type\": \"Investing\",\n",
|
| 69 |
-
" \"confidence\": 0.9,\n",
|
| 70 |
-
" \"reasoning\": \"The work experience as an \\\"Investor\\\" at Spot AI indicates a role focused on investing in a company, which aligns with the secondary job type of INVESTING. The primary job type is classified as OTHER because this position does not represent a full-time role or a traditional employment structure; it is more of an investment role without a specified employment type. The candidate's extensive background in venture capital and investment roles, as seen in their resume, supports this classification.\"\n",
|
| 71 |
-
"}\n",
|
| 72 |
-
"{\n",
|
| 73 |
-
" \"primary_job_type\": \"Full-time\",\n",
|
| 74 |
-
" \"secondary_job_type\": \"Investing\",\n",
|
| 75 |
-
" \"confidence\": 1.0,\n",
|
| 76 |
-
" \"reasoning\": \"The work experience item indicates that the candidate held a full-time position as Vice President at Bessemer Venture Partners, which is a venture capital firm. This aligns with the primary job type classification of FULL_TIME. Additionally, the role is clearly within the venture capital sector, which fits the secondary job type classification of INVESTING, as it involves professional investing activities. The candidate's resume also supports this classification, highlighting their extensive experience in venture capital and investment roles.\"\n",
|
| 77 |
-
"}\n",
|
| 78 |
-
"{\n",
|
| 79 |
-
" \"primary_job_type\": \"Full-time\",\n",
|
| 80 |
-
" \"secondary_job_type\": \"Entrepreneur / Founder\",\n",
|
| 81 |
-
" \"confidence\": 0.9,\n",
|
| 82 |
-
" \"reasoning\": \"The candidate is a Co-Founder and General Partner at The MBA Fund, which is a venture capital firm, indicating a significant and ongoing role in a business they helped establish. This aligns with the FULL_TIME classification as it suggests a regular, ongoing employment status. Additionally, the role of Co-Founder clearly fits the ENTREPRENEUR_FOUNDER category, as they are actively involved in creating and managing a venture capital firm. The detailed description of their responsibilities and the nature of the firm further supports this classification.\"\n",
|
| 83 |
-
"}\n",
|
| 84 |
-
"{\n",
|
| 85 |
-
" \"primary_job_type\": \"Other\",\n",
|
| 86 |
-
" \"secondary_job_type\": \"Investing\",\n",
|
| 87 |
-
" \"confidence\": 0.9,\n",
|
| 88 |
-
" \"reasoning\": \"The work experience item lists the candidate as an \\\"Investor\\\" at ServiceTitan, which aligns with their roles in venture capital and investment as seen in their resume. Given that this position does not indicate a full-time employment status and lacks a detailed description, it is classified as \\\"OTHER.\\\" The secondary job type is classified as \\\"INVESTING\\\" due to the nature of the role, which involves investment activities in a software company, consistent with the candidate's background in venture capital.\"\n",
|
| 89 |
-
"}\n",
|
| 90 |
-
"{\n",
|
| 91 |
-
" \"primary_job_type\": \"Other\",\n",
|
| 92 |
-
" \"secondary_job_type\": \"Consulting\",\n",
|
| 93 |
-
" \"confidence\": 0.8,\n",
|
| 94 |
-
" \"reasoning\": \"The role of \\\"Board Observer\\\" at Rillavoice is not a full-time position but rather an advisory role, which aligns it with the OTHER category for primary job type. The responsibilities typically associated with board observer roles often involve providing strategic guidance and insights, which can be classified under CONSULTING for the secondary job type. The candidate's extensive experience in venture capital and advisory roles supports this classification, as they are likely leveraging their expertise to guide the company.\"\n",
|
| 95 |
-
"}\n",
|
| 96 |
-
"{\n",
|
| 97 |
-
" \"primary_job_type\": \"Other\",\n",
|
| 98 |
-
" \"secondary_job_type\": \"Other\",\n",
|
| 99 |
-
" \"confidence\": 0.9,\n",
|
| 100 |
-
" \"reasoning\": \"The role of \\\"Board Observer\\\" at MaintainX is not a full-time position and does not fit into traditional employment categories like full-time or internship. It is more of an advisory role, which aligns with the \\\"OTHER\\\" category for both primary and secondary job types. The candidate's extensive experience in venture capital and board roles, as seen in their resume, supports this classification, indicating a focus on advisory and oversight rather than operational responsibilities.\"\n",
|
| 101 |
-
"}\n",
|
| 102 |
-
"{\n",
|
| 103 |
-
" \"primary_job_type\": \"Full-time\",\n",
|
| 104 |
-
" \"secondary_job_type\": \"Investing\",\n",
|
| 105 |
-
" \"confidence\": 0.9,\n",
|
| 106 |
-
" \"reasoning\": \"The candidate's role as a Partner at HOF Capital, which is classified under Venture Capital & Private Equity, indicates a full-time, ongoing position in a professional investment firm. This aligns with the primary job type of FULL_TIME. Additionally, the nature of the role involves making investment decisions and managing a portfolio, which fits the secondary job type of INVESTING. The confidence level is high due to the clear alignment of the job title and industry with the classifications.\"\n",
|
| 107 |
-
"}\n",
|
| 108 |
-
"{\n",
|
| 109 |
-
" \"primary_job_type\": \"Other\",\n",
|
| 110 |
-
" \"secondary_job_type\": \"Other\",\n",
|
| 111 |
-
" \"confidence\": 0.8,\n",
|
| 112 |
-
" \"reasoning\": \"The work experience as a Board Director at Luxury Presence is not a full-time role but rather a board position, which typically does not fit into traditional employment categories. Therefore, it is classified as OTHER for the primary job type. For the secondary job type, while it involves oversight and strategic input, it does not align with the specific categories like INVESTING or CONSULTING, leading to the classification of OTHER as well. The confidence level is 0.8 due to the ambiguity of board roles in categorization.\"\n",
|
| 113 |
-
"}\n",
|
| 114 |
-
"{\n",
|
| 115 |
-
" \"primary_job_type\": \"Full-time\",\n",
|
| 116 |
-
" \"secondary_job_type\": \"Investing\",\n",
|
| 117 |
-
" \"confidence\": 0.9,\n",
|
| 118 |
-
" \"reasoning\": \"The work experience as an \\\"Investor\\\" at Archy from 2022 to 2024 indicates a full-time role in a venture capital context, aligning with the candidate's other roles in investment and venture capital, such as Vice President at Bessemer Venture Partners and Co-Founder at The MBA Fund. The primary job type is classified as FULL_TIME due to the ongoing nature of the position and its alignment with the candidate's professional career in investing. The secondary job type is INVESTING, as the role directly involves investment activities in a venture capital firm, consistent with the candidate's overall career focus.\"\n",
|
| 119 |
-
"}\n",
|
| 120 |
-
"{\n",
|
| 121 |
-
" \"primary_job_type\": \"Other\",\n",
|
| 122 |
-
" \"secondary_job_type\": \"Investing\",\n",
|
| 123 |
-
" \"confidence\": 0.9,\n",
|
| 124 |
-
" \"reasoning\": \"The work experience as a Board Observer at VendorPM is not a full-time position but rather a role that involves oversight and advisory responsibilities, which aligns with the OTHER category. Additionally, the candidate's extensive background in venture capital and investing, as evidenced by their roles at HOF Capital and Bessemer Venture Partners, supports classifying this position under INVESTING. The confidence level is high due to the clear alignment of the candidate's experience with investment activities.\"\n",
|
| 125 |
-
"}\n"
|
| 126 |
-
]
|
| 127 |
-
}
|
| 128 |
-
],
|
| 129 |
"source": [
|
| 130 |
"import asyncio\n",
|
| 131 |
"\n",
|
|
|
|
| 2 |
"cells": [
|
| 3 |
{
|
| 4 |
"cell_type": "code",
|
| 5 |
+
"execution_count": null,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
"metadata": {},
|
| 7 |
"outputs": [],
|
| 8 |
"source": [
|
| 9 |
"import json\n",
|
| 10 |
+
"import os\n",
|
| 11 |
+
"import subprocess\n",
|
| 12 |
"\n",
|
| 13 |
"from vsp.app.model.linkedin.linkedin_models import LinkedinProfile\n",
|
| 14 |
"\n",
|
| 15 |
+
"\n",
|
| 16 |
+
"def get_git_root():\n",
|
| 17 |
+
" return subprocess.check_output([\"git\", \"rev-parse\", \"--show-toplevel\"]).decode().strip()\n",
|
| 18 |
+
"\n",
|
| 19 |
+
"\n",
|
| 20 |
+
"git_root = get_git_root()\n",
|
| 21 |
+
"os.chdir(path=get_git_root() + \"/src\")\n",
|
| 22 |
+
"print(os.getcwd())\n",
|
| 23 |
+
"\n",
|
| 24 |
+
"\n",
|
| 25 |
+
"with open(\"../tests/test_data/hansae_catlett.json\") as f:\n",
|
| 26 |
" data = json.load(f)\n",
|
| 27 |
" # convert to linkedin profile\n",
|
| 28 |
"\n",
|
|
|
|
| 31 |
},
|
| 32 |
{
|
| 33 |
"cell_type": "code",
|
| 34 |
+
"execution_count": null,
|
| 35 |
"metadata": {},
|
| 36 |
+
"outputs": [],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
"source": [
|
| 38 |
"import asyncio\n",
|
| 39 |
"\n",
|
src/notebooks/data/eric_armagost.json
DELETED
|
@@ -1,395 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"urn": "ACoAAApkrrAB8nFEIP2l00BAXgSQ78iUNprebWc",
|
| 3 |
-
"username": "eric-armagost-a144904a",
|
| 4 |
-
"firstName": "Eric",
|
| 5 |
-
"lastName": "Armagost",
|
| 6 |
-
"isCreator": false,
|
| 7 |
-
"isOpenToWork": false,
|
| 8 |
-
"isHiring": false,
|
| 9 |
-
"profilePicture": "https://media.licdn.com/dms/image/v2/C5603AQGiv3LeddNxgQ/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1656093036751?e=1730332800&v=beta&t=HruxzTkWpJZ9iro3k20ZKxPXHBerz1altnRU3PPXdUI",
|
| 10 |
-
"backgroundImage": null,
|
| 11 |
-
"summary": "",
|
| 12 |
-
"headline": "Investor at Accel-KKR",
|
| 13 |
-
"geo": {
|
| 14 |
-
"country": "United States",
|
| 15 |
-
"city": "San Francisco, California",
|
| 16 |
-
"full": "San Francisco, California, United States"
|
| 17 |
-
},
|
| 18 |
-
"languages": [
|
| 19 |
-
{
|
| 20 |
-
"name": "German",
|
| 21 |
-
"proficiency": "LIMITED_WORKING"
|
| 22 |
-
}
|
| 23 |
-
],
|
| 24 |
-
"educations": [
|
| 25 |
-
{
|
| 26 |
-
"start": {
|
| 27 |
-
"year": 0,
|
| 28 |
-
"month": 0,
|
| 29 |
-
"day": 0
|
| 30 |
-
},
|
| 31 |
-
"end": {
|
| 32 |
-
"year": 0,
|
| 33 |
-
"month": 0,
|
| 34 |
-
"day": 0
|
| 35 |
-
},
|
| 36 |
-
"fieldOfStudy": "Business Economics",
|
| 37 |
-
"degree": "Bachelor of Arts (B.A.)",
|
| 38 |
-
"grade": "",
|
| 39 |
-
"schoolName": "Brown University",
|
| 40 |
-
"description": "",
|
| 41 |
-
"activities": "",
|
| 42 |
-
"url": "https://www.linkedin.com/school/brown-university/",
|
| 43 |
-
"schoolId": "157343"
|
| 44 |
-
}
|
| 45 |
-
],
|
| 46 |
-
"position": [
|
| 47 |
-
{
|
| 48 |
-
"companyId": 57752,
|
| 49 |
-
"companyName": "Accel-KKR",
|
| 50 |
-
"companyUsername": "accel-kkr",
|
| 51 |
-
"companyURL": "https://www.linkedin.com/company/accel-kkr/",
|
| 52 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQHJ-Smp3x90Yg/company-logo_400_400/company-logo_400_400/0/1630565829245/accel_kkr_logo?e=1733356800&v=beta&t=MuqS5XhM4c0BNCvk0cCsWIE5YzOWMu7HaFpld467P0w",
|
| 53 |
-
"companyIndustry": "Venture Capital & Private Equity",
|
| 54 |
-
"companyStaffCountRange": "51 - 200",
|
| 55 |
-
"title": "Investment Professional",
|
| 56 |
-
"multiLocaleTitle": {
|
| 57 |
-
"en_US": "Investment Professional"
|
| 58 |
-
},
|
| 59 |
-
"multiLocaleCompanyName": {
|
| 60 |
-
"en_US": "Accel-KKR"
|
| 61 |
-
},
|
| 62 |
-
"location": "Menlo Park, California",
|
| 63 |
-
"description": "Founded in 2000, Accel-KKR is a leading technology-focused private equity firm dedicated exclusively to investing in software and technology-enabled services companies. \n\nOur typical transactions include: \n\u2022 Acquisitions and recapitalizations of founder-owned or closely-held private companies \n\u2022 Buyouts of divisions, subsidiaries and business units from public companies \n\u2022 Take-private transactions of small public companies\n\u2022 Structured minority equity and debt investments\n\nwww.accel-kkr.com",
|
| 64 |
-
"employmentType": "",
|
| 65 |
-
"start": {
|
| 66 |
-
"year": 2017,
|
| 67 |
-
"month": 5,
|
| 68 |
-
"day": 0
|
| 69 |
-
},
|
| 70 |
-
"end": {
|
| 71 |
-
"year": 0,
|
| 72 |
-
"month": 0,
|
| 73 |
-
"day": 0
|
| 74 |
-
}
|
| 75 |
-
},
|
| 76 |
-
{
|
| 77 |
-
"companyId": 166939,
|
| 78 |
-
"companyName": "William Blair & Company",
|
| 79 |
-
"companyUsername": "william-blair-company",
|
| 80 |
-
"companyURL": "https://www.linkedin.com/company/william-blair-company/",
|
| 81 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQE63WLd1DEgkw/company-logo_400_400/company-logo_400_400/0/1669143293900/william_blair__company_logo?e=1733356800&v=beta&t=lpEb9QzV4aUl3rBk_cyFI2qbyc3fVHQohUoO7kju8PM",
|
| 82 |
-
"companyIndustry": "Financial Services",
|
| 83 |
-
"companyStaffCountRange": "1001 - 5000",
|
| 84 |
-
"title": "Investment Banking",
|
| 85 |
-
"multiLocaleTitle": {
|
| 86 |
-
"en_US": "Investment Banking"
|
| 87 |
-
},
|
| 88 |
-
"multiLocaleCompanyName": {
|
| 89 |
-
"en_US": "William Blair & Company"
|
| 90 |
-
},
|
| 91 |
-
"location": "Chicago",
|
| 92 |
-
"description": "",
|
| 93 |
-
"employmentType": "",
|
| 94 |
-
"start": {
|
| 95 |
-
"year": 2015,
|
| 96 |
-
"month": 6,
|
| 97 |
-
"day": 0
|
| 98 |
-
},
|
| 99 |
-
"end": {
|
| 100 |
-
"year": 2017,
|
| 101 |
-
"month": 5,
|
| 102 |
-
"day": 0
|
| 103 |
-
}
|
| 104 |
-
},
|
| 105 |
-
{
|
| 106 |
-
"companyId": 1307,
|
| 107 |
-
"companyName": "Fidelity Investments",
|
| 108 |
-
"companyUsername": "fidelity-investments",
|
| 109 |
-
"companyURL": "https://www.linkedin.com/company/fidelity-investments/",
|
| 110 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D4E0BAQF6iwa5VSk-PQ/company-logo_400_400/company-logo_400_400/0/1724950881853/fidelity_investments_logo?e=1733356800&v=beta&t=aUkLhTRKySJtcU9mrvOCDYVYFVH2jStpOVaepBbdO80",
|
| 111 |
-
"companyIndustry": "Financial Services",
|
| 112 |
-
"companyStaffCountRange": "10001 - 0",
|
| 113 |
-
"title": "FFAS Corporate Finance",
|
| 114 |
-
"multiLocaleTitle": {
|
| 115 |
-
"en_US": "FFAS Corporate Finance"
|
| 116 |
-
},
|
| 117 |
-
"multiLocaleCompanyName": {
|
| 118 |
-
"en_US": "Fidelity Investments"
|
| 119 |
-
},
|
| 120 |
-
"location": "Smithfield, RI",
|
| 121 |
-
"description": "",
|
| 122 |
-
"employmentType": "",
|
| 123 |
-
"start": {
|
| 124 |
-
"year": 2014,
|
| 125 |
-
"month": 6,
|
| 126 |
-
"day": 0
|
| 127 |
-
},
|
| 128 |
-
"end": {
|
| 129 |
-
"year": 2015,
|
| 130 |
-
"month": 5,
|
| 131 |
-
"day": 0
|
| 132 |
-
}
|
| 133 |
-
},
|
| 134 |
-
{
|
| 135 |
-
"companyId": 1307,
|
| 136 |
-
"companyName": "Fidelity Investments",
|
| 137 |
-
"companyUsername": "fidelity-investments",
|
| 138 |
-
"companyURL": "https://www.linkedin.com/company/fidelity-investments/",
|
| 139 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D4E0BAQF6iwa5VSk-PQ/company-logo_400_400/company-logo_400_400/0/1724950881853/fidelity_investments_logo?e=1733356800&v=beta&t=aUkLhTRKySJtcU9mrvOCDYVYFVH2jStpOVaepBbdO80",
|
| 140 |
-
"companyIndustry": "Financial Services",
|
| 141 |
-
"companyStaffCountRange": "10001 - 0",
|
| 142 |
-
"title": "PI Corporate Finance",
|
| 143 |
-
"multiLocaleTitle": {
|
| 144 |
-
"en_US": "PI Corporate Finance"
|
| 145 |
-
},
|
| 146 |
-
"multiLocaleCompanyName": {
|
| 147 |
-
"en_US": "Fidelity Investments"
|
| 148 |
-
},
|
| 149 |
-
"location": "Smithfield, RI",
|
| 150 |
-
"description": "",
|
| 151 |
-
"employmentType": "",
|
| 152 |
-
"start": {
|
| 153 |
-
"year": 2013,
|
| 154 |
-
"month": 6,
|
| 155 |
-
"day": 0
|
| 156 |
-
},
|
| 157 |
-
"end": {
|
| 158 |
-
"year": 2014,
|
| 159 |
-
"month": 5,
|
| 160 |
-
"day": 0
|
| 161 |
-
}
|
| 162 |
-
}
|
| 163 |
-
],
|
| 164 |
-
"fullPositions": [
|
| 165 |
-
{
|
| 166 |
-
"companyId": 57752,
|
| 167 |
-
"companyName": "Accel-KKR",
|
| 168 |
-
"companyUsername": "accel-kkr",
|
| 169 |
-
"companyURL": "https://www.linkedin.com/company/accel-kkr/",
|
| 170 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQHJ-Smp3x90Yg/company-logo_400_400/company-logo_400_400/0/1630565829245/accel_kkr_logo?e=1733356800&v=beta&t=MuqS5XhM4c0BNCvk0cCsWIE5YzOWMu7HaFpld467P0w",
|
| 171 |
-
"companyIndustry": "Venture Capital & Private Equity",
|
| 172 |
-
"companyStaffCountRange": "51 - 200",
|
| 173 |
-
"title": "Investment Professional",
|
| 174 |
-
"multiLocaleTitle": {
|
| 175 |
-
"en_US": "Investment Professional"
|
| 176 |
-
},
|
| 177 |
-
"multiLocaleCompanyName": {
|
| 178 |
-
"en_US": "Accel-KKR"
|
| 179 |
-
},
|
| 180 |
-
"location": "Menlo Park, California",
|
| 181 |
-
"description": "Founded in 2000, Accel-KKR is a leading technology-focused private equity firm dedicated exclusively to investing in software and technology-enabled services companies. \n\nOur typical transactions include: \n\u2022 Acquisitions and recapitalizations of founder-owned or closely-held private companies \n\u2022 Buyouts of divisions, subsidiaries and business units from public companies \n\u2022 Take-private transactions of small public companies\n\u2022 Structured minority equity and debt investments\n\nwww.accel-kkr.com",
|
| 182 |
-
"employmentType": "",
|
| 183 |
-
"start": {
|
| 184 |
-
"year": 2017,
|
| 185 |
-
"month": 5,
|
| 186 |
-
"day": 0
|
| 187 |
-
},
|
| 188 |
-
"end": {
|
| 189 |
-
"year": 0,
|
| 190 |
-
"month": 0,
|
| 191 |
-
"day": 0
|
| 192 |
-
}
|
| 193 |
-
},
|
| 194 |
-
{
|
| 195 |
-
"companyId": 166939,
|
| 196 |
-
"companyName": "William Blair & Company",
|
| 197 |
-
"companyUsername": "william-blair-company",
|
| 198 |
-
"companyURL": "https://www.linkedin.com/company/william-blair-company/",
|
| 199 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQE63WLd1DEgkw/company-logo_400_400/company-logo_400_400/0/1669143293900/william_blair__company_logo?e=1733356800&v=beta&t=lpEb9QzV4aUl3rBk_cyFI2qbyc3fVHQohUoO7kju8PM",
|
| 200 |
-
"companyIndustry": "Financial Services",
|
| 201 |
-
"companyStaffCountRange": "1001 - 5000",
|
| 202 |
-
"title": "Investment Banking",
|
| 203 |
-
"multiLocaleTitle": {
|
| 204 |
-
"en_US": "Investment Banking"
|
| 205 |
-
},
|
| 206 |
-
"multiLocaleCompanyName": {
|
| 207 |
-
"en_US": "William Blair & Company"
|
| 208 |
-
},
|
| 209 |
-
"location": "Chicago",
|
| 210 |
-
"description": "",
|
| 211 |
-
"employmentType": "",
|
| 212 |
-
"start": {
|
| 213 |
-
"year": 2015,
|
| 214 |
-
"month": 6,
|
| 215 |
-
"day": 0
|
| 216 |
-
},
|
| 217 |
-
"end": {
|
| 218 |
-
"year": 2017,
|
| 219 |
-
"month": 5,
|
| 220 |
-
"day": 0
|
| 221 |
-
}
|
| 222 |
-
},
|
| 223 |
-
{
|
| 224 |
-
"companyId": 1307,
|
| 225 |
-
"companyName": "Fidelity Investments",
|
| 226 |
-
"companyUsername": "fidelity-investments",
|
| 227 |
-
"companyURL": "https://www.linkedin.com/company/fidelity-investments/",
|
| 228 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D4E0BAQF6iwa5VSk-PQ/company-logo_400_400/company-logo_400_400/0/1724950881853/fidelity_investments_logo?e=1733356800&v=beta&t=aUkLhTRKySJtcU9mrvOCDYVYFVH2jStpOVaepBbdO80",
|
| 229 |
-
"companyIndustry": "Financial Services",
|
| 230 |
-
"companyStaffCountRange": "10001 - 0",
|
| 231 |
-
"title": "FFAS Corporate Finance",
|
| 232 |
-
"multiLocaleTitle": {
|
| 233 |
-
"en_US": "FFAS Corporate Finance"
|
| 234 |
-
},
|
| 235 |
-
"multiLocaleCompanyName": {
|
| 236 |
-
"en_US": "Fidelity Investments"
|
| 237 |
-
},
|
| 238 |
-
"location": "Smithfield, RI",
|
| 239 |
-
"description": "",
|
| 240 |
-
"employmentType": "",
|
| 241 |
-
"start": {
|
| 242 |
-
"year": 2014,
|
| 243 |
-
"month": 6,
|
| 244 |
-
"day": 0
|
| 245 |
-
},
|
| 246 |
-
"end": {
|
| 247 |
-
"year": 2015,
|
| 248 |
-
"month": 5,
|
| 249 |
-
"day": 0
|
| 250 |
-
}
|
| 251 |
-
},
|
| 252 |
-
{
|
| 253 |
-
"companyId": 1307,
|
| 254 |
-
"companyName": "Fidelity Investments",
|
| 255 |
-
"companyUsername": "fidelity-investments",
|
| 256 |
-
"companyURL": "https://www.linkedin.com/company/fidelity-investments/",
|
| 257 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D4E0BAQF6iwa5VSk-PQ/company-logo_400_400/company-logo_400_400/0/1724950881853/fidelity_investments_logo?e=1733356800&v=beta&t=aUkLhTRKySJtcU9mrvOCDYVYFVH2jStpOVaepBbdO80",
|
| 258 |
-
"companyIndustry": "Financial Services",
|
| 259 |
-
"companyStaffCountRange": "10001 - 0",
|
| 260 |
-
"title": "PI Corporate Finance",
|
| 261 |
-
"multiLocaleTitle": {
|
| 262 |
-
"en_US": "PI Corporate Finance"
|
| 263 |
-
},
|
| 264 |
-
"multiLocaleCompanyName": {
|
| 265 |
-
"en_US": "Fidelity Investments"
|
| 266 |
-
},
|
| 267 |
-
"location": "Smithfield, RI",
|
| 268 |
-
"description": "",
|
| 269 |
-
"employmentType": "",
|
| 270 |
-
"start": {
|
| 271 |
-
"year": 2013,
|
| 272 |
-
"month": 6,
|
| 273 |
-
"day": 0
|
| 274 |
-
},
|
| 275 |
-
"end": {
|
| 276 |
-
"year": 2014,
|
| 277 |
-
"month": 5,
|
| 278 |
-
"day": 0
|
| 279 |
-
}
|
| 280 |
-
}
|
| 281 |
-
],
|
| 282 |
-
"skills": [
|
| 283 |
-
{
|
| 284 |
-
"name": "Microsoft Office",
|
| 285 |
-
"passedSkillAssessment": false,
|
| 286 |
-
"endorsementsCount": 5
|
| 287 |
-
},
|
| 288 |
-
{
|
| 289 |
-
"name": "Microsoft Excel",
|
| 290 |
-
"passedSkillAssessment": false,
|
| 291 |
-
"endorsementsCount": 2
|
| 292 |
-
},
|
| 293 |
-
{
|
| 294 |
-
"name": "Microsoft Word",
|
| 295 |
-
"passedSkillAssessment": false,
|
| 296 |
-
"endorsementsCount": 7
|
| 297 |
-
},
|
| 298 |
-
{
|
| 299 |
-
"name": "Customer Service",
|
| 300 |
-
"passedSkillAssessment": false
|
| 301 |
-
},
|
| 302 |
-
{
|
| 303 |
-
"name": "PowerPoint",
|
| 304 |
-
"passedSkillAssessment": false,
|
| 305 |
-
"endorsementsCount": 4
|
| 306 |
-
},
|
| 307 |
-
{
|
| 308 |
-
"name": "English",
|
| 309 |
-
"passedSkillAssessment": false
|
| 310 |
-
},
|
| 311 |
-
{
|
| 312 |
-
"name": "Windows",
|
| 313 |
-
"passedSkillAssessment": false
|
| 314 |
-
},
|
| 315 |
-
{
|
| 316 |
-
"name": "Research",
|
| 317 |
-
"passedSkillAssessment": false,
|
| 318 |
-
"endorsementsCount": 2
|
| 319 |
-
},
|
| 320 |
-
{
|
| 321 |
-
"name": "Outlook",
|
| 322 |
-
"passedSkillAssessment": false
|
| 323 |
-
},
|
| 324 |
-
{
|
| 325 |
-
"name": "Teaching",
|
| 326 |
-
"passedSkillAssessment": false
|
| 327 |
-
},
|
| 328 |
-
{
|
| 329 |
-
"name": "Photoshop",
|
| 330 |
-
"passedSkillAssessment": false
|
| 331 |
-
},
|
| 332 |
-
{
|
| 333 |
-
"name": "Public Speaking",
|
| 334 |
-
"passedSkillAssessment": false,
|
| 335 |
-
"endorsementsCount": 2
|
| 336 |
-
},
|
| 337 |
-
{
|
| 338 |
-
"name": "HTML",
|
| 339 |
-
"passedSkillAssessment": false
|
| 340 |
-
},
|
| 341 |
-
{
|
| 342 |
-
"name": "Strategic Planning",
|
| 343 |
-
"passedSkillAssessment": false
|
| 344 |
-
},
|
| 345 |
-
{
|
| 346 |
-
"name": "Budgets",
|
| 347 |
-
"passedSkillAssessment": false
|
| 348 |
-
}
|
| 349 |
-
],
|
| 350 |
-
"givenRecommendation": null,
|
| 351 |
-
"givenRecommendationCount": 0,
|
| 352 |
-
"receivedRecommendation": null,
|
| 353 |
-
"receivedRecommendationCount": 0,
|
| 354 |
-
"courses": null,
|
| 355 |
-
"certifications": null,
|
| 356 |
-
"honors": null,
|
| 357 |
-
"projects": {
|
| 358 |
-
"total": 0,
|
| 359 |
-
"items": null
|
| 360 |
-
},
|
| 361 |
-
"volunteering": [
|
| 362 |
-
{
|
| 363 |
-
"title": "Fundraiser Leader",
|
| 364 |
-
"start": {
|
| 365 |
-
"year": 2014,
|
| 366 |
-
"month": 7,
|
| 367 |
-
"day": 0
|
| 368 |
-
},
|
| 369 |
-
"end": {
|
| 370 |
-
"year": 2014,
|
| 371 |
-
"month": 7,
|
| 372 |
-
"day": 0
|
| 373 |
-
},
|
| 374 |
-
"companyName": "AHA",
|
| 375 |
-
"CompanyId": "",
|
| 376 |
-
"companyUrl": "",
|
| 377 |
-
"companyLogo": ""
|
| 378 |
-
}
|
| 379 |
-
],
|
| 380 |
-
"supportedLocales": [
|
| 381 |
-
{
|
| 382 |
-
"country": "US",
|
| 383 |
-
"language": "en"
|
| 384 |
-
}
|
| 385 |
-
],
|
| 386 |
-
"multiLocaleFirstName": {
|
| 387 |
-
"en": "Eric"
|
| 388 |
-
},
|
| 389 |
-
"multiLocaleLastName": {
|
| 390 |
-
"en": "Armagost"
|
| 391 |
-
},
|
| 392 |
-
"multiLocaleHeadline": {
|
| 393 |
-
"en": "Investor at Accel-KKR"
|
| 394 |
-
}
|
| 395 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/notebooks/data/hansae_catlett.json
DELETED
|
@@ -1,1054 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"urn": "ACoAAAScLaoBojlZZh9af6GI5G566vDOTj50KOw",
|
| 3 |
-
"username": "hansae-catlett-436a9b21",
|
| 4 |
-
"firstName": "Hansae",
|
| 5 |
-
"lastName": "Catlett",
|
| 6 |
-
"isCreator": false,
|
| 7 |
-
"isOpenToWork": false,
|
| 8 |
-
"isHiring": false,
|
| 9 |
-
"profilePicture": "https://media.licdn.com/dms/image/v2/D5603AQEVfJQVTKPvYw/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1710971553153?e=1730332800&v=beta&t=D40AmtyFPi_BuJ2JPycWFbv0jSQhf3IqrVnf22BxSZA",
|
| 10 |
-
"backgroundImage": null,
|
| 11 |
-
"summary": "",
|
| 12 |
-
"headline": "Partner at HOF Capital | Co-founder & GP at The MBA Fund",
|
| 13 |
-
"geo": {
|
| 14 |
-
"country": "United States",
|
| 15 |
-
"city": "New York, New York",
|
| 16 |
-
"full": "New York, New York, United States"
|
| 17 |
-
},
|
| 18 |
-
"languages": null,
|
| 19 |
-
"educations": [
|
| 20 |
-
{
|
| 21 |
-
"start": {
|
| 22 |
-
"year": 2016,
|
| 23 |
-
"month": 0,
|
| 24 |
-
"day": 0
|
| 25 |
-
},
|
| 26 |
-
"end": {
|
| 27 |
-
"year": 2019,
|
| 28 |
-
"month": 0,
|
| 29 |
-
"day": 0
|
| 30 |
-
},
|
| 31 |
-
"fieldOfStudy": "",
|
| 32 |
-
"degree": "Master of Business Administration (M.B.A.)",
|
| 33 |
-
"grade": "",
|
| 34 |
-
"schoolName": "Stanford University Graduate School of Business",
|
| 35 |
-
"description": "",
|
| 36 |
-
"activities": "Ernest C. Arbuckle Award Finalist; Miller Social Change Leadership Award Winner; Arbuckle Leadership Fellow; Venture Capital Club; GSB Impact Fund; Co-President Social Innovation Club; Co-President Government & Politics Club; LOWkeynote (main stage featured speaker); TALK Coach; GSB Show",
|
| 37 |
-
"url": "https://www.linkedin.com/school/stanford-graduate-school-of-business/",
|
| 38 |
-
"schoolId": "1791"
|
| 39 |
-
},
|
| 40 |
-
{
|
| 41 |
-
"start": {
|
| 42 |
-
"year": 2016,
|
| 43 |
-
"month": 0,
|
| 44 |
-
"day": 0
|
| 45 |
-
},
|
| 46 |
-
"end": {
|
| 47 |
-
"year": 2019,
|
| 48 |
-
"month": 0,
|
| 49 |
-
"day": 0
|
| 50 |
-
},
|
| 51 |
-
"fieldOfStudy": "",
|
| 52 |
-
"degree": "Master of Public Policy (M.P.P.)",
|
| 53 |
-
"grade": "",
|
| 54 |
-
"schoolName": "Stanford University",
|
| 55 |
-
"description": "Led CalFresh/SNAP (food stamps) policy & impact analysis with California State Senator",
|
| 56 |
-
"activities": "",
|
| 57 |
-
"url": "https://www.linkedin.com/school/stanford-university/",
|
| 58 |
-
"schoolId": "1792"
|
| 59 |
-
},
|
| 60 |
-
{
|
| 61 |
-
"start": {
|
| 62 |
-
"year": 2007,
|
| 63 |
-
"month": 0,
|
| 64 |
-
"day": 0
|
| 65 |
-
},
|
| 66 |
-
"end": {
|
| 67 |
-
"year": 2011,
|
| 68 |
-
"month": 0,
|
| 69 |
-
"day": 0
|
| 70 |
-
},
|
| 71 |
-
"fieldOfStudy": "Biomedical Engineering, Philosophy",
|
| 72 |
-
"degree": "Bachelor of Arts",
|
| 73 |
-
"grade": "",
|
| 74 |
-
"schoolName": "Harvard University",
|
| 75 |
-
"description": "Graduated with Honors",
|
| 76 |
-
"activities": "Club Basketball, College Bound Mentoring, Veritas Financial Group, Rugby, Crew",
|
| 77 |
-
"url": "https://www.linkedin.com/school/harvard-university/",
|
| 78 |
-
"schoolId": "1646"
|
| 79 |
-
},
|
| 80 |
-
{
|
| 81 |
-
"start": {
|
| 82 |
-
"year": 0,
|
| 83 |
-
"month": 0,
|
| 84 |
-
"day": 0
|
| 85 |
-
},
|
| 86 |
-
"end": {
|
| 87 |
-
"year": 0,
|
| 88 |
-
"month": 0,
|
| 89 |
-
"day": 0
|
| 90 |
-
},
|
| 91 |
-
"fieldOfStudy": "Engineering, Philosophy, Finance",
|
| 92 |
-
"degree": "Study Abroad",
|
| 93 |
-
"grade": "",
|
| 94 |
-
"schoolName": "University of New South Wales",
|
| 95 |
-
"description": "",
|
| 96 |
-
"activities": "Premier League Basketball Team",
|
| 97 |
-
"url": "https://www.linkedin.com/school/unsw/",
|
| 98 |
-
"schoolId": "6096"
|
| 99 |
-
}
|
| 100 |
-
],
|
| 101 |
-
"position": [
|
| 102 |
-
{
|
| 103 |
-
"companyId": 9217965,
|
| 104 |
-
"companyName": "HOF Capital",
|
| 105 |
-
"companyUsername": "hof-capital",
|
| 106 |
-
"companyURL": "https://www.linkedin.com/company/hof-capital/",
|
| 107 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQFAy04TxfOQ1w/company-logo_400_400/company-logo_400_400/0/1631336133602?e=1733356800&v=beta&t=XT3nnr1M-X8_dEx8Wp2wMOLyu6NXc_9c1CFa1xdu-dY",
|
| 108 |
-
"companyIndustry": "Venture Capital & Private Equity",
|
| 109 |
-
"companyStaffCountRange": "11 - 50",
|
| 110 |
-
"title": "Partner",
|
| 111 |
-
"multiLocaleTitle": {
|
| 112 |
-
"en_US": "Partner"
|
| 113 |
-
},
|
| 114 |
-
"multiLocaleCompanyName": {
|
| 115 |
-
"en_US": "HOF Capital"
|
| 116 |
-
},
|
| 117 |
-
"location": "New York City Metropolitan Area",
|
| 118 |
-
"description": "",
|
| 119 |
-
"employmentType": "",
|
| 120 |
-
"start": {
|
| 121 |
-
"year": 2024,
|
| 122 |
-
"month": 3,
|
| 123 |
-
"day": 0
|
| 124 |
-
},
|
| 125 |
-
"end": {
|
| 126 |
-
"year": 0,
|
| 127 |
-
"month": 0,
|
| 128 |
-
"day": 0
|
| 129 |
-
}
|
| 130 |
-
},
|
| 131 |
-
{
|
| 132 |
-
"companyId": 33433434,
|
| 133 |
-
"companyName": "The MBA Fund",
|
| 134 |
-
"companyUsername": "thembafund",
|
| 135 |
-
"companyURL": "https://www.linkedin.com/company/thembafund/",
|
| 136 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQHh7Q_nr-3JiA/company-logo_400_400/company-logo_400_400/0/1630572463370/thembafund_logo?e=1733356800&v=beta&t=BJUl211JX6J1xxnvUU4Hy0pNd8lIKesF5XpHEdiJP6M",
|
| 137 |
-
"companyIndustry": "Venture Capital & Private Equity",
|
| 138 |
-
"companyStaffCountRange": "11 - 50",
|
| 139 |
-
"title": "Co-Founder, General Partner",
|
| 140 |
-
"multiLocaleTitle": {
|
| 141 |
-
"en_US": "Co-Founder, General Partner"
|
| 142 |
-
},
|
| 143 |
-
"multiLocaleCompanyName": {
|
| 144 |
-
"en_US": "The MBA Fund"
|
| 145 |
-
},
|
| 146 |
-
"location": "San Francisco Bay Area",
|
| 147 |
-
"description": "The MBA Fund is a venture capital firm that helps founders from the top startup-producing universities create legendary companies. We most frequently back student, alumni and dropout founders from Harvard, Stanford, and Wharton (expanding presence nationally!). \n\nWe\u2019re a community of investors and operators who aren\u2019t afraid to take the riskiest leaps with founders who are just getting started. Our backers include top-tier VC firms, repeat founders, experienced execs, and super angels with ties to the communities where we invest. This network is ready and willing to help founders in our portfolio with financing, hiring, customer growth and more.\n\nSelect investments include:\n* Jeeves ($2B)\n* Dandy ($1B)\n* TRM Labs ($600M+)\n* Hightouch ($450M+)\n* Luxury Presence ($200M+)\n* FlutterFlow ($150M+)\n* Legacy ($150M+)\n* Seso ($150M+)\n* Peachy ($100M+)",
|
| 148 |
-
"employmentType": "",
|
| 149 |
-
"start": {
|
| 150 |
-
"year": 2018,
|
| 151 |
-
"month": 0,
|
| 152 |
-
"day": 0
|
| 153 |
-
},
|
| 154 |
-
"end": {
|
| 155 |
-
"year": 0,
|
| 156 |
-
"month": 0,
|
| 157 |
-
"day": 0
|
| 158 |
-
}
|
| 159 |
-
},
|
| 160 |
-
{
|
| 161 |
-
"companyId": 16754,
|
| 162 |
-
"companyName": "Bessemer Venture Partners",
|
| 163 |
-
"companyUsername": "bessemer-venture-partners",
|
| 164 |
-
"companyURL": "https://www.linkedin.com/company/bessemer-venture-partners/",
|
| 165 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQF2-_rRIldZpw/company-logo_400_400/company-logo_400_400/0/1719862419823/bessemer_venture_partners_logo?e=1733356800&v=beta&t=rX0N0rY1b8HL1G1_MpwJi16BhGWtBC-dyE2cBFi644A",
|
| 166 |
-
"companyIndustry": "Venture Capital & Private Equity",
|
| 167 |
-
"companyStaffCountRange": "11 - 50",
|
| 168 |
-
"title": "Vice President",
|
| 169 |
-
"multiLocaleTitle": {
|
| 170 |
-
"en_US": "Vice President"
|
| 171 |
-
},
|
| 172 |
-
"multiLocaleCompanyName": {
|
| 173 |
-
"en_US": "Bessemer Venture Partners"
|
| 174 |
-
},
|
| 175 |
-
"location": "New York City Metropolitan Area",
|
| 176 |
-
"description": "",
|
| 177 |
-
"employmentType": "Full-time",
|
| 178 |
-
"start": {
|
| 179 |
-
"year": 2019,
|
| 180 |
-
"month": 7,
|
| 181 |
-
"day": 0
|
| 182 |
-
},
|
| 183 |
-
"end": {
|
| 184 |
-
"year": 2024,
|
| 185 |
-
"month": 2,
|
| 186 |
-
"day": 0
|
| 187 |
-
}
|
| 188 |
-
},
|
| 189 |
-
{
|
| 190 |
-
"companyId": 11745039,
|
| 191 |
-
"companyName": "Rillavoice",
|
| 192 |
-
"companyUsername": "rilla-co",
|
| 193 |
-
"companyURL": "https://www.linkedin.com/company/rilla-co/",
|
| 194 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQGckOgzxr2p4g/company-logo_400_400/company-logo_400_400/0/1709081270062/rilla_co_logo?e=1733356800&v=beta&t=MvfFWJNVqsB3jaJxROLxP896fz5akuU8pndekbJ3C5g",
|
| 195 |
-
"companyIndustry": "Computer Software",
|
| 196 |
-
"companyStaffCountRange": "11 - 50",
|
| 197 |
-
"title": "Board Observer",
|
| 198 |
-
"multiLocaleTitle": {
|
| 199 |
-
"en_US": "Board Observer"
|
| 200 |
-
},
|
| 201 |
-
"multiLocaleCompanyName": {
|
| 202 |
-
"en_US": "Rillavoice"
|
| 203 |
-
},
|
| 204 |
-
"location": "New York City Metropolitan Area",
|
| 205 |
-
"description": "",
|
| 206 |
-
"employmentType": "",
|
| 207 |
-
"start": {
|
| 208 |
-
"year": 2023,
|
| 209 |
-
"month": 0,
|
| 210 |
-
"day": 0
|
| 211 |
-
},
|
| 212 |
-
"end": {
|
| 213 |
-
"year": 2024,
|
| 214 |
-
"month": 0,
|
| 215 |
-
"day": 0
|
| 216 |
-
}
|
| 217 |
-
},
|
| 218 |
-
{
|
| 219 |
-
"companyId": 74099951,
|
| 220 |
-
"companyName": "Archy",
|
| 221 |
-
"companyUsername": "archydental",
|
| 222 |
-
"companyURL": "https://www.linkedin.com/company/archydental/",
|
| 223 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D4E0BAQG13A6MTBOt5w/company-logo_400_400/company-logo_400_400/0/1724949981185/archydental_logo?e=1733356800&v=beta&t=prnsqQ4vb9F4cnt5_4Cmc6LHXYKt1ceIU6Z_G4AlzCw",
|
| 224 |
-
"companyIndustry": "Computer Software",
|
| 225 |
-
"companyStaffCountRange": "11 - 50",
|
| 226 |
-
"title": "Investor",
|
| 227 |
-
"multiLocaleTitle": {
|
| 228 |
-
"en_US": "Investor"
|
| 229 |
-
},
|
| 230 |
-
"multiLocaleCompanyName": {
|
| 231 |
-
"en_US": "Archy"
|
| 232 |
-
},
|
| 233 |
-
"location": "San Francisco Bay Area",
|
| 234 |
-
"description": "",
|
| 235 |
-
"employmentType": "",
|
| 236 |
-
"start": {
|
| 237 |
-
"year": 2022,
|
| 238 |
-
"month": 0,
|
| 239 |
-
"day": 0
|
| 240 |
-
},
|
| 241 |
-
"end": {
|
| 242 |
-
"year": 2024,
|
| 243 |
-
"month": 0,
|
| 244 |
-
"day": 0
|
| 245 |
-
}
|
| 246 |
-
},
|
| 247 |
-
{
|
| 248 |
-
"companyId": 18762446,
|
| 249 |
-
"companyName": "MaintainX",
|
| 250 |
-
"companyUsername": "getmaintainx",
|
| 251 |
-
"companyURL": "https://www.linkedin.com/company/getmaintainx/",
|
| 252 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQEOOm1IB8UHxQ/company-logo_400_400/company-logo_400_400/0/1719257689258/getmaintainx_logo?e=1733356800&v=beta&t=bQzUQXAg00rNpk8-C34bicPL4Dnxwbyl-pp-Z47Ydr8",
|
| 253 |
-
"companyIndustry": "Computer Software",
|
| 254 |
-
"companyStaffCountRange": "201 - 500",
|
| 255 |
-
"title": "Board Observer",
|
| 256 |
-
"multiLocaleTitle": {
|
| 257 |
-
"en_US": "Board Observer"
|
| 258 |
-
},
|
| 259 |
-
"multiLocaleCompanyName": {
|
| 260 |
-
"en_US": "MaintainX"
|
| 261 |
-
},
|
| 262 |
-
"location": "San Francisco Bay Area",
|
| 263 |
-
"description": "",
|
| 264 |
-
"employmentType": "",
|
| 265 |
-
"start": {
|
| 266 |
-
"year": 2021,
|
| 267 |
-
"month": 0,
|
| 268 |
-
"day": 0
|
| 269 |
-
},
|
| 270 |
-
"end": {
|
| 271 |
-
"year": 2024,
|
| 272 |
-
"month": 0,
|
| 273 |
-
"day": 0
|
| 274 |
-
}
|
| 275 |
-
},
|
| 276 |
-
{
|
| 277 |
-
"companyId": 18927115,
|
| 278 |
-
"companyName": "Spot AI",
|
| 279 |
-
"companyUsername": "spot-ai",
|
| 280 |
-
"companyURL": "https://www.linkedin.com/company/spot-ai/",
|
| 281 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQG2LOnQKbIi4A/company-logo_400_400/company-logo_400_400/0/1630635635761/spot_ai_logo?e=1733356800&v=beta&t=eJx_hAO6SMYTUTnHrmE4-7bz37xkTh1rzjh0CqRBwCs",
|
| 282 |
-
"companyIndustry": "Computer Software",
|
| 283 |
-
"companyStaffCountRange": "51 - 200",
|
| 284 |
-
"title": "Investor",
|
| 285 |
-
"multiLocaleTitle": {
|
| 286 |
-
"en_US": "Investor"
|
| 287 |
-
},
|
| 288 |
-
"multiLocaleCompanyName": {
|
| 289 |
-
"en_US": "Spot AI"
|
| 290 |
-
},
|
| 291 |
-
"location": "San Francisco Bay Area",
|
| 292 |
-
"description": "",
|
| 293 |
-
"employmentType": "",
|
| 294 |
-
"start": {
|
| 295 |
-
"year": 2021,
|
| 296 |
-
"month": 0,
|
| 297 |
-
"day": 0
|
| 298 |
-
},
|
| 299 |
-
"end": {
|
| 300 |
-
"year": 2024,
|
| 301 |
-
"month": 0,
|
| 302 |
-
"day": 0
|
| 303 |
-
}
|
| 304 |
-
},
|
| 305 |
-
{
|
| 306 |
-
"companyId": 31404660,
|
| 307 |
-
"companyName": "VendorPM",
|
| 308 |
-
"companyUsername": "vendorpm",
|
| 309 |
-
"companyURL": "https://www.linkedin.com/company/vendorpm/",
|
| 310 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQEglOi17VDAUg/company-logo_400_400/company-logo_400_400/0/1688751388502/vendorpm_logo?e=1733356800&v=beta&t=g36lpENHyHRFusF-KOJfJvh97fsAezDC1FAqYzG7zUg",
|
| 311 |
-
"companyIndustry": "Computer Software",
|
| 312 |
-
"companyStaffCountRange": "11 - 50",
|
| 313 |
-
"title": "Board Observer",
|
| 314 |
-
"multiLocaleTitle": {
|
| 315 |
-
"en_US": "Board Observer"
|
| 316 |
-
},
|
| 317 |
-
"multiLocaleCompanyName": {
|
| 318 |
-
"en_US": "VendorPM"
|
| 319 |
-
},
|
| 320 |
-
"location": "Toronto, Ontario, Canada",
|
| 321 |
-
"description": "",
|
| 322 |
-
"employmentType": "",
|
| 323 |
-
"start": {
|
| 324 |
-
"year": 2021,
|
| 325 |
-
"month": 0,
|
| 326 |
-
"day": 0
|
| 327 |
-
},
|
| 328 |
-
"end": {
|
| 329 |
-
"year": 2024,
|
| 330 |
-
"month": 0,
|
| 331 |
-
"day": 0
|
| 332 |
-
}
|
| 333 |
-
},
|
| 334 |
-
{
|
| 335 |
-
"companyId": 18872387,
|
| 336 |
-
"companyName": "Luxury Presence",
|
| 337 |
-
"companyUsername": "luxurypresence",
|
| 338 |
-
"companyURL": "https://www.linkedin.com/company/luxurypresence/",
|
| 339 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQEv9eTo6golbw/company-logo_400_400/company-logo_400_400/0/1655397407777/luxurypresence_logo?e=1733356800&v=beta&t=SKKunif574CP6v1Z2LjF1sk6ZM254eu5VWN7ESZ1ylc",
|
| 340 |
-
"companyIndustry": "Computer Software",
|
| 341 |
-
"companyStaffCountRange": "501 - 1000",
|
| 342 |
-
"title": "Board Director",
|
| 343 |
-
"multiLocaleTitle": {
|
| 344 |
-
"en_US": "Board Director"
|
| 345 |
-
},
|
| 346 |
-
"multiLocaleCompanyName": {
|
| 347 |
-
"en_US": "Luxury Presence"
|
| 348 |
-
},
|
| 349 |
-
"location": "Los Angeles Metropolitan Area",
|
| 350 |
-
"description": "",
|
| 351 |
-
"employmentType": "",
|
| 352 |
-
"start": {
|
| 353 |
-
"year": 2021,
|
| 354 |
-
"month": 0,
|
| 355 |
-
"day": 0
|
| 356 |
-
},
|
| 357 |
-
"end": {
|
| 358 |
-
"year": 2024,
|
| 359 |
-
"month": 0,
|
| 360 |
-
"day": 0
|
| 361 |
-
}
|
| 362 |
-
},
|
| 363 |
-
{
|
| 364 |
-
"companyId": 3157549,
|
| 365 |
-
"companyName": "ServiceTitan",
|
| 366 |
-
"companyUsername": "servicetitan",
|
| 367 |
-
"companyURL": "https://www.linkedin.com/company/servicetitan/",
|
| 368 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQEZXBsypK75Fg/company-logo_400_400/company-logo_400_400/0/1660079842958/servicetitan_logo?e=1733356800&v=beta&t=Ly_gt1iDc0qfGCBWgwrUHqnamNy7TZMPEDARe-tlJVA",
|
| 369 |
-
"companyIndustry": "Computer Software",
|
| 370 |
-
"companyStaffCountRange": "1001 - 5000",
|
| 371 |
-
"title": "Investor",
|
| 372 |
-
"multiLocaleTitle": {
|
| 373 |
-
"en_US": "Investor"
|
| 374 |
-
},
|
| 375 |
-
"multiLocaleCompanyName": {
|
| 376 |
-
"en_US": "ServiceTitan"
|
| 377 |
-
},
|
| 378 |
-
"location": "Los Angeles Metropolitan Area",
|
| 379 |
-
"description": "",
|
| 380 |
-
"employmentType": "",
|
| 381 |
-
"start": {
|
| 382 |
-
"year": 2021,
|
| 383 |
-
"month": 0,
|
| 384 |
-
"day": 0
|
| 385 |
-
},
|
| 386 |
-
"end": {
|
| 387 |
-
"year": 2024,
|
| 388 |
-
"month": 0,
|
| 389 |
-
"day": 0
|
| 390 |
-
}
|
| 391 |
-
}
|
| 392 |
-
],
|
| 393 |
-
"fullPositions": [
|
| 394 |
-
{
|
| 395 |
-
"companyId": 9217965,
|
| 396 |
-
"companyName": "HOF Capital",
|
| 397 |
-
"companyUsername": "hof-capital",
|
| 398 |
-
"companyURL": "https://www.linkedin.com/company/hof-capital",
|
| 399 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQFAy04TxfOQ1w/company-logo_400_400/company-logo_400_400/0/1631336133602?e=1733356800&v=beta&t=XT3nnr1M-X8_dEx8Wp2wMOLyu6NXc_9c1CFa1xdu-dY",
|
| 400 |
-
"companyIndustry": "Venture Capital & Private Equity",
|
| 401 |
-
"companyStaffCountRange": "11 - 50",
|
| 402 |
-
"title": "Partner",
|
| 403 |
-
"multiLocaleTitle": null,
|
| 404 |
-
"multiLocaleCompanyName": null,
|
| 405 |
-
"location": "New York City Metropolitan Area",
|
| 406 |
-
"description": "",
|
| 407 |
-
"employmentType": "",
|
| 408 |
-
"start": {
|
| 409 |
-
"year": 2024,
|
| 410 |
-
"month": 3,
|
| 411 |
-
"day": 0
|
| 412 |
-
},
|
| 413 |
-
"end": {
|
| 414 |
-
"year": 0,
|
| 415 |
-
"month": 0,
|
| 416 |
-
"day": 0
|
| 417 |
-
}
|
| 418 |
-
},
|
| 419 |
-
{
|
| 420 |
-
"companyId": 33433434,
|
| 421 |
-
"companyName": "The MBA Fund",
|
| 422 |
-
"companyUsername": "thembafund",
|
| 423 |
-
"companyURL": "https://www.linkedin.com/company/thembafund",
|
| 424 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQHh7Q_nr-3JiA/company-logo_400_400/company-logo_400_400/0/1630572463370/thembafund_logo?e=1733356800&v=beta&t=BJUl211JX6J1xxnvUU4Hy0pNd8lIKesF5XpHEdiJP6M",
|
| 425 |
-
"companyIndustry": "Venture Capital & Private Equity",
|
| 426 |
-
"companyStaffCountRange": "11 - 50",
|
| 427 |
-
"title": "Co-Founder, General Partner",
|
| 428 |
-
"multiLocaleTitle": null,
|
| 429 |
-
"multiLocaleCompanyName": null,
|
| 430 |
-
"location": "San Francisco Bay Area",
|
| 431 |
-
"description": "The MBA Fund is a venture capital firm that helps founders from the top startup-producing universities create legendary companies. We most frequently back student, alumni and dropout founders from Harvard, Stanford, and Wharton (expanding presence nationally!). \n\nWe\u2019re a community of investors and operators who aren\u2019t afraid to take the riskiest leaps with founders who are just getting started. Our backers include top-tier VC firms, repeat founders, experienced execs, and super angels with ties to the communities where we invest. This network is ready and willing to help founders in our portfolio with financing, hiring, customer growth and more.\n\nSelect investments include:\n* Jeeves ($2B)\n* Dandy ($1B)\n* TRM Labs ($600M+)\n* Hightouch ($450M+)\n* Luxury Presence ($200M+)\n* FlutterFlow ($150M+)\n* Legacy ($150M+)\n* Seso ($150M+)\n* Peachy ($100M+)",
|
| 432 |
-
"employmentType": "",
|
| 433 |
-
"start": {
|
| 434 |
-
"year": 2018,
|
| 435 |
-
"month": 0,
|
| 436 |
-
"day": 0
|
| 437 |
-
},
|
| 438 |
-
"end": {
|
| 439 |
-
"year": 0,
|
| 440 |
-
"month": 0,
|
| 441 |
-
"day": 0
|
| 442 |
-
}
|
| 443 |
-
},
|
| 444 |
-
{
|
| 445 |
-
"companyId": 16754,
|
| 446 |
-
"companyName": "Bessemer Venture Partners",
|
| 447 |
-
"companyUsername": "bessemer-venture-partners",
|
| 448 |
-
"companyURL": "https://www.linkedin.com/company/bessemer-venture-partners",
|
| 449 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQF2-_rRIldZpw/company-logo_400_400/company-logo_400_400/0/1719862419823/bessemer_venture_partners_logo?e=1733356800&v=beta&t=rX0N0rY1b8HL1G1_MpwJi16BhGWtBC-dyE2cBFi644A",
|
| 450 |
-
"companyIndustry": "Venture Capital & Private Equity",
|
| 451 |
-
"companyStaffCountRange": "11 - 50",
|
| 452 |
-
"title": "Vice President",
|
| 453 |
-
"multiLocaleTitle": null,
|
| 454 |
-
"multiLocaleCompanyName": null,
|
| 455 |
-
"location": "New York City Metropolitan Area",
|
| 456 |
-
"description": "",
|
| 457 |
-
"employmentType": "",
|
| 458 |
-
"start": {
|
| 459 |
-
"year": 2019,
|
| 460 |
-
"month": 7,
|
| 461 |
-
"day": 0
|
| 462 |
-
},
|
| 463 |
-
"end": {
|
| 464 |
-
"year": 2024,
|
| 465 |
-
"month": 2,
|
| 466 |
-
"day": 0
|
| 467 |
-
}
|
| 468 |
-
},
|
| 469 |
-
{
|
| 470 |
-
"companyId": 11745039,
|
| 471 |
-
"companyName": "Rillavoice",
|
| 472 |
-
"companyUsername": "rilla-co",
|
| 473 |
-
"companyURL": "https://www.linkedin.com/company/rilla-co",
|
| 474 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQGckOgzxr2p4g/company-logo_400_400/company-logo_400_400/0/1709081270062/rilla_co_logo?e=1733356800&v=beta&t=MvfFWJNVqsB3jaJxROLxP896fz5akuU8pndekbJ3C5g",
|
| 475 |
-
"companyIndustry": "Computer Software",
|
| 476 |
-
"companyStaffCountRange": "11 - 50",
|
| 477 |
-
"title": "Board Observer",
|
| 478 |
-
"multiLocaleTitle": null,
|
| 479 |
-
"multiLocaleCompanyName": null,
|
| 480 |
-
"location": "New York City Metropolitan Area",
|
| 481 |
-
"description": "",
|
| 482 |
-
"employmentType": "",
|
| 483 |
-
"start": {
|
| 484 |
-
"year": 2023,
|
| 485 |
-
"month": 0,
|
| 486 |
-
"day": 0
|
| 487 |
-
},
|
| 488 |
-
"end": {
|
| 489 |
-
"year": 2024,
|
| 490 |
-
"month": 0,
|
| 491 |
-
"day": 0
|
| 492 |
-
}
|
| 493 |
-
},
|
| 494 |
-
{
|
| 495 |
-
"companyId": 74099951,
|
| 496 |
-
"companyName": "Archy",
|
| 497 |
-
"companyUsername": "archydental",
|
| 498 |
-
"companyURL": "https://www.linkedin.com/company/archydental",
|
| 499 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D4E0BAQG13A6MTBOt5w/company-logo_400_400/company-logo_400_400/0/1724949981185/archydental_logo?e=1733356800&v=beta&t=prnsqQ4vb9F4cnt5_4Cmc6LHXYKt1ceIU6Z_G4AlzCw",
|
| 500 |
-
"companyIndustry": "Computer Software",
|
| 501 |
-
"companyStaffCountRange": "11 - 50",
|
| 502 |
-
"title": "Investor",
|
| 503 |
-
"multiLocaleTitle": null,
|
| 504 |
-
"multiLocaleCompanyName": null,
|
| 505 |
-
"location": "San Francisco Bay Area",
|
| 506 |
-
"description": "",
|
| 507 |
-
"employmentType": "",
|
| 508 |
-
"start": {
|
| 509 |
-
"year": 2022,
|
| 510 |
-
"month": 0,
|
| 511 |
-
"day": 0
|
| 512 |
-
},
|
| 513 |
-
"end": {
|
| 514 |
-
"year": 2024,
|
| 515 |
-
"month": 0,
|
| 516 |
-
"day": 0
|
| 517 |
-
}
|
| 518 |
-
},
|
| 519 |
-
{
|
| 520 |
-
"companyId": 18762446,
|
| 521 |
-
"companyName": "MaintainX",
|
| 522 |
-
"companyUsername": "getmaintainx",
|
| 523 |
-
"companyURL": "https://www.linkedin.com/company/getmaintainx",
|
| 524 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQEOOm1IB8UHxQ/company-logo_400_400/company-logo_400_400/0/1719257689258/getmaintainx_logo?e=1733356800&v=beta&t=bQzUQXAg00rNpk8-C34bicPL4Dnxwbyl-pp-Z47Ydr8",
|
| 525 |
-
"companyIndustry": "Computer Software",
|
| 526 |
-
"companyStaffCountRange": "201 - 500",
|
| 527 |
-
"title": "Board Observer",
|
| 528 |
-
"multiLocaleTitle": null,
|
| 529 |
-
"multiLocaleCompanyName": null,
|
| 530 |
-
"location": "San Francisco Bay Area",
|
| 531 |
-
"description": "",
|
| 532 |
-
"employmentType": "",
|
| 533 |
-
"start": {
|
| 534 |
-
"year": 2021,
|
| 535 |
-
"month": 0,
|
| 536 |
-
"day": 0
|
| 537 |
-
},
|
| 538 |
-
"end": {
|
| 539 |
-
"year": 2024,
|
| 540 |
-
"month": 0,
|
| 541 |
-
"day": 0
|
| 542 |
-
}
|
| 543 |
-
},
|
| 544 |
-
{
|
| 545 |
-
"companyId": 18927115,
|
| 546 |
-
"companyName": "Spot AI",
|
| 547 |
-
"companyUsername": "spot-ai",
|
| 548 |
-
"companyURL": "https://www.linkedin.com/company/spot-ai",
|
| 549 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQG2LOnQKbIi4A/company-logo_400_400/company-logo_400_400/0/1630635635761/spot_ai_logo?e=1733356800&v=beta&t=eJx_hAO6SMYTUTnHrmE4-7bz37xkTh1rzjh0CqRBwCs",
|
| 550 |
-
"companyIndustry": "Computer Software",
|
| 551 |
-
"companyStaffCountRange": "51 - 200",
|
| 552 |
-
"title": "Investor",
|
| 553 |
-
"multiLocaleTitle": null,
|
| 554 |
-
"multiLocaleCompanyName": null,
|
| 555 |
-
"location": "San Francisco Bay Area",
|
| 556 |
-
"description": "",
|
| 557 |
-
"employmentType": "",
|
| 558 |
-
"start": {
|
| 559 |
-
"year": 2021,
|
| 560 |
-
"month": 0,
|
| 561 |
-
"day": 0
|
| 562 |
-
},
|
| 563 |
-
"end": {
|
| 564 |
-
"year": 2024,
|
| 565 |
-
"month": 0,
|
| 566 |
-
"day": 0
|
| 567 |
-
}
|
| 568 |
-
},
|
| 569 |
-
{
|
| 570 |
-
"companyId": 31404660,
|
| 571 |
-
"companyName": "VendorPM",
|
| 572 |
-
"companyUsername": "vendorpm",
|
| 573 |
-
"companyURL": "https://www.linkedin.com/company/vendorpm",
|
| 574 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQEglOi17VDAUg/company-logo_400_400/company-logo_400_400/0/1688751388502/vendorpm_logo?e=1733356800&v=beta&t=g36lpENHyHRFusF-KOJfJvh97fsAezDC1FAqYzG7zUg",
|
| 575 |
-
"companyIndustry": "Computer Software",
|
| 576 |
-
"companyStaffCountRange": "11 - 50",
|
| 577 |
-
"title": "Board Observer",
|
| 578 |
-
"multiLocaleTitle": null,
|
| 579 |
-
"multiLocaleCompanyName": null,
|
| 580 |
-
"location": "Toronto, Ontario, Canada",
|
| 581 |
-
"description": "",
|
| 582 |
-
"employmentType": "",
|
| 583 |
-
"start": {
|
| 584 |
-
"year": 2021,
|
| 585 |
-
"month": 0,
|
| 586 |
-
"day": 0
|
| 587 |
-
},
|
| 588 |
-
"end": {
|
| 589 |
-
"year": 2024,
|
| 590 |
-
"month": 0,
|
| 591 |
-
"day": 0
|
| 592 |
-
}
|
| 593 |
-
},
|
| 594 |
-
{
|
| 595 |
-
"companyId": 18872387,
|
| 596 |
-
"companyName": "Luxury Presence",
|
| 597 |
-
"companyUsername": "luxurypresence",
|
| 598 |
-
"companyURL": "https://www.linkedin.com/company/luxurypresence",
|
| 599 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQEv9eTo6golbw/company-logo_400_400/company-logo_400_400/0/1655397407777/luxurypresence_logo?e=1733356800&v=beta&t=SKKunif574CP6v1Z2LjF1sk6ZM254eu5VWN7ESZ1ylc",
|
| 600 |
-
"companyIndustry": "Computer Software",
|
| 601 |
-
"companyStaffCountRange": "501 - 1000",
|
| 602 |
-
"title": "Board Director",
|
| 603 |
-
"multiLocaleTitle": null,
|
| 604 |
-
"multiLocaleCompanyName": null,
|
| 605 |
-
"location": "Los Angeles Metropolitan Area",
|
| 606 |
-
"description": "",
|
| 607 |
-
"employmentType": "",
|
| 608 |
-
"start": {
|
| 609 |
-
"year": 2021,
|
| 610 |
-
"month": 0,
|
| 611 |
-
"day": 0
|
| 612 |
-
},
|
| 613 |
-
"end": {
|
| 614 |
-
"year": 2024,
|
| 615 |
-
"month": 0,
|
| 616 |
-
"day": 0
|
| 617 |
-
}
|
| 618 |
-
},
|
| 619 |
-
{
|
| 620 |
-
"companyId": 3157549,
|
| 621 |
-
"companyName": "ServiceTitan",
|
| 622 |
-
"companyUsername": "servicetitan",
|
| 623 |
-
"companyURL": "https://www.linkedin.com/company/servicetitan",
|
| 624 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQEZXBsypK75Fg/company-logo_400_400/company-logo_400_400/0/1660079842958/servicetitan_logo?e=1733356800&v=beta&t=Ly_gt1iDc0qfGCBWgwrUHqnamNy7TZMPEDARe-tlJVA",
|
| 625 |
-
"companyIndustry": "Computer Software",
|
| 626 |
-
"companyStaffCountRange": "1001 - 5000",
|
| 627 |
-
"title": "Investor",
|
| 628 |
-
"multiLocaleTitle": null,
|
| 629 |
-
"multiLocaleCompanyName": null,
|
| 630 |
-
"location": "Los Angeles Metropolitan Area",
|
| 631 |
-
"description": "",
|
| 632 |
-
"employmentType": "",
|
| 633 |
-
"start": {
|
| 634 |
-
"year": 2021,
|
| 635 |
-
"month": 0,
|
| 636 |
-
"day": 0
|
| 637 |
-
},
|
| 638 |
-
"end": {
|
| 639 |
-
"year": 2024,
|
| 640 |
-
"month": 0,
|
| 641 |
-
"day": 0
|
| 642 |
-
}
|
| 643 |
-
},
|
| 644 |
-
{
|
| 645 |
-
"companyId": 18319862,
|
| 646 |
-
"companyName": "NALA",
|
| 647 |
-
"companyUsername": "nalamoney",
|
| 648 |
-
"companyURL": "https://www.linkedin.com/company/nalamoney",
|
| 649 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D4D0BAQGjdH4F8iQgGg/company-logo_400_400/company-logo_400_400/0/1704710437688/nalamoney_logo?e=1733356800&v=beta&t=vrKr_YzZMgCUv0XjRVWlWkxSBZLnNpl42wU87xvAZTM",
|
| 650 |
-
"companyIndustry": "Financial Services",
|
| 651 |
-
"companyStaffCountRange": "11 - 50",
|
| 652 |
-
"title": "Investor",
|
| 653 |
-
"multiLocaleTitle": null,
|
| 654 |
-
"multiLocaleCompanyName": null,
|
| 655 |
-
"location": "",
|
| 656 |
-
"description": "",
|
| 657 |
-
"employmentType": "",
|
| 658 |
-
"start": {
|
| 659 |
-
"year": 2021,
|
| 660 |
-
"month": 0,
|
| 661 |
-
"day": 0
|
| 662 |
-
},
|
| 663 |
-
"end": {
|
| 664 |
-
"year": 2024,
|
| 665 |
-
"month": 0,
|
| 666 |
-
"day": 0
|
| 667 |
-
}
|
| 668 |
-
},
|
| 669 |
-
{
|
| 670 |
-
"companyId": 70904927,
|
| 671 |
-
"companyName": "Jasper",
|
| 672 |
-
"companyUsername": "heyjasperai",
|
| 673 |
-
"companyURL": "https://www.linkedin.com/company/heyjasperai",
|
| 674 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQHsWD7LHz0Ekw/company-logo_400_400/company-logo_400_400/0/1719256081254?e=1733356800&v=beta&t=MknEiRcpHfjOrS4QK4FpHIisWPG7yvD1Mv8LFkrMl4k",
|
| 675 |
-
"companyIndustry": "Computer Software",
|
| 676 |
-
"companyStaffCountRange": "51 - 200",
|
| 677 |
-
"title": "Investor",
|
| 678 |
-
"multiLocaleTitle": null,
|
| 679 |
-
"multiLocaleCompanyName": null,
|
| 680 |
-
"location": "San Francisco Bay Area",
|
| 681 |
-
"description": "",
|
| 682 |
-
"employmentType": "",
|
| 683 |
-
"start": {
|
| 684 |
-
"year": 2021,
|
| 685 |
-
"month": 0,
|
| 686 |
-
"day": 0
|
| 687 |
-
},
|
| 688 |
-
"end": {
|
| 689 |
-
"year": 2024,
|
| 690 |
-
"month": 0,
|
| 691 |
-
"day": 0
|
| 692 |
-
}
|
| 693 |
-
},
|
| 694 |
-
{
|
| 695 |
-
"companyId": 18364911,
|
| 696 |
-
"companyName": "Shopmonkey",
|
| 697 |
-
"companyUsername": "shopmonkey",
|
| 698 |
-
"companyURL": "https://www.linkedin.com/company/shopmonkey",
|
| 699 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQGgBRI5FdMkug/company-logo_400_400/company-logo_400_400/0/1630537505248/shopmonkey_logo?e=1733356800&v=beta&t=4NG5tw0Oam6ezsJeCcvYl8dZ7OgnhOygV3f1Bl9WWyI",
|
| 700 |
-
"companyIndustry": "Computer Software",
|
| 701 |
-
"companyStaffCountRange": "51 - 200",
|
| 702 |
-
"title": "Board Observer",
|
| 703 |
-
"multiLocaleTitle": null,
|
| 704 |
-
"multiLocaleCompanyName": null,
|
| 705 |
-
"location": "San Francisco Bay Area",
|
| 706 |
-
"description": "",
|
| 707 |
-
"employmentType": "",
|
| 708 |
-
"start": {
|
| 709 |
-
"year": 2020,
|
| 710 |
-
"month": 0,
|
| 711 |
-
"day": 0
|
| 712 |
-
},
|
| 713 |
-
"end": {
|
| 714 |
-
"year": 2024,
|
| 715 |
-
"month": 0,
|
| 716 |
-
"day": 0
|
| 717 |
-
}
|
| 718 |
-
},
|
| 719 |
-
{
|
| 720 |
-
"companyId": 1292340,
|
| 721 |
-
"companyName": "Syndio",
|
| 722 |
-
"companyUsername": "syndioinc",
|
| 723 |
-
"companyURL": "https://www.linkedin.com/company/syndioinc",
|
| 724 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQEDBc5ZaUmvWQ/company-logo_400_400/company-logo_400_400/0/1681938104635/syndioinc_logo?e=1733356800&v=beta&t=qIFwJgc8zf8xSgpjGqxuNmPm4HgsndG4AYQ1b61x3zM",
|
| 725 |
-
"companyIndustry": "Computer Software",
|
| 726 |
-
"companyStaffCountRange": "51 - 200",
|
| 727 |
-
"title": "Investor",
|
| 728 |
-
"multiLocaleTitle": null,
|
| 729 |
-
"multiLocaleCompanyName": null,
|
| 730 |
-
"location": "",
|
| 731 |
-
"description": "",
|
| 732 |
-
"employmentType": "",
|
| 733 |
-
"start": {
|
| 734 |
-
"year": 2020,
|
| 735 |
-
"month": 0,
|
| 736 |
-
"day": 0
|
| 737 |
-
},
|
| 738 |
-
"end": {
|
| 739 |
-
"year": 2024,
|
| 740 |
-
"month": 0,
|
| 741 |
-
"day": 0
|
| 742 |
-
}
|
| 743 |
-
},
|
| 744 |
-
{
|
| 745 |
-
"companyId": 18742807,
|
| 746 |
-
"companyName": "TRM Labs",
|
| 747 |
-
"companyUsername": "trmlabs",
|
| 748 |
-
"companyURL": "https://www.linkedin.com/company/trmlabs",
|
| 749 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4E0BAQGk-xkrdUoBpg/company-logo_400_400/company-logo_400_400/0/1638543126715/trmlabs_logo?e=1733356800&v=beta&t=7uFH1kBZBJRaHtBSTG3jq6ChQlI1ZQM3XoZIGQyBq7Y",
|
| 750 |
-
"companyIndustry": "Information Services",
|
| 751 |
-
"companyStaffCountRange": "201 - 500",
|
| 752 |
-
"title": "Board Observer",
|
| 753 |
-
"multiLocaleTitle": null,
|
| 754 |
-
"multiLocaleCompanyName": null,
|
| 755 |
-
"location": "San Francisco Bay Area",
|
| 756 |
-
"description": "",
|
| 757 |
-
"employmentType": "",
|
| 758 |
-
"start": {
|
| 759 |
-
"year": 2020,
|
| 760 |
-
"month": 0,
|
| 761 |
-
"day": 0
|
| 762 |
-
},
|
| 763 |
-
"end": {
|
| 764 |
-
"year": 2024,
|
| 765 |
-
"month": 0,
|
| 766 |
-
"day": 0
|
| 767 |
-
}
|
| 768 |
-
},
|
| 769 |
-
{
|
| 770 |
-
"companyId": 5903162,
|
| 771 |
-
"companyName": "Sila Nanotechnologies Inc.",
|
| 772 |
-
"companyUsername": "sila-nanotechnologies-inc-",
|
| 773 |
-
"companyURL": "https://www.linkedin.com/company/sila-nanotechnologies-inc-",
|
| 774 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQF7zqbzbyb9pQ/company-logo_400_400/company-logo_400_400/0/1639412633827/sila_nanotechnologies_inc__logo?e=1733356800&v=beta&t=2ei9-L8B4AfuZaEgu7zoHhu098YYcL2b5xUcsPMuwho",
|
| 775 |
-
"companyIndustry": "Renewables & Environment",
|
| 776 |
-
"companyStaffCountRange": "201 - 500",
|
| 777 |
-
"title": "Investor",
|
| 778 |
-
"multiLocaleTitle": null,
|
| 779 |
-
"multiLocaleCompanyName": null,
|
| 780 |
-
"location": "San Francisco Bay Areas",
|
| 781 |
-
"description": "",
|
| 782 |
-
"employmentType": "",
|
| 783 |
-
"start": {
|
| 784 |
-
"year": 2020,
|
| 785 |
-
"month": 0,
|
| 786 |
-
"day": 0
|
| 787 |
-
},
|
| 788 |
-
"end": {
|
| 789 |
-
"year": 2024,
|
| 790 |
-
"month": 0,
|
| 791 |
-
"day": 0
|
| 792 |
-
}
|
| 793 |
-
},
|
| 794 |
-
{
|
| 795 |
-
"companyId": 18960490,
|
| 796 |
-
"companyName": "Courier",
|
| 797 |
-
"companyUsername": "trycourier",
|
| 798 |
-
"companyURL": "https://www.linkedin.com/company/trycourier",
|
| 799 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQGhsLWH5Oz1PA/company-logo_400_400/company-logo_400_400/0/1718748389821/trycourier_logo?e=1733356800&v=beta&t=fqs9mj9F17GSAQhALd6Et-BSRsZMxT51GrGLWStPcjg",
|
| 800 |
-
"companyIndustry": "Computer Software",
|
| 801 |
-
"companyStaffCountRange": "11 - 50",
|
| 802 |
-
"title": "Board Observer",
|
| 803 |
-
"multiLocaleTitle": null,
|
| 804 |
-
"multiLocaleCompanyName": null,
|
| 805 |
-
"location": "San Francisco Bay Area",
|
| 806 |
-
"description": "",
|
| 807 |
-
"employmentType": "",
|
| 808 |
-
"start": {
|
| 809 |
-
"year": 2019,
|
| 810 |
-
"month": 0,
|
| 811 |
-
"day": 0
|
| 812 |
-
},
|
| 813 |
-
"end": {
|
| 814 |
-
"year": 2024,
|
| 815 |
-
"month": 0,
|
| 816 |
-
"day": 0
|
| 817 |
-
}
|
| 818 |
-
},
|
| 819 |
-
{
|
| 820 |
-
"companyId": 5324440,
|
| 821 |
-
"companyName": "Productboard",
|
| 822 |
-
"companyUsername": "productboard",
|
| 823 |
-
"companyURL": "https://www.linkedin.com/company/productboard",
|
| 824 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQGNdwi0nLUPTg/company-logo_400_400/company-logo_400_400/0/1719256300453/productboard_logo?e=1733356800&v=beta&t=2cf3ZSkvsgxTY1dqhR-bl32uJgIiV7nmcIvqAIn9VTw",
|
| 825 |
-
"companyIndustry": "Computer Software",
|
| 826 |
-
"companyStaffCountRange": "201 - 500",
|
| 827 |
-
"title": "Board Observer",
|
| 828 |
-
"multiLocaleTitle": null,
|
| 829 |
-
"multiLocaleCompanyName": null,
|
| 830 |
-
"location": "",
|
| 831 |
-
"description": "",
|
| 832 |
-
"employmentType": "",
|
| 833 |
-
"start": {
|
| 834 |
-
"year": 2019,
|
| 835 |
-
"month": 0,
|
| 836 |
-
"day": 0
|
| 837 |
-
},
|
| 838 |
-
"end": {
|
| 839 |
-
"year": 2024,
|
| 840 |
-
"month": 0,
|
| 841 |
-
"day": 0
|
| 842 |
-
}
|
| 843 |
-
},
|
| 844 |
-
{
|
| 845 |
-
"companyId": 6588485,
|
| 846 |
-
"companyName": "Guild",
|
| 847 |
-
"companyUsername": "guildeducation",
|
| 848 |
-
"companyURL": "https://www.linkedin.com/company/guildeducation",
|
| 849 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/D560BAQFQjfjzaP-wmA/company-logo_400_400/company-logo_400_400/0/1681301994500/guildeducation_logo?e=1733356800&v=beta&t=8eSaHxcOPerDLCZtagOPVDl5rmeBNY0TDiSK0Jiu1GY",
|
| 850 |
-
"companyIndustry": "Higher Education",
|
| 851 |
-
"companyStaffCountRange": "1001 - 5000",
|
| 852 |
-
"title": "Investor",
|
| 853 |
-
"multiLocaleTitle": null,
|
| 854 |
-
"multiLocaleCompanyName": null,
|
| 855 |
-
"location": "Denver Metropolitan Area",
|
| 856 |
-
"description": "",
|
| 857 |
-
"employmentType": "",
|
| 858 |
-
"start": {
|
| 859 |
-
"year": 2019,
|
| 860 |
-
"month": 0,
|
| 861 |
-
"day": 0
|
| 862 |
-
},
|
| 863 |
-
"end": {
|
| 864 |
-
"year": 2024,
|
| 865 |
-
"month": 0,
|
| 866 |
-
"day": 0
|
| 867 |
-
}
|
| 868 |
-
},
|
| 869 |
-
{
|
| 870 |
-
"companyId": 2850862,
|
| 871 |
-
"companyName": "Canva",
|
| 872 |
-
"companyUsername": "canva",
|
| 873 |
-
"companyURL": "https://www.linkedin.com/company/canva",
|
| 874 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C4D0BAQGO1uzGzmVB-A/company-logo_400_400/company-logo_400_400/0/1656630679668/canva_logo?e=1733356800&v=beta&t=f-EU-W2e0K0IW1-sDDiwpYG0GsRBK2Nh2UX__pbjF38",
|
| 875 |
-
"companyIndustry": "Computer Software",
|
| 876 |
-
"companyStaffCountRange": "1001 - 5000",
|
| 877 |
-
"title": "Investor",
|
| 878 |
-
"multiLocaleTitle": null,
|
| 879 |
-
"multiLocaleCompanyName": null,
|
| 880 |
-
"location": "",
|
| 881 |
-
"description": "",
|
| 882 |
-
"employmentType": "",
|
| 883 |
-
"start": {
|
| 884 |
-
"year": 2019,
|
| 885 |
-
"month": 0,
|
| 886 |
-
"day": 0
|
| 887 |
-
},
|
| 888 |
-
"end": {
|
| 889 |
-
"year": 2024,
|
| 890 |
-
"month": 0,
|
| 891 |
-
"day": 0
|
| 892 |
-
}
|
| 893 |
-
}
|
| 894 |
-
],
|
| 895 |
-
"skills": [
|
| 896 |
-
{
|
| 897 |
-
"name": "Project Planning",
|
| 898 |
-
"passedSkillAssessment": false,
|
| 899 |
-
"endorsementsCount": 2
|
| 900 |
-
},
|
| 901 |
-
{
|
| 902 |
-
"name": "Research",
|
| 903 |
-
"passedSkillAssessment": false,
|
| 904 |
-
"endorsementsCount": 14
|
| 905 |
-
},
|
| 906 |
-
{
|
| 907 |
-
"name": "Project Exec",
|
| 908 |
-
"passedSkillAssessment": false
|
| 909 |
-
},
|
| 910 |
-
{
|
| 911 |
-
"name": "Strategic Planning",
|
| 912 |
-
"passedSkillAssessment": false
|
| 913 |
-
},
|
| 914 |
-
{
|
| 915 |
-
"name": "Market Research",
|
| 916 |
-
"passedSkillAssessment": false,
|
| 917 |
-
"endorsementsCount": 6
|
| 918 |
-
},
|
| 919 |
-
{
|
| 920 |
-
"name": "Nonprofits",
|
| 921 |
-
"passedSkillAssessment": false,
|
| 922 |
-
"endorsementsCount": 11
|
| 923 |
-
},
|
| 924 |
-
{
|
| 925 |
-
"name": "Leadership",
|
| 926 |
-
"passedSkillAssessment": false,
|
| 927 |
-
"endorsementsCount": 9
|
| 928 |
-
},
|
| 929 |
-
{
|
| 930 |
-
"name": "Strategy",
|
| 931 |
-
"passedSkillAssessment": false,
|
| 932 |
-
"endorsementsCount": 23
|
| 933 |
-
},
|
| 934 |
-
{
|
| 935 |
-
"name": "Entrepreneurship",
|
| 936 |
-
"passedSkillAssessment": false,
|
| 937 |
-
"endorsementsCount": 7
|
| 938 |
-
},
|
| 939 |
-
{
|
| 940 |
-
"name": "Economics",
|
| 941 |
-
"passedSkillAssessment": false,
|
| 942 |
-
"endorsementsCount": 3
|
| 943 |
-
},
|
| 944 |
-
{
|
| 945 |
-
"name": "Public Speaking",
|
| 946 |
-
"passedSkillAssessment": false,
|
| 947 |
-
"endorsementsCount": 16
|
| 948 |
-
},
|
| 949 |
-
{
|
| 950 |
-
"name": "Data Analysis",
|
| 951 |
-
"passedSkillAssessment": false,
|
| 952 |
-
"endorsementsCount": 8
|
| 953 |
-
},
|
| 954 |
-
{
|
| 955 |
-
"name": "Fundraising",
|
| 956 |
-
"passedSkillAssessment": false,
|
| 957 |
-
"endorsementsCount": 4
|
| 958 |
-
},
|
| 959 |
-
{
|
| 960 |
-
"name": "Venture Capital",
|
| 961 |
-
"passedSkillAssessment": false,
|
| 962 |
-
"endorsementsCount": 3
|
| 963 |
-
},
|
| 964 |
-
{
|
| 965 |
-
"name": "Spanish",
|
| 966 |
-
"passedSkillAssessment": false,
|
| 967 |
-
"endorsementsCount": 4
|
| 968 |
-
},
|
| 969 |
-
{
|
| 970 |
-
"name": "Financial Modeling",
|
| 971 |
-
"passedSkillAssessment": false,
|
| 972 |
-
"endorsementsCount": 2
|
| 973 |
-
}
|
| 974 |
-
],
|
| 975 |
-
"givenRecommendation": null,
|
| 976 |
-
"givenRecommendationCount": 0,
|
| 977 |
-
"receivedRecommendation": null,
|
| 978 |
-
"receivedRecommendationCount": 0,
|
| 979 |
-
"courses": null,
|
| 980 |
-
"certifications": null,
|
| 981 |
-
"honors": null,
|
| 982 |
-
"projects": {
|
| 983 |
-
"total": 0,
|
| 984 |
-
"items": null
|
| 985 |
-
},
|
| 986 |
-
"volunteering": [
|
| 987 |
-
{
|
| 988 |
-
"title": "Venture Capital Advisor & Mentor",
|
| 989 |
-
"start": {
|
| 990 |
-
"year": 2011,
|
| 991 |
-
"month": 11,
|
| 992 |
-
"day": 0
|
| 993 |
-
},
|
| 994 |
-
"end": {
|
| 995 |
-
"year": 2015,
|
| 996 |
-
"month": 10,
|
| 997 |
-
"day": 0
|
| 998 |
-
},
|
| 999 |
-
"companyName": "BUILD",
|
| 1000 |
-
"CompanyId": "513390",
|
| 1001 |
-
"companyUrl": "https://www.linkedin.com/company/513390",
|
| 1002 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQGT3pm5lHpqVQ/company-logo_400_400/company-logo_400_400/0/1630640162308/build_logo?e=1733356800&v=beta&t=u9inGRmQwmaTL-DDgPc6nPPqVI630FhJ-PSK_xil_Vw"
|
| 1003 |
-
},
|
| 1004 |
-
{
|
| 1005 |
-
"title": "Alumni Board Member, Mentor",
|
| 1006 |
-
"start": {
|
| 1007 |
-
"year": 2012,
|
| 1008 |
-
"month": 11,
|
| 1009 |
-
"day": 0
|
| 1010 |
-
},
|
| 1011 |
-
"end": {
|
| 1012 |
-
"year": 2016,
|
| 1013 |
-
"month": 8,
|
| 1014 |
-
"day": 0
|
| 1015 |
-
},
|
| 1016 |
-
"companyName": "New Sector Alliance",
|
| 1017 |
-
"CompanyId": "24636",
|
| 1018 |
-
"companyUrl": "https://www.linkedin.com/company/24636",
|
| 1019 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQFXSfHrJYz7Cw/company-logo_400_400/company-logo_400_400/0/1669748969129/new_sector_alliance_logo?e=1733356800&v=beta&t=-G5ciTX5xibgKUH4ox1ABzNNtReauNHLlmYAMglU7nA"
|
| 1020 |
-
},
|
| 1021 |
-
{
|
| 1022 |
-
"title": "Mentor",
|
| 1023 |
-
"start": {
|
| 1024 |
-
"year": 2014,
|
| 1025 |
-
"month": 9,
|
| 1026 |
-
"day": 0
|
| 1027 |
-
},
|
| 1028 |
-
"end": {
|
| 1029 |
-
"year": 2015,
|
| 1030 |
-
"month": 9,
|
| 1031 |
-
"day": 0
|
| 1032 |
-
},
|
| 1033 |
-
"companyName": "Year Up",
|
| 1034 |
-
"CompanyId": "28447",
|
| 1035 |
-
"companyUrl": "https://www.linkedin.com/company/28447",
|
| 1036 |
-
"companyLogo": "https://media.licdn.com/dms/image/v2/C560BAQFsfLcEADumZg/company-logo_400_400/company-logo_400_400/0/1631350820683?e=1733356800&v=beta&t=-GRlO3yQYdYJUK6a6iP_jRzhVKartf6FaZ0sxKOQH1g"
|
| 1037 |
-
}
|
| 1038 |
-
],
|
| 1039 |
-
"supportedLocales": [
|
| 1040 |
-
{
|
| 1041 |
-
"country": "US",
|
| 1042 |
-
"language": "en"
|
| 1043 |
-
}
|
| 1044 |
-
],
|
| 1045 |
-
"multiLocaleFirstName": {
|
| 1046 |
-
"en": "Hansae"
|
| 1047 |
-
},
|
| 1048 |
-
"multiLocaleLastName": {
|
| 1049 |
-
"en": "Catlett"
|
| 1050 |
-
},
|
| 1051 |
-
"multiLocaleHeadline": {
|
| 1052 |
-
"en": "Partner at HOF Capital | Co-founder & GP at The MBA Fund"
|
| 1053 |
-
}
|
| 1054 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/vsp/app/bindings.py
CHANGED
|
@@ -1,8 +1,11 @@
|
|
| 1 |
from vsp.app.prompts.prompt_loader import PromptLoader
|
| 2 |
from vsp.app.scrapers.linkedin_downloader import LinkedinDownloader
|
|
|
|
|
|
|
| 3 |
from vsp.llm.openai.openai import AsyncOpenAIService
|
| 4 |
from vsp.llm.openai.openai_model import OpenAIModel
|
| 5 |
|
| 6 |
prompt_loader = PromptLoader()
|
| 7 |
-
|
|
|
|
| 8 |
linkedin_downloader = LinkedinDownloader()
|
|
|
|
| 1 |
from vsp.app.prompts.prompt_loader import PromptLoader
|
| 2 |
from vsp.app.scrapers.linkedin_downloader import LinkedinDownloader
|
| 3 |
+
from vsp.llm.cached_llm_service import CachedLLMService
|
| 4 |
+
from vsp.llm.llm_cache import LLMCache
|
| 5 |
from vsp.llm.openai.openai import AsyncOpenAIService
|
| 6 |
from vsp.llm.openai.openai_model import OpenAIModel
|
| 7 |
|
| 8 |
prompt_loader = PromptLoader()
|
| 9 |
+
llm_cache = LLMCache()
|
| 10 |
+
open_ai_service = CachedLLMService(llm_service=AsyncOpenAIService(OpenAIModel.GPT_4_MINI), cache=llm_cache)
|
| 11 |
linkedin_downloader = LinkedinDownloader()
|
src/vsp/app/classifiers/education_classifier.py
CHANGED
|
@@ -56,10 +56,10 @@ class EducationClassification(BaseModel):
|
|
| 56 |
|
| 57 |
class EducationClassifier:
|
| 58 |
"""
|
| 59 |
-
A class for classifying education items from
|
| 60 |
|
| 61 |
This classifier uses a language model to determine the type of educational
|
| 62 |
-
institution and program based on the information provided in a
|
| 63 |
|
| 64 |
Attributes:
|
| 65 |
_llm_service (LLMService): The language model service used for classification.
|
|
@@ -114,13 +114,13 @@ class EducationClassifier:
|
|
| 114 |
self, linkedin_profile: LinkedinProfile, education: Education
|
| 115 |
) -> EducationClassification:
|
| 116 |
"""
|
| 117 |
-
Classify a single education item from a
|
| 118 |
|
| 119 |
This method prepares the input for the language model, sends the query,
|
| 120 |
and processes the result to classify the education item.
|
| 121 |
|
| 122 |
Args:
|
| 123 |
-
linkedin_profile (LinkedinProfile): The full
|
| 124 |
education (Education): The specific education item to classify.
|
| 125 |
|
| 126 |
Returns:
|
|
|
|
| 56 |
|
| 57 |
class EducationClassifier:
|
| 58 |
"""
|
| 59 |
+
A class for classifying education items from Linkedin profiles.
|
| 60 |
|
| 61 |
This classifier uses a language model to determine the type of educational
|
| 62 |
+
institution and program based on the information provided in a Linkedin profile.
|
| 63 |
|
| 64 |
Attributes:
|
| 65 |
_llm_service (LLMService): The language model service used for classification.
|
|
|
|
| 114 |
self, linkedin_profile: LinkedinProfile, education: Education
|
| 115 |
) -> EducationClassification:
|
| 116 |
"""
|
| 117 |
+
Classify a single education item from a Linkedin profile.
|
| 118 |
|
| 119 |
This method prepares the input for the language model, sends the query,
|
| 120 |
and processes the result to classify the education item.
|
| 121 |
|
| 122 |
Args:
|
| 123 |
+
linkedin_profile (LinkedinProfile): The full Linkedin profile of the individual.
|
| 124 |
education (Education): The specific education item to classify.
|
| 125 |
|
| 126 |
Returns:
|
src/vsp/app/classifiers/work_experience/general_work_experience_classifier.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
"""
|
| 2 |
work_experience_classifier.py
|
| 3 |
|
| 4 |
-
This module provides functionality for classifying work experiences from
|
| 5 |
It uses a language model to determine the primary and secondary job types based on the
|
| 6 |
-
information provided in a
|
| 7 |
|
| 8 |
Classes:
|
| 9 |
PrimaryJobType: Enum representing different primary job types.
|
|
@@ -78,10 +78,10 @@ class WorkExperienceClassification(BaseModel):
|
|
| 78 |
|
| 79 |
class WorkExperienceClassifier:
|
| 80 |
"""
|
| 81 |
-
A class for classifying work experiences from
|
| 82 |
|
| 83 |
This classifier uses a language model to determine the primary and secondary job types
|
| 84 |
-
based on the information provided in a
|
| 85 |
|
| 86 |
Attributes:
|
| 87 |
_llm_service (LLMService): The language model service used for classification.
|
|
@@ -122,6 +122,8 @@ class WorkExperienceClassifier:
|
|
| 122 |
lines = output.strip().split("\n")
|
| 123 |
parsed: dict[str, Any] = {}
|
| 124 |
for line in lines:
|
|
|
|
|
|
|
| 125 |
key, value = line.split(":", 1)
|
| 126 |
parsed[key.strip()] = value.strip()
|
| 127 |
|
|
@@ -150,13 +152,13 @@ class WorkExperienceClassifier:
|
|
| 150 |
self, linkedin_profile: LinkedinProfile, work_experience: Position
|
| 151 |
) -> WorkExperienceClassification:
|
| 152 |
"""
|
| 153 |
-
Classify a single work experience item from a
|
| 154 |
|
| 155 |
This method prepares the input for the language model, sends the query,
|
| 156 |
and processes the result to classify the work experience item.
|
| 157 |
|
| 158 |
Args:
|
| 159 |
-
linkedin_profile (LinkedinProfile): The full
|
| 160 |
work_experience (Position): The specific work experience item to classify.
|
| 161 |
|
| 162 |
Returns:
|
|
|
|
| 1 |
"""
|
| 2 |
work_experience_classifier.py
|
| 3 |
|
| 4 |
+
This module provides functionality for classifying work experiences from Linkedin profiles.
|
| 5 |
It uses a language model to determine the primary and secondary job types based on the
|
| 6 |
+
information provided in a Linkedin profile and specific work experience.
|
| 7 |
|
| 8 |
Classes:
|
| 9 |
PrimaryJobType: Enum representing different primary job types.
|
|
|
|
| 78 |
|
| 79 |
class WorkExperienceClassifier:
|
| 80 |
"""
|
| 81 |
+
A class for classifying work experiences from Linkedin profiles.
|
| 82 |
|
| 83 |
This classifier uses a language model to determine the primary and secondary job types
|
| 84 |
+
based on the information provided in a Linkedin profile and specific work experience.
|
| 85 |
|
| 86 |
Attributes:
|
| 87 |
_llm_service (LLMService): The language model service used for classification.
|
|
|
|
| 122 |
lines = output.strip().split("\n")
|
| 123 |
parsed: dict[str, Any] = {}
|
| 124 |
for line in lines:
|
| 125 |
+
if not line:
|
| 126 |
+
continue
|
| 127 |
key, value = line.split(":", 1)
|
| 128 |
parsed[key.strip()] = value.strip()
|
| 129 |
|
|
|
|
| 152 |
self, linkedin_profile: LinkedinProfile, work_experience: Position
|
| 153 |
) -> WorkExperienceClassification:
|
| 154 |
"""
|
| 155 |
+
Classify a single work experience item from a Linkedin profile.
|
| 156 |
|
| 157 |
This method prepares the input for the language model, sends the query,
|
| 158 |
and processes the result to classify the work experience item.
|
| 159 |
|
| 160 |
Args:
|
| 161 |
+
linkedin_profile (LinkedinProfile): The full Linkedin profile of the individual.
|
| 162 |
work_experience (Position): The specific work experience item to classify.
|
| 163 |
|
| 164 |
Returns:
|
src/vsp/app/classifiers/work_experience/investing_focus_asset_class_classifier.py
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
investing_focus_asset_class_classifier.py
|
| 3 |
|
| 4 |
This module provides functionality for classifying investing focus and asset classes
|
| 5 |
-
based on work experiences from
|
| 6 |
determine the specific investing focus or asset class a position belongs to.
|
| 7 |
|
| 8 |
Classes:
|
|
@@ -42,6 +42,7 @@ class InvestingFocusAssetClass(str, Enum):
|
|
| 42 |
CREDIT = "Credit"
|
| 43 |
SECONDARIES = "Secondaries"
|
| 44 |
OTHER = "Other"
|
|
|
|
| 45 |
|
| 46 |
|
| 47 |
_INVESTING_FOCUS_ASSET_CLASS_MAPPINGS: Final[dict[str, InvestingFocusAssetClass]] = {
|
|
@@ -69,10 +70,10 @@ class InvestingFocusAssetClassClassification(BaseModel):
|
|
| 69 |
|
| 70 |
class InvestingFocusAssetClassClassifier:
|
| 71 |
"""
|
| 72 |
-
A class for classifying investing focus and asset classes based on work experiences from
|
| 73 |
|
| 74 |
This classifier uses a language model to determine the specific investing focus or asset class
|
| 75 |
-
a position belongs to based on the information provided in a
|
| 76 |
|
| 77 |
Attributes:
|
| 78 |
_llm_service (LLMService): The language model service used for classification.
|
|
@@ -151,13 +152,13 @@ class InvestingFocusAssetClassClassifier:
|
|
| 151 |
self, linkedin_profile: LinkedinProfile, work_experience: Position
|
| 152 |
) -> InvestingFocusAssetClassClassification:
|
| 153 |
"""
|
| 154 |
-
Classify a single work experience item from a
|
| 155 |
|
| 156 |
This method prepares the input for the language model, sends the query,
|
| 157 |
and processes the result to classify the work experience item into an investing focus or asset class.
|
| 158 |
|
| 159 |
Args:
|
| 160 |
-
linkedin_profile (LinkedinProfile): The full
|
| 161 |
work_experience (Position): The specific work experience item to classify.
|
| 162 |
|
| 163 |
Returns:
|
|
|
|
| 2 |
investing_focus_asset_class_classifier.py
|
| 3 |
|
| 4 |
This module provides functionality for classifying investing focus and asset classes
|
| 5 |
+
based on work experiences from Linkedin profiles. It uses a language model to
|
| 6 |
determine the specific investing focus or asset class a position belongs to.
|
| 7 |
|
| 8 |
Classes:
|
|
|
|
| 42 |
CREDIT = "Credit"
|
| 43 |
SECONDARIES = "Secondaries"
|
| 44 |
OTHER = "Other"
|
| 45 |
+
UNCLASSIFIABLE = "Unclassifiable"
|
| 46 |
|
| 47 |
|
| 48 |
_INVESTING_FOCUS_ASSET_CLASS_MAPPINGS: Final[dict[str, InvestingFocusAssetClass]] = {
|
|
|
|
| 70 |
|
| 71 |
class InvestingFocusAssetClassClassifier:
|
| 72 |
"""
|
| 73 |
+
A class for classifying investing focus and asset classes based on work experiences from Linkedin profiles.
|
| 74 |
|
| 75 |
This classifier uses a language model to determine the specific investing focus or asset class
|
| 76 |
+
a position belongs to based on the information provided in a Linkedin profile and specific work experience.
|
| 77 |
|
| 78 |
Attributes:
|
| 79 |
_llm_service (LLMService): The language model service used for classification.
|
|
|
|
| 152 |
self, linkedin_profile: LinkedinProfile, work_experience: Position
|
| 153 |
) -> InvestingFocusAssetClassClassification:
|
| 154 |
"""
|
| 155 |
+
Classify a single work experience item from a Linkedin profile into an investing focus or asset class.
|
| 156 |
|
| 157 |
This method prepares the input for the language model, sends the query,
|
| 158 |
and processes the result to classify the work experience item into an investing focus or asset class.
|
| 159 |
|
| 160 |
Args:
|
| 161 |
+
linkedin_profile (LinkedinProfile): The full Linkedin profile of the individual.
|
| 162 |
work_experience (Position): The specific work experience item to classify.
|
| 163 |
|
| 164 |
Returns:
|
src/vsp/app/classifiers/work_experience/investing_focus_sector_classifier.py
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
investing_focus_sector_classifier.py
|
| 3 |
|
| 4 |
This module provides functionality for classifying investing focus sectors
|
| 5 |
-
based on work experiences from
|
| 6 |
determine the specific sector a position focuses on in terms of investments.
|
| 7 |
|
| 8 |
Classes:
|
|
@@ -42,6 +42,7 @@ class InvestingFocusSector(str, Enum):
|
|
| 42 |
FINANCIAL_INSTITUTIONS = "Financial Institutions Group (FIG) / Fintech"
|
| 43 |
INFRASTRUCTURE_TRANSPORTATION = "Infrastructure / Transportation"
|
| 44 |
OTHER = "Other"
|
|
|
|
| 45 |
|
| 46 |
|
| 47 |
_INVESTING_FOCUS_SECTOR_MAPPINGS: Final[dict[str, InvestingFocusSector]] = {
|
|
@@ -67,11 +68,11 @@ class InvestingFocusSectorClassification(BaseModel):
|
|
| 67 |
|
| 68 |
class InvestingFocusSectorClassifier:
|
| 69 |
"""
|
| 70 |
-
A class for classifying investing focus sectors based on work experiences from
|
| 71 |
|
| 72 |
This classifier uses a language model to determine the specific sector
|
| 73 |
a position focuses on in terms of investments, based on the information
|
| 74 |
-
provided in a
|
| 75 |
|
| 76 |
Attributes:
|
| 77 |
_llm_service (LLMService): The language model service used for classification.
|
|
@@ -140,13 +141,13 @@ class InvestingFocusSectorClassifier:
|
|
| 140 |
self, linkedin_profile: LinkedinProfile, work_experience: Position
|
| 141 |
) -> InvestingFocusSectorClassification:
|
| 142 |
"""
|
| 143 |
-
Classify a single work experience item from a
|
| 144 |
|
| 145 |
This method prepares the input for the language model, sends the query,
|
| 146 |
and processes the result to classify the work experience item into an investing focus sector.
|
| 147 |
|
| 148 |
Args:
|
| 149 |
-
linkedin_profile (LinkedinProfile): The full
|
| 150 |
work_experience (Position): The specific work experience item to classify.
|
| 151 |
|
| 152 |
Returns:
|
|
|
|
| 2 |
investing_focus_sector_classifier.py
|
| 3 |
|
| 4 |
This module provides functionality for classifying investing focus sectors
|
| 5 |
+
based on work experiences from Linkedin profiles. It uses a language model to
|
| 6 |
determine the specific sector a position focuses on in terms of investments.
|
| 7 |
|
| 8 |
Classes:
|
|
|
|
| 42 |
FINANCIAL_INSTITUTIONS = "Financial Institutions Group (FIG) / Fintech"
|
| 43 |
INFRASTRUCTURE_TRANSPORTATION = "Infrastructure / Transportation"
|
| 44 |
OTHER = "Other"
|
| 45 |
+
UNCLASSIFIABLE = "Unclassifiable"
|
| 46 |
|
| 47 |
|
| 48 |
_INVESTING_FOCUS_SECTOR_MAPPINGS: Final[dict[str, InvestingFocusSector]] = {
|
|
|
|
| 68 |
|
| 69 |
class InvestingFocusSectorClassifier:
|
| 70 |
"""
|
| 71 |
+
A class for classifying investing focus sectors based on work experiences from Linkedin profiles.
|
| 72 |
|
| 73 |
This classifier uses a language model to determine the specific sector
|
| 74 |
a position focuses on in terms of investments, based on the information
|
| 75 |
+
provided in a Linkedin profile and specific work experience.
|
| 76 |
|
| 77 |
Attributes:
|
| 78 |
_llm_service (LLMService): The language model service used for classification.
|
|
|
|
| 141 |
self, linkedin_profile: LinkedinProfile, work_experience: Position
|
| 142 |
) -> InvestingFocusSectorClassification:
|
| 143 |
"""
|
| 144 |
+
Classify a single work experience item from a Linkedin profile into an investing focus sector.
|
| 145 |
|
| 146 |
This method prepares the input for the language model, sends the query,
|
| 147 |
and processes the result to classify the work experience item into an investing focus sector.
|
| 148 |
|
| 149 |
Args:
|
| 150 |
+
linkedin_profile (LinkedinProfile): The full Linkedin profile of the individual.
|
| 151 |
work_experience (Position): The specific work experience item to classify.
|
| 152 |
|
| 153 |
Returns:
|
src/vsp/app/classifiers/work_experience/investment_banking_group_classifier.py
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
investment_banking_group_classifier.py
|
| 3 |
|
| 4 |
This module provides functionality for classifying investment banking groups
|
| 5 |
-
based on work experiences from
|
| 6 |
determine the specific investment banking group a position belongs to.
|
| 7 |
|
| 8 |
Classes:
|
|
@@ -50,6 +50,7 @@ class InvestmentBankingGroup(str, Enum):
|
|
| 50 |
FINANCIAL_INSTITUTIONS = "Financial Institutions Group (FIG) / Fintech"
|
| 51 |
INFRASTRUCTURE = "Infrastructure / Transportation"
|
| 52 |
OTHER = "Other"
|
|
|
|
| 53 |
|
| 54 |
|
| 55 |
_INVESTMENT_BANKING_GROUP_MAPPINGS: Final[dict[str, InvestmentBankingGroup]] = {
|
|
@@ -75,10 +76,10 @@ class InvestmentBankingGroupClassification(BaseModel):
|
|
| 75 |
|
| 76 |
class InvestmentBankingGroupClassifier:
|
| 77 |
"""
|
| 78 |
-
A class for classifying investment banking groups based on work experiences from
|
| 79 |
|
| 80 |
This classifier uses a language model to determine the specific investment banking group
|
| 81 |
-
a position belongs to based on the information provided in a
|
| 82 |
|
| 83 |
Attributes:
|
| 84 |
_llm_service (LLMService): The language model service used for classification.
|
|
@@ -146,13 +147,13 @@ class InvestmentBankingGroupClassifier:
|
|
| 146 |
self, linkedin_profile: LinkedinProfile, work_experience: Position
|
| 147 |
) -> InvestmentBankingGroupClassification:
|
| 148 |
"""
|
| 149 |
-
Classify a single work experience item from a
|
| 150 |
|
| 151 |
This method prepares the input for the language model, sends the query,
|
| 152 |
and processes the result to classify the work experience item into an investment banking group.
|
| 153 |
|
| 154 |
Args:
|
| 155 |
-
linkedin_profile (LinkedinProfile): The full
|
| 156 |
work_experience (Position): The specific work experience item to classify.
|
| 157 |
|
| 158 |
Returns:
|
|
|
|
| 2 |
investment_banking_group_classifier.py
|
| 3 |
|
| 4 |
This module provides functionality for classifying investment banking groups
|
| 5 |
+
based on work experiences from Linkedin profiles. It uses a language model to
|
| 6 |
determine the specific investment banking group a position belongs to.
|
| 7 |
|
| 8 |
Classes:
|
|
|
|
| 50 |
FINANCIAL_INSTITUTIONS = "Financial Institutions Group (FIG) / Fintech"
|
| 51 |
INFRASTRUCTURE = "Infrastructure / Transportation"
|
| 52 |
OTHER = "Other"
|
| 53 |
+
UNCLASSIFIABLE = "Unclassifiable"
|
| 54 |
|
| 55 |
|
| 56 |
_INVESTMENT_BANKING_GROUP_MAPPINGS: Final[dict[str, InvestmentBankingGroup]] = {
|
|
|
|
| 76 |
|
| 77 |
class InvestmentBankingGroupClassifier:
|
| 78 |
"""
|
| 79 |
+
A class for classifying investment banking groups based on work experiences from Linkedin profiles.
|
| 80 |
|
| 81 |
This classifier uses a language model to determine the specific investment banking group
|
| 82 |
+
a position belongs to based on the information provided in a Linkedin profile and specific work experience.
|
| 83 |
|
| 84 |
Attributes:
|
| 85 |
_llm_service (LLMService): The language model service used for classification.
|
|
|
|
| 147 |
self, linkedin_profile: LinkedinProfile, work_experience: Position
|
| 148 |
) -> InvestmentBankingGroupClassification:
|
| 149 |
"""
|
| 150 |
+
Classify a single work experience item from a Linkedin profile into an investment banking group.
|
| 151 |
|
| 152 |
This method prepares the input for the language model, sends the query,
|
| 153 |
and processes the result to classify the work experience item into an investment banking group.
|
| 154 |
|
| 155 |
Args:
|
| 156 |
+
linkedin_profile (LinkedinProfile): The full Linkedin profile of the individual.
|
| 157 |
work_experience (Position): The specific work experience item to classify.
|
| 158 |
|
| 159 |
Returns:
|
src/vsp/app/main.py
CHANGED
|
@@ -1,32 +1,4 @@
|
|
| 1 |
-
|
| 2 |
-
main.py
|
| 3 |
-
|
| 4 |
-
This module provides functionality for processing and classifying LinkedIn profiles.
|
| 5 |
-
It uses various classifiers to analyze education and work experience data,
|
| 6 |
-
including specific classifications for investment banking roles.
|
| 7 |
-
|
| 8 |
-
The main components are:
|
| 9 |
-
1. Data models for classified education and work experience.
|
| 10 |
-
2. A function to process a LinkedIn profile and generate classification results.
|
| 11 |
-
3. An example usage demonstrating how to use the module with a JSON file input.
|
| 12 |
-
|
| 13 |
-
This module leverages asyncio for concurrent processing of profile data.
|
| 14 |
-
|
| 15 |
-
Classes:
|
| 16 |
-
ClassifiedEducation: Represents a classified education item.
|
| 17 |
-
ClassifiedWorkExperience: Represents a classified work experience item.
|
| 18 |
-
LinkedinProfileClassificationResults: Holds the classification results for a LinkedIn profile.
|
| 19 |
-
|
| 20 |
-
Functions:
|
| 21 |
-
process_linkedin_profile: Asynchronously processes a LinkedIn profile and returns classification results.
|
| 22 |
-
main: An example async function demonstrating how to use the module.
|
| 23 |
-
|
| 24 |
-
Usage:
|
| 25 |
-
This script can be run directly to process a sample LinkedIn profile:
|
| 26 |
-
$ python main.py
|
| 27 |
-
|
| 28 |
-
Or the `process_linkedin_profile` function can be imported and used in other modules.
|
| 29 |
-
"""
|
| 30 |
|
| 31 |
import asyncio
|
| 32 |
import json
|
|
@@ -36,6 +8,7 @@ from pydantic import BaseModel, Field
|
|
| 36 |
|
| 37 |
from vsp.app.classifiers.education_classifier import EducationClassification, EducationClassifier
|
| 38 |
from vsp.app.classifiers.work_experience.general_work_experience_classifier import (
|
|
|
|
| 39 |
SecondaryJobType,
|
| 40 |
WorkExperienceClassification,
|
| 41 |
WorkExperienceClassifier,
|
|
@@ -56,32 +29,14 @@ from vsp.app.model.linkedin.linkedin_models import Education, LinkedinProfile, P
|
|
| 56 |
|
| 57 |
|
| 58 |
class ClassifiedEducation(BaseModel):
|
| 59 |
-
"""
|
| 60 |
-
Represents a classified education item from a LinkedIn profile.
|
| 61 |
-
|
| 62 |
-
Attributes:
|
| 63 |
-
education (Education): The original education data from the LinkedIn profile.
|
| 64 |
-
classification (EducationClassification): The classification results for the education item.
|
| 65 |
-
"""
|
| 66 |
|
| 67 |
education: Education
|
| 68 |
classification: EducationClassification
|
| 69 |
|
| 70 |
|
| 71 |
class ClassifiedWorkExperience(BaseModel):
|
| 72 |
-
"""
|
| 73 |
-
Represents a classified work experience item from a LinkedIn profile.
|
| 74 |
-
|
| 75 |
-
Attributes:
|
| 76 |
-
position (Position): The original position data from the LinkedIn profile.
|
| 77 |
-
work_experience_classification (WorkExperienceClassification): The general work experience classification.
|
| 78 |
-
investment_banking_classification (InvestmentBankingGroupClassification | None):
|
| 79 |
-
The investment banking group classification, if applicable.
|
| 80 |
-
investing_focus_asset_class_classification (InvestingFocusAssetClassClassification | None):
|
| 81 |
-
The investing focus or asset class classification, if applicable.
|
| 82 |
-
investing_focus_sector_classification (InvestingFocusSectorClassification | None):
|
| 83 |
-
The investing focus sector classification, if applicable.
|
| 84 |
-
"""
|
| 85 |
|
| 86 |
position: Position
|
| 87 |
work_experience_classification: WorkExperienceClassification
|
|
@@ -91,13 +46,7 @@ class ClassifiedWorkExperience(BaseModel):
|
|
| 91 |
|
| 92 |
|
| 93 |
class LinkedinProfileClassificationResults(BaseModel):
|
| 94 |
-
"""
|
| 95 |
-
Holds the classification results for a LinkedIn profile.
|
| 96 |
-
|
| 97 |
-
Attributes:
|
| 98 |
-
classified_educations (Sequence[ClassifiedEducation]): List of classified education items.
|
| 99 |
-
classified_work_experiences (Sequence[ClassifiedWorkExperience]): List of classified work experience items.
|
| 100 |
-
"""
|
| 101 |
|
| 102 |
classified_educations: Sequence[ClassifiedEducation] = Field(default_factory=list)
|
| 103 |
classified_work_experiences: Sequence[ClassifiedWorkExperience] = Field(default_factory=list)
|
|
@@ -105,15 +54,10 @@ class LinkedinProfileClassificationResults(BaseModel):
|
|
| 105 |
|
| 106 |
async def process_linkedin_profile(profile: LinkedinProfile) -> LinkedinProfileClassificationResults:
|
| 107 |
"""
|
| 108 |
-
|
| 109 |
|
| 110 |
-
This function
|
| 111 |
-
|
| 112 |
-
2. Classifies all work experience items in the profile.
|
| 113 |
-
3. For work experiences classified as investment banking, performs an additional
|
| 114 |
-
investment banking group classification.
|
| 115 |
-
4. For work experiences classified as investing, performs an additional
|
| 116 |
-
investing focus or asset class classification.
|
| 117 |
|
| 118 |
Args:
|
| 119 |
profile (LinkedinProfile): The LinkedIn profile to process.
|
|
@@ -127,63 +71,65 @@ async def process_linkedin_profile(profile: LinkedinProfile) -> LinkedinProfileC
|
|
| 127 |
investing_focus_asset_class_classifier = InvestingFocusAssetClassClassifier()
|
| 128 |
investing_focus_sector_classifier = InvestingFocusSectorClassifier()
|
| 129 |
|
| 130 |
-
#
|
| 131 |
-
education_tasks =
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 137 |
]
|
| 138 |
-
work_experience_classifications = await asyncio.gather(*work_experience_tasks)
|
| 139 |
|
| 140 |
-
#
|
| 141 |
classified_work_experiences = []
|
| 142 |
-
for position, work_classification in zip(profile.positions,
|
| 143 |
classified_work_experience = ClassifiedWorkExperience(
|
| 144 |
position=position, work_experience_classification=work_classification
|
| 145 |
)
|
| 146 |
|
| 147 |
-
if work_classification.
|
| 148 |
-
|
| 149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 150 |
|
| 151 |
-
|
| 152 |
-
investing_asset_class_classification = (
|
| 153 |
-
await investing_focus_asset_class_classifier.classify_investing_focus_asset_class(profile, position)
|
| 154 |
-
)
|
| 155 |
-
classified_work_experience.investing_focus_asset_class_classification = investing_asset_class_classification
|
| 156 |
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
)
|
| 160 |
-
classified_work_experience.investing_focus_sector_classification = investing_sector_classification
|
| 161 |
|
| 162 |
classified_work_experiences.append(classified_work_experience)
|
| 163 |
|
| 164 |
-
# Prepare the results using Pydantic models
|
| 165 |
return LinkedinProfileClassificationResults(
|
| 166 |
-
classified_educations=
|
| 167 |
-
ClassifiedEducation(education=education, classification=classification)
|
| 168 |
-
for education, classification in zip(profile.educations, education_classifications)
|
| 169 |
-
],
|
| 170 |
-
classified_work_experiences=classified_work_experiences,
|
| 171 |
)
|
| 172 |
|
| 173 |
|
| 174 |
async def main() -> None:
|
| 175 |
"""
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
This function demonstrates how to:
|
| 179 |
-
1. Load a LinkedIn profile from a JSON file.
|
| 180 |
-
2. Process the profile using the `process_linkedin_profile` function.
|
| 181 |
-
3. Print the classification results.
|
| 182 |
-
|
| 183 |
-
The function is asynchronous and should be run in an event loop.
|
| 184 |
"""
|
| 185 |
-
with open("
|
| 186 |
-
profile = LinkedinProfile.
|
| 187 |
results = await process_linkedin_profile(profile)
|
| 188 |
print(results.model_dump_json(indent=2))
|
| 189 |
|
|
|
|
| 1 |
+
# src/vsp/app/main.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
import asyncio
|
| 4 |
import json
|
|
|
|
| 8 |
|
| 9 |
from vsp.app.classifiers.education_classifier import EducationClassification, EducationClassifier
|
| 10 |
from vsp.app.classifiers.work_experience.general_work_experience_classifier import (
|
| 11 |
+
PrimaryJobType,
|
| 12 |
SecondaryJobType,
|
| 13 |
WorkExperienceClassification,
|
| 14 |
WorkExperienceClassifier,
|
|
|
|
| 29 |
|
| 30 |
|
| 31 |
class ClassifiedEducation(BaseModel):
|
| 32 |
+
"""Represents a classified education item."""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
education: Education
|
| 35 |
classification: EducationClassification
|
| 36 |
|
| 37 |
|
| 38 |
class ClassifiedWorkExperience(BaseModel):
|
| 39 |
+
"""Represents a classified work experience item."""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
position: Position
|
| 42 |
work_experience_classification: WorkExperienceClassification
|
|
|
|
| 46 |
|
| 47 |
|
| 48 |
class LinkedinProfileClassificationResults(BaseModel):
|
| 49 |
+
"""Represents the classification results for a LinkedIn profile."""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
|
| 51 |
classified_educations: Sequence[ClassifiedEducation] = Field(default_factory=list)
|
| 52 |
classified_work_experiences: Sequence[ClassifiedWorkExperience] = Field(default_factory=list)
|
|
|
|
| 54 |
|
| 55 |
async def process_linkedin_profile(profile: LinkedinProfile) -> LinkedinProfileClassificationResults:
|
| 56 |
"""
|
| 57 |
+
Process a LinkedIn profile and classify its education and work experiences.
|
| 58 |
|
| 59 |
+
This function maintains the original order of educations and work experiences
|
| 60 |
+
from the input profile while performing asynchronous classification tasks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
|
| 62 |
Args:
|
| 63 |
profile (LinkedinProfile): The LinkedIn profile to process.
|
|
|
|
| 71 |
investing_focus_asset_class_classifier = InvestingFocusAssetClassClassifier()
|
| 72 |
investing_focus_sector_classifier = InvestingFocusSectorClassifier()
|
| 73 |
|
| 74 |
+
# Create tasks for education classification
|
| 75 |
+
education_tasks = {
|
| 76 |
+
education: education_classifier.classify_education(profile, education) for education in profile.educations
|
| 77 |
+
}
|
| 78 |
+
|
| 79 |
+
# Create tasks for work experience classification
|
| 80 |
+
work_experience_tasks = {
|
| 81 |
+
position: work_experience_classifier.classify_work_experience(profile, position)
|
| 82 |
+
for position in profile.positions
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
# Wait for all education and work experience classifications to complete
|
| 86 |
+
education_results = await asyncio.gather(*education_tasks.values())
|
| 87 |
+
work_experience_results = await asyncio.gather(*work_experience_tasks.values())
|
| 88 |
+
|
| 89 |
+
# Create ClassifiedEducation objects in the original order
|
| 90 |
+
classified_educations = [
|
| 91 |
+
ClassifiedEducation(education=education, classification=classification)
|
| 92 |
+
for education, classification in zip(profile.educations, education_results)
|
| 93 |
]
|
|
|
|
| 94 |
|
| 95 |
+
# Process work experiences and create ClassifiedWorkExperience objects
|
| 96 |
classified_work_experiences = []
|
| 97 |
+
for position, work_classification in zip(profile.positions, work_experience_results):
|
| 98 |
classified_work_experience = ClassifiedWorkExperience(
|
| 99 |
position=position, work_experience_classification=work_classification
|
| 100 |
)
|
| 101 |
|
| 102 |
+
if work_classification.primary_job_type not in {PrimaryJobType.INTERNSHIP, PrimaryJobType.EXTRACURRICULAR}:
|
| 103 |
+
if work_classification.secondary_job_type == SecondaryJobType.INVESTMENT_BANKING:
|
| 104 |
+
ib_classification = await investment_banking_classifier.classify_investment_banking_group(
|
| 105 |
+
profile, position
|
| 106 |
+
)
|
| 107 |
+
classified_work_experience.investment_banking_classification = ib_classification
|
| 108 |
+
|
| 109 |
+
if work_classification.secondary_job_type == SecondaryJobType.INVESTING:
|
| 110 |
+
asset_class_task = investing_focus_asset_class_classifier.classify_investing_focus_asset_class(
|
| 111 |
+
profile, position
|
| 112 |
+
)
|
| 113 |
+
sector_task = investing_focus_sector_classifier.classify_investing_focus_sector(profile, position)
|
| 114 |
|
| 115 |
+
asset_class_result, sector_result = await asyncio.gather(asset_class_task, sector_task)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
|
| 117 |
+
classified_work_experience.investing_focus_asset_class_classification = asset_class_result
|
| 118 |
+
classified_work_experience.investing_focus_sector_classification = sector_result
|
|
|
|
|
|
|
| 119 |
|
| 120 |
classified_work_experiences.append(classified_work_experience)
|
| 121 |
|
|
|
|
| 122 |
return LinkedinProfileClassificationResults(
|
| 123 |
+
classified_educations=classified_educations, classified_work_experiences=classified_work_experiences
|
|
|
|
|
|
|
|
|
|
|
|
|
| 124 |
)
|
| 125 |
|
| 126 |
|
| 127 |
async def main() -> None:
|
| 128 |
"""
|
| 129 |
+
Main function to demonstrate the usage of process_linkedin_profile.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
"""
|
| 131 |
+
with open("tests/test_data/sample_profiles/eric_armagost.json") as f:
|
| 132 |
+
profile = LinkedinProfile.model_validate(json.load(f))
|
| 133 |
results = await process_linkedin_profile(profile)
|
| 134 |
print(results.model_dump_json(indent=2))
|
| 135 |
|
src/vsp/app/model/linkedin/linkedin_formatters.py
CHANGED
|
@@ -83,7 +83,7 @@ def format_education_human(education: List[Education]) -> str:
|
|
| 83 |
|
| 84 |
def _format_work_experience_human(positions: List[Position]) -> str:
|
| 85 |
"""
|
| 86 |
-
Formats the work experience section of a
|
| 87 |
|
| 88 |
Args:
|
| 89 |
positions (List[Position]): A list of Position objects representing work experience.
|
|
@@ -111,10 +111,10 @@ def _format_work_experience_human(positions: List[Position]) -> str:
|
|
| 111 |
|
| 112 |
def format_profile_as_resume(profile: LinkedinProfile) -> str:
|
| 113 |
"""
|
| 114 |
-
Formats the given
|
| 115 |
|
| 116 |
Args:
|
| 117 |
-
profile (Profile): The
|
| 118 |
|
| 119 |
Returns:
|
| 120 |
str: The formatted resume as a string.
|
|
@@ -151,10 +151,10 @@ def format_profile_as_resume(profile: LinkedinProfile) -> str:
|
|
| 151 |
|
| 152 |
def format_profile_for_llm(profile: LinkedinProfile) -> str:
|
| 153 |
"""
|
| 154 |
-
Formats the given
|
| 155 |
|
| 156 |
Args:
|
| 157 |
-
profile (Profile): The
|
| 158 |
|
| 159 |
Returns:
|
| 160 |
str: The formatted profile as a string.
|
|
|
|
| 83 |
|
| 84 |
def _format_work_experience_human(positions: List[Position]) -> str:
|
| 85 |
"""
|
| 86 |
+
Formats the work experience section of a Linkedin profile in a human-readable format.
|
| 87 |
|
| 88 |
Args:
|
| 89 |
positions (List[Position]): A list of Position objects representing work experience.
|
|
|
|
| 111 |
|
| 112 |
def format_profile_as_resume(profile: LinkedinProfile) -> str:
|
| 113 |
"""
|
| 114 |
+
Formats the given Linkedin profile as a resume.
|
| 115 |
|
| 116 |
Args:
|
| 117 |
+
profile (Profile): The Linkedin profile to be formatted.
|
| 118 |
|
| 119 |
Returns:
|
| 120 |
str: The formatted resume as a string.
|
|
|
|
| 151 |
|
| 152 |
def format_profile_for_llm(profile: LinkedinProfile) -> str:
|
| 153 |
"""
|
| 154 |
+
Formats the given Linkedin profile for input to the LLM. Uses XML-like tags for each section.
|
| 155 |
|
| 156 |
Args:
|
| 157 |
+
profile (Profile): The Linkedin profile to be formatted.
|
| 158 |
|
| 159 |
Returns:
|
| 160 |
str: The formatted profile as a string.
|
src/vsp/app/model/linkedin/linkedin_models.py
CHANGED
|
@@ -25,6 +25,7 @@ class DateComponent(BaseSchema):
|
|
| 25 |
year: int | None = None
|
| 26 |
month: int | None = None
|
| 27 |
day: int | None = None
|
|
|
|
| 28 |
|
| 29 |
@field_validator("year", "month", "day", mode="before")
|
| 30 |
@classmethod
|
|
@@ -70,6 +71,7 @@ class Education(StartEndMixin):
|
|
| 70 |
school_name: str | None = None
|
| 71 |
description: str | None = None
|
| 72 |
activities: str | None = None
|
|
|
|
| 73 |
|
| 74 |
|
| 75 |
class Position(StartEndMixin):
|
|
@@ -82,6 +84,7 @@ class Position(StartEndMixin):
|
|
| 82 |
location: str | None = None
|
| 83 |
description: str | None = None
|
| 84 |
employment_type: str | None = None
|
|
|
|
| 85 |
|
| 86 |
|
| 87 |
class Skill(BaseSchema):
|
|
|
|
| 25 |
year: int | None = None
|
| 26 |
month: int | None = None
|
| 27 |
day: int | None = None
|
| 28 |
+
model_config = {"frozen": True} # This makes the model immutable and hashable
|
| 29 |
|
| 30 |
@field_validator("year", "month", "day", mode="before")
|
| 31 |
@classmethod
|
|
|
|
| 71 |
school_name: str | None = None
|
| 72 |
description: str | None = None
|
| 73 |
activities: str | None = None
|
| 74 |
+
model_config = {"frozen": True} # This makes the model immutable and hashable
|
| 75 |
|
| 76 |
|
| 77 |
class Position(StartEndMixin):
|
|
|
|
| 84 |
location: str | None = None
|
| 85 |
description: str | None = None
|
| 86 |
employment_type: str | None = None
|
| 87 |
+
model_config = {"frozen": True} # This makes the model immutable and hashable
|
| 88 |
|
| 89 |
|
| 90 |
class Skill(BaseSchema):
|
src/vsp/app/model/vsp/vsp_models.py
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import Optional, Sequence
|
| 2 |
+
|
| 3 |
+
from pydantic import BaseModel, Field, field_validator
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
class General(BaseModel):
|
| 7 |
+
linkedin_url: str
|
| 8 |
+
first_name: str
|
| 9 |
+
last_name: str
|
| 10 |
+
current_location: Optional[str] = None
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
class EducationItem(BaseModel):
|
| 14 |
+
school: str
|
| 15 |
+
beginning_year: Optional[str] = None
|
| 16 |
+
ending_year: Optional[str] = None
|
| 17 |
+
degree_type: Optional[str] = None
|
| 18 |
+
degree_characterization: str
|
| 19 |
+
school_type: str
|
| 20 |
+
school_location: Optional[str] = None
|
| 21 |
+
|
| 22 |
+
@field_validator("beginning_year", "ending_year", mode="before")
|
| 23 |
+
@classmethod
|
| 24 |
+
def convert_year_to_string(cls, v: int | str | None) -> str | None:
|
| 25 |
+
if isinstance(v, int):
|
| 26 |
+
return str(v)
|
| 27 |
+
return v
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
class Education(BaseModel):
|
| 31 |
+
undergraduate_school: Optional[str] = None
|
| 32 |
+
undergraduate_year: Optional[int] = None
|
| 33 |
+
graduate_school: Optional[str] = None
|
| 34 |
+
graduate_school_year: Optional[int] = None
|
| 35 |
+
education_history: Sequence[EducationItem] = Field(default_factory=list)
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
class ExperienceBySecondaryJobType(BaseModel):
|
| 39 |
+
investing: Optional[float] = None
|
| 40 |
+
back_office: Optional[float] = None
|
| 41 |
+
investment_banking: Optional[float] = None
|
| 42 |
+
consulting: Optional[float] = None
|
| 43 |
+
engineering: Optional[float] = None
|
| 44 |
+
entrepreneur_founder: Optional[float] = None
|
| 45 |
+
corpdev_strategy: Optional[float] = None
|
| 46 |
+
other: Optional[float] = None
|
| 47 |
+
|
| 48 |
+
|
| 49 |
+
class ExperienceHistoryItem(BaseModel):
|
| 50 |
+
company: str
|
| 51 |
+
title: Optional[str]
|
| 52 |
+
location: Optional[str] = None
|
| 53 |
+
start_date: str
|
| 54 |
+
end_date: str
|
| 55 |
+
duration: str
|
| 56 |
+
description: Optional[str] = None
|
| 57 |
+
primary_job_type: str
|
| 58 |
+
secondary_job_type: Optional[str] = None
|
| 59 |
+
investing_focus_stage: Optional[str] = None
|
| 60 |
+
investing_focus_sector: Optional[str] = None
|
| 61 |
+
investment_banking_focus: Optional[str] = None
|
| 62 |
+
|
| 63 |
+
|
| 64 |
+
class ProfessionalExperience(BaseModel):
|
| 65 |
+
total_years_of_experience: float
|
| 66 |
+
experience_by_secondary_job_type: ExperienceBySecondaryJobType
|
| 67 |
+
linkedin_title: str
|
| 68 |
+
experience_history: Sequence[ExperienceHistoryItem] = Field(default_factory=list)
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
class VSPProfile(BaseModel):
|
| 72 |
+
general: General
|
| 73 |
+
education: Education
|
| 74 |
+
professional_experience: ProfessionalExperience
|
src/vsp/app/prompts/education_classifier/1 - education_classifier_human.txt
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
-
Please classify the following educational item based on the job candidate's full resume and the specific
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
| 5 |
|
| 6 |
-
Specific
|
| 7 |
{education}
|
| 8 |
|
| 9 |
-
Provide your classification, confidence level (0.0 to 1.0), and reasoning in the specified format. Ensure your reasoning refers to specific details from both the resume and the
|
|
|
|
| 1 |
+
Please classify the following educational item based on the job candidate's full resume and the specific Linkedin education information provided. Analyze both sources of information carefully to determine the most accurate classification.
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
| 5 |
|
| 6 |
+
Specific Linkedin Education Item:
|
| 7 |
{education}
|
| 8 |
|
| 9 |
+
Provide your classification, confidence level (0.0 to 1.0), and reasoning in the specified format. Ensure your reasoning refers to specific details from both the resume and the Linkedin education item that support your decision.
|
src/vsp/app/prompts/education_classifier/1 - education_classifier_system.txt
CHANGED
|
@@ -1,16 +1,16 @@
|
|
| 1 |
-
You are an expert in analyzing educational backgrounds and classifying them according to specific categories. Your task is to examine a founder's full resume and a specific educational item from
|
| 2 |
|
| 3 |
The classification categories are:
|
| 4 |
-
1. PRIMARY_SECONDARY:
|
| 5 |
-
2. UNDERGRAD_INCOMPLETE:
|
| 6 |
-
3. UNDERGRAD_COMPLETED:
|
| 7 |
-
4. MBA:
|
| 8 |
-
5. LAW_SCHOOL:
|
| 9 |
-
6. GRAD_SCHOOL:
|
| 10 |
-
7. PHD:
|
| 11 |
-
8. OTHER:
|
| 12 |
|
| 13 |
-
Pay close attention to the degree type, field of study, and any other relevant information provided in both the resume and the specific
|
| 14 |
|
| 15 |
Provide your response in the following format:
|
| 16 |
|
|
@@ -18,4 +18,4 @@ output: [CATEGORY_NAME]
|
|
| 18 |
confidence: [0.0 to 1.0]
|
| 19 |
reasoning: [Your explanation here]
|
| 20 |
|
| 21 |
-
Ensure each part of your response is on a separate line, exactly as shown above.
|
|
|
|
| 1 |
+
You are an expert in analyzing educational backgrounds and classifying them according to specific categories. Your task is to examine a founder's full resume and a specific educational item from Linkedin, then classify the educational item into one of the predefined categories. Use the provided information carefully to make an accurate classification.
|
| 2 |
|
| 3 |
The classification categories are:
|
| 4 |
+
1. PRIMARY_SECONDARY: Primary / Secondary School. This includes high school, middle school, and elementary school.
|
| 5 |
+
2. UNDERGRAD_INCOMPLETE: An incomplete / in-progress undergraduate degree. This includes study-abroad programs, transfer credits, and other incomplete undergraduate studies.
|
| 6 |
+
3. UNDERGRAD_COMPLETED: A completed undergraduate degree.
|
| 7 |
+
4. MBA: A Master of Business Administration degree. This includes Executive MBA programs. This is not the same as a Master's degree in Business Analytics, Finance, or other fields.
|
| 8 |
+
5. LAW_SCHOOL: Successful completion of law school.
|
| 9 |
+
6. GRAD_SCHOOL: A Master's degree in a field other than Business Administration or Law.
|
| 10 |
+
7. PHD: A PhD or doctorate degree in any field.
|
| 11 |
+
8. OTHER: Any other educational experience that doesn't fit the above categories.
|
| 12 |
|
| 13 |
+
Pay close attention to the degree type, field of study, and any other relevant information provided in both the resume and the specific Linkedin education item. Consider the context of the entire educational background when making your classification.
|
| 14 |
|
| 15 |
Provide your response in the following format:
|
| 16 |
|
|
|
|
| 18 |
confidence: [0.0 to 1.0]
|
| 19 |
reasoning: [Your explanation here]
|
| 20 |
|
| 21 |
+
Ensure each part of your response is on a separate line, exactly as shown above. There should be exactly three lines.
|
src/vsp/app/prompts/prompt_loader.py
CHANGED
|
@@ -56,7 +56,7 @@ class PromptLoader:
|
|
| 56 |
temperature=0.7,
|
| 57 |
output_formatter=lambda x: {"classification": x},
|
| 58 |
resume="Full resume text...",
|
| 59 |
-
education="Specific
|
| 60 |
)
|
| 61 |
|
| 62 |
# Load and create the narrative generator prompt
|
|
|
|
| 56 |
temperature=0.7,
|
| 57 |
output_formatter=lambda x: {"classification": x},
|
| 58 |
resume="Full resume text...",
|
| 59 |
+
education="Specific Linkedin education item..."
|
| 60 |
)
|
| 61 |
|
| 62 |
# Load and create the narrative generator prompt
|
src/vsp/app/prompts/work_experience_classifier/1 - work_experience_classifier_human.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
Please classify the following work experience item based on the job candidate's full resume and the specific work experience information provided from their
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
|
|
|
| 1 |
+
Please classify the following work experience item based on the job candidate's full resume and the specific work experience information provided from their Linkedin profile. Analyze both sources of information carefully to determine the most accurate classification for both Primary Job Type and Secondary Job Type.
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
src/vsp/app/prompts/work_experience_classifier/1 - work_experience_classifier_system.txt
CHANGED
|
@@ -6,33 +6,45 @@ Primary Job Type categories:
|
|
| 6 |
1. FULL_TIME: Regular, ongoing employment
|
| 7 |
2. ADVISORY_BOARD_INVESTOR: Advisory roles, board memberships, or independent investing activities
|
| 8 |
3. INTERNSHIP: Short-term positions for students or recent graduates, including summer/seasonal analyst roles
|
| 9 |
-
4. EXTRACURRICULAR:
|
| 10 |
5. EDUCATION: When educational experiences are listed as work experiences
|
| 11 |
6. OTHER: Volunteer work or any other type that doesn't fit the above categories
|
| 12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
Secondary Job Type categories:
|
| 14 |
-
1. INVESTING: Professional investing roles, such as venture capital, private equity, or hedge fund positions
|
| 15 |
2. BACK_OFFICE: Supporting roles in financial firms, such as operations, accounting, or IT
|
| 16 |
-
3. INVESTMENT_BANKING: Roles in investment banks or related financial services
|
| 17 |
4. CONSULTING: Management or strategy consulting roles
|
| 18 |
5. ENGINEERING: Software development, hardware engineering, or other technical roles
|
| 19 |
6. ENTREPRENEUR_FOUNDER: Founding or co-founding a company
|
| 20 |
7. CORPDEV_STRATEGY: Corporate development or strategic planning roles
|
| 21 |
8. OTHER: Any role that doesn't fit the above categories
|
| 22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
Provide your response in the following format exactly:
|
| 24 |
|
| 25 |
-
primary_job_type: [PRIMARY_JOB_TYPE]
|
| 26 |
-
secondary_job_type: [SECONDARY_JOB_TYPE]
|
| 27 |
-
confidence: [0.0 to 1.0]
|
| 28 |
reasoning: [Your explanation here]
|
|
|
|
|
|
|
|
|
|
| 29 |
|
| 30 |
-
Ensure each part of your response is on a separate line, exactly as shown above. There should be
|
| 31 |
|
| 32 |
The PRIMARY_JOB_TYPE must be one of: FULL_TIME, ADVISORY_BOARD_INVESTOR, INTERNSHIP, EXTRACURRICULAR, EDUCATION, OTHER
|
| 33 |
-
|
| 34 |
The SECONDARY_JOB_TYPE must be one of: INVESTING, BACK_OFFICE, INVESTMENT_BANKING, CONSULTING, ENGINEERING, ENTREPRENEUR_FOUNDER, CORPDEV_STRATEGY, OTHER
|
| 35 |
|
| 36 |
-
Your confidence level should reflect how certain you are about your classification based on the information provided.
|
| 37 |
-
|
| 38 |
-
In your reasoning, briefly explain why you chose these classifications, referencing specific details from the resume and work experience item that support your decision.
|
|
|
|
| 6 |
1. FULL_TIME: Regular, ongoing employment
|
| 7 |
2. ADVISORY_BOARD_INVESTOR: Advisory roles, board memberships, or independent investing activities
|
| 8 |
3. INTERNSHIP: Short-term positions for students or recent graduates, including summer/seasonal analyst roles
|
| 9 |
+
4. EXTRACURRICULAR: Unpaid activities related to career development, such as student clubs or competitions
|
| 10 |
5. EDUCATION: When educational experiences are listed as work experiences
|
| 11 |
6. OTHER: Volunteer work or any other type that doesn't fit the above categories
|
| 12 |
|
| 13 |
+
Some tips for primary job type categories:
|
| 14 |
+
- Primary job categories are used to describe the hours and compensation setup of the work experience, as opposed to the industry of focus.
|
| 15 |
+
- It cannot be ENTREPRENEUR_FOUNDER: Founding or co-founding a company, as this is a secondary job type category.
|
| 16 |
+
- If the role is a 2-4 month job that happened in the summer, it's likely an INTERNSHIP. Something that's longer than 6 months is unlikely to be an internship unless it meets the other criteria below.
|
| 17 |
+
- If the role is a part-time job while the candidate was in school, it's likely an INTERNSHIP.
|
| 18 |
+
- If the role is before the first full-time job, it's probably during school and should be classified as INTERNSHIP.
|
| 19 |
+
- If the role explicitly says "intern", "internship", or "externship", 'summer analyst', 'summer associate', 'winter analyst', or 'winter associate' it's almost certainly an INTERNSHIP.
|
| 20 |
+
- If the role is a student club, a competition, or something related to the college of the job candidate, it's likely EXTRACURRICULAR.
|
| 21 |
+
- If the role's company is a fraternity, a sorority, or a business fraternity, it's likely EXTRACURRICULAR.
|
| 22 |
+
|
| 23 |
Secondary Job Type categories:
|
| 24 |
+
1. INVESTING: Professional investing roles, such as venture capital, private equity, or hedge fund positions (Note: Roles in private equity should be classified as INVESTING)
|
| 25 |
2. BACK_OFFICE: Supporting roles in financial firms, such as operations, accounting, or IT
|
| 26 |
+
3. INVESTMENT_BANKING: Roles in investment banks or related financial services (Note: **Exclude roles in private equity and venture capital**)
|
| 27 |
4. CONSULTING: Management or strategy consulting roles
|
| 28 |
5. ENGINEERING: Software development, hardware engineering, or other technical roles
|
| 29 |
6. ENTREPRENEUR_FOUNDER: Founding or co-founding a company
|
| 30 |
7. CORPDEV_STRATEGY: Corporate development or strategic planning roles
|
| 31 |
8. OTHER: Any role that doesn't fit the above categories
|
| 32 |
|
| 33 |
+
Some tips for secondary job type categories:
|
| 34 |
+
- If the role involves analyzing potential investments, it's likely INVESTING.
|
| 35 |
+
- Roles in private equity, venture capital, or hedge fund positions should be classified as INVESTING. Exclude these roles from INVESTMENT_BANKING.
|
| 36 |
+
- A candidate can be doing investment banking activities in a corp dev role. In this case, the role should be classified as CORPDEV_STRATEGY. You can tell if the role is corp dev if the candidate is working for a company and not a bank.
|
| 37 |
+
|
| 38 |
Provide your response in the following format exactly:
|
| 39 |
|
|
|
|
|
|
|
|
|
|
| 40 |
reasoning: [Your explanation here]
|
| 41 |
+
confidence: [0.0 to 1.0]
|
| 42 |
+
primary_job_type: [one of: FULL_TIME, ADVISORY_BOARD_INVESTOR, INTERNSHIP, EXTRACURRICULAR, EDUCATION, OTHER]
|
| 43 |
+
secondary_job_type: [one of: INVESTING, BACK_OFFICE, INVESTMENT_BANKING, CONSULTING, ENGINEERING, ENTREPRENEUR_FOUNDER, CORPDEV_STRATEGY, OTHER]
|
| 44 |
|
| 45 |
+
Ensure each part of your response is on a separate line, exactly as shown above. There should be EXACTLY four lines.
|
| 46 |
|
| 47 |
The PRIMARY_JOB_TYPE must be one of: FULL_TIME, ADVISORY_BOARD_INVESTOR, INTERNSHIP, EXTRACURRICULAR, EDUCATION, OTHER
|
|
|
|
| 48 |
The SECONDARY_JOB_TYPE must be one of: INVESTING, BACK_OFFICE, INVESTMENT_BANKING, CONSULTING, ENGINEERING, ENTREPRENEUR_FOUNDER, CORPDEV_STRATEGY, OTHER
|
| 49 |
|
| 50 |
+
Your confidence level should reflect how certain you are about your classification based on the information provided. In your reasoning, briefly explain why you chose these classifications, referencing specific details from the resume and work experience item that support your decision.
|
|
|
|
|
|
src/vsp/app/prompts/work_experience_classifier/investing_focus_asset_class/1 - investing_focus_asset_class_classifier_human.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
Please classify the following work experience item based on the job candidate's full resume and the specific work experience information provided from their
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
|
|
|
| 1 |
+
Please classify the following work experience item based on the job candidate's full resume and the specific work experience information provided from their Linkedin profile. Analyze both sources of information carefully to determine the most accurate classification for the investing focus or asset class.
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
src/vsp/app/prompts/work_experience_classifier/investing_focus_asset_class/1 - investing_focus_asset_class_classifier_system.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
You are an expert in analyzing professional work experiences and classifying them according to specific investing focus and asset classes. Your task is to examine a job candidate's full resume and a specific work experience item from their
|
| 2 |
|
| 3 |
Use the provided information carefully to make an accurate classification. Pay close attention to job titles, responsibilities, company descriptions, and any other relevant information provided in both the resume and the specific work experience item.
|
| 4 |
|
|
@@ -11,10 +11,11 @@ Investing Focus / Asset Class categories:
|
|
| 11 |
6. PUBLIC_EQUITIES: Investments in publicly traded equities
|
| 12 |
7. REAL_ESTATE: Real estate investments
|
| 13 |
8. PRIVATE_EQUITY_BUYOUTS: Private equity and buyout investments
|
| 14 |
-
9. HEDGE_FUND: Hedge fund investments
|
| 15 |
10. CREDIT: Credit investments
|
| 16 |
11. SECONDARIES: Secondary market investments
|
| 17 |
12. OTHER: Any focus or asset class that doesn't fit the above categories
|
|
|
|
| 18 |
|
| 19 |
Provide your response in the following format exactly:
|
| 20 |
|
|
|
|
| 1 |
+
You are an expert in analyzing professional work experiences and classifying them according to specific investing focus and asset classes. Your task is to examine a job candidate's full resume and a specific work experience item from their Linkedin profile, then classify the work experience into one of the predefined investing focus or asset class categories.
|
| 2 |
|
| 3 |
Use the provided information carefully to make an accurate classification. Pay close attention to job titles, responsibilities, company descriptions, and any other relevant information provided in both the resume and the specific work experience item.
|
| 4 |
|
|
|
|
| 11 |
6. PUBLIC_EQUITIES: Investments in publicly traded equities
|
| 12 |
7. REAL_ESTATE: Real estate investments
|
| 13 |
8. PRIVATE_EQUITY_BUYOUTS: Private equity and buyout investments
|
| 14 |
+
9. HEDGE_FUND: Hedge fund investments, such as fund-of-funds
|
| 15 |
10. CREDIT: Credit investments
|
| 16 |
11. SECONDARIES: Secondary market investments
|
| 17 |
12. OTHER: Any focus or asset class that doesn't fit the above categories
|
| 18 |
+
13. UNCLASSIFIABLE: If the information provided is insufficient to make a classification
|
| 19 |
|
| 20 |
Provide your response in the following format exactly:
|
| 21 |
|
src/vsp/app/prompts/work_experience_classifier/investing_focus_sector/1 - investing_focus_sector_classifier_human.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
Please classify the following work experience item based on the job candidate's full resume and the specific work experience information provided from their
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
|
|
|
| 1 |
+
Please classify the following work experience item based on the job candidate's full resume and the specific work experience information provided from their Linkedin profile. Analyze both sources of information carefully to determine the most accurate classification for the investing focus sector.
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
src/vsp/app/prompts/work_experience_classifier/investing_focus_sector/1 - investing_focus_sector_classifier_system.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
You are an expert in analyzing professional work experiences and classifying them according to specific investing focus sectors. Your task is to examine a job candidate's full resume and a specific work experience item from their
|
| 2 |
|
| 3 |
Use the provided information carefully to make an accurate classification. Pay close attention to job titles, responsibilities, company descriptions, and any other relevant information provided in both the resume and the specific work experience item.
|
| 4 |
|
|
@@ -15,6 +15,7 @@ Investing Focus Sector categories:
|
|
| 15 |
10. FINANCIAL_INSTITUTIONS: Focus on banks, insurance, fintech, and other financial services
|
| 16 |
11. INFRASTRUCTURE_TRANSPORTATION: Focus on infrastructure projects and transportation
|
| 17 |
12. OTHER: Any focus that doesn't fit the above categories
|
|
|
|
| 18 |
|
| 19 |
Provide your response in the following format exactly:
|
| 20 |
|
|
@@ -24,8 +25,6 @@ reasoning: [Your explanation here]
|
|
| 24 |
|
| 25 |
Ensure each part of your response is on a separate line, exactly as shown above. There should be exactly three lines.
|
| 26 |
|
| 27 |
-
The investing_focus_sector must be one of: GENERALIST, HEALTHCARE, INDUSTRIALS, BUSINESS_SERVICES, CONSUMER_RETAIL, ENERGY_NATURAL_RESOURCES, REAL_ESTATE_GAMING_LODGING, TECHNOLOGY_SOFTWARE_TMT, MEDIA_ENTERTAINMENT, FINANCIAL_INSTITUTIONS, INFRASTRUCTURE_TRANSPORTATION, OTHER.
|
| 28 |
|
| 29 |
-
Your confidence level should reflect how certain you are about your classification based on the information provided.
|
| 30 |
-
|
| 31 |
-
In your reasoning, briefly explain why you chose this classification, referencing specific details from the resume and work experience item that support your decision.
|
|
|
|
| 1 |
+
You are an expert in analyzing professional work experiences and classifying them according to specific investing focus sectors. Your task is to examine a job candidate's full resume and a specific work experience item from their Linkedin profile, then classify the work experience into one of the predefined investing focus sector categories.
|
| 2 |
|
| 3 |
Use the provided information carefully to make an accurate classification. Pay close attention to job titles, responsibilities, company descriptions, and any other relevant information provided in both the resume and the specific work experience item.
|
| 4 |
|
|
|
|
| 15 |
10. FINANCIAL_INSTITUTIONS: Focus on banks, insurance, fintech, and other financial services
|
| 16 |
11. INFRASTRUCTURE_TRANSPORTATION: Focus on infrastructure projects and transportation
|
| 17 |
12. OTHER: Any focus that doesn't fit the above categories
|
| 18 |
+
13. UNCLASSIFIABLE: If the information provided is insufficient to make a classification.
|
| 19 |
|
| 20 |
Provide your response in the following format exactly:
|
| 21 |
|
|
|
|
| 25 |
|
| 26 |
Ensure each part of your response is on a separate line, exactly as shown above. There should be exactly three lines.
|
| 27 |
|
| 28 |
+
The investing_focus_sector must be one of: GENERALIST, HEALTHCARE, INDUSTRIALS, BUSINESS_SERVICES, CONSUMER_RETAIL, ENERGY_NATURAL_RESOURCES, REAL_ESTATE_GAMING_LODGING, TECHNOLOGY_SOFTWARE_TMT, MEDIA_ENTERTAINMENT, FINANCIAL_INSTITUTIONS, INFRASTRUCTURE_TRANSPORTATION, OTHER, UNCLASSIFIABLE.
|
| 29 |
|
| 30 |
+
Your confidence level should reflect how certain you are about your classification based on the information provided. In your reasoning, briefly explain why you chose this classification, referencing specific details from the resume and work experience item that support your decision.
|
|
|
|
|
|
src/vsp/app/prompts/work_experience_classifier/investment_banking_group/1 - investment_banking_group_classifier_human.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
Please classify the following investment banking work experience item based on the job candidate's full resume and the specific investment banking work experience information provided from their
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
|
|
|
| 1 |
+
Please classify the following investment banking work experience item based on the job candidate's full resume and the specific investment banking work experience information provided from their Linkedin profile. Analyze both sources of information carefully to determine the most accurate classification for the investment banking group the candidate worked in.
|
| 2 |
|
| 3 |
Full Resume:
|
| 4 |
{resume}
|
src/vsp/app/prompts/work_experience_classifier/investment_banking_group/1 - investment_banking_group_classifier_system.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
You are an expert investment banking recruiter. You have been asked to analyze a specific investment banking work experience item from a job candidate's
|
| 2 |
|
| 3 |
You can use your understanding of the investment banking industry as an expert recruiter in investment banking to make the best guess. Use the provided information carefully to make accurate classifications.
|
| 4 |
|
|
@@ -23,6 +23,7 @@ Investment banking groups:
|
|
| 23 |
18. FINANCIAL_INSTITUTIONS: A group focused on financial institutions and banking transactions.
|
| 24 |
19. INFRASTRUCTURE: A group specializing in infrastructure and transportation transactions.
|
| 25 |
20. OTHER: Any group that doesn't fit the above categories.
|
|
|
|
| 26 |
|
| 27 |
Provide your response in the following format exactly:
|
| 28 |
|
|
|
|
| 1 |
+
You are an expert investment banking recruiter. You have been asked to analyze a specific investment banking work experience item from a job candidate's Linkedin profile. Your task is to accurately classify the investment banking group the candidate worked in.
|
| 2 |
|
| 3 |
You can use your understanding of the investment banking industry as an expert recruiter in investment banking to make the best guess. Use the provided information carefully to make accurate classifications.
|
| 4 |
|
|
|
|
| 23 |
18. FINANCIAL_INSTITUTIONS: A group focused on financial institutions and banking transactions.
|
| 24 |
19. INFRASTRUCTURE: A group specializing in infrastructure and transportation transactions.
|
| 25 |
20. OTHER: Any group that doesn't fit the above categories.
|
| 26 |
+
21. UNCLASSIFIABLE: If the information provided is insufficient to make a classification
|
| 27 |
|
| 28 |
Provide your response in the following format exactly:
|
| 29 |
|
src/vsp/app/scrapers/linkedin_downloader.py
CHANGED
|
@@ -1,14 +1,14 @@
|
|
| 1 |
"""
|
| 2 |
linkedin_downloader.py
|
| 3 |
|
| 4 |
-
This module provides functionality for asynchronously downloading
|
| 5 |
-
using the RapidAPI
|
| 6 |
of requests in case of failures.
|
| 7 |
|
| 8 |
Classes:
|
| 9 |
-
|
| 10 |
RateLimiter: Token bucket algorithm implementation for rate limiting.
|
| 11 |
-
LinkedinDownloader: Main class for downloading
|
| 12 |
|
| 13 |
Usage:
|
| 14 |
downloader = LinkedinDownloader()
|
|
@@ -29,8 +29,8 @@ from vsp.shared import aws_clients, config, logger_factory
|
|
| 29 |
logger = logger_factory.get_logger(__name__)
|
| 30 |
|
| 31 |
|
| 32 |
-
class
|
| 33 |
-
"""Custom exception raised when fetching
|
| 34 |
|
| 35 |
|
| 36 |
class RateLimiter:
|
|
@@ -76,14 +76,14 @@ class RateLimiter:
|
|
| 76 |
|
| 77 |
class LinkedinDownloader:
|
| 78 |
"""
|
| 79 |
-
A class for asynchronously downloading
|
| 80 |
|
| 81 |
This class handles authentication, rate limiting, and retrying of requests
|
| 82 |
-
when interacting with the RapidAPI
|
| 83 |
|
| 84 |
Attributes:
|
| 85 |
-
_URL (Final[str]): The RapidAPI endpoint for
|
| 86 |
-
_X_RAPIDAPI_HOST (Final[str]): The RapidAPI host for
|
| 87 |
_api_key (str): The RapidAPI key for authentication.
|
| 88 |
_semaphore (asyncio.Semaphore): Semaphore for limiting concurrent requests.
|
| 89 |
_rate_limiter (RateLimiter): Rate limiter for controlling requests per minute.
|
|
@@ -107,10 +107,10 @@ class LinkedinDownloader:
|
|
| 107 |
@staticmethod
|
| 108 |
def _fetch_api_key() -> str:
|
| 109 |
"""
|
| 110 |
-
Fetch the
|
| 111 |
|
| 112 |
Returns:
|
| 113 |
-
str: The
|
| 114 |
|
| 115 |
Raises:
|
| 116 |
ValueError: If the API key is not found in the Parameter Store.
|
|
@@ -119,18 +119,18 @@ class LinkedinDownloader:
|
|
| 119 |
try:
|
| 120 |
return aws_clients.fetch_from_parameter_store(config.get_linkedin_key_path(), is_secret=True)
|
| 121 |
except aws_clients.ParameterNotFoundError as e:
|
| 122 |
-
logger.error("
|
| 123 |
-
raise ValueError("
|
| 124 |
except aws_clients.ParameterStoreAccessError as e:
|
| 125 |
logger.error("Error accessing Parameter Store", error=str(e))
|
| 126 |
-
raise RuntimeError("Unable to access
|
| 127 |
|
| 128 |
def _compose_request(self, linkedin_url: str) -> tuple[dict[str, str], dict[str, str]]:
|
| 129 |
"""
|
| 130 |
Compose the request headers and query parameters for the API call.
|
| 131 |
|
| 132 |
Args:
|
| 133 |
-
linkedin_url (str): The
|
| 134 |
|
| 135 |
Returns:
|
| 136 |
tuple[dict[str, str], dict[str, str]]: A tuple containing the headers and query parameters.
|
|
@@ -143,34 +143,34 @@ class LinkedinDownloader:
|
|
| 143 |
@retry(
|
| 144 |
wait=wait_random_exponential(min=1, max=60),
|
| 145 |
stop=stop_after_attempt(3),
|
| 146 |
-
retry=retry_if_exception_type(
|
| 147 |
reraise=True,
|
| 148 |
)
|
| 149 |
async def fetch_linkedin_data(self, linkedin_url: str) -> LinkedinProfile:
|
| 150 |
"""
|
| 151 |
-
Fetch
|
| 152 |
|
| 153 |
This method is decorated with a retry mechanism that will attempt to retry
|
| 154 |
-
the call up to 3 times with exponential backoff if a
|
| 155 |
|
| 156 |
Args:
|
| 157 |
-
linkedin_url (str): The
|
| 158 |
|
| 159 |
Returns:
|
| 160 |
-
LinkedinProfile: The fetched
|
| 161 |
|
| 162 |
Raises:
|
| 163 |
-
|
| 164 |
"""
|
| 165 |
async with self._semaphore:
|
| 166 |
await self._rate_limiter.acquire() # Acquire a token from the rate limiter
|
| 167 |
headers, querystring = self._compose_request(linkedin_url)
|
| 168 |
-
logger.info("Fetching
|
| 169 |
async with aiohttp.ClientSession() as session:
|
| 170 |
async with session.get(self._URL, headers=headers, params=querystring) as response:
|
| 171 |
if response.status == 200:
|
| 172 |
data = await response.json()
|
| 173 |
return LinkedinProfile.profile_from_json(data)
|
| 174 |
else:
|
| 175 |
-
logger.error("Failed to fetch
|
| 176 |
-
raise
|
|
|
|
| 1 |
"""
|
| 2 |
linkedin_downloader.py
|
| 3 |
|
| 4 |
+
This module provides functionality for asynchronously downloading Linkedin profile data
|
| 5 |
+
using the RapidAPI Linkedin API. It handles authentication, rate limiting, and retrying
|
| 6 |
of requests in case of failures.
|
| 7 |
|
| 8 |
Classes:
|
| 9 |
+
LinkedinFetchFailedError: Custom exception for Linkedin fetch failures.
|
| 10 |
RateLimiter: Token bucket algorithm implementation for rate limiting.
|
| 11 |
+
LinkedinDownloader: Main class for downloading Linkedin profile data.
|
| 12 |
|
| 13 |
Usage:
|
| 14 |
downloader = LinkedinDownloader()
|
|
|
|
| 29 |
logger = logger_factory.get_logger(__name__)
|
| 30 |
|
| 31 |
|
| 32 |
+
class LinkedinFetchFailedError(Exception):
|
| 33 |
+
"""Custom exception raised when fetching Linkedin profile data fails."""
|
| 34 |
|
| 35 |
|
| 36 |
class RateLimiter:
|
|
|
|
| 76 |
|
| 77 |
class LinkedinDownloader:
|
| 78 |
"""
|
| 79 |
+
A class for asynchronously downloading Linkedin profile data.
|
| 80 |
|
| 81 |
This class handles authentication, rate limiting, and retrying of requests
|
| 82 |
+
when interacting with the RapidAPI Linkedin API.
|
| 83 |
|
| 84 |
Attributes:
|
| 85 |
+
_URL (Final[str]): The RapidAPI endpoint for Linkedin data.
|
| 86 |
+
_X_RAPIDAPI_HOST (Final[str]): The RapidAPI host for Linkedin API.
|
| 87 |
_api_key (str): The RapidAPI key for authentication.
|
| 88 |
_semaphore (asyncio.Semaphore): Semaphore for limiting concurrent requests.
|
| 89 |
_rate_limiter (RateLimiter): Rate limiter for controlling requests per minute.
|
|
|
|
| 107 |
@staticmethod
|
| 108 |
def _fetch_api_key() -> str:
|
| 109 |
"""
|
| 110 |
+
Fetch the Linkedin RapidAPI key from AWS Parameter Store.
|
| 111 |
|
| 112 |
Returns:
|
| 113 |
+
str: The Linkedin RapidAPI key.
|
| 114 |
|
| 115 |
Raises:
|
| 116 |
ValueError: If the API key is not found in the Parameter Store.
|
|
|
|
| 119 |
try:
|
| 120 |
return aws_clients.fetch_from_parameter_store(config.get_linkedin_key_path(), is_secret=True)
|
| 121 |
except aws_clients.ParameterNotFoundError as e:
|
| 122 |
+
logger.error("Linkedin RapidAPI key not found in Parameter Store", error=str(e))
|
| 123 |
+
raise ValueError("Linkedin RapidAPI key not found") from e
|
| 124 |
except aws_clients.ParameterStoreAccessError as e:
|
| 125 |
logger.error("Error accessing Parameter Store", error=str(e))
|
| 126 |
+
raise RuntimeError("Unable to access Linkedin RapidAPI key") from e
|
| 127 |
|
| 128 |
def _compose_request(self, linkedin_url: str) -> tuple[dict[str, str], dict[str, str]]:
|
| 129 |
"""
|
| 130 |
Compose the request headers and query parameters for the API call.
|
| 131 |
|
| 132 |
Args:
|
| 133 |
+
linkedin_url (str): The Linkedin profile URL.
|
| 134 |
|
| 135 |
Returns:
|
| 136 |
tuple[dict[str, str], dict[str, str]]: A tuple containing the headers and query parameters.
|
|
|
|
| 143 |
@retry(
|
| 144 |
wait=wait_random_exponential(min=1, max=60),
|
| 145 |
stop=stop_after_attempt(3),
|
| 146 |
+
retry=retry_if_exception_type(LinkedinFetchFailedError),
|
| 147 |
reraise=True,
|
| 148 |
)
|
| 149 |
async def fetch_linkedin_data(self, linkedin_url: str) -> LinkedinProfile:
|
| 150 |
"""
|
| 151 |
+
Fetch Linkedin profile data for a given URL.
|
| 152 |
|
| 153 |
This method is decorated with a retry mechanism that will attempt to retry
|
| 154 |
+
the call up to 3 times with exponential backoff if a LinkedinFetchFailedError is raised.
|
| 155 |
|
| 156 |
Args:
|
| 157 |
+
linkedin_url (str): The Linkedin profile URL to fetch data for.
|
| 158 |
|
| 159 |
Returns:
|
| 160 |
+
LinkedinProfile: The fetched Linkedin profile data.
|
| 161 |
|
| 162 |
Raises:
|
| 163 |
+
LinkedinFetchFailedError: If the API call fails after all retry attempts.
|
| 164 |
"""
|
| 165 |
async with self._semaphore:
|
| 166 |
await self._rate_limiter.acquire() # Acquire a token from the rate limiter
|
| 167 |
headers, querystring = self._compose_request(linkedin_url)
|
| 168 |
+
logger.info("Fetching Linkedin profile", url=linkedin_url)
|
| 169 |
async with aiohttp.ClientSession() as session:
|
| 170 |
async with session.get(self._URL, headers=headers, params=querystring) as response:
|
| 171 |
if response.status == 200:
|
| 172 |
data = await response.json()
|
| 173 |
return LinkedinProfile.profile_from_json(data)
|
| 174 |
else:
|
| 175 |
+
logger.error("Failed to fetch Linkedin profile", url=linkedin_url, status=response.status)
|
| 176 |
+
raise LinkedinFetchFailedError(f"Failed to fetch Linkedin profile for {linkedin_url}")
|
src/vsp/llm/cached_llm_service.py
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from vsp.llm.llm_cache import LLMCache
|
| 2 |
+
from vsp.llm.llm_service import LLMService
|
| 3 |
+
from vsp.shared import logger_factory
|
| 4 |
+
|
| 5 |
+
logger = logger_factory.get_logger(__name__)
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
class CachedLLMService(LLMService):
|
| 9 |
+
def __init__(self, llm_service: LLMService, cache: LLMCache | None = None):
|
| 10 |
+
self.llm_service = llm_service
|
| 11 |
+
self.cache = cache or LLMCache()
|
| 12 |
+
|
| 13 |
+
async def invoke(
|
| 14 |
+
self,
|
| 15 |
+
user_prompt: str | None = None,
|
| 16 |
+
system_prompt: str | None = None,
|
| 17 |
+
partial_assistant_prompt: str | None = None,
|
| 18 |
+
max_tokens: int = 1000,
|
| 19 |
+
temperature: float = 0.0,
|
| 20 |
+
) -> str | None:
|
| 21 |
+
cache_key = f"{user_prompt}_{system_prompt}_{partial_assistant_prompt}_{max_tokens}_{temperature}"
|
| 22 |
+
cached_response = self.cache.get(cache_key, {})
|
| 23 |
+
if cached_response is not None:
|
| 24 |
+
logger.debug("LLM cache hit")
|
| 25 |
+
return cached_response
|
| 26 |
+
|
| 27 |
+
response = await self.llm_service.invoke(
|
| 28 |
+
user_prompt=user_prompt,
|
| 29 |
+
system_prompt=system_prompt,
|
| 30 |
+
partial_assistant_prompt=partial_assistant_prompt,
|
| 31 |
+
max_tokens=max_tokens,
|
| 32 |
+
temperature=temperature,
|
| 33 |
+
)
|
| 34 |
+
|
| 35 |
+
if response is not None:
|
| 36 |
+
self.cache.set(cache_key, response, {})
|
| 37 |
+
|
| 38 |
+
return response
|
src/vsp/llm/llm_cache.py
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# llm_cache.py
|
| 2 |
+
import hashlib
|
| 3 |
+
import json
|
| 4 |
+
import sqlite3
|
| 5 |
+
from pathlib import Path
|
| 6 |
+
from typing import Any
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
class LLMCache:
|
| 10 |
+
def __init__(self, db_path: str | Path = "llm_cache.db"):
|
| 11 |
+
self.db_path = Path(db_path)
|
| 12 |
+
self._init_db()
|
| 13 |
+
|
| 14 |
+
def _init_db(self) -> None:
|
| 15 |
+
with sqlite3.connect(self.db_path) as conn:
|
| 16 |
+
conn.execute(
|
| 17 |
+
"""
|
| 18 |
+
CREATE TABLE IF NOT EXISTS llm_cache (
|
| 19 |
+
prompt_hash TEXT PRIMARY KEY,
|
| 20 |
+
prompt TEXT,
|
| 21 |
+
response TEXT,
|
| 22 |
+
metadata TEXT
|
| 23 |
+
)
|
| 24 |
+
"""
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
def _hash_prompt(self, prompt: str, metadata: dict[str, Any]) -> str:
|
| 28 |
+
combined = json.dumps({"prompt": prompt, "metadata": metadata}, sort_keys=True)
|
| 29 |
+
return hashlib.sha256(combined.encode()).hexdigest()
|
| 30 |
+
|
| 31 |
+
def get(self, prompt: str, metadata: dict[str, Any]) -> str | None:
|
| 32 |
+
prompt_hash = self._hash_prompt(prompt, metadata)
|
| 33 |
+
with sqlite3.connect(self.db_path) as conn:
|
| 34 |
+
cursor = conn.cursor()
|
| 35 |
+
cursor.execute("SELECT response FROM llm_cache WHERE prompt_hash = ?", (prompt_hash,))
|
| 36 |
+
result = cursor.fetchone()
|
| 37 |
+
return result[0] if result else None
|
| 38 |
+
|
| 39 |
+
def set(self, prompt: str, response: str, metadata: dict[str, Any]) -> None:
|
| 40 |
+
prompt_hash = self._hash_prompt(prompt, metadata)
|
| 41 |
+
with sqlite3.connect(self.db_path) as conn:
|
| 42 |
+
conn.execute(
|
| 43 |
+
"INSERT OR REPLACE INTO llm_cache (prompt_hash, prompt, response, metadata) VALUES (?, ?, ?, ?)",
|
| 44 |
+
(prompt_hash, prompt, response, json.dumps(metadata)),
|
| 45 |
+
)
|
| 46 |
+
|
| 47 |
+
def clear(self) -> None:
|
| 48 |
+
with sqlite3.connect(self.db_path) as conn:
|
| 49 |
+
conn.execute("DELETE FROM llm_cache")
|
src/vsp/llm/openai/openai.py
CHANGED
|
@@ -44,7 +44,7 @@ class AsyncOpenAIService(LLMService):
|
|
| 44 |
when interacting with OpenAI's language models.
|
| 45 |
"""
|
| 46 |
|
| 47 |
-
def __init__(self, model: OpenAIModel, max_concurrency: int =
|
| 48 |
"""
|
| 49 |
Initialize the AsyncOpenAIService.
|
| 50 |
|
|
|
|
| 44 |
when interacting with OpenAI's language models.
|
| 45 |
"""
|
| 46 |
|
| 47 |
+
def __init__(self, model: OpenAIModel, max_concurrency: int = 30):
|
| 48 |
"""
|
| 49 |
Initialize the AsyncOpenAIService.
|
| 50 |
|
src/vsp/shared/config.py
CHANGED
|
@@ -106,7 +106,7 @@ def get_openrouter_api_key_path() -> str:
|
|
| 106 |
@cache
|
| 107 |
def get_linkedin_key_path() -> str:
|
| 108 |
"""
|
| 109 |
-
Reads the RapidAPI key path from the TOML configuration file for
|
| 110 |
Key is in AWS parameter store
|
| 111 |
"""
|
| 112 |
config = _get_config()
|
|
|
|
| 106 |
@cache
|
| 107 |
def get_linkedin_key_path() -> str:
|
| 108 |
"""
|
| 109 |
+
Reads the RapidAPI key path from the TOML configuration file for Linkedin.
|
| 110 |
Key is in AWS parameter store
|
| 111 |
"""
|
| 112 |
config = _get_config()
|
tests/test_data/sample_profiles/chanson_zhao.json
ADDED
|
@@ -0,0 +1,527 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Chanson",
|
| 3 |
+
"last_name": "Zhao",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "https://media.licdn.com/dms/image/v2/C5603AQFgxjJgSDk0rg/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1631210582540?e=1731542400&v=beta&t=lL5-tBPruy_78Wvb9Uc3U6owV3wDisWNlcKLmlqvRAQ",
|
| 7 |
+
"summary": "USC grad and investment banking analyst at Barclays. Passionate about the intersection of finance and technology.",
|
| 8 |
+
"headline": "Investment Banking Analyst at Barclays",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "San Francisco, California",
|
| 12 |
+
"full": "San Francisco, California, United States"
|
| 13 |
+
},
|
| 14 |
+
"languages": null,
|
| 15 |
+
"educations": [
|
| 16 |
+
{
|
| 17 |
+
"start": {
|
| 18 |
+
"year": 2018,
|
| 19 |
+
"month": null,
|
| 20 |
+
"day": null
|
| 21 |
+
},
|
| 22 |
+
"end": {
|
| 23 |
+
"year": 2022,
|
| 24 |
+
"month": null,
|
| 25 |
+
"day": null
|
| 26 |
+
},
|
| 27 |
+
"field_of_study": "Business Administration and Management, General",
|
| 28 |
+
"degree": "Bachelor of Science - BS",
|
| 29 |
+
"grade": "",
|
| 30 |
+
"school_name": "University of Southern California",
|
| 31 |
+
"description": "",
|
| 32 |
+
"activities": "Trojan Investing Society, Delta Sigma Pi, Undergraduate Student Investment Fund (USIF), Marshall Global Leadership Program"
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"start": {
|
| 36 |
+
"year": 2014,
|
| 37 |
+
"month": null,
|
| 38 |
+
"day": null
|
| 39 |
+
},
|
| 40 |
+
"end": {
|
| 41 |
+
"year": 2018,
|
| 42 |
+
"month": null,
|
| 43 |
+
"day": null
|
| 44 |
+
},
|
| 45 |
+
"field_of_study": "",
|
| 46 |
+
"degree": "",
|
| 47 |
+
"grade": "",
|
| 48 |
+
"school_name": "Valencia High School",
|
| 49 |
+
"description": "",
|
| 50 |
+
"activities": "Chemistry Olympiad, Future Business Leaders of America, National AP Scholar"
|
| 51 |
+
}
|
| 52 |
+
],
|
| 53 |
+
"positions": [
|
| 54 |
+
{
|
| 55 |
+
"start": {
|
| 56 |
+
"year": 2022,
|
| 57 |
+
"month": 7,
|
| 58 |
+
"day": null
|
| 59 |
+
},
|
| 60 |
+
"end": {
|
| 61 |
+
"year": null,
|
| 62 |
+
"month": null,
|
| 63 |
+
"day": null
|
| 64 |
+
},
|
| 65 |
+
"company_name": "Barclays",
|
| 66 |
+
"company_username": "barclays-bank",
|
| 67 |
+
"company_url": null,
|
| 68 |
+
"company_industry": "Financial Services",
|
| 69 |
+
"company_staff_count_range": "10001 - 0",
|
| 70 |
+
"title": "Investment Banking Analyst",
|
| 71 |
+
"location": "San Francisco Bay Area",
|
| 72 |
+
"description": "Technology Coverage",
|
| 73 |
+
"employment_type": "Full-time"
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"start": {
|
| 77 |
+
"year": 2021,
|
| 78 |
+
"month": 3,
|
| 79 |
+
"day": null
|
| 80 |
+
},
|
| 81 |
+
"end": {
|
| 82 |
+
"year": 2022,
|
| 83 |
+
"month": 5,
|
| 84 |
+
"day": null
|
| 85 |
+
},
|
| 86 |
+
"company_name": "University of Southern California - Marshall School of Business",
|
| 87 |
+
"company_username": "uscmarshallschoolofbusiness",
|
| 88 |
+
"company_url": null,
|
| 89 |
+
"company_industry": "Higher Education",
|
| 90 |
+
"company_staff_count_range": "10001 - 0",
|
| 91 |
+
"title": "Portfolio Manager - Undergraduate Student Investment Fund (USIF)",
|
| 92 |
+
"location": "Los Angeles, California, United States",
|
| 93 |
+
"description": "AUM: $5.3MM",
|
| 94 |
+
"employment_type": ""
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"start": {
|
| 98 |
+
"year": 2021,
|
| 99 |
+
"month": 6,
|
| 100 |
+
"day": null
|
| 101 |
+
},
|
| 102 |
+
"end": {
|
| 103 |
+
"year": 2021,
|
| 104 |
+
"month": 8,
|
| 105 |
+
"day": null
|
| 106 |
+
},
|
| 107 |
+
"company_name": "Barclays",
|
| 108 |
+
"company_username": "barclays-bank",
|
| 109 |
+
"company_url": null,
|
| 110 |
+
"company_industry": "Financial Services",
|
| 111 |
+
"company_staff_count_range": "10001 - 0",
|
| 112 |
+
"title": "Investment Banking Summer Analyst",
|
| 113 |
+
"location": "San Francisco Bay Area",
|
| 114 |
+
"description": "Technology Coverage",
|
| 115 |
+
"employment_type": "Internship"
|
| 116 |
+
},
|
| 117 |
+
{
|
| 118 |
+
"start": {
|
| 119 |
+
"year": 2019,
|
| 120 |
+
"month": 2,
|
| 121 |
+
"day": null
|
| 122 |
+
},
|
| 123 |
+
"end": {
|
| 124 |
+
"year": 2021,
|
| 125 |
+
"month": 6,
|
| 126 |
+
"day": null
|
| 127 |
+
},
|
| 128 |
+
"company_name": "Delta Sigma Pi",
|
| 129 |
+
"company_username": "delta-sigma-pi",
|
| 130 |
+
"company_url": null,
|
| 131 |
+
"company_industry": "Professional Training & Coaching",
|
| 132 |
+
"company_staff_count_range": "11 - 50",
|
| 133 |
+
"title": "VP Finance",
|
| 134 |
+
"location": "Los Angeles, CA",
|
| 135 |
+
"description": "",
|
| 136 |
+
"employment_type": ""
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"start": {
|
| 140 |
+
"year": 2019,
|
| 141 |
+
"month": 11,
|
| 142 |
+
"day": null
|
| 143 |
+
},
|
| 144 |
+
"end": {
|
| 145 |
+
"year": 2020,
|
| 146 |
+
"month": 12,
|
| 147 |
+
"day": null
|
| 148 |
+
},
|
| 149 |
+
"company_name": "Trojan Investing Society",
|
| 150 |
+
"company_username": "trojaninvestingsociety",
|
| 151 |
+
"company_url": null,
|
| 152 |
+
"company_industry": "Investment Banking",
|
| 153 |
+
"company_staff_count_range": "201 - 500",
|
| 154 |
+
"title": "Senior Vice President",
|
| 155 |
+
"location": "Los Angeles, CA",
|
| 156 |
+
"description": "USC's premier undergraduate finance organization comprised of 450+ members",
|
| 157 |
+
"employment_type": ""
|
| 158 |
+
},
|
| 159 |
+
{
|
| 160 |
+
"start": {
|
| 161 |
+
"year": 2020,
|
| 162 |
+
"month": 1,
|
| 163 |
+
"day": null
|
| 164 |
+
},
|
| 165 |
+
"end": {
|
| 166 |
+
"year": 2020,
|
| 167 |
+
"month": 6,
|
| 168 |
+
"day": null
|
| 169 |
+
},
|
| 170 |
+
"company_name": "Trojan Investing Society",
|
| 171 |
+
"company_username": "trojaninvestingsociety",
|
| 172 |
+
"company_url": null,
|
| 173 |
+
"company_industry": "Investment Banking",
|
| 174 |
+
"company_staff_count_range": "201 - 500",
|
| 175 |
+
"title": "Mentorship Program",
|
| 176 |
+
"location": "Los Angeles, California",
|
| 177 |
+
"description": "",
|
| 178 |
+
"employment_type": ""
|
| 179 |
+
},
|
| 180 |
+
{
|
| 181 |
+
"start": {
|
| 182 |
+
"year": 2019,
|
| 183 |
+
"month": 8,
|
| 184 |
+
"day": null
|
| 185 |
+
},
|
| 186 |
+
"end": {
|
| 187 |
+
"year": 2019,
|
| 188 |
+
"month": 11,
|
| 189 |
+
"day": null
|
| 190 |
+
},
|
| 191 |
+
"company_name": "Trojan Investing Society",
|
| 192 |
+
"company_username": "trojaninvestingsociety",
|
| 193 |
+
"company_url": null,
|
| 194 |
+
"company_industry": "Investment Banking",
|
| 195 |
+
"company_staff_count_range": "201 - 500",
|
| 196 |
+
"title": "Leaders Program",
|
| 197 |
+
"location": "Los Angeles, CA",
|
| 198 |
+
"description": "",
|
| 199 |
+
"employment_type": ""
|
| 200 |
+
},
|
| 201 |
+
{
|
| 202 |
+
"start": {
|
| 203 |
+
"year": 2020,
|
| 204 |
+
"month": 5,
|
| 205 |
+
"day": null
|
| 206 |
+
},
|
| 207 |
+
"end": {
|
| 208 |
+
"year": 2020,
|
| 209 |
+
"month": 8,
|
| 210 |
+
"day": null
|
| 211 |
+
},
|
| 212 |
+
"company_name": "TELEO Capital",
|
| 213 |
+
"company_username": "teleo-capital",
|
| 214 |
+
"company_url": null,
|
| 215 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 216 |
+
"company_staff_count_range": "11 - 50",
|
| 217 |
+
"title": "Private Equity Intern",
|
| 218 |
+
"location": "Los Angeles, CA",
|
| 219 |
+
"description": "Private equity firm targeting opportunities in the software & technology, healthcare IT, and industrial sectors",
|
| 220 |
+
"employment_type": "Internship"
|
| 221 |
+
},
|
| 222 |
+
{
|
| 223 |
+
"start": {
|
| 224 |
+
"year": 2019,
|
| 225 |
+
"month": 8,
|
| 226 |
+
"day": null
|
| 227 |
+
},
|
| 228 |
+
"end": {
|
| 229 |
+
"year": 2020,
|
| 230 |
+
"month": 1,
|
| 231 |
+
"day": null
|
| 232 |
+
},
|
| 233 |
+
"company_name": "Business Technology Group",
|
| 234 |
+
"company_username": "business-tech-group",
|
| 235 |
+
"company_url": null,
|
| 236 |
+
"company_industry": "Management Consulting",
|
| 237 |
+
"company_staff_count_range": "11 - 50",
|
| 238 |
+
"title": "VP Operations",
|
| 239 |
+
"location": "Los Angeles, CA",
|
| 240 |
+
"description": "",
|
| 241 |
+
"employment_type": ""
|
| 242 |
+
},
|
| 243 |
+
{
|
| 244 |
+
"start": {
|
| 245 |
+
"year": 2019,
|
| 246 |
+
"month": 2,
|
| 247 |
+
"day": null
|
| 248 |
+
},
|
| 249 |
+
"end": {
|
| 250 |
+
"year": 2019,
|
| 251 |
+
"month": 8,
|
| 252 |
+
"day": null
|
| 253 |
+
},
|
| 254 |
+
"company_name": "USC Association of Innovative Marketing (AIM) Consulting",
|
| 255 |
+
"company_username": "usc-aim-consulting",
|
| 256 |
+
"company_url": null,
|
| 257 |
+
"company_industry": "Marketing & Advertising",
|
| 258 |
+
"company_staff_count_range": "11 - 50",
|
| 259 |
+
"title": "Consultant",
|
| 260 |
+
"location": "Los Angeles, CA",
|
| 261 |
+
"description": "",
|
| 262 |
+
"employment_type": ""
|
| 263 |
+
}
|
| 264 |
+
],
|
| 265 |
+
"full_positions": [
|
| 266 |
+
{
|
| 267 |
+
"start": {
|
| 268 |
+
"year": 2022,
|
| 269 |
+
"month": 7,
|
| 270 |
+
"day": null
|
| 271 |
+
},
|
| 272 |
+
"end": {
|
| 273 |
+
"year": null,
|
| 274 |
+
"month": null,
|
| 275 |
+
"day": null
|
| 276 |
+
},
|
| 277 |
+
"company_name": "Barclays",
|
| 278 |
+
"company_username": "barclays-bank",
|
| 279 |
+
"company_url": null,
|
| 280 |
+
"company_industry": "Financial Services",
|
| 281 |
+
"company_staff_count_range": "10001 - 0",
|
| 282 |
+
"title": "Investment Banking Analyst",
|
| 283 |
+
"location": "San Francisco Bay Area",
|
| 284 |
+
"description": "Technology Coverage",
|
| 285 |
+
"employment_type": "Full-time"
|
| 286 |
+
},
|
| 287 |
+
{
|
| 288 |
+
"start": {
|
| 289 |
+
"year": 2021,
|
| 290 |
+
"month": 3,
|
| 291 |
+
"day": null
|
| 292 |
+
},
|
| 293 |
+
"end": {
|
| 294 |
+
"year": 2022,
|
| 295 |
+
"month": 5,
|
| 296 |
+
"day": null
|
| 297 |
+
},
|
| 298 |
+
"company_name": "University of Southern California - Marshall School of Business",
|
| 299 |
+
"company_username": "uscmarshallschoolofbusiness",
|
| 300 |
+
"company_url": null,
|
| 301 |
+
"company_industry": "Higher Education",
|
| 302 |
+
"company_staff_count_range": "10001 - 0",
|
| 303 |
+
"title": "Portfolio Manager - Undergraduate Student Investment Fund (USIF)",
|
| 304 |
+
"location": "Los Angeles, California, United States",
|
| 305 |
+
"description": "AUM: $5.3MM",
|
| 306 |
+
"employment_type": ""
|
| 307 |
+
},
|
| 308 |
+
{
|
| 309 |
+
"start": {
|
| 310 |
+
"year": 2021,
|
| 311 |
+
"month": 6,
|
| 312 |
+
"day": null
|
| 313 |
+
},
|
| 314 |
+
"end": {
|
| 315 |
+
"year": 2021,
|
| 316 |
+
"month": 8,
|
| 317 |
+
"day": null
|
| 318 |
+
},
|
| 319 |
+
"company_name": "Barclays",
|
| 320 |
+
"company_username": "barclays-bank",
|
| 321 |
+
"company_url": null,
|
| 322 |
+
"company_industry": "Financial Services",
|
| 323 |
+
"company_staff_count_range": "10001 - 0",
|
| 324 |
+
"title": "Investment Banking Summer Analyst",
|
| 325 |
+
"location": "San Francisco Bay Area",
|
| 326 |
+
"description": "Technology Coverage",
|
| 327 |
+
"employment_type": "Internship"
|
| 328 |
+
},
|
| 329 |
+
{
|
| 330 |
+
"start": {
|
| 331 |
+
"year": 2019,
|
| 332 |
+
"month": 2,
|
| 333 |
+
"day": null
|
| 334 |
+
},
|
| 335 |
+
"end": {
|
| 336 |
+
"year": 2021,
|
| 337 |
+
"month": 6,
|
| 338 |
+
"day": null
|
| 339 |
+
},
|
| 340 |
+
"company_name": "Delta Sigma Pi",
|
| 341 |
+
"company_username": "delta-sigma-pi",
|
| 342 |
+
"company_url": null,
|
| 343 |
+
"company_industry": "Professional Training & Coaching",
|
| 344 |
+
"company_staff_count_range": "11 - 50",
|
| 345 |
+
"title": "VP Finance",
|
| 346 |
+
"location": "Los Angeles, CA",
|
| 347 |
+
"description": "",
|
| 348 |
+
"employment_type": ""
|
| 349 |
+
},
|
| 350 |
+
{
|
| 351 |
+
"start": {
|
| 352 |
+
"year": 2019,
|
| 353 |
+
"month": 11,
|
| 354 |
+
"day": null
|
| 355 |
+
},
|
| 356 |
+
"end": {
|
| 357 |
+
"year": 2020,
|
| 358 |
+
"month": 12,
|
| 359 |
+
"day": null
|
| 360 |
+
},
|
| 361 |
+
"company_name": "Trojan Investing Society",
|
| 362 |
+
"company_username": "trojaninvestingsociety",
|
| 363 |
+
"company_url": null,
|
| 364 |
+
"company_industry": "Investment Banking",
|
| 365 |
+
"company_staff_count_range": "201 - 500",
|
| 366 |
+
"title": "Senior Vice President",
|
| 367 |
+
"location": "Los Angeles, CA",
|
| 368 |
+
"description": "USC's premier undergraduate finance organization comprised of 450+ members",
|
| 369 |
+
"employment_type": ""
|
| 370 |
+
},
|
| 371 |
+
{
|
| 372 |
+
"start": {
|
| 373 |
+
"year": 2020,
|
| 374 |
+
"month": 1,
|
| 375 |
+
"day": null
|
| 376 |
+
},
|
| 377 |
+
"end": {
|
| 378 |
+
"year": 2020,
|
| 379 |
+
"month": 6,
|
| 380 |
+
"day": null
|
| 381 |
+
},
|
| 382 |
+
"company_name": "Trojan Investing Society",
|
| 383 |
+
"company_username": "trojaninvestingsociety",
|
| 384 |
+
"company_url": null,
|
| 385 |
+
"company_industry": "Investment Banking",
|
| 386 |
+
"company_staff_count_range": "201 - 500",
|
| 387 |
+
"title": "Mentorship Program",
|
| 388 |
+
"location": "Los Angeles, California",
|
| 389 |
+
"description": "",
|
| 390 |
+
"employment_type": ""
|
| 391 |
+
},
|
| 392 |
+
{
|
| 393 |
+
"start": {
|
| 394 |
+
"year": 2019,
|
| 395 |
+
"month": 8,
|
| 396 |
+
"day": null
|
| 397 |
+
},
|
| 398 |
+
"end": {
|
| 399 |
+
"year": 2019,
|
| 400 |
+
"month": 11,
|
| 401 |
+
"day": null
|
| 402 |
+
},
|
| 403 |
+
"company_name": "Trojan Investing Society",
|
| 404 |
+
"company_username": "trojaninvestingsociety",
|
| 405 |
+
"company_url": null,
|
| 406 |
+
"company_industry": "Investment Banking",
|
| 407 |
+
"company_staff_count_range": "201 - 500",
|
| 408 |
+
"title": "Leaders Program",
|
| 409 |
+
"location": "Los Angeles, CA",
|
| 410 |
+
"description": "",
|
| 411 |
+
"employment_type": ""
|
| 412 |
+
},
|
| 413 |
+
{
|
| 414 |
+
"start": {
|
| 415 |
+
"year": 2020,
|
| 416 |
+
"month": 5,
|
| 417 |
+
"day": null
|
| 418 |
+
},
|
| 419 |
+
"end": {
|
| 420 |
+
"year": 2020,
|
| 421 |
+
"month": 8,
|
| 422 |
+
"day": null
|
| 423 |
+
},
|
| 424 |
+
"company_name": "TELEO Capital",
|
| 425 |
+
"company_username": "teleo-capital",
|
| 426 |
+
"company_url": null,
|
| 427 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 428 |
+
"company_staff_count_range": "11 - 50",
|
| 429 |
+
"title": "Private Equity Intern",
|
| 430 |
+
"location": "Los Angeles, CA",
|
| 431 |
+
"description": "Private equity firm targeting opportunities in the software & technology, healthcare IT, and industrial sectors",
|
| 432 |
+
"employment_type": "Internship"
|
| 433 |
+
},
|
| 434 |
+
{
|
| 435 |
+
"start": {
|
| 436 |
+
"year": 2019,
|
| 437 |
+
"month": 8,
|
| 438 |
+
"day": null
|
| 439 |
+
},
|
| 440 |
+
"end": {
|
| 441 |
+
"year": 2020,
|
| 442 |
+
"month": 1,
|
| 443 |
+
"day": null
|
| 444 |
+
},
|
| 445 |
+
"company_name": "Business Technology Group",
|
| 446 |
+
"company_username": "business-tech-group",
|
| 447 |
+
"company_url": null,
|
| 448 |
+
"company_industry": "Management Consulting",
|
| 449 |
+
"company_staff_count_range": "11 - 50",
|
| 450 |
+
"title": "VP Operations",
|
| 451 |
+
"location": "Los Angeles, CA",
|
| 452 |
+
"description": "",
|
| 453 |
+
"employment_type": ""
|
| 454 |
+
},
|
| 455 |
+
{
|
| 456 |
+
"start": {
|
| 457 |
+
"year": 2019,
|
| 458 |
+
"month": 2,
|
| 459 |
+
"day": null
|
| 460 |
+
},
|
| 461 |
+
"end": {
|
| 462 |
+
"year": 2019,
|
| 463 |
+
"month": 8,
|
| 464 |
+
"day": null
|
| 465 |
+
},
|
| 466 |
+
"company_name": "USC Association of Innovative Marketing (AIM) Consulting",
|
| 467 |
+
"company_username": "usc-aim-consulting",
|
| 468 |
+
"company_url": null,
|
| 469 |
+
"company_industry": "Marketing & Advertising",
|
| 470 |
+
"company_staff_count_range": "11 - 50",
|
| 471 |
+
"title": "Consultant",
|
| 472 |
+
"location": "Los Angeles, CA",
|
| 473 |
+
"description": "",
|
| 474 |
+
"employment_type": ""
|
| 475 |
+
}
|
| 476 |
+
],
|
| 477 |
+
"skills": [
|
| 478 |
+
{
|
| 479 |
+
"name": "Leadership"
|
| 480 |
+
},
|
| 481 |
+
{
|
| 482 |
+
"name": "Microsoft Office"
|
| 483 |
+
},
|
| 484 |
+
{
|
| 485 |
+
"name": "Teamwork"
|
| 486 |
+
}
|
| 487 |
+
],
|
| 488 |
+
"courses": [
|
| 489 |
+
{
|
| 490 |
+
"name": "Business Finance",
|
| 491 |
+
"number": ""
|
| 492 |
+
},
|
| 493 |
+
{
|
| 494 |
+
"name": "Business Statistics",
|
| 495 |
+
"number": ""
|
| 496 |
+
},
|
| 497 |
+
{
|
| 498 |
+
"name": "Financial Accounting",
|
| 499 |
+
"number": ""
|
| 500 |
+
},
|
| 501 |
+
{
|
| 502 |
+
"name": "Financial Analysis and Valuation",
|
| 503 |
+
"number": ""
|
| 504 |
+
},
|
| 505 |
+
{
|
| 506 |
+
"name": "Macroeconomics",
|
| 507 |
+
"number": ""
|
| 508 |
+
},
|
| 509 |
+
{
|
| 510 |
+
"name": "Managerial Accounting",
|
| 511 |
+
"number": ""
|
| 512 |
+
},
|
| 513 |
+
{
|
| 514 |
+
"name": "Marketing",
|
| 515 |
+
"number": ""
|
| 516 |
+
},
|
| 517 |
+
{
|
| 518 |
+
"name": "Microeconomics",
|
| 519 |
+
"number": ""
|
| 520 |
+
},
|
| 521 |
+
{
|
| 522 |
+
"name": "Operations Management",
|
| 523 |
+
"number": ""
|
| 524 |
+
}
|
| 525 |
+
],
|
| 526 |
+
"certifications": null
|
| 527 |
+
}
|
tests/test_data/sample_profiles/eric_armagost.json
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Eric",
|
| 3 |
+
"last_name": "Armagost",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "https://media.licdn.com/dms/image/v2/C5603AQGiv3LeddNxgQ/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1656093036751?e=1731542400&v=beta&t=sCbIQ-lAwATDVl_dEBBk-5Y35Z62aqJGL4utGStw26Y",
|
| 7 |
+
"summary": "",
|
| 8 |
+
"headline": "Investor at Accel-KKR",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "San Francisco, California",
|
| 12 |
+
"full": "San Francisco, California, United States"
|
| 13 |
+
},
|
| 14 |
+
"languages": [
|
| 15 |
+
{
|
| 16 |
+
"name": "German",
|
| 17 |
+
"proficiency": "LIMITED_WORKING"
|
| 18 |
+
}
|
| 19 |
+
],
|
| 20 |
+
"educations": [
|
| 21 |
+
{
|
| 22 |
+
"start": {
|
| 23 |
+
"year": null,
|
| 24 |
+
"month": null,
|
| 25 |
+
"day": null
|
| 26 |
+
},
|
| 27 |
+
"end": {
|
| 28 |
+
"year": null,
|
| 29 |
+
"month": null,
|
| 30 |
+
"day": null
|
| 31 |
+
},
|
| 32 |
+
"field_of_study": "Business Economics",
|
| 33 |
+
"degree": "Bachelor of Arts (B.A.)",
|
| 34 |
+
"grade": "",
|
| 35 |
+
"school_name": "Brown University",
|
| 36 |
+
"description": "",
|
| 37 |
+
"activities": ""
|
| 38 |
+
}
|
| 39 |
+
],
|
| 40 |
+
"positions": [
|
| 41 |
+
{
|
| 42 |
+
"start": {
|
| 43 |
+
"year": 2017,
|
| 44 |
+
"month": 5,
|
| 45 |
+
"day": null
|
| 46 |
+
},
|
| 47 |
+
"end": {
|
| 48 |
+
"year": null,
|
| 49 |
+
"month": null,
|
| 50 |
+
"day": null
|
| 51 |
+
},
|
| 52 |
+
"company_name": "Accel-KKR",
|
| 53 |
+
"company_username": "accel-kkr",
|
| 54 |
+
"company_url": null,
|
| 55 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 56 |
+
"company_staff_count_range": "51 - 200",
|
| 57 |
+
"title": "Investment Professional",
|
| 58 |
+
"location": "Menlo Park, California",
|
| 59 |
+
"description": "Founded in 2000, Accel-KKR is a leading technology-focused private equity firm dedicated exclusively to investing in software and technology-enabled services companies. \n\nOur typical transactions include: \n• Acquisitions and recapitalizations of founder-owned or closely-held private companies \n• Buyouts of divisions, subsidiaries and business units from public companies \n• Take-private transactions of small public companies\n• Structured minority equity and debt investments\n\nwww.accel-kkr.com",
|
| 60 |
+
"employment_type": ""
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"start": {
|
| 64 |
+
"year": 2015,
|
| 65 |
+
"month": 6,
|
| 66 |
+
"day": null
|
| 67 |
+
},
|
| 68 |
+
"end": {
|
| 69 |
+
"year": 2017,
|
| 70 |
+
"month": 5,
|
| 71 |
+
"day": null
|
| 72 |
+
},
|
| 73 |
+
"company_name": "William Blair & Company",
|
| 74 |
+
"company_username": "william-blair-company",
|
| 75 |
+
"company_url": null,
|
| 76 |
+
"company_industry": "Financial Services",
|
| 77 |
+
"company_staff_count_range": "1001 - 5000",
|
| 78 |
+
"title": "Investment Banking",
|
| 79 |
+
"location": "Chicago",
|
| 80 |
+
"description": "",
|
| 81 |
+
"employment_type": ""
|
| 82 |
+
},
|
| 83 |
+
{
|
| 84 |
+
"start": {
|
| 85 |
+
"year": 2014,
|
| 86 |
+
"month": 6,
|
| 87 |
+
"day": null
|
| 88 |
+
},
|
| 89 |
+
"end": {
|
| 90 |
+
"year": 2015,
|
| 91 |
+
"month": 5,
|
| 92 |
+
"day": null
|
| 93 |
+
},
|
| 94 |
+
"company_name": "Fidelity Investments",
|
| 95 |
+
"company_username": "fidelity-investments",
|
| 96 |
+
"company_url": null,
|
| 97 |
+
"company_industry": "Financial Services",
|
| 98 |
+
"company_staff_count_range": "10001 - 0",
|
| 99 |
+
"title": "FFAS Corporate Finance",
|
| 100 |
+
"location": "Smithfield, RI",
|
| 101 |
+
"description": "",
|
| 102 |
+
"employment_type": ""
|
| 103 |
+
},
|
| 104 |
+
{
|
| 105 |
+
"start": {
|
| 106 |
+
"year": 2013,
|
| 107 |
+
"month": 6,
|
| 108 |
+
"day": null
|
| 109 |
+
},
|
| 110 |
+
"end": {
|
| 111 |
+
"year": 2014,
|
| 112 |
+
"month": 5,
|
| 113 |
+
"day": null
|
| 114 |
+
},
|
| 115 |
+
"company_name": "Fidelity Investments",
|
| 116 |
+
"company_username": "fidelity-investments",
|
| 117 |
+
"company_url": null,
|
| 118 |
+
"company_industry": "Financial Services",
|
| 119 |
+
"company_staff_count_range": "10001 - 0",
|
| 120 |
+
"title": "PI Corporate Finance",
|
| 121 |
+
"location": "Smithfield, RI",
|
| 122 |
+
"description": "",
|
| 123 |
+
"employment_type": ""
|
| 124 |
+
}
|
| 125 |
+
],
|
| 126 |
+
"full_positions": [
|
| 127 |
+
{
|
| 128 |
+
"start": {
|
| 129 |
+
"year": 2017,
|
| 130 |
+
"month": 5,
|
| 131 |
+
"day": null
|
| 132 |
+
},
|
| 133 |
+
"end": {
|
| 134 |
+
"year": null,
|
| 135 |
+
"month": null,
|
| 136 |
+
"day": null
|
| 137 |
+
},
|
| 138 |
+
"company_name": "Accel-KKR",
|
| 139 |
+
"company_username": "accel-kkr",
|
| 140 |
+
"company_url": null,
|
| 141 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 142 |
+
"company_staff_count_range": "51 - 200",
|
| 143 |
+
"title": "Investment Professional",
|
| 144 |
+
"location": "Menlo Park, California",
|
| 145 |
+
"description": "Founded in 2000, Accel-KKR is a leading technology-focused private equity firm dedicated exclusively to investing in software and technology-enabled services companies. \n\nOur typical transactions include: \n• Acquisitions and recapitalizations of founder-owned or closely-held private companies \n• Buyouts of divisions, subsidiaries and business units from public companies \n• Take-private transactions of small public companies\n• Structured minority equity and debt investments\n\nwww.accel-kkr.com",
|
| 146 |
+
"employment_type": ""
|
| 147 |
+
},
|
| 148 |
+
{
|
| 149 |
+
"start": {
|
| 150 |
+
"year": 2015,
|
| 151 |
+
"month": 6,
|
| 152 |
+
"day": null
|
| 153 |
+
},
|
| 154 |
+
"end": {
|
| 155 |
+
"year": 2017,
|
| 156 |
+
"month": 5,
|
| 157 |
+
"day": null
|
| 158 |
+
},
|
| 159 |
+
"company_name": "William Blair & Company",
|
| 160 |
+
"company_username": "william-blair-company",
|
| 161 |
+
"company_url": null,
|
| 162 |
+
"company_industry": "Financial Services",
|
| 163 |
+
"company_staff_count_range": "1001 - 5000",
|
| 164 |
+
"title": "Investment Banking",
|
| 165 |
+
"location": "Chicago",
|
| 166 |
+
"description": "",
|
| 167 |
+
"employment_type": ""
|
| 168 |
+
},
|
| 169 |
+
{
|
| 170 |
+
"start": {
|
| 171 |
+
"year": 2014,
|
| 172 |
+
"month": 6,
|
| 173 |
+
"day": null
|
| 174 |
+
},
|
| 175 |
+
"end": {
|
| 176 |
+
"year": 2015,
|
| 177 |
+
"month": 5,
|
| 178 |
+
"day": null
|
| 179 |
+
},
|
| 180 |
+
"company_name": "Fidelity Investments",
|
| 181 |
+
"company_username": "fidelity-investments",
|
| 182 |
+
"company_url": null,
|
| 183 |
+
"company_industry": "Financial Services",
|
| 184 |
+
"company_staff_count_range": "10001 - 0",
|
| 185 |
+
"title": "FFAS Corporate Finance",
|
| 186 |
+
"location": "Smithfield, RI",
|
| 187 |
+
"description": "",
|
| 188 |
+
"employment_type": ""
|
| 189 |
+
},
|
| 190 |
+
{
|
| 191 |
+
"start": {
|
| 192 |
+
"year": 2013,
|
| 193 |
+
"month": 6,
|
| 194 |
+
"day": null
|
| 195 |
+
},
|
| 196 |
+
"end": {
|
| 197 |
+
"year": 2014,
|
| 198 |
+
"month": 5,
|
| 199 |
+
"day": null
|
| 200 |
+
},
|
| 201 |
+
"company_name": "Fidelity Investments",
|
| 202 |
+
"company_username": "fidelity-investments",
|
| 203 |
+
"company_url": null,
|
| 204 |
+
"company_industry": "Financial Services",
|
| 205 |
+
"company_staff_count_range": "10001 - 0",
|
| 206 |
+
"title": "PI Corporate Finance",
|
| 207 |
+
"location": "Smithfield, RI",
|
| 208 |
+
"description": "",
|
| 209 |
+
"employment_type": ""
|
| 210 |
+
}
|
| 211 |
+
],
|
| 212 |
+
"skills": [
|
| 213 |
+
{
|
| 214 |
+
"name": "Microsoft Office"
|
| 215 |
+
},
|
| 216 |
+
{
|
| 217 |
+
"name": "Microsoft Excel"
|
| 218 |
+
},
|
| 219 |
+
{
|
| 220 |
+
"name": "Microsoft Word"
|
| 221 |
+
},
|
| 222 |
+
{
|
| 223 |
+
"name": "Customer Service"
|
| 224 |
+
},
|
| 225 |
+
{
|
| 226 |
+
"name": "PowerPoint"
|
| 227 |
+
},
|
| 228 |
+
{
|
| 229 |
+
"name": "English"
|
| 230 |
+
},
|
| 231 |
+
{
|
| 232 |
+
"name": "Windows"
|
| 233 |
+
},
|
| 234 |
+
{
|
| 235 |
+
"name": "Research"
|
| 236 |
+
},
|
| 237 |
+
{
|
| 238 |
+
"name": "Outlook"
|
| 239 |
+
},
|
| 240 |
+
{
|
| 241 |
+
"name": "Teaching"
|
| 242 |
+
},
|
| 243 |
+
{
|
| 244 |
+
"name": "Photoshop"
|
| 245 |
+
},
|
| 246 |
+
{
|
| 247 |
+
"name": "Public Speaking"
|
| 248 |
+
},
|
| 249 |
+
{
|
| 250 |
+
"name": "HTML"
|
| 251 |
+
},
|
| 252 |
+
{
|
| 253 |
+
"name": "Strategic Planning"
|
| 254 |
+
},
|
| 255 |
+
{
|
| 256 |
+
"name": "Budgets"
|
| 257 |
+
}
|
| 258 |
+
],
|
| 259 |
+
"courses": null,
|
| 260 |
+
"certifications": null
|
| 261 |
+
}
|
tests/test_data/sample_profiles/hansae_catlett.json
ADDED
|
@@ -0,0 +1,565 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Hansae",
|
| 3 |
+
"last_name": "Catlett",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "https://media.licdn.com/dms/image/v2/D5603AQEVfJQVTKPvYw/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1710971553153?e=1731542400&v=beta&t=IigcCEXSLIAg6PkoARvbzNXarj2O2n8BbSu-wrS8vkQ",
|
| 7 |
+
"summary": "",
|
| 8 |
+
"headline": "Partner at HOF Capital | Co-founder & GP at The MBA Fund",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "New York, New York",
|
| 12 |
+
"full": "New York, New York, United States"
|
| 13 |
+
},
|
| 14 |
+
"languages": null,
|
| 15 |
+
"educations": [
|
| 16 |
+
{
|
| 17 |
+
"start": {
|
| 18 |
+
"year": 2016,
|
| 19 |
+
"month": null,
|
| 20 |
+
"day": null
|
| 21 |
+
},
|
| 22 |
+
"end": {
|
| 23 |
+
"year": 2019,
|
| 24 |
+
"month": null,
|
| 25 |
+
"day": null
|
| 26 |
+
},
|
| 27 |
+
"field_of_study": "",
|
| 28 |
+
"degree": "Master of Business Administration (M.B.A.)",
|
| 29 |
+
"grade": "",
|
| 30 |
+
"school_name": "Stanford University Graduate School of Business",
|
| 31 |
+
"description": "",
|
| 32 |
+
"activities": "Ernest C. Arbuckle Award Finalist; Miller Social Change Leadership Award Winner; Arbuckle Leadership Fellow; Venture Capital Club; GSB Impact Fund; Co-President Social Innovation Club; Co-President Government & Politics Club; LOWkeynote (main stage featured speaker); TALK Coach; GSB Show"
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"start": {
|
| 36 |
+
"year": 2016,
|
| 37 |
+
"month": null,
|
| 38 |
+
"day": null
|
| 39 |
+
},
|
| 40 |
+
"end": {
|
| 41 |
+
"year": 2019,
|
| 42 |
+
"month": null,
|
| 43 |
+
"day": null
|
| 44 |
+
},
|
| 45 |
+
"field_of_study": "",
|
| 46 |
+
"degree": "Master of Public Policy (M.P.P.)",
|
| 47 |
+
"grade": "",
|
| 48 |
+
"school_name": "Stanford University",
|
| 49 |
+
"description": "Led CalFresh/SNAP (food stamps) policy & impact analysis with California State Senator",
|
| 50 |
+
"activities": ""
|
| 51 |
+
},
|
| 52 |
+
{
|
| 53 |
+
"start": {
|
| 54 |
+
"year": 2007,
|
| 55 |
+
"month": null,
|
| 56 |
+
"day": null
|
| 57 |
+
},
|
| 58 |
+
"end": {
|
| 59 |
+
"year": 2011,
|
| 60 |
+
"month": null,
|
| 61 |
+
"day": null
|
| 62 |
+
},
|
| 63 |
+
"field_of_study": "Biomedical Engineering, Philosophy",
|
| 64 |
+
"degree": "Bachelor of Arts",
|
| 65 |
+
"grade": "",
|
| 66 |
+
"school_name": "Harvard University",
|
| 67 |
+
"description": "Graduated with Honors",
|
| 68 |
+
"activities": "Club Basketball, College Bound Mentoring, Veritas Financial Group, Rugby, Crew"
|
| 69 |
+
},
|
| 70 |
+
{
|
| 71 |
+
"start": {
|
| 72 |
+
"year": null,
|
| 73 |
+
"month": null,
|
| 74 |
+
"day": null
|
| 75 |
+
},
|
| 76 |
+
"end": {
|
| 77 |
+
"year": null,
|
| 78 |
+
"month": null,
|
| 79 |
+
"day": null
|
| 80 |
+
},
|
| 81 |
+
"field_of_study": "Engineering, Philosophy, Finance",
|
| 82 |
+
"degree": "Study Abroad",
|
| 83 |
+
"grade": "",
|
| 84 |
+
"school_name": "University of New South Wales",
|
| 85 |
+
"description": "",
|
| 86 |
+
"activities": "Premier League Basketball Team"
|
| 87 |
+
}
|
| 88 |
+
],
|
| 89 |
+
"positions": [
|
| 90 |
+
{
|
| 91 |
+
"start": {
|
| 92 |
+
"year": 2024,
|
| 93 |
+
"month": 3,
|
| 94 |
+
"day": null
|
| 95 |
+
},
|
| 96 |
+
"end": {
|
| 97 |
+
"year": null,
|
| 98 |
+
"month": null,
|
| 99 |
+
"day": null
|
| 100 |
+
},
|
| 101 |
+
"company_name": "HOF Capital",
|
| 102 |
+
"company_username": "hof-capital",
|
| 103 |
+
"company_url": null,
|
| 104 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 105 |
+
"company_staff_count_range": "11 - 50",
|
| 106 |
+
"title": "Partner",
|
| 107 |
+
"location": "New York City Metropolitan Area",
|
| 108 |
+
"description": "",
|
| 109 |
+
"employment_type": ""
|
| 110 |
+
},
|
| 111 |
+
{
|
| 112 |
+
"start": {
|
| 113 |
+
"year": 2018,
|
| 114 |
+
"month": null,
|
| 115 |
+
"day": null
|
| 116 |
+
},
|
| 117 |
+
"end": {
|
| 118 |
+
"year": null,
|
| 119 |
+
"month": null,
|
| 120 |
+
"day": null
|
| 121 |
+
},
|
| 122 |
+
"company_name": "The MBA Fund",
|
| 123 |
+
"company_username": "thembafund",
|
| 124 |
+
"company_url": null,
|
| 125 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 126 |
+
"company_staff_count_range": "11 - 50",
|
| 127 |
+
"title": "Co-Founder, General Partner",
|
| 128 |
+
"location": "San Francisco Bay Area",
|
| 129 |
+
"description": "The MBA Fund is a venture capital firm that helps founders from the top startup-producing universities create legendary companies. We most frequently back student, alumni and dropout founders from Harvard, Stanford, and Wharton (expanding presence nationally!). \n\nWe’re a community of investors and operators who aren’t afraid to take the riskiest leaps with founders who are just getting started. Our backers include top-tier VC firms, repeat founders, experienced execs, and super angels with ties to the communities where we invest. This network is ready and willing to help founders in our portfolio with financing, hiring, customer growth and more.\n\nSelect investments include:\n* Jeeves ($2B)\n* Dandy ($1B)\n* TRM Labs ($600M+)\n* Hightouch ($450M+)\n* Luxury Presence ($200M+)\n* FlutterFlow ($150M+)\n* Legacy ($150M+)\n* Seso ($150M+)\n* Peachy ($100M+)",
|
| 130 |
+
"employment_type": ""
|
| 131 |
+
},
|
| 132 |
+
{
|
| 133 |
+
"start": {
|
| 134 |
+
"year": 2019,
|
| 135 |
+
"month": 7,
|
| 136 |
+
"day": null
|
| 137 |
+
},
|
| 138 |
+
"end": {
|
| 139 |
+
"year": 2024,
|
| 140 |
+
"month": 2,
|
| 141 |
+
"day": null
|
| 142 |
+
},
|
| 143 |
+
"company_name": "Bessemer Venture Partners",
|
| 144 |
+
"company_username": "bessemer-venture-partners",
|
| 145 |
+
"company_url": null,
|
| 146 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 147 |
+
"company_staff_count_range": "11 - 50",
|
| 148 |
+
"title": "Vice President",
|
| 149 |
+
"location": "New York City Metropolitan Area",
|
| 150 |
+
"description": "",
|
| 151 |
+
"employment_type": "Full-time"
|
| 152 |
+
},
|
| 153 |
+
{
|
| 154 |
+
"start": {
|
| 155 |
+
"year": 2023,
|
| 156 |
+
"month": null,
|
| 157 |
+
"day": null
|
| 158 |
+
},
|
| 159 |
+
"end": {
|
| 160 |
+
"year": 2024,
|
| 161 |
+
"month": null,
|
| 162 |
+
"day": null
|
| 163 |
+
},
|
| 164 |
+
"company_name": "Rillavoice",
|
| 165 |
+
"company_username": "rilla-co",
|
| 166 |
+
"company_url": null,
|
| 167 |
+
"company_industry": "Computer Software",
|
| 168 |
+
"company_staff_count_range": "11 - 50",
|
| 169 |
+
"title": "Board Observer",
|
| 170 |
+
"location": "New York City Metropolitan Area",
|
| 171 |
+
"description": "",
|
| 172 |
+
"employment_type": ""
|
| 173 |
+
},
|
| 174 |
+
{
|
| 175 |
+
"start": {
|
| 176 |
+
"year": 2022,
|
| 177 |
+
"month": null,
|
| 178 |
+
"day": null
|
| 179 |
+
},
|
| 180 |
+
"end": {
|
| 181 |
+
"year": 2024,
|
| 182 |
+
"month": null,
|
| 183 |
+
"day": null
|
| 184 |
+
},
|
| 185 |
+
"company_name": "Archy",
|
| 186 |
+
"company_username": "archydental",
|
| 187 |
+
"company_url": null,
|
| 188 |
+
"company_industry": "Computer Software",
|
| 189 |
+
"company_staff_count_range": "11 - 50",
|
| 190 |
+
"title": "Investor",
|
| 191 |
+
"location": "San Francisco Bay Area",
|
| 192 |
+
"description": "",
|
| 193 |
+
"employment_type": ""
|
| 194 |
+
},
|
| 195 |
+
{
|
| 196 |
+
"start": {
|
| 197 |
+
"year": 2021,
|
| 198 |
+
"month": null,
|
| 199 |
+
"day": null
|
| 200 |
+
},
|
| 201 |
+
"end": {
|
| 202 |
+
"year": 2024,
|
| 203 |
+
"month": null,
|
| 204 |
+
"day": null
|
| 205 |
+
},
|
| 206 |
+
"company_name": "MaintainX",
|
| 207 |
+
"company_username": "getmaintainx",
|
| 208 |
+
"company_url": null,
|
| 209 |
+
"company_industry": "Computer Software",
|
| 210 |
+
"company_staff_count_range": "201 - 500",
|
| 211 |
+
"title": "Board Observer",
|
| 212 |
+
"location": "San Francisco Bay Area",
|
| 213 |
+
"description": "",
|
| 214 |
+
"employment_type": ""
|
| 215 |
+
},
|
| 216 |
+
{
|
| 217 |
+
"start": {
|
| 218 |
+
"year": 2021,
|
| 219 |
+
"month": null,
|
| 220 |
+
"day": null
|
| 221 |
+
},
|
| 222 |
+
"end": {
|
| 223 |
+
"year": 2024,
|
| 224 |
+
"month": null,
|
| 225 |
+
"day": null
|
| 226 |
+
},
|
| 227 |
+
"company_name": "Spot AI",
|
| 228 |
+
"company_username": "spot-ai",
|
| 229 |
+
"company_url": null,
|
| 230 |
+
"company_industry": "Computer Software",
|
| 231 |
+
"company_staff_count_range": "51 - 200",
|
| 232 |
+
"title": "Investor",
|
| 233 |
+
"location": "San Francisco Bay Area",
|
| 234 |
+
"description": "",
|
| 235 |
+
"employment_type": ""
|
| 236 |
+
},
|
| 237 |
+
{
|
| 238 |
+
"start": {
|
| 239 |
+
"year": 2021,
|
| 240 |
+
"month": null,
|
| 241 |
+
"day": null
|
| 242 |
+
},
|
| 243 |
+
"end": {
|
| 244 |
+
"year": 2024,
|
| 245 |
+
"month": null,
|
| 246 |
+
"day": null
|
| 247 |
+
},
|
| 248 |
+
"company_name": "VendorPM",
|
| 249 |
+
"company_username": "vendorpm",
|
| 250 |
+
"company_url": null,
|
| 251 |
+
"company_industry": "Computer Software",
|
| 252 |
+
"company_staff_count_range": "11 - 50",
|
| 253 |
+
"title": "Board Observer",
|
| 254 |
+
"location": "Toronto, Ontario, Canada",
|
| 255 |
+
"description": "",
|
| 256 |
+
"employment_type": ""
|
| 257 |
+
},
|
| 258 |
+
{
|
| 259 |
+
"start": {
|
| 260 |
+
"year": 2021,
|
| 261 |
+
"month": null,
|
| 262 |
+
"day": null
|
| 263 |
+
},
|
| 264 |
+
"end": {
|
| 265 |
+
"year": 2024,
|
| 266 |
+
"month": null,
|
| 267 |
+
"day": null
|
| 268 |
+
},
|
| 269 |
+
"company_name": "Luxury Presence",
|
| 270 |
+
"company_username": "luxurypresence",
|
| 271 |
+
"company_url": null,
|
| 272 |
+
"company_industry": "Computer Software",
|
| 273 |
+
"company_staff_count_range": "501 - 1000",
|
| 274 |
+
"title": "Board Director",
|
| 275 |
+
"location": "Los Angeles Metropolitan Area",
|
| 276 |
+
"description": "",
|
| 277 |
+
"employment_type": ""
|
| 278 |
+
},
|
| 279 |
+
{
|
| 280 |
+
"start": {
|
| 281 |
+
"year": 2021,
|
| 282 |
+
"month": null,
|
| 283 |
+
"day": null
|
| 284 |
+
},
|
| 285 |
+
"end": {
|
| 286 |
+
"year": 2024,
|
| 287 |
+
"month": null,
|
| 288 |
+
"day": null
|
| 289 |
+
},
|
| 290 |
+
"company_name": "ServiceTitan",
|
| 291 |
+
"company_username": "servicetitan",
|
| 292 |
+
"company_url": null,
|
| 293 |
+
"company_industry": "Computer Software",
|
| 294 |
+
"company_staff_count_range": "1001 - 5000",
|
| 295 |
+
"title": "Investor",
|
| 296 |
+
"location": "Los Angeles Metropolitan Area",
|
| 297 |
+
"description": "",
|
| 298 |
+
"employment_type": ""
|
| 299 |
+
}
|
| 300 |
+
],
|
| 301 |
+
"full_positions": [
|
| 302 |
+
{
|
| 303 |
+
"start": {
|
| 304 |
+
"year": 2024,
|
| 305 |
+
"month": 3,
|
| 306 |
+
"day": null
|
| 307 |
+
},
|
| 308 |
+
"end": {
|
| 309 |
+
"year": null,
|
| 310 |
+
"month": null,
|
| 311 |
+
"day": null
|
| 312 |
+
},
|
| 313 |
+
"company_name": "HOF Capital",
|
| 314 |
+
"company_username": "hof-capital",
|
| 315 |
+
"company_url": null,
|
| 316 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 317 |
+
"company_staff_count_range": "11 - 50",
|
| 318 |
+
"title": "Partner",
|
| 319 |
+
"location": "New York City Metropolitan Area",
|
| 320 |
+
"description": "",
|
| 321 |
+
"employment_type": ""
|
| 322 |
+
},
|
| 323 |
+
{
|
| 324 |
+
"start": {
|
| 325 |
+
"year": 2018,
|
| 326 |
+
"month": null,
|
| 327 |
+
"day": null
|
| 328 |
+
},
|
| 329 |
+
"end": {
|
| 330 |
+
"year": null,
|
| 331 |
+
"month": null,
|
| 332 |
+
"day": null
|
| 333 |
+
},
|
| 334 |
+
"company_name": "The MBA Fund",
|
| 335 |
+
"company_username": "thembafund",
|
| 336 |
+
"company_url": null,
|
| 337 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 338 |
+
"company_staff_count_range": "11 - 50",
|
| 339 |
+
"title": "Co-Founder, General Partner",
|
| 340 |
+
"location": "San Francisco Bay Area",
|
| 341 |
+
"description": "The MBA Fund is a venture capital firm that helps founders from the top startup-producing universities create legendary companies. We most frequently back student, alumni and dropout founders from Harvard, Stanford, and Wharton (expanding presence nationally!). \n\nWe’re a community of investors and operators who aren’t afraid to take the riskiest leaps with founders who are just getting started. Our backers include top-tier VC firms, repeat founders, experienced execs, and super angels with ties to the communities where we invest. This network is ready and willing to help founders in our portfolio with financing, hiring, customer growth and more.\n\nSelect investments include:\n* Jeeves ($2B)\n* Dandy ($1B)\n* TRM Labs ($600M+)\n* Hightouch ($450M+)\n* Luxury Presence ($200M+)\n* FlutterFlow ($150M+)\n* Legacy ($150M+)\n* Seso ($150M+)\n* Peachy ($100M+)",
|
| 342 |
+
"employment_type": ""
|
| 343 |
+
},
|
| 344 |
+
{
|
| 345 |
+
"start": {
|
| 346 |
+
"year": 2019,
|
| 347 |
+
"month": 7,
|
| 348 |
+
"day": null
|
| 349 |
+
},
|
| 350 |
+
"end": {
|
| 351 |
+
"year": 2024,
|
| 352 |
+
"month": 2,
|
| 353 |
+
"day": null
|
| 354 |
+
},
|
| 355 |
+
"company_name": "Bessemer Venture Partners",
|
| 356 |
+
"company_username": "bessemer-venture-partners",
|
| 357 |
+
"company_url": null,
|
| 358 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 359 |
+
"company_staff_count_range": "11 - 50",
|
| 360 |
+
"title": "Vice President",
|
| 361 |
+
"location": "New York City Metropolitan Area",
|
| 362 |
+
"description": "",
|
| 363 |
+
"employment_type": "Full-time"
|
| 364 |
+
},
|
| 365 |
+
{
|
| 366 |
+
"start": {
|
| 367 |
+
"year": 2023,
|
| 368 |
+
"month": null,
|
| 369 |
+
"day": null
|
| 370 |
+
},
|
| 371 |
+
"end": {
|
| 372 |
+
"year": 2024,
|
| 373 |
+
"month": null,
|
| 374 |
+
"day": null
|
| 375 |
+
},
|
| 376 |
+
"company_name": "Rillavoice",
|
| 377 |
+
"company_username": "rilla-co",
|
| 378 |
+
"company_url": null,
|
| 379 |
+
"company_industry": "Computer Software",
|
| 380 |
+
"company_staff_count_range": "11 - 50",
|
| 381 |
+
"title": "Board Observer",
|
| 382 |
+
"location": "New York City Metropolitan Area",
|
| 383 |
+
"description": "",
|
| 384 |
+
"employment_type": ""
|
| 385 |
+
},
|
| 386 |
+
{
|
| 387 |
+
"start": {
|
| 388 |
+
"year": 2022,
|
| 389 |
+
"month": null,
|
| 390 |
+
"day": null
|
| 391 |
+
},
|
| 392 |
+
"end": {
|
| 393 |
+
"year": 2024,
|
| 394 |
+
"month": null,
|
| 395 |
+
"day": null
|
| 396 |
+
},
|
| 397 |
+
"company_name": "Archy",
|
| 398 |
+
"company_username": "archydental",
|
| 399 |
+
"company_url": null,
|
| 400 |
+
"company_industry": "Computer Software",
|
| 401 |
+
"company_staff_count_range": "11 - 50",
|
| 402 |
+
"title": "Investor",
|
| 403 |
+
"location": "San Francisco Bay Area",
|
| 404 |
+
"description": "",
|
| 405 |
+
"employment_type": ""
|
| 406 |
+
},
|
| 407 |
+
{
|
| 408 |
+
"start": {
|
| 409 |
+
"year": 2021,
|
| 410 |
+
"month": null,
|
| 411 |
+
"day": null
|
| 412 |
+
},
|
| 413 |
+
"end": {
|
| 414 |
+
"year": 2024,
|
| 415 |
+
"month": null,
|
| 416 |
+
"day": null
|
| 417 |
+
},
|
| 418 |
+
"company_name": "MaintainX",
|
| 419 |
+
"company_username": "getmaintainx",
|
| 420 |
+
"company_url": null,
|
| 421 |
+
"company_industry": "Computer Software",
|
| 422 |
+
"company_staff_count_range": "201 - 500",
|
| 423 |
+
"title": "Board Observer",
|
| 424 |
+
"location": "San Francisco Bay Area",
|
| 425 |
+
"description": "",
|
| 426 |
+
"employment_type": ""
|
| 427 |
+
},
|
| 428 |
+
{
|
| 429 |
+
"start": {
|
| 430 |
+
"year": 2021,
|
| 431 |
+
"month": null,
|
| 432 |
+
"day": null
|
| 433 |
+
},
|
| 434 |
+
"end": {
|
| 435 |
+
"year": 2024,
|
| 436 |
+
"month": null,
|
| 437 |
+
"day": null
|
| 438 |
+
},
|
| 439 |
+
"company_name": "Spot AI",
|
| 440 |
+
"company_username": "spot-ai",
|
| 441 |
+
"company_url": null,
|
| 442 |
+
"company_industry": "Computer Software",
|
| 443 |
+
"company_staff_count_range": "51 - 200",
|
| 444 |
+
"title": "Investor",
|
| 445 |
+
"location": "San Francisco Bay Area",
|
| 446 |
+
"description": "",
|
| 447 |
+
"employment_type": ""
|
| 448 |
+
},
|
| 449 |
+
{
|
| 450 |
+
"start": {
|
| 451 |
+
"year": 2021,
|
| 452 |
+
"month": null,
|
| 453 |
+
"day": null
|
| 454 |
+
},
|
| 455 |
+
"end": {
|
| 456 |
+
"year": 2024,
|
| 457 |
+
"month": null,
|
| 458 |
+
"day": null
|
| 459 |
+
},
|
| 460 |
+
"company_name": "VendorPM",
|
| 461 |
+
"company_username": "vendorpm",
|
| 462 |
+
"company_url": null,
|
| 463 |
+
"company_industry": "Computer Software",
|
| 464 |
+
"company_staff_count_range": "11 - 50",
|
| 465 |
+
"title": "Board Observer",
|
| 466 |
+
"location": "Toronto, Ontario, Canada",
|
| 467 |
+
"description": "",
|
| 468 |
+
"employment_type": ""
|
| 469 |
+
},
|
| 470 |
+
{
|
| 471 |
+
"start": {
|
| 472 |
+
"year": 2021,
|
| 473 |
+
"month": null,
|
| 474 |
+
"day": null
|
| 475 |
+
},
|
| 476 |
+
"end": {
|
| 477 |
+
"year": 2024,
|
| 478 |
+
"month": null,
|
| 479 |
+
"day": null
|
| 480 |
+
},
|
| 481 |
+
"company_name": "Luxury Presence",
|
| 482 |
+
"company_username": "luxurypresence",
|
| 483 |
+
"company_url": null,
|
| 484 |
+
"company_industry": "Computer Software",
|
| 485 |
+
"company_staff_count_range": "501 - 1000",
|
| 486 |
+
"title": "Board Director",
|
| 487 |
+
"location": "Los Angeles Metropolitan Area",
|
| 488 |
+
"description": "",
|
| 489 |
+
"employment_type": ""
|
| 490 |
+
},
|
| 491 |
+
{
|
| 492 |
+
"start": {
|
| 493 |
+
"year": 2021,
|
| 494 |
+
"month": null,
|
| 495 |
+
"day": null
|
| 496 |
+
},
|
| 497 |
+
"end": {
|
| 498 |
+
"year": 2024,
|
| 499 |
+
"month": null,
|
| 500 |
+
"day": null
|
| 501 |
+
},
|
| 502 |
+
"company_name": "ServiceTitan",
|
| 503 |
+
"company_username": "servicetitan",
|
| 504 |
+
"company_url": null,
|
| 505 |
+
"company_industry": "Computer Software",
|
| 506 |
+
"company_staff_count_range": "1001 - 5000",
|
| 507 |
+
"title": "Investor",
|
| 508 |
+
"location": "Los Angeles Metropolitan Area",
|
| 509 |
+
"description": "",
|
| 510 |
+
"employment_type": ""
|
| 511 |
+
}
|
| 512 |
+
],
|
| 513 |
+
"skills": [
|
| 514 |
+
{
|
| 515 |
+
"name": "Project Planning"
|
| 516 |
+
},
|
| 517 |
+
{
|
| 518 |
+
"name": "Research"
|
| 519 |
+
},
|
| 520 |
+
{
|
| 521 |
+
"name": "Project Exec"
|
| 522 |
+
},
|
| 523 |
+
{
|
| 524 |
+
"name": "Strategic Planning"
|
| 525 |
+
},
|
| 526 |
+
{
|
| 527 |
+
"name": "Market Research"
|
| 528 |
+
},
|
| 529 |
+
{
|
| 530 |
+
"name": "Nonprofits"
|
| 531 |
+
},
|
| 532 |
+
{
|
| 533 |
+
"name": "Leadership"
|
| 534 |
+
},
|
| 535 |
+
{
|
| 536 |
+
"name": "Strategy"
|
| 537 |
+
},
|
| 538 |
+
{
|
| 539 |
+
"name": "Entrepreneurship"
|
| 540 |
+
},
|
| 541 |
+
{
|
| 542 |
+
"name": "Economics"
|
| 543 |
+
},
|
| 544 |
+
{
|
| 545 |
+
"name": "Public Speaking"
|
| 546 |
+
},
|
| 547 |
+
{
|
| 548 |
+
"name": "Data Analysis"
|
| 549 |
+
},
|
| 550 |
+
{
|
| 551 |
+
"name": "Fundraising"
|
| 552 |
+
},
|
| 553 |
+
{
|
| 554 |
+
"name": "Venture Capital"
|
| 555 |
+
},
|
| 556 |
+
{
|
| 557 |
+
"name": "Spanish"
|
| 558 |
+
},
|
| 559 |
+
{
|
| 560 |
+
"name": "Financial Modeling"
|
| 561 |
+
}
|
| 562 |
+
],
|
| 563 |
+
"courses": null,
|
| 564 |
+
"certifications": null
|
| 565 |
+
}
|
tests/test_data/sample_profiles/jake_kugler.json
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Jake",
|
| 3 |
+
"last_name": "Kugler",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "https://media.licdn.com/dms/image/v2/C5103AQFSyxD4FYivpw/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1517033032014?e=1731542400&v=beta&t=wrLJPExyTUe2YunjMnSaXftEHnE0SB_ArtYqBzlBVEo",
|
| 7 |
+
"summary": "",
|
| 8 |
+
"headline": "MBA Candidate at Harvard Business School",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "Cambridge, Massachusetts",
|
| 12 |
+
"full": "Cambridge, Massachusetts, United States"
|
| 13 |
+
},
|
| 14 |
+
"languages": null,
|
| 15 |
+
"educations": [
|
| 16 |
+
{
|
| 17 |
+
"start": {
|
| 18 |
+
"year": null,
|
| 19 |
+
"month": null,
|
| 20 |
+
"day": null
|
| 21 |
+
},
|
| 22 |
+
"end": {
|
| 23 |
+
"year": null,
|
| 24 |
+
"month": null,
|
| 25 |
+
"day": null
|
| 26 |
+
},
|
| 27 |
+
"field_of_study": "",
|
| 28 |
+
"degree": "Master of Business Administration - MBA",
|
| 29 |
+
"grade": "",
|
| 30 |
+
"school_name": "Harvard Business School",
|
| 31 |
+
"description": "",
|
| 32 |
+
"activities": ""
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"start": {
|
| 36 |
+
"year": null,
|
| 37 |
+
"month": null,
|
| 38 |
+
"day": null
|
| 39 |
+
},
|
| 40 |
+
"end": {
|
| 41 |
+
"year": null,
|
| 42 |
+
"month": null,
|
| 43 |
+
"day": null
|
| 44 |
+
},
|
| 45 |
+
"field_of_study": "Finance",
|
| 46 |
+
"degree": "BSBA",
|
| 47 |
+
"grade": "Magna Cum Laude",
|
| 48 |
+
"school_name": "Northeastern University",
|
| 49 |
+
"description": "",
|
| 50 |
+
"activities": ""
|
| 51 |
+
}
|
| 52 |
+
],
|
| 53 |
+
"positions": [
|
| 54 |
+
{
|
| 55 |
+
"start": {
|
| 56 |
+
"year": 2022,
|
| 57 |
+
"month": 8,
|
| 58 |
+
"day": null
|
| 59 |
+
},
|
| 60 |
+
"end": {
|
| 61 |
+
"year": null,
|
| 62 |
+
"month": null,
|
| 63 |
+
"day": null
|
| 64 |
+
},
|
| 65 |
+
"company_name": "Harvard Business School",
|
| 66 |
+
"company_username": "harvard-business-school",
|
| 67 |
+
"company_url": null,
|
| 68 |
+
"company_industry": "Higher Education",
|
| 69 |
+
"company_staff_count_range": "1001 - 5000",
|
| 70 |
+
"title": "MBA Candidate",
|
| 71 |
+
"location": "Boston, Massachusetts, United States",
|
| 72 |
+
"description": "",
|
| 73 |
+
"employment_type": ""
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"start": {
|
| 77 |
+
"year": 2022,
|
| 78 |
+
"month": 1,
|
| 79 |
+
"day": null
|
| 80 |
+
},
|
| 81 |
+
"end": {
|
| 82 |
+
"year": 2022,
|
| 83 |
+
"month": 7,
|
| 84 |
+
"day": null
|
| 85 |
+
},
|
| 86 |
+
"company_name": "Declaration Partners",
|
| 87 |
+
"company_username": "declaration-partners",
|
| 88 |
+
"company_url": null,
|
| 89 |
+
"company_industry": "Financial Services",
|
| 90 |
+
"company_staff_count_range": "11 - 50",
|
| 91 |
+
"title": "Advisor - Growth Equity",
|
| 92 |
+
"location": "New York, United States",
|
| 93 |
+
"description": "BayPine's Sister Firm. Anchored by the family office of Carlyle Co-Founder and philanthropist David M. Rubenstein, Declaration is a private investment firm with approximately $2.5B in AUM.",
|
| 94 |
+
"employment_type": "Part-time"
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"start": {
|
| 98 |
+
"year": 2020,
|
| 99 |
+
"month": 9,
|
| 100 |
+
"day": null
|
| 101 |
+
},
|
| 102 |
+
"end": {
|
| 103 |
+
"year": 2022,
|
| 104 |
+
"month": 7,
|
| 105 |
+
"day": null
|
| 106 |
+
},
|
| 107 |
+
"company_name": "BayPine",
|
| 108 |
+
"company_username": "baypine",
|
| 109 |
+
"company_url": null,
|
| 110 |
+
"company_industry": "Financial Services",
|
| 111 |
+
"company_staff_count_range": "11 - 50",
|
| 112 |
+
"title": "Investment Professional",
|
| 113 |
+
"location": "New York, United States",
|
| 114 |
+
"description": "",
|
| 115 |
+
"employment_type": ""
|
| 116 |
+
},
|
| 117 |
+
{
|
| 118 |
+
"start": {
|
| 119 |
+
"year": 2017,
|
| 120 |
+
"month": 7,
|
| 121 |
+
"day": null
|
| 122 |
+
},
|
| 123 |
+
"end": {
|
| 124 |
+
"year": 2020,
|
| 125 |
+
"month": 8,
|
| 126 |
+
"day": null
|
| 127 |
+
},
|
| 128 |
+
"company_name": "General Atlantic",
|
| 129 |
+
"company_username": "general-atlantic",
|
| 130 |
+
"company_url": null,
|
| 131 |
+
"company_industry": "Financial Services",
|
| 132 |
+
"company_staff_count_range": "201 - 500",
|
| 133 |
+
"title": "Investment Professional",
|
| 134 |
+
"location": "San Francisco Bay Area",
|
| 135 |
+
"description": "Technology Group",
|
| 136 |
+
"employment_type": ""
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"start": {
|
| 140 |
+
"year": 2015,
|
| 141 |
+
"month": 6,
|
| 142 |
+
"day": null
|
| 143 |
+
},
|
| 144 |
+
"end": {
|
| 145 |
+
"year": 2017,
|
| 146 |
+
"month": 7,
|
| 147 |
+
"day": null
|
| 148 |
+
},
|
| 149 |
+
"company_name": "Morgan Stanley",
|
| 150 |
+
"company_username": "morgan-stanley",
|
| 151 |
+
"company_url": null,
|
| 152 |
+
"company_industry": "Financial Services",
|
| 153 |
+
"company_staff_count_range": "10001 - 0",
|
| 154 |
+
"title": "Investment Banking",
|
| 155 |
+
"location": "Greater New York City Area",
|
| 156 |
+
"description": "",
|
| 157 |
+
"employment_type": ""
|
| 158 |
+
}
|
| 159 |
+
],
|
| 160 |
+
"full_positions": [
|
| 161 |
+
{
|
| 162 |
+
"start": {
|
| 163 |
+
"year": 2022,
|
| 164 |
+
"month": 8,
|
| 165 |
+
"day": null
|
| 166 |
+
},
|
| 167 |
+
"end": {
|
| 168 |
+
"year": null,
|
| 169 |
+
"month": null,
|
| 170 |
+
"day": null
|
| 171 |
+
},
|
| 172 |
+
"company_name": "Harvard Business School",
|
| 173 |
+
"company_username": "harvard-business-school",
|
| 174 |
+
"company_url": null,
|
| 175 |
+
"company_industry": "Higher Education",
|
| 176 |
+
"company_staff_count_range": "1001 - 5000",
|
| 177 |
+
"title": "MBA Candidate",
|
| 178 |
+
"location": "Boston, Massachusetts, United States",
|
| 179 |
+
"description": "",
|
| 180 |
+
"employment_type": ""
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"start": {
|
| 184 |
+
"year": 2022,
|
| 185 |
+
"month": 1,
|
| 186 |
+
"day": null
|
| 187 |
+
},
|
| 188 |
+
"end": {
|
| 189 |
+
"year": 2022,
|
| 190 |
+
"month": 7,
|
| 191 |
+
"day": null
|
| 192 |
+
},
|
| 193 |
+
"company_name": "Declaration Partners",
|
| 194 |
+
"company_username": "declaration-partners",
|
| 195 |
+
"company_url": null,
|
| 196 |
+
"company_industry": "Financial Services",
|
| 197 |
+
"company_staff_count_range": "11 - 50",
|
| 198 |
+
"title": "Advisor - Growth Equity",
|
| 199 |
+
"location": "New York, United States",
|
| 200 |
+
"description": "BayPine's Sister Firm. Anchored by the family office of Carlyle Co-Founder and philanthropist David M. Rubenstein, Declaration is a private investment firm with approximately $2.5B in AUM.",
|
| 201 |
+
"employment_type": "Part-time"
|
| 202 |
+
},
|
| 203 |
+
{
|
| 204 |
+
"start": {
|
| 205 |
+
"year": 2020,
|
| 206 |
+
"month": 9,
|
| 207 |
+
"day": null
|
| 208 |
+
},
|
| 209 |
+
"end": {
|
| 210 |
+
"year": 2022,
|
| 211 |
+
"month": 7,
|
| 212 |
+
"day": null
|
| 213 |
+
},
|
| 214 |
+
"company_name": "BayPine",
|
| 215 |
+
"company_username": "baypine",
|
| 216 |
+
"company_url": null,
|
| 217 |
+
"company_industry": "Financial Services",
|
| 218 |
+
"company_staff_count_range": "11 - 50",
|
| 219 |
+
"title": "Investment Professional",
|
| 220 |
+
"location": "New York, United States",
|
| 221 |
+
"description": "",
|
| 222 |
+
"employment_type": ""
|
| 223 |
+
},
|
| 224 |
+
{
|
| 225 |
+
"start": {
|
| 226 |
+
"year": 2017,
|
| 227 |
+
"month": 7,
|
| 228 |
+
"day": null
|
| 229 |
+
},
|
| 230 |
+
"end": {
|
| 231 |
+
"year": 2020,
|
| 232 |
+
"month": 8,
|
| 233 |
+
"day": null
|
| 234 |
+
},
|
| 235 |
+
"company_name": "General Atlantic",
|
| 236 |
+
"company_username": "general-atlantic",
|
| 237 |
+
"company_url": null,
|
| 238 |
+
"company_industry": "Financial Services",
|
| 239 |
+
"company_staff_count_range": "201 - 500",
|
| 240 |
+
"title": "Investment Professional",
|
| 241 |
+
"location": "San Francisco Bay Area",
|
| 242 |
+
"description": "Technology Group",
|
| 243 |
+
"employment_type": ""
|
| 244 |
+
},
|
| 245 |
+
{
|
| 246 |
+
"start": {
|
| 247 |
+
"year": 2015,
|
| 248 |
+
"month": 6,
|
| 249 |
+
"day": null
|
| 250 |
+
},
|
| 251 |
+
"end": {
|
| 252 |
+
"year": 2017,
|
| 253 |
+
"month": 7,
|
| 254 |
+
"day": null
|
| 255 |
+
},
|
| 256 |
+
"company_name": "Morgan Stanley",
|
| 257 |
+
"company_username": "morgan-stanley",
|
| 258 |
+
"company_url": null,
|
| 259 |
+
"company_industry": "Financial Services",
|
| 260 |
+
"company_staff_count_range": "10001 - 0",
|
| 261 |
+
"title": "Investment Banking",
|
| 262 |
+
"location": "Greater New York City Area",
|
| 263 |
+
"description": "",
|
| 264 |
+
"employment_type": ""
|
| 265 |
+
}
|
| 266 |
+
],
|
| 267 |
+
"skills": null,
|
| 268 |
+
"courses": null,
|
| 269 |
+
"certifications": null
|
| 270 |
+
}
|
tests/test_data/sample_profiles/jeffrey_bai.json
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Jeffrey",
|
| 3 |
+
"last_name": "Bai",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "",
|
| 7 |
+
"summary": "",
|
| 8 |
+
"headline": "Senior Associate at Rubicon Technology Partners",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "Boulder, Colorado",
|
| 12 |
+
"full": "Boulder, Colorado, United States"
|
| 13 |
+
},
|
| 14 |
+
"languages": [
|
| 15 |
+
{
|
| 16 |
+
"name": "Chinese (Simplified)",
|
| 17 |
+
"proficiency": "NATIVE_OR_BILINGUAL"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "English",
|
| 21 |
+
"proficiency": "NATIVE_OR_BILINGUAL"
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"name": "German",
|
| 25 |
+
"proficiency": "LIMITED_WORKING"
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
"name": "Spanish",
|
| 29 |
+
"proficiency": "LIMITED_WORKING"
|
| 30 |
+
}
|
| 31 |
+
],
|
| 32 |
+
"educations": [
|
| 33 |
+
{
|
| 34 |
+
"start": {
|
| 35 |
+
"year": 2015,
|
| 36 |
+
"month": null,
|
| 37 |
+
"day": null
|
| 38 |
+
},
|
| 39 |
+
"end": {
|
| 40 |
+
"year": 2019,
|
| 41 |
+
"month": null,
|
| 42 |
+
"day": null
|
| 43 |
+
},
|
| 44 |
+
"field_of_study": "Finance and Management ",
|
| 45 |
+
"degree": "Bachelor of Science (BS) in Economics",
|
| 46 |
+
"grade": "",
|
| 47 |
+
"school_name": "University of Pennsylvania - The Wharton School",
|
| 48 |
+
"description": "",
|
| 49 |
+
"activities": ""
|
| 50 |
+
}
|
| 51 |
+
],
|
| 52 |
+
"positions": [
|
| 53 |
+
{
|
| 54 |
+
"start": {
|
| 55 |
+
"year": 2023,
|
| 56 |
+
"month": 8,
|
| 57 |
+
"day": null
|
| 58 |
+
},
|
| 59 |
+
"end": {
|
| 60 |
+
"year": null,
|
| 61 |
+
"month": null,
|
| 62 |
+
"day": null
|
| 63 |
+
},
|
| 64 |
+
"company_name": "Rubicon Technology Partners",
|
| 65 |
+
"company_username": "rubicon-technology-partners",
|
| 66 |
+
"company_url": null,
|
| 67 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 68 |
+
"company_staff_count_range": "11 - 50",
|
| 69 |
+
"title": "Senior Associate",
|
| 70 |
+
"location": "Boulder, Colorado, United States",
|
| 71 |
+
"description": "Private Equity – Enterprise Software",
|
| 72 |
+
"employment_type": ""
|
| 73 |
+
},
|
| 74 |
+
{
|
| 75 |
+
"start": {
|
| 76 |
+
"year": 2021,
|
| 77 |
+
"month": 8,
|
| 78 |
+
"day": null
|
| 79 |
+
},
|
| 80 |
+
"end": {
|
| 81 |
+
"year": 2023,
|
| 82 |
+
"month": 7,
|
| 83 |
+
"day": null
|
| 84 |
+
},
|
| 85 |
+
"company_name": "Rubicon Technology Partners",
|
| 86 |
+
"company_username": "rubicon-technology-partners",
|
| 87 |
+
"company_url": null,
|
| 88 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 89 |
+
"company_staff_count_range": "11 - 50",
|
| 90 |
+
"title": "Associate",
|
| 91 |
+
"location": "Boulder, Colorado",
|
| 92 |
+
"description": "Private Equity – Enterprise Software",
|
| 93 |
+
"employment_type": ""
|
| 94 |
+
},
|
| 95 |
+
{
|
| 96 |
+
"start": {
|
| 97 |
+
"year": 2019,
|
| 98 |
+
"month": 7,
|
| 99 |
+
"day": null
|
| 100 |
+
},
|
| 101 |
+
"end": {
|
| 102 |
+
"year": 2021,
|
| 103 |
+
"month": 7,
|
| 104 |
+
"day": null
|
| 105 |
+
},
|
| 106 |
+
"company_name": "DC Advisory",
|
| 107 |
+
"company_username": "dcadvisory",
|
| 108 |
+
"company_url": null,
|
| 109 |
+
"company_industry": "Investment Banking",
|
| 110 |
+
"company_staff_count_range": "501 - 1000",
|
| 111 |
+
"title": "Investment Banking Analyst",
|
| 112 |
+
"location": "Washington D.C. Metro Area",
|
| 113 |
+
"description": "Technology and Software M&A",
|
| 114 |
+
"employment_type": ""
|
| 115 |
+
},
|
| 116 |
+
{
|
| 117 |
+
"start": {
|
| 118 |
+
"year": 2018,
|
| 119 |
+
"month": 6,
|
| 120 |
+
"day": null
|
| 121 |
+
},
|
| 122 |
+
"end": {
|
| 123 |
+
"year": 2018,
|
| 124 |
+
"month": 8,
|
| 125 |
+
"day": null
|
| 126 |
+
},
|
| 127 |
+
"company_name": "Payoneer",
|
| 128 |
+
"company_username": "payoneer",
|
| 129 |
+
"company_url": null,
|
| 130 |
+
"company_industry": "Financial Services",
|
| 131 |
+
"company_staff_count_range": "1001 - 5000",
|
| 132 |
+
"title": "Corporate Development Summer Analyst",
|
| 133 |
+
"location": "Hong Kong",
|
| 134 |
+
"description": "",
|
| 135 |
+
"employment_type": ""
|
| 136 |
+
},
|
| 137 |
+
{
|
| 138 |
+
"start": {
|
| 139 |
+
"year": 2017,
|
| 140 |
+
"month": 6,
|
| 141 |
+
"day": null
|
| 142 |
+
},
|
| 143 |
+
"end": {
|
| 144 |
+
"year": 2017,
|
| 145 |
+
"month": 8,
|
| 146 |
+
"day": null
|
| 147 |
+
},
|
| 148 |
+
"company_name": "XLP Capital",
|
| 149 |
+
"company_username": "xlp-capital",
|
| 150 |
+
"company_url": null,
|
| 151 |
+
"company_industry": "Financial Services",
|
| 152 |
+
"company_staff_count_range": "2 - 10",
|
| 153 |
+
"title": "Summer Analyst",
|
| 154 |
+
"location": "Greater New York City Area",
|
| 155 |
+
"description": "Technology-focused; short-bias strategy",
|
| 156 |
+
"employment_type": ""
|
| 157 |
+
}
|
| 158 |
+
],
|
| 159 |
+
"full_positions": [
|
| 160 |
+
{
|
| 161 |
+
"start": {
|
| 162 |
+
"year": 2023,
|
| 163 |
+
"month": 8,
|
| 164 |
+
"day": null
|
| 165 |
+
},
|
| 166 |
+
"end": {
|
| 167 |
+
"year": null,
|
| 168 |
+
"month": null,
|
| 169 |
+
"day": null
|
| 170 |
+
},
|
| 171 |
+
"company_name": "Rubicon Technology Partners",
|
| 172 |
+
"company_username": "rubicon-technology-partners",
|
| 173 |
+
"company_url": null,
|
| 174 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 175 |
+
"company_staff_count_range": "11 - 50",
|
| 176 |
+
"title": "Senior Associate",
|
| 177 |
+
"location": "Boulder, Colorado, United States",
|
| 178 |
+
"description": "Private Equity – Enterprise Software",
|
| 179 |
+
"employment_type": ""
|
| 180 |
+
},
|
| 181 |
+
{
|
| 182 |
+
"start": {
|
| 183 |
+
"year": 2021,
|
| 184 |
+
"month": 8,
|
| 185 |
+
"day": null
|
| 186 |
+
},
|
| 187 |
+
"end": {
|
| 188 |
+
"year": 2023,
|
| 189 |
+
"month": 7,
|
| 190 |
+
"day": null
|
| 191 |
+
},
|
| 192 |
+
"company_name": "Rubicon Technology Partners",
|
| 193 |
+
"company_username": "rubicon-technology-partners",
|
| 194 |
+
"company_url": null,
|
| 195 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 196 |
+
"company_staff_count_range": "11 - 50",
|
| 197 |
+
"title": "Associate",
|
| 198 |
+
"location": "Boulder, Colorado",
|
| 199 |
+
"description": "Private Equity – Enterprise Software",
|
| 200 |
+
"employment_type": ""
|
| 201 |
+
},
|
| 202 |
+
{
|
| 203 |
+
"start": {
|
| 204 |
+
"year": 2019,
|
| 205 |
+
"month": 7,
|
| 206 |
+
"day": null
|
| 207 |
+
},
|
| 208 |
+
"end": {
|
| 209 |
+
"year": 2021,
|
| 210 |
+
"month": 7,
|
| 211 |
+
"day": null
|
| 212 |
+
},
|
| 213 |
+
"company_name": "DC Advisory",
|
| 214 |
+
"company_username": "dcadvisory",
|
| 215 |
+
"company_url": null,
|
| 216 |
+
"company_industry": "Investment Banking",
|
| 217 |
+
"company_staff_count_range": "501 - 1000",
|
| 218 |
+
"title": "Investment Banking Analyst",
|
| 219 |
+
"location": "Washington D.C. Metro Area",
|
| 220 |
+
"description": "Technology and Software M&A",
|
| 221 |
+
"employment_type": ""
|
| 222 |
+
},
|
| 223 |
+
{
|
| 224 |
+
"start": {
|
| 225 |
+
"year": 2018,
|
| 226 |
+
"month": 6,
|
| 227 |
+
"day": null
|
| 228 |
+
},
|
| 229 |
+
"end": {
|
| 230 |
+
"year": 2018,
|
| 231 |
+
"month": 8,
|
| 232 |
+
"day": null
|
| 233 |
+
},
|
| 234 |
+
"company_name": "Payoneer",
|
| 235 |
+
"company_username": "payoneer",
|
| 236 |
+
"company_url": null,
|
| 237 |
+
"company_industry": "Financial Services",
|
| 238 |
+
"company_staff_count_range": "1001 - 5000",
|
| 239 |
+
"title": "Corporate Development Summer Analyst",
|
| 240 |
+
"location": "Hong Kong",
|
| 241 |
+
"description": "",
|
| 242 |
+
"employment_type": ""
|
| 243 |
+
},
|
| 244 |
+
{
|
| 245 |
+
"start": {
|
| 246 |
+
"year": 2017,
|
| 247 |
+
"month": 6,
|
| 248 |
+
"day": null
|
| 249 |
+
},
|
| 250 |
+
"end": {
|
| 251 |
+
"year": 2017,
|
| 252 |
+
"month": 8,
|
| 253 |
+
"day": null
|
| 254 |
+
},
|
| 255 |
+
"company_name": "XLP Capital",
|
| 256 |
+
"company_username": "xlp-capital",
|
| 257 |
+
"company_url": null,
|
| 258 |
+
"company_industry": "Financial Services",
|
| 259 |
+
"company_staff_count_range": "2 - 10",
|
| 260 |
+
"title": "Summer Analyst",
|
| 261 |
+
"location": "Greater New York City Area",
|
| 262 |
+
"description": "Technology-focused; short-bias strategy",
|
| 263 |
+
"employment_type": ""
|
| 264 |
+
}
|
| 265 |
+
],
|
| 266 |
+
"skills": [
|
| 267 |
+
{
|
| 268 |
+
"name": "Management"
|
| 269 |
+
},
|
| 270 |
+
{
|
| 271 |
+
"name": "Sales"
|
| 272 |
+
},
|
| 273 |
+
{
|
| 274 |
+
"name": "Research"
|
| 275 |
+
},
|
| 276 |
+
{
|
| 277 |
+
"name": "Business Development"
|
| 278 |
+
},
|
| 279 |
+
{
|
| 280 |
+
"name": "Start-ups"
|
| 281 |
+
},
|
| 282 |
+
{
|
| 283 |
+
"name": "Entrepreneurship"
|
| 284 |
+
},
|
| 285 |
+
{
|
| 286 |
+
"name": "Data Analysis"
|
| 287 |
+
},
|
| 288 |
+
{
|
| 289 |
+
"name": "Teamwork"
|
| 290 |
+
},
|
| 291 |
+
{
|
| 292 |
+
"name": "Public Speaking"
|
| 293 |
+
}
|
| 294 |
+
],
|
| 295 |
+
"courses": null,
|
| 296 |
+
"certifications": null
|
| 297 |
+
}
|
tests/test_data/sample_profiles/lauren_hipple.json
ADDED
|
@@ -0,0 +1,411 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Lauren",
|
| 3 |
+
"last_name": "Hipple",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "",
|
| 7 |
+
"summary": "Dedicated and entrepreneurial investment professional with experience across a diverse set of industries and assets classes. Experience includes control buyouts, structured credit products, minority equity investments, and bolt-on acquisitions. Proven capability in effectively sourcing, performing diligence, executing transactions, and managing post-transaction investments / strategic initiatives.\n\nPlease reach out to me if you have a relevant investment opportunity that you would like to discuss.",
|
| 8 |
+
"headline": "Long Arc Capital",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "New York, New York",
|
| 12 |
+
"full": "New York, New York, United States"
|
| 13 |
+
},
|
| 14 |
+
"languages": null,
|
| 15 |
+
"educations": [
|
| 16 |
+
{
|
| 17 |
+
"start": {
|
| 18 |
+
"year": null,
|
| 19 |
+
"month": null,
|
| 20 |
+
"day": null
|
| 21 |
+
},
|
| 22 |
+
"end": {
|
| 23 |
+
"year": null,
|
| 24 |
+
"month": null,
|
| 25 |
+
"day": null
|
| 26 |
+
},
|
| 27 |
+
"field_of_study": "Mathematics and Statistics",
|
| 28 |
+
"degree": "",
|
| 29 |
+
"grade": "",
|
| 30 |
+
"school_name": "Rice University",
|
| 31 |
+
"description": "",
|
| 32 |
+
"activities": ""
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"start": {
|
| 36 |
+
"year": null,
|
| 37 |
+
"month": null,
|
| 38 |
+
"day": null
|
| 39 |
+
},
|
| 40 |
+
"end": {
|
| 41 |
+
"year": null,
|
| 42 |
+
"month": null,
|
| 43 |
+
"day": null
|
| 44 |
+
},
|
| 45 |
+
"field_of_study": "",
|
| 46 |
+
"degree": "",
|
| 47 |
+
"grade": "",
|
| 48 |
+
"school_name": "Laurel School",
|
| 49 |
+
"description": "",
|
| 50 |
+
"activities": ""
|
| 51 |
+
}
|
| 52 |
+
],
|
| 53 |
+
"positions": [
|
| 54 |
+
{
|
| 55 |
+
"start": {
|
| 56 |
+
"year": 2023,
|
| 57 |
+
"month": 3,
|
| 58 |
+
"day": null
|
| 59 |
+
},
|
| 60 |
+
"end": {
|
| 61 |
+
"year": null,
|
| 62 |
+
"month": null,
|
| 63 |
+
"day": null
|
| 64 |
+
},
|
| 65 |
+
"company_name": "Long Arc Capital",
|
| 66 |
+
"company_username": "long-arc-capital",
|
| 67 |
+
"company_url": null,
|
| 68 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 69 |
+
"company_staff_count_range": "11 - 50",
|
| 70 |
+
"title": "Private Equity Vice President",
|
| 71 |
+
"location": "New York, United States",
|
| 72 |
+
"description": "~$500 million AUM private equity firm specializing in providing growth capital to companies in the Financial Services, Business Services, and TMT sectors undergoing technology-driven transformations",
|
| 73 |
+
"employment_type": "Full-time"
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"start": {
|
| 77 |
+
"year": 2022,
|
| 78 |
+
"month": 7,
|
| 79 |
+
"day": null
|
| 80 |
+
},
|
| 81 |
+
"end": {
|
| 82 |
+
"year": 2022,
|
| 83 |
+
"month": 12,
|
| 84 |
+
"day": null
|
| 85 |
+
},
|
| 86 |
+
"company_name": "Forum Brands",
|
| 87 |
+
"company_username": "forumbrands",
|
| 88 |
+
"company_url": null,
|
| 89 |
+
"company_industry": "Retail",
|
| 90 |
+
"company_staff_count_range": "51 - 200",
|
| 91 |
+
"title": "M&A",
|
| 92 |
+
"location": "New York, New York, United States",
|
| 93 |
+
"description": "Co-Led M&A team at a series A e-commerce company focused on acquiring digitally native brands",
|
| 94 |
+
"employment_type": "Full-time"
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"start": {
|
| 98 |
+
"year": 2020,
|
| 99 |
+
"month": null,
|
| 100 |
+
"day": null
|
| 101 |
+
},
|
| 102 |
+
"end": {
|
| 103 |
+
"year": 2022,
|
| 104 |
+
"month": null,
|
| 105 |
+
"day": null
|
| 106 |
+
},
|
| 107 |
+
"company_name": "FocusGrowth Asset Management, LP.",
|
| 108 |
+
"company_username": "focusgrowth-asset-management-lp",
|
| 109 |
+
"company_url": null,
|
| 110 |
+
"company_industry": "Financial Services",
|
| 111 |
+
"company_staff_count_range": "2 - 10",
|
| 112 |
+
"title": "Vice President",
|
| 113 |
+
"location": "",
|
| 114 |
+
"description": "Private Credit and Special Situations Asset Manager",
|
| 115 |
+
"employment_type": ""
|
| 116 |
+
},
|
| 117 |
+
{
|
| 118 |
+
"start": {
|
| 119 |
+
"year": 2017,
|
| 120 |
+
"month": null,
|
| 121 |
+
"day": null
|
| 122 |
+
},
|
| 123 |
+
"end": {
|
| 124 |
+
"year": 2019,
|
| 125 |
+
"month": null,
|
| 126 |
+
"day": null
|
| 127 |
+
},
|
| 128 |
+
"company_name": "Alinda Capital Partners LLC",
|
| 129 |
+
"company_username": "alinda-capital-partners-llc",
|
| 130 |
+
"company_url": null,
|
| 131 |
+
"company_industry": "Financial Services",
|
| 132 |
+
"company_staff_count_range": "11 - 50",
|
| 133 |
+
"title": "Private Equity Associate",
|
| 134 |
+
"location": "Greater New York City Area",
|
| 135 |
+
"description": "Private equity funds, with over $8Bn under management. Focused on transportation & logistics, telecommunications, and energy infrastructure.",
|
| 136 |
+
"employment_type": "Full-time"
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"start": {
|
| 140 |
+
"year": 2015,
|
| 141 |
+
"month": 7,
|
| 142 |
+
"day": null
|
| 143 |
+
},
|
| 144 |
+
"end": {
|
| 145 |
+
"year": 2017,
|
| 146 |
+
"month": 6,
|
| 147 |
+
"day": null
|
| 148 |
+
},
|
| 149 |
+
"company_name": "UBS",
|
| 150 |
+
"company_username": "ubs",
|
| 151 |
+
"company_url": null,
|
| 152 |
+
"company_industry": "Financial Services",
|
| 153 |
+
"company_staff_count_range": "10001 - 0",
|
| 154 |
+
"title": "Investment Banking Analyst",
|
| 155 |
+
"location": "New York, United States",
|
| 156 |
+
"description": "Energy M&A and Coverage",
|
| 157 |
+
"employment_type": "Full-time"
|
| 158 |
+
}
|
| 159 |
+
],
|
| 160 |
+
"full_positions": [
|
| 161 |
+
{
|
| 162 |
+
"start": {
|
| 163 |
+
"year": 2023,
|
| 164 |
+
"month": 3,
|
| 165 |
+
"day": null
|
| 166 |
+
},
|
| 167 |
+
"end": {
|
| 168 |
+
"year": null,
|
| 169 |
+
"month": null,
|
| 170 |
+
"day": null
|
| 171 |
+
},
|
| 172 |
+
"company_name": "Long Arc Capital",
|
| 173 |
+
"company_username": "long-arc-capital",
|
| 174 |
+
"company_url": null,
|
| 175 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 176 |
+
"company_staff_count_range": "11 - 50",
|
| 177 |
+
"title": "Private Equity Vice President",
|
| 178 |
+
"location": "New York, United States",
|
| 179 |
+
"description": "~$500 million AUM private equity firm specializing in providing growth capital to companies in the Financial Services, Business Services, and TMT sectors undergoing technology-driven transformations",
|
| 180 |
+
"employment_type": "Full-time"
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"start": {
|
| 184 |
+
"year": 2022,
|
| 185 |
+
"month": 7,
|
| 186 |
+
"day": null
|
| 187 |
+
},
|
| 188 |
+
"end": {
|
| 189 |
+
"year": 2022,
|
| 190 |
+
"month": 12,
|
| 191 |
+
"day": null
|
| 192 |
+
},
|
| 193 |
+
"company_name": "Forum Brands",
|
| 194 |
+
"company_username": "forumbrands",
|
| 195 |
+
"company_url": null,
|
| 196 |
+
"company_industry": "Retail",
|
| 197 |
+
"company_staff_count_range": "51 - 200",
|
| 198 |
+
"title": "M&A",
|
| 199 |
+
"location": "New York, New York, United States",
|
| 200 |
+
"description": "Co-Led M&A team at a series A e-commerce company focused on acquiring digitally native brands",
|
| 201 |
+
"employment_type": "Full-time"
|
| 202 |
+
},
|
| 203 |
+
{
|
| 204 |
+
"start": {
|
| 205 |
+
"year": 2020,
|
| 206 |
+
"month": null,
|
| 207 |
+
"day": null
|
| 208 |
+
},
|
| 209 |
+
"end": {
|
| 210 |
+
"year": 2022,
|
| 211 |
+
"month": null,
|
| 212 |
+
"day": null
|
| 213 |
+
},
|
| 214 |
+
"company_name": "FocusGrowth Asset Management, LP.",
|
| 215 |
+
"company_username": "focusgrowth-asset-management-lp",
|
| 216 |
+
"company_url": null,
|
| 217 |
+
"company_industry": "Financial Services",
|
| 218 |
+
"company_staff_count_range": "2 - 10",
|
| 219 |
+
"title": "Vice President",
|
| 220 |
+
"location": "",
|
| 221 |
+
"description": "Private Credit and Special Situations Asset Manager",
|
| 222 |
+
"employment_type": ""
|
| 223 |
+
},
|
| 224 |
+
{
|
| 225 |
+
"start": {
|
| 226 |
+
"year": 2017,
|
| 227 |
+
"month": null,
|
| 228 |
+
"day": null
|
| 229 |
+
},
|
| 230 |
+
"end": {
|
| 231 |
+
"year": 2019,
|
| 232 |
+
"month": null,
|
| 233 |
+
"day": null
|
| 234 |
+
},
|
| 235 |
+
"company_name": "Alinda Capital Partners LLC",
|
| 236 |
+
"company_username": "alinda-capital-partners-llc",
|
| 237 |
+
"company_url": null,
|
| 238 |
+
"company_industry": "Financial Services",
|
| 239 |
+
"company_staff_count_range": "11 - 50",
|
| 240 |
+
"title": "Private Equity Associate",
|
| 241 |
+
"location": "Greater New York City Area",
|
| 242 |
+
"description": "Private equity funds, with over $8Bn under management. Focused on transportation & logistics, telecommunications, and energy infrastructure.",
|
| 243 |
+
"employment_type": "Full-time"
|
| 244 |
+
},
|
| 245 |
+
{
|
| 246 |
+
"start": {
|
| 247 |
+
"year": 2015,
|
| 248 |
+
"month": 7,
|
| 249 |
+
"day": null
|
| 250 |
+
},
|
| 251 |
+
"end": {
|
| 252 |
+
"year": 2017,
|
| 253 |
+
"month": 6,
|
| 254 |
+
"day": null
|
| 255 |
+
},
|
| 256 |
+
"company_name": "UBS",
|
| 257 |
+
"company_username": "ubs",
|
| 258 |
+
"company_url": null,
|
| 259 |
+
"company_industry": "Financial Services",
|
| 260 |
+
"company_staff_count_range": "10001 - 0",
|
| 261 |
+
"title": "Investment Banking Analyst",
|
| 262 |
+
"location": "New York, United States",
|
| 263 |
+
"description": "Energy M&A and Coverage",
|
| 264 |
+
"employment_type": "Full-time"
|
| 265 |
+
}
|
| 266 |
+
],
|
| 267 |
+
"skills": [
|
| 268 |
+
{
|
| 269 |
+
"name": "Special Situations Investing"
|
| 270 |
+
},
|
| 271 |
+
{
|
| 272 |
+
"name": "Private Credit"
|
| 273 |
+
},
|
| 274 |
+
{
|
| 275 |
+
"name": "Transportation"
|
| 276 |
+
},
|
| 277 |
+
{
|
| 278 |
+
"name": "Infrastructure"
|
| 279 |
+
},
|
| 280 |
+
{
|
| 281 |
+
"name": "Energy Industry"
|
| 282 |
+
},
|
| 283 |
+
{
|
| 284 |
+
"name": "B2B Software"
|
| 285 |
+
},
|
| 286 |
+
{
|
| 287 |
+
"name": "Business-to-Business (B2B)"
|
| 288 |
+
},
|
| 289 |
+
{
|
| 290 |
+
"name": "Relationship Building"
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"name": "Strategic Partnerships"
|
| 294 |
+
},
|
| 295 |
+
{
|
| 296 |
+
"name": "Financial Literacy"
|
| 297 |
+
},
|
| 298 |
+
{
|
| 299 |
+
"name": "Mergers & Acquisitions (M&A)"
|
| 300 |
+
},
|
| 301 |
+
{
|
| 302 |
+
"name": "Bridging Gaps"
|
| 303 |
+
},
|
| 304 |
+
{
|
| 305 |
+
"name": "Timelines"
|
| 306 |
+
},
|
| 307 |
+
{
|
| 308 |
+
"name": "Confidentiality"
|
| 309 |
+
},
|
| 310 |
+
{
|
| 311 |
+
"name": "Investor Relations"
|
| 312 |
+
},
|
| 313 |
+
{
|
| 314 |
+
"name": "Problem Solving"
|
| 315 |
+
},
|
| 316 |
+
{
|
| 317 |
+
"name": "Negotiation"
|
| 318 |
+
},
|
| 319 |
+
{
|
| 320 |
+
"name": "Analytical Skills"
|
| 321 |
+
},
|
| 322 |
+
{
|
| 323 |
+
"name": "Presentations"
|
| 324 |
+
},
|
| 325 |
+
{
|
| 326 |
+
"name": "Strategic Initiatives"
|
| 327 |
+
},
|
| 328 |
+
{
|
| 329 |
+
"name": "External Communications"
|
| 330 |
+
},
|
| 331 |
+
{
|
| 332 |
+
"name": "Oral Communication"
|
| 333 |
+
},
|
| 334 |
+
{
|
| 335 |
+
"name": "Insurance Industry"
|
| 336 |
+
},
|
| 337 |
+
{
|
| 338 |
+
"name": "Corporate Finance"
|
| 339 |
+
},
|
| 340 |
+
{
|
| 341 |
+
"name": "Financial Analysis"
|
| 342 |
+
},
|
| 343 |
+
{
|
| 344 |
+
"name": "Business Strategy"
|
| 345 |
+
},
|
| 346 |
+
{
|
| 347 |
+
"name": "Microsoft Office"
|
| 348 |
+
},
|
| 349 |
+
{
|
| 350 |
+
"name": "Management"
|
| 351 |
+
},
|
| 352 |
+
{
|
| 353 |
+
"name": "Business Requirements"
|
| 354 |
+
},
|
| 355 |
+
{
|
| 356 |
+
"name": "Competitive Assessment"
|
| 357 |
+
},
|
| 358 |
+
{
|
| 359 |
+
"name": "Financial Performance"
|
| 360 |
+
},
|
| 361 |
+
{
|
| 362 |
+
"name": "Presentation Skills"
|
| 363 |
+
},
|
| 364 |
+
{
|
| 365 |
+
"name": "Financial Forecasting"
|
| 366 |
+
},
|
| 367 |
+
{
|
| 368 |
+
"name": "Corporate Strategy"
|
| 369 |
+
},
|
| 370 |
+
{
|
| 371 |
+
"name": "Business Insights"
|
| 372 |
+
},
|
| 373 |
+
{
|
| 374 |
+
"name": "Board of Directors"
|
| 375 |
+
}
|
| 376 |
+
],
|
| 377 |
+
"courses": null,
|
| 378 |
+
"certifications": [
|
| 379 |
+
{
|
| 380 |
+
"start": {
|
| 381 |
+
"year": 2015,
|
| 382 |
+
"month": 8,
|
| 383 |
+
"day": null
|
| 384 |
+
},
|
| 385 |
+
"end": {
|
| 386 |
+
"year": null,
|
| 387 |
+
"month": null,
|
| 388 |
+
"day": null
|
| 389 |
+
},
|
| 390 |
+
"name": "Series 79",
|
| 391 |
+
"authority": "Financial Industry Regulatory Authority (FINRA)",
|
| 392 |
+
"company": {
|
| 393 |
+
"name": null,
|
| 394 |
+
"universal_name": null,
|
| 395 |
+
"logo": null
|
| 396 |
+
},
|
| 397 |
+
"time_period": {
|
| 398 |
+
"start": {
|
| 399 |
+
"year": null,
|
| 400 |
+
"month": null,
|
| 401 |
+
"day": null
|
| 402 |
+
},
|
| 403 |
+
"end": {
|
| 404 |
+
"year": null,
|
| 405 |
+
"month": null,
|
| 406 |
+
"day": null
|
| 407 |
+
}
|
| 408 |
+
}
|
| 409 |
+
}
|
| 410 |
+
]
|
| 411 |
+
}
|
tests/test_data/sample_profiles/nicholas_penske.json
ADDED
|
@@ -0,0 +1,465 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Nicholas",
|
| 3 |
+
"last_name": "Penske",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "https://media.licdn.com/dms/image/v2/D4E03AQGjJjhVrT2S5g/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1720543826672?e=1731542400&v=beta&t=gIrnl3W-K6gXUXVaPm4SjSe0o_bfJQfBkJswmfZ7x98",
|
| 7 |
+
"summary": "",
|
| 8 |
+
"headline": "Investor at 8VC",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "New York, New York",
|
| 12 |
+
"full": "New York, New York, United States"
|
| 13 |
+
},
|
| 14 |
+
"languages": [
|
| 15 |
+
{
|
| 16 |
+
"name": "Spanish",
|
| 17 |
+
"proficiency": "PROFESSIONAL_WORKING"
|
| 18 |
+
}
|
| 19 |
+
],
|
| 20 |
+
"educations": [
|
| 21 |
+
{
|
| 22 |
+
"start": {
|
| 23 |
+
"year": 2015,
|
| 24 |
+
"month": null,
|
| 25 |
+
"day": null
|
| 26 |
+
},
|
| 27 |
+
"end": {
|
| 28 |
+
"year": 2019,
|
| 29 |
+
"month": null,
|
| 30 |
+
"day": null
|
| 31 |
+
},
|
| 32 |
+
"field_of_study": "American Government and Politics (United States)",
|
| 33 |
+
"degree": "Bachelor of Arts - BA",
|
| 34 |
+
"grade": "",
|
| 35 |
+
"school_name": "Cornell University",
|
| 36 |
+
"description": "",
|
| 37 |
+
"activities": ""
|
| 38 |
+
},
|
| 39 |
+
{
|
| 40 |
+
"start": {
|
| 41 |
+
"year": 2009,
|
| 42 |
+
"month": null,
|
| 43 |
+
"day": null
|
| 44 |
+
},
|
| 45 |
+
"end": {
|
| 46 |
+
"year": 2015,
|
| 47 |
+
"month": null,
|
| 48 |
+
"day": null
|
| 49 |
+
},
|
| 50 |
+
"field_of_study": "",
|
| 51 |
+
"degree": "",
|
| 52 |
+
"grade": "",
|
| 53 |
+
"school_name": "Harvard Westlake School",
|
| 54 |
+
"description": "",
|
| 55 |
+
"activities": "Student Ambassador, Varsity Lacrosse"
|
| 56 |
+
}
|
| 57 |
+
],
|
| 58 |
+
"positions": [
|
| 59 |
+
{
|
| 60 |
+
"start": {
|
| 61 |
+
"year": 2024,
|
| 62 |
+
"month": 4,
|
| 63 |
+
"day": null
|
| 64 |
+
},
|
| 65 |
+
"end": {
|
| 66 |
+
"year": null,
|
| 67 |
+
"month": null,
|
| 68 |
+
"day": null
|
| 69 |
+
},
|
| 70 |
+
"company_name": "8VC",
|
| 71 |
+
"company_username": "8vc",
|
| 72 |
+
"company_url": null,
|
| 73 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 74 |
+
"company_staff_count_range": "11 - 50",
|
| 75 |
+
"title": "Investor",
|
| 76 |
+
"location": "New York City Metropolitan Area",
|
| 77 |
+
"description": "",
|
| 78 |
+
"employment_type": "Full-time"
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"start": {
|
| 82 |
+
"year": 2023,
|
| 83 |
+
"month": 9,
|
| 84 |
+
"day": null
|
| 85 |
+
},
|
| 86 |
+
"end": {
|
| 87 |
+
"year": 2024,
|
| 88 |
+
"month": 4,
|
| 89 |
+
"day": null
|
| 90 |
+
},
|
| 91 |
+
"company_name": "TRP Capital Partners",
|
| 92 |
+
"company_username": "trp-capital-partners",
|
| 93 |
+
"company_url": null,
|
| 94 |
+
"company_industry": "Financial Services",
|
| 95 |
+
"company_staff_count_range": "2 - 10",
|
| 96 |
+
"title": "Private Equity Associate",
|
| 97 |
+
"location": "New York, New York, United States",
|
| 98 |
+
"description": "",
|
| 99 |
+
"employment_type": "Full-time"
|
| 100 |
+
},
|
| 101 |
+
{
|
| 102 |
+
"start": {
|
| 103 |
+
"year": 2021,
|
| 104 |
+
"month": 10,
|
| 105 |
+
"day": null
|
| 106 |
+
},
|
| 107 |
+
"end": {
|
| 108 |
+
"year": 2023,
|
| 109 |
+
"month": 9,
|
| 110 |
+
"day": null
|
| 111 |
+
},
|
| 112 |
+
"company_name": "TRP Capital Partners",
|
| 113 |
+
"company_username": "trp-capital-partners",
|
| 114 |
+
"company_url": null,
|
| 115 |
+
"company_industry": "Financial Services",
|
| 116 |
+
"company_staff_count_range": "2 - 10",
|
| 117 |
+
"title": "Private Equity Analyst",
|
| 118 |
+
"location": "Detroit, Michigan, United States",
|
| 119 |
+
"description": "",
|
| 120 |
+
"employment_type": "Full-time"
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"start": {
|
| 124 |
+
"year": 2020,
|
| 125 |
+
"month": null,
|
| 126 |
+
"day": null
|
| 127 |
+
},
|
| 128 |
+
"end": {
|
| 129 |
+
"year": 2021,
|
| 130 |
+
"month": null,
|
| 131 |
+
"day": null
|
| 132 |
+
},
|
| 133 |
+
"company_name": "",
|
| 134 |
+
"company_username": "",
|
| 135 |
+
"company_url": null,
|
| 136 |
+
"company_industry": "",
|
| 137 |
+
"company_staff_count_range": "",
|
| 138 |
+
"title": "Hotel Investments",
|
| 139 |
+
"location": "New York, New York, United States",
|
| 140 |
+
"description": "Hospitality start-up looking to acquire and reposition unbranded bed and breakfasts, hotels, and motels.",
|
| 141 |
+
"employment_type": "Self-employed"
|
| 142 |
+
},
|
| 143 |
+
{
|
| 144 |
+
"start": {
|
| 145 |
+
"year": 2019,
|
| 146 |
+
"month": 7,
|
| 147 |
+
"day": null
|
| 148 |
+
},
|
| 149 |
+
"end": {
|
| 150 |
+
"year": 2020,
|
| 151 |
+
"month": 11,
|
| 152 |
+
"day": null
|
| 153 |
+
},
|
| 154 |
+
"company_name": "Hudson Pacific Properties",
|
| 155 |
+
"company_username": "hudson-pacific-properties-inc-",
|
| 156 |
+
"company_url": null,
|
| 157 |
+
"company_industry": "Real Estate",
|
| 158 |
+
"company_staff_count_range": "201 - 500",
|
| 159 |
+
"title": "Analyst",
|
| 160 |
+
"location": "Los Angeles, California, United States",
|
| 161 |
+
"description": "",
|
| 162 |
+
"employment_type": "Full-time"
|
| 163 |
+
},
|
| 164 |
+
{
|
| 165 |
+
"start": {
|
| 166 |
+
"year": 2018,
|
| 167 |
+
"month": 6,
|
| 168 |
+
"day": null
|
| 169 |
+
},
|
| 170 |
+
"end": {
|
| 171 |
+
"year": 2018,
|
| 172 |
+
"month": 8,
|
| 173 |
+
"day": null
|
| 174 |
+
},
|
| 175 |
+
"company_name": "Ares Management, L.P.",
|
| 176 |
+
"company_username": "ares-management",
|
| 177 |
+
"company_url": null,
|
| 178 |
+
"company_industry": "Financial Services",
|
| 179 |
+
"company_staff_count_range": "1001 - 5000",
|
| 180 |
+
"title": "Summer Intern",
|
| 181 |
+
"location": "Greater Los Angeles Area",
|
| 182 |
+
"description": "",
|
| 183 |
+
"employment_type": ""
|
| 184 |
+
},
|
| 185 |
+
{
|
| 186 |
+
"start": {
|
| 187 |
+
"year": 2017,
|
| 188 |
+
"month": 6,
|
| 189 |
+
"day": null
|
| 190 |
+
},
|
| 191 |
+
"end": {
|
| 192 |
+
"year": 2017,
|
| 193 |
+
"month": 8,
|
| 194 |
+
"day": null
|
| 195 |
+
},
|
| 196 |
+
"company_name": "Caruso Affiliated",
|
| 197 |
+
"company_username": "caruso",
|
| 198 |
+
"company_url": null,
|
| 199 |
+
"company_industry": "Real Estate",
|
| 200 |
+
"company_staff_count_range": "51 - 200",
|
| 201 |
+
"title": "Summer Associate, Operations",
|
| 202 |
+
"location": "Greater Los Angeles Area",
|
| 203 |
+
"description": "",
|
| 204 |
+
"employment_type": ""
|
| 205 |
+
},
|
| 206 |
+
{
|
| 207 |
+
"start": {
|
| 208 |
+
"year": 2016,
|
| 209 |
+
"month": 7,
|
| 210 |
+
"day": null
|
| 211 |
+
},
|
| 212 |
+
"end": {
|
| 213 |
+
"year": 2016,
|
| 214 |
+
"month": 8,
|
| 215 |
+
"day": null
|
| 216 |
+
},
|
| 217 |
+
"company_name": "WME (William Morris Endeavor)",
|
| 218 |
+
"company_username": "william-morris-endeavor",
|
| 219 |
+
"company_url": null,
|
| 220 |
+
"company_industry": "Entertainment",
|
| 221 |
+
"company_staff_count_range": "5001 - 10000",
|
| 222 |
+
"title": "Summer Intern",
|
| 223 |
+
"location": "Greater Los Angeles Area",
|
| 224 |
+
"description": "",
|
| 225 |
+
"employment_type": ""
|
| 226 |
+
},
|
| 227 |
+
{
|
| 228 |
+
"start": {
|
| 229 |
+
"year": 2013,
|
| 230 |
+
"month": 6,
|
| 231 |
+
"day": null
|
| 232 |
+
},
|
| 233 |
+
"end": {
|
| 234 |
+
"year": 2015,
|
| 235 |
+
"month": 8,
|
| 236 |
+
"day": null
|
| 237 |
+
},
|
| 238 |
+
"company_name": "Longo Toyota/Scion",
|
| 239 |
+
"company_username": "longo-toyota-scion",
|
| 240 |
+
"company_url": null,
|
| 241 |
+
"company_industry": "Automotive",
|
| 242 |
+
"company_staff_count_range": "501 - 1000",
|
| 243 |
+
"title": "Summer Intern",
|
| 244 |
+
"location": "Greater Los Angeles Area",
|
| 245 |
+
"description": "",
|
| 246 |
+
"employment_type": ""
|
| 247 |
+
}
|
| 248 |
+
],
|
| 249 |
+
"full_positions": [
|
| 250 |
+
{
|
| 251 |
+
"start": {
|
| 252 |
+
"year": 2024,
|
| 253 |
+
"month": 4,
|
| 254 |
+
"day": null
|
| 255 |
+
},
|
| 256 |
+
"end": {
|
| 257 |
+
"year": null,
|
| 258 |
+
"month": null,
|
| 259 |
+
"day": null
|
| 260 |
+
},
|
| 261 |
+
"company_name": "8VC",
|
| 262 |
+
"company_username": "8vc",
|
| 263 |
+
"company_url": null,
|
| 264 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 265 |
+
"company_staff_count_range": "11 - 50",
|
| 266 |
+
"title": "Investor",
|
| 267 |
+
"location": "New York City Metropolitan Area",
|
| 268 |
+
"description": "",
|
| 269 |
+
"employment_type": "Full-time"
|
| 270 |
+
},
|
| 271 |
+
{
|
| 272 |
+
"start": {
|
| 273 |
+
"year": 2023,
|
| 274 |
+
"month": 9,
|
| 275 |
+
"day": null
|
| 276 |
+
},
|
| 277 |
+
"end": {
|
| 278 |
+
"year": 2024,
|
| 279 |
+
"month": 4,
|
| 280 |
+
"day": null
|
| 281 |
+
},
|
| 282 |
+
"company_name": "TRP Capital Partners",
|
| 283 |
+
"company_username": "trp-capital-partners",
|
| 284 |
+
"company_url": null,
|
| 285 |
+
"company_industry": "Financial Services",
|
| 286 |
+
"company_staff_count_range": "2 - 10",
|
| 287 |
+
"title": "Private Equity Associate",
|
| 288 |
+
"location": "New York, New York, United States",
|
| 289 |
+
"description": "",
|
| 290 |
+
"employment_type": "Full-time"
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"start": {
|
| 294 |
+
"year": 2021,
|
| 295 |
+
"month": 10,
|
| 296 |
+
"day": null
|
| 297 |
+
},
|
| 298 |
+
"end": {
|
| 299 |
+
"year": 2023,
|
| 300 |
+
"month": 9,
|
| 301 |
+
"day": null
|
| 302 |
+
},
|
| 303 |
+
"company_name": "TRP Capital Partners",
|
| 304 |
+
"company_username": "trp-capital-partners",
|
| 305 |
+
"company_url": null,
|
| 306 |
+
"company_industry": "Financial Services",
|
| 307 |
+
"company_staff_count_range": "2 - 10",
|
| 308 |
+
"title": "Private Equity Analyst",
|
| 309 |
+
"location": "Detroit, Michigan, United States",
|
| 310 |
+
"description": "",
|
| 311 |
+
"employment_type": "Full-time"
|
| 312 |
+
},
|
| 313 |
+
{
|
| 314 |
+
"start": {
|
| 315 |
+
"year": 2020,
|
| 316 |
+
"month": null,
|
| 317 |
+
"day": null
|
| 318 |
+
},
|
| 319 |
+
"end": {
|
| 320 |
+
"year": 2021,
|
| 321 |
+
"month": null,
|
| 322 |
+
"day": null
|
| 323 |
+
},
|
| 324 |
+
"company_name": "",
|
| 325 |
+
"company_username": "",
|
| 326 |
+
"company_url": null,
|
| 327 |
+
"company_industry": "",
|
| 328 |
+
"company_staff_count_range": "",
|
| 329 |
+
"title": "Hotel Investments",
|
| 330 |
+
"location": "New York, New York, United States",
|
| 331 |
+
"description": "Hospitality start-up looking to acquire and reposition unbranded bed and breakfasts, hotels, and motels.",
|
| 332 |
+
"employment_type": "Self-employed"
|
| 333 |
+
},
|
| 334 |
+
{
|
| 335 |
+
"start": {
|
| 336 |
+
"year": 2019,
|
| 337 |
+
"month": 7,
|
| 338 |
+
"day": null
|
| 339 |
+
},
|
| 340 |
+
"end": {
|
| 341 |
+
"year": 2020,
|
| 342 |
+
"month": 11,
|
| 343 |
+
"day": null
|
| 344 |
+
},
|
| 345 |
+
"company_name": "Hudson Pacific Properties",
|
| 346 |
+
"company_username": "hudson-pacific-properties-inc-",
|
| 347 |
+
"company_url": null,
|
| 348 |
+
"company_industry": "Real Estate",
|
| 349 |
+
"company_staff_count_range": "201 - 500",
|
| 350 |
+
"title": "Analyst",
|
| 351 |
+
"location": "Los Angeles, California, United States",
|
| 352 |
+
"description": "",
|
| 353 |
+
"employment_type": "Full-time"
|
| 354 |
+
},
|
| 355 |
+
{
|
| 356 |
+
"start": {
|
| 357 |
+
"year": 2018,
|
| 358 |
+
"month": 6,
|
| 359 |
+
"day": null
|
| 360 |
+
},
|
| 361 |
+
"end": {
|
| 362 |
+
"year": 2018,
|
| 363 |
+
"month": 8,
|
| 364 |
+
"day": null
|
| 365 |
+
},
|
| 366 |
+
"company_name": "Ares Management, L.P.",
|
| 367 |
+
"company_username": "ares-management",
|
| 368 |
+
"company_url": null,
|
| 369 |
+
"company_industry": "Financial Services",
|
| 370 |
+
"company_staff_count_range": "1001 - 5000",
|
| 371 |
+
"title": "Summer Intern",
|
| 372 |
+
"location": "Greater Los Angeles Area",
|
| 373 |
+
"description": "",
|
| 374 |
+
"employment_type": ""
|
| 375 |
+
},
|
| 376 |
+
{
|
| 377 |
+
"start": {
|
| 378 |
+
"year": 2017,
|
| 379 |
+
"month": 6,
|
| 380 |
+
"day": null
|
| 381 |
+
},
|
| 382 |
+
"end": {
|
| 383 |
+
"year": 2017,
|
| 384 |
+
"month": 8,
|
| 385 |
+
"day": null
|
| 386 |
+
},
|
| 387 |
+
"company_name": "Caruso Affiliated",
|
| 388 |
+
"company_username": "caruso",
|
| 389 |
+
"company_url": null,
|
| 390 |
+
"company_industry": "Real Estate",
|
| 391 |
+
"company_staff_count_range": "51 - 200",
|
| 392 |
+
"title": "Summer Associate, Operations",
|
| 393 |
+
"location": "Greater Los Angeles Area",
|
| 394 |
+
"description": "",
|
| 395 |
+
"employment_type": ""
|
| 396 |
+
},
|
| 397 |
+
{
|
| 398 |
+
"start": {
|
| 399 |
+
"year": 2016,
|
| 400 |
+
"month": 7,
|
| 401 |
+
"day": null
|
| 402 |
+
},
|
| 403 |
+
"end": {
|
| 404 |
+
"year": 2016,
|
| 405 |
+
"month": 8,
|
| 406 |
+
"day": null
|
| 407 |
+
},
|
| 408 |
+
"company_name": "WME (William Morris Endeavor)",
|
| 409 |
+
"company_username": "william-morris-endeavor",
|
| 410 |
+
"company_url": null,
|
| 411 |
+
"company_industry": "Entertainment",
|
| 412 |
+
"company_staff_count_range": "5001 - 10000",
|
| 413 |
+
"title": "Summer Intern",
|
| 414 |
+
"location": "Greater Los Angeles Area",
|
| 415 |
+
"description": "",
|
| 416 |
+
"employment_type": ""
|
| 417 |
+
},
|
| 418 |
+
{
|
| 419 |
+
"start": {
|
| 420 |
+
"year": 2013,
|
| 421 |
+
"month": 6,
|
| 422 |
+
"day": null
|
| 423 |
+
},
|
| 424 |
+
"end": {
|
| 425 |
+
"year": 2015,
|
| 426 |
+
"month": 8,
|
| 427 |
+
"day": null
|
| 428 |
+
},
|
| 429 |
+
"company_name": "Longo Toyota/Scion",
|
| 430 |
+
"company_username": "longo-toyota-scion",
|
| 431 |
+
"company_url": null,
|
| 432 |
+
"company_industry": "Automotive",
|
| 433 |
+
"company_staff_count_range": "501 - 1000",
|
| 434 |
+
"title": "Summer Intern",
|
| 435 |
+
"location": "Greater Los Angeles Area",
|
| 436 |
+
"description": "",
|
| 437 |
+
"employment_type": ""
|
| 438 |
+
}
|
| 439 |
+
],
|
| 440 |
+
"skills": [
|
| 441 |
+
{
|
| 442 |
+
"name": "Microsoft Office"
|
| 443 |
+
},
|
| 444 |
+
{
|
| 445 |
+
"name": "Customer Service"
|
| 446 |
+
},
|
| 447 |
+
{
|
| 448 |
+
"name": "Hospitality Industry"
|
| 449 |
+
},
|
| 450 |
+
{
|
| 451 |
+
"name": "Public Speaking"
|
| 452 |
+
},
|
| 453 |
+
{
|
| 454 |
+
"name": "Microsoft Excel"
|
| 455 |
+
},
|
| 456 |
+
{
|
| 457 |
+
"name": "Microsoft Word"
|
| 458 |
+
},
|
| 459 |
+
{
|
| 460 |
+
"name": "Microsoft PowerPoint"
|
| 461 |
+
}
|
| 462 |
+
],
|
| 463 |
+
"courses": null,
|
| 464 |
+
"certifications": null
|
| 465 |
+
}
|
tests/test_data/sample_profiles/peter_tagliaferri.json
ADDED
|
@@ -0,0 +1,316 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Peter",
|
| 3 |
+
"last_name": "Tagliaferri",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "https://media.licdn.com/dms/image/v2/C4E03AQFlo8eRarRnSA/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1570065735671?e=1731542400&v=beta&t=bU0FVhun7ur1CckwLMHHugFK4uzP5Ar3hUF_ewsDO-k",
|
| 7 |
+
"summary": "",
|
| 8 |
+
"headline": "Software Investor at Accel-KKR",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "San Francisco Bay Area",
|
| 12 |
+
"full": "San Francisco Bay Area"
|
| 13 |
+
},
|
| 14 |
+
"languages": null,
|
| 15 |
+
"educations": [
|
| 16 |
+
{
|
| 17 |
+
"start": {
|
| 18 |
+
"year": null,
|
| 19 |
+
"month": null,
|
| 20 |
+
"day": null
|
| 21 |
+
},
|
| 22 |
+
"end": {
|
| 23 |
+
"year": null,
|
| 24 |
+
"month": null,
|
| 25 |
+
"day": null
|
| 26 |
+
},
|
| 27 |
+
"field_of_study": "Economics",
|
| 28 |
+
"degree": "Bachelor of Arts - BA",
|
| 29 |
+
"grade": "Second Honors, Dean's List",
|
| 30 |
+
"school_name": "Georgetown University",
|
| 31 |
+
"description": "",
|
| 32 |
+
"activities": "Men's Varsity Lacrosse"
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"start": {
|
| 36 |
+
"year": null,
|
| 37 |
+
"month": null,
|
| 38 |
+
"day": null
|
| 39 |
+
},
|
| 40 |
+
"end": {
|
| 41 |
+
"year": null,
|
| 42 |
+
"month": null,
|
| 43 |
+
"day": null
|
| 44 |
+
},
|
| 45 |
+
"field_of_study": "",
|
| 46 |
+
"degree": "High School Diploma",
|
| 47 |
+
"grade": "",
|
| 48 |
+
"school_name": "San Ramon Valley High School",
|
| 49 |
+
"description": "",
|
| 50 |
+
"activities": ""
|
| 51 |
+
}
|
| 52 |
+
],
|
| 53 |
+
"positions": [
|
| 54 |
+
{
|
| 55 |
+
"start": {
|
| 56 |
+
"year": 2024,
|
| 57 |
+
"month": 1,
|
| 58 |
+
"day": null
|
| 59 |
+
},
|
| 60 |
+
"end": {
|
| 61 |
+
"year": null,
|
| 62 |
+
"month": null,
|
| 63 |
+
"day": null
|
| 64 |
+
},
|
| 65 |
+
"company_name": "Accel-KKR",
|
| 66 |
+
"company_username": "accel-kkr",
|
| 67 |
+
"company_url": null,
|
| 68 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 69 |
+
"company_staff_count_range": "51 - 200",
|
| 70 |
+
"title": "Senior Associate",
|
| 71 |
+
"location": "Menlo Park, California, United States",
|
| 72 |
+
"description": "",
|
| 73 |
+
"employment_type": "Full-time"
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"start": {
|
| 77 |
+
"year": 2020,
|
| 78 |
+
"month": 11,
|
| 79 |
+
"day": null
|
| 80 |
+
},
|
| 81 |
+
"end": {
|
| 82 |
+
"year": 2024,
|
| 83 |
+
"month": 2,
|
| 84 |
+
"day": null
|
| 85 |
+
},
|
| 86 |
+
"company_name": "Accel-KKR",
|
| 87 |
+
"company_username": "accel-kkr",
|
| 88 |
+
"company_url": null,
|
| 89 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 90 |
+
"company_staff_count_range": "51 - 200",
|
| 91 |
+
"title": "Investment Professional",
|
| 92 |
+
"location": "Menlo Park, California, United States",
|
| 93 |
+
"description": "",
|
| 94 |
+
"employment_type": "Full-time"
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"start": {
|
| 98 |
+
"year": 2018,
|
| 99 |
+
"month": 7,
|
| 100 |
+
"day": null
|
| 101 |
+
},
|
| 102 |
+
"end": {
|
| 103 |
+
"year": 2020,
|
| 104 |
+
"month": 10,
|
| 105 |
+
"day": null
|
| 106 |
+
},
|
| 107 |
+
"company_name": "Stifel Financial Corp.",
|
| 108 |
+
"company_username": "stifel-financial-corp-",
|
| 109 |
+
"company_url": null,
|
| 110 |
+
"company_industry": "Financial Services",
|
| 111 |
+
"company_staff_count_range": "5001 - 10000",
|
| 112 |
+
"title": "Investment Banking Professional",
|
| 113 |
+
"location": "San Francisco Bay Area",
|
| 114 |
+
"description": "",
|
| 115 |
+
"employment_type": ""
|
| 116 |
+
},
|
| 117 |
+
{
|
| 118 |
+
"start": {
|
| 119 |
+
"year": 2017,
|
| 120 |
+
"month": 6,
|
| 121 |
+
"day": null
|
| 122 |
+
},
|
| 123 |
+
"end": {
|
| 124 |
+
"year": 2017,
|
| 125 |
+
"month": 8,
|
| 126 |
+
"day": null
|
| 127 |
+
},
|
| 128 |
+
"company_name": "Accel-KKR",
|
| 129 |
+
"company_username": "accel-kkr",
|
| 130 |
+
"company_url": null,
|
| 131 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 132 |
+
"company_staff_count_range": "51 - 200",
|
| 133 |
+
"title": "Private Equity",
|
| 134 |
+
"location": "Menlo Park, CA",
|
| 135 |
+
"description": "",
|
| 136 |
+
"employment_type": ""
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"start": {
|
| 140 |
+
"year": 2016,
|
| 141 |
+
"month": 6,
|
| 142 |
+
"day": null
|
| 143 |
+
},
|
| 144 |
+
"end": {
|
| 145 |
+
"year": 2016,
|
| 146 |
+
"month": 12,
|
| 147 |
+
"day": null
|
| 148 |
+
},
|
| 149 |
+
"company_name": "Securian Financial Group",
|
| 150 |
+
"company_username": "securian-financial",
|
| 151 |
+
"company_url": null,
|
| 152 |
+
"company_industry": "Financial Services",
|
| 153 |
+
"company_staff_count_range": "1001 - 5000",
|
| 154 |
+
"title": "Analyst",
|
| 155 |
+
"location": "Danville, California",
|
| 156 |
+
"description": "",
|
| 157 |
+
"employment_type": ""
|
| 158 |
+
}
|
| 159 |
+
],
|
| 160 |
+
"full_positions": [
|
| 161 |
+
{
|
| 162 |
+
"start": {
|
| 163 |
+
"year": 2024,
|
| 164 |
+
"month": 1,
|
| 165 |
+
"day": null
|
| 166 |
+
},
|
| 167 |
+
"end": {
|
| 168 |
+
"year": null,
|
| 169 |
+
"month": null,
|
| 170 |
+
"day": null
|
| 171 |
+
},
|
| 172 |
+
"company_name": "Accel-KKR",
|
| 173 |
+
"company_username": "accel-kkr",
|
| 174 |
+
"company_url": null,
|
| 175 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 176 |
+
"company_staff_count_range": "51 - 200",
|
| 177 |
+
"title": "Senior Associate",
|
| 178 |
+
"location": "Menlo Park, California, United States",
|
| 179 |
+
"description": "",
|
| 180 |
+
"employment_type": "Full-time"
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"start": {
|
| 184 |
+
"year": 2020,
|
| 185 |
+
"month": 11,
|
| 186 |
+
"day": null
|
| 187 |
+
},
|
| 188 |
+
"end": {
|
| 189 |
+
"year": 2024,
|
| 190 |
+
"month": 2,
|
| 191 |
+
"day": null
|
| 192 |
+
},
|
| 193 |
+
"company_name": "Accel-KKR",
|
| 194 |
+
"company_username": "accel-kkr",
|
| 195 |
+
"company_url": null,
|
| 196 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 197 |
+
"company_staff_count_range": "51 - 200",
|
| 198 |
+
"title": "Investment Professional",
|
| 199 |
+
"location": "Menlo Park, California, United States",
|
| 200 |
+
"description": "",
|
| 201 |
+
"employment_type": "Full-time"
|
| 202 |
+
},
|
| 203 |
+
{
|
| 204 |
+
"start": {
|
| 205 |
+
"year": 2018,
|
| 206 |
+
"month": 7,
|
| 207 |
+
"day": null
|
| 208 |
+
},
|
| 209 |
+
"end": {
|
| 210 |
+
"year": 2020,
|
| 211 |
+
"month": 10,
|
| 212 |
+
"day": null
|
| 213 |
+
},
|
| 214 |
+
"company_name": "Stifel Financial Corp.",
|
| 215 |
+
"company_username": "stifel-financial-corp-",
|
| 216 |
+
"company_url": null,
|
| 217 |
+
"company_industry": "Financial Services",
|
| 218 |
+
"company_staff_count_range": "5001 - 10000",
|
| 219 |
+
"title": "Investment Banking Professional",
|
| 220 |
+
"location": "San Francisco Bay Area",
|
| 221 |
+
"description": "",
|
| 222 |
+
"employment_type": ""
|
| 223 |
+
},
|
| 224 |
+
{
|
| 225 |
+
"start": {
|
| 226 |
+
"year": 2017,
|
| 227 |
+
"month": 6,
|
| 228 |
+
"day": null
|
| 229 |
+
},
|
| 230 |
+
"end": {
|
| 231 |
+
"year": 2017,
|
| 232 |
+
"month": 8,
|
| 233 |
+
"day": null
|
| 234 |
+
},
|
| 235 |
+
"company_name": "Accel-KKR",
|
| 236 |
+
"company_username": "accel-kkr",
|
| 237 |
+
"company_url": null,
|
| 238 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 239 |
+
"company_staff_count_range": "51 - 200",
|
| 240 |
+
"title": "Private Equity",
|
| 241 |
+
"location": "Menlo Park, CA",
|
| 242 |
+
"description": "",
|
| 243 |
+
"employment_type": ""
|
| 244 |
+
},
|
| 245 |
+
{
|
| 246 |
+
"start": {
|
| 247 |
+
"year": 2016,
|
| 248 |
+
"month": 6,
|
| 249 |
+
"day": null
|
| 250 |
+
},
|
| 251 |
+
"end": {
|
| 252 |
+
"year": 2016,
|
| 253 |
+
"month": 12,
|
| 254 |
+
"day": null
|
| 255 |
+
},
|
| 256 |
+
"company_name": "Securian Financial Group",
|
| 257 |
+
"company_username": "securian-financial",
|
| 258 |
+
"company_url": null,
|
| 259 |
+
"company_industry": "Financial Services",
|
| 260 |
+
"company_staff_count_range": "1001 - 5000",
|
| 261 |
+
"title": "Analyst",
|
| 262 |
+
"location": "Danville, California",
|
| 263 |
+
"description": "",
|
| 264 |
+
"employment_type": ""
|
| 265 |
+
}
|
| 266 |
+
],
|
| 267 |
+
"skills": [
|
| 268 |
+
{
|
| 269 |
+
"name": "Microsoft Excel"
|
| 270 |
+
},
|
| 271 |
+
{
|
| 272 |
+
"name": "Leadership"
|
| 273 |
+
},
|
| 274 |
+
{
|
| 275 |
+
"name": "PowerPoint"
|
| 276 |
+
},
|
| 277 |
+
{
|
| 278 |
+
"name": "Research"
|
| 279 |
+
},
|
| 280 |
+
{
|
| 281 |
+
"name": "Public Speaking"
|
| 282 |
+
},
|
| 283 |
+
{
|
| 284 |
+
"name": "Project Management"
|
| 285 |
+
},
|
| 286 |
+
{
|
| 287 |
+
"name": "Strategic Planning"
|
| 288 |
+
},
|
| 289 |
+
{
|
| 290 |
+
"name": "Sales"
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"name": "Sports"
|
| 294 |
+
},
|
| 295 |
+
{
|
| 296 |
+
"name": "Microsoft Office"
|
| 297 |
+
},
|
| 298 |
+
{
|
| 299 |
+
"name": "Microsoft Word"
|
| 300 |
+
},
|
| 301 |
+
{
|
| 302 |
+
"name": "Customer Service"
|
| 303 |
+
},
|
| 304 |
+
{
|
| 305 |
+
"name": "Management"
|
| 306 |
+
},
|
| 307 |
+
{
|
| 308 |
+
"name": "Microsoft PowerPoint"
|
| 309 |
+
},
|
| 310 |
+
{
|
| 311 |
+
"name": "Teamwork"
|
| 312 |
+
}
|
| 313 |
+
],
|
| 314 |
+
"courses": null,
|
| 315 |
+
"certifications": null
|
| 316 |
+
}
|
tests/test_data/sample_profiles/siddharth_saxena.json
ADDED
|
@@ -0,0 +1,625 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Siddharth",
|
| 3 |
+
"last_name": "Saxena",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "https://media.licdn.com/dms/image/v2/D4D03AQHgeX32k__sWw/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1713830613767?e=1731542400&v=beta&t=5T2Ps0uAVC3hiq4iTL4zmYbSpPn6zzZzEIFokzuSC0Q",
|
| 7 |
+
"summary": "",
|
| 8 |
+
"headline": "Investor @ Vedanta Capital",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "New York City Metropolitan Area",
|
| 12 |
+
"full": "New York City Metropolitan Area"
|
| 13 |
+
},
|
| 14 |
+
"languages": [
|
| 15 |
+
{
|
| 16 |
+
"name": "English",
|
| 17 |
+
"proficiency": "NATIVE_OR_BILINGUAL"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "Japanese",
|
| 21 |
+
"proficiency": "LIMITED_WORKING"
|
| 22 |
+
}
|
| 23 |
+
],
|
| 24 |
+
"educations": [
|
| 25 |
+
{
|
| 26 |
+
"start": {
|
| 27 |
+
"year": 2011,
|
| 28 |
+
"month": null,
|
| 29 |
+
"day": null
|
| 30 |
+
},
|
| 31 |
+
"end": {
|
| 32 |
+
"year": 2015,
|
| 33 |
+
"month": null,
|
| 34 |
+
"day": null
|
| 35 |
+
},
|
| 36 |
+
"field_of_study": "Architectural Studies",
|
| 37 |
+
"degree": "Bachelor of Arts (B.A.)",
|
| 38 |
+
"grade": "",
|
| 39 |
+
"school_name": "Brown University",
|
| 40 |
+
"description": "",
|
| 41 |
+
"activities": ""
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"start": {
|
| 45 |
+
"year": 2004,
|
| 46 |
+
"month": null,
|
| 47 |
+
"day": null
|
| 48 |
+
},
|
| 49 |
+
"end": {
|
| 50 |
+
"year": 2011,
|
| 51 |
+
"month": null,
|
| 52 |
+
"day": null
|
| 53 |
+
},
|
| 54 |
+
"field_of_study": "",
|
| 55 |
+
"degree": "",
|
| 56 |
+
"grade": "",
|
| 57 |
+
"school_name": "Horace Mann School",
|
| 58 |
+
"description": "",
|
| 59 |
+
"activities": ""
|
| 60 |
+
}
|
| 61 |
+
],
|
| 62 |
+
"positions": [
|
| 63 |
+
{
|
| 64 |
+
"start": {
|
| 65 |
+
"year": 2024,
|
| 66 |
+
"month": 4,
|
| 67 |
+
"day": null
|
| 68 |
+
},
|
| 69 |
+
"end": {
|
| 70 |
+
"year": null,
|
| 71 |
+
"month": null,
|
| 72 |
+
"day": null
|
| 73 |
+
},
|
| 74 |
+
"company_name": "Vedanta Capital",
|
| 75 |
+
"company_username": "vedacap",
|
| 76 |
+
"company_url": null,
|
| 77 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 78 |
+
"company_staff_count_range": "2 - 10",
|
| 79 |
+
"title": "Investor",
|
| 80 |
+
"location": "New York, New York, United States",
|
| 81 |
+
"description": "Investing in start-ups (robotics, defense tech, VR/AR, space, AI/ML, health tech and more), and in venture and growth equity funds.",
|
| 82 |
+
"employment_type": "Full-time"
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"start": {
|
| 86 |
+
"year": 2022,
|
| 87 |
+
"month": 8,
|
| 88 |
+
"day": null
|
| 89 |
+
},
|
| 90 |
+
"end": {
|
| 91 |
+
"year": 2024,
|
| 92 |
+
"month": 4,
|
| 93 |
+
"day": null
|
| 94 |
+
},
|
| 95 |
+
"company_name": "Vedanta Capital",
|
| 96 |
+
"company_username": "vedacap",
|
| 97 |
+
"company_url": null,
|
| 98 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 99 |
+
"company_staff_count_range": "2 - 10",
|
| 100 |
+
"title": "Associate",
|
| 101 |
+
"location": "New York, New York, United States",
|
| 102 |
+
"description": "Investing in start-ups (robotics, defense tech, VR/AR, space, AI/ML, health tech and more), and in venture and growth equity funds.",
|
| 103 |
+
"employment_type": "Full-time"
|
| 104 |
+
},
|
| 105 |
+
{
|
| 106 |
+
"start": {
|
| 107 |
+
"year": 2024,
|
| 108 |
+
"month": 4,
|
| 109 |
+
"day": null
|
| 110 |
+
},
|
| 111 |
+
"end": {
|
| 112 |
+
"year": null,
|
| 113 |
+
"month": null,
|
| 114 |
+
"day": null
|
| 115 |
+
},
|
| 116 |
+
"company_name": "Carbon Origins Inc.",
|
| 117 |
+
"company_username": "carbon-origins",
|
| 118 |
+
"company_url": null,
|
| 119 |
+
"company_industry": "Information Technology & Services",
|
| 120 |
+
"company_staff_count_range": "2 - 10",
|
| 121 |
+
"title": "Advisor",
|
| 122 |
+
"location": "",
|
| 123 |
+
"description": "",
|
| 124 |
+
"employment_type": "Part-time"
|
| 125 |
+
},
|
| 126 |
+
{
|
| 127 |
+
"start": {
|
| 128 |
+
"year": 2020,
|
| 129 |
+
"month": 11,
|
| 130 |
+
"day": null
|
| 131 |
+
},
|
| 132 |
+
"end": {
|
| 133 |
+
"year": 2022,
|
| 134 |
+
"month": 4,
|
| 135 |
+
"day": null
|
| 136 |
+
},
|
| 137 |
+
"company_name": "Reactiv",
|
| 138 |
+
"company_username": "reactivrehab",
|
| 139 |
+
"company_url": null,
|
| 140 |
+
"company_industry": "Health, Wellness & Fitness",
|
| 141 |
+
"company_staff_count_range": "2 - 10",
|
| 142 |
+
"title": "Co-Founder & COO",
|
| 143 |
+
"location": "Brooklyn, New York, United States",
|
| 144 |
+
"description": "Reactiv (UnitedHealthcare / Techstars '21) is the virtual clinic for people with chronic joint pain, offering clinician support and interactive experiences to promote healthy movements.",
|
| 145 |
+
"employment_type": "Full-time"
|
| 146 |
+
},
|
| 147 |
+
{
|
| 148 |
+
"start": {
|
| 149 |
+
"year": 2019,
|
| 150 |
+
"month": 12,
|
| 151 |
+
"day": null
|
| 152 |
+
},
|
| 153 |
+
"end": {
|
| 154 |
+
"year": 2020,
|
| 155 |
+
"month": 10,
|
| 156 |
+
"day": null
|
| 157 |
+
},
|
| 158 |
+
"company_name": "Reactiv",
|
| 159 |
+
"company_username": "reactivrehab",
|
| 160 |
+
"company_url": null,
|
| 161 |
+
"company_industry": "Health, Wellness & Fitness",
|
| 162 |
+
"company_staff_count_range": "2 - 10",
|
| 163 |
+
"title": "Consultant, Technical & Product",
|
| 164 |
+
"location": "",
|
| 165 |
+
"description": "",
|
| 166 |
+
"employment_type": ""
|
| 167 |
+
},
|
| 168 |
+
{
|
| 169 |
+
"start": {
|
| 170 |
+
"year": 2015,
|
| 171 |
+
"month": 6,
|
| 172 |
+
"day": null
|
| 173 |
+
},
|
| 174 |
+
"end": {
|
| 175 |
+
"year": 2020,
|
| 176 |
+
"month": 10,
|
| 177 |
+
"day": null
|
| 178 |
+
},
|
| 179 |
+
"company_name": "Oblix",
|
| 180 |
+
"company_username": "oblix-vr",
|
| 181 |
+
"company_url": null,
|
| 182 |
+
"company_industry": "Computer Software",
|
| 183 |
+
"company_staff_count_range": "2 - 10",
|
| 184 |
+
"title": "Founder & CEO",
|
| 185 |
+
"location": "Greater New York City Area",
|
| 186 |
+
"description": "Oblix is an angel-funded, virtual reality start-up based in Brooklyn, NY, and the developer behind Go Guess, a social, geographic guessing game for the Oculus Rift and HTC Vive. Go Guess is currently live on the Oculus Store, Steam and Viveport.",
|
| 187 |
+
"employment_type": ""
|
| 188 |
+
},
|
| 189 |
+
{
|
| 190 |
+
"start": {
|
| 191 |
+
"year": 2019,
|
| 192 |
+
"month": 4,
|
| 193 |
+
"day": null
|
| 194 |
+
},
|
| 195 |
+
"end": {
|
| 196 |
+
"year": 2019,
|
| 197 |
+
"month": 8,
|
| 198 |
+
"day": null
|
| 199 |
+
},
|
| 200 |
+
"company_name": "GAROU",
|
| 201 |
+
"company_username": "mira.world",
|
| 202 |
+
"company_url": null,
|
| 203 |
+
"company_industry": "Computer Software",
|
| 204 |
+
"company_staff_count_range": "11 - 50",
|
| 205 |
+
"title": "Acting Chief Strategy Officer",
|
| 206 |
+
"location": "Greater New York City Area",
|
| 207 |
+
"description": "Acted as Chief Strategy Officer for Garou through a partnership with Oblix. Developed custom VR experiences for clients such as Viacom, Fujitsu and SNCF in entertainment, e-commerce and real estate. Developed and managed the Business Development pipeline. Led Garou's application to Verizon's Built on 5G Challenge, resulting in a $500K award.",
|
| 208 |
+
"employment_type": ""
|
| 209 |
+
},
|
| 210 |
+
{
|
| 211 |
+
"start": {
|
| 212 |
+
"year": 2014,
|
| 213 |
+
"month": 6,
|
| 214 |
+
"day": null
|
| 215 |
+
},
|
| 216 |
+
"end": {
|
| 217 |
+
"year": 2014,
|
| 218 |
+
"month": 8,
|
| 219 |
+
"day": null
|
| 220 |
+
},
|
| 221 |
+
"company_name": "Architizer",
|
| 222 |
+
"company_username": "architizer",
|
| 223 |
+
"company_url": null,
|
| 224 |
+
"company_industry": "Computer Software",
|
| 225 |
+
"company_staff_count_range": "11 - 50",
|
| 226 |
+
"title": "Intern",
|
| 227 |
+
"location": "",
|
| 228 |
+
"description": "Developed and led the Architecture Genome Project. Collaborated closely with Marc Kushner and TED on The Future of Architecture in 100 Buildings. Systematically identified and routed dirty data from Architizer servers.",
|
| 229 |
+
"employment_type": ""
|
| 230 |
+
},
|
| 231 |
+
{
|
| 232 |
+
"start": {
|
| 233 |
+
"year": 2012,
|
| 234 |
+
"month": 4,
|
| 235 |
+
"day": null
|
| 236 |
+
},
|
| 237 |
+
"end": {
|
| 238 |
+
"year": 2012,
|
| 239 |
+
"month": 9,
|
| 240 |
+
"day": null
|
| 241 |
+
},
|
| 242 |
+
"company_name": "CasualEat",
|
| 243 |
+
"company_username": "",
|
| 244 |
+
"company_url": null,
|
| 245 |
+
"company_industry": "",
|
| 246 |
+
"company_staff_count_range": "",
|
| 247 |
+
"title": "Co-Founder",
|
| 248 |
+
"location": "Providence, Rhode Island Area",
|
| 249 |
+
"description": "Developed a model alongside three other Brown University students to bring an internet-based product to food services businesses in India and the United Arab Emirates. Personally managed a team of Bangalore-based software developers and a Palo Alto-based graphic designer and organized workflow among the founding partners.",
|
| 250 |
+
"employment_type": ""
|
| 251 |
+
},
|
| 252 |
+
{
|
| 253 |
+
"start": {
|
| 254 |
+
"year": 2011,
|
| 255 |
+
"month": 8,
|
| 256 |
+
"day": null
|
| 257 |
+
},
|
| 258 |
+
"end": {
|
| 259 |
+
"year": 2011,
|
| 260 |
+
"month": 8,
|
| 261 |
+
"day": null
|
| 262 |
+
},
|
| 263 |
+
"company_name": "Weikfield Foods Private Limited",
|
| 264 |
+
"company_username": "",
|
| 265 |
+
"company_url": null,
|
| 266 |
+
"company_industry": "",
|
| 267 |
+
"company_staff_count_range": "",
|
| 268 |
+
"title": "Marketing Intern",
|
| 269 |
+
"location": "Pune, India",
|
| 270 |
+
"description": "Produced original marketing materials alongside another intern with oversight from senior management for this multi-generational food-products business.",
|
| 271 |
+
"employment_type": ""
|
| 272 |
+
},
|
| 273 |
+
{
|
| 274 |
+
"start": {
|
| 275 |
+
"year": 2011,
|
| 276 |
+
"month": 7,
|
| 277 |
+
"day": null
|
| 278 |
+
},
|
| 279 |
+
"end": {
|
| 280 |
+
"year": 2011,
|
| 281 |
+
"month": 8,
|
| 282 |
+
"day": null
|
| 283 |
+
},
|
| 284 |
+
"company_name": "Kirloskar Oil Engines Ltd",
|
| 285 |
+
"company_username": "kirloskar-oil-engines",
|
| 286 |
+
"company_url": null,
|
| 287 |
+
"company_industry": "Mechanical Or Industrial Engineering",
|
| 288 |
+
"company_staff_count_range": "5001 - 10000",
|
| 289 |
+
"title": "Intern",
|
| 290 |
+
"location": "",
|
| 291 |
+
"description": "Developed a comprehensive report detailing potential manufacturing and logistical improvements to shop-floor operating practices as defined by the Toyota Production System.",
|
| 292 |
+
"employment_type": ""
|
| 293 |
+
},
|
| 294 |
+
{
|
| 295 |
+
"start": {
|
| 296 |
+
"year": 2010,
|
| 297 |
+
"month": 6,
|
| 298 |
+
"day": null
|
| 299 |
+
},
|
| 300 |
+
"end": {
|
| 301 |
+
"year": 2010,
|
| 302 |
+
"month": 8,
|
| 303 |
+
"day": null
|
| 304 |
+
},
|
| 305 |
+
"company_name": "New Silk Route",
|
| 306 |
+
"company_username": "new-silk-route",
|
| 307 |
+
"company_url": null,
|
| 308 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 309 |
+
"company_staff_count_range": "11 - 50",
|
| 310 |
+
"title": "Intern",
|
| 311 |
+
"location": "",
|
| 312 |
+
"description": "Led a team of interns in analyzing the social impact of this $1.4 billion Asia-focused private equity fund’s investments, measuring job creation and tax revenue generation among other data then distributed to limited partners.",
|
| 313 |
+
"employment_type": ""
|
| 314 |
+
}
|
| 315 |
+
],
|
| 316 |
+
"full_positions": [
|
| 317 |
+
{
|
| 318 |
+
"start": {
|
| 319 |
+
"year": 2024,
|
| 320 |
+
"month": 4,
|
| 321 |
+
"day": null
|
| 322 |
+
},
|
| 323 |
+
"end": {
|
| 324 |
+
"year": null,
|
| 325 |
+
"month": null,
|
| 326 |
+
"day": null
|
| 327 |
+
},
|
| 328 |
+
"company_name": "Vedanta Capital",
|
| 329 |
+
"company_username": "vedacap",
|
| 330 |
+
"company_url": null,
|
| 331 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 332 |
+
"company_staff_count_range": "2 - 10",
|
| 333 |
+
"title": "Investor",
|
| 334 |
+
"location": "New York, New York, United States",
|
| 335 |
+
"description": "Investing in start-ups (robotics, defense tech, VR/AR, space, AI/ML, health tech and more), and in venture and growth equity funds.",
|
| 336 |
+
"employment_type": "Full-time"
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"start": {
|
| 340 |
+
"year": 2022,
|
| 341 |
+
"month": 8,
|
| 342 |
+
"day": null
|
| 343 |
+
},
|
| 344 |
+
"end": {
|
| 345 |
+
"year": 2024,
|
| 346 |
+
"month": 4,
|
| 347 |
+
"day": null
|
| 348 |
+
},
|
| 349 |
+
"company_name": "Vedanta Capital",
|
| 350 |
+
"company_username": "vedacap",
|
| 351 |
+
"company_url": null,
|
| 352 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 353 |
+
"company_staff_count_range": "2 - 10",
|
| 354 |
+
"title": "Associate",
|
| 355 |
+
"location": "New York, New York, United States",
|
| 356 |
+
"description": "Investing in start-ups (robotics, defense tech, VR/AR, space, AI/ML, health tech and more), and in venture and growth equity funds.",
|
| 357 |
+
"employment_type": "Full-time"
|
| 358 |
+
},
|
| 359 |
+
{
|
| 360 |
+
"start": {
|
| 361 |
+
"year": 2024,
|
| 362 |
+
"month": 4,
|
| 363 |
+
"day": null
|
| 364 |
+
},
|
| 365 |
+
"end": {
|
| 366 |
+
"year": null,
|
| 367 |
+
"month": null,
|
| 368 |
+
"day": null
|
| 369 |
+
},
|
| 370 |
+
"company_name": "Carbon Origins Inc.",
|
| 371 |
+
"company_username": "carbon-origins",
|
| 372 |
+
"company_url": null,
|
| 373 |
+
"company_industry": "Information Technology & Services",
|
| 374 |
+
"company_staff_count_range": "2 - 10",
|
| 375 |
+
"title": "Advisor",
|
| 376 |
+
"location": "",
|
| 377 |
+
"description": "",
|
| 378 |
+
"employment_type": "Part-time"
|
| 379 |
+
},
|
| 380 |
+
{
|
| 381 |
+
"start": {
|
| 382 |
+
"year": 2020,
|
| 383 |
+
"month": 11,
|
| 384 |
+
"day": null
|
| 385 |
+
},
|
| 386 |
+
"end": {
|
| 387 |
+
"year": 2022,
|
| 388 |
+
"month": 4,
|
| 389 |
+
"day": null
|
| 390 |
+
},
|
| 391 |
+
"company_name": "Reactiv",
|
| 392 |
+
"company_username": "reactivrehab",
|
| 393 |
+
"company_url": null,
|
| 394 |
+
"company_industry": "Health, Wellness & Fitness",
|
| 395 |
+
"company_staff_count_range": "2 - 10",
|
| 396 |
+
"title": "Co-Founder & COO",
|
| 397 |
+
"location": "Brooklyn, New York, United States",
|
| 398 |
+
"description": "Reactiv (UnitedHealthcare / Techstars '21) is the virtual clinic for people with chronic joint pain, offering clinician support and interactive experiences to promote healthy movements.",
|
| 399 |
+
"employment_type": "Full-time"
|
| 400 |
+
},
|
| 401 |
+
{
|
| 402 |
+
"start": {
|
| 403 |
+
"year": 2019,
|
| 404 |
+
"month": 12,
|
| 405 |
+
"day": null
|
| 406 |
+
},
|
| 407 |
+
"end": {
|
| 408 |
+
"year": 2020,
|
| 409 |
+
"month": 10,
|
| 410 |
+
"day": null
|
| 411 |
+
},
|
| 412 |
+
"company_name": "Reactiv",
|
| 413 |
+
"company_username": "reactivrehab",
|
| 414 |
+
"company_url": null,
|
| 415 |
+
"company_industry": "Health, Wellness & Fitness",
|
| 416 |
+
"company_staff_count_range": "2 - 10",
|
| 417 |
+
"title": "Consultant, Technical & Product",
|
| 418 |
+
"location": "",
|
| 419 |
+
"description": "",
|
| 420 |
+
"employment_type": ""
|
| 421 |
+
},
|
| 422 |
+
{
|
| 423 |
+
"start": {
|
| 424 |
+
"year": 2015,
|
| 425 |
+
"month": 6,
|
| 426 |
+
"day": null
|
| 427 |
+
},
|
| 428 |
+
"end": {
|
| 429 |
+
"year": 2020,
|
| 430 |
+
"month": 10,
|
| 431 |
+
"day": null
|
| 432 |
+
},
|
| 433 |
+
"company_name": "Oblix",
|
| 434 |
+
"company_username": "oblix-vr",
|
| 435 |
+
"company_url": null,
|
| 436 |
+
"company_industry": "Computer Software",
|
| 437 |
+
"company_staff_count_range": "2 - 10",
|
| 438 |
+
"title": "Founder & CEO",
|
| 439 |
+
"location": "Greater New York City Area",
|
| 440 |
+
"description": "Oblix is an angel-funded, virtual reality start-up based in Brooklyn, NY, and the developer behind Go Guess, a social, geographic guessing game for the Oculus Rift and HTC Vive. Go Guess is currently live on the Oculus Store, Steam and Viveport.",
|
| 441 |
+
"employment_type": ""
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"start": {
|
| 445 |
+
"year": 2019,
|
| 446 |
+
"month": 4,
|
| 447 |
+
"day": null
|
| 448 |
+
},
|
| 449 |
+
"end": {
|
| 450 |
+
"year": 2019,
|
| 451 |
+
"month": 8,
|
| 452 |
+
"day": null
|
| 453 |
+
},
|
| 454 |
+
"company_name": "GAROU",
|
| 455 |
+
"company_username": "mira.world",
|
| 456 |
+
"company_url": null,
|
| 457 |
+
"company_industry": "Computer Software",
|
| 458 |
+
"company_staff_count_range": "11 - 50",
|
| 459 |
+
"title": "Acting Chief Strategy Officer",
|
| 460 |
+
"location": "Greater New York City Area",
|
| 461 |
+
"description": "Acted as Chief Strategy Officer for Garou through a partnership with Oblix. Developed custom VR experiences for clients such as Viacom, Fujitsu and SNCF in entertainment, e-commerce and real estate. Developed and managed the Business Development pipeline. Led Garou's application to Verizon's Built on 5G Challenge, resulting in a $500K award.",
|
| 462 |
+
"employment_type": ""
|
| 463 |
+
},
|
| 464 |
+
{
|
| 465 |
+
"start": {
|
| 466 |
+
"year": 2014,
|
| 467 |
+
"month": 6,
|
| 468 |
+
"day": null
|
| 469 |
+
},
|
| 470 |
+
"end": {
|
| 471 |
+
"year": 2014,
|
| 472 |
+
"month": 8,
|
| 473 |
+
"day": null
|
| 474 |
+
},
|
| 475 |
+
"company_name": "Architizer",
|
| 476 |
+
"company_username": "architizer",
|
| 477 |
+
"company_url": null,
|
| 478 |
+
"company_industry": "Computer Software",
|
| 479 |
+
"company_staff_count_range": "11 - 50",
|
| 480 |
+
"title": "Intern",
|
| 481 |
+
"location": "",
|
| 482 |
+
"description": "Developed and led the Architecture Genome Project. Collaborated closely with Marc Kushner and TED on The Future of Architecture in 100 Buildings. Systematically identified and routed dirty data from Architizer servers.",
|
| 483 |
+
"employment_type": ""
|
| 484 |
+
},
|
| 485 |
+
{
|
| 486 |
+
"start": {
|
| 487 |
+
"year": 2012,
|
| 488 |
+
"month": 4,
|
| 489 |
+
"day": null
|
| 490 |
+
},
|
| 491 |
+
"end": {
|
| 492 |
+
"year": 2012,
|
| 493 |
+
"month": 9,
|
| 494 |
+
"day": null
|
| 495 |
+
},
|
| 496 |
+
"company_name": "CasualEat",
|
| 497 |
+
"company_username": "",
|
| 498 |
+
"company_url": null,
|
| 499 |
+
"company_industry": "",
|
| 500 |
+
"company_staff_count_range": "",
|
| 501 |
+
"title": "Co-Founder",
|
| 502 |
+
"location": "Providence, Rhode Island Area",
|
| 503 |
+
"description": "Developed a model alongside three other Brown University students to bring an internet-based product to food services businesses in India and the United Arab Emirates. Personally managed a team of Bangalore-based software developers and a Palo Alto-based graphic designer and organized workflow among the founding partners.",
|
| 504 |
+
"employment_type": ""
|
| 505 |
+
},
|
| 506 |
+
{
|
| 507 |
+
"start": {
|
| 508 |
+
"year": 2011,
|
| 509 |
+
"month": 8,
|
| 510 |
+
"day": null
|
| 511 |
+
},
|
| 512 |
+
"end": {
|
| 513 |
+
"year": 2011,
|
| 514 |
+
"month": 8,
|
| 515 |
+
"day": null
|
| 516 |
+
},
|
| 517 |
+
"company_name": "Weikfield Foods Private Limited",
|
| 518 |
+
"company_username": "",
|
| 519 |
+
"company_url": null,
|
| 520 |
+
"company_industry": "",
|
| 521 |
+
"company_staff_count_range": "",
|
| 522 |
+
"title": "Marketing Intern",
|
| 523 |
+
"location": "Pune, India",
|
| 524 |
+
"description": "Produced original marketing materials alongside another intern with oversight from senior management for this multi-generational food-products business.",
|
| 525 |
+
"employment_type": ""
|
| 526 |
+
},
|
| 527 |
+
{
|
| 528 |
+
"start": {
|
| 529 |
+
"year": 2011,
|
| 530 |
+
"month": 7,
|
| 531 |
+
"day": null
|
| 532 |
+
},
|
| 533 |
+
"end": {
|
| 534 |
+
"year": 2011,
|
| 535 |
+
"month": 8,
|
| 536 |
+
"day": null
|
| 537 |
+
},
|
| 538 |
+
"company_name": "Kirloskar Oil Engines Ltd",
|
| 539 |
+
"company_username": "kirloskar-oil-engines",
|
| 540 |
+
"company_url": null,
|
| 541 |
+
"company_industry": "Mechanical Or Industrial Engineering",
|
| 542 |
+
"company_staff_count_range": "5001 - 10000",
|
| 543 |
+
"title": "Intern",
|
| 544 |
+
"location": "",
|
| 545 |
+
"description": "Developed a comprehensive report detailing potential manufacturing and logistical improvements to shop-floor operating practices as defined by the Toyota Production System.",
|
| 546 |
+
"employment_type": ""
|
| 547 |
+
},
|
| 548 |
+
{
|
| 549 |
+
"start": {
|
| 550 |
+
"year": 2010,
|
| 551 |
+
"month": 6,
|
| 552 |
+
"day": null
|
| 553 |
+
},
|
| 554 |
+
"end": {
|
| 555 |
+
"year": 2010,
|
| 556 |
+
"month": 8,
|
| 557 |
+
"day": null
|
| 558 |
+
},
|
| 559 |
+
"company_name": "New Silk Route",
|
| 560 |
+
"company_username": "new-silk-route",
|
| 561 |
+
"company_url": null,
|
| 562 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 563 |
+
"company_staff_count_range": "11 - 50",
|
| 564 |
+
"title": "Intern",
|
| 565 |
+
"location": "",
|
| 566 |
+
"description": "Led a team of interns in analyzing the social impact of this $1.4 billion Asia-focused private equity fund’s investments, measuring job creation and tax revenue generation among other data then distributed to limited partners.",
|
| 567 |
+
"employment_type": ""
|
| 568 |
+
}
|
| 569 |
+
],
|
| 570 |
+
"skills": [
|
| 571 |
+
{
|
| 572 |
+
"name": "HTML"
|
| 573 |
+
},
|
| 574 |
+
{
|
| 575 |
+
"name": "CSS"
|
| 576 |
+
},
|
| 577 |
+
{
|
| 578 |
+
"name": "JavaScript"
|
| 579 |
+
},
|
| 580 |
+
{
|
| 581 |
+
"name": "jQuery"
|
| 582 |
+
},
|
| 583 |
+
{
|
| 584 |
+
"name": "PHP"
|
| 585 |
+
},
|
| 586 |
+
{
|
| 587 |
+
"name": "Photoshop"
|
| 588 |
+
},
|
| 589 |
+
{
|
| 590 |
+
"name": "Microsoft Office"
|
| 591 |
+
},
|
| 592 |
+
{
|
| 593 |
+
"name": "Microsoft Word"
|
| 594 |
+
},
|
| 595 |
+
{
|
| 596 |
+
"name": "Microsoft Excel"
|
| 597 |
+
},
|
| 598 |
+
{
|
| 599 |
+
"name": "PowerPoint"
|
| 600 |
+
},
|
| 601 |
+
{
|
| 602 |
+
"name": "Research"
|
| 603 |
+
},
|
| 604 |
+
{
|
| 605 |
+
"name": "Social Media"
|
| 606 |
+
},
|
| 607 |
+
{
|
| 608 |
+
"name": "Process Improvement"
|
| 609 |
+
},
|
| 610 |
+
{
|
| 611 |
+
"name": "English"
|
| 612 |
+
},
|
| 613 |
+
{
|
| 614 |
+
"name": "Public Speaking"
|
| 615 |
+
},
|
| 616 |
+
{
|
| 617 |
+
"name": "Customer Service"
|
| 618 |
+
},
|
| 619 |
+
{
|
| 620 |
+
"name": "Teamwork"
|
| 621 |
+
}
|
| 622 |
+
],
|
| 623 |
+
"courses": null,
|
| 624 |
+
"certifications": null
|
| 625 |
+
}
|
tests/test_data/sample_profiles/zac_mohring.json
ADDED
|
@@ -0,0 +1,363 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"first_name": "Zac",
|
| 3 |
+
"last_name": "Mohring",
|
| 4 |
+
"is_open_to_work": false,
|
| 5 |
+
"is_hiring": false,
|
| 6 |
+
"profile_picture": "https://media.licdn.com/dms/image/v2/D5603AQFTdCS9WznD7w/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1708043869042?e=1731542400&v=beta&t=kiIH3KY6CIXTRzuIEvyA2JpZSnbd6SR9Z3v2NXrParo",
|
| 7 |
+
"summary": "",
|
| 8 |
+
"headline": "Altos Ventures",
|
| 9 |
+
"geo": {
|
| 10 |
+
"country": "United States",
|
| 11 |
+
"city": "San Francisco, California",
|
| 12 |
+
"full": "San Francisco, California, United States"
|
| 13 |
+
},
|
| 14 |
+
"languages": [
|
| 15 |
+
{
|
| 16 |
+
"name": "English",
|
| 17 |
+
"proficiency": ""
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "German",
|
| 21 |
+
"proficiency": ""
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"name": "Greek",
|
| 25 |
+
"proficiency": ""
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
"name": "Spanish",
|
| 29 |
+
"proficiency": ""
|
| 30 |
+
}
|
| 31 |
+
],
|
| 32 |
+
"educations": [
|
| 33 |
+
{
|
| 34 |
+
"start": {
|
| 35 |
+
"year": null,
|
| 36 |
+
"month": null,
|
| 37 |
+
"day": null
|
| 38 |
+
},
|
| 39 |
+
"end": {
|
| 40 |
+
"year": null,
|
| 41 |
+
"month": null,
|
| 42 |
+
"day": null
|
| 43 |
+
},
|
| 44 |
+
"field_of_study": "",
|
| 45 |
+
"degree": "Master of Business Administration - MBA",
|
| 46 |
+
"grade": "",
|
| 47 |
+
"school_name": "Stanford University Graduate School of Business",
|
| 48 |
+
"description": "",
|
| 49 |
+
"activities": ""
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"start": {
|
| 53 |
+
"year": null,
|
| 54 |
+
"month": null,
|
| 55 |
+
"day": null
|
| 56 |
+
},
|
| 57 |
+
"end": {
|
| 58 |
+
"year": null,
|
| 59 |
+
"month": null,
|
| 60 |
+
"day": null
|
| 61 |
+
},
|
| 62 |
+
"field_of_study": "Ethics, Politics & Economics",
|
| 63 |
+
"degree": "Bachelor of Arts (B.A.)",
|
| 64 |
+
"grade": "",
|
| 65 |
+
"school_name": "Yale University",
|
| 66 |
+
"description": "",
|
| 67 |
+
"activities": ""
|
| 68 |
+
},
|
| 69 |
+
{
|
| 70 |
+
"start": {
|
| 71 |
+
"year": null,
|
| 72 |
+
"month": null,
|
| 73 |
+
"day": null
|
| 74 |
+
},
|
| 75 |
+
"end": {
|
| 76 |
+
"year": null,
|
| 77 |
+
"month": null,
|
| 78 |
+
"day": null
|
| 79 |
+
},
|
| 80 |
+
"field_of_study": "",
|
| 81 |
+
"degree": "Study abroad",
|
| 82 |
+
"grade": "",
|
| 83 |
+
"school_name": "University of Cambridge",
|
| 84 |
+
"description": "",
|
| 85 |
+
"activities": ""
|
| 86 |
+
},
|
| 87 |
+
{
|
| 88 |
+
"start": {
|
| 89 |
+
"year": null,
|
| 90 |
+
"month": null,
|
| 91 |
+
"day": null
|
| 92 |
+
},
|
| 93 |
+
"end": {
|
| 94 |
+
"year": null,
|
| 95 |
+
"month": null,
|
| 96 |
+
"day": null
|
| 97 |
+
},
|
| 98 |
+
"field_of_study": "",
|
| 99 |
+
"degree": "High School Diploma",
|
| 100 |
+
"grade": "",
|
| 101 |
+
"school_name": "St. Paul Academy and Summit School",
|
| 102 |
+
"description": "",
|
| 103 |
+
"activities": ""
|
| 104 |
+
}
|
| 105 |
+
],
|
| 106 |
+
"positions": [
|
| 107 |
+
{
|
| 108 |
+
"start": {
|
| 109 |
+
"year": 2022,
|
| 110 |
+
"month": null,
|
| 111 |
+
"day": null
|
| 112 |
+
},
|
| 113 |
+
"end": {
|
| 114 |
+
"year": null,
|
| 115 |
+
"month": null,
|
| 116 |
+
"day": null
|
| 117 |
+
},
|
| 118 |
+
"company_name": "Altos Ventures",
|
| 119 |
+
"company_username": "altos-ventures",
|
| 120 |
+
"company_url": null,
|
| 121 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 122 |
+
"company_staff_count_range": "11 - 50",
|
| 123 |
+
"title": "Principal",
|
| 124 |
+
"location": "Menlo Park, California, United States",
|
| 125 |
+
"description": "",
|
| 126 |
+
"employment_type": ""
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"start": {
|
| 130 |
+
"year": 2019,
|
| 131 |
+
"month": null,
|
| 132 |
+
"day": null
|
| 133 |
+
},
|
| 134 |
+
"end": {
|
| 135 |
+
"year": 2021,
|
| 136 |
+
"month": null,
|
| 137 |
+
"day": null
|
| 138 |
+
},
|
| 139 |
+
"company_name": "Darlington Partners",
|
| 140 |
+
"company_username": "darlington-partners-capital",
|
| 141 |
+
"company_url": null,
|
| 142 |
+
"company_industry": "Financial Services",
|
| 143 |
+
"company_staff_count_range": "2 - 10",
|
| 144 |
+
"title": "Analyst",
|
| 145 |
+
"location": "San Francisco Bay Area",
|
| 146 |
+
"description": "Darlington Partners is a value-oriented investment partnership that invests in a small number of high-quality companies with a multi-year investment horizon. Most investments are in US public equities, though the fund has a broad investment mandate.",
|
| 147 |
+
"employment_type": ""
|
| 148 |
+
},
|
| 149 |
+
{
|
| 150 |
+
"start": {
|
| 151 |
+
"year": 2018,
|
| 152 |
+
"month": null,
|
| 153 |
+
"day": null
|
| 154 |
+
},
|
| 155 |
+
"end": {
|
| 156 |
+
"year": 2019,
|
| 157 |
+
"month": null,
|
| 158 |
+
"day": null
|
| 159 |
+
},
|
| 160 |
+
"company_name": "Bain Capital",
|
| 161 |
+
"company_username": "bain-capital",
|
| 162 |
+
"company_url": null,
|
| 163 |
+
"company_industry": "Financial Services",
|
| 164 |
+
"company_staff_count_range": "1001 - 5000",
|
| 165 |
+
"title": "Private Equity Associate",
|
| 166 |
+
"location": "Greater Boston Area",
|
| 167 |
+
"description": "",
|
| 168 |
+
"employment_type": ""
|
| 169 |
+
},
|
| 170 |
+
{
|
| 171 |
+
"start": {
|
| 172 |
+
"year": 2016,
|
| 173 |
+
"month": null,
|
| 174 |
+
"day": null
|
| 175 |
+
},
|
| 176 |
+
"end": {
|
| 177 |
+
"year": 2018,
|
| 178 |
+
"month": null,
|
| 179 |
+
"day": null
|
| 180 |
+
},
|
| 181 |
+
"company_name": "Bain Capital",
|
| 182 |
+
"company_username": "bain-capital",
|
| 183 |
+
"company_url": null,
|
| 184 |
+
"company_industry": "Financial Services",
|
| 185 |
+
"company_staff_count_range": "1001 - 5000",
|
| 186 |
+
"title": "Private Equity Analyst",
|
| 187 |
+
"location": "Greater Boston Area",
|
| 188 |
+
"description": "",
|
| 189 |
+
"employment_type": ""
|
| 190 |
+
},
|
| 191 |
+
{
|
| 192 |
+
"start": {
|
| 193 |
+
"year": 2015,
|
| 194 |
+
"month": null,
|
| 195 |
+
"day": null
|
| 196 |
+
},
|
| 197 |
+
"end": {
|
| 198 |
+
"year": 2015,
|
| 199 |
+
"month": null,
|
| 200 |
+
"day": null
|
| 201 |
+
},
|
| 202 |
+
"company_name": "Bain Capital",
|
| 203 |
+
"company_username": "bain-capital",
|
| 204 |
+
"company_url": null,
|
| 205 |
+
"company_industry": "Financial Services",
|
| 206 |
+
"company_staff_count_range": "1001 - 5000",
|
| 207 |
+
"title": "Private Equity Summer Analyst",
|
| 208 |
+
"location": "",
|
| 209 |
+
"description": "",
|
| 210 |
+
"employment_type": "Internship"
|
| 211 |
+
}
|
| 212 |
+
],
|
| 213 |
+
"full_positions": [
|
| 214 |
+
{
|
| 215 |
+
"start": {
|
| 216 |
+
"year": 2022,
|
| 217 |
+
"month": null,
|
| 218 |
+
"day": null
|
| 219 |
+
},
|
| 220 |
+
"end": {
|
| 221 |
+
"year": null,
|
| 222 |
+
"month": null,
|
| 223 |
+
"day": null
|
| 224 |
+
},
|
| 225 |
+
"company_name": "Altos Ventures",
|
| 226 |
+
"company_username": "altos-ventures",
|
| 227 |
+
"company_url": null,
|
| 228 |
+
"company_industry": "Venture Capital & Private Equity",
|
| 229 |
+
"company_staff_count_range": "11 - 50",
|
| 230 |
+
"title": "Principal",
|
| 231 |
+
"location": "Menlo Park, California, United States",
|
| 232 |
+
"description": "",
|
| 233 |
+
"employment_type": ""
|
| 234 |
+
},
|
| 235 |
+
{
|
| 236 |
+
"start": {
|
| 237 |
+
"year": 2019,
|
| 238 |
+
"month": null,
|
| 239 |
+
"day": null
|
| 240 |
+
},
|
| 241 |
+
"end": {
|
| 242 |
+
"year": 2021,
|
| 243 |
+
"month": null,
|
| 244 |
+
"day": null
|
| 245 |
+
},
|
| 246 |
+
"company_name": "Darlington Partners",
|
| 247 |
+
"company_username": "darlington-partners-capital",
|
| 248 |
+
"company_url": null,
|
| 249 |
+
"company_industry": "Financial Services",
|
| 250 |
+
"company_staff_count_range": "2 - 10",
|
| 251 |
+
"title": "Analyst",
|
| 252 |
+
"location": "San Francisco Bay Area",
|
| 253 |
+
"description": "Darlington Partners is a value-oriented investment partnership that invests in a small number of high-quality companies with a multi-year investment horizon. Most investments are in US public equities, though the fund has a broad investment mandate.",
|
| 254 |
+
"employment_type": ""
|
| 255 |
+
},
|
| 256 |
+
{
|
| 257 |
+
"start": {
|
| 258 |
+
"year": 2018,
|
| 259 |
+
"month": null,
|
| 260 |
+
"day": null
|
| 261 |
+
},
|
| 262 |
+
"end": {
|
| 263 |
+
"year": 2019,
|
| 264 |
+
"month": null,
|
| 265 |
+
"day": null
|
| 266 |
+
},
|
| 267 |
+
"company_name": "Bain Capital",
|
| 268 |
+
"company_username": "bain-capital",
|
| 269 |
+
"company_url": null,
|
| 270 |
+
"company_industry": "Financial Services",
|
| 271 |
+
"company_staff_count_range": "1001 - 5000",
|
| 272 |
+
"title": "Private Equity Associate",
|
| 273 |
+
"location": "Greater Boston Area",
|
| 274 |
+
"description": "",
|
| 275 |
+
"employment_type": ""
|
| 276 |
+
},
|
| 277 |
+
{
|
| 278 |
+
"start": {
|
| 279 |
+
"year": 2016,
|
| 280 |
+
"month": null,
|
| 281 |
+
"day": null
|
| 282 |
+
},
|
| 283 |
+
"end": {
|
| 284 |
+
"year": 2018,
|
| 285 |
+
"month": null,
|
| 286 |
+
"day": null
|
| 287 |
+
},
|
| 288 |
+
"company_name": "Bain Capital",
|
| 289 |
+
"company_username": "bain-capital",
|
| 290 |
+
"company_url": null,
|
| 291 |
+
"company_industry": "Financial Services",
|
| 292 |
+
"company_staff_count_range": "1001 - 5000",
|
| 293 |
+
"title": "Private Equity Analyst",
|
| 294 |
+
"location": "Greater Boston Area",
|
| 295 |
+
"description": "",
|
| 296 |
+
"employment_type": ""
|
| 297 |
+
},
|
| 298 |
+
{
|
| 299 |
+
"start": {
|
| 300 |
+
"year": 2015,
|
| 301 |
+
"month": null,
|
| 302 |
+
"day": null
|
| 303 |
+
},
|
| 304 |
+
"end": {
|
| 305 |
+
"year": 2015,
|
| 306 |
+
"month": null,
|
| 307 |
+
"day": null
|
| 308 |
+
},
|
| 309 |
+
"company_name": "Bain Capital",
|
| 310 |
+
"company_username": "bain-capital",
|
| 311 |
+
"company_url": null,
|
| 312 |
+
"company_industry": "Financial Services",
|
| 313 |
+
"company_staff_count_range": "1001 - 5000",
|
| 314 |
+
"title": "Private Equity Summer Analyst",
|
| 315 |
+
"location": "",
|
| 316 |
+
"description": "",
|
| 317 |
+
"employment_type": "Internship"
|
| 318 |
+
}
|
| 319 |
+
],
|
| 320 |
+
"skills": [
|
| 321 |
+
{
|
| 322 |
+
"name": "Microsoft Excel"
|
| 323 |
+
},
|
| 324 |
+
{
|
| 325 |
+
"name": "Customer Service"
|
| 326 |
+
},
|
| 327 |
+
{
|
| 328 |
+
"name": "Microsoft Office"
|
| 329 |
+
},
|
| 330 |
+
{
|
| 331 |
+
"name": "Policy Analysis"
|
| 332 |
+
},
|
| 333 |
+
{
|
| 334 |
+
"name": "PowerPoint"
|
| 335 |
+
},
|
| 336 |
+
{
|
| 337 |
+
"name": "Microsoft Word"
|
| 338 |
+
},
|
| 339 |
+
{
|
| 340 |
+
"name": "Financial Analysis"
|
| 341 |
+
},
|
| 342 |
+
{
|
| 343 |
+
"name": "Analysis"
|
| 344 |
+
},
|
| 345 |
+
{
|
| 346 |
+
"name": "Financial Modeling"
|
| 347 |
+
},
|
| 348 |
+
{
|
| 349 |
+
"name": "Leadership"
|
| 350 |
+
},
|
| 351 |
+
{
|
| 352 |
+
"name": "Editing"
|
| 353 |
+
},
|
| 354 |
+
{
|
| 355 |
+
"name": "Public Speaking"
|
| 356 |
+
},
|
| 357 |
+
{
|
| 358 |
+
"name": "Data Analysis"
|
| 359 |
+
}
|
| 360 |
+
],
|
| 361 |
+
"courses": null,
|
| 362 |
+
"certifications": null
|
| 363 |
+
}
|
tests/test_data/sample_profiles_classified/chanson_zhao.json
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"general": {
|
| 3 |
+
"linkedin_url": "https://www.linkedin.com/in/chansonzhao/",
|
| 4 |
+
"first_name": "Chanson",
|
| 5 |
+
"last_name": "Zhao",
|
| 6 |
+
"current_location": "San Francisco, CA"
|
| 7 |
+
},
|
| 8 |
+
"education": {
|
| 9 |
+
"undergraduate_school": "University of Southern California",
|
| 10 |
+
"undergraduate_year": 2022,
|
| 11 |
+
"graduate_school": null,
|
| 12 |
+
"graduate_school_year": null,
|
| 13 |
+
"education_history": [
|
| 14 |
+
{
|
| 15 |
+
"school": "University of Southern California",
|
| 16 |
+
"beginning_year": 2018,
|
| 17 |
+
"ending_year": 2022,
|
| 18 |
+
"degree_type": "Bachelor of Science - BS, Business Administration and Management, general",
|
| 19 |
+
"degree_characterization": "Undergraduate (Completed)",
|
| 20 |
+
"school_type": "Higher Education",
|
| 21 |
+
"school_location": "Los Angeles, CA"
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"school": "Valencia High School",
|
| 25 |
+
"beginning_year": 2014,
|
| 26 |
+
"ending_year": 2018,
|
| 27 |
+
"degree_type": "High School Diploma",
|
| 28 |
+
"degree_characterization": "Primary / Secondary School",
|
| 29 |
+
"school_type": "Primary and Secondary School",
|
| 30 |
+
"school_location": "Valencia, CA"
|
| 31 |
+
}
|
| 32 |
+
]
|
| 33 |
+
},
|
| 34 |
+
"professional_experience": {
|
| 35 |
+
"total_years_of_experience": 2.0,
|
| 36 |
+
"experience_by_secondary_job_type": {
|
| 37 |
+
"investing": 0.0,
|
| 38 |
+
"back_office": null,
|
| 39 |
+
"investment_banking": null,
|
| 40 |
+
"consulting": null,
|
| 41 |
+
"engineering": null,
|
| 42 |
+
"entrepreneur_founder": null,
|
| 43 |
+
"corpdev_strategy": null,
|
| 44 |
+
"Other": null
|
| 45 |
+
},
|
| 46 |
+
"linkedin_title": "Investment Banking Analyst at Barclays",
|
| 47 |
+
"experience_history": [
|
| 48 |
+
{
|
| 49 |
+
"company": "Barclays",
|
| 50 |
+
"title": "Investment Banking Analyst",
|
| 51 |
+
"location": "San Francisco, CA",
|
| 52 |
+
"start_date": "07/2022",
|
| 53 |
+
"end_date": "Current",
|
| 54 |
+
"duration": "2 (2/12) years",
|
| 55 |
+
"description": "Technology Coverage",
|
| 56 |
+
"primary_job_type": "Full-time",
|
| 57 |
+
"secondary_job_type": "Investment Banking",
|
| 58 |
+
"investing_focus_stage": null,
|
| 59 |
+
"investing_focus_sector": null,
|
| 60 |
+
"investment_banking_focus": "Technology / Software / TMT"
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"company": "University of Southern California - Marshall School of Business",
|
| 64 |
+
"title": "Portfolio Manager - Undergraduate Student Investment Fund (USIF)",
|
| 65 |
+
"location": "Los Angeles, CA",
|
| 66 |
+
"start_date": "03/2021",
|
| 67 |
+
"end_date": "05/2022",
|
| 68 |
+
"duration": "1 (3 / 12) years",
|
| 69 |
+
"description": "AUM: $5.3MM",
|
| 70 |
+
"primary_job_type": "Extracurricular",
|
| 71 |
+
"secondary_job_type": "Investing",
|
| 72 |
+
"investing_focus_stage": null,
|
| 73 |
+
"investing_focus_sector": null,
|
| 74 |
+
"investment_banking_focus": null
|
| 75 |
+
},
|
| 76 |
+
{
|
| 77 |
+
"company": "Barclays",
|
| 78 |
+
"title": "Investment Banking Summer Analyst",
|
| 79 |
+
"location": "San Francisco, CA",
|
| 80 |
+
"start_date": "06/2021",
|
| 81 |
+
"end_date": "08/2021",
|
| 82 |
+
"duration": "(3 / 12) years",
|
| 83 |
+
"description": "Technology Coverage",
|
| 84 |
+
"primary_job_type": "Internship",
|
| 85 |
+
"secondary_job_type": "Investment Banking",
|
| 86 |
+
"investing_focus_stage": "Investment Banking",
|
| 87 |
+
"investing_focus_sector": null,
|
| 88 |
+
"investment_banking_focus": "Technology / Software / TMT"
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"company": "Delta Sigma Pi",
|
| 92 |
+
"title": "VP Finance",
|
| 93 |
+
"location": "Los Angeles, CA",
|
| 94 |
+
"start_date": "02/2019",
|
| 95 |
+
"end_date": "06/2021",
|
| 96 |
+
"duration": "2 (5/12) years",
|
| 97 |
+
"description": null,
|
| 98 |
+
"primary_job_type": "Extracurricular",
|
| 99 |
+
"secondary_job_type": null,
|
| 100 |
+
"investing_focus_stage": null,
|
| 101 |
+
"investing_focus_sector": null,
|
| 102 |
+
"investment_banking_focus": null
|
| 103 |
+
},
|
| 104 |
+
{
|
| 105 |
+
"company": "Trojan Investing Society",
|
| 106 |
+
"title": "Senior Vice President",
|
| 107 |
+
"location": "Los Angeles, CA",
|
| 108 |
+
"start_date": "11/2019",
|
| 109 |
+
"end_date": "12/2020",
|
| 110 |
+
"duration": "2 (1/12) years",
|
| 111 |
+
"description": "USC's premier undergraduate finance organization comprised of 450+ members",
|
| 112 |
+
"primary_job_type": "Extracurricular",
|
| 113 |
+
"secondary_job_type": null,
|
| 114 |
+
"investing_focus_stage": null,
|
| 115 |
+
"investing_focus_sector": null,
|
| 116 |
+
"investment_banking_focus": null
|
| 117 |
+
},
|
| 118 |
+
{
|
| 119 |
+
"company": "Trojan Investing Society",
|
| 120 |
+
"title": "Mentorship Program",
|
| 121 |
+
"location": "Los Angeles, CA",
|
| 122 |
+
"start_date": "01/2020",
|
| 123 |
+
"end_date": "06/2020",
|
| 124 |
+
"duration": "(6/12) years",
|
| 125 |
+
"description": "",
|
| 126 |
+
"primary_job_type": "Extracurricular",
|
| 127 |
+
"secondary_job_type": null,
|
| 128 |
+
"investing_focus_stage": null,
|
| 129 |
+
"investing_focus_sector": null,
|
| 130 |
+
"investment_banking_focus": null
|
| 131 |
+
},
|
| 132 |
+
{
|
| 133 |
+
"company": "Trojan Investing Society",
|
| 134 |
+
"title": "Leaders Program",
|
| 135 |
+
"location": "Los Angeles, CA",
|
| 136 |
+
"start_date": "08/2019",
|
| 137 |
+
"end_date": "11/2020",
|
| 138 |
+
"duration": "(3/12) years",
|
| 139 |
+
"description": "",
|
| 140 |
+
"primary_job_type": "Extracurricular",
|
| 141 |
+
"secondary_job_type": null,
|
| 142 |
+
"investing_focus_stage": null,
|
| 143 |
+
"investing_focus_sector": null,
|
| 144 |
+
"investment_banking_focus": null
|
| 145 |
+
},
|
| 146 |
+
{
|
| 147 |
+
"company": "Teleo Capital",
|
| 148 |
+
"title": "Private Equity Intern",
|
| 149 |
+
"location": "Los Angeles, CA",
|
| 150 |
+
"start_date": "05/2020",
|
| 151 |
+
"end_date": "08/2020",
|
| 152 |
+
"duration": "(3/12) years",
|
| 153 |
+
"description": "Private equity firm targeting opportunities in the software & technology, healthcare IT, and industrial sectors",
|
| 154 |
+
"primary_job_type": "Internship",
|
| 155 |
+
"secondary_job_type": "Investing",
|
| 156 |
+
"investing_focus_stage": "Private Equity / Buyouts",
|
| 157 |
+
"investing_focus_sector": null,
|
| 158 |
+
"investment_banking_focus": null
|
| 159 |
+
},
|
| 160 |
+
{
|
| 161 |
+
"company": "Business Technology Group",
|
| 162 |
+
"title": "VP Operations",
|
| 163 |
+
"location": "Los Angeles, CA",
|
| 164 |
+
"start_date": "08/2019",
|
| 165 |
+
"end_date": "01/2020",
|
| 166 |
+
"duration": "(6 / 12) years",
|
| 167 |
+
"description": null,
|
| 168 |
+
"primary_job_type": "Internship",
|
| 169 |
+
"secondary_job_type": "Other",
|
| 170 |
+
"investing_focus_stage": null,
|
| 171 |
+
"investing_focus_sector": null,
|
| 172 |
+
"investment_banking_focus": null
|
| 173 |
+
},
|
| 174 |
+
{
|
| 175 |
+
"company": "USC Association of Innovative Marketing (AIM) Consulting",
|
| 176 |
+
"title": "Consultant",
|
| 177 |
+
"location": "Los Angeles, CA",
|
| 178 |
+
"start_date": "02/2019",
|
| 179 |
+
"end_date": "08/2019",
|
| 180 |
+
"duration": "(7 / 12) years",
|
| 181 |
+
"description": null,
|
| 182 |
+
"primary_job_type": "Extracurricular",
|
| 183 |
+
"secondary_job_type": "Other",
|
| 184 |
+
"investing_focus_stage": null,
|
| 185 |
+
"investing_focus_sector": null,
|
| 186 |
+
"investment_banking_focus": null
|
| 187 |
+
}
|
| 188 |
+
]
|
| 189 |
+
}
|
| 190 |
+
}
|
tests/test_data/sample_profiles_classified/eric_armagost.json
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"general": {
|
| 3 |
+
"linkedin_url": "https://www.linkedin.com/in/eric-armagost-a144904a/",
|
| 4 |
+
"first_name": "Eric",
|
| 5 |
+
"last_name": "Armagost",
|
| 6 |
+
"current_location": "San Francisco, CA"
|
| 7 |
+
},
|
| 8 |
+
"education": {
|
| 9 |
+
"undergraduate_school": "Brown University",
|
| 10 |
+
"undergraduate_year": 2013,
|
| 11 |
+
"graduate_school": null,
|
| 12 |
+
"graduate_school_year": null,
|
| 13 |
+
"education_history": [
|
| 14 |
+
{
|
| 15 |
+
"school": "Brown University",
|
| 16 |
+
"beginning_year": null,
|
| 17 |
+
"ending_year": null,
|
| 18 |
+
"degree_type": "Bachelor of Arts (B.A.), Business Economics",
|
| 19 |
+
"degree_characterization": "Undergraduate (Completed)",
|
| 20 |
+
"school_type": "Higher Education",
|
| 21 |
+
"school_location": "Providence, RI"
|
| 22 |
+
}
|
| 23 |
+
]
|
| 24 |
+
},
|
| 25 |
+
"professional_experience": {
|
| 26 |
+
"total_years_of_experience": 11.0,
|
| 27 |
+
"experience_by_secondary_job_type": {
|
| 28 |
+
"investing": 7.3,
|
| 29 |
+
"back_office": null,
|
| 30 |
+
"investment_banking": null,
|
| 31 |
+
"consulting": null,
|
| 32 |
+
"engineering": null,
|
| 33 |
+
"entrepreneur_founder": null,
|
| 34 |
+
"corpdev_strategy": null,
|
| 35 |
+
"Other": null
|
| 36 |
+
},
|
| 37 |
+
"linkedin_title": "Investor at Accel-KKR",
|
| 38 |
+
"experience_history": [
|
| 39 |
+
{
|
| 40 |
+
"company": "Accel-KKR",
|
| 41 |
+
"title": "Investment Professional",
|
| 42 |
+
"location": "Menlo Park, CA",
|
| 43 |
+
"start_date": "05/2017",
|
| 44 |
+
"end_date": "Current",
|
| 45 |
+
"duration": "7 (3 / 12) years",
|
| 46 |
+
"description": "Founded in 2000, Accel-KKR is a leading technology-focused private equity firm dedicated exclusively to investing in software and technology-enabled services companies. \n\nOur typical transactions include: \n• Acquisitions and recapitalizations of founder-owned or closely-held private companies \n• Buyouts of divisions, subsidiaries and business units from public companies \n• Take-private transactions of small public companies\n• Structured minority equity and debt investments\n\nwww.accel-kkr.com",
|
| 47 |
+
"primary_job_type": "Full-time",
|
| 48 |
+
"secondary_job_type": "Investing",
|
| 49 |
+
"investing_focus_stage": "Growth Equity",
|
| 50 |
+
"investing_focus_sector": null,
|
| 51 |
+
"investment_banking_focus": null
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"company": "William Blair & Company",
|
| 55 |
+
"title": null,
|
| 56 |
+
"location": "Chicago, Illinois",
|
| 57 |
+
"start_date": "06/2015",
|
| 58 |
+
"end_date": "05/2017",
|
| 59 |
+
"duration": "2 years",
|
| 60 |
+
"description": null,
|
| 61 |
+
"primary_job_type": "Full-time",
|
| 62 |
+
"secondary_job_type": "Investment Banking",
|
| 63 |
+
"investing_focus_stage": null,
|
| 64 |
+
"investing_focus_sector": null,
|
| 65 |
+
"investment_banking_focus": "Not Specified"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"company": "Fidelity Investments",
|
| 69 |
+
"title": null,
|
| 70 |
+
"location": "Smithfiled, Rhode Island",
|
| 71 |
+
"start_date": "06/2014",
|
| 72 |
+
"end_date": "05/2015",
|
| 73 |
+
"duration": "1 year",
|
| 74 |
+
"description": null,
|
| 75 |
+
"primary_job_type": "Full-time",
|
| 76 |
+
"secondary_job_type": "Other",
|
| 77 |
+
"investing_focus_stage": "Other - [ ]",
|
| 78 |
+
"investing_focus_sector": null,
|
| 79 |
+
"investment_banking_focus": null
|
| 80 |
+
},
|
| 81 |
+
{
|
| 82 |
+
"company": "Fidelity Investments",
|
| 83 |
+
"title": null,
|
| 84 |
+
"location": "Smithfield, Rhode Island",
|
| 85 |
+
"start_date": "06/2013",
|
| 86 |
+
"end_date": "05/2014",
|
| 87 |
+
"duration": "1 year",
|
| 88 |
+
"description": null,
|
| 89 |
+
"primary_job_type": "Full-time",
|
| 90 |
+
"secondary_job_type": "Other",
|
| 91 |
+
"investing_focus_stage": "Other - [ ]",
|
| 92 |
+
"investing_focus_sector": null,
|
| 93 |
+
"investment_banking_focus": null
|
| 94 |
+
}
|
| 95 |
+
]
|
| 96 |
+
}
|
| 97 |
+
}
|
tests/test_data/sample_profiles_classified/hansae_catlett.json
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"general": {
|
| 3 |
+
"linkedin_url": "https://www.linkedin.com/in/hansae-catlett-436a9b21/details/experience/",
|
| 4 |
+
"first_name": "Hansae",
|
| 5 |
+
"last_name": "Catlett",
|
| 6 |
+
"current_location": null
|
| 7 |
+
},
|
| 8 |
+
"education": {
|
| 9 |
+
"undergraduate_school": "Harvard University",
|
| 10 |
+
"undergraduate_year": 2011,
|
| 11 |
+
"graduate_school": "Stanford",
|
| 12 |
+
"graduate_school_year": 2019,
|
| 13 |
+
"education_history": [
|
| 14 |
+
{
|
| 15 |
+
"school": "Stanford University Graduate School of Business",
|
| 16 |
+
"beginning_year": 2016,
|
| 17 |
+
"ending_year": 2019,
|
| 18 |
+
"degree_type": "Master of Business Administration, M.B.A.",
|
| 19 |
+
"degree_characterization": "MBA",
|
| 20 |
+
"school_type": "Higher Education",
|
| 21 |
+
"school_location": "Stanford, CA"
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"school": "Stanford University",
|
| 25 |
+
"beginning_year": 2016,
|
| 26 |
+
"ending_year": 2019,
|
| 27 |
+
"degree_type": "Master of Public Policy (M.P.P.)",
|
| 28 |
+
"degree_characterization": "graduate_school",
|
| 29 |
+
"school_type": "Higher Education",
|
| 30 |
+
"school_location": "Stanford, CA"
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"school": "Harvard University",
|
| 34 |
+
"beginning_year": 2007,
|
| 35 |
+
"ending_year": 2011,
|
| 36 |
+
"degree_type": "Bachelor of Arts, Biomedical Engineering, Philosophy",
|
| 37 |
+
"degree_characterization": "Undergraduate (Completed)",
|
| 38 |
+
"school_type": "Higher Education",
|
| 39 |
+
"school_location": "Cambridge, MA"
|
| 40 |
+
},
|
| 41 |
+
{
|
| 42 |
+
"school": "UNSW",
|
| 43 |
+
"beginning_year": null,
|
| 44 |
+
"ending_year": null,
|
| 45 |
+
"degree_type": "Engineering, Philosophy, Finance",
|
| 46 |
+
"degree_characterization": "Undergraduate (Incomplete)",
|
| 47 |
+
"school_type": "Higher Education",
|
| 48 |
+
"school_location": "Sydney, New South Wales"
|
| 49 |
+
}
|
| 50 |
+
]
|
| 51 |
+
},
|
| 52 |
+
"professional_experience": {
|
| 53 |
+
"total_years_of_experience": 13.0,
|
| 54 |
+
"experience_by_secondary_job_type": {
|
| 55 |
+
"investing": 9.2,
|
| 56 |
+
"back_office": null,
|
| 57 |
+
"investment_banking": null,
|
| 58 |
+
"consulting": null,
|
| 59 |
+
"engineering": null,
|
| 60 |
+
"entrepreneur_founder": null,
|
| 61 |
+
"corpdev_strategy": null,
|
| 62 |
+
"Other": null
|
| 63 |
+
},
|
| 64 |
+
"linkedin_title": "Partner at HOF Capital | Co-founder & GP at The MBA Fund",
|
| 65 |
+
"experience_history": [
|
| 66 |
+
{
|
| 67 |
+
"company": "HOF Capital",
|
| 68 |
+
"title": "Partner",
|
| 69 |
+
"location": "New York, New York",
|
| 70 |
+
"start_date": "04/2024",
|
| 71 |
+
"end_date": "Present",
|
| 72 |
+
"duration": "(6 / 12) years",
|
| 73 |
+
"description": null,
|
| 74 |
+
"primary_job_type": "Full-time",
|
| 75 |
+
"secondary_job_type": "Investing",
|
| 76 |
+
"investing_focus_stage": "Multi-stage VC",
|
| 77 |
+
"investing_focus_sector": null,
|
| 78 |
+
"investment_banking_focus": null
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"company": "The MBA Fund",
|
| 82 |
+
"title": "Co-Founder, General Partner",
|
| 83 |
+
"location": "San Francisco, CA",
|
| 84 |
+
"start_date": "2018",
|
| 85 |
+
"end_date": "Present",
|
| 86 |
+
"duration": "6 (8 / 12) years",
|
| 87 |
+
"description": "The MBA Fund is a venture capital firm that helps founders from the top startup-producing universities create legendary companies. We most frequently back student, alumni and dropout founders from Harvard, Stanford, and Wharton (expanding presence nationally!). \n\nWe're a community of investors and operators who aren't afraid to take the riskiest leaps with founders who are just getting started. Our backers include top-tier VC firms, repeat founders, experienced execs, and super angels with ties to the communities where we invest. This network is ready and willing to help founders in our portfolio with financing, hiring, customer growth and more.\n\nSelect investments include:\n* Jeeves ($2B)\n* Dandy ($1B)\n* TRM Labs ($600M+)\n* Hightouch ($450M+)\n* Luxury Presence ($200M+)\n* FlutterFlow ($150M+)\n* Legacy ($150M+)\n* Seso ($150M+)\n* Peachy ($100M+)",
|
| 88 |
+
"primary_job_type": "Other",
|
| 89 |
+
"secondary_job_type": "Investing",
|
| 90 |
+
"investing_focus_stage": "Early-stage VC",
|
| 91 |
+
"investing_focus_sector": null,
|
| 92 |
+
"investment_banking_focus": null
|
| 93 |
+
},
|
| 94 |
+
{
|
| 95 |
+
"company": "Bessemer Venture Partners",
|
| 96 |
+
"title": "Vice President",
|
| 97 |
+
"location": "New York, New York",
|
| 98 |
+
"start_date": "07/2019",
|
| 99 |
+
"end_date": "02/2024",
|
| 100 |
+
"duration": "4 (8 / 12) years",
|
| 101 |
+
"description": null,
|
| 102 |
+
"primary_job_type": "Full-time",
|
| 103 |
+
"secondary_job_type": "Investing",
|
| 104 |
+
"investing_focus_stage": "Multi-stage VC",
|
| 105 |
+
"investing_focus_sector": null,
|
| 106 |
+
"investment_banking_focus": null
|
| 107 |
+
},
|
| 108 |
+
{
|
| 109 |
+
"company": "Omidyar Network",
|
| 110 |
+
"title": "Venture Associate",
|
| 111 |
+
"location": "San Francisco, CA",
|
| 112 |
+
"start_date": "2017",
|
| 113 |
+
"end_date": "2018",
|
| 114 |
+
"duration": "1 year",
|
| 115 |
+
"description": null,
|
| 116 |
+
"primary_job_type": "Internship",
|
| 117 |
+
"secondary_job_type": "Investing",
|
| 118 |
+
"investing_focus_stage": null,
|
| 119 |
+
"investing_focus_sector": null,
|
| 120 |
+
"investment_banking_focus": null
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"company": "Slow Ventures",
|
| 124 |
+
"title": "Venture Associate",
|
| 125 |
+
"location": "San Francisco, CA",
|
| 126 |
+
"start_date": "2016",
|
| 127 |
+
"end_date": "2017",
|
| 128 |
+
"duration": "1 year",
|
| 129 |
+
"description": null,
|
| 130 |
+
"primary_job_type": "Internship",
|
| 131 |
+
"secondary_job_type": "Investing",
|
| 132 |
+
"investing_focus_stage": null,
|
| 133 |
+
"investing_focus_sector": null,
|
| 134 |
+
"investment_banking_focus": null
|
| 135 |
+
},
|
| 136 |
+
{
|
| 137 |
+
"company": "The Bridgespan Group",
|
| 138 |
+
"title": "Venture Investor & Consultant",
|
| 139 |
+
"location": "San Francisco, CA",
|
| 140 |
+
"start_date": "09/2013",
|
| 141 |
+
"end_date": "09/2016",
|
| 142 |
+
"duration": "3 (1 /12) years",
|
| 143 |
+
"description": "Led/Co-led Seed through Series C financings for biomedical informatics/computational biology, enterprise & edtech startups on behalf of Intuit founder, Scott Cook's family office.",
|
| 144 |
+
"primary_job_type": "Full-time",
|
| 145 |
+
"secondary_job_type": "Early-stage VC",
|
| 146 |
+
"investing_focus_stage": null,
|
| 147 |
+
"investing_focus_sector": null,
|
| 148 |
+
"investment_banking_focus": null
|
| 149 |
+
},
|
| 150 |
+
{
|
| 151 |
+
"company": "Soundscope",
|
| 152 |
+
"title": "Co-Founder & Head of Product",
|
| 153 |
+
"location": "New York, New York",
|
| 154 |
+
"start_date": "2012",
|
| 155 |
+
"end_date": "2014",
|
| 156 |
+
"duration": "2 years",
|
| 157 |
+
"description": "Musician/entertainer discovery & data analytics application based on research conducted at Duke University on how people move through cities and engage with mobile devices. Acquired in 2015.",
|
| 158 |
+
"primary_job_type": "Full-time",
|
| 159 |
+
"secondary_job_type": "Entrepreneur / Founder",
|
| 160 |
+
"investing_focus_stage": null,
|
| 161 |
+
"investing_focus_sector": null,
|
| 162 |
+
"investment_banking_focus": null
|
| 163 |
+
},
|
| 164 |
+
{
|
| 165 |
+
"company": "Pacific Community Ventures",
|
| 166 |
+
"title": "Venture Analyst",
|
| 167 |
+
"location": "San Francisco, CA",
|
| 168 |
+
"start_date": "09/2011",
|
| 169 |
+
"end_date": "07/2012",
|
| 170 |
+
"duration": "(11 / 12) years",
|
| 171 |
+
"description": null,
|
| 172 |
+
"primary_job_type": "Full-time",
|
| 173 |
+
"secondary_job_type": "Investing",
|
| 174 |
+
"investing_focus_stage": null,
|
| 175 |
+
"investing_focus_sector": null,
|
| 176 |
+
"investment_banking_focus": null
|
| 177 |
+
}
|
| 178 |
+
]
|
| 179 |
+
}
|
| 180 |
+
}
|
tests/test_data/sample_profiles_classified/jake_kugler.json
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"general": {
|
| 3 |
+
"linkedin_url": "https://www.linkedin.com/in/jake-kugler-0371a958/",
|
| 4 |
+
"first_name": "Jake",
|
| 5 |
+
"last_name": "Kugler",
|
| 6 |
+
"current_location": null
|
| 7 |
+
},
|
| 8 |
+
"education": {
|
| 9 |
+
"undergraduate_school": "Northeastern University",
|
| 10 |
+
"undergraduate_year": 2015,
|
| 11 |
+
"graduate_school": "Harvard University",
|
| 12 |
+
"graduate_school_year": 2024,
|
| 13 |
+
"education_history": [
|
| 14 |
+
{
|
| 15 |
+
"school": "Harvard Business School",
|
| 16 |
+
"beginning_year": 2022,
|
| 17 |
+
"ending_year": "Present",
|
| 18 |
+
"degree_type": "Master of Business Administration - MBA",
|
| 19 |
+
"degree_characterization": "MBA",
|
| 20 |
+
"school_type": "Higher Education",
|
| 21 |
+
"school_location": "Boston, MA"
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"school": "Northeastern University",
|
| 25 |
+
"beginning_year": 2011,
|
| 26 |
+
"ending_year": 2015,
|
| 27 |
+
"degree_type": "BSBA, Finance",
|
| 28 |
+
"degree_characterization": "Undergraduate (Completed)",
|
| 29 |
+
"school_type": "Higher Education",
|
| 30 |
+
"school_location": null
|
| 31 |
+
}
|
| 32 |
+
]
|
| 33 |
+
},
|
| 34 |
+
"professional_experience": {
|
| 35 |
+
"total_years_of_experience": 9.0,
|
| 36 |
+
"experience_by_secondary_job_type": {
|
| 37 |
+
"investing": 5.1,
|
| 38 |
+
"back_office": null,
|
| 39 |
+
"investment_banking": null,
|
| 40 |
+
"consulting": null,
|
| 41 |
+
"engineering": null,
|
| 42 |
+
"entrepreneur_founder": null,
|
| 43 |
+
"corpdev_strategy": null,
|
| 44 |
+
"Other": null
|
| 45 |
+
},
|
| 46 |
+
"linkedin_title": "MBA Candidate at Harvard Busine School",
|
| 47 |
+
"experience_history": [
|
| 48 |
+
{
|
| 49 |
+
"company": "Harvard Business School",
|
| 50 |
+
"title": "MBA Candidate",
|
| 51 |
+
"location": "Boston, MA",
|
| 52 |
+
"start_date": "08/2022",
|
| 53 |
+
"end_date": "Present",
|
| 54 |
+
"duration": "2 years",
|
| 55 |
+
"description": "[ ]",
|
| 56 |
+
"primary_job_type": "Other",
|
| 57 |
+
"secondary_job_type": "Other",
|
| 58 |
+
"investing_focus_stage": null,
|
| 59 |
+
"investing_focus_sector": null,
|
| 60 |
+
"investment_banking_focus": null
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"company": "Declaration Partners",
|
| 64 |
+
"title": "Advisor - Growth Equity",
|
| 65 |
+
"location": "New York, New York",
|
| 66 |
+
"start_date": "01/2022",
|
| 67 |
+
"end_date": "07/2022",
|
| 68 |
+
"duration": "(7 / 12) years",
|
| 69 |
+
"description": "BayPine's Sister Firm. Anchored by the family office of Carlyle Co-Founder and philanthropist David M. Rubenstein, Declaration is a private investment firm with approximately $2.5B in AUM.",
|
| 70 |
+
"primary_job_type": "Advisory / Board / Independent Investor",
|
| 71 |
+
"secondary_job_type": "Investing",
|
| 72 |
+
"investing_focus_stage": "Growth Equity",
|
| 73 |
+
"investing_focus_sector": null,
|
| 74 |
+
"investment_banking_focus": null
|
| 75 |
+
},
|
| 76 |
+
{
|
| 77 |
+
"company": "BayPine",
|
| 78 |
+
"title": "Investment Professional",
|
| 79 |
+
"location": "New York, New York",
|
| 80 |
+
"start_date": "09/2020",
|
| 81 |
+
"end_date": "08/2022",
|
| 82 |
+
"duration": "1 (11 / 12) years",
|
| 83 |
+
"description": null,
|
| 84 |
+
"primary_job_type": "Full-time",
|
| 85 |
+
"secondary_job_type": "Investing",
|
| 86 |
+
"investing_focus_stage": "Private Equity / Buyouts",
|
| 87 |
+
"investing_focus_sector": null,
|
| 88 |
+
"investment_banking_focus": "generalist"
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"company": "General Atlantic",
|
| 92 |
+
"title": "Investment Professional",
|
| 93 |
+
"location": "San Francisco, CA",
|
| 94 |
+
"start_date": "07/2017",
|
| 95 |
+
"end_date": "08/2020",
|
| 96 |
+
"duration": "3 (2 / 12) years",
|
| 97 |
+
"description": "Technology Group",
|
| 98 |
+
"primary_job_type": "Full-time",
|
| 99 |
+
"secondary_job_type": "Investing",
|
| 100 |
+
"investing_focus_stage": "Growth Equity",
|
| 101 |
+
"investing_focus_sector": "Technology / Software / TMT",
|
| 102 |
+
"investment_banking_focus": null
|
| 103 |
+
},
|
| 104 |
+
{
|
| 105 |
+
"company": "Morgan Stanley",
|
| 106 |
+
"title": "Investment Banking",
|
| 107 |
+
"location": "New York, New York",
|
| 108 |
+
"start_date": "06/2015",
|
| 109 |
+
"end_date": "08/2017",
|
| 110 |
+
"duration": "2 (2 / 12) years",
|
| 111 |
+
"description": null,
|
| 112 |
+
"primary_job_type": "Full-time",
|
| 113 |
+
"secondary_job_type": "Investment Banking",
|
| 114 |
+
"investing_focus_stage": null,
|
| 115 |
+
"investing_focus_sector": null,
|
| 116 |
+
"investment_banking_focus": "Not Specified"
|
| 117 |
+
}
|
| 118 |
+
]
|
| 119 |
+
}
|
| 120 |
+
}
|