基于 React 与 Vite 构建,动画使用 GSAP 与 motion-organic 物理引擎
Portfolio (Masad791) — Vite 作品集模板
作者 Masad791
基于 React 与 Vite 的创意开发者作品集模板,使用 GSAP 与 motion-organic 实现多种页面过渡、排版特效和 Canvas 交互,个人资料与项目数据集中在两个配置文件中。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
提供 organic-blob、text-portal、aperture、curtain 四种页面过渡效果
包含 LiquidMetalText、VariablePhysicsText 等排版特效组件
首页项目区为 GSAP 横向固定滚动,卡片带 3D 翻转
个人资料与项目数据分别集中在 profileData.js 和 projectsData.js
联系表单通过 FormSubmit 转发邮件,无需自建后端
模板详细介绍
这是一个面向创意开发者的作品集模板,技术栈为 React 与 Vite,动画部分使用 GSAP(含 @gsap/react 与 ScrollTrigger)以及 motion-organic 物理引擎。页面结构包含首页与动态案例页 /project/:id,首页提供横向滚动的项目展示、技能与能力区块、联系表单和页脚 Canvas 效果。
模板把个人信息与项目数据分别集中在 src/data/profileData.js 和 src/data/projectsData.js,修改这两个文件即可替换姓名、社交链接、邮箱、项目标题、技术栈以及每个项目使用的过渡类型。项目过渡提供 organic-blob、text-portal、aperture、curtain 四种可选效果,由 PortalTransitionContext 统一驱动。
主题方面提供明暗两套配色,通过 localStorage 持久化并在渲染前初始化。联系表单使用 FormSubmit 转发到 profileData 中配置的邮箱,首次提交后需要点击确认邮件激活;仓库同时包含 Netlify 的 SPA 重定向配置。
使用前需注意:README 中提到的 Node 与 npm 版本要求、依赖版本号等具体数值未在本次资料中逐项核对,请以仓库 package.json 为准。演示图片、字体、图标等第三方素材的许可需单独确认,MIT 许可仅覆盖代码本身。
适合你的项目吗?
适用场景
- 创意开发者或设计师搭建个人作品集站点
- 需要多种页面过渡与排版动画效果的展示型项目
- 以 React 与 Vite 为基础、希望快速替换个人数据的模板二次开发
- 部署到 Netlify 并使用其 SPA 重定向与表单能力的静态站点
适合人群
- 熟悉 React 与 Vite 的前端开发者
- 希望以配置文件方式维护作品集内容的个人用户
- 需要动画与过渡效果作为站点主要视觉表达的创意类作品集
- 接受使用 FormSubmit 等第三方免费服务处理表单的部署方式
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
克隆仓库后执行 npm install,再用 npm run dev 启动本地开发服务器
- 2
在 src/data/profileData.js 中修改姓名、角色、邮箱、社交链接与水印等信息
- 3
在 src/data/projectsData.js 中增删项目,并为每个项目指定过渡类型与 transitionWord
- 4
替换 public/ME.png 或修改 profileData 中的 morphImage 路径以更换人像
- 5
联系表单首次提交后需点击 FormSubmit 发送的确认邮件激活,之后消息才会转发到配置邮箱
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 联系表单依赖第三方服务 FormSubmit,首次提交后需点击确认邮件激活,之后访客消息才会转发到配置邮箱。
- 必须手动点击 FormSubmit 发送的激活邮件中的按钮一次,表单才能正常转发消息。
- 本地开发要求 Node.js 18.0.0 及以上、npm 9.0.0 及以上版本。
- 提交 Pull Request 前需先运行 npm run build,确保所有组件与排版特效可正常编译。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
When you deploy and submit the contact form for the first time, FormSubmit sends an instant confirmation link to the email specified in `profileData.email`.
README 原文
Click the **"Activate Form"** button in that email once.
README 原文
- **Node.js**: v18.0.0 or higher - **npm**: v9.0.0 or higher
README 原文
https://github.com/Masad791/Portfolio/blob/master/LICENSEhttps://github.com/Masad791/Portfolio/blob/master/README.mdPlease make sure to run `npm run build` before opening a pull request to ensure all components and typography effects compile cleanly.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-05。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Vite · React
- 网站类型
- 作品集
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-05
- 截图检查日期
- 2026-10-05
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Vite。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-06
查看当时使用的来源资料
SHA-256: 7b411bba3fbbd276fa79ff778b93c9ccd568f42b2d8602ac2ed7aecff81c5c18
2026-10-05T21:21:22.537Z
来源文件 / 仓库# Creative Developer Portfolio // Open-Source Template
[](https://opensource.org/licenses/MIT)
[](https://react.dev/)
[](https://vitejs.dev/)
[](https://greensock.com/)
[](https://www.npmjs.com/package/motion-organic)
[](https://motion-organic.kharsan.com/playground)
[](https://app.netlify.com/start/deploy?repository=https://github.com/Masad791/Portfolio)
An award-winning, high-performance creative developer portfolio built with **React 18**, **Vite**, **GSAP 3** (`@gsap/react`, `ScrollTrigger`), and the **[motion-organic](https://www.npmjs.com/package/motion-organic)** physics engine by **[Saumya Chaudhary](https://motion-organic.kharsan.com/playground)**.
Designed with an editorial luxury aesthetic, real spring momentum physics, signature multi-transition page portals, procedural Web Audio acoustic feedback, cinema-grade typography effects, and 100% free serverless email form handling.
---
## ⚡ Highlights & Key Features
### 1. Motion-Organic Multi-Transition Portal Engine
Seamless, real-time client-side page transitions powered by `Spring`, `engine`, and `MoAudio` from `motion-organic`:
- **Organic Liquid Blob Portal (`organic-blob`)**: A 14-point Catmull-Rom harmonic liquid droplet with Fourier surface tension waves and glowing cosmic rim expands outward from the user's cursor, blanketing the viewport, before dilating open to unveil the case study.
- **Typography Stencil Stargate Zoom (`text-portal`)**: Exponential 35x camera zoom diving straight into large letterform apertures with spatial bass audio.
- **9-Blade Mechanical Camera Iris (`aperture`)**: Rotating iris wedge shutter blades that twist closed over the screen and snap open onto the destination page with camera shutter acoustics.
- **Waterfall Columnar Cascade (`curtain`)**: Asymmetric 5-column vertical cosmic curtain sweep with smooth harmonic staggering.
- **Procedural Zero-Asset Web Audio FX**: Realistic liquid bubble pops, acoustic whooshes, and mechanical shutter clicks synthesized directly via the Web Audio API without heavy external audio files.
### 2. Cinema-Grade Typography Effects Suite
- **Avant-Garde Ligature Typography (`AvantGardeText`)**: High-concept modern foundry ligatures with arched letter stems, asterisk superscript dots, and spring hover expansion.
- **Shimmering Liquid Chrome (`LiquidMetalText`)**: Real-time molten metallic reflection sweeping dynamically across the System Architecture headline with pointer reactive contrast.
- **Elastic Variable Font Physics (`VariablePhysicsText`)**: Cursor proximity-driven harmonic spring waves modulating font variation weight (`wght`) axes in real time.
- **Chromatic RGB Glitch Dispersion (`.mo-glitch-text`)**: Cyberpunk horizontal strata slices with red/cyan color separation and anamorphic displacement jitter.
- **Aurora Borealis Shimmer (`.mo-aurora-text`)**: Multi-stop cosmic gradient wave with continuous flowing spectral luminance.
### 3. Core Architecture & Interactivity
- **Centralized Profile Config (`src/data/profileData.js`)**: All personal identity, social links, contact info, and branding live in a single file for instant personalization.
- **GSAP Horizontal Pin Scroll**: Dynamic right-to-left project gallery in `#projects` with automatic travel measurement, 3D card flips, and real-time scroll-spy navbar indicator.
- **Fluid Morph Transition**: Seamless scrubbed cross-fade dissolving developer portrait into typography with hold buffering.
- **Interactive Canvas Physics**:
- **Custom Cursor**: Particle trail with velocity-based attraction physics.
- **Black Hole Event Horizon Footer**: Adaptive canvas particle accretion with cosmic amber glow and edge circulation.
- **Dual Theme Engine**: Instant pre-paint theme initialization (pure `#ffffff` light mode and cosmic black `#0a0a0b` dark mode) persisted in `localStorage` with zero refresh flash.
- **Dynamic Case Study Routing**: Reusable `/project/:id` pages powered by `projectsData.js` featuring architecture overviews, tech stacks, and visual showcases.
- **Zero-Backend Free Form Handling**: Submissions route directly to your personal email inbox via FormSubmit (100% free, no credit card or account needed) plus Netlify Forms dual-compatibility.
---
## 🚀 1-Click Quick Deploy to Netlify
You can deploy your own copy of this portfolio to **Netlify** with a single click:
[](https://app.netlify.com/start/deploy?repository=https://github.com/Masad791/Portfolio)
### Why Netlify is 100% Compatible
- **Zero Server Overhead**: All animations, GSAP physics, Web Audio synthesis, and SVG morphs execute entirely in the visitor's browser (GPU/CPU accelerated).
- **Single Page App Routing**: [`public/_redirects`](public/_redirects) is pre-configured (`/* /index.html 200`), guaranteeing that refreshing or direct-linking to any project case study (e.g. `/project/1`) works instantly without 404 errors.
- **Instant Global CDN Delivery**: Built using `vite build` into optimized static assets served worldwide with sub-100ms TTFB.
---
## 🎨 How to Customize for Yourself (in 3 Minutes)
This template is architected so you **never have to dig through complex JSX files** to change personal details.
### 1. Fork & Clone
```bash
git clone https://github.com/YOUR_USERNAME/Portfolio.git
cd Portfolio
npm install
```
### 2. Personalize Identity in `src/data/profileData.js`
Open [`src/data/profileData.js`](src/data/profileData.js) and update:
```javascript
export const profileData = {
name: "Your Name",
fullName: "Your Full Name",
rolePrefix: "Software",
roleHighlight: "Engineer",
email: "[email protected]", // Form messages will arrive here!
socials: {
github: "https://github.com/yourusername",
linkedin: "https://linkedin.com/in/yourprofile",
email: "mailto:[email protected]"
},
watermark: "YOUR_INITIALS",
morphImage: "/ME.png"
// ...
};
```
### 3. Add Your Projects in `src/data/projectsData.js`
Add or modify your projects in [`src/data/projectsData.js`](src/data/projectsData.js). Each project automatically gets:
- A 3D interactive card on the homepage horizontal scroll track.
- A dedicated, responsive deep-dive case study page at `/project/:id`.
- Your choice of signature transition:
```javascript
{
id: "1",
title: "Nebula Platform",
transition: "organic-blob", // 'organic-blob' | 'text-portal' | 'aperture' | 'curtain'
transitionWord: "NEBULA",
// ...
}
```
### 4. Swap Your Portrait
Replace [`public/ME.png`](public/ME.png) with your own transparent PNG photo, or update the `morphImage` path in `profileData.js`.
---
## 📁 Project Structure
```text
Portfolio/
├── public/ # Static assets & redirects
│ ├── _redirects # Netlify SPA redirect rule (/* /index.html 200)
│ ├── ME.png # Developer portrait
│ └── *.png # Project preview thumbnails
├── src/
│ ├── components/ # Modular UI components
│ │ ├── BackgroundStars.jsx # Starfield pattern & noise overlay
│ │ ├── Capabilities.jsx # Capabilities grid
│ │ ├── ContactForm.jsx # Free email form + GSAP flying envelope
│ │ ├── CustomCursor.jsx # 2D canvas particle cursor
│ │ ├── Footer.jsx # Black hole canvas + brand watermark
│ │ ├── Hero.jsx # Dynamic headline & animated tech boxes
│ │ ├── Marquee.jsx # Infinite tech stack ticker
│ │ ├── MorphSection.jsx # Scrubbed cross-fade morph section
│ │ ├── Navbar.jsx # Glass navbar with scroll-spy sliding indicator
│ │ ├── ProjectCard.jsx # 3D interactive flip card with architectural typography
│ │ ├── ProjectsHorizontal.jsx # Pinned horizontal ScrollTrigger track
│ │ └── Skills.jsx # Architecture & stack with Liquid Metal typography
│ ├── context/
│ │ ├── PortalTransitionContext.jsx # 👈 Root multi-transition physics engine
│ │ └── ThemeContext.jsx # Persistent light/dark theme provider
│ ├── data/
│ │ ├── profileData.js # 👈 Central profile configuration
│ │ └── projectsData.js # 👈 Projects & case studies dataset with transition configs
│ ├── pages/
│ │ ├── Home.jsx # Main landing page
│ │ └── ProjectDetailPage.jsx # Dynamic case study page (/project/:id)
│ ├── App.jsx # Router, layout, PortalTransitionProvider & global scroll
│ ├── main.jsx # Application root entry
│ └── style.css # Global theme variables, typography & performance overlays
├── LICENSE # MIT License
├── netlify.toml # Netlify build & redirect specifications
├── package.json # Dependencies & scripts
└── vite.config.js # Vite React configuration
```
---
## 🛠️ Local Development
### Prerequisites
- **Node.js**: v18.0.0 or higher
- **npm**: v9.0.0 or higher
### Commands
```bash
# Install dependencies
npm install
# Start local dev server (default: http://localhost:5173)
npm run dev
# Build for production
npm run build
# Preview production build locally
npm run preview
```
---
## 📬 Contact Form Email Setup
The contact form uses [FormSubmit](https://formsubmit.co), requiring **zero backend** and **zero configuration**:
1. When you deploy and submit the contact form for the first time, FormSubmit sends an instant confirmation link to the email specified in `profileData.email`.
2. Click the **"Activate Form"** button in that email once.
3. Every future message sent by visitors on your website will land directly in your email inbox with the sender's name, email, and message!
---
## 🤝 Contributing & Community
Contributions, feature ideas, and feedback from the developer community are warmly encouraged!
1. **Fork the Repository**
2. **Create a Feature Branch** (`git checkout -b feature/AmazingFeature`)
3. **Commit your Changes** (`git commit -m 'feat: add some AmazingFeature'`)
4. **Push to the Branch** (`git push origin feature/AmazingFeature`)
5. **Open a Pull Request**
Please make sure to run `npm run build` before opening a pull request to ensure all components and typography effects compile cleanly.
---
## 🌟 Special Thanks & Shoutout: motion-organic
A huge shoutout and heartfelt appreciation to **Saumya Chaudhary** ([@saumya_chx](https://www.npmjs.com/~saumya_chx)) for creating the incredible [**motion-organic**](https://www.npmjs.com/package/motion-organic) library!
- **NPM Package**: [`motion-organic`](https://www.npmjs.com/package/motion-organic)
- **Interactive Playground**: [motion-organic.kharsan.com/playground](https://motion-organic.kharsan.com/playground)
`motion-organic` powers the signature liquid spline portal transitions, procedural Web Audio acoustic feedback, and physics-driven typography across this portfolio with **zero external dependencies** and pure spring momentum. If you are building modern, high-performance web experiences, please check out the library and star/support the author's open-source work!
---
## 📄 License
This project is open-source and available under the [MIT License](LICENSE).
Copyright © 2026 [Muhammad Asad](https://github.com/Masad791).
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

Resumify
Free, privacy-first resume builder — 6 ATS-friendly templates, full customization, JSON import/export. No sign…
Vite · 作品集

showlit
✨ Showlit - A modern and clean template for creating a personal website
Vite · 作品集

folium
Professional developer portfolio boilerplate (React • TypeScript • Tailwind • Vite) with simple content custom…
Vite · 作品集

kurizu-discord
A Discord themed website built using React & Vite
Vite · 作品集

about-me-personal-portfolio-website-template
Simple Personal Website Template, built with bootstrap and vite js project.
Vite · 作品集

HackFolio
A high-performance, SEO-optimized hacker-themed portfolio website tailored for for ethical hackers, penetratio…
Vite · 作品集
