Case studies KEWL.AI, 2025

hii5

A time-limited group chat for Gen Z, where conversations disappear in hours and anything can go anywhere on the screen. Our first product built with AI, shipped by a team of four.

Role
Principal Product Designer
Timeline
Jan 2025 – Jun 2025
Platforms
iOS, Android
Team
CEO & product manager, Full-stack engineer, Backend engineer

At a glance

The bet
Gen Z lives on the record: always on social, always on live, with real life documented as it happens. A group chat that disappears in hours gives them somewhere to speak their mind without the stress.
My call
Three bets. Break the rail so anything can land anywhere, give every chat a five-hour default, and make privacy start at the chat list.
Result
Shipped on iOS and Android in four months with a team of four. As we expected, it didn't find product-market fit, but it did what we built it to do: the AI workflow and framework became the foundation for Popcorn, our AI workplace chat app.
hii5 cover

Gen Z grew up on the record. hii5 was a group chat built for the opposite: a place to talk honestly, with no stress and no trace. It runs on a timer, gives nothing away on the chat list, and lets messages, stickers and video land anywhere on the screen.

I was the founding designer at KEWL.AI, and the only designer on a team of four, alongside our CEO and product manager, a full-stack engineer and a backend engineer. Several of us had spun out of Roblox and Hamul. I owned the product from first concept to launch on iOS and Android, and it was the first product we built with AI.

The problem

Gen Z is always on the record

Gen Z is always on: always on social, always on live, with real life documented as it happens. When everything is saved and can end up on socials, every message becomes a public statement waiting to happen. So people hold back. They edit themselves, even with their closest friends.

The pressure comes from permanence. Gen Z needed somewhere to speak their mind with no stress, where saying the wrong thing wouldn’t follow them.

The approach

We weren’t trying to build a better chat app. We were trying to remove a feeling: the stress of being on the record. That changed how we judged every idea. The question was never “is this a useful feature?” It was “does this make it easier to say what you really think?”

We had no research team and no reason to wait for one. The research was scrappy: competitive teardowns and AI-assisted research to map the space fast. The rest came from our own tenure. Between Roblox and Hamul, we’d spent years building social and communication products, and knew how Gen Z actually behaves in a group chat.

Built to learn, on purpose

There was a second goal under the product. Coming from Roblox, we were playing catch-up to teams already deep in AI development, and hii5 was our training wheels. We knew going in that it would most likely not find product-market fit. We also knew much of what we built could carry into our next product, Popcorn.

That made scope my sharpest tool. Build it quick, and spend nothing on systems or features that don’t serve the core objective. Every call that follows was made inside that constraint.

The discovery

Freedom of expression turned out to have two sides: how you get to express yourself, and who gets to see it.

The thread didn’t need to be a rail

Every chat app shares the same shape: one column of messages, scrolling forever. It’s tidy, and it reads like a transcript. But Gen Z doesn’t only talk in sentences. They talk in stickers, voice notes and video. Unstructured content was the opportunity: a chat that felt like a conversation, not a record of one.

Privacy has to start at the chat list

Disappearing messages alone weren’t enough. Most chat apps show the last message and its sender right on the chat list. If you can be exposed before a chat is even open, you’ll still hold back. The promise had to hold everywhere.

Early concepts explored both ideas side by side: the standard column, a freeform thread, and a chat list that hides who said what.

Early concepts: a standard column of messages, a freeform thread with stickers, and a chat list with hidden senders

The framework

Those two sides, plus how we needed to work, became the four principles I held every decision to.

  • Freeform over Linear.

    Stickers, voice and video go anywhere, instead of being locked to a scrolling column.

  • Ephemeral over Archived.

    Conversations last hours, not forever, so people can say what they actually think.

  • Private over Previewed.

    Nothing on the chat list gives away who said what before you open the chat.

  • Learning over Polish.

    Ship fast, learn the workflow, and keep what works.

Key Bet #1: The chat is a canvas

Breaking the rail

Freeform came first. It was the single pillar the product started on, and the call everything else was built around: the chat is a canvas, not a column. Messages, voice notes and video still read top to bottom so a conversation stays followable, but stickers, photos and video can be dropped and moved anywhere on top.

Remix and describe actions on a photo, a photo cut out into a sticker, and a freeform chat with stickers across the conversation

A canvas needs something to put on it

An empty canvas is a blank page, so AI did the heavy lifting. Take a picture and it becomes a sticker, or a GIF that puts you in place of a famous meme. Voice messages get transcribed and summed up in one line. Any message can be explained in context, and a long discussion can be summarized.

Moving things around a chat isn’t a behavior anyone arrives with, so a new chat teaches it in one step: send this sticker, then press and hold to drag, resize and edit it.

A message explained by AI in a running chat and a first-run sticker tutorial

From based to hii5

Time limits changed what the product was

