A beautiful, responsive HTML/CSS resume template with AWS deployment, dynamic themes, and data separation. Features responsive design, CloudFormation infrastructure, and cost-optimized hosting (~$1/month). Perfect for developers and professionals.
- β 4 Professional Themes - Instant switching between Modern Blue, Professional Dark, Minimal Green, and Corporate Navy
- β Privacy-First Data Separation - Personal data stays private, template code is shareable
- β AWS Deployment Ready - CloudFormation infrastructure with security best practices
- β Cost-Optimized - Deploy for ~$1-2/month with configurable features
- β No Server Required - Works with direct file access for local development
- β Responsive Design - Perfect on desktop, tablet, and mobile devices
- β Infrastructure as Code - CloudFormation templates with tagging and monitoring
- β CI/CD Ready - GitHub Actions workflow for automated deployments
View Live Demo - See the template in action
- Key Features
- Live Demo
- Quick Start
- Customization
- Available Themes
- AWS Deployment
- Privacy & Security
- Architecture
- Contributing
- License
Option 1: Direct File Access (Simplest)
- Clone or download this repository
- Copy
config.template.jsontoconfig.json - Edit
config.jsonwith your personal information - Run:
node sync-config.js(syncs data for offline use) - Double-click
index.html- works without any server!
Option 2: Local Server (Recommended)
- Follow steps 1-3 above
- Run:
python3 -m http.server 8000 - Open: http://localhost:8000
- Configure AWS CLI:
aws configure - Run:
cd infrastructure && ./deploy.sh - Your resume will be live on CloudFront with HTTPS
resume-template/ βββ index.html # Main resume HTML file βββ config.json # Personal data (excluded from git) βββ config.template.json # Template for personal data βββ css/ β βββ styles.css # Main stylesheet βββ js/ β βββ theme-switcher.js # Theme switching functionality β βββ data-loader.js # Dynamic data loading βββ assets/ β βββ images/ # Profile photos and images βββ themes/ # Theme variations β βββ modern-blue.css β βββ professional-dark.css β βββ minimal-green.css β βββ corporate-navy.css βββ infrastructure/ # AWS deployment β βββ resume-website.yaml # CloudFormation template β βββ deploy.sh # Deployment script βββ .github/workflows/ β βββ deploy.yml # GitHub Actions deployment βββ README.md # This file βββ .gitignore # Git ignore file - Dynamic Theme Switching - 4 beautiful themes with instant switching
- Data Separation - Personal data kept separate from template code
- AWS Deployment Ready - CloudFormation template with best practices
- Responsive Design - Looks great on desktop, tablet, and mobile
- Modern Aesthetic - Clean, professional design with subtle animations
- Print-Friendly - Optimized for printing to PDF
- Centered Timeline - Beautiful alternating timeline for experience
- Skill Tags - Visual skill representation with color-coded categories
- Certification Section - Dedicated space for professional certifications
- GitHub Actions - Automated deployment pipeline
All personal data is stored in config.json. Copy config.template.json to config.json and customize:
{ "personal": { "name": "Your Full Name", "title": "Your Professional Title", "location": "Your City, Country", "email": "your.email@domain.com", "linkedin": "linkedin.com/in/yourprofile", "profileImage": "assets/images/profile.jpg", "profileInitials": "YN" }, "summary": "Your professional summary...", "experience": [...], "skills": [...], "certifications": [...], "education": {...} }Create new themes by copying existing theme files in the themes/ directory. Each theme uses CSS variables:
:root { --primary-color: #667eea; --secondary-color: #764ba2; --accent-color: #28a745; --dark-color: #2c3e50; --light-bg: #f8f9fa; --text-color: #333; }- Place your image in
assets/images/(e.g.,profile.jpg) - Update
config.json:{ "personal": { "profileImage": "assets/images/profile.jpg", "profileInitials": "YN" } } - Important: Run
node sync-config.jsafter updating config.json - Recommended size: 150x150px or larger (square format)
- config.template.json - Template with dummy data (committed to git)
- config.json - Your personal data (excluded from git)
- js/config-data.js - Auto-generated fallback (excluded from git)
- Sync command:
node sync-config.js- Run after editing config.json
Privacy Protection:
- β Personal data never committed to git
- β Template code is shareable publicly
- β Only dummy/example data in repository
- β Personal images excluded from git
Why two files?
- Enables direct file access (double-click index.html)
- Maintains server compatibility (local/AWS deployment)
- Same template works everywhere
- Modern Blue - Original blue gradient theme
- Professional Dark - Dark theme for modern look
- Minimal Green - Clean green theme
- Corporate Navy - Professional navy blue theme
- Copy an existing theme file from
themes/ - Modify the CSS variables
- Add the new theme to the dropdown in
js/theme-switcher.js
- Desktop: 1200px and above
- Tablet: 768px - 1199px
- Mobile: Below 768px
The template includes print-specific CSS:
- Removes background gradients
- Optimizes spacing for A4 paper
- Ensures all content fits properly
- Maintains professional appearance
To create a PDF:
- Open in browser
- Press Ctrl+P (Cmd+P on Mac)
- Select "Save as PDF"
- Choose appropriate settings
- AWS CLI configured (
aws configure) - Appropriate AWS permissions
Basic deployment (Melbourne region, all features enabled):
cd infrastructure ./deploy.shDeploy to different region:
./deploy.sh --region us-west-2 # Deploy to US West (Oregon) ./deploy.sh --region eu-west-1 # Deploy to EU (Ireland) ./deploy.sh --region ap-northeast-1 # Deploy to Asia Pacific (Tokyo)With custom domain:
./deploy.sh --domain resume.example.com --hosted-zone-id Z1234567890 --certificate-arn arn:aws:acm:us-east-1:123456789:certificate/...Minimal deployment (no WAF, no Route 53, no access logs):
./deploy.sh --disable-waf --disable-route53 --disable-access-logsFull custom configuration:
./deploy.sh --region ap-southeast-2 --environment prod --project-name my-resume --enable-waf false- Fork this repository
- Add GitHub Secrets:
AWS_ROLE_ARN: IAM role for deploymentPERSONAL_NAME,PERSONAL_TITLE, etc.: Your personal dataDOMAIN_NAME,HOSTED_ZONE_ID,CERTIFICATE_ARN: For custom domain
- Add GitHub Variables (optional):
AWS_REGION: AWS region (default: ap-southeast-2)ENABLE_WAF: true/false (default: false)ENABLE_ROUTE53: true/false (default: true)ENABLE_ACCESS_LOGS: true/false (default: true)ENVIRONMENT: dev/staging/prod (default: prod)PROJECT_NAME: Project name for cost tracking (default: resume-website)
- Push to main branch to trigger deployment
Core Features (Always Enabled):
- β S3 static website hosting with encryption
- β CloudFront CDN with HTTP/2, HTTP/3, and gzip
- β SSL/TLS certificate support (custom or CloudFront default)
- β Origin Access Control (OAC) for security
- β Custom error pages (404/403 β index.html)
- β Automated cache invalidation
Optional Features (Configurable):
- π§ Route 53 DNS - Custom domain configuration (enabled by default)
- π§ WAF Protection - Rate limiting and common attack protection (disabled by default)
- π§ Access Logs - CloudFront and S3 access logging (enabled by default)
Cost Optimization:
- Deploy to cheaper regions (Melbourne/Sydney often more cost-effective than US)
- WAF disabled by default (saves ~$5-10/month, enable with
--enable-waf true) - Route 53: ~$0.50/month per hosted zone (only needed with custom domains)
- Access Logs: Minimal storage costs for log files
Region Selection:
- ap-southeast-2 (Melbourne): Default, often cost-effective for Australian users
- us-east-1 (N. Virginia): Cheapest overall, but higher latency for Australian users
- us-west-2 (Oregon): Good balance of cost and latency for US users
- eu-west-1 (Ireland): Good for European users
Important: ACM certificates for CloudFront must be created in us-east-1 regardless of deployment region
- Chrome (recommended)
- Firefox
- Safari
- Edge
- Internet Explorer 11+
Data Protection:
- Personal data (
config.json) is excluded from version control - Generated fallback file (
js/config-data.js) is also excluded from git - Template code can be safely shared publicly
Security Considerations:
- Direct file access: Data embedded in JavaScript (viewable in source)
- Server deployment: Data loaded via secure JSON (preferred)
- Production tip: Remove
js/config-data.jsbefore AWS deployment for extra privacy
AWS Security:
- WAF protection against common attacks
- HTTPS-only with modern TLS
- S3 bucket encryption and access controls
βββββββββββββββ ββββββββββββββββ βββββββββββββββ β Route 53 ββββββ CloudFront ββββββ S3 β β DNS β β CDN β β Bucket β βββββββββββββββ ββββββββββββββββ βββββββββββββββ β ββββββββββββββββ β WAF β β Protection β ββββββββββββββββ Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Additional theme variations
- New deployment targets (Netlify, Vercel, etc.)
- Enhanced responsive design
- Additional customization options
- Performance optimizations
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with modern web standards
- AWS best practices implementation
- Community-driven development
- Made with β€οΈ for professional developers and architects
β Star this repository if you found it helpful!
π Links: