Live demo: https://pathway-ai.sjapathway.com · MCP endpoint: https://pathway-ai.sjapathway.com/mcp (Streamable HTTP, MCP 2025-11-25 and later)

Inspiration

I spent two years posting job opportunities for free before founding SJA Pathway. Job seekers didn't need more listings. They needed a coach: someone to fix their CV, prepare them for the interview, and tell them honestly what to change. SJA Pathway has since helped 8 people get hired and has 40+ paying subscribers in 15+ countries. Most people will never book a career coach, but many already talk to a voice assistant every day. PathwayAI puts that coaching where they already are.

What it does

PathwayAI is an MCP server exposing six career Agent Skills, each with its own interactive UI:

  1. analyze_cv: ATS score, section scores, 10 deterministic ATS checks and before/after rewrites that never invent numbers. One tap applies them all (improve_cv).
  2. mock_interview: tailored questions with STAR model answers grounded in the user's real CV, a voice-answer simulator and STAR scoring (score_interview_answer).
  3. match_jobs: hundreds of live openings from up to five job boards, ranked with SJA Pathway's JPlatform fit algorithm, with the skill gaps that would unlock more roles.
  4. generate_cover_letter: a letter tailored to the job the user picked, with the hook, achievements, company fit and call to action highlighted, plus 7 quality checks.
  5. career_advice: a coaching conversation that diagnoses the root cause and gives a plan for the week.
  6. interview_companion: for the question just asked, an opening line to say now, key points and a STAR answer from the CV. Coding questions get approach, solution and complexity.

Every skill answers in a few seconds (typically 1–3 s in production), streams its progress as it works, and is grounded in the user's real CV by code-level guardrails.

The simulated Alexa+ web experience is a complete MCP Apps host. You talk to it, and the assistant discovers the tools over MCP, routes your request, calls the tool over Streamable HTTP, renders the tool's UI inline and speaks a short summary. The skills share memory: after your CV is analyzed, Alexa knows your skills and target role for interviews, job matches and letters. The views act too. A job card can start interview prep or a cover letter for that exact posting.

How I built it

  • MCP server: TypeScript MCP SDK v2 createMcpHandler on Cloudflare Workers, with 8 tools and 6 ui:// resources over Streamable HTTP. It negotiates 2025-03-26, 2025-11-25 (what Alexa+ uses) and 2026-07-28.
  • Alexa+ conventions: results follow Amazon's Alexa+ client lifecycle: structuredContent, text content, and result-level _meta.ui with resourceUri plus invoking/invoked status. Tests replay Amazon's documented request shapes.
  • Interactive UIs: MCP Apps (@modelcontextprotocol/ext-apps), with React 19 and Tailwind v4 views built into single HTML files in SJA Pathway's brand.
  • Host: Vite and React, the MCP client v2, AppBridge in sandboxed iframes, the Web Speech API, and a live protocol inspector so judges can watch real JSON-RPC traffic.
  • AI: one provider interface with ordered fallback. The live demo runs on OpenRouter (gpt-oss-120b on Cerebras, Llama 3.3 on Groq) and Cloudflare Workers AI. Amazon Bedrock (Converse API) and NVIDIA Nemotron on Nebius are built in and tested, and switch on with a key. Every response is schema-validated with a corrective retry, and every skill has an offline fallback.
  • Speed: high-throughput inference hosts, MCP progress notifications, a static first paint, and the server's tools/list embedded in the page. The home screen paints in about 0.6 s, and skills typically respond in 1–3 s.
  • Trust: guardrails in code, not just prompts. Unbacked metrics become placeholders, answers cite verified CV lines, job-description gaps are never claimed, skills must be supported by the CV, and scores are reproducible.
  • Proven logic: prompts and algorithms ported from SJA Pathway's production JPlatform (CV analysis, interview scoring, job fit, cover letters, interview companion) and EPlatform (AI mentor).
  • Quality: strict TypeScript and 122 automated tests (MCP protocol tests over Streamable HTTP, Alexa+ client-compatibility tests, guardrail tests and real PDF uploads); a Playwright end-to-end run through all six skills in production plus failure-path checks; a WCAG 2.1 AA audit (axe-core) of every screen in both themes; GitHub Actions CI and a daily production health check. MIT licensed.

Built during the hackathon window

This repository was created on September 25, 2026, inside the submission window. Everything in it was built during the hackathon: the MCP server, all 8 tools and their schemas, all six MCP Apps views, the simulated Alexa+ web host (assistant router, MCP client, AppBridge rendering, voice and protocol inspector), the provider layer, the grounding guardrails, and the tests and tooling.

What existed before: SJA Pathway's separate web products, JPlatform and EPlatform. PathwayAI ports their proven prompts and algorithms into new MCP tools. No code from those products' UIs or infrastructure is reused, and every MCP-facing piece is new.

Challenges

  • Calibrating AI scores. The first model graded a buzzword-heavy CV 85/100. Blending model judgement with a deterministic ATS rules engine made scores consistent across four models.
  • Reliable JSON from open models. JSON mode where available, a tolerant extractor, Zod validation, one corrective retry, then provider fallback.
  • Fast models invent experience. Fast inference made outputs fluent but prone to embellishment. Prompts alone didn't fix it, so I built tested, deterministic guardrails.
  • Building a host from scratch. Getting the MCP Apps lifecycle right: connect before loading, buffer early results, theme sync, auto-resize and view-to-server tool calls. I open-sourced this host as my Open Source entry.
  • Ranking noisy job data. I recalibrated the fit algorithm for target role, generic title words and seniority, so a "Senior AI Engineer" no longer ranks as a fit for a frontend engineer.

Accomplishments

  • A real MCP server with six Agent Skills and interactive UIs, live on a custom domain.
  • Skills that build on each other: CV, then interview, then jobs, then a cover letter for the job you picked, then live help.
  • Grounded output. Rewrites use [X%] placeholders instead of invented metrics, and answers use only facts from the CV.

What I learned

MCP Apps turns a tool result into a product: the same server works in any compliant assistant, and the UI can call back into the server. Pairing LLMs with deterministic checks is what makes AI numbers trustworthy.

What's next

  • Saved history (CVs, interviews, applications) across devices.
  • Publishing PathwayAI as an Alexa+ add-on as the Alexa+ for Builders preview expands.
  • More languages for SJA Pathway's members in 15+ countries.
  • Recruiter-side skills from JPlatform.

Built With

  • cloudflare-workers
  • mcp
  • mcp-apps
  • model-context-protocol
  • openrouter
  • playwright
  • react
  • tailwindcss
  • typescript
  • vite
  • web-speech-api
  • workers-ai
  • zod
Share this project:

Updates

Submission history