How do you boost campaign engagement when you can't touch the app? You write the HTML yourself and build it inside the CRM.
Kroger × OwnersBox · "One Step Closer to the Big Game" · HTML/CSS/JS built inside Braze · live entry counts: Groceries 7, Tickets 55, Player Picks 1
Context
Users were opening the app during live contests but not acting — no visibility into their entry count, no push to engage. The constraint: we couldn't wait for an app release.
Marketing needed a configurable surface they could own and launch in hours, not days.
Must live in Braze
HTML/JS/CSS only — no native code, no app update
Marketing owns it
Non-technical team needed to launch new variants in hours
Earn the interruption
Triggers at login — must be worth the disruption
The build
Final shipped pop-up · Kroger × OwnersBox · in-app modal with real-time entry counts
Kroger × OwnersBox — live entry counts across groceries, tickets, and Player Picks · built in HTML/CSS/JS inside Braze
Implemented directly in Braze's rich in-app message editor using HTML, CSS, and JavaScript. Fetches the user's entry count via REST API on render — no app deployment, no engineering ticket.
Because I was writing the code myself, design decisions that a pure handoff would have lost stayed intentional all the way to shipped.
"The best creative constraint I've worked under: you can't ship a new app. Figure it out."
click-through during campaigns
entries per active user
to launch new variants, down from days
Reflection
I'm open to senior and lead product design roles. Let's see if we're a good fit.