Champagne.dev

Hey there, I'm Felipe

I believe in elegance, precision, and designing digital experiences that feel as refined as they are functional. My work blends clean engineering with thoughtful design, bringing bold ideas to life with clarity and purpose.

By day, I'm a Senior Software Engineer at ADWEEK, where I build high-impact features for millions of readers and keep our platform performing at its best during live events and breaking news.

Learn More.

About.

Code, bikes, and good pasta.

I’m drawn to the space where engineering and design meet: figuring out how something should work, then refining it until it feels natural to use. I enjoy the details, whether that means simplifying an interface, tracing a performance problem, or getting an interaction just right.

Outside ADWEEK, I build tools around things I use every day. Tracking packages, checking email, finding a quicker way through the browser—small frustrations tend to become side projects. I like taking something familiar and making it a little more useful, a little more considered.

Away from the keyboard, you’ll usually find me cycling through New York City or looking for good pasta.

Experience.

ADWEEK — Senior Software Engineer

APR 2024 – PRESENT

Promoted from Software Engineer in .

At ADWEEK, I work on the pages readers land on first—and the ones they keep refreshing when something big is happening. I rebuilt the homepage in React and helped create the Super Bowl live blog and its homepage widget. The live blog nearly doubled the previous year’s views.

Behind those experiences is work readers should never have to think about. On the EDO Super Bowl ad rankings page, I fixed a rendering bug that had overwhelmed the site with video requests, then added caching for the generated markup and partner data.

More recently, I’ve been building AI summaries and key takeaways that help readers find their way into a story. I built the interfaces with a clear path back to the reporting, so a useful summary can become the start of a deeper read.

Planit Agency — Junior Developer

OCT 2021 – MAR 2024

At Planit, I turned designs into animated ads, websites, and email campaigns for clients including DuPont, SourceAmerica, and the Government of Maryland. Each brand brought its own visual language, and I enjoyed figuring out how to carry that through in code and motion.

I developed more than 4,500 GSAP-powered ads, built custom WordPress components with Tailwind CSS, and produced more than 25 email campaigns a month. Working closely with creative and marketing teams meant paying attention to both the original idea and the details of the finished piece.

There was always another brand, another format, or another deadline. I learned to move between them, collaborate with designers, and deliver work that felt considered even on a busy production schedule.

Featured work.

From the stories people follow to the little things that make a day easier. Selected work from ADWEEK and after hours.

ADWEEK

ADWEEK.com homepage.

A fresh front page for ADWEEK, built to move with the newsroom and keep readers exploring.

ADWEEK homepage after the redesignADWEEK homepage before the redesign, archived April 2024BeforeAfter

Drag to compare, or use the arrow keys.

April 2024 and the current homepage. The archive retains the empty advertising space. View archived version ↗
Homepage views
Grew by roughly two-thirdsYear over year, in the first full summer after launch.
95th-percentile response time
Reduced by more than two-thirds

The project

ADWEEK’s homepage changes throughout the day. Editors move stories, swap headlines, and reshape the page as the news develops. Behind it all, the latest reporting, video, advertising, and partner content have to work together without slowing readers down.

The challenge was building a homepage flexible enough for the newsroom while keeping the experience fast and consistent.

My part

I rebuilt the homepage in React around reusable modules that editors can arrange as coverage changes. Stories, video, events, navigation, and advertising all needed to work within the same experience. The new homepage launched in June 2025.

After launch, I focused on The Latest, the feed that updates as the newsroom publishes. I reworked how it fetched stories, improved caching, and optimized the database queries behind it. Those changes reduced 95th-percentile server response times by more than two-thirds.

In the first full summer after launch, homepage views grew by roughly two-thirds year over year, while reader engagement increased substantially.

The result was a faster, more adaptable front page built to keep pace with the newsroom.

ADWEEK

Super Bowl live blog.

Keeping readers close to the action on one of ADWEEK’s biggest nights.

Live-blog cards wave as updates arrive and the timeline pulses
Live-blog motion recorded during development, using sample text.
Readership
More than doubledCompared with the previous year’s coverage.
Views
Nearly doubledCompared with the previous year’s coverage.

The project

For an advertising publication, the Super Bowl is one of the biggest nights of the year. The commercials are the story, and readers want the reactions as they happen.

Throughout the game, editors publish timestamped updates to a single article. The live blog sits alongside the ad tracker, rankings, and video gallery, giving readers a running account of the newsroom’s coverage.

My part

I helped build the live blog and its homepage widget for Super Bowl LX, focusing on two moments: helping readers discover the coverage and helping those already following along recognize new updates.

The homepage widget gave readers a way into the live blog. Inside the article, I added a subtle wave through the cards and a pulse along the timeline whenever a new update arrived. Once the motion finished, timestamps stayed visible so readers could follow the sequence without losing their place.

