The goal of this project is to build not only a private, efficent way of organizing and storing a SWE contributions across their entire career but also making the data store quickly searchable. I hope to build a few features on this foundation.
- Agentic Job Submission with Tailored Resumes, Cover Letters and Outreach to hiring personnel
- Create Reports on Developers ( in past week, on project, at company ). Could be queriable my management to allow for fluid product development think tanks.
- Efficient Model Training following a scientific approach ( if I log changes in code and affect on output, keeping track of experiments may become easier )
- A resume is a list of experience (work or individual experience)
-
- Rank all these experiences
- First Work Experience then Personal
- Work Experience
- for each project in work experience
- Recency - organize via datetime
- Industry - cosine sim -> company industry
- for each feature description - cosine sim -> preferred or required qualifications high matches are given a bonus score if required
- reorder all features with highest score first
- sum all scores and save project score
- sort by highest rank
- select <= 5 entires ( whatever max can hold)
- for all features in all projects selected, allocated space to each individual feature based on cosine which means one job can have 8 and another can have 2.
- for the features selected use description and build a work experience entry
- for each project in work experience
- Work Experience
The goal is to build an optimal summary of a persons qualifications st it gets them into the interview stage. There can be noise in rejections like the search didnt match properly st the job was looking for a candidate with a phd etc.
Errors we need to workout:
- I think the goal should be to eliminate these josb from search so that the applicant is actually qualfiied on some basic metrics ( fills all required)
- Project summary has a link to all commit summaries
- all summaries have model metadata
Observations:
- It seems like for now the ~200k token context window is sufficent to summarize commits into a project summary
- However, at scale a user might have multiple projects that can be utilized in the resume and therefore the
most straightforward approach is to inject all project summaries into the model input st the model in one turn decides what data and how to transform in a single step.
- However ( Lost in the Middle | Liu et al ) testifies the retrival of information is limited as you approach the median of the context window token range
- Therefore, it would be beneifical to sort the project summaries st the the most relevant is first. Secondly order the job description in order of preffered then required from top to bottm st the most important (required) qualifications have better visibility.
- Q: How are we going to build tailored resumes if the model cannot choose abstract representations of their work which would be induced by a simple cosine fuction before data is injected into the prompt?
- A: If we use feature aggregation the pieces may be small enough to be abstracted but general enough to comfortably fit into context.
Although these may work today I am going to try to build the first pipeline simple and possible faulty. That uses data to test validity and then we can accurately make decisions about prompt engineering.
We have the job description and the project summaries id say we just inject it with a good system prompt and we have version 1. Then we can do implement ways to optimize.
Input: System Prompt + Projects + Job Description Output: List of projects with bullets ( we can tie to work entry deterministically later.)
- Just pushed code that determinitically searches for whether the llm bullet summary project was a work experience / individual project and fetches that data
Goal:
- Utilizes all commits in project repo not depending on who was author. Allow only commit summaries that the git user wrote
I can see us addding sets for languages used and maybe a personal summary with personal details.
I think the first evaluation is observing keywords: JKW - Keyword in Job Description RKW - Keyword in resume
- TP : JKW and RKW
- FP: !JKW but RKW
- TN: !JKW and !RKW
- FN: JKW but !RKW
All Keywords may not be measured equally meaning a required qualification is more important than a preferred qualification. Possibly that company allignment means more than technical ability we need the model to be ab
This shows us the amount of information content relevant to the rob description the model was able to generate and if the information was accurate or not!
A loss function can be derived from this! and we can optimize for information retrieval!
However, we need this model to be persuasive! This can be in the form of the organization, tonality, and relevance to the companies needs