Award-Winning Ads

Playful and personalized performance marketing.

Crafted in 2019-2021 as Senior Creative Manager at Hopper.

The design and animation for this quick Travel Deal Tuesday promo came together in about 5 hours after a last-minute request. This was a fun one to see what I could pull off for a brand-focused paid social piece on just a few hours notice.

I. Background

Hopper is a travel app for iOS and Android that helps travelers save money by booking flights, hotels, and rental cars at the right time. Hopper has helped over 60M travelers plan and book trips around the world.

II. The Challenge

How can Hopper stand out in a busy sea of social media ads? Can we deliver ads for hundreds of thousands of flight origin and destination combinations that still feel personalized and relevant? And how can we test ads in a structured way that allows us to continually build upon our learnings?

III. My Role

I worked in house as the Senior Creative Manager during these projects and led the creative strategy, design, editing, and animation. I collaborated with our Head of User Acquisition and Senior User Acquisition Managers on our media buying approach and overall growth and acquisition strategy.

This ad came together by repurposing existing footage of actors and influencers that we had in our archive from previous one-off projects. Once I locked in the core edit, I designed and animated the supporting elements and, in just a few days work (and with no additional budget), we had an ad that we could not just run on YouTube and paid social channels, but on connected TV as well.


When analyzing our top-performing social ads, we found a commonality — ads that either really stood out in one's social feed or blended in as native content performed best. Anything that looked too much like a typical ad was usually met with mediocre performance.

As a result, we began to focus our performance creative around those two categories. Ads that stood out typically took the form of super minimalist designs, delaying a message's resolution, or breaking the plane of a social feed. Ads that blended in as native content often took the form of POV photos/videos, platform-specific overlay styles, memes, and UGC-style content. All the while, we made sure to keep a strong focus around each product's core messaging.

These creatives performed extremely well and allowed us to grow our user base quickly and cheaply.

As budgets increased, we began to focus on brand campaigns as well. Our performance creative findings have allowed us to incorporate relevant learnings into brand campaigns and spend efficiently at high budgets.

We regularly read user reviews — both the good and the bad — as one small way to keep our finger on the pulse of the joys and frustrations that travelers experience when using Hopper. We wanted to highlight some good user reviews in this ad. In addition to the design and animation, I performed the voiceover.
This ad we created won the Facebook Storyteller Award for Best Direct Response Story ad for Travel. I first created this in After Effects and then rebuilt on the platform, allowing us to deliver thousands of personalized versions. Jumping bunny illustrated by Thomas Fitzpatrick and put in motion by Wonderlust.
This ad was created to be a “thumb stopper” — an ad that breaks the monotony of a social feed and stops someone from scrolling.
We also run more brand-focused campaigns. Occasionally we'll work with external partners on these sorts of ads; however, it can be both expensive and time intensive. We wanted to see if we could create some branded campaigns quickly in house. I created this one in a day using only footage from a stock video subscription service. This ad outperformed many of the externally produced ads that often took weeks to come together. We then created a series of more performance-oriented variations that are based off the notification scene in this ad.
This ad was created to give a direct look into the app and what it has to offer while still showcasing a great flight deal that's relevant for each viewer.