Across 26 newsroom updates, the live blog nearly doubled its views and more than doubled its readership compared with the previous year’s coverage. Readers also spent considerably more time with it than the site average.

The goal was to make live coverage feel immediate without making it distracting.

ADWEEK

Bringing AI to ADWEEK.com.

Helping readers explore the reporting through AI summaries that lead back to the journalism.

A takeaway leads the reader to the passage that supports it.
ADWEEK homepage smart paragraph streaming in word by word: a time-of-day greeting with the reader’s name, then a two-story summary with linked headlines
The live homepage summary, with a personalized greeting and links to the stories.
ADWEEK Key Takeaways loading shimmer followed by the staggered text reveal
Key Takeaways: the loading shimmer and text reveal.

The project

On the homepage, readers want to know what happened today. Inside an article, they may want to know how a reporter reached a particular conclusion.

I built two ways into the reporting: a homepage briefing that links to several stories, and AI Key Takeaways that connect readers to passages within an individual article.

The briefing refreshes automatically, while each article’s takeaways go through editorial review before publication.

My part

For the homepage briefing, I built controls that let editors choose how many stories to include and which categories to exclude. The system supports multiple AI models and automatically tries another if the first fails. If generation fails entirely, readers continue seeing the last successful briefing with its story links intact.

For Key Takeaways, I wanted readers to be able to check what AI was telling them. Each takeaway links to the passage it summarizes. Click one, and the page scrolls straight to that paragraph and briefly highlights it, making it easy to compare the summary against the reporter’s own words.

I also built editorial review into the publishing process. Editors can rewrite, regenerate, or remove takeaways, and must confirm their accuracy before publishing an article with them enabled. Their approval is recorded as part of the workflow.

Both features were built around the same idea: AI should help readers get into the reporting, not replace it.

ADWEEK

ADWEEK × EDO.

Making Super Bowl ad rankings faster, more reliable, and easier to explore.

EDO Outcome Score
  1. #1ai.com910
  2. #2Universal Pictures909
  3. #3Lay’s707
  4. #4Netflix569
  5. #5Dunkin’497
EDO’s top five Super Bowl LX ads by Outcome Score, in the style of the gauges on ADWEEK’s EDO page. Bars are scaled to the top score.
Engaged time
Nearly 2× the site average

The project

Every Super Bowl ad gets judged the morning after. EDO’s TV Outcomes rankings add data to that conversation, measuring which commercials drove consumer engagement.

The rankings page brings that data together with video and interactive elements, making performance especially important during one of ADWEEK’s busiest editorial events.

The existing experience had rendering and performance issues that needed to be addressed before the next Super Bowl.

My part

I traced unnecessary video requests to a React rendering issue that caused repeated work as readers scrolled. Fixing that behavior addressed the problem in the browser.

I also improved caching to reduce redundant data fetching and server-side rendering. Rather than repeatedly preparing the same information for each visitor, the page could reuse work that had already been done.

With those improvements in place, I redesigned the rankings experience for Super Bowl 2026 and connected it to the broader coverage through the Super Bowl hub.

Readers spent nearly twice as long on the rankings page as the site average.

ADWEEK

Fastest Growing Agencies.

Rebuilding ADWEEK’s annual agency rankings so editors can publish faster without starting from scratch.

The 2026 rankings: open an agency row to see its profile.
Publishing workflow
Roughly 40% fasterCompared with the previous editorial workflow.

The project

ADWEEK’s Fastest Growing Agencies rankings bring together agencies from across the industry, organized into national, regional, and specialty lists.

The archive lived in a legacy directory plugin that had become tightly coupled to the broader site. Preparing a new edition also meant managing years of agency profiles, artwork, and rankings.

I wanted to give editors a simpler way to publish each year’s list while preserving the work behind previous editions.

My part

I started by building a migration tool to move historical agency profiles and rankings into a new system, preserving the published order of each list.

From there, I built a dedicated WordPress plugin for the 2026 edition. Editors can import agencies from a spreadsheet, reuse existing profiles and artwork, and update an agency’s information without changing previous years.

Because agencies can hold different positions across multiple lists, I built independent ranking controls. Editors can drag agencies into place without affecting other lists, while readers can filter results and expand profiles without losing their place.

The new workflow made publishing roughly 40% faster, reducing repetitive editorial work and allowing us to retire the legacy directory plugin.

What used to require working around an older system became a publishing experience built specifically for the newsroom.

Explore the 2026 rankings ↗

Notes.

Things I’ve learned, and a few thoughts along the way.

No notes here yet.

Coming soon.
Probably after some coffee.

Let's make ideas bloom.

[email protected]

Where roots grow deep