Skip to main content

Agentic Career Lab

A Privacy-First, Multi-Agent AI Career Assistant
Empowering students and job seekers with evidence-grounded career planning, local AI resume intelligence, and actionable upskilling.

Release v0.10.2 Python 3.11+ Google ADK Local Gemma 4 Ollama Docker CI Status MIT License


🌟 Executive Summary

Agentic Career Lab is an open-source, evidence-grounded career guidance platform designed for college students and technical job seekers. It pairs Google ADK multi-agent registration and tool adapters with local Gemma 4 (gemma4:12b via native Ollama) for private resume analysis, providing structured roadmaps and real-time interactive actions through a modern Streamlit application.


📸 See It in Action

Real screenshots captured directly from the live application:

1. Student Dashboard 2. Ask Career AI Assistant
Student Dashboard
Quick actions, target role metrics, and persistent career journey tracking.
Ask Career AI
Streaming multi-turn guidance powered by local Gemma 4 with interactive action buttons.
3. Skill Gap Analysis 4. Guided Learning Plan
Skill Gap Analysis
Explainable 3-tier categorization: Demonstrated, Mentioned, and Missing skills.
Guided Learning Plan
Tailored weekly roadmap across WATCH, LEARN, PRACTICE, and BUILD modalities.

📸 For the complete inventory of all 10 verified application screens, see the Screenshot Manifest.


🏛️ How It Works

Agentic Career Lab coordinates specialist agents across clear boundaries. The Streamlit interface connects to the CareerChatOrchestrator and Google ADK Coordinator, dispatching domain tools across local and optional cloud environments.

Multi-Agent Architecture

Verified Architecture Components:

  • Streamlit Application (app.py): High-performance UI shell with real-time token streaming and navigation state machine.
  • Ask Career AI (chat/): Conversational engine integrating progressive local Ollama streaming with grounded tool calling.
  • Google ADK Coordinator (coordinator/adk_coordinator.py): Registers specialized specialist agents (job_scout, private_resume_agent, skill_builder) and exposes typed tool wrappers.
  • Job Scout Agent (agents/job_scout/): Discovers verified opportunities and normalizes job requirements deterministically.
  • Private Resume Agent (agents/resume_agent/): Evaluates uploaded resumes strictly in memory via local Gemma 4, enforcing factual grounding.
  • Skill Builder Agent (agents/skill_builder/): Calculates requirement matches and maps missing skills to canonical resources.
  • Grounded Career Tools (chat/tools.py): Typed adapters (find_jobs, recommend_resources, explain_skill_gaps) providing validated parameters.

💡 For low-level container topology, Tempo tracing, and Prometheus metrics, see the Docker & Observability Architecture.


🔒 Privacy First

Privacy is a non-negotiable architectural boundary in Agentic Career Lab. We guarantee that your private documents remain strictly under your control.

Privacy Boundary

Core Privacy Guarantees:

  1. Local-First Default: All resume parsing, skill evidence extraction, and chat reasoning run on your host machine via Ollama (gemma4:12b).
  2. Zero Default Cloud Inference: Cloud AI endpoints are completely disabled unless affirmative, recorded consent (cloud_consent=True) is explicitly granted.
  3. Strict Payload Allowlist: When optional cloud planning is activated, the privacy guard transmits only high-level skill names and target titles. Raw resume text, personal contact information, and PDF bytes are never transmitted.
  4. Offline Fallback Engine: If cloud consent is denied or external networks are unavailable, a deterministic Python planner generates comprehensive curricula directly from the local 104-item catalog.
  5. Sanitized Telemetry: Observability traces (OpenTelemetry, Prometheus, Tempo) automatically redact prompts, completions, and student PII.

