Piano-Piano
Flow
- User will upload it's profile information (skills with seniority, experience and about)
- Then select a job
- The app will create a recommendation letter given the user profile and the requested job description using ChatGPT API
Endpoints
- GET: profile
- POST: profile
- GET: presentation
- POST: presentation
- GET: jobs
No CRUD for the jobs by the time
Models?
public class Profile
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string About { get; set; }
public string Role { get; set; }
public IEnumerable<Skill> Skills { get; set; }
public IEnumerable<Experience> Experience { get; set; }
}
public class Skill
{
public string Name { get; set; }
public int Level { get; set; }
public int ProfileId { get; set; }
}
public class Experience
{
public string CompanyName { get; set; }
public string Description { get; set; }
public string Role { get; set; }
public int ProfileId { get; set; }
}
public class User
{
public int Id { get; set; }
public int ProfileId { get; set; }
}
public class Presentation
{
public int Id { get; set; }
public int ProfileId { get; set; }
public int JobId { get; set; }
public string PresentationLetter { get; set; }
}
public class Job
{
public int Id { get; set; }
public string CompanyName { get; set; }
public string Description { get; set; }
}
Tech stack
Front
- react with Vite
Database
- postgreSql hosted in supabase
Backend
- .Net Core 7.0 Minimal API
Chat GPT prompts
YT video: https://www.youtube.com/watch?v=vlpEShQInLo&t=353s
Cover letter prompt
Act as <Profile rol>. Write a cover letter based on this job description:
<Job description>
We should also add user experience and skills. Something like:
Act as <Profile Rol>. With the following experience:
<Profile experiences>
And the following skills and seniority:
<Profile skills>
Write a cover letter based on this job description:
<Job description>