Timeline Visuals — Balancing Customization, Accessibility, and Scale

As Uptempo’s enterprise customers scale their marketing operations, the timeline becomes one of the most frequently used — and most fragile — surfaces in the product. For customers like Swire Coca-Cola (USA), timelines are not just schedules; they are shared artifacts used by global teams to align planning, execution, and reporting.

As timelines grew denser, customers increasingly asked for ways to visually differentiate activities. Many specifically requested the ability to use their own brand colors to represent regions, campaign types, or internal structures — something they were already familiar with from other tools.

This project focused on introducing color-based differentiation while carefully balancing customer flexibility, accessibility, and system stability.

  • Uptempo Plan (SaaS Platform)

  • 2025

  • Lead Product Designer

  • Project Manager, Engineer Lead, Lead Software Developer, Four (4) Supportive Software Developers, Two (2) Professional Service Team Members, & UX Technical Writer

  • Marketing Technology (Enterprise SaaS)

Problem Space: Customization vs. Clarity

Customers wanted more control over how their timelines looked — especially the ability to map activities to their own brand colors. On the surface, this made sense: brand colors are familiar, meaningful, and already embedded in how teams think about their work.

However, during internal reviews with PMs and engineers, a deeper problem emerged:

  • Brand colors vary widely in contrast and accessibility

  • Many aren’t designed for dense calendar views

  • Allowing unlimited custom colors would make timelines harder to read, not easier

Without guardrails, color could quickly become decorative instead of informative — undermining the original goal of clarity.

The Challenge: Delivering Value Without Creating Risk

The challenge wasn’t whether to add color — it was how much freedom to allow.

Key constraints shaped the solution:

  • A mixed front-end architecture (Angular configuration, React timeline)

  • A third-party timeline library (Bryntum) with limited color control

  • Strict accessibility requirements

  • Customer requests for brand-level customization

Together with PMs, I framed the problem as:

How might we introduce meaningful visual differentiation now, without locking ourselves into an unsafe or unscalable system later?

results & impact

Although success wasn’t measured through quantitative metrics, the impact of the Color By feature was immediately observable in how customers interacted with the timeline.

  • Faster visual comprehension
    Teams could instantly differentiate activities by attribute without clicking into each item, making timelines easier to scan during planning and review sessions.

  • Reduced cognitive load in dense plans
    Color introduced visual hierarchy where none existed before, allowing users to focus on patterns, overlaps, and risks instead of decoding identical activities.

  • Safer customization for enterprise teams
    By limiting choices to an accessible, curated palette, teams gained flexibility without risking inconsistent or unreadable timelines over time.

  • Stronger alignment with enterprise expectations
    The feature met baseline expectations set by tools like Monday.com while remaining enterprise-ready in terms of stability and accessibility.

  • Improved confidence in the timeline surface
    Timelines evolved from static planning artifacts into reliable visual narratives that leadership teams could confidently reference.


“Color By instantly changed how we read our timelines. We can spot patterns and issues at a glance now—no more digging through every activity.”

— Vice President, Commercial Digital Strategy, Swire Coca-Cola (USA)

Design Approach Designing for Reality, Not Ideals


Given the clarity of the UX need, this project leaned heavily into UI systems, technical feasibility, and accessibility, rather than exploratory solutioning. My focus was on designing a scalable, enterprise-ready color experience that could survive real-world constraints.


Starting with alignment, not ideation


The project began with a kickoff session involving PMs and engineers from both the Plan and Spend sides of the product. Rather than whiteboarding solutions, the conversation focused on constraints:

  • What already existed?

  • What could realistically be reused?

  • Where would we incur the highest technical risk?

This early alignment helped set the tone: the goal wasn’t perfection—it was clarity delivered sustainably.

1

Responding to brand color requests with a safer alternative

Rather than supporting unlimited brand colors, I proposed:

  • A curated set of 10 accessible colors from Uptempo’s palette

  • Inclusion of Uptempo’s default purple to maintain continuity

  • Removal of shades and opacity controls

This allowed customers to differentiate attributes while avoiding low-contrast or misleading combinations.

Design Rationale
Brand colors are not inherently accessible. A controlled palette ensured immediate usability while leaving room for future expansion.

2

Accessibility as the backbone of the solution

Because color became the primary differentiator on the timeline, accessibility was treated as a design requirement—not a nice-to-have.

  • Tested all approved colors against timeline backgrounds and interaction states

  • Validated contrast ratios against WCAG accessibility standards

  • Balanced accessibility needs with strict brand constraints, without introducing new colors

Design Rationale
Relying on color without proper contrast excludes users and creates risk for enterprise customers. Designing accessible defaults ensured the feature worked for everyone, regardless of visual ability or screen conditions.

3

The Angular vs. React decision: choosing pragmatism for the MVP

One of the most important—and least visible—decisions was where the configuration UI would live.

  • The admin/configuration area was already built in Angular

  • The timeline itself was built in React

  • The Color Picker existed as an Angular component on the Spend side

Rebuilding the entire configuration experience in React wasn’t realistic within the iteration. After discussions with PM and engineering, we made a deliberate MVP decision:

Ship using Angular for configuration, adapt the React logic behind the scenes, and keep the timeline experience consistent.

Design Rationale
In an agile enterprise environment, momentum matters. This decision allowed us to deliver customer value without stalling the roadmap or introducing unnecessary technical debt.

4

Thinking beyond the MVP: spotting the “once-in-a-while” opportunity

While Color By shipped using Angular configuration, a parallel initiative around attribute types and type groups created a rare opening.

