Portfolio v2

2025
Design & Full Stack Development
Portfolio v2

About the project

Personal portfolio built with the latest React and Next.js technologies. The project stands out for its minimalist and elegant design, with a strong emphasis on fluid animations and editorial typography. It features a unique "Glimpse" component that shows image previews on hover over project links.

Main features

  • Glimpse component with image previews on hover
  • Advanced animations with Framer Motion and GSAP
  • Cinematic noise effect in the background
  • Editorial typography with PP Editorial New
  • Responsive design with Tailwind CSS v4
  • Performance optimization with Next.js 16
  • Fullscreen menu system with staggered animations
  • Smooth navigation between project pages

Technical challenges

  • Optimize animations to maintain 60fps
  • Create an image preview system without affecting layout
  • Integrate custom fonts while maintaining performance
  • Implement canvas noise effect without performance impact

Tech stack

Next.jsReactTypeScriptTailwindFramer MotionGSAP

Color Palette

Background

#141414

Dark main background

Foreground

#FFFFFF

Primary text

Gray Medium

#8A8A8A

Secondary text and details

Sky Blue Pastel

#A7C7E7

Frontend category

Mint Green Pastel

#B4E7CE

Backend category

Coral Pink Pastel

#F4C2C2

Tools category

Lavender Pastel

#E8D5F2

Featured projects

Typography & Iconography

PP Editorial New

Custom

Main titles, italic names, editorial emphasis

200 (Ultralight)400 (Regular)800 (Ultrabold)

Ignacio Palacio

106px400 • italic

Full Stack

72px400 • italic

Poppins

Google Font

Section titles, headings

100-900

Desarrollador

72px500

Proyectos

72px500

Inter

Google Font

Body text, descriptions, UI elements

Variable

Texto de párrafo principal

18px400

Metadata y etiquetas

14px500

Phosphor Icons

Phosphor Icons

DuotoneComplete iconography system in Duotone weight

https://phosphoricons.com
  • Over 1,200+ icons available
  • Duotone style with 0.2 opacity for depth
  • Consistent 256x256 viewbox
  • Inline integration for better performance

Tech Stack

Next.js 16

React Framework with App Router

  • Server Components
  • Automatic optimization
  • Advanced routing

React 19

UI Library

  • Modern hooks
  • Concurrent rendering
  • Improved Suspense

Framer Motion

Declarative animations

  • Smooth transitions
  • Scroll triggers
  • Touch gestures

GSAP

Complex 3D animations

  • 3D text flip
  • Precise timeline
  • Advanced transforms

Tailwind CSS v4

CSS utility framework

  • @theme syntax
  • JIT compiler
  • Native CSS Variables

TypeScript 5

Static typing

  • Type safety
  • Intellisense
  • Safe refactoring

Technical Details

Cinematic Noise Effect

Background texture dynamically generated using Canvas API

  • Rendered at 24fps for optimization
  • Resolution reduced to 50% of viewport
  • Opacity: 0.05 with mix-blend-mode: soft-light
  • Random black/white pixel generation
  • Canvas on fixed layer z-50
const createNoise = () => {
  const imageData = ctx.createImageData(canvas.width, canvas.height);
  const buffer = new Uint32Array(imageData.data.buffer);

  for (let i = 0; i < buffer.length; i++) {
    const noise = Math.random() > 0.5 ? 255 : 0;
    buffer[i] = (255 << 24) | (noise << 16) | (noise << 8) | noise;
  }

  ctx.putImageData(imageData, 0, 0);
};

Glimpse Component

Unique image preview system on hover

  • Portal rendering for fixed positioning
  • Two modes: single image and fan layout
  • Animations with blur and scale
  • Real-time cursor tracking
  • Support for SVG and raster images

Design Inspiration

Editorial Design

Italian typography from fashion magazines, use of italics for contrast

Swiss Design

Grid system, precise spacing, functional minimalism

Motion Design

Micro-interactions, smooth transitions, visual feedback

Brutalism

Extreme contrast, clear hierarchy, absence of unnecessary ornamentation