import streamlit as st from utils import evaluate_resumes, generate_pdf_report, store_in_supabase, score_candidate, extract_email, parse_resume from config import supabase from config import HF_API_TOKEN, HF_HEADERS, HF_MODELS import fitz # PyMuPDF from io import BytesIO from dotenv import load_dotenv import os import requests def main(): st.set_page_config(page_title="TalentLens.AI", layout="centered") st.markdown( "

TalentLens.AI

", unsafe_allow_html=True ) st.divider() st.markdown( "

AI-Powered Intelligent Resume Screening

", unsafe_allow_html=True ) uploaded_files = st.file_uploader("Upload Resumes (PDF Only)", accept_multiple_files=True, type=["pdf"]) job_description = st.text_area("Enter Job Description") if st.button("Evaluate Resumes"): shortlisted = evaluate_resumes(uploaded_files, job_description) for candidate in shortlisted: st.write(f"**{candidate['name']}** - Score: {candidate['score']}") # Generate PDF Report pdf_report = generate_pdf_report(shortlisted) st.download_button("Download Shortlist Report", pdf_report, "shortlist.pdf") if __name__ == "__main__": main()