This guide will help you customize your GitHub profile website using the profile.config.ts file.
Here's a complete example of what your profile.config.ts should look like:
export const profileConfig: ProfileConfig = {
// ===== BASIC PROFILE INFORMATION =====
profile: {
name: "John Doe",
username: "johndoe",
title: "Full Stack Developer & Open Source Enthusiast",
description: "Passionate developer creating innovative web solutions with modern technologies",
bio: "I'm a passionate full-stack developer with 5+ years of experience building scalable web applications. I love contributing to open source projects and sharing knowledge with the developer community.",
image: "/john-doe-profile.jpg", // Put your image in the public folder
website: "https://johndoe.dev",
location: "San Francisco, CA",
email: "john@johndoe.dev"
},
// ===== SOCIAL LINKS =====
socialLinks: {
github: "https://github.com/johndoe",
linkedin: "https://linkedin.com/in/johndoe",
twitter: "https://twitter.com/johndoe",
telegram: "https://t.me/johndoe",
discord: "johndoe#1234",
instagram: "https://instagram.com/johndoe",
youtube: "https://youtube.com/c/johndoe",
website: "https://johndoe.dev"
},
// ===== SKILLS & TECHNOLOGIES =====
skills: [
// Programming Languages
"JavaScript", "TypeScript", "Python", "Go", "Rust",
// Frontend
"React", "Vue.js", "Next.js", "Tailwind CSS", "HTML5", "CSS3",
// Backend
"Node.js", "Express", "FastAPI", "Django", "PostgreSQL", "MongoDB",
// DevOps & Tools
"Docker", "Kubernetes", "AWS", "CI/CD", "Git", "Linux"
],
// ===== STATS TO DISPLAY =====
stats: {
projects: "50+",
profileViews: "5.2k+",
streak: "120 days",
botUsers: "10k+",
experience: "5+ years"
},
// ===== ACHIEVEMENTS =====
achievements: [
{
title: "🚀 Senior Full-Stack Developer",
description: "Leading development of enterprise applications",
icon: "🚀"
},
{
title: "🌟 Open Source Contributor",
description: "Contributing to popular projects with 1M+ downloads",
icon: "🌟"
},
{
title: "⚙️ DevOps Engineer",
description: "Infrastructure automation and cloud architecture",
icon: "⚙️"
},
{
title: "👨🏫 Tech Mentor",
description: "Mentoring 20+ junior developers",
icon: "👨🏫"
}
],
// ===== TERMINAL CONFIGURATION =====
terminal: {
hostname: "johndoe-dev",
username: "visitor",
theme: "dark", // Options: dark, light, matrix, cyberpunk
welcomeMessage: [
"🎉 Welcome to John Doe's interactive portfolio!",
"",
"I'm a full-stack developer passionate about creating amazing web experiences.",
"Type 'help' to see what you can do here, or just start exploring!",
"",
"💡 Try commands like: about, projects, neofetch, hire-me"
],
customCommands: {
"hire-me": {
description: "Get my contact information and availability",
output: [
"📧 Contact Information:",
"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
"",
"📬 Email: john@johndoe.dev",
"💼 LinkedIn: linkedin.com/in/johndoe",
"🐙 GitHub: github.com/johndoe",
"📱 Telegram: @johndoe",
"",
"💼 Currently available for:",
"• Full-time Senior Developer roles",
"• Freelance web development projects",
"• Technical consulting",
"• Open source collaboration",
"",
"💰 Rate: $100-150/hour (freelance)",
"🌍 Remote work preferred, SF Bay Area local",
"",
"Let's build something amazing together! 🚀"
]
},
"coffee": {
description: "Buy me a coffee ☕",
output: [
"☕ Thanks for considering supporting my work!",
"",
"Your support helps me:",
"• Continue developing open source projects",
"• Create educational content and tutorials",
"• Maintain free tools and libraries",
"",
"💝 Ways to support:",
"• GitHub Sponsors: github.com/sponsors/johndoe",
"• Ko-fi: ko-fi.com/johndoe",
"• PayPal: paypal.me/johndoe",
"",
"Every coffee makes a difference! ☕💻✨"
]
},
"stack": {
description: "Show my current tech stack",
output: [
"🛠️ Current Tech Stack:",
"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
"",
"Frontend:",
"├── React 18 + TypeScript",
"├── Next.js 14 (App Router)",
"├── Tailwind CSS + Headless UI",
"└── React Query + Zustand",
"",
"Backend:",
"├── Node.js + Express/Fastify",
"├── Python + FastAPI",
"├── PostgreSQL + Prisma ORM",
"└── Redis for caching",
"",
"DevOps & Tools:",
"├── Docker + Kubernetes",
"├── AWS (EC2, RDS, S3, CloudFront)",
"├── GitHub Actions CI/CD",
"└── Monitoring: Datadog, Sentry"
]
},
"joke": {
description: "Tell a random programming joke",
output: () => {
const jokes = [
"Why do programmers prefer dark mode? Because light attracts bugs! 🐛",
"How many programmers does it take to change a light bulb? None, that's a hardware problem! 💡",
"Why do Java developers wear glasses? Because they can't C#! 👓",
"There are only 10 types of people: those who understand binary and those who don't.",
"A SQL query goes into a bar, walks up to two tables and asks: 'Can I join you?' 🍺",
"Why don't programmers like nature? It has too many bugs! 🦗",
"What's a programmer's favorite hangout place? Foo Bar! 🍻",
"Why did the programmer quit his job? He didn't get arrays! 📊"
];
return [jokes[Math.floor(Math.random() * jokes.length)]];
}
},
"quote": {
description: "Get an inspiring programming quote",
output: () => {
const quotes = [
"\"Code is like humor. When you have to explain it, it's bad.\" - Cory House",
"\"First, solve the problem. Then, write the code.\" - John Johnson",
"\"Experience is the name everyone gives to their mistakes.\" - Oscar Wilde",
"\"In order to be irreplaceable, one must always be different.\" - Coco Chanel",
"\"Java is to JavaScript what car is to Carpet.\" - Chris Heilmann",
"\"Talk is cheap. Show me the code.\" - Linus Torvalds"
];
return [quotes[Math.floor(Math.random() * quotes.length)]];
}
},
"portfolio": {
description: "Open my external portfolio",
output: ["🚀 Opening my portfolio website..."],
action: "external",
target: "https://johndoe.dev"
},
"linkedin": {
description: "Open my LinkedIn profile",
output: ["💼 Opening LinkedIn profile..."],
action: "external",
target: "https://linkedin.com/in/johndoe"
}
},
enabledCommands: [
// Information commands
"help", "about", "whoami", "neofetch", "profile",
// Navigation commands
"cd", "ls", "pwd", "tree",
// Utility commands
"clear", "history", "date", "uptime", "uname",
// Fun commands
"parrot", "sl", "fortune", "cowsay",
// Custom commands
"hire-me", "coffee", "stack", "joke", "quote", "portfolio", "linkedin",
// Development commands
"ps", "top", "grep", "cat", "man"
],
prompt: "visitor@johndoe-dev:~$"
},
// ===== SYSTEM INFO FOR NEOFETCH =====
systemInfo: {
os: "Arch Linux x86_64",
host: "johndoe.dev",
kernel: "6.6.0-zen",
uptime: "∞ hours (always coding)",
packages: "2048 (npm + pip + cargo)",
shell: "zsh 5.9 + oh-my-zsh",
resolution: "3840x2160",
de: "GNOME 45",
wm: "Mutter",
terminal: "Alacritty",
cpu: "AMD Ryzen 9 7950X (32) @ 4.5GHz",
gpu: "NVIDIA RTX 4080",
memory: "32GB DDR5-5600"
},
// ===== PROJECT CONFIGURATION =====
projects: {
featuredRepos: [
"awesome-react-app",
"python-cli-tool",
"kubernetes-deployment-tool"
],
excludeRepos: [
"private-repo",
"test-repo",
"old-deprecated-project"
],
categories: {
"🌐 Web Development": [
"react-dashboard",
"e-commerce-platform",
"portfolio-website"
],
"🛠️ CLI Tools": [
"git-workflow-helper",
"docker-manager",
"project-scaffolder"
],
"📚 Libraries": [
"react-component-library",
"python-utility-package",
"npm-package"
],
"🤖 Automation": [
"ci-cd-templates",
"deployment-scripts",
"monitoring-tools"
]
}
},
// ===== BLOG CONFIGURATION =====
blogs: {
enabled: true,
featuredPosts: [
"building-scalable-react-apps",
"docker-best-practices",
"typescript-advanced-patterns"
],
categories: [
"React",
"TypeScript",
"Node.js",
"Docker",
"AWS",
"DevOps",
"Tutorials",
"Best Practices"
]
},
// ===== SEO CONFIGURATION =====
seo: {
siteName: "John Doe - Full Stack Developer",
keywords: [
"john doe",
"full stack developer",
"react developer",
"typescript",
"node.js",
"python",
"devops engineer",
"software engineer",
"web developer",
"open source"
],
author: "John Doe",
twitterHandle: "@johndoe",
ogImage: "/og-image-john-doe.jpg"
},
// ===== THEME CONFIGURATION =====
theme: {
primaryColor: "#3b82f6", // Blue
secondaryColor: "#8b5cf6", // Purple
accentColor: "#10b981", // Green
backgroundColor: "#0f172a", // Dark slate
textColor: "#f1f5f9", // Light slate
terminalBackground: "#1e293b", // Slate 800
terminalText: "#22c55e", // Green 500
font: "JetBrains Mono, Cascadia Code, Fira Code, monospace"
}
};Copy this checklist and update each item with your information:
- Update
namewith your full name - Set
usernameto your GitHub username - Write your
title(e.g., "Frontend Developer") - Create a compelling
descriptionfor SEO - Write a personal
bio(2-3 sentences) - Add your profile
imageto public folder - Set your
websiteURL - Add your
location - Include your
email
- GitHub profile URL
- LinkedIn profile URL
- Twitter handle (optional)
- Telegram username (optional)
- Other social platforms
- List your programming languages
- Add frameworks you use
- Include tools and technologies
- Keep it concise (10-20 items max)
- Customize welcome message
- Add your custom commands
- Update contact information in "hire-me"
- Set your availability status
- Add your rates (if freelancing)
- Update OS information
- Set your hostname/domain
- Customize hardware specs (can be fun/creative)
- Update software versions
theme: {
primaryColor: "#2563eb",
secondaryColor: "#7c3aed",
accentColor: "#059669",
backgroundColor: "#0f172a",
textColor: "#f1f5f9",
terminalBackground: "#1e293b",
terminalText: "#22c55e",
font: "JetBrains Mono, monospace"
}theme: {
primaryColor: "#ff006e",
secondaryColor: "#8338ec",
accentColor: "#ffbe0b",
backgroundColor: "#000000",
textColor: "#ffffff",
terminalBackground: "#1a0033",
terminalText: "#00ff41",
font: "Courier New, monospace"
}theme: {
primaryColor: "#374151",
secondaryColor: "#6b7280",
accentColor: "#059669",
backgroundColor: "#ffffff",
textColor: "#111827",
terminalBackground: "#f9fafb",
terminalText: "#374151",
font: "SF Mono, Monaco, monospace"
}- Profile Image: Use a square image (500x500px) in JPG or PNG format
- Bio Length: Keep it under 200 characters for best display
- Skills: Order them by proficiency/importance
- Custom Commands: Add commands that showcase your personality
- Stats: Update these periodically to keep them current
- Terminal Theme: Choose colors that reflect your personal brand
- Social Links: Only include platforms you're actively using
Once you've updated your config:
- Test locally: Run
npm run devto preview changes - Update GitHub data: Run
npm run update-github - Build: Run
npm run buildto prepare for deployment - Deploy: Push to your repository or deploy to your platform
Your portfolio is now fully customized and ready to impress! 🎉