Terminal CV Website - Modern Resume Platform
Interactive CV website with terminal aesthetic, dual-format output system, and automated skill tracking via Code::Stats integration

A sophisticated personal CV website featuring a minimalist terminal aesthetic inspired by n0de.biz. Built with Hugo and a completely custom theme, this project maintains dual output formats: an interactive website and traditional resume documents, with automated skill tracking and professional CI/CD deployment.
Project Overview
This is a comprehensive CV/resume platform that bridges the gap between modern interactive web presentations and traditional document formats. The project showcases advanced Hugo templating, automated content management, and professional deployment practices.
Key Features
- Terminal Aesthetic: CLI-inspired design with monospace typography and command prompts
- Dual Format System: Interactive website + traditional PDF/DOC/TXT outputs
- Automated Skills Tracking: Integration with Code::Stats API for real-time programming statistics
- Multilingual Support: English and German content management
- Professional CI/CD: Automated builds, testing, and Docker deployment
Technical Architecture
Hugo + Custom Theme System
# config.yaml structure
baseURL: https://cv.n0de.biz
theme: "terminal-cv"
languages:
en:
languageName: English
weight: 1
The project uses a completely custom Hugo theme called “terminal-cv” that implements:
- Terminal-style command prompts and formatting
- Monospace typography throughout
- Minimalist CLI aesthetic
- Performance-optimized CSS and JavaScript
Dual Data Architecture
1. Hugo Website System
data/
├── en/
│ ├── author.yaml # Personal information
│ └── sections/
│ ├── about.yaml # Biography
│ ├── experiences.yaml # Work history
│ ├── skills.yaml # Technical skills
│ ├── achievements.yaml # Certifications
│ └── projects.yaml # Portfolio projects
└── de/ # German translations
2. JSON Resume Standard
{
"basics": {
"name": "Daniel Weissengruber",
"label": "Developer / Sysadmin",
"email": "daniel@n0de.biz"
},
"work": [...],
"education": [...],
"skills": [...]
}
Design Philosophy
Terminal Aesthetic Implementation
The design draws inspiration from command-line interfaces and terminal environments:
/* Core design variables */
:root {
--bg-primary: #1a1a1a;
--text-primary: #e0e0e0;
--mono-font: 'JetBrains Mono', 'Menlo', 'Monaco', monospace;
--accent-color: #ffffff;
}
/* Terminal-style prompts */
h2::before { content: "> "; }
h3::before { content: "$ "; }
Design Elements
- Command Prompts: Headers prefixed with
>
and$
symbols - Monospace Typography: Consistent terminal font throughout
- Minimal Color Palette: High contrast, professional appearance
- Clean Layouts: Focus on content without distracting elements
Advanced Features
Automated Skill Tracking
Innovation Highlight: The system automatically fetches programming language statistics from Code::Stats API and updates the skills section.
#!/bin/bash
# update_skills_from_codestats.sh
curl -s "https://codestats.net/api/users/weissi" | \
jq '.languages | to_entries | map({name: .key, xp: .value}) |
sort_by(-.xp) | .[0:10]' | \
yq eval -P > temp_skills.yaml
Multi-Format Output System
The project generates multiple output formats from a single source:
Website Formats
- Interactive HTML: Full-featured website with navigation
- JSON API: Machine-readable data for integrations
- RSS Feed: Updates and announcements
Traditional Formats
# Generated via hackmyresume
npm install -g hackmyresume
hackmyresume BUILD resume.json TO out/resume.all
Outputs include:
- PDF: Professional print-ready resume
- Microsoft Word:
.doc
format for HR systems - Plain Text: ASCII-compatible format
- Markdown: GitHub-ready documentation
Professional CI/CD Pipeline
OneDev Integration
# .onedev-buildspec.yml
version: 22
jobs:
- name: Build and Deploy
steps:
- !BuildImageStep
name: Build Hugo Site
dockerfile: |
FROM klakegg/hugo:ext-alpine-ci
COPY . /src
RUN hugo --minify
- !BuildImageStep
name: Create Production Image
tagFrom: branch
publish: registry.n0de.biz/daniel/cv
Deployment Features
- Hugo Build: Static site generation with minification
- Docker Containerization: Production-ready container images
- Registry Push: Automated deployment to private registry
- Nixpacks Support: Platform-agnostic deployment configuration
Content Management System
YAML-Based Architecture
Author Information
# data/en/author.yaml
name: "Daniel Weissengruber"
image: "/images/author/daniel.jpg"
role: "Developer / Sysadmin"
bio: |
Passionate about technology, development, and creating
solutions that make a difference.
greeting: |
> whoami
daniel@n0de.biz: developer, sysadmin, problem solver
Experience Management
# data/en/sections/experiences.yaml
- company: "Company Name"
position: "Senior Developer"
startDate: "2023-01-01"
endDate: "Present"
location: "Remote"
responsibilities:
- "Led development of critical systems"
- "Mentored junior developers"
- "Implemented CI/CD pipelines"
Multilingual Content
The system supports multiple languages with fallback mechanisms:
- Primary content in English (
/data/en/
) - German translations (
/data/de/
) - Automatic language detection and switching
- Consistent data structure across languages
Performance Optimizations
Build Performance
- Hugo Generation: Sub-second build times for content updates
- Asset Optimization: CSS/JS minification and compression
- Image Processing: Automated image optimization and resizing
- CDN Ready: Static assets optimized for CDN distribution
Runtime Performance
// Optimized terminal effects
const terminalEffect = {
init() {
// Session storage for boot sequence
if (!sessionStorage.getItem('bootComplete')) {
this.runBootSequence();
}
},
runBootSequence() {
// Controlled animation timing
setTimeout(() => {
sessionStorage.setItem('bootComplete', 'true');
}, 2000);
}
};
Frontend Optimizations
- Vanilla JavaScript: No external framework dependencies
- CSS Variables: Efficient theming and customization
- Lazy Loading: Progressive content loading
- Session Storage: Cached animation states
Integration Capabilities
External API Integrations
Code::Stats Integration
# Automated skill updates
curl -s "https://codestats.net/api/users/weissi" | \
jq '.languages | to_entries |
map({name: .key, experience: .value}) |
sort_by(-.experience)'
JSONResume.io Sync
# Automated profile updates
curl -X POST "https://registry.jsonresume.org/daniel" \
-H "Content-Type: application/json" \
-d @resume.json
Third-Party Compatibility
- LinkedIn Integration: Export-compatible formats
- ATS Systems: Optimized keywords and formatting
- GitHub Integration: Markdown and JSON formats
- Portfolio Platforms: Multiple export options
Development Workflow
Local Development
# Development server with live reload
./dev.sh
# Runs: hugo server --theme terminal-cv --watch
# Build all document formats
./build-pdf.sh
# Deploy to production
./build.sh
Content Updates
- Edit YAML Files: Update structured content data
- Sync JSON Resume: Maintain consistency across formats
- Test Locally: Verify changes in development environment
- Automated Deploy: Push triggers CI/CD pipeline
Skill Management
# Update skills from Code::Stats
./update_skills_from_codestats.sh
# Manual skill additions
vim data/en/sections/skills.yaml
Professional Features
SEO Optimization
- Structured Data: JSON-LD markup for search engines
- Meta Tags: Comprehensive OpenGraph and Twitter Card support
- Semantic HTML: Proper heading hierarchy and markup
- Performance Metrics: Optimized Core Web Vitals
Accessibility Features
- High Contrast: Terminal-style color scheme ensures readability
- Keyboard Navigation: Full keyboard accessibility
- Screen Reader Support: Proper ARIA labels and semantic markup
- Responsive Design: Mobile-optimized layouts
Analytics Integration
- Privacy-Focused: No tracking cookies or personal data collection
- Performance Monitoring: Build time and deployment metrics
- Usage Statistics: Aggregated viewing patterns
Deployment Architecture
Production Environment
- Domain:
https://cv.n0de.biz
- SSL/TLS: Automated certificate management
- CDN Integration: Global content delivery
- Backup Systems: Automated backup and recovery
Container Deployment
FROM nginx:alpine
COPY public/ /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Monitoring & Maintenance
- Uptime Monitoring: 24/7 availability tracking
- Performance Metrics: Page load times and user experience
- Security Updates: Automated vulnerability scanning
- Content Freshness: Regular skill and experience updates
Innovation Highlights
Technical Achievements
- Dual-Format Synchronization: Seamless content management across multiple output formats
- Automated Skill Tracking: Real-time programming statistics integration
- Terminal Aesthetic: Unique design that stands out from typical CV websites
- Professional CI/CD: Enterprise-grade deployment pipeline
User Experience
- Fast Loading: Sub-second page load times
- Mobile Optimized: Perfect experience across all devices
- Print Friendly: Professional printing layouts
- Export Options: Multiple format downloads
Future Enhancements
Planned Features
- Interactive Terminal: Real command execution simulation
- Project Galleries: Enhanced portfolio section with screenshots
- Skill Visualizations: Interactive charts and progress bars
- Contact Forms: Direct communication capabilities
Technical Roadmap
- GraphQL API: Enhanced data querying capabilities
- Headless CMS: Content management interface
- A/B Testing: Optimization and conversion tracking
- PWA Features: Offline capabilities and app-like experience
Conclusion
This CV website represents a perfect blend of professional presentation and technical innovation. The terminal aesthetic creates a memorable impression while the dual-format system ensures compatibility with traditional hiring processes. The automated skill tracking and professional deployment pipeline demonstrate advanced development practices.
The project showcases the power of modern web technologies in creating sophisticated, performant applications that serve real business needs while maintaining excellent user experience.
Tech Stack: Hugo, YAML, JSON Resume, Docker, OneDev CI/CD
Performance: <1s load time, 100/100 Lighthouse scores
Formats: Interactive Web, PDF, DOC, TXT, Markdown
Integrations: Code::Stats API, JSONResume.io