Skip to content

Repository files navigation

PathFinder

PathFinder analyzes your codebase, git commits, and optional supporting documents (research papers, job descriptions) to generate a personalized interview preparation guide — a prep.md that reflects what you actually built.

The output is a structured interview flow: a grounded candidate intro, verified Q&A organized by topic, coaching notes written from the interviewer's perspective, and natural conversational transitions between topics.


What it does

This project creates a personalized interview prep guide from your code and commit history. It generates a natural introduction, simulates realistic interview questions based on your actual work, verifies every technical claim against your repository, refines the content for clarity and flow, and compiles everything into a clean prep.md with coaching notes and organized sections.

How the pipeline works

Ingestion → Scope → Preprocessing → Intro Generator → Question Tree → Content Optimizer → Prep Renderer

Ingestion takes a GitHub URL or zip archive, records the candidate's scope of work (full repo, specific commits, or topic), and optionally copies a research paper, job description, and custom instructions.

Scope filters the repository to what the candidate actually touched — commit history by author, a named topic, or the full codebase — and builds a per-file purpose map for downstream grounding.

Preprocessing packs the scoped code into structured XML using repomix and converts supporting documents to Markdown, so all the LLM calls downstream get consistent input.

Intro Generator produces the candidate intro, project profile, and topic directions. It runs a 4-stage hybrid leak detection pipeline across all public-facing text and iteratively refines anything that exposes implementation identifiers.

Question Tree runs the stateful interview simulation. After each turn it evaluates which topics can naturally be raised next based on what the candidate has revealed. It tracks intent level progression per topic and verifies citations before accepting any answer.

Content Optimizer applies four optimization passes with semantic equivalence guards. If the guard rejects a rewrite, the original verified text is kept and the rejection is logged.

Prep Renderer takes the flat optimized node list, groups it into typed sections, and assembles the final document with profile cards, coaching blockquotes, and transitions.


Prerequisites

  • Python 3.10+
  • Node.js & Repomix (npm install -g repomix) — required for code packing
  • API Key: GEMINI_API_KEY or DEEPSEEK_API_KEY set in your environment
pip install -r requirements.txt
npm install -g repomix

Run the TUI:

python3 orchestrator.py

Or run headless (useful for scripting or testing):

python3 orchestrator.py --headless

If a run was interrupted partway through, resume it without re-running completed stages:

import orchestrator
orchestrator.resume_pipeline("<run_id>")

Running the checks

# Unit tests
python3 -m pytest tests/

# Docstring and comment audit
python3 scripts/comment_audit.py

# Static analysis
pylint modules/ orchestrator.py tui_app.py

Future work

  • More LLM providers.
  • A web UI.
  • Faster runs.
  • Deeper code analysis.

About

An AI-powered tool that generates a personalized interview steering script from your actual project source code, scope, and optional extra materials.

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages