Personal portfolio website for Muhammad Usama (@UsamMatrix), Rust & Cybersecurity Engineer and Founder of UZYNTRA Security.
- React 18
- Vite 5
- TypeScript
- Tailwind CSS
- Framer Motion
- Lucide React
npm install
npm run devnpm run build
npm run preview- Push to the
mainbranch. - The workflow in
.github/workflows/deploy.ymlwill automatically build and deploy to GitHub Pages. - In your repository settings, go to Settings → Pages and set the source to GitHub Actions.
npm run build
# Upload the contents of /dist to your GitHub Pages branchOpen vite.config.ts and update the base value:
// User site (UsamMatrix.github.io) → use "/"
base: "/"
// Project site (UsamMatrix.github.io/portfolio) → use "/portfolio/"
base: "/portfolio/"All personal links are hardcoded in the components. Key files to update:
| File | What to update |
|---|---|
src/components/Navbar.tsx |
Logo name, UZYNTRA badge |
src/components/Hero.tsx |
GitHub/LinkedIn links, name, headline |
src/components/Contact.tsx |
Email, all social links |
src/components/Footer.tsx |
Name, links |
index.html |
SEO meta tags, title |
All content data lives in src/data/:
| File | Controls |
|---|---|
projects.ts |
Featured projects cards |
skills.ts |
Skill categories and chips |
expertise.ts |
Core expertise cards |
timeline.ts |
Experience timeline items |
blog.ts |
Blog/writing cards |
Edit these files to update content without touching component logic.
src/
components/
Navbar.tsx
Hero.tsx
About.tsx
Expertise.tsx
Projects.tsx
UzyntraSection.tsx
Skills.tsx
Timeline.tsx
SecurityPhilosophy.tsx
Blog.tsx
Contact.tsx
Footer.tsx
BackToTop.tsx
data/
projects.ts
skills.ts
expertise.ts
timeline.ts
blog.ts
styles/
globals.css
App.tsx
main.tsx
.github/
workflows/
deploy.yml
index.html
vite.config.ts
tailwind.config.js
postcss.config.js
package.json
tsconfig.json
MIT