BRAZILY

04

From 6 steps to 1: rebuilding an app from the core out

When Apple rejected Brazily's wrapped web app under Guideline 4.2, they came to me for a swift native rebuild. But an initial audit revealed a deeper issue: the platform wasn't just failing review, it was bleeding users before they ever saw a class. I rescoped the project, overhauled the information architecture, and built a native experience around three distinct user roles.

RoleProduct Designer
Year2026
TeamUX/UI Designer, Developer
ToolsFigma, Claude Code, Figma MCP
Brazily app screens
THE AUDIT

Uncovering the real problem before designing

Brazily's web wrapper was failing at the store level (Apple Guideline 4.2 rejections and SSO backend conflicts), but analytics on the marketing site revealed why users were dropping off anyway:

  • Massive drop-off at entry: 75.8% of visitors bounced within 30 seconds on the marketing site, long before reaching the app, even though mobile accounted for 49.7% of all traffic.
  • Friction-filled navigation: reaching a monthly class took 6 distinct steps through 4 menu layers.
  • One-size-fits-none UX: consumers, certified instructors, and trainees shared identical interfaces despite completely different goals.
  • Broken conversion pathways: the primary free trial link yielded a 404 error, quietly killing the freemium funnel.
  • Fractured identity: a dashboard and a community page acted as competing “Homes,” leaving users perpetually lost.

How I sold the rescope

Rather than pitching a redesign as my subjective opinion, I walked the client through their own analytics. The 404 error spoke for itself, but the commercial argument sealed it: porting a broken architecture meant paying to build the app twice, once to pass Apple review, and again when user retention didn't move.

THE RESTRUCTURE

One spine, three destinations, one step to value

I stripped away years of feature creep and rebuilt the architecture around a single rule: every screen must answer where am I, what can I open, and what happens next.

Before

2 competing Homes

After

1 unified Home as the single entry point

Before

4 menu layers

After

3 top-level destinations

Before

6 steps to reach a class

After

1 step from Home

Before

Generic, one-size-fits-all UI

After

Role-aware surfaces on one system

The Brazily home screen: a welcome header with the member's tier, a Jump Back In card resuming Lesson 1, the monthly community challenge, upcoming events, and a prompt to join the community.

Home

Answers three questions instantly: where am I, what was I working on, and what's next? Dynamically adapts to show active workouts, certification steps, or teaching schedules.

The Brazily courses screen: a search field over filter chips, a Start here tutorial, then Learn the basics and Monthly Classes March 2026 as lesson lists with free and members tags, and the bottom nav pinned over the content.

Courses

The single source of truth for all video material. Replaces nested menus with single-scroll filtering so users reach lessons in one tap.

The Brazily community screen: a Share a moment composer under the Community title, then feed posts from a member tagged New Mover, one announcing the March playlist and one with a class photo, each with reaction and comment counts, and the bottom nav pinned over the post below.

Community

Absorbs the former secondary Home page into a dedicated destination inside the app, eliminating split navigation.

The Brazily profile screen: a member's avatar, name and New Mover tier badge, a Current plan card showing a monthly membership, then rows for classes watched, total points, community posts, notifications, change password and terms of service, with the bottom nav pinned over the account section below.

Profile

Houses membership status, GoHighLevel web-sync settings, and the mandatory Apple Guideline 5.1.1(v) account deletion controls.

Three roles, one architecture

Instead of tripling the build scope for three user types, I kept the core architecture fixed and adapted the surface layer based on user state:

  • Consumers: see class discovery, active progress, and quick-start workouts.
  • Instructors-in-training: view a sequential certification pathway rather than an open library.
  • Certified instructors: access credential status, teaching schedules, and locked materials.
DESIGN HIGHLIGHTS

Streamlining critical user journeys into 1-step paths

With the single-spine architecture established, I focused on eliminating step-count friction across three core surfaces:

Frictionless Role-Based Onboarding

Brazily's old entry point put new members straight into a full library with no starting point. The rebuilt first run is a short setup instead: the member picks what they want to work toward, and the app turns that answer into a starting course.

Recognizes web-acquired GoHighLevel memberships instantly on first launch. First-time users bypass redundant setup screens and land directly on a Home surface tailored to their role, whether that's class discovery, certification tracking, or teaching schedules.

The member onboarding flow: welcome, create an account, then the questions about why they are joining, their experience with Brazilian dance, and what they are here for, ending on a ready-made first lesson

1-Tap Video Access

Eliminates four layers of nested menus. From Home, users preview active courses and jump directly into the video player without losing their place or context.

Three screens: Home with the next lesson, the Courses list, and the video lesson player

From Home, to the courses tab, to the actual video lesson.

Contextual Freemium Upgrades

Replaces dead links and intrusive pop-ups with native, in-flow membership banners placed at key intent moments. Non-paying users encounter clear value previews that prompt web upgrades naturally without interrupting the experience.

Home screen membership card: Join the Community today, with a note that sign-up happens on the website
Courses screen with the membership banner sitting inline between the monthly classes header and the locked lessons

The upgrade prompt sits in the same scroll as the next lesson and the monthly challenge, not in a pop-up over them.

CONSTRAINTS & DELIVERY

Navigating legacy backends and Apple guidelines

Legacy auth integration: membership stayed in GoHighLevel, so a subscriber who paid on the web still had to be recognized in the app. That handoff is exactly where the first build broke, so I designed the native handoff and state sync around it rather than an in-app signup that doesn't exist.

Compliant design: an explicit, findable in-app account deletion path (Guideline 5.1.1(v)), and playback-driven progress tracking rather than self-report, which is what makes “pick up where you left off” trustworthy.

Dev-ready handoff: fully annotated Figma files, explicit role-based logic matrices for all three user types, and coded front-end prototypes.

Accelerated execution: to meet a tight timeline without sacrificing quality, I built custom Claude skills paired with Claude Code and Figma MCP, enabling functional prototypes to serve as routine review artifacts. I've open-sourced the skill set.