Creative Director · Brand & Product Designer · Design Systems

Most brands don't need more assets. They need one decision they can repeat.

I'm Vitor Siravenha. For 20 years I've turned business problems into visual systems for Xbox, Coca-Cola and tech scaleups, then made those systems survive contact with hundreds of executions, dozens of markets and everybody's opinion.

Vitor Siravenha

Xbox campaign results, 2022—2025

Membership acquisition on Brazilian holiday campaigns against the average result, with click-through rate at twice the benchmark.

Click-through rate and membership acquisition above average on US and Canada holiday campaigns.

1.5×

Increase in international membership acquisition from a single illustration: the big green button.

Selected work

2014 — 2026 · Click a line to open the case

The argument

Assets don't scale. Systems do.

Every project above started as a pile of one-off files and ended as rules a team could run without me in the room. The rules are not there to keep the work quiet. They are there so the invention has somewhere to happen every week without anyone redesigning the layout first.

The method

01 / DIAGNOSE

Find the real problem

Briefs describe symptoms. I read the business, the market and the internal politics first, because a rebrand rarely fixes a positioning problem.

02 / SYSTEMIZE

Build rules, not layouts

A layout solves one campaign. A system solves the next forty, and lets a team of ten produce work that still looks like one brand.

03 / SCALE

Defend it in the room

Design dies in review. I write the argument, teach the system to the people who inherit it, and stay accountable for the output.

Trusted by

Xbox AstraZeneca Essilor Coca-Cola Rauva GoGreenlight

Available for Creative Director and Brand Design roles

Strategy you can see.

Work · {{ caseCount }} projects. Five build the system, three are what came out of it.

Everything here started as a business problem.

Filter by discipline. Each case follows the same four beats: what was broken, what I decided, what I built, what changed.

{{ active.n }} · {{ active.client }} · {{ active.year }} · {{ active.discipline }}

{{ active.title }}

{{ active.line }}

{{ activeHeroNote.label }}

{{ activeHeroNote.text }}

01 / PROBLEM

{{ active.problem }}

02 / STRATEGY

{{ active.strategy }}

03 / SYSTEM

{{ active.system }}

04 / RESULT

{{ active.result }}

{{ activeLive.label }}

{{ s.n }} · {{ s.label }}

{{ s.text }}

The voice, in use

Clarity over chaos, still the first line on the page

The four pillars set during the brand work are the four headings the live site publishes today. Below, as they read on gogreenlight.ai.

{{ p.title }}

{{ p.text }}

What was designed

Six surfaces, one talent record

Casting is not one screen. A candidate moves from a board to a tape to a vote to a callback, and every step is a different surface reading the same record. Designing them as one set is what keeps the decision traceable.

{{ s.label }}

{{ s.text }}

Who it serves

Five accounts, five different jobs

The platform is not one audience with one need. A studio, a production, an agency, a school and the talent itself each arrive with a different question, and the flows had to answer them without forking the product into five apps.

{{ a.label }}

{{ a.text }}

Constraints the design absorbed

{{ c.label }}

{{ c.text }}

The design system

Three tiers, so a colour is decided once

The audit found the same greens and greys hard-coded in dozens of places, each one slightly off. The fix was a tier system: raw values exist once, intent is named separately from the value, and components only ever reference intent. Changing the brand green becomes one edit instead of a search across the codebase.

Tier {{ l.n }} · {{ l.name }}

{{ l.headline }}

{{ l.text }}

{{ l.token }}

Tier 1 · primitives

Every ramp runs 50 to 950 on one perceptual lightness scale, so the same step in any family carries the same visual weight. Nothing here is allowed to appear in a component directly.

GoGreenlight / Primitives Collection
{{ r.name }}
{{ c.step }} {{ c.hex }}

Tiers 2 and 3 · intent, then theme

An alias names what a colour is for; the mapped layer says which primitive answers that intent in a given theme. Swap the mapping and the whole app re-themes without a single component changing.

GoGreenlight / Semantic · Light Mode
Used for
Name
Value
{{ m.role }}
{{ m.alias }}
{{ m.ref }} {{ m.hex }}

{{ f.label }}

{{ f.value }}

Process & artefacts

Pulled from siravenha.com

Before / after

{{ activeCompare.before.cap }}
{{ activeCompare.after.cap }}

{{ grp.label }}

{{ grp.text }}

Open the full page

{{ g.cap }}
{{ g.cap }}
Next case

About

I'm the person you call when the brand looks fine and still isn't working.

Vitor Siravenha

Biography

Design is a business argument you can see. My job is to make the argument obvious.

Brand and Product Designer with 20 years of experience across visual identity, digital interfaces and end-to-end product design for global names like Xbox, Coca-Cola, Essilor and AstraZeneca. Originally from Rio de Janeiro, with Portuguese citizenship and currently based in Porto.

I move fluidly between brand and product: crafting visual identities, campaigns and design systems on one side, and designing intuitive, developer-ready UI/UX on the other. My focus is consistency, storytelling and usability: translating brand strategy into impactful visual systems and product requirements into scalable interfaces.

With international experience across Brazil, Portugal, Denmark and the U.S., I've led 360° campaigns, built design systems from scratch, and helped brands grow through both visual identity and product experience.

Skills & expertise

{{ s.name }} {{ s.note }}

How I work

Give me the constraint, not the layout. The constraint is where the idea is.

Experience

Twenty years, four countries, both sides of the craft.

Brand on one side, product on the other. The roles below are where that combination was built: pharma identity in Porto, campaign design at Xbox, and now owning both disciplines at once.

{{ r.company }}

{{ r.years }}

{{ r.role }}

{{ r.detail }}

{{ t }}

Academic

{{ a.name }} {{ a.place }}

Languages

{{ l.name }} {{ l.note }}

Contact

Tell me what's broken.

Or start here

View, {{ cursorLabel }}