Inspiration

Career decisions are highly personal, but most AI career assistants today behave like one-time chatbots. They often forget important context such as a student's background, skills, goals, preferences, and past career discussions.

We wanted to build a career assistant that becomes more useful over time instead of restarting from zero every conversation.

CareerTrace was inspired by the idea that an AI career companion should maintain reliable, user-controlled memory while using structured AI workflows to support opportunity discovery, networking, resume improvement, and personalized career guidance.


What it does

CareerTrace is a memory-powered AI career assistant for students and early-career users.

Users can:

  • Upload resumes and extract structured information such as education, skills, projects, and experience
  • Review profile and memory changes before they become permanent
  • Receive personalized career guidance using relevant profile, preference, memory, and current conversation context
  • Explore job and internship opportunities with evidence-backed matching and explanations
  • Find relevant alumni, professors, recruiters, and professional connections
  • Prepare resume revisions and personalized outreach drafts

CareerTrace separates current conversation context from long-term memory. New information can help personalize the current interaction without automatically becoming permanent memory.

Approved memories can later be retrieved in future conversations so users do not have to repeatedly explain the same background and goals.


How we built it

CareerTrace uses a controlled AI-agent architecture that combines LLM reasoning, retrieval, tools, deterministic validation, and human approval.

Agent workflow

A typical request moves through several specialized steps:

User Request → Intent and Context Understanding → Structured Planning → Relevant Context Retrieval → Tool Execution → Deterministic Validation → Personalized Response

Instead of relying on one large prompt, different model calls have narrower responsibilities such as understanding the request, extracting structured information, preparing tool inputs, and generating personalized explanations.

Important model outputs are structured and checked before sensitive actions are taken.

Persistent memory

Memory follows a separate controlled workflow:

Conversation → AI Memory Signal Extraction → Structured Candidate → Validation → User Review / Approval → Persistent Memory → Future Retrieval

This prevents the AI from automatically turning every inferred statement into permanent memory.

CareerTrace stores structured information such as:

  • profile information
  • career preferences
  • semantic memories
  • career events
  • conversations and agent state
  • search constraints and evidence records

Search and personalization

CareerTrace uses structured user context together with sparse and vector retrieval to personalize recommendations.

Job search distinguishes between soft preferences and hard requirements. For example, "I prefer remote roles" can influence ranking, while "only show me remote internships" is treated as a hard search constraint.

If a posting does not provide enough evidence to verify a requested requirement, CareerTrace marks it as unverified instead of pretending it is a confirmed match.

Technology

CareerTrace is built with:

  • Python
  • Streamlit
  • LangGraph and LangChain
  • Amazon Bedrock for LLM inference
  • Amazon Nova Lite for lightweight model tasks
  • Claude Sonnet for more complex reasoning
  • Amazon Titan Text Embeddings for semantic retrieval
  • CockroachDB for persistent structured memory and retrieval
  • Amazon S3 for private document storage
  • Amazon ECS for deployment

Challenges we ran into

1. Designing reliable AI memory

One of the hardest problems was deciding what the AI should remember.

Automatically storing every extracted statement can create unreliable or outdated memory. We therefore designed an approval-based workflow where AI-extracted information is validated and reviewed before becoming permanent.

2. Balancing AI reasoning and control

A fully autonomous agent can be flexible but difficult to trust.

CareerTrace uses bounded workflows, structured outputs, deterministic validation, explicit tool permissions, and human approval for sensitive memory operations.

This allows the AI to reason and personalize responses without giving it unrestricted control.

3. Handling changing user goals

Career goals change over time.

We needed new information from the current conversation to influence recommendations immediately without automatically deleting or overwriting older permanent memories.

CareerTrace therefore separates temporary current context from persistent approved state.

4. Working with incomplete job data

Public job postings often omit information such as internship status, remote eligibility, or student requirements.

Instead of treating missing information as a match, CareerTrace distinguishes between verified matches, conflicts, and requirements that could not be confirmed.


Accomplishments that we're proud of

1. Built a persistent AI career assistant

CareerTrace can reuse approved career context across conversations instead of starting from zero each time.

2. Created a human-controlled memory workflow

AI-extracted information goes through validation and review before becoming long-term memory.

3. Built structured AI workflows instead of a single-prompt chatbot

CareerTrace combines specialized prompts, structured outputs, retrieval, tools, validation, and human approval to produce more controlled and personalized behavior.

4. Integrated a production-oriented AI stack

CareerTrace combines CockroachDB, AWS, LangGraph, retrieval, model inference, document storage, and persistent application state in a deployed system.


What we learned

Building CareerTrace taught us that effective AI agents require more than a powerful language model.

Some of our biggest lessons were:

  • Memory quality matters more than simply storing more information
  • Current context and long-term memory should be treated differently
  • Users should control what becomes permanent memory
  • Structured outputs and deterministic validation make LLM workflows more reliable
  • Hard requirements should be separated from soft personalization
  • Retrieval and evidence quality are just as important as generation quality
  • Prompt engineering works best as part of a larger workflow rather than as one isolated prompt

Persistent context can fundamentally change how people interact with an AI assistant. Instead of repeatedly explaining themselves, users can build an evolving career context that the assistant can reuse over time.


What's next for CareerTrace

We want CareerTrace to become a more complete AI career companion for students and early-career users.

Better opportunity discovery

  • broader verified job and internship source coverage
  • stronger evidence-backed recommendations
  • improved search relevance and source diversity
  • application progress tracking

Expanded networking support

  • broader alumni and professional discovery
  • personalized networking strategies
  • relationship and outreach tracking
  • follow-up reminders

Smarter career planning and memory

  • long-term career roadmap generation
  • skill-gap analysis
  • personalized learning recommendations
  • better memory organization and retrieval
  • clearer explanations of why certain context influenced a recommendation

Our goal is to create an AI career assistant that does not just answer individual questions, but develops useful, user-controlled context throughout a student's career journey.

Built With

Share this project:

Updates

Submission history