Skip to content

yassinsolim/personal-portfolio

 
 

Repository files navigation

yassin.app

Interactive 3D personal portfolio (outer layer) for https://yassin.app.

This project is built as a Three.js experience with a scene authored in Blender, deployed via containers on my homelab.

Preview

yassin.app preview

Credits / Inspiration

Related Project

Tech Overview

  • Frontend: Three.js / WebGL experience (React-based stack depending on your setup)
  • Scene authoring: Blender → exported to GLB/GLTF
  • Deployment: Docker + reverse proxy (Caddy) + CI/CD (GitHub Actions)

Local Development

Install dependencies:

npm install

Run the dev server:

npm run dev

Racing Leaderboard (Optional Supabase)

Online leaderboard setup is documented in docs/RACING_SUPABASE.md. If Supabase config is not provided, leaderboard automatically falls back to localStorage. On Vercel, set RACING_SUPABASE_URL and RACING_SUPABASE_ANON_KEY as environment variables before deploying.

Exporting the Scene (GLB/GLTF)

Auto-export the scene to GLB (Windows):

npm run export:glb

If your dev server is running, you can export via URL:

http://localhost:PORT/?export=1&save=1

Exported file location:

exports/exported-scene.glb

Notes

If you find bugs or have feature ideas, feel free to open an issue or message me.

About

Interactive 3D portfolio with a custom multiplayer Nordschleife racing game

Resources

Stars

Watchers

Forks

Contributors

Languages

  • TypeScript 88.5%
  • JavaScript 7.2%
  • CSS 3.0%
  • Other 1.3%