TN

tam159/next-role

Developer tools
61ย stars Quality 55 Trend 55

๐Ÿš€ Level up your career with GenAI. ๐Ÿ“„ Tailor your CV to any JD, ๐Ÿ” automate company research, and ๐Ÿ—“๏ธ generate custom interview prep plans for your next role or internal promotion.

Overview

Preparing for an interview takes hours of tedious resume tailoring and company research. Hand it your current CV and a target Job Description (or just a JD URL) โ€” whether you're applying externally or angling for an internal move โ€” and a team of specialized AI agents researches the company, rewrites your resume to fit, coaches you round-by-round, and prints a cheat sheet for the day of. - ๐Ÿ“„ โ€” your experience rewritten against the exact JD + company research, rendered with rendercv (editable & re-renderable). - ๐Ÿ” โ€” live web research distilled into a match analysis. - ๐ŸŽฏ โ€” a self-introduction plus per-round STAR stories mapped to the role. - โšก โ€” a one-page-per-round PDF cheat sheet for the final high-pressure review. - ๐Ÿ—“๏ธ โ€” a study plan that fits 1 month, 2 weeks, or just 3 hours. - ๐Ÿ”— โ€” point it at a careers page; it extracts and processes the posting for you. - ๐Ÿ’ฌ โ€” "add a 4th round", "add React to my skills" โ€” streaming multi-turn edits, with the right agent owning each file.

README


What is NextRole?

Preparing for an interview takes hours of tedious resume tailoring and company research. NextRole automates the heavy lifting. Hand it your current CV and a target Job Description (or just a JD URL) โ€” whether youโ€™re applying externally or angling for an internal move โ€” and a team of specialized AI agents researches the company, rewrites your resume to fit, coaches you round-by-round, and prints a cheat sheet for the day of.

  • ๐Ÿ“„ Tailored resume โ†’ PDF โ€” your experience rewritten against the exact JD + company research, rendered with rendercv (editable & re-renderable).
  • ๐Ÿ” Deep company & role recon โ€” live web research distilled into a match analysis.
  • ๐ŸŽฏ Structured interview prep โ€” a self-introduction plus per-round STAR stories mapped to the role.
  • โšก Day-of battlecard โ€” a one-page-per-round PDF cheat sheet for the final high-pressure review.
  • ๐Ÿ—“๏ธ Time-boxed prep plans โ€” a study plan that fits 1 month, 2 weeks, or just 3 hours.
  • ๐Ÿ”— Paste a JD URL โ€” point it at a careers page; it extracts and processes the posting for you.
  • ๐Ÿ’ฌ Iterate by chatting โ€” โ€œadd a 4th roundโ€, โ€œadd React to my skillsโ€ โ€” streaming multi-turn edits, with the right agent owning each file.
  • ๐Ÿ—‚๏ธ Built-in workspace โ€” upload, preview (PDF / MD / YAML / JSON / code), print-to-PDF, and swap the LLM at runtime.

Demo

Your browser does not support the video tag.

โ–ถ๏ธ Watch the full walkthrough in HD on YouTube ยป

Quick Start

The whole stack โ€” frontend, backend, Postgres, Redis, S3-compatible object storage, and an analytics stack (ClickHouse, Dagster, Cube, Superset) โ€” runs in Docker.

# 1. Clone & configure
git clone https://github.com/tam159/next-role.git
cd next-role
cp .env.example .env          # then fill in your API keys (see table below)

# 2. Launch everything
docker compose up -d

# 3. Find your host ports (set in .env, vary per machine)
docker ps                     # read the 0.0.0.0:->... mappings

# 4. Open the app
#    Frontend UI      โ†’  http://localhost:/
#    Backend API docs โ†’  http://localhost:/docs

๐Ÿ’ก Pick your LLM in the app. Open the in-app Configuration dialog to set the main agent and subagent models โ€” no rebuild needed. See LLM configuration below for recommended models and free / local options.

Architecture

