That is an interesting use case! I see two potential approaches using Azure AI services but i am sure there are more.
Approach 1 - Templatized Resume (Less effort): Your output resume is always the same format.
Using a WebApp, allow a user to upload a copy of their resume and the job description. Send the resume and description to an Azure OpenAI instance and ask the model to make suggestions to the resume to tailor it more towards the job description. Ensure the model returns a JSON object within the context of your templatized resume. Save the updated version to storage and serve the URL to the user for preview.
Approach 2 - Dynamic Resume Return: Your output is the user's resume with updated changes.
This approach may require a multi-agent approach. First, send the resume and job description as in the first suggestion. Second, utilize a Python docx reader or something similar to parse the document. Send the parsed document along with the suggested changes to the second agent and ask that agent to incorporate those changes. Render the updated document, save it to Azure Storage, and serve the URL to the user.
From a high level, these are the two approaches I would take. The technologies I could see you using are Azure OpenAI, Azure AI Services, Azure Storage, Azure APIM, Azure WebApps, DocX Parser, etc.
**Note: This is a high-level overview and does not cover security requirements and other necessary considerations.
To answer your question:
Has anyone attempted something similar?
I've done both of these approaches for similar use cases but not resume updates.
Is this feasible with the tools and resources available in Azure OpenAI?
Yes, but you'll need some additional resources outside of what is in Azure OpenAI.
Let me know if you have any additional questions!
Max