SOFTWARE DEVELOPER AT IBMENGINEERING × HUMAN COMPUTER INTERACTION

Complexity,
made human.

I’m Zeyad. I build interfaces that help people understand what’s in front of them and what to do next.

Explore my work

Start with what someone is trying to do.

A clearer path. At every level.

My work spans AI assistant interfaces, reusable UI builders and rendering performance.

01 / AI ASSISTANTIBM · SOFTWARE DEVELOPER

AI ASSISTANT INTERFACES

An answer is only
the beginning.

The useful part is what someone can do with it.

My role · Frontend architecture & delivery

CONVERSATION + WORKSPACE01

Layout study · illustrative content, not a product screenshot

I led the frontend delivery of an AI assistant from proof of concept to production, working with five partner teams. I pushed for workspaces that open to the left of a full height assistant panel. Forms and embedded screens fill the remaining space, so people can work while keeping the conversation in view.

5partner teams
10supported locales
Behind the work

The challenge

Bring a conversational experience into an existing enterprise application, with the consistency and behavior people expect from the rest of the product.

My contribution

I integrated a React chat interface into an Angular application and worked across product, design, content, backend and design system teams.

The principle

An assistant should make the next action clearer. The interface around an answer matters as much as the answer itself.

React · Angular · TypeScript · Accessibility · Localization

02 / MODULARITYIBM · SHARED FRONTEND PLATFORMS

REUSABLE INTERFACES & UI BUILDERS

Build it well.
Build on it.

Reusable components make new pages faster to deliver.

My role · Shared components & UI builder expansion

SHARED FOUNDATION → MANY VIEWS02

Overview

Patterns
Progress
Details
01Explore
02Compare
03Understand
Choose components
See the configuration
{
  "components": [
    "chart",
    "progress",
    "table"
  ]
}

Illustrative component system · not a product screenshot

I built shared frontend widgets and product pages, expanded Angular UI builders, and redesigned how widgets coordinate and share data. The goal was to deliver new pages and use cases faster without rebuilding the same interfaces.

Shared componentsCoordinated dataConsistent interactions
Behind the work

The challenge

Shared interfaces need room to support different workflows without repeating the same work across every page.

My contribution

I expanded UI builder capabilities and introduced NgRx patterns for widget data dependencies and reuse. In separate table work, I built a TanStack Table replacement designed to let consumers migrate through a single configuration change.

The principle

Reusable components and configuration help teams deliver new pages and use cases quickly, with consistent behavior across the product.

Angular · NgRx · React · TanStack Table · Shared packages

03 / OPTIMIZATIONIBM · INTERFACE PERFORMANCE

RENDERING PERFORMANCE

Faster rendering.
Less waiting.

From sequential work to parallel execution.

My role · Rendering performance optimization

RENDERING TIME03
BEFORE

8s

AFTER

3s

Elapsed time · shared scale of 8 seconds

Reported rendering time · illustrative replay

I optimized a table parsing path, reducing reported rendering time from eight seconds to three.

Five seconds faster
in the reported scenario.

Behind the work

The challenge

The field template rendering path relied on sequential promise work. The goal was to reduce rendering time.

My contribution

I replaced sequential promise work with parallel execution and added early exit guards. The reported rendering time fell from eight seconds to three. This was a separate optimization from the shared table replacement.

The principle

Run independent work in parallel, exit early when possible, and measure the effect on rendering time.

Frontend performance · Async execution · Table parsing

I care about
what happens
on the other side
of the screen.

I enjoy making complex systems easier to use, and building shared tools that other developers can build on.

It started with spending my free time exploring websites on Behance and Awwwards. I was drawn to what people could make a website feel like. Studying human computer interaction gave that curiosity a more useful question: how can the design use its space well and make an interface clearer and easier to use?

That question follows me into my work at IBM: collaborating with designers, building shared interfaces and thinking about how AI can fit into a real workflow. I enjoy the visual craft, but I care just as much about whether someone knows what to do next.

EXPERIENCE
  1. JUN 2024 TO PRESENT

    Software Developer

    IBM · Markham, Ontario

    AI assistant interfaces, reusable frontend systems and developer enablement.

  2. MAY 2022 TO MAY 2024

    Frontend Developer Intern

    IBM

    Dashboards and interfaces for climate risk and supply chain applications.

  3. SEP 2019 TO JUN 2024

    Computer Science, BSc

    University of Calgary

    Human Computer Interaction concentration

SKILLS

React / Angular / TypeScript / NgRx /
Next.js / AI assisted development

DESIGN BLOG

Behind the
Interface.

I write about the design decisions behind interesting websites, from typography and layout to motion and interaction.

An open research notebook, with interactive stories and a closer look at the details that shape an experience.

Explore the design blog (opens in a new tab)design.zeyadomran.com