Danial7 commited on
Commit
7efba7f
·
verified ·
1 Parent(s): a99cda2

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -0
app.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Directory structure:
2
+ # - app.py
3
+ # - utils.py
4
+ # - job_api.py
5
+ # - requirements.txt
6
+ # - assets/ (for optional icons/images)
7
+
8
+ # app.py
9
+ import streamlit as st
10
+ from utils import parse_resume, get_recommendations, load_models, generate_career_insights
11
+ from job_api import fetch_jobs
12
+
13
+ st.set_page_config(page_title="Universal CV Analyzer", layout="wide")
14
+
15
+ st.title("📄 Universal Smart CV Analyzer & Career Roadmap")
16
+
17
+ uploaded_file = st.file_uploader("Upload your CV (PDF)", type="pdf")
18
+
19
+ if uploaded_file:
20
+ with st.spinner("Analyzing your CV. Please wait..."):
21
+ nlp, llm = load_models()
22
+ text, parsed = parse_resume(uploaded_file, nlp)
23
+ st.success("✅ Resume parsed successfully")
24
+
25
+ st.header("🔍 CV Summary & Score")
26
+ st.json(parsed)
27
+ score, feedback = get_recommendations(parsed)
28
+ st.metric(label="CV Score (out of 100)", value=score)
29
+ st.write("**Suggestions to improve:**")
30
+ st.write(feedback)
31
+
32
+ st.header("💼 Live Job Listings")
33
+ jobs = fetch_jobs(parsed)
34
+ for job in jobs:
35
+ st.markdown(f"**{job['title']}** at {job['company']}\n\n{job['location']} - {job['salary']}\n\n[Apply]({job['url']})")
36
+
37
+ st.header("🎓 Certification & Higher Education Suggestions")
38
+ certs = generate_career_insights(parsed, llm, suggestion_type="certifications")
39
+ degrees = generate_career_insights(parsed, llm, suggestion_type="degrees")
40
+ st.write("**Recommended Certifications:**")
41
+ st.write(certs)
42
+ st.write("**Higher Education Paths:**")
43
+ st.write(degrees)
44
+
45
+ st.header("🧭 Personalized Career Roadmap & Visa Advice")
46
+ roadmap = generate_career_insights(parsed, llm, suggestion_type="roadmap")
47
+ st.write(roadmap)
48
+
49
+ st.header("🧠 Career Counselor Advice")
50
+ advice = generate_career_insights(parsed, llm, suggestion_type="counselor")
51
+ st.write(advice)