A cloud-native platform for live and scheduled media delivery across organisations. Integrated with AWS to provision media pipelines on-demand, with streamlined management for entitlements, billing, and stream quality.
Led the redesign of the platform UI to improve usability and scalability. Defined user flows for configuring sources, scheduling streams, and managing access. Collaborated with backend teams to align UI with system logic and infrastructure provisioning.
Contributed to frontend implementation with a component-based architecture. Built a Storybook design system that evolved into a React Component Library, now adopted across multiple products in the organisation.
Transformed a technically complex platform into a user-friendly tool, enabled scalable media workflows, and improved collaboration between design, engineering, and product teams.
I designed interfaces for creating, editing, viewing, and listing ingest points, supporting multiple protocols (RTP, SRT, Zixi). Advanced settings were simplified into intuitive forms with contextual help, reducing errors and setup time for technical users.
Built flows for defining stream types, scheduling, redundancy, and profile locking. Both event-based and channel-based contributions were supported, helping operators manage multiple streams without conflicts and improving operational efficiency.
Created configuration interfaces for output endpoints with redundancy and failover logic. Users could easily handle pre-created and dynamic destinations, reducing misconfigurations and improving reliability.
Designed the delivery setup to manage routing, transcoding, and cross-region delivery. Visual indicators highlighted redundancy, billing, and stream health, allowing operators to quickly detect and resolve issues.
Developed interfaces for defining stream parameters (resolution, codec, bitrate, framerate, GOP, colorspace). Profiles were reusable across workflows, which saved time and ensured consistency across the platform.
Designed a navigation system to support complex operational workflows across multiple services. Patterns were built for scalability and modularity, ensuring that as new features were added, users could maintain efficiency and clarity.
The project began with a UX audit of the existing interfaces. I evaluated them against Jakob Nielsen’s heuristic principles to identify usability issues, inconsistencies, and accessibility gaps. This helped me frame the conversation with stakeholders not just around aesthetics, but also around usability and compliance including pushing for alignment with WCAG 3.0 guidelines where possible.
To align design with how the system actually worked, the scrum team ran a workshop with key stakeholders. Together, we walked through critical user flows for core operational tasks. This uncovered hidden dependencies in backend logic, which influenced how the UI needed to guide users through complex decisions. Mapping these flows created a shared understanding across design, product, and engineering.
With the flows clarified, I translated them into wireframes and prototypes for the most important screens. These prototypes weren’t just static mockups. They were clickable journeys that let us test the logic and interactions early, reducing the risk of rework later in development.
Because the user base was highly specialised, we worked with a small but expert group of internal users. I conducted short interviews, collected feedback from our internal chat channels, and observed how they navigated the prototypes.
I pushed for feedback during sprint reviews, ensuring that design work was visible and testable at each iteration. This kept stakeholders engaged, gave developers early visibility into upcoming UI patterns, and helped us validate design decisions before they became expensive to change.Many of the stakeholders were accustomed to more traditional, waterfall-style delivery, where design and development happened in silos. By integrating lightweight testing and iteration into the sprint cadence, I helped them experience the benefits of incremental improvements and reduced friction when handing off to engineering.
Throughout the process, I partnered closely with backend engineers to ensure the UI aligned with system logic. For example, some edge cases in operational flows required creative solutions that balanced technical constraints with user clarity.
The design philosophy emphasised modularity, reusability, and scalability. Components and patterns were built to support company-wide adoption, laying the foundation for a unified design system before a formal design team was in place.
When I turned to the core operational pages, my goal was to design interfaces that could support a wide range of user workflows while staying consistent across the platform. Each service (Sources, Contributions, Destinations, Delivery, and Stream Profiles) shared a common set of actions:
The redesign significantly improved usability and efficiency for setting up streams and managing deliveries, reducing the time and cognitive load for expert users. New users experienced faster onboarding, while consistent patterns and modular workflows laid a strong foundation that the formal design team later scaled across the platform. Raising accessibility and usability standards improved inclusivity and minimised errors, and iterative collaboration with stakeholders became part of the sprint rhythm, helping the team embrace more modern, user-centered practices. On the technical side, the work contributed to a reusable React component library that is now being adopted across multiple products, enabling a more unified design system across the organization. Overall, the platform became more reliable, scalable, and user-friendly, setting the stage for future growth.
Figma, React, Storybook, Jira, Confluence