NextRole is a supervisor agent orchestrating three specialist subagents on LangGraph + DeepAgents. The main agent handles intake, document processing, and the final battlecard; it delegates research, resume tailoring, and interview coaching to declarative subagents (defined in subagents.yaml, each with its own model, tools, and skills).

How It Works

A five-stage generation pipeline. Stage 4 runs the resume tailor and interview coach in parallel; after generation, Stage 6 routes follow-up edits to whichever agent owns the target file.

Roadmap

  • ๐Ÿ’ค โ€œAuto-dreamโ€ consolidation โ€” sleep-time compaction that prunes stale notes and merges insights into durable memory.
  • ๐Ÿ” Wider execute allowlist in sandbox mode โ€” remote sandboxes shipped (SANDBOX_PROVIDER=e2b โ†’ self-hosted CubeSandbox or E2B Cloud); next, let sandboxed deployments auto-approve more than the conservative read-only list.
  • ๐Ÿ“Š Agent evaluation โ€” LangSmith evals over the workflow (the @pytest.mark.eval marker is already reserved).
  • ๐ŸŽจ Enhanced UI โ€” richer artifact editing, diff views, and inline regeneration.
  • ๐Ÿ”Œ MCP / A2A examples โ€” sample integrations driving career_agent from external agents and IDEs.
  • โ˜๏ธ Cloud deployment โ€” binary artifacts already live in S3-compatible object storage (SeaweedFS locally; point OBJECT_STORE_* at S3 / GCS / Azure). Remaining: managed bucket provisioning (versioning, SSE, IAM) and presigned-URL delivery.
  • ๐ŸŒ More sources & ATS-aware tailoring โ€” pluggable retrievers + keyword/ATS optimization passes.

Limitations

Multi-user mode isolates data; before opening signups to untrusted users, also move shell execution off the default local mode (SANDBOX_PROVIDER=e2b).

  • ๐Ÿ”’ Local shell execution is the default โ€” with SANDBOX_PROVIDER=local, execute and render commands run via subprocess on the host (HiL-gated). Safe locally and for a trusted team; for untrusted multi-tenant use switch to e2b so every command runs in an isolated microVM (deploy/cubesandbox/).
  • ๐Ÿงช LLM evals deferred โ€” current tests are unit + local-DB integration; automated quality evals arenโ€™t wired up yet.
  • ๐Ÿง  Personalization is preferences-only โ€” the agent persists and auto-applies the preferences you state across sessions, but doesnโ€™t yet infer your style/history on its own or consolidate memory over time (see roadmap).
  • โฑ๏ธ Latency โ€” a full run makes several LLM and tool calls across multiple agents; expect minutes, not seconds.

๐Ÿ—บ๏ธ Explore the codebase graph

This repo ships a pre-built architecture knowledge graph in .ua/ โ€” the whole codebase mapped by Understand-Anything into 1,100+ nodes across 10 architectural layers, with a guided tour. Browse it as an interactive dashboard:

The same treatment exists for the productโ€™s design history: every feature ships with a PRD in docs/prd/ โ€” an OKF knowledge bundle whose committed interactive graph (docs/prd/viz.html) maps how features extend and supersede each other. The codebase graph maps the code; the PRD graph maps the decisions. See docs/prd/README.md to browse or regenerate it.

Contributing

PRs and issues are welcome! Start with CONTRIBUTING.md โ€” it walks through the fork โ†’ PR workflow, local setup, the CI quality gate (code quality + backend tests + frontend tests), testing, and conventions. Stack-specific details live in backend/AGENTS.md, frontend/AGENTS.md, and analytics/AGENTS.md; commits follow Conventional Commits.

New here? Issues labelled good first issue are a gentle place to start, and questions are welcome in Discussions.

License

MIT ยฉ 2026 Tam Nguyen

Acknowledgements

Built on DeepAgents, LangChain / LangGraph / LangSmith, rendercv, WeasyPrint, Tavily, and LlamaIndex / LlamaParse.

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add tam159/next-role