Work

2026

Magia y Burbujas: Landing Site for Argentine Street Magician

DevDesignFrontend

A heavily animated single-scroll landing for Gonza Martini, an Argentine street magician performing in Barcelona, built to feel like a living magic poster.

Technologies

  • Astro 6 Static-site framework with zero client-side JS by default, ideal for a performance-sensitive marketing landing.
  • Tailwind CSS v4 Custom `@theme` design token system for the full ink/gold/violet/cream palette.
  • GSAP + ScrollTrigger Powers pinned Shows section, slide transitions, and scroll-driven bubble mascot choreography.
  • Lenis Smooth scroll integrated into a single RAF loop shared with GSAP; respects `prefers-reduced-motion`.
  • Canvas API (vanilla) Custom bubble particle system and star particles, dependency-free to avoid bundle overhead.
  • Fontsource (self-hosted) Cinzel Decorative, Pinyon Script, Cormorant Garamond Variable, and Young Heart woff2, with no Google Fonts CDN.
  • Vercel + @astrojs/vercel Adapter-based deployment with edge caching; DNS routed through Cloudflare.
  • Vitest + jsdom Unit testing for all client-side animation logic without a browser.
Screenshot of Magia y Burbujas website, with a dark background, gold typography, and a bubble-driven hero section.

Project Overview

Magia y Burbujas is the promotional website for Gonza Martini, an Argentine street magician and bubble-show artist based in Barcelona. The site is a single-scroll landing designed to function as both a portfolio and a booking conversion tool, communicating the warmth and spectacle of his shows in a tone that feels like a conversation rather than a brochure. The aesthetic is inspired by ornate fairground signage: dark ink backgrounds, gold typographic foil, violet accents, and iridescent bubbles throughout.

Objectives

  • Booking conversion - Drive inquiries via WhatsApp CTA with warm, inviting copy in Argentine Spanish.
  • Showcase shows - Present Gonza’s four distinct show formats (close-up magic, main stage, corporate, and the signature bubble experience) with full-bleed visual treatment.
  • Immersive first impression - Deliver a cinematic entrance sequence: a custom loader, portrait fade-in, animated title, and a bubble mascot that grows from the hero portrait and persists throughout the page as a scroll companion.
  • Mobile-first reach - Optimized for the 390px viewport, since the site is primarily shared via WhatsApp.

Project Workflow

  • Foundation - Scaffolded Astro 6 with Tailwind v4 custom design tokens (@theme palette of ink, gold, violet, cream), four self-hosted font families (Cinzel Decorative, Pinyon Script, Cormorant Garamond, Young Heart), and Lenis smooth scroll, all established in the first session.
  • Hero construction - Built a symmetric “living poster” hero with a dual-layer portrait (lit/dark crossfade driven by scroll progress), a canvas-based bubble particle system (~80–150 bubbles on desktop, 40–60 on mobile) with sinusoidal drift and iridescent rim rendering, and a marquee bottom band looping the show’s taglines.
  • Scroll choreography - Designed and implemented a 706-line GSAP ScrollTrigger orchestration: pinned Shows section (4 slides × 100vh), a Bézier-path bubble mascot that follows the scroll through every section, a horizontal pinned Gallery strip, and a free-scroll phase with keyframe-sampled mascot scale changes across Bio → Media → Contacto.
  • Content sections - Built Gallery (8 real client photos processed via Sharp to webp at q82, displayed with duotone-gold hover treatment), Reviews (4 testimonial cards with SectionReveal fade-in), and a rebuilt Contacto section with a 2-column layout and the mascot parked as a visual companion.
  • Performance gating - Replaced a fixed-duration loader with a hybrid progress bar combining a synthetic ramp with real asset load tracking on critical images and the mascot video, so the CTA only appears once essential content is ready.
  • Testing - 21 Vitest unit tests covering bubble physics, Catmull-Rom mascot path interpolation, gallery strip translation, and free-path scale curve sampling, all green.

Results and Impact

  • Animation system delivered - A multi-phase scroll choreography spanning entrance, pinned shows, horizontal gallery, and free-scroll sections, with a persistent scroll-companion mascot interpolating Bézier waypoints across the entire page.
  • Real gallery assets - Eight show photos processed and delivered via the Astro image pipeline with responsive srcsets and duotone-gold hover effects.
  • Performance-conscious build - Hero JS bundle at ~116KB raw (~35KB gzip estimated); critical asset gating on loader prevents CTA from appearing before portrait and mascot video are loaded.
  • Accessibility baseline - Skip-link, prefers-reduced-motion respected globally (Lenis disabled, all canvas hidden, pinned sections unpinned, animations set to 0.001ms), and focus-visible gold outline throughout.
  • Architecture readiness - Placeholder-ready sections (Bio copy, Media reel, WhatsApp number, real testimonials) with clearly documented pending items. The site structure is complete and awaiting final client content to go live.