Build an AI Resume Writer App - Complete SDK Tutorial
Build an AI Resume Writer App - Complete SDK Tutorial
Learn how to build an AI-powered resume writer with the AI Pass SDK. Create professional, ATS-optimized resumes in minutes.
What You'll Build
A resume writer app that:
- Generates complete resumes from profile data
- Optimizes for ATS (Applicant Tracking Systems)
- Customizes tone and style
- Exports to multiple formats
Prerequisites
- Basic HTML/JavaScript
- AI Pass account
- 5 minutes
Step 1: Get API Credentials
- Sign up at AI Pass — $1 free credit
- Go to Developer Dashboard → OAuth2 Clients
- Create client and copy Client ID
Step 2: Initialize SDK
<script src="https://aipass.one/aipass-sdk.js"></script>
const aipass = new AIPass({
clientId: 'YOUR_CLIENT_ID',
requireLogin: true
});
Step 3: Generate Resume
async function generateResume(profile, jobDescription = '') {
const r = await aipass.apikey.v1.chat.completions({
model: 'openai/gpt-4.1-mini',
messages: [
{
role: 'system',
content: `You are an expert resume writer. Create a professional, ATS-optimized resume. Include:
1. Professional summary (2-3 sentences)
2. Work experience with action verbs and metrics
3. Skills section (technical and soft skills)
4. Education
Format as clean markdown. ${jobDescription ? 'Tailor to this job description: ' + jobDescription : 'Use general best practices.'}`
},
{
role: 'user',
content: `Create a resume for:\n${JSON.stringify(profile, null, 2)}`
}
],
temperature: 1,
max_tokens: 16000
});
return r.choices[0].message.content;
}
Step 4: Build UI
<!DOCTYPE html>
<html>
<head>
<title>AI Resume Writer</title>
<script src="https://aipass.one/aipass-sdk.js"></script>
<style>
body { font-family: system-ui; max-width: 900px; margin: 40px auto; padding: 20px; }
textarea { width: 100%; height: 300px; padding: 12px; }
input { width: 100%; padding: 12px; margin: 10px 0; }
button { padding: 12px 24px; background: #007AFF; color: white; border: none; cursor: pointer; }
#result { margin-top: 20px; padding: 20px; background: #f9f9f9; border-radius: 8px; }
</style>
</head>
<body>
<h1>AI Resume Writer</h1>
<input type="text" id="name" placeholder="Full Name">
<input type="text" id="email" placeholder="Email">
<input type="text" id="phone" placeholder="Phone">
<textarea id="experience" placeholder="Work experience (job title, company, dates, responsibilities)"></textarea>
<textarea id="skills" placeholder="Skills (comma separated)"></textarea>
<textarea id="education" placeholder="Education (degree, school, dates)"></textarea>
<textarea id="jobDesc" placeholder="Job description to tailor to (optional)"></textarea>
<button onclick="generate()">Generate Resume</button>
<div id="result"></div>
<script>
const aipass = new AIPass({
clientId: 'YOUR_CLIENT_ID',
requireLogin: true
});
async function generate() {
const profile = {
name: document.getElementById('name').value,
email: document.getElementById('email').value,
phone: document.getElementById('phone').value,
experience: document.getElementById('experience').value,
skills: document.getElementById('skills').value,
education: document.getElementById('education').value
};
const jobDesc = document.getElementById('jobDesc').value;
const result = await generateResume(profile, jobDesc);
document.getElementById('result').innerHTML = result.replace(/\n/g, '<br>');
}
async function generateResume(profile, jobDescription) {
const r = await aipass.apikey.v1.chat.completions({
model: 'openai/gpt-4.1-mini',
messages: [
{
role: 'system',
content: `Create a professional, ATS-optimized resume with summary, experience, skills, and education. ${jobDescription ? 'Tailor to: ' + jobDescription : 'Use best practices.'}`
},
{
role: 'user',
content: `Create resume for:\n${JSON.stringify(profile, null, 2)}`
}
],
temperature: 1,
max_tokens: 16000
});
return r.choices[0].message.content;
}
</script>
</body>
</html>
Revenue: 50% Commission
Earn 50% commission on every API call.
Cost
~$0.003 per resume