A cinematic, scroll-driven personal homepage that vibes with you.
δΈζ | English
Your story. Scrolled. Felt. Remembered.
Most personal homepages are... static. Boring. A photo, some text, a few links. Yawn.
VibeHome is different:
| Feature | What it feels like |
|---|---|
| π₯ Cinematic Intro | Your avatar floats, shrinks, morphs as the user scrolls β like a movie opening |
| π Parallax Projects | Two-column staggered scroll with hover-reveal cards |
| π Honors Grid | Animated cards with subtle glow-on-hover |
| π Milestones Timeline | Scroll-activated timeline with a glowing progress line |
| π¨ Atmospheric Design | Floating blobs, gradient overlays, glass-morphism β your page breathes |
| β‘ Buttery Smooth | Powered by Lenis for silk-smooth scrolling |
| π One Config File | All your info in site.config.json β zero code editing needed |
- Node.js β₯ 18
- npm / pnpm / yarn
git clone https://github.com/FlashingChen2024/VibeHome.git
cd VibeHome
npm installOpen site.config.json and fill in your info β that's the only file you need to touch:
{
"site": {
"title": "Alex Chen - Homepage",
"pageTitle": "Alex Chen's Homepage"
},
"profile": {
"name": "Alex Chen",
"avatar": "https://github.com/alexchen.png",
"fallbackAvatar": "https://picsum.photos/seed/alex/400/400",
"tags": ["Full-Stack Explorer", "Design Lover", "Open Source"],
...
}
}npm run devOpen http://localhost:3000 β your cinematic homepage is alive! π
npm run buildDeploy the dist/ folder to any static host (Vercel, Netlify, Cloudflare Pages, GitHub Pages...).
The magic happens in site.config.json. Here's a detailed breakdown:
"site": {
"title": "Your Name - Homepage",
"pageTitle": "Your Name's Homepage"
}| Field | Description |
|---|---|
title |
Used in metadata / SEO |
pageTitle |
The browser tab title |
"profile": {
"name": "Your Name",
"avatar": "https://github.com/your-username.png",
"fallbackAvatar": "https://picsum.photos/seed/default/400/400",
"tags": ["Tag One", "Tag Two", "Tag Three"],
"viewpoint": {
"quote": "\"Your core belief goes here...\"",
"paragraphs": ["First paragraph about yourself...", "Second paragraph about your interests..."]
}
}| Field | Description |
|---|---|
name |
Displayed as the giant hero heading |
avatar |
Your profile photo URL (shown in a glowing circle) |
fallbackAvatar |
Fallback image if avatar fails to load |
tags |
Array of identity tags shown below your name (separated by /) |
viewpoint.quote |
Your core belief quote β supports HTML tags for styling |
viewpoint.paragraphs |
1β2 paragraphs of self-introduction |
π‘ Tip: The
quotefield supports raw HTML! You can use<span class="...">to add gradient highlights, just like the default template.
"projects": [
{
"title": "Project Name",
"desc": "Short project description",
"link": "https://example.com/project",
"platform": "WEB APP",
"img": "https://images.unsplash.com/photo-xxx?auto=format&fit=crop&w=800&q=80"
}
]| Field | Description |
|---|---|
title |
Project name (large serif heading) |
desc |
Short description shown on hover |
link |
Click-through URL |
platform |
Tag badge text (e.g. WEB APP, GITHUB, AI AGENT) |
img |
Background image URL β recommend Unsplash or your own screenshots |
π¨ Image Tip: Use dark-toned images for best results β the overlay effect works best with moody, high-contrast photos.
"honors": [
{
"title": "Honor Title",
"subtitle": "Honor Category",
"date": "2026/04",
"icon": "star",
"color": "text-purple-400"
}
]| Field | Description |
|---|---|
title |
Honor name |
subtitle |
Category or context |
date |
Date string |
icon |
Icon type: "star", "trophy", or "medal" |
color |
Tailwind text color class for the icon |
"milestones": [
{ "date": "2026 / 04", "title": "Milestone One", "desc": "What happened..." }
]Shown as an animated vertical timeline. Add as many as you like β the glowing line grows as you scroll.
"footer": {
"slogan": "Keep<br/><span class=\"...\">Hacking.</span>",
"tags": ["Tag1", "Tag2", "Tag3"],
"socials": [
{ "label": "GITHUB / @your-username", "url": "https://github.com/your-username" }
],
"contacts": [
{ "label": "HELLO@EXAMPLE.COM", "url": "mailto:hello@example.com" }
],
"location": "Your City Β· Your Country",
"copyright": "Β© 2026 YOUR NAME.",
"watermark": "Your School / Your Focus"
}| Field | Description |
|---|---|
slogan |
Big footer statement β supports HTML |
tags |
Skill / identity tags |
socials |
Social links with display labels |
contacts |
Email or contact links |
location |
Location with π icon |
copyright |
Copyright text |
watermark |
Giant faint text at the very bottom of the page |
Edit src/index.css β the @theme block:
@theme {
--color-accent: #00f0ff; /* Primary accent (cyan) */
--color-accent-2: #7000ff; /* Secondary accent (purple) */
}@theme {
--font-serif: "Georgia", serif;
--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
--font-mono: "JetBrains Mono", "Roboto Mono", monospace;
}Replace Unsplash URLs with your own. For best visual effect:
- Use dark-toned or moody images
- Recommended aspect ratio: 4:3
- Recommended width: 800px+
| Tech | Role |
|---|---|
| React 19 | UI framework |
| Tailwind CSS 4 | Utility-first styling |
| Motion | Scroll animations & transitions |
| Lenis | Smooth scroll engine |
| Lucide | Icon library |
| Vite | Build tool |
VibeHome/
βββ site.config.json β π― Your only edit target
βββ index.html
βββ package.json
βββ vite.config.ts
βββ tsconfig.json
βββ src/
βββ main.tsx Entry point
βββ App.tsx All components
βββ index.css Theme & global styles
npm i -g vercel
vercelnpm run build
# Upload dist/ foldernpm run build
# Push dist/ to gh-pages branchJust point the build command to npm run build and output directory to dist/.
Contributions are welcome! Feel free to:
- π΄ Fork the repo
- πΏ Create your feature branch (
git checkout -b feature/amazing-feature) - πΎ Commit your changes (
git commit -m 'Add amazing feature') - π€ Push to the branch (
git push origin feature/amazing-feature) - π Open a Pull Request
This project is licensed under the MIT License β feel free to use, modify, and distribute.
π A tiny request: please keep the "Built with VibeHome" footer link. It's a small credit that means a lot! π
Made with π by FlashingChen
Vibe it. Ship it. Own it. π