resumate / resumate.py
gperdrizet's picture
Removed extra user instructions input
00268c0 verified
"""
resumate.py
A simple Gradio UI for collecting user profile and job post information.
This app provides inputs for:
- LinkedIn resume export PDF file upload
- GitHub profile URL
- LinkedIn job post text
Upon submission, the input values are processed and displayed in the output box.
To run:
python resumate.py
"""
import gradio as gr
from functions.gradio import process_inputs
with gr.Blocks() as demo:
gr.Markdown("# Resumate: tailored resume generator")
gr.Markdown("""
## 1. Biographical details
Upload your LinkedIn profile export as a PDF file to provide experience and education details.
### How to Export Your LinkedIn Profile as PDF
1. **Go to your LinkedIn profile page** (linkedin.com/in/your-profile)
2. **Click "More" button** (three dots) in your profile header section
3. **Select "Save to PDF"** from the dropdown menu
4. **Wait for the download** - LinkedIn will generate and download your profile as a PDF file
5. **Upload the downloaded PDF** using the file upload box below
**Tip**: Make sure your LinkedIn profile is complete and up-to-date before exporting for best results!
""")
linkedin_pdf = gr.File(
label="LinkedIn Resume Export PDF",
file_types=[".pdf"],
file_count="single"
)
gr.Markdown("""
## 2. Project portfolio
Provide your GitHub profile URL, resumate will select and add the projects most relevant to the job post. Only public repositories will be considered.
**Tip**: Make sure your GitHub profile is complete and up-to-date before using resumate!
""")
github_profile = gr.Textbox(
label="GitHub Username",
placeholder="Enter your GitHub username"
)
gr.Markdown("""
## 3. The job post
Provide the full text of the job post you are applying for, resumate will tailor your resume to match the job description.
""")
job_post = gr.Textbox(
label="Job Post",
placeholder="Copy and paste the job post text here",
lines=1,
max_lines=5
)
submit_btn = gr.Button("Submit")
output = gr.Markdown(label="Generated Resume")
submit_btn.click( # pylint: disable=no-member
process_inputs,
inputs=[linkedin_pdf, github_profile, job_post],
outputs=output
)
demo.launch()