Attributes power everything:

  • Attribute definitions

  • Type groups

  • And ultimately, the Color By feature itself

During that work, I proposed redesigning this foundational section using React components. Opportunities like this don’t appear often in agile environments—and missing them means living with fragmentation for years.

Design Rationale
This wasn’t just about Color By. It was about aligning the system underneath it, so future features wouldn’t inherit the same limitations.

5

Collaborating with engineering on Bryntum constraints

Bryntum, the third-party library powering our timeline, came with strict constraints that directly influenced how color could be applied and rendered.

Key limitations included:

  • Restricted support for color layering

  • Fixed hover and selection behaviors

  • Limited control over how colors and text contrast were applied dynamically

Because Bryntum was already deeply embedded in the product, replacing or heavily overriding it wasn’t an option.

Instead, I worked closely with the engineering lead on the project to understand how Bryntum handled color rendering at a technical level. While engineering owned the testing and integration, we collaborated frequently to align on design intent—especially around legibility, accessibility, and edge cases.

Design Rationale
Strong design–engineering collaboration prevented brittle workarounds and ensured long-term stability.

Engineers Testing Bryntum

Automating text contrast based on background color proved particularly challenging within Bryntum’s constraints. Engineers had to manually test and validate color combinations to ensure readability across different states, while I supported this effort by:

  • Defining clear contrast expectations

  • Limiting the color palette to reduce risk

  • Adjusting design decisions based on what proved stable in implementation

6

Exploring Real-World States with Miro (Iterative Wireframes)

While engineering focused on integrating Bryntum with our constrained color system, I used Miro as a fast, collaborative space to explore how the Color By feature would behave in the real-world scenarios our enterprise customers care about most.

Instead of broad ideation, these wireframes were grounded in known customer usage patterns. I created four focused iterations, each representing a high-impact timeline state where visual differentiation plays a critical role.

Design Rationale
Iterating in Miro allowed us to pressure-test the feature early, using realistic data density, without blocking engineering progress. It ensured we designed for how customers actually use timelines — not just ideal, low-density scenarios.

These iterations explored:

  • High-density timelines with overlapping activities

  • Different “Color By” attribute selections (status, region, type)

  • Long-range planning views where color repetition becomes more noticeable

  • Mixed activity types sharing the same time frame

Each iteration helped refine:

  • Where color meaning was immediately clear

  • Where visual noise started to appear

  • Which states required stricter constraints to remain readable

I reviewed these wireframes regularly with the PM and shared them with engineering to ensure alignment with Bryntum’s technical realities.

7

Final Design in Figma: From Intent to Execution

Once we aligned on the most valuable states through Miro and engineering confirmed feasibility, I transitioned the work into high-fidelity designs in Figma.

These designs reflected the final, approved Uptempo color palette, which had already passed accessibility contrast checks. At this stage, the goal was no longer exploration — it was clarity, consistency, and readiness for implementation.

Design Rationale
Moving from exploratory wireframes to locked high-fidelity designs ensured that design intent survived implementation. It also reduced last-minute changes, accelerated delivery, and made validation with Swire more focused and productive.

The final designs included:

  • The complete Color By user flow, from configuration to timeline output

  • Clear default behavior using Uptempo’s purple

  • Accessible color application across hover, selection, and overlapping states

  • Visual parity between configuration and timeline experiences

By this point, design and engineering were fully aligned on:

  • What the feature would look like

  • How it would behave

  • Where flexibility intentionally stopped

8

testing : Enterprise validation

The most important validation step was reviewing the feature with Swire’s VP of Commercial Digital Strategy.

Using their real timelines, we walked through:

  • Different attribute-based color views

  • Dense planning scenarios with overlapping activities

  • Leadership-level questions like “Where are the risks?” and “What’s happening in this region?”

The feedback focused on outcomes, not UI:

  • Timelines were easier to read

  • Patterns and overlaps surfaced immediately

  • The constrained color set felt sufficient, not limiting

Design Rationale
Validating with an enterprise decision-maker confirmed that the feature supported real planning and prioritization—not just visual polish.

9

Confidence before scale

By the end of testing, we had confidence that:

  • The feature behaved predictably across real data

  • Visual clarity held up under scale

  • Accessibility requirements were met within technical constraints

  • The experience aligned with enterprise expectations set by similar tools

Design Rationale
Enterprise features need to earn trust before adoption. Thorough, context-driven testing ensured this feature could scale safely across customers without creating downstream issues.

Final Product

key learnings

This project reinforced that strong enterprise design is rarely about finding the most flexible solution—it’s about making thoughtful trade-offs that protect clarity, accessibility, and long-term system health.

Designing the Color By feature showed me how easily well-intentioned customer requests (such as using brand colors) can create unintended complexity. Translating those requests into a safer, more scalable solution required aligning early with PMs and engineering, and being comfortable saying “not yet” in service of the product’s future.

The work also highlighted the critical importance of accessibility when colour carries meaning. Contrast testing, state validation, and real-world density checks weren’t optional steps—they directly shaped design decisions and reduced risk for enterprise customers.

Finally, this project reaffirmed the value of close collaboration. Working alongside PMs to frame the right constraints, and engineers to understand Bryntum’s limits, ensured that design intent survived implementation—and that the final solution worked reliably at enterprise scale.

project takeaway 🧠

This project reinforced a core principle of enterprise design:
The most valuable solutions are often the most restrained ones.

By prioritizing clarity, accessibility, and system health over unlimited customization, we delivered a feature that scales — not just visually, but operationally.

Next
Next

Attribute Dependencies