Project 1 Sprint 4
This agile sprint is a continuation sprint3
found here, which itself was a continuation of sprint2
found here and sprint1 found
here. An instructor's solution for sprint2 will be published shortly
after this assignment, at which time I will be unable to accept any late
sprint2 submissions.
Summary: In this final sprint we will put it all together and
create a program which will let a user selected a job and use an AI/LLM to
help write a targeted resume/cover letter.
Due: Sunday March 9th at 11:59pm (Spring Break
officially begins on Monday March 10th)
Important: Do all of your work in
the same github project as sprint1 Sprint2 and Sprint3.
Deliverable for Sprint4
- In this final Sprint you will build a complete application which will
- Allow the user to select a job and display the full job information
as per sprint3
- Allow the user to enter user data as per sprint3
- keep track of the user data using a 'profile name' (no need for
security - we'll assume only one user for now)
- allow the user to enter multiple profiles with distinct data - the
Database you vs the Full-Stack-Developer you for example
- Allow the user to select one of these users/profiles from a list
- when the user has selected one job and one user profile,
Programmatically send the job description and the information about
the user (including projects, classes etc) to the LLM/AI that you
worked with in sprint1 (or another one if you have changed for some
reason - please inform your instructor in this case)
- Ask the LLM to create a customized cover letter in markdown format
for this user and this job, save the resulting markdown document to
a file (only the file, and not any of the extra stuff that the AI
system sends back)
- Ask the LLM to then create a customized resume in markdown format
for this user and this job. save the resulting markdown document to
a file (only the file, and not any of the extra stuff that the AI
system sends back)
- programmatically convert the markdown to PDF format
- for example in go one might use:
- in python one might use:
- Automated Tests
- test that you get a 200/ok back from the LLM when you query it
(you will need to use the github secrets approach for this)
- test that your automatically created prompt contains both the job
description and then user information
- this will require either multiple tests or a very long one.
- write at least one other test of one of your production functions
- Readme:
- update your readme to explain which of your tests functions cover
which of the case in the test section above.
- add instruction so I know everything I need to in order to run
your program properly and painlessly on my machine.
- Evaluation (DUE in class the second class of the week after
spring break break as a physical paper):
- Write a paper evaluating your experiences with the LLMs.
- How well did the LLM work
- did it provide a reasonable cover letter/resume given the
information about you that you gave it and the job description
- Did it add anything else irrelevant (for example in one of my
test runs it added that I was proficient in Spanish - I am not
and did not tell the LLM that I was)
- Evaluate these LLMs for the potential to change the industry
- Sequoia Capital has found that there has been $600 billion
invested globally in AI, but less than $100 billion in revenue
(not profit, but revenue) from AI LLMS, that means either we are
in a big bubble, or we need to find some money making
applications for it; argue whether we are at the cusp of
something new or in a bubble based on your experiences in this
assignment and any previous experience (not
just previous experience)
- in the first class of the week after spring break, we will do
our standard retrospective. In that retrospective, in addition to
the usual things, I was to have you discuss your results with each
other. How similar were the results? Do you think you would be
able to detect AI generated cover letters/resumes if you were a
recruiter getting a hundred of each for a job? Discuss this final
question in your paper.
Submitting this assignment
At the due date (or since it is midnight - probably the next morning) I
will re-pull your project from the original repository for the readme and
program part
I will take the written papers (in standard Business English) in the
second class in the week after spring break.