BACK TO PORTFOLIO REGISTRY
Private Architecture
December 20255 weeks

MyCVPath — AI-Native CV Intelligence Platform

co-founderEngineering Dossier

Achievement Log

2025-12-10: Entire polyglot architecture bootstrapped in one commit — all five services with Dockerfiles and PostgreSQL connections. 2025-12-11–14: Core engineering sprint — all 6 LLM agents written and tested, full 17-migration schema completed, end-to-end pipeline verified locally. 2025-12-15–17: First cloud deployment. Font loading, prompt schema alignment, and responsiveness issues resolved. 2025-12-18–19: Rust analytics wired in, admin endpoints connected, numerical hallucination fixed. Platform launched live at mycvpath.com. 2025-12-20–22: Pipeline restructured into import/job/tailor stages. Job page completed with match analysis and scoring. v1 feature set stabilized. 2026-01 onwards: UX redesign from production feedback. Auth hardened (hydration guards, secure cookies). Ongoing schema migrations and SEO improvements.

Overview

Production-deployed polyglot microservices platform automating the full CV-to-job-application lifecycle using a 6-agent LLM orchestration pipeline, ATS-optimized PDF rendering, Rust telemetry sink, and real-time admin control plane. Built across five independently deployable services (Go, Python, Rust, Node.js, Next.js) sharing a PostgreSQL backend with dual-schema architecture. Features tiered billing with BYOK API key encryption, atomic guest-to-user migration, and job-scoped immutable CV snapshots. Live at mycvpath.com.

Core Technologies

Next.js 16 + React 19 (App Router, TypeScript, Tailwind CSS v4)Go 1.24 (Agentic LLM Orchestration Engine)Python 3.13 + Flask (CV Document Rendering Service)Rust + Axum + Tokio (High-Throughput Telemetry Sink)Node.js + Express (Admin Control Plane)PostgreSQL 16 (Dual-Schema Unified Data Backend)Docker + Docker Compose (Polyglot Service Orchestration)

Implementation & Architecture

Agentic LLM Orchestration Engine (Go-LLMs)

Six-agent sequential pipeline in Go transforming a raw CV + job description into a tailored, scored application package. PromptBuilder injects per-agent JSON schemas into system prompts for structured output. TOON serialization flattens nested inputs for LLM efficiency. Sequential provider failover with exponential backoff. BYOK keys decrypted in-memory per request and never logged.

CV Document Rendering Pipeline (Python/Flask)

Stateless PDF generation with V1 (fixed schema, deterministic) and V2 (dynamic section ordering) rendering engines. EB Garamond serif typography with ATS-safe layout constraints. PyPDF2 text extraction feeds the CV_PARSER agent as pipeline entry point.

Rust Axum Fire-and-Forget Telemetry Sink

All writes spawned via tokio::spawn — 202 Accepted returned immediately, DB write happens async. Tracks page views, user actions, LLM request telemetry (tokens, cost, latency), and centralized errors from all 5 services with severity classification.

PostgreSQL Dual-Schema Data Architecture

17 migration files establish full schema evolution: identity, CV versioning, job application funnels, pipeline state snapshots, telemetry, billing, and migration stored procedure. JSONB fields for provider chains enable zero-migration config updates. Indexed on all dashboard aggregation patterns.

Hybrid State Architecture (Next.js)

React Context (hot) + LocalStorage (crash recovery) + PostgreSQL (durable). Dual-trigger sync after agent completion and on navigation. Guest sessions preserved via cookie and migrated atomically to user accounts on registration.

Tiered BYOK Billing and Governance Engine

Three tiers: FREE (daily quota, platform API keys), PAID (balance deduction + service fee), BYOK (AES-256-GCM encrypted user-supplied keys). Monthly spend caps and per-user rate limits configurable without redeploy. Global free mode toggle bypasses all billing for promotions.

Polyglot Docker Compose Orchestration

Strict startup ordering via health checks and `service_completed_successfully` dependency on migrations. Internal app-network for service-to-service DNS, gateway-public for Nginx-proxied HTTPS. No secrets in image layers.

Technical Skills

  • Multi-Agent Orchestration
  • Agentic AI Orchestration
  • Prompt Engineering
  • Multi-LLM Integration
  • Prompt Template Design
  • Docker
  • Python
  • TypeScript
  • Go
  • Rust
  • Next.js
  • React
  • Flask
  • TailwindCSS
  • RESTful API Design
  • Concurrency (Threading/Async)
  • OAuth 2.0 Integration
  • PostgreSQL
  • Schema Migration
  • JWT (JSON Web Tokens)
  • JSON Schema & Structured Data Extraction
  • Microservices Architecture
  • Multi-Provider LLM Failover Orchestration
  • Schema-Injected LLM Output Validation
  • AES-256-GCM API Key Vault Encryption
  • Rust Axum Async Telemetry Sink
  • Atomic Guest-to-User Data Migration
  • Job-Scoped Immutable Snapshot Persistence
  • ReportLab ATS-Optimized PDF Composition
  • Tiered BYOK Billing Rate-Limit Architecture

Engineering Challenges

  • Multi-Service Startup Race Conditions — Application services started before migrations finished, causing table-not-found errors. Fixed with `service_completed_successfully` dependency on the migrations container.
  • LLM Agent Schema Mismatch — CV_PARSER output (camelCase) didn't match JOB_ANALYZER input (snake_case), causing silent null values. Fixed by defining a single shared Go struct with explicit JSON tags used as the schema source for both agents.
  • Prompt Numerical Hallucination — JOB_ANALYZER invented match percentages not derivable from input. Fixed by rewriting the prompt to forbid unsupported numerical assertions and promoting COMPARATIVE_SCORER as a structured validation pass.
  • Next.js Hydration Infinite Re-render — IdentityContext subscription registered before Supabase client was initialized on SSR, triggering a cleanup/setup loop. Fixed with an `isHydrated` guard deferring subscription until after client mount.
  • AES-256-GCM Decryption Latency — Decrypting BYOK keys on every agent call across a 6-step pipeline added measurable latency. Fixed by decrypting once per HTTP request into a Go context variable passed through the pipeline.
  • Guest Data Collision on Registration — Singleton table INSERT failed with unique constraint violations when the new user already had a row. Fixed with INSERT ... ON CONFLICT DO UPDATE WHERE excluded.updated_at > target.updated_at.
  • ReportLab Font Loading in Docker — Relative font paths valid in development broke in container due to working directory change. Fixed using pathlib.Path(__file__).parent for absolute path resolution.

Project Outcomes

  • Shipped a 5-service polyglot platform (Go, Python, Rust, Node.js, Next.js) from first commit to live deployment in 10 days solo.
  • 6-agent LLM pipeline reduces manual CV tailoring from 2–4 hours to under 5 minutes of user interaction.
  • Schema-injected output validation achieved near-100% structured output reliability, eliminating ~15% parse failure rate from free-form prompts.
  • Multi-provider failover (OpenAI → Anthropic → Gemini → OpenRouter) with BYOK tier eliminates single-provider outage risk.
  • Rust telemetry sink processes events at <1ms handler overhead — zero measurable latency impact on user-facing requests.
  • Atomic guest-to-user migration preserves 100% of workflow state across 10+ tables in a single ACID transaction.
  • AES-256-GCM BYOK vault ensures user API keys are cryptographically inaccessible to the platform operator.