BamaTop Platform
Advertising Campaign Management Platform
Project Overview
Bamatop is an advertising campaign management platform that enables businesses to create, manage, and monitor advertising campaigns across Instagram, Telegram, and local messaging platforms through a unified dashboard.
Users can select their preferred platform and campaign type based on their marketing objectives, then launch campaigns through various advertising services including performance-based campaigns, reservation campaigns, influencer marketing, proxy services, and forced-add campaigns. The platform supports the entire campaign lifecycle, from media selection and content management to pricing, payment, and campaign tracking.
In this project, I was responsible for the UX and UI design of the advertiser dashboard, campaign operator dashboard, and admin panel. One of the key challenges was creating a unified experience across these three interconnected systems, ensuring that campaign creation, execution, media management, content approval, payments, and performance monitoring could seamlessly flow between different user roles. While the platform was designed as a connected ecosystem, this case study primarily focuses on the advertiser dashboard and the campaign creation and management experience.
Project Info
Project Type
Multi-sided advertising campaign management platform for creating, managing, & monitoring digital marketing campaigns across social media & messengers
Category
Website & Dashboard
My Role
Led the UX/ UI design of the advertiser dashboard, influencer dashboard, & admin panel, with a primary focus on campaign creation & management user flows
Timeline
4 Month
Understanding
the Complexity of the System
An advertising campaign creation platform that is actually a marketplace for campaign creators and implementers.
BamaTop lets advertisers buy reach across Instagram, Telegram, and four regional messaging apps (Eitaa, Bale, Soroush, and Rubika) through a single panel.
Underneath,
it’s coordinating inventory across hundreds of
independent channels
and influencers,
calculating prices that shift based on five interacting variables,
and gating every transaction behind an identity check.
6
Platform Supported
12
Distinct CampaignTypes
5
Campaign States Per Flow
Most ad-buying tools sell one thing: impressions, clicks, placements. BamaTop sells four fundamentally different products through one interface:
1. CPV-based reach (pay per view, no specific channel guaranteed)
2. reserved inventory (a specific channel or package, at a fixed price), influencer collaboration (a human has to produce or approve something)
3. and proxy/growth services (a different mechanic entirely).
Each has its own pricing logic, its own state machine, and its own failure modes, but advertisers experience them as variations of “make a campaign.”
The hardest design problem wasn’t any single screen. It was deciding how much of that underlying difference to expose to the user, and how much to absorb into the system.
Get In TouchAdvertisers
Most users were experienced campaign managers who understood their marketing goals but not necessarily the operational complexity behind campaign setup. Creating a campaign required navigating different service types, pricing models, media options, content requirements, and platform-specific constraints. The challenge was not completing the workflow itself, but understanding the consequences of each decision. Users needed enough context to confidently choose the right campaign configuration without feeling overwhelmed by the complexity of the underlying advertising system.
Internal Admins
Every campaign passes through manual approval before going live. As volume grew, this team became a visible bottleneck — and a source of advertiser-facing delay that the UI gave no indication of.
My Role
& How I Worked
I was the only dedicated UX person on this product.
There was no existing research repository, no documented flows, and no product spec that matched what had actually been built, the source of truth was the backend codebase and the heads of two engineers.
I had to start by understanding the machine before I could design a humane interface for it.
I couldn’t start from user interviews and work toward screens, because I didn’t yet know what the system was actually capable of, where its real constraints were, or which “rules” advertisers were running into were intentional versus accidental.
What I Owned End-to-End
01
Product & System Definition
The platform was being designed from the ground up, with no existing user flows, design patterns, or consolidated product documentation. I worked closely with stakeholders and engineers to define how different advertising services should be structured and translated into a usable product experience.
01
Complex Business Logic Translation
Many campaign rules (such as pricing models, media selection requirements, content dependencies, and platform-specific constraints) existed only as business requirements or technical logic. My role was to transform these complexities into interfaces and interactions that users could easily understand and act upon.
How I Solved Challenges!
Unifying Multiple Advertising Services Into One Platform
Problem
The platform offered a wide range of advertising services across Instagram and Telegram, each with unique workflows, pricing models, and content requirements. In addition, advertisers, influencers, and administrators interacted with the system through separate dashboards, increasing product complexity.
Solution
I designed a unified campaign architecture that standardized the creation process across all campaign types while maintaining service-specific requirements. This created a consistent experience across all user roles and reduced the cognitive load associated with navigating multiple advertising services.
Simplifying Complex Campaign Creation
Problem
Users needed to make multiple decisions throughout campaign creation, including selecting campaign types, choosing media channels, defining content requirements, and configuring campaign settings. Without proper guidance, the process could quickly become overwhelming.
Solution
I structured the experience into progressive, step-based workflows supported by dynamic steppers, contextual guidance, and adaptive forms. This approach reduced decision complexity and helped users focus on one task at a time.
Making Business Logic Understandable
Problem
Campaign pricing, which is based on platform and campaign type, type and amount of content uploaded, as well as platform-specific limitations, had financial and technical complexities that were calculated and changed at every stage with user choices.
Solution
I transformed these backend rules into intuitive user experiences through transparent pricing mechanisms, validation systems for each campaign, content previews, and contextual explanations, making the platform easier to understand and more predictable to use.
Provide campaign visibility from start to finish
Problem
Users needed to clearly see the status of their campaigns after submission, including approvals, revisions, execution progress, and completion statuses.
Solution
I designed a structured campaign lifecycle experience with defined statuses, status indicators, and clear progress tracking that allowed users to understand exactly where their campaigns were at each stage.
A case study
that only shows what worked isn't useful to the people reading it.
Three things I'd do differently if I started this project again.
I underestimated the admin approval bottleneck for too long
I treated the manual admin review step as a fixed constraint to design around — adding a visible "in review" status — rather than questioning whether it needed to be manual for every campaign type. In hindsight, low-risk campaigns from verified, repeat advertisers with pre-approved creative categories could have qualified for rule-based auto-approval much earlier. I designed good UX for a bottleneck I should have pushed harder to reduce at the source.
The in-person influencer flow needed its own system, not a shared one
I knew during the work that forcing physical-logistics campaigns into the same state and pricing patterns as digital campaigns was a compromise. I made that call for the sake of shipping consistency across the product. Looking back, I'd advocate harder for a distinct logistics layer for that one campaign type, even at the cost of a less unified-looking system in the short term.
I didn't have real usage data validating the redesigned flows
This case study describes the reasoning behind the changes I made and the support-ticket patterns that motivated them, but I didn't have access to a clean before/after usage comparison at the time of writing. That's a genuine gap — the right next step would have been instrumenting the new price-estimate step and the earlier identity gate specifically, to confirm the hypothesis with funnel data rather than just qualitative ticket review.
What changed, and what this says about how I work
For the product
1. A documented, shared system model across 12+ campaign types that didn't exist before — used afterward as the onboarding reference for adding new campaign formats.
2. A live pricing pattern adopted as the default for every campaign type with variable cost logic, not just Story CPV.
3. Explicit state definitions for influencer campaign sub-states, closing a gap where real operational conditions had no representation in the system at all.