iTechnically Kan Resume Tailor

Full-Stack Development AI Product Design Next.js OpenAI API

The iTechnically Kan Resume Tailor is a private, invitation-only AI web app that helps job seekers assess their fit for a role and build a clearer, targeted résumé draft. Users upload or paste a résumé, add a job description, and get a structured fit review plus an editable, exportable tailored résumé.

View Live Project
iTechnically Kan Resume Tailor App
3-Step
Guided Workflow
1–10
AI Match Score Scale
DOCX
ATS-Friendly Export

Project at a Glance

  • Live project: resume.itechnicallykan.com (private, invitation-only)
  • Audience: Job seekers preparing a tailored application
  • Format: Three-step guided workflow — résumé, job description, review & export
  • My role: Product direction, UX design, full-stack development, AI workflow design, database architecture, deployment, testing, and production troubleshooting
  • Outcome: A structured fit review and an editable, exportable, ATS-friendly tailored résumé draft

The Problem: Résumés Take Too Long to Get Right

Part of what pushed me to build this: several close friends have been laid off recently, and the job hunt has been frustrating in ways that have nothing to do with their qualifications. The expectation now is to tailor a résumé for every application, which is already time-consuming on its own. Applicant tracking systems make it worse — they scan for specific keyword matches, not overall relevance or sentiment, so a strong-fit résumé can still get filtered out for using different wording than the job post.

Beyond ATS keyword matching, job seekers often know their experience is relevant but struggle to identify what to emphasize, which requirements might be gaps, and how to make a résumé easier for a recruiter to scan quickly.

I built this tool to make that process more structured, without presenting AI output as unquestionable final copy.

The Solution: A Three-Step Workflow

The app guides users through a three-step workflow:

1. Add a Résumé

Users can paste text or upload a PDF or DOCX. Files are processed in memory and are not permanently stored.

2. Add a Job Description

The job-description step unlocks only after the résumé is ready, preventing users from moving ahead while document parsing is incomplete.

3. Review and Export

The app returns:

  • Company, role, and contact information when available
  • A 1–10 match score with reasoning
  • Relevant job language, alignment opportunities, and gaps to confirm
  • An editable tailored résumé draft
  • A summary of suggested changes
  • An ATS-friendly DOCX export

My Role

I led product direction, UX design, frontend and backend implementation, AI workflow design, database architecture, deployment, testing, and production troubleshooting.

I made product decisions through live testing rather than assuming the workflow was clear. For example, I redesigned the intake flow so users see a visible "Resume ready" confirmation before the job-description field becomes available. I also added upload feedback, generation progress states, duplicate-request protection, clearer authentication states, and failure handling that preserves user credits.

AI Approach: A Recruiter-Style Process

The AI workflow follows the process a recruiter uses to work a résumé against a job:

  1. Analyze the role and candidate fit.
  2. Identify relevant job language and requirements that need confirmation.
  3. Create a tailored, editable résumé draft.

The résumé stays the source of candidate facts. The prompt explicitly prohibits inventing skills, credentials, employers, dates, job titles, metrics, technologies, or achievements. The output is framed as a draft that users review before exporting.

This keeps the product useful without treating AI output as automatic truth.

Privacy and Access

The app is invitation-only and includes:

  • Email/password authentication
  • Secure server-side sessions
  • Role-based admin access
  • User status controls
  • Credit-based generation limits
  • Transaction-based credit tracking

Credits are deducted only after a completed generation. Failed requests don't consume a credit.

Résumé files, résumé text, job descriptions, and generated drafts are not permanently stored in the database. The database keeps only the operational data needed for accounts, invitations, credits, generation status, and limited security auditing.

Technical Implementation

Next.js 16 React 19 TypeScript Hostinger Node.js Hostinger MySQL (mysql2) OpenAI Responses API Zod Validation JOSE Sessions bcrypt Mammoth DOCX Extraction PDF Text Extraction DOCX Generation

Production Work: Real Deployment, Real Debugging

The project required real deployment debugging across several layers: MySQL connectivity, session authentication, document parsing in a managed Node runtime, cached deployment visibility, OpenAI connectivity, response validation, and credit recovery.

The final production flow was verified live:

  • Hostinger MySQL and authentication work
  • PDF and DOCX extraction work
  • GitHub-to-Hostinger deployments work
  • Hostinger can reach OpenAI successfully
  • AI fit analysis and résumé generation work
  • Users can review and export the resulting DOCX

The Results

This project shows how I build AI-assisted products beyond just the interface: guided UX, privacy-aware data handling, real authentication and credit controls, structured AI outputs, deployment verification, and iterative production debugging.

What it adds up to is a practical, hosted workflow that helps people understand their fit for a role and put together a more relevant application draft to work from.

Interested in working together?

Whether you're building AI-assisted products, designing learning systems, or just want to talk shop — I'm always down to connect.

Let's Connect
iTechnically Kan Logo

© 2026 iTechnically Kan. Digital Literacy for Everyone. Privacy Policy