AI Navigate

🚀 Resume Feedback Is Easy — Until You Try Making It Context-Aware

Dev.to / 3/21/2026

💬 OpinionIdeas & Deep AnalysisTools & Practical Usage

Key Points

  • The article argues that making resume feedback context-aware requires integrating resume data with stored memory to capture the full story rather than treating the resume as the sole source of truth.
  • A basic pipeline (parse resume, extract skills and projects, compare to target roles, and suggest improvements) exists but is insufficient without broader user context.
  • It highlights that a resume is only a snapshot and can omit recent work or important details, leading to gaps in analysis.
  • The proposed solution is to merge resume data with memory (memory retrieval) to enable more accurate, context-rich feedback for career guidance.

While building my AI Career Advisor, I initially assumed resume feedback would be one of the simplest features.

Upload resume → analyze → give suggestions.

There are already dozens of tools doing this, so it seemed straightforward.

But once I introduced memory and user context, things became much more complex.

🧠 What the system actually needs to do

At a basic level, the system should:

  • Parse a resume
  • Extract skills and projects
  • Compare them with target roles
  • Suggest improvements

Simple enough — but in practice, this wasn’t sufficient.

Because a resume is only a "snapshot", not the full story.

⚠️ The real problem: resumes are incomplete

Users often:

  • Forget to include recent work
  • Undersell their projects
  • Omit important details

If the system only analyzes the uploaded resume, it misses critical context.

So the real challenge became:

👉 'How do we combine resume data with stored user memory?'

❌ First attempt: treat resume as the source of truth

const parsedResume = parseResume(file);

const response = await llm.generate({
  input: "Give resume feedback",
  context: parsedResume
});

This worked — but only at a surface level.

It couldn’t detect missing information or inconsistencies.

✅ The fix: merge resume with memory

const memory = await hindsight.retrieve(userId);
const resumeData = parseResume(file);

const context = {
  resume: resumeData,
  pastProjects: memory.projects,
  skills: memory.skills
};

Now the model has access to:

  • What the user wrote
  • What the system already knows

💡 Why this matters

This enables insights like:

  • “You worked on X but didn’t include it”
  • “Your project description is too vague compared to stored details”

This kind of feedback is impossible without memory.

🔗 Using Hindsight for context

The memory layer is powered by:
👉 https://github.com/vectorize-io/hindsight

More details:
👉 https://hindsight.vectorize.io/

Concepts:
👉 https://vectorize.io/features/agent-memory

📈 What improved after this change

Before:

  • Generic resume tips
  • Repetitive suggestions

After:

  • Context-aware corrections
  • Missing content detection
  • Better personalization

❌ What didn’t work

  • Relying only on resume text
  • Ignoring past interactions
  • Overloading the model with full memory

🧩 Lessons learned

  • A resume is incomplete without history
  • Memory enables comparison, not just analysis
  • Context merging is more powerful than parsing

🏁 Final thought

Resume feedback is easy to build.

Context-aware resume feedback is not.

And the difference is "memory".