InterviewGraph is a LangGraph-based service that generates structured interview questions from resume content.
It accepts either resume text or a PDF file, extracts relevant signals, and returns 15 questions with difficulty ratings.
The response includes both structured JSON and Markdown for interviewer-friendly review.
This project was developed through Act-Operator.
- Accepts resume text or PDF input
- Parses resume sections (summary, skills, experience, projects, education)
- Extracts signals (skills, projects, keywords)
- Generates 15 interview questions
- Rates question difficulty (1-5)
- Formats output as JSON and Markdown
Pipeline:
extract_text -> parse_sections -> extract_signals -> generate_questions -> rate_difficulty -> format_output
- Install dependencies:
uv sync --all-packages- Run API server:
uv run uvicorn app.main:app --reload- Open API docs:
http://127.0.0.1:8000/docs
POST /api/v1/interview-questionsfor text inputPOST /api/v1/interview-questions/uploadfor PDF upload (multipart/form-data)
Example JSON payload:
{
"resume_text": "Summary ... Skills ... Projects ..."
}Build image:
docker build -t interviewgraph:local .Run container:
docker run --rm -p 8000:8000 interviewgraph:localOpen docs:
http://127.0.0.1:8000/docs
This repository includes .github/workflows/publish-ghcr.yml.
- On push to
main, the workflow builds and publishes toghcr.io/<owner>/<repo>. - On push tag
v*, it also publishes versioned tags. - You can manually trigger publishing with
workflow_dispatch.
Pull from GHCR:
docker pull ghcr.io/<owner>/<repo>:latest
docker run --rm -p 8000:8000 ghcr.io/<owner>/<repo>:latest- Text-extractable PDF support
- Resume-grounded question generation pipeline
- Structured error payloads
- OCR for scanned PDFs
- Vector DB / RAG
- Multi-agent orchestration
- Mock interview answer scoring
Apache License 2.0 - see LICENSE for details.