We called this first version based, and it taught us something. We’d started by giving people more ways to express themselves, then realized expression wasn’t the blocker. Permanence was. A canvas gave chat a new shape, but it didn’t take the pressure off. Time limits did. Once chats disappeared, that became the product, and a mascot name no longer described it. So we renamed it after the rule itself: hii5, for five-hour chats.

I rebuilt the identity to match. The fox was a character. The eyes sit inside a chat bubble, so the icon says what the product does. The same eyes carried into the app, replacing illustrated group art with group faces, so the brand and the product became one system.

Before and after: the based wordmark with its welcome and chat list screens, beside the hii5 eyes with its splash and chat list screens

Key Bet #2: Five hours by default

If you saw it, you’re in it

Every chat defaults to five hours. A timer you have to set makes someone decide how long a chat should last before anyone has said a word. A strong default means there’s nothing to set up, everyone shares the same rule, and the rule is simple enough to put in the name.

No research was going to prove five was the perfect number. It only had to be short enough to feel urgent and long enough for a group to show up, so we picked one and shipped it. The exception lives in settings: groups can stretch a chat up to 24 hours, so friends across time zones don’t miss it while they sleep.

I carried the timer through every level of the app so nobody has to guess: time left on the chat list, a countdown in the header, and a hard stop when it ends. If you missed it, it’s gone forever.

Chat list with time left on each chat beside a running thread with a countdown

Ending a chat without ending the group

Disappearing chats create a design risk: a list of dead conversations reads like failure. I treated expired chats as a way back in. Each one sits on a short “Run it back” shelf with a single action, Replay, that starts the same group again. The shelf shows each unique group only once, and it’s capped by both age and count.

The time is up screen with a Replay button and a chat list with a Run it back shelf, beside a design note about not letting old chats feel negative

Key Bet #3: Privacy starts at the chat list

Anonymity needed a personality

A chat that disappears is only half a promise if the chat list gives it away. Photos of members would show who’s in a group before it’s even opened. I gave every group an expressive face instead. Groups stay anonymous at a glance, but each still feels like its own thing, and you can tell them apart in a list. Senders stay hidden too: the list shows that someone sent a message, never who or what.

Six group faces beside the create group and group details screens

Privacy had to hold up when someone broke it

A promise of privacy means nothing if one person can screenshot the group. So a screenshot gets caught: the chat blurs, a warning takes over, and your friends are told. I wrote it to sound like the group talking, not a legal notice: “Taking screenshots of private chats are off limits here.”

A screenshot detected warning over a blurred chat

Building with AI

Precision became the design work

This was the real reason hii5 existed. It was our first product with AI-coded front and back ends, and we were catching up in public, learning the workflow as we shipped. It changed my job. When code is fast to generate, the expensive mistake is a vague spec. So I specified behavior, not just screens: what each event does, who gets told, and what happens at the edges, written right next to the designs in Figma.

Those notes went straight into the build. A screenshot fires a real-time message, a push notification and a system message in the chat, so everyone finds out at once. A burst profile records for two seconds, holds you until the GIF is ready, then loads it as your profile on the next screen.

The built screenshot alert and burst profile capture screens

Dogfooding & build review

We lived in it before anyone else did

Fast builds need fast judgment. We ran debug builds on our own phones and used hii5 as our team chat, with real timers running out on real conversations. By February, about a month in, the same chat was running side by side on iPhone and Android. A product about feeling free to talk has to be felt, not just reviewed.

Even the crashes got designed. If the app fell over, you still got a face and an “Oh no!”, because a playful product can’t drop character the moment something breaks.

Photos of real test builds: the hii5 splash on an iPhone, the same group chat on iPhone and Android, and an Oh no error screen

I brought the running build back into Figma and triaged it there: real screenshots beside the designs, each issue tagged to an engineer and ranked P0 to P2. With a team of four, that ranking was the roadmap.

Debug builds of team test chats beside a build review list ranked P0 to P2 and a design note

The execution

Four months after the first concept, hii5 launched on iOS and Android. Staying lean shows most in the plain parts of a product. Sign-up is one question per screen, and nothing that didn’t serve the core objective got built.

Five onboarding screens: splash, phone number, verification code, username and welcome

The impact

It didn’t find fit, and it did its job

hii5 didn’t find product-market fit, which is what we expected. We put no marketing behind it, it never reached real users, and we moved straight on to Popcorn, an AI workplace chat app built with AI from the ground up.

That was the trade we chose, and it had a real cost. We never found out whether people would actually speak more freely. The question the product asked is still open.

What we got was what we came for. In four months we caught up on AI development, shipped on two platforms with a team of four, and walked away with a workflow and a framework we could reuse. Popcorn started from there, not from zero.

Project learnings

The product didn’t last, but the stack and the way we built it did. Deciding what a product is for is the biggest design decision there is. Because we knew hii5 was built to learn, I could cut hard and still design the parts that mattered with care.

The trade was real, though. I designed every detail of how a group talks, and almost nothing of how a group arrives. That was the right call for this goal. If the goal had been a hit, distribution is where I’d have started, because a group chat is worth nothing until the whole group shows up.