body::before { content: ""; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; pointer-events: none; background: repeating-radial-gradient(circle at 0 0, rgba(255,255,255,0.02) 0, rgba(0,0,0,0.02) 1px); opacity: 0.1; z-index: 9999; mix-blend-mode: overlay; animation: noiseMove 1s infinite; } @keyframes noiseMove { 0% { transform: translate(0,0); } 100% { transform: translate(-1%, 1%); } }

Gabriel Menezes

Gabriel Menezes

Gabriel

Menezes

CREATIVE DIRECTOR | BRAND, MOTION & STRATEGY

GLOBAL MINDSET.
MOTION-FIRST THINKING.
HANDS-ON CREATIVE.

Creative Director and Lead with a motion-first mindset and a hands-on approach.


I bring experience across Brazil, the US, and Germany, working in tech, entertainment, and advertising —

connecting strategy and craft to shape brands, tell stories, and deliver work that feels clear, inspiring, and relevant.


I think in motion, using design, narrative, and systems thinking to turn ideas into experiences that move people and move business.


I’ve led teams, launched brands from scratch, and guided partners through complex creative decisions with clarity and collaboration.


Curious by nature and fluent in both traditional tools and AI-native workflows — I turn complexity into clarity, aligning creativity with business goals and impact.


Proud dad, BJJ enthusiast, punk at heart.

 You can get my one-pager here.

📍Based in Munich, working worldwide.

What I Bring:

What I Bring:

Creative Direction & Leadership

Creative Direction & Leadership

Creative Direction & Leadership

Brand Strategy & Storytelling

Brand Strategy & Storytelling

Brand Strategy & Storytelling

Motion-First Thinking

Motion-First Thinking

Motion-First Thinking

Human × AI Workflows

Human × AI Workflows

Human × AI Workflows

NOW FREELANCING.  NOW FREELANCING.  NOW FREELANCING.  NOW FREELANCING.  NOW FREELANCING.  NOW FREELANCING.  
body::before { content: ""; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; pointer-events: none; background: repeating-radial-gradient(circle at 0 0, rgba(255,255,255,0.02) 0, rgba(0,0,0,0.02) 1px); opacity: 0.1; z-index: 9999; mix-blend-mode: overlay; animation: noiseMove 1s infinite; } @keyframes noiseMove { 0% { transform: translate(0,0); } 100% { transform: translate(-1%, 1%); } }