Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Interactive personal portfolio built with React 18, featuring scroll-driven SVG animations, modular scene management, and a custom animation debugger.
albinotonnina.com is an open-source interactive portfolio template by developer Albino Tonnina that turns scroll input into animated SVG scene transitions, built with React 18 and Webpack 5.
albinotonnina.com is a personal portfolio website that presents Albino Tonnina's work through a series of hand-crafted SVG illustrations and subtitle text, animated as the user scrolls. The project is implemented as a single-page React application: the source accepts SVG scenes, transition definitions, and text subtitles, and outputs a browser experience where each scroll position maps to a different animation state. It runs on a modern JavaScript toolchain — React 18 for the UI, Webpack 5 with Babel 7 and PostCSS for building, and a custom animation engine using D3 Interpolate. The complete source is available on GitHub under the CC BY-NC-ND 4.0 license.
Creative front-end developers who want to study a real-world implementation of scroll-driven SVG animation with React and Webpack will find the modular scene system and animation debugger instructive. Portfolio owners looking for an interactive personal site can use the project as inspiration and a technical reference, though the CC BY-NC-ND license restricts modifying and redistributing the code. Developers interested in Webpack 5 build optimizations can run yarn analyze to explore how the bundle size was cut by roughly 88 percent.
transitions.js and the tick function to understand how complex scene changes are coordinated with scroll position.yarn install and yarn dev to start the Webpack 5 development server at localhost:8080 with hot module replacement and fast refresh.yarn lint, yarn lint:css, yarn format, and yarn test to see how ESLint, Stylelint, Prettier, and Jest are configured for a React 18 project.Visitors scroll, and the scroll position drives a custom animation engine that interpolates between predefined scene states using D3 Interpolate, updating inline SVG styles and filters in real time. To run the project locally, clone the GitHub repository, install Node.js version 22.x or higher and Yarn, run yarn install, then yarn dev; the site is served at http://localhost:8080. In development, the animation debugger overlay and window.animationDebugger console API expose the internal scene timeline for tuning transitions.
Pros:
Cons:
The template is free to view, run, and experiment with locally for learning purposes. Under the CC BY-NC-ND 4.0 license, commercial use and distribution of modified versions are not permitted.
Yes, the source code is freely available on GitHub under the CC BY-NC-ND 4.0 license. You can view, run, and experiment with it locally, but the license restricts commercial use and distribution of modified versions.
It uses React 18 with functional components, Webpack 5 as the module bundler, Babel 7 for JavaScript compilation, PostCSS for CSS processing, and D3 Interpolate for animation transitions. Development tooling includes ESLint, Prettier, Stylelint, Jest, and Webpack Bundle Analyzer.
Not directly. The CC BY-NC-ND 4.0 license states you may not modify and redistribute the material, such as using it as your own portfolio by changing the name or content. You can study the code and build your own version using the techniques demonstrated.
Clone the GitHub repository, ensure you have Node.js version 22.x or higher and Yarn installed, then run yarn install followed by yarn dev. The development server will start with hot module replacement at http://localhost:8080.
It's a development-only overlay toggled with Ctrl/Cmd+D that shows real-time timing and progress information for the scene transitions, the current scene and animation state, a scene timeline, and a list of active animated elements. Console commands are also available on window.animationDebugger.
