Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
My award-winning playground / portfolio website.
michaelkolesidis.com is an open-source, award-winning portfolio website template handcrafted with TypeScript, GSAP, and Sass that recreates the playful, interactive aesthetics of the early web.
michaelkolesidis.com is a single-page portfolio website built entirely from scratch using TypeScript, GSAP (GreenSock Animation Platform), and Sass, with no other libraries, frameworks, or templates. The only exceptions are a custom WebGL shader that generates a TV signal noise effect and a 3D rubber duck rendered with three.js through React Three Fiber. It is the live personal site of developer Michael Kolesidis and is published as a forkable template with a dedicated customization guide. As a static Vite project, it takes personal content and project data as input and produces a fully animated, interactive portfolio page as output.
The site is a static Vite project. The core code is written in TypeScript with styles in Sass and animations powered by GSAP. A WebGL shader renders the TV noise effect, and a 3D duck is handled by three.js via React Three Fiber. A custom DOM Window Manager module provides the window dragging and layering behavior.
The template is free and open-source. The code is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0), and the graphics, images, and cursors are licensed under Creative Commons Attribution-ShareAlike 4.0 International, except for the duck logo.
Yes. The template's code is released under AGPL-3.0, so you can freely fork and use it for your own portfolio. If you modify and deploy it publicly, AGPL-3.0 requires you to make your modified source available under the same license.
A step-by-step CUSTOMIZATION_GUIDE.md is included in the repository. It explains how to personalize content and metadata, add your own projects and assets, customize styling and colors, set up analytics, and deploy the site.
Yes. Analytics only activate when you set the VITE_GA_TRACKING_ID environment variable in a .env file or on your deployment platform. If you don't set an ID, analytics is completely disabled.
The graphics, images, and cursors are licensed under CC BY-SA 4.0, which requires attribution and share-alike. The rubber duck logo is an exception to this license.
The template was created by Michael Kolesidis as his personal portfolio website. The customization guide was contributed by Alexis Fiolleau (Potowai). The site has received awards from One Page Love, CSS Winner, and Best CSS.