🎯 Key Features & Capabilities

  • 💬 Multi-Turn "Ask Career AI": Context-aware career mentor answering queries about readiness, missing skills, and interview preparation.
  • ⚡ Real-Time Gemma 4 Streaming: Progressive token streaming directly in Streamlit via native Ollama streaming (httpx.stream) with clear visual progress states.
  • 🎮 5 Interactive Career Actions:
    • SELECT_JOB: Binds an opportunity to your session and invalidates stale comparisons.
    • OPEN_SKILL_GAP_ANALYSIS: Routes directly to the evidence-based requirement breakdown.
    • OPEN_LEARNING_RESOURCE: Opens curated HTTPS resources directly from the 104-item catalog.
    • CONTINUE_LEARNING: Navigates to your next incomplete task in My Learning Plan.
    • VIEW_CAREER_REPORT: Opens the exportable comprehensive Markdown career summary.
  • 🧭 Interactive Career Journey Tracker: Clickable 3-stage progress tracker (1. Job Selected → 2. Resume Analyzed → 3. Learning Plan Ready).
  • 📚 Curated 104-Resource Learning Catalog: High-quality learning materials organized by modality:
    • 📺 WATCH: YouTube tutorials and architectural deep dives from engineering leaders.
    • 📖 LEARN: Official documentation, standard certification curricula, and textbooks.
    • 💻 PRACTICE: Interactive code katas, sandboxes, and cloud labs.
    • 🛠️ BUILD: Real-world capstone projects, open-source repositories, and portfolio deliverables.

🚀 Quickstart Guide

Option A: Direct Launch with uvx (Fastest, No Clone Needed)

Run the application directly in an isolated environment via uvx:

# Check system prerequisites (Ollama & Gemma 4)
uvx agentic-career-lab doctor

# Launch the interactive Streamlit application
uvx agentic-career-lab

💡 For detailed installation guidance, diagnostic troubleshooting, and custom port configuration, see Installation with uvx.


Option B: Docker Compose (Full Telemetry Stack)

Run the containerized application connected to your host Ollama instance:

# 1. Clone the repository
git clone https://github.com/hastimal/agentic-career-lab.git
cd agentic-career-lab

# 2. Start local Ollama with Gemma 4 (Host)
ollama run gemma4:12b

# 3. Start the application stack
docker compose up -d

Open http://localhost:8501 in your browser.

  • Streamlit App: http://localhost:8501
  • Grafana Dashboards: http://localhost:3000 (admin / admin)
  • Prometheus Metrics: http://localhost:9090

Option C: Local Python Development

# 1. Install uv package manager (https://docs.astral.sh/uv/)
uv venv
source .venv/bin/activate
uv sync --all-extras

# 2. Run Streamlit
uv run streamlit run src/agentic_career_lab/app.py

🧪 Testing & Quality Gates

Every release is validated with automated unit tests, linter checks, and Playwright browser suites:

# Code style and formatting
uv run ruff check .
uv run ruff format --check .

# Fast unit & integration test suite (113 tests)
uv run pytest

# Automated Playwright browser verification across all 10 student workflows
uv run python scripts/test_browser_acceptance.py

# Automated Playwright verification of all 5 interactive chat actions
uv run python scripts/test_browser_actions.py

🗺️ Roadmap & Community


Built with ❤️ by Hastimal Jangid and community contributors. Distributed under the MIT License.

Metadata

Release files for agentic-career-lab 0.10.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentic-career-lab 0.10.2
File Size Uploaded
agentic_career_lab-0.10.2.tar.gz 3.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentic-career-lab 0.10.2
File Interpreter ABI Platform
agentic_career_lab-0.10.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.7 MB

Release files / agentic_career_lab-0.10.2.tar.gz

Download URL agentic_career_lab-0.10.2.tar.gz
Size 3.6 MB
Tags Source
SHA-256 checksum
How to use checksums
9004266cfbd2955f3264176ff29c6423c77ce40efefae7801bf2c81c80891ac5
BLAKE2b-256 checksum
How to use checksums
0b643ad45a6bea58f7e093a2b27f191cbc8a6d2eb3b5bda8fa5e74245c94df71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / agentic_career_lab-0.10.2-py3-none-any.whl

Download URL agentic_career_lab-0.10.2-py3-none-any.whl
Size 110.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e4acf8e8a7a0b8b93dbf571b2f4d1cb9c585c18065ced2979d886016105a743
BLAKE2b-256 checksum
How to use checksums
8529528785055493e58df6d399047153d00c2576013c4058bbc59904ccaecd3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.10.2 This release

2 release files

0.10.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page