Skip to main content

public 3d-motion repository

portfolio-2025

// davidhckh/portfolio-2025

Interactive developer portfolio built with Three.js, Vue and modern web technologies, focused on immersive user experiences, smooth animations and high-performance frontend architecture.

$ git log --oneline --stat
stars:698forks:145updated:2026-05-30
README.md
readonly

Portfolio (2025)

Personal portfolio site: project case studies, lightweight 3D and shader demos, bilingual copy (English and German).

Built with Vue 3, TypeScript, and Vite. Motion via GSAP and Lenis, 3D via three.js, audio via Howler. GLSL is compiled through vite-plugin-glsl.

Scripts

CommandDescription
npm run devDev server on port 3000 (strictPort)
npm run buildvue-tsc then production bundle to dist/
npm run previewServe the production build locally
npm run typecheckTypecheck only (vue-tsc -b)

Content

  • Projects: src/content/projects/{en,de}/<slug>.ts — copy, tags, media, links. Slugs must align with projectIds in src/content/projects/index.ts.
  • Previews / listing: src/content/projects/previews/.
  • Tags: variants and labels live in src/components/tagVariants.ts (used by Tag.vue and content types).

Stack (high level)

  • Vue 3 (<script setup>), SCSS with shared mixins (src/assets/styles/)
  • i18n helpers under src/i18n/
  • WebGL / GLSL under src/three/ where applicable

Credits & Attribution

This project was created and designed by David Heckhoff.

If you use this project or substantial parts of its source code as a base for your own portfolio or work, attribution must be preserved.

Please keep:

  • existing credit comments in the source code
  • this attribution section in the README
  • a visible reference to the original project/repository in derivative works

Original portfolio: -> https://david-hckh.com

Commercial reuse or redistribution of substantial portions of this project without permission is prohibited.

metadata.json
TypeScriptGSAPThree.jstypescriptvitevueWebGL

[INFO] 3 topics link to curated motion topic pages.