Cloud-Native Architect | AI Infrastructure & Strategy | Full-Stack Engineer | Senior Technical Leader
I'm a Senior Technologist with over 25 years of experience bridging executive business strategy and deep-tech engineering. My career has spanned roles from Founder/CTO to Senior Principal Architect across companies of all sizes, including Fortune 50 enterprises.
Currently, I'm pivoting deeper into AI/ML Infrastructure—I don't just want to use models; I want to architect the high-performance compute, RAG pipelines, and scalable cloud systems that power them.
I'm actively pursuing NVIDIA architecture certifications while looking for future opportunities/connections that sit at the intersection of High-Performance Computing (HPC), Cloud-Native Infrastructure, and Applied AI.
So, why build a repository for a resume? Why not just use Word?
As an architect, I believe in Separation of Concerns and Single Source of Truth. Maintaining multiple versions of a document manually is an anti-pattern. Every time I need a PDF, a DOCX for a recruiter's ATS, or an updated website—they should all derive from the same canonical source.
This project demonstrates how I approach even simple problems with engineering rigor:
resume/
├── data/ # 📊 DATA LAYER - Single Source of Truth
│ ├── kenzik.yml # My actual resume data (.gitignored-ed and provided as a secret in pipelines.)
│ └── example.yml # Template for others to use
│
├── python/ # ⚙️ LOGIC LAYER - Document Generation
│ ├── build_resume.py # Generates PDF, DOCX, MD, RTF
│ └── requirements.txt # Python dependencies
│
├── games/ # 🎮 ...nothing to see here, move along
│
└── web/ # 🖥️ PRESENTATION LAYER - Interactive Website
├── src/ # Vue 3 + Quasar + TypeScript
└── public/downloads/ # Pre-built downloadable files
| Principle | Implementation |
|---|---|
| Single Source of Truth | One YAML file feeds both the Python generator AND the web app |
| Separation of Concerns | Data (YAML) → Logic (Python/Vue) → Presentation (PDF/Web) |
| Reproducibility | Anyone can clone, edit data, and generate their own resume |
| Version Control | Career history is tracked like code—diff your growth over time |
My interactive resume lives at kenzik.com — but it's not your typical portfolio site.
It's a terminal emulator that lets you explore my resume with Unix-like commands:
$ help # Available commands
$ resume # View full resume
$ skills # List technical skills
$ experience google # Filter by company name
$ resume | grep AI # Pipe and filter like a real terminal
$ resume | more # Page through long output
$ download pdf # Download resume as PDF
$ theme dark # Switch color themes
$ font "JetBrains Mono" # Change terminal fontFeatures:
- 🎨 Theme System — Auto-detects system preference, persists choice
- ⌨️ Typewriter Effect — Authentic terminal feel with animation
- 📦 Command Pipeline — Real pipe support (
grep,head,tail,more) - 🔤 Font Switcher — Multiple monospace fonts to choose from
- 📥 Downloads — PDF, DOCX, MD, RTF exports
The source code is in ./web with its own README.
Want to use this for your own resume? Here's how:
# Clone the repo
git clone https://github.com/kenzik/resume.git && cd resume
# Copy and edit the example data
cp data/example.yml data/yourname.yml
# Edit data/yourname.yml with your information
# Install Python dependencies
cd python
pip install -r requirements.txt
# Set your contact info (create .env.local in python/)
cat > .env.local << EOF
RESUME_NAME="Your Name"
RESUME_EMAIL="you@example.com"
RESUME_PHONE="555-555-5555"
RESUME_CITY_STATE="City, State"
RESUME_LINKEDIN="linkedin.com/in/yourprofile"
EOF
# Generate all formats
python build_resume.py --source ../data/yourname.yml --format all
# Or generate with revealed contact info
python build_resume.py --source ../data/yourname.yml --format pdf --reveal-piiOutput formats: PDF, DOCX, MD, RTF
# From the repo root
cd web
# Install dependencies
yarn install # or npm install
# Start development server
yarn dev # Opens at http://localhost:9000
# Build for production
yarn build # Output in dist/spa/The web app automatically reads from data/kenzik.yml during the build. You'll need to change this.
Your YAML file should follow this structure:
web:
motd: |
# Your welcome message (Markdown supported)
Type `help` for available commands.
resume:
profile: >
Your professional summary here.
skills:
- "Skill 1"
- "Skill 2"
experience:
- company: "Company Name"
title: "Your Title"
date: "Start - End"
summary: Optional summary
sections:
- title: "Project or Focus Area"
bullets:
- "Achievement 1"
- "Achievement 2"
tech: "Tech stack used"
earlier:
- "Previous Role — Company (Years)"
certs:
- "Certification Name"
education:
- "University — Degree"See data/example.yml for a complete template.
| Layer | Technology |
|---|---|
| Data | YAML (structured, version-controlled) |
| Document Gen | Python 3, fpdf2, python-docx, PyYAML |
| Web Framework | Vue 3, Quasar Framework, TypeScript |
| Styling | SCSS, CSS Custom Properties (theming) |
| Build | Vite, Quasar CLI |
- Privacy: Contact details (phone, city) are redacted by default in generated documents. Use
--reveal-piito include them, or set environment variables. - Fonts: The web app uses JuliaMono and supports multiple monospace fonts.
- Deployment: The site is deployed to Cloudflare Pages. See
web/public/_headersand_redirectsfor config.
If you're working on interesting problems in AI infrastructure, cloud-native systems, or need a senior technical leader—let's talk.
LinkedIn · Email · kenzik.com
Resume as Code - Because resume_final_v3_FINAL(2).docx is an anti-pattern.