Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Job Application Assistant

A standalone C++20 tutorial for HTTP+JSON A2A delegation.

application_client -> A2A coordinator -> A2A profile analyst

The client sends a resume and job description to the coordinator, which delegates analysis to the specialist and returns structured analysis plus an application draft.

Run individually with Docker Compose

From the repository root:

docker compose -f examples/tutorials/job_application_assistant/compose.yaml up --build application-smoke

Compose streams the profile analyst, coordinator, and smoke-client logs with service prefixes and colors. After the smoke client prints the application draft, press Ctrl+C and clean up:

docker compose -f examples/tutorials/job_application_assistant/compose.yaml down --remove-orphans

For a one-shot automated run:

docker compose -f examples/tutorials/job_application_assistant/compose.yaml run --build --rm application-smoke

Run individually on Linux

First install the SDK for an individual local run, then build this tutorial:

cmake -S examples/tutorials/job_application_assistant \
  -B build-tutorials/job_application_assistant \
  -DCMAKE_PREFIX_PATH="$A2A_INSTALL_DIR"
cmake --build build-tutorials/job_application_assistant --parallel

Start the three processes in separate terminals from the repository root.

Profile analyst:

./build-tutorials/job_application_assistant/profile_analyst 127.0.0.1:8081

Coordinator:

A2A_TUTORIAL_SPECIALIST_URL=http://127.0.0.1:8081 \
./build-tutorials/job_application_assistant/application_coordinator 127.0.0.1:8080

Client:

./build-tutorials/job_application_assistant/application_client \
  --coordinator-url http://127.0.0.1:8080 \
  --resume-file examples/tutorials/job_application_assistant/samples/resume.txt \
  --job-file examples/tutorials/job_application_assistant/samples/job_description.txt

See the production tutorials guide for optional model configuration.