DEV Community

Cover image for πŸš€ Resume Feedback Is Easy β€” Until You Try Making It Context-Aware
Charmi Gajula
Charmi Gajula

Posted on

πŸš€ Resume Feedback Is Easy β€” Until You Try Making It Context-Aware

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
});
Enter fullscreen mode Exit fullscreen mode

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
};
Enter fullscreen mode Exit fullscreen mode

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".

Top comments (0)