CV Hub
Resume as Code. Treat your professional identity as a reproducible, versioned system.
Overview
CV Hub is not a portfolio template. It is a system. The project redefines a resume as an engineering artifact — versioned, reproducible, and deployable. Instead of maintaining fragmented representations across LinkedIn, PDF, Notion, and portfolio sites, CV Hub introduces a single declarative source of truth — a YAML file — that drives the entire output pipeline. The result is a fully automated system where one change propagates consistently across all formats and all role-specific variations.
Problem
Traditional resumes are fundamentally broken from a systems perspective. They are: - duplicated across platforms - manually synchronized - context-dependent (DevOps vs Backend vs GameDev) - not version-controlled - not reproducible This leads to drift, inconsistency, and significant maintenance overhead. From an engineering standpoint, this is equivalent to running multiple unsynchronized environments without a single source of truth.
Solution
CV Hub applies infrastructure principles to personal data. The core idea is simple: define once → generate everything → deploy automatically. A single YAML file becomes: - a live website - PDF, DOCX, and TXT artifacts - multiple role-specific CV versions - a versioned, Git-controlled professional profile The system eliminates duplication and enforces consistency by design.
Multi-profile system
Base + delta architecture
Role-specific resumes are generated using a two-layer model: base CV + delta overrides. This allows precise control over positioning without duplicating data.
What I built
- Static-first architecture with zero client-side JavaScript by default
- YAML-based Single Source of Truth for all resume data
- Multi-profile system (DevOps, GameDev, etc.) via deterministic merge pipeline
- Multi-language support with fallback chain
- Automated document generation (PDF via Playwright, DOCX/TXT via docx.js)
- URL-based theme switching with shareable state
- Fully automated CI/CD pipeline using GitHub Actions
- Dynamic environment-aware configuration (siteUrl from GITHUB_REPOSITORY)
Architecture
The system is built as a deterministic pipeline. Data layer: - YAML files (base + profile deltas) Processing layer: - merge.mjs → produces normalized artifacts - document generators → create PDF/DOCX/TXT Presentation layer: - Astro static build → HTML output Deployment: - GitHub Actions → immutable build → GitHub Pages No runtime server. No hidden state. Every output is reproducible from source.
Engineering Decisions
- Astro over SPA frameworks to eliminate unnecessary runtime and hydration cost
- Static generation to guarantee performance and predictability
- YAML over CMS to retain full control and versioning
- URL-driven state instead of localStorage for shareability and transparency
- Explicit delta files instead of implicit overrides to keep changes observable
Themes
DevOps Approach
The project treats a resume as a build artifact. Key principles: - Git-based versioning - Immutable builds - CI/CD automation - Environment-independent deployment - Zero runtime dependencies Every commit produces a fully consistent, deployable state of the system.
Trade-offs
- No CMS — intentional trade-off for control and transparency
- No backend — static-only architecture
- Manual delta creation for profiles — explicit over implicit complexity
- Limited runtime flexibility in favor of determinism
Result
- One edit regenerates all formats across all profiles and languages
- Fully static deployment with zero infrastructure cost
- Fork-ready system with zero configuration required
- Lighthouse: 100 Performance / 100 Accessibility / 100 SEO
- Predictable, reproducible output across environments
Takeaways
CV Hub demonstrates that even non-traditional domains like resumes benefit from engineering rigor. By applying system design principles — single source of truth, deterministic pipelines, and automation — the project transforms a static document into a scalable, maintainable system. This approach generalizes beyond resumes to any domain where data consistency, reproducibility, and multi-target output matter.