Generate tailored resume artifacts and redirect to Shoulder-Surfing Mode when AI Auto-Apply is clicked

This commit is contained in:
2026-07-22 19:53:46 -04:00
parent 4f44515f9d
commit c91bbea60d
3 changed files with 72 additions and 15 deletions
+1 -1
View File
@@ -1 +1 @@
128554 129611
+20
View File
@@ -175,6 +175,26 @@
}, },
"ai_job_portal_applications": { "ai_job_portal_applications": {
"items": [ "items": [
{
"company": "STATLINX",
"role": "Patient Care Specialist",
"platform": "Direct",
"location": "USA",
"salaryRange": "$36k",
"status": "Applied",
"matchScore": 96,
"appliedAt": "2026-07-22T23:53:08.792Z",
"jobUrl": "https://remotive.com/remote-jobs/medical/patient-care-specialist-2091069",
"jobDescription": " \n \nThis position will involve answering inbound calls for large hospital networks during our daytime shifts in a remote call center setting. Our company provides telephone answering, messaging, and alert services to physicians and medical facilities across the United States.\nIf you are a self-motivated team player looking to build a career from the comfort of your own home, we might be the team you are looking for!\nYou must live within the continental United States (+ Hawaii) to apply.\nWe curre...",
"autoApplied": true,
"timeline": [
{
"date": "7/22/2026",
"action": "Quick AI Auto-Applied from feed"
}
],
"id": "app_1784764388792_4wbzr"
},
{ {
"company": "Twilio: Principal Engineer", "company": "Twilio: Principal Engineer",
"role": "Twilio: Principal Engineer", "role": "Twilio: Principal Engineer",
+51 -14
View File
@@ -316,20 +316,57 @@ export default function App() {
jobFeeds={jobFeeds} jobFeeds={jobFeeds}
onTailorJobFeed={(item) => handleNavigateToWalkthrough(item.url)} onTailorJobFeed={(item) => handleNavigateToWalkthrough(item.url)}
onQuickApplyFeed={async (item) => { onQuickApplyFeed={async (item) => {
await handleSaveApplicationRecord({ // Auto-generate tailored bullet points & cover letter before logging
company: item.company, try {
role: item.title, const res = await fetch('/api/gemini/tailor-resume', {
platform: item.platform, method: 'POST',
location: item.location, headers: { 'Content-Type': 'application/json' },
salaryRange: item.salary, body: JSON.stringify({
status: 'Applied', resumeText: userProfile.resumeText,
matchScore: item.estimatedMatch, jobDescription: item.description,
appliedAt: new Date().toISOString(), companyName: item.company,
jobUrl: item.url, jobTitle: item.title
jobDescription: item.description, })
autoApplied: true, });
timeline: [{ date: new Date().toLocaleDateString(), action: 'Quick AI Auto-Applied from feed' }] const data = await res.json();
}); const tailoredData = data.success ? data.tailored : {};
await handleSaveApplicationRecord({
company: item.company,
role: item.title,
platform: item.platform,
location: item.location,
salaryRange: item.salary,
status: 'Applied',
matchScore: item.estimatedMatch || tailoredData.matchScore || 88,
appliedAt: new Date().toISOString(),
jobUrl: item.url,
jobDescription: item.description,
tailoredResume: tailoredData.tailoredResumeText || `• Tailored for ${item.title} at ${item.company}`,
coverLetter: tailoredData.coverLetter || `Dear Hiring Team at ${item.company},\n\nI am writing to express my strong interest in the ${item.title} role...`,
autoApplied: true,
timeline: [{ date: new Date().toLocaleDateString(), action: 'AI Tailored & Form Filled' }]
});
// Navigate to Walkthrough Tailor tab to inspect in Shoulder Surfing Mode
setSelectedJobUrl(item.url);
setActiveTab('walkthrough');
} catch (e) {
await handleSaveApplicationRecord({
company: item.company,
role: item.title,
platform: item.platform,
location: item.location,
salaryRange: item.salary,
status: 'Applied',
matchScore: item.estimatedMatch || 85,
appliedAt: new Date().toISOString(),
jobUrl: item.url,
jobDescription: item.description,
autoApplied: true,
timeline: [{ date: new Date().toLocaleDateString(), action: 'Quick AI Auto-Applied' }]
});
}
}} }}
/> />
)} )}