I design IT service desk software, from incident grouping to AI agents.

Senior product designer at ManageEngine, eleven years on ServiceDesk Plus, used by 100,000 organisations. I led Cluster Analysis, which groups related incidents, to release in March 2026, and designed Agent Actions (not yet released), where an automation rule hands a ticket to an AI agent.

Open to senior and lead product design roles · Chennai or remote

Cluster Analysis design: the selected group shows its rule beside related incidents and available actions
Cluster Analysis. The grouping rule stays visible beside the incidents. December 2025 design; illustrative records. The case follows it through release.
Shipped AI workincluding Cluster Analysis and answer feedback; named examples in the AI case
14 weeksfrom round 1 to Cluster Analysis release; delivery cycle time
Eleven yearsdesigning enterprise workflows, exceptions and configuration on one product

Incidents, agents and approvals

Start with Zia, then the approval and workflow systems behind how I approach delegation and exceptions.

Cluster analysis configuration with optional AI naming
AI and agents

Zia: AI that shows its working

I led Cluster Analysis from design rounds through build review to release. Then I designed Agent Actions: context and tool inputs configured before a business rule runs an agent.

Years
2020 to 2026
Role
Led Cluster Analysis; designed Agent Actions
Status
Cluster Analysis shipped; Agent Actions designed

Explore the case · grouping rules, agent inputs and answer feedback

Clarification response status for each person asked
Decisions and exceptions

Approvals and change, one model for ten years

“Need More Info” used to send an email and leave the approval in limbo. I made it a state the product tracks, with three response states for every person asked and a timeout that never approves.

Years
2016 to 2026
Role
Led approvals rounds from 2017
Status
Request clarification shipped; CAB designed

Try it · ask a question and leave one person silent

Conditions, approval levels and an external flow on the rules canvas
Readable automation

Automation you can see

I put rules on the request lifecycle so admins can inspect when they fire and what runs next. The canvas shipped in build 15200; the case also shows my Workflow Assist brief design and its separate Cloud release history.

Years
2021 to 2026
Role
Led the canvas and Workflow Assist
Status
Canvas shipped on-premise; Workflow Assist released in Cloud

Try it · pick a step on the lifecycle

Cloud interface and design system

Three habits across my work

01

Make the rule inspectable

A cluster explains its grouping. A workflow shows execution order. An approval names who is waiting on whom.

See the AI decisions →
02

Put review at the right point

Choose resolution sources, edit the proposed workflow, and configure the context and inputs an agent will receive.

See workflow review →
03

Check what the evidence proves

Separate released behaviour, designed flows and replica measurements. Missing outcome data stays visible.

See verification →
Release history and customer feedback

Selected releases and announcements

Release notes →

WhenWhatModuleMy part
Oct 2026The new ServiceDesk Plus Cloud, announced; early access later in 2026Whole productLed peek view, the tree view, Setup and the Ask Zia pane; one of a small Cloud design team
Sep 2026Like and dislike on every Ask Zia answerZiaDesigned the dislike loop, Nov 2025 to Feb 2026
Mar 2026Cluster Analysis, replacing Problem PredictionZiaDesigned it from round 1 to release
2020 to 2026Request auto approval, resolution assist, suggested solutions with sourcesZiaDesigned them
Sep 2025Workflow Assist released in Cloud; the case shows the retained brief designAutomationDesigned Workflow Assist; exact brief revision not mapped to a release
2025Request workflows drawn on the lifecycleAutomationDesigned the rules canvas, 2021 to 2022
2023Need More Info in approvalsApprovalsEvery round from 2017; visual designer in 2016

Later designs and unverified delivery

WhenWhatModuleMy part
Oct 2026Agent Actions: an agent as an automation action, on the team's existing Zia Agents platform. Designed, not yet releasedZia, AutomationDesigned it
2025 to 2026Conflict detection, the combined release calendar and the CAB Workbench. These design revisions are not mapped to a confirmed releaseChanges, ReleasesDesigned them

Design files alone do not establish delivery. Explore the career timeline →

What customers said

UserConf'26, October 2026

506check-ins at the user conference
150+at the roadmap session where the new UI was shown
95+asked for early access
I'm most excited for the peek view and tree view.
Customer
All of it, but the custom modules look the most promising.
Customer

From the early-access form after the new UI was shown. I read and tagged all 78 written answers: about 25 named customisation and about 24 AI; peek view, the tree view and moving between tickets came up unprompted. Interest is not adoption; early access opens later in 2026.

My work spans visual design, on-premise workflows and Cloud interaction design. How I work · Career timeline · Work archive. Product context: ServiceDesk Plus is used by 100,000 organisations and 750,000 technicians. That is the product's reach; each case states my contribution and evidence.

Let's talk about the work.

I am looking for senior and lead roles in enterprise and AI product design. Based in Chennai, open to remote. I can walk through the decisions, source designs and working demonstrations.

← All work

2015 to 2026 · ManageEngine ServiceDesk Plus

Year by year, 2015 to 2026

One product, many jobs. The users stayed the same: technicians who live in the tool all day, admins who configure it, requesters who just want an answer. What changed was the platform (on-premise to Cloud), the tools (Photoshop to Figma to code) and the scope (icons to the AI and the system the product is built on).

Archive inventory
178 feature entries, plus 50 icon and visual sets. Counted by year; recurring features can appear in more than one year
Role over time
Visual designer 2015 · product designer 2017 · senior 2022 · Cloud team 2024
Longest threads
Assets 2015 to 2026 · systems 2016 to 2026 · approvals 2016 to 2026
Release evidence
Each case distinguishes released features, designed flows and measurements on my own work

Threads that ran through the years

RoleVisual designerProduct designerSeniorSenior, Cloud
Approvals 2016 to 2026
Change and release2018 to 2026
Service catalog2018 to 2025
Assets and discovery2015 to 2026
Zia and AI 2020 to 2026
What each thread held
Approvals2016 to 2026

Need More Info to Need Clarification, then approvals for custom modules and AI that reads approval replies.

Automation and rules2017 to 2026

The change workflow, timer actions, the rule canvas, then Workflow Assist and agent actions.

Change and release2018 to 2026

Freeze windows, collision and conflict detection, the combined calendar, the CAB Workbench.

Service catalog2018 to 2025

Catalog v2 to v7, catalogue icons, portal customisation, finance and ESM portals.

Assets and discovery2015 to 2026

CI types, SNMP, software metering, asset reservation, rack views, AssetExplorer in Zendesk.

Zia and AI2020 to 2026

Predictions with an accuracy dial, then generative assist, cluster analysis, Ask Zia and agents.

Systems and colour2016 to 2026

Icon systems, dark mode, 1,457 colours measured and candidate grey matches evaluated, UI kit, design system, the Harmony library.

Navigation and record views2016 to 2026

Requests list, record views, navigation standards, then peek view and the tree view.

2015Visual designer

The product: the On-Demand web UI had just been revamped; on-premise was on version 9.

First redesign: configuration item types

  • Moved CMDB configuration item types from AssetExplorer into ServiceDesk Plus: flattened a nested tree, then added the cascade-delete warning the flattening made necessary.
  • Notifications, and the first icon work.
2015: configuration item types as a flat list, and the warning before a cascade delete
2016Visual designer

The product: MSP 9.0 with richer change workflows.

The requests list, and a question in an approval

  • A new requests list and request selection.
  • Need More Info as an option beside Approve and Reject in the self-service portal: the first design in a thread that continues through custom-module approvals. Story →
  • Who is online and offline; support documents.
2016: the self-service portal approval pop-up with Need More Info as one radio option
2017Visual to product designer

The product: version 10 brings the request lifecycle and a revamped request details page.

First whole features

  • A dashboard the customer composes. Story →
  • The change workflow; the visual change workflow builder shipped in Cloud in 2018.
  • SNMP discovery: the OIDs a device reports, configured in a dialog over the device list (shown).
2017: configure OIDs for a printer in SNMP discovery
2018Product designer, on-premise

The product: the visual change workflow builder ships in Cloud.

Service catalog and freeze windows

  • Service catalog v2 to v6: a category grid with icons doing the wayfinding, then a denser, search-first catalogue.
  • Freeze windows: a change freeze as a rule with a schedule and the services it covers, with every override recorded.
  • Software metering; moved to Adobe XD.
2018: adding a freeze window, with its repeat, sites and services
2019Product designer, on-premise

The product: Zia debuts as a virtual agent; enterprise service management launches.

The catalogue that shipped

  • Service catalog v7, the layout that shipped, and its icon set.
  • Asset alerts, org admin, proxy configuration.
2019: service catalog v7
2020Product designer, on-premise

The product: an all-new Cloud UI in October; custom modules in December.

Assets and security

  • Asset reservation across many design versions; asset booking later shipped.
  • Need More Info iterations across 2019 to 2021: status, conversation and resolved. The request flow shipped in build 14000 in 2023. Story →
  • Zia configurations with an accuracy dial per prediction. Story →
  • Two-factor authentication, SAML, theme settings.
2020: asset reservation, design version 6: Reserve Assets on the portal home, with reserved and loaned assets beside requests
2021Product designer, on-premise

Thirty entries in one year

  • Dark mode across the product.
  • Timer actions, invoke actions, notification rules.
  • Zia admin, the Zia bot and chat.
2021: the dark-mode icon set
2022Senior product designer

The product: version 13 with spaces, operational hours and navigation tab customisation.

Automation you can see

  • The automation rules canvas: rules drawn on the request lifecycle. Story →
  • The action gallery, custom functions, embedding Zia, a navigation bar standard.
  • Figma begins.
2022: a full lifecycle canvas with nested rule groups
2023Senior product designer

The product: build 14000 ships Need More Info in approvals.

Approval replies and configuration

  • Colour-system exploration, followed by the recorded measurement and specification in 2024. Story →
  • Zia approval actions: interpreting an approver's email and showing the recorded result. Story →
  • Approvals for custom modules, asset booking, threaded conversations, similarity prediction, WhatsApp approvals.
2023: the Zia approvals list
2024Senior, moving to the Cloud team

The product: asset booking, custom module sub forms, chat channels on-premise.

The system, and accessibility

  • Accessibility controls by need: vision, hearing and mobility. Live in the old and new UI. Story →
  • UI Kit 3.0, the design system beta, the colour spec.
  • Need Clarification designed for multi-level change approvals; release build not recorded.
  • The first Ask Zia concept, on the Cloud team.
2024: accessibility controls with personas
2025Senior product designer, Cloud

The product: a generative AI release in September.

Generative assistance and predictive analysis

  • Workflow Assist released in Cloud in September 2025. The cases show my retained source designs; the exact Workflow Assist brief revision is not mapped to a release. Story →
  • Collision and conflict detection and the combined calendar: retained designs; delivery of these revisions is unverified here.
  • Contextual Ask Zia; predictive analysis rounds 1 to 6 in December.
  • AssetExplorer inside Zendesk, the finance portal.
2025: two scheduled changes that collide with the current one
2026Senior product designer, Cloud

The product: Cluster Analysis and Zia agents ship; the new Cloud UI is shown in October.

The new Cloud UI

  • Peek view and the tree view in the new UI. Story →
  • Cluster Analysis ships in March from the December rounds. Story →
  • Agent Actions and the CAB Workbench designed, with no release recorded. Also MS Teams inside the ticket, SNMP and software metering revamps.
  • The SDP Figma library for Harmony, and checks on my coded replica. Story →
2026: the tree view on the live build

← All work

2024 to 2026 · ServiceDesk Plus Cloud, the new UI

Rebuilding ServiceDesk Plus Cloud

Opening a request used to replace the queue a technician was working through. I led peek view, the tree view, Setup reorganisation and the Ask Zia pane in the new Cloud UI: keep the current work in view, make its patterns readable, and bring settings and assistance closer.

People
Technicians working queues, managers reading workload and admins configuring the product
My part
Led peek view, tree view, Setup reorganisation and the Ask Zia pane. Contributed to navigation, workspaces, custom pages and preferences, with the Cloud team
Scope
Four owned interaction areas within a team redesign, 2024 to 2026
Status
Announced 8 October 2026; early access planned later in 2026

Three decisions that carry the story

  • Preserve the queue. Open a record over the list, stack related records and return to the same row.
  • Read and configure in context. Put tree counts in the list toolbar and each module's settings together in Setup.
  • Bring Ask Zia beside the task. Offer assistance and actions relevant to the page the person is on.

The problem

Reading a record interrupted the queue; simple workload questions and module settings sent people elsewhere.

Evidence

95+ of 150+

Roadmap-session customers requested early access. Interest in the team redesign; adoption and task-time results are not available.

01

Open a record without losing the queue

Peek view · I led this

Working a queue used to mean repeated round trips: open one, lose the list, go back, find your row. I designed peek view so the request opens over the queue, and closing it leaves you exactly where you were. Two details make it hold up: a link inside a peek opens another peek, so a chain of records unwinds back to the queue. Expand promotes the peek to a full page without a second navigation. It is a preference, always or on demand.

Before. A request is a page; the list is gone until you go back.

Try it. Click a subject and the request opens over the list; press Esc to come back to your row. A related request stacks a second peek, and Expand promotes it to a full page. The counter is page changes on this screen, 2 before and 0 now.

What I dropped. One exploration folded the list into a card column beside the record. It was a second way to do the same job, so I kept one model.

Exploration: the request opens over the list, which stays visible on the leftExploration: the list folded into a column of request cards beside the open record
Exploration. Over the list: this became peek view.
02

Answer workload questions from the current list

Tree view · I led this

To see where the open requests sat, a manager used to build a report. The tree view I designed splits any list by any field, with a count on every node, and any node opens as a filtered list. I put it in the list's own toolbar, beside kanban and graph, because it is a way of looking at the list you already have, not a report to build.

Try it · press the tree icon on the toolbar, then open a branch.

Five buttons re-lay the same twelve rows. Tree groups them by category with a count on every node; open a node for its rows. The readout names the active view and shows the number of requests.

List view of all requests on the lab buildTemplate view: each request as a summary rowKanban view: requests as cards in status columnsGraph view: 12,196 requests as a chartTree view: 12,196 requests split by category
The lab build, October 2026: one list of 12,196 requests, five ways to read it from the same toolbar. The sixth, the workspace, is next. Requester names in the graph legend are blurred.
03

Bring a module's settings together

Setup · I led this

Within the team's new sidebar, I reorganised Setup around the tasks admins perform. The ordering changed: Zia from 14th to 4th, Mail Settings from 3rd to 16th, the last. A guide line shows where you are in the tree, and sub-pages that hid in tabs became branches you can see. Every Setup page also answers what is configured for this module, through an icon beside the module picker.

Try it · Old Setup, 15 groups, against New Setup, 16

Old Setup: fifteen groups behind a header gearNew Setup: sixteen groups reached from the sidebar, Modules and Zia near the topBusiness Rules in Setup: beside the Incident module picker, an icon for that module's settingsThe Request module panel: every configuration for Requests, grouped by Setup area
Old Setup. Fifteen groups behind a gear in the header; Zia 14th, Mail Settings 3rd.
Old Setup menu: items flush, selected one a filled row
Before. A filled row marks where you are.
New Setup menu: a guide line down the open group and an elbow to the selected item
After. A guide line and an elbow; a chevron marks a deeper level.
04

Keep AI assistance beside the task

Ask Zia pane · I led this

I led the Ask Zia pane so the assistant can remain beside the current page. The available skills follow the context: Approaching SLA on Requests, Stalled Problems on Home.

The trade-off is a narrower surface and context-specific skills to maintain. The AI case study shows the pane and the feedback path on an answer, followed by my Agent Actions configuration work.

05

Work within the wider platform redesign

I contributed

I contributed to the surrounding navigation, workspace and custom-page work. The examples below show that team context; the four sections above are the areas I led.

Workspaces and the wider team redesign

The team's workspace design lets a module open on a workspace instead of a list: a page that answers the module's first question before the list. Home shows what is overdue, pending and waiting on the person signed in; for other modules, customers build their own in Setup, Custom Pages. On the demo account, 13 modules open on one, from 21 custom pages in all.

The Home workspace on the lab build: greeting, overdue, pending and due-today counts, problems and changes, approvals, tasks, reminders and announcements
The Home workspace, October 2026. Sample name.
Setup, Custom Pages: the pages customers have built, by module
Setup, Custom Pages: a workspace for any other module.
Launch page footage. The sidebar, peek view and the Ask Zia pane, from ManageEngine's launch page, October 2026. Cropped at the browser edge for this portfolio.
Trade-offs and build review
DecisionWhyWhat it cost
I made peek view a preference, always or on demandTeams that live in the queue want it everywhere; a product people have used for years should not change what a click does overnightTwo behaviours to support
I put the tree view in the list toolbar, not in ReportsA manager's question is about the list in front of them; a report is a detourCounts have to stay fast on very long lists
I dropped the card columnIt was a second way to do what peek view already didA denser layout for scanning many records at once
I reordered Setup by what admins do nowZia sat 14th while admins set it up first; Mail Settings sat 3rd and is set onceLong-time admins lose muscle memory; search stays at the top
I put Ask Zia beside the work, not on a page of its ownThe whole conversation used to live in a chatbot or a pop-up, away from the work. An assistant that is intelligent should know where I am and answer from there: a sidekick that works in parallel with you. My reference was Shopify's assistant; see the AI case studyA narrower canvas, and skills that change with the page
The design system came after the UI, not beforeWe wanted to ship instantly, as a UI refresh: see how it looks first, then consolidate the system behind itI built the system afterwards, alone, worked back from the built screens: see the foundations case study
The rollout is opt-in both waysThe old UI offers “Try New UI” and the new UI offers “Switch To Old UI”, so nobody is forced mid-weekTwo interfaces live at once for a while

I checked each of my pieces on the real builds at desktop, tablet and phone widths, and marked drift on the build itself.

What the public-review sample suggested

In October 2026, the product held 4.4 out of 5 on Gartner Peer Insights across about 1,461 ratings. In a small sample of public reviews I read from 2017 to 2026, five UI complaints recurred. The counts below show how many reviews in that sample named each complaint; they are not estimates for the wider customer base. The new UI aimed to make work easier, address these complaints and add customisation.

9dated, not modern
8clunky, busy
7setup is complex
6slow pages
4too many clicks
06

Launch interest and the evaluation still needed

95+ of 150+customers at the roadmap session asked for early access
~25 and ~24of the 78 written answers named customisation and AI respectively; peek view and the tree view came up unprompted
8 Oct 2026announced; early access opens later in 2026

The launch feedback records interest in the redesign. I would evaluate it through switch-back behaviour, peek expansion, list-view use and finding settings. No usage data is available to me.

I would attach the measurement plan to the next rollout from the start. The working prototypes show interaction steps, while early-access requests show interest. Neither establishes task speed or sustained use.

← All work

2016 to 2026 · Approvals and change governance

Approvals and change, one model for ten years

An approval can pause for a question without anyone knowing who should answer next. I designed clarification as a tracked state, with a response status for each person asked and a timeout that can reject or wait. The same work later informed my change-governance designs.

People
Approvers, requesters and admins handling requests and changes
My part
Led approvals design from 2017 to 2024; visual designer in 2016. Led the later change-governance designs with product and engineering
Scope
Clarification states, portal replies, timeout rules and change governance
Status
Request clarification shipped in build 14000 (2023). Change clarification designed in 2024; release build not recorded. Conflict detection, the release calendar and CAB Workbench are retained designs; delivery of these revisions is unverified

Three decisions that carry the story

  • Name the waiting state. Pending Clarification makes the question visible in the approval, table and thread.
  • Show who can move it forward. Track each person asked and give the requester a way to reply and mark the information provided.
  • Define silence explicitly. Admins can choose rejection or a return to Pending Approval. Silence never grants approval.

The problem

A question sent by email left the approval waiting without a trackable response state.

Evidence

3 response states

No Response, Replied and Resolved. Shipped behaviour; time saved and adoption are not available.

2016: the self-service portal approval pop-up with Need More Info as one radio option2024: the Response Status popover listing twelve people asked, each No Response, Replied or Resolved
2016: one radio button, one comment box, one email. 2024: every person asked and where they stand.
01

Make the clarification loop visible

Shipped request flow; later change designs

Give the state a name

Pending Clarification became a real status: a banner on the approval, a value in the approvers table, and a thread under a numbered level.

Show who has answered

A Response Status popover lists every person asked, marked No Response, Replied or Resolved, searchable when there are twelve of them.

Let the requester close the loop

The person asked lives in the self-service portal, so the portal gets the question, a reply box, and one checkbox: I have provided the information, please proceed.

Keep the decision with the approver

An admin rule: if no answer arrives in a set number of operational days, reject automatically or move back to Pending Approval. There is no automatic approve: silence never counts as a yes.

Try it · ask a question, leave one person silent, then advance the days.

Switch between Approver, Requester and Admin. Ask for information, mark replies, then advance the timeout with one person still silent.

The reconstruction checks this rule. A test of this reconstruction enumerates the defined input sequences up to six steps in a two-person model, then checks reachable states in the twelve-person model to depth seven. Approval must require an explicit Approve; planted automatic-approval branches make the check fail.

Change approval panel with a Clarification Pending banner, the approvers table showing Pending Clarification, a Level 1 thread and the Approve, Reject and Need Clarification actions togetherResponse Status popover listing twelve people asked, each marked No Response, Replied or Resolved
The approver's side: the state has a banner, a column and a thread.
02

Handle follow-up questions and reassignment

2023 to 2024

Real approvals raise more than one question. Threads are numbered by level and each level has its own status; an answered question says so in green, with who resolved it and when. While a question is being edited the approval cannot move. When the question moves to someone else, the first person is told on the portal, before they waste time answering it.

Two clarification threads, Level 1 and Level 2, each with its own response status; Level 1 is marked resolvedRequester view with the approver's question, a reply box and a checked box reading I have provided the required information, please proceed for approvalChange configuration policy row: if no clarification is provided within 2 operational days, auto reject or move back to Pending Approval
Two levels, two threads, one settled.
03

Narrow the design with product and engineering

Every round started as a requirement from the product manager. I worked it into shape in design, with a developer in the room early to say what the approval framework could support. The timeout has two outcomes for a reason. A change that goes ahead on missing information is the expensive mistake; an automatic reject only costs the requester a resubmission. Teams that prefer patience let the approval wait again. After each build I checked the screens at desktop, tablet and phone widths and marked what drifted.

What I reversed. Between the January and July 2024 rounds I narrowed the scope. Clarification events moved out of Approval History into Change History. The approval record holds only status changes, so an auditor sees who decided what and when, and the conversation stays with the change it was about. A block of reminder and notification settings came out, and so did the Mark as Resolved confirmations. The requester's widget became “My Pending Clarification”. For approvals on modules customers build, the panel kept only Approve and Reject, with the details read‑only.

Earlier context and product feedback

In ServiceDesk Plus a request or a change can need approval from several people, at several levels. In 2016 the approver's choices were Approve, Reject or Need More Info. The third one sent a mail to whoever the approver picked, with a comment. After that the product had nothing to say: the approval was neither approved nor rejected, and there was no word for what it was.

Approve→Approved
Reject→Rejected
Need More Info→An email, and no status

Customers described stalled approvals to our product manager: a question had been asked, but the people involved could not see what happened next. Approvers needed to know whether anyone had answered, requesters needed to see that a response was due, and admins needed a way to handle unanswered questions. I designed the tracked state, portal reply and timeout around those three needs.

ApproverDid not know if the question had been answeredFixed by Response Status
RequesterDid not know they were being waited onFixed by the portal reply and checkbox
AdminCould not stop an approval sitting foreverFixed by the rule for silence
04

Carry the model into change governance

Approvals taught me the rule that runs through the rest: when the product cannot decide on its own, it should name the state, show who is waiting on whom, and decide what silence means. I carried it into how changes are governed, from freeze windows in 2018 to the CAB Workbench in 2026. Release builds for this work are not recorded.

Freeze windows that can be overridden, visibly

A change can still go ahead inside a freeze window, but the override names who and when, and the change roles are told.

Conflicts as a state, not a warning

Conflict detection lists every collision with another change or window as Detected or Ignored, and ignoring one is a recorded decision with people notified, not a dismissed pop-up.

Configure the CAB agenda

The CAB Workbench builds the agenda from rules: which changes to include, when to create the agenda, when it closes to additions, and a threshold of changes per meeting. Pre-approved changes are decided without taking the board's time. Designed in 2026; a release for this revision is not recorded here.

The first freeze window override naming who and when, the 2023 notification for an ignored freeze window, and the 2025 collisions list with Detected and Ignored statusesThe Conflicts section on a change record, 2025CAB Meeting Scheduler: agenda criteria, agenda created 2 days before the meeting, additions allowed until 5 hours before, automation for pre-approved decisions, and a threshold of 10 changes per meeting
Freeze windows, 2018 to 2025. An override names who and when; ignoring a conflict notifies the change roles.
05

Delivery evidence, and what I would measure

3response states per person, shipped in requests
2clarification levels in the retained change design, each with its own thread and status
3notifications in the retained change design: asked, replied, resolved; plus a Need Clarification count on Home

Zia also infers Pending Clarification from an approver's email asking for information. See the Zia story.

The product does not report how many approvals this unstuck. That is the gap I would close first: log how long an approval spends in Pending Clarification, and how many CAB agenda items are decided without discussion. The current evidence is the shipped clarification flow and the design artefacts. CAB measures require confirmed delivery and access to usage data.

← All work

2023 to 2026 · Colour, design system, accessibility

One colour system, and the library it became

Inconsistent colours and components accumulate as a product grows. I measured the existing palette, designed reusable ramps and accessibility controls, then rebuilt the product's Figma library in Harmony from the new UI. The system connects design decisions to components, tokens and rendered checks.

People
Designers composing screens, engineers implementing them and people needing display adjustments
My part
Built the Harmony library and the measurement tools; designed the colour specification and accessibility controls
Scope
Colour consolidation, library components, tokens and rendered checks, 2023 to 2026
Status
Accessibility controls are in the product. Harmony is used by the SDP designers. Replica checks measure my own build

Three decisions that carry the story

  • Measure before consolidating. Use perceptual difference and contrast to identify candidate substitutions and colours that need their own ramps.
  • Build from the existing product. Reusable components and role tokens make the built UI a reference for the next screen.
  • Check the rendered result. Trace failures to shared colour decisions and prove that the checks can catch a defect.

The problem

A growing product had many near-duplicate colour values and a library that needed to match the built interface.

Library census

70 components

Publishable UI assets in the 1 October 2026 census; 290 including variants. Counts describe the library, not its adoption.

01

Turn palette differences into specific decisions

Colour specification · 2024

Try it · the real 453 greys

I wrote a colour-difference tool to compare production values with a proposed ramp using CIEDE2000, alongside contrast ratios. The recorded run matched colours in order using a difference threshold of 2; it was not a global nearest-colour optimisation. It absorbed 199 of 453 greys into a 14‑step ramp. The remaining values identified where additional ramps needed design. The threshold was a screening rule, not a guarantee that every substitution would look identical.

The tool's output: each production colour, its candidate ramp colour, the measured difference and contrastHistorical Cardinal specification: two RGB annotations disagree with their hex labels
The tool's export, as developers saw it.
Check the original labels against their hex values

The historical images contain inconsistent annotations: two Cardinal RGB labels disagree with their hex values, and Grey S05 shows a black-on-grey ratio of 21.00:1. This portfolio check computes values from the printed hex. It does not establish what shipped in the product.

One colour value, consistent labels

Cardinal T20 #D14D3F

RGB in the original
66, 118, 224
RGB from the hex
209, 77, 63
Black text on #D14D3F
4.84:1Meets 4.5:1 for normal text

The original RGB and hex labels disagree. This check uses the printed hex, not an assumed production value.

Review of the source annotations

Printed valueOriginal annotationComputed from hex
Cardinal T20 · #D14D3FRGB 66, 118, 224RGB 209, 77, 63
Cardinal T30 · #D66154RGB 86, 133, 228RGB 214, 97, 84
Grey S05 · #E9E9E9Black text: 21.00:1Black text: 17.30:1

Opaque sRGB pairs only. Ratios are rounded for display; the threshold uses the unrounded value. A passing pair does not establish a screen's accessibility. W3C contrast method.

Inspect the unmodified originals: Cardinal specification · Grey specification.

02

Make built decisions reusable in Harmony

Library census dated 1 October 2026

The design system came after the new UI was built, not before, and that was a decision. The goal was to ship a refreshed UI fast, so the team settled how it looks on real screens first instead of building a system up front. Working back made the system a consolidation of existing decisions, while leaving drift to identify and correct. I worked it back from what had been built; the old UI had only an SDP UI kit.

The audit. In August 2026 I audited the SDP library in Harmony against the lab build. The pages named Component held spec sheets rather than reusable components; 20 publishable symbols existed elsewhere in the file. A separate 20 August paint audit found 52% of 1,563 component paints unbound to tokens.

Library census, 1 October 2026. The library contains eight foundation sections (colour, type, spacing, effects, motion, z-index, iconography, layout), 70 publishable components (290 with variants), 907 product icons and 321 illustrations, and 1,052 variables. The pages a designer builds with are split from the internal audit pages, so the library shows only what you build with. The other SDP designers now build from it.

One-screen comparison. I pushed a coded Requests screen into Figma as library instances: 103 per frame, with a pixel difference of 0.67% in light mode and 1.22% in dark. I sent the review's library findings to the library owners.

This site runs on the system's token file. Open Preferences in the nav: dark changes 466 of 699 tokens, darker 484, an accent 22 and its focus ring; measured by the build in the token file I generated from the Harmony library. Those counts describe the generated CSS, not the 1,052 Figma variables; the two are never one figure.

The library contents page: eight foundation sections from Colors to Layout, each with its token count and statusThe library contents page: icons, illustrations and four component groups, with countsMotion tokens: seven durations with bars and five easing curves, each with its use
Foundations. Eight sections, each with its token count and audit status, on the library's contents page.
Inspect the one-screen browser-to-Figma comparison
The Requests list rendered in ChromeThe same Requests list rebuilt in Figma from library componentsPixel difference between the two, with the differences marked in red
Lab build. The Requests list as the browser renders it.
Earlier UI kit and icon work

I put the ramps into UI Kit 3.0 and the first SDP design system beta: components, icon sets for light and dark, and the spec developers built from.

Part of the dark-mode icon set, on the dark ground it was drawn for
Part of the icon system: the dark-mode set, on the dark ground it was drawn for.
03

Let people adjust the display to their needs

Accessibility controls · 2024

Contrast in the palette helps everyone; some people need more. I designed Accessibility Controls for Preferences, organised by need rather than by setting: Vision, Hearing and Mobility, with increased contrast, a reading mask, a focus ring, underlined links and display font size. Ten persona presets switch on a set at once, and each control maps to a WCAG success criterion. They carried into the new Cloud UI unchanged in 2026.

Try the controls · sample request

#1043 · Printers · In progress

Printer on floor 3 jams on every second page

The shared printer by the east lift lobby jams on duplex jobs. Single-sided printing works. Requested by Henry James, assigned to the hardware group.

Related: #1049 Toner low on the floor 3 printer

ReplyAssignClose

The controls named as they are in Preferences. The persona switches on the set the 2024 design gave ADHD Friendly: focus ring, underlined links and a reading mask.

The 2024 Accessibility Controls design: a panel over the home page with Increased Contrast, Underline Links, Focus Ring and Display Font Size, each with a preview, then HearingAccessibility controls in the new Cloud UI, same tabs and controls
The design, 2024: each control with a preview of what it changes.
04

Separate library measurements from product outcomes

I rebuilt the UI as a working replica so I could measure rendered pages across themes. The replica contains 73 pages; 60 entered the contrast sweep and 21 were compared with the lab build.

The contrast sweep traced 388 of 415 failures to ten text colours. I separated kit colours I could change from product colours to report to the team. Fixing a shared colour still requires checking the affected screens; the count is not a claim that the product became compliant.

The verification case study shows the check that passed with most pages unmeasured, how I repaired it, and what it then found.

Try it here. Open Inspect colours on a story prototype, select an element, then change the theme. The card shows the token values and contrast measured in this reconstruction.

05

The next system starts with a reliable baseline

I would keep the dated census, the product reference and the rendered checks together from the start. Counts explain what exists; they do not show whether another designer can find, configure and maintain the right component. That task evaluation is the next evidence I would add.

← All work

2020 to 2026 · Zia, the AI in ServiceDesk Plus

Zia: AI that shows its working

One outage can arrive as dozens of separate incidents. I led Cluster Analysis from design rounds through build review, making the grouping rule visible and AI naming optional. My latest work extends that control into automation: admins configure an agent's context and tool inputs before a rule runs it.

People
IT admins configuring automation; technicians handling incidents
My part
Led Cluster Analysis from design rounds through build review; designed Agent Actions and the supporting flows described below, with product managers and engineering
Scope
Six years across predictive AI, generative assistance and agent configuration
Status
Cluster Analysis shipped March 2026. Agent Actions: designed, not yet released. Workflow Assist released in Cloud in September 2025; the exact brief design revision is not mapped to a release

Three decisions that carry the story

  • Keep the grouping understandable. Admins choose the conditions and fields; AI writes readable names. Turning off AI naming leaves grouping available.
  • Configure delegation before a rule runs. An Agent Action defines the context and tool inputs; the business rule defines when it executes.
  • Make generated work reviewable. Choose the resolution source, edit the workflow brief, and give feedback on an answer.

The problem

Technicians need to see when separate incidents belong to the same issue. Admins need to understand what a grouping rule watches and what action follows.

Delivery

14 weeks

From first design round to Cluster Analysis shipping. Delivery cycle time; customer impact has not been measured here.

01

One issue, a group of incidents to work from

Dec 2025 to Mar 2026 · shipped

The brief was to let an admin define what to watch, group similar incidents, and act when a group grows too quickly. I worked from the product wireframe through iterations of the configuration and cluster screens, then reviewed the built product at desktop, tablet and phone widths.

The admin chooses the incident conditions, the fields to compare, and a threshold within a time window. The technician sees the resulting clusters, the requests inside each one, and the rule behind the grouping.

December design: a selected cluster, its grouping rule, related requests, and actions to link requests or associate a problem
The technician's view, December 2025 design. The selected cluster shows the rule beside its requests. Counts and records are illustrative.

Give AI a bounded job

I limited AI to writing readable cluster names. Grouping continues when naming is off, so admins can use the analysis without enabling generated names.

Show why a request belongs

The cluster states its grouping rule in a sentence. A technician can inspect the fields behind the group before linking requests or associating a problem.

Bring the existing feature into the model

I folded Problem Prediction into a predefined analysis: its rule stays locked while its actions remain editable. This gives the existing feature a place in the same configuration model.

Try it · watch incidents group by their rule.

What shipped. Several analyses, AI-written names with a choice of provider, linking requests, associating a problem, and notifications. Announcements, creating a problem, major-incident escalation and anomaly detection were designed beyond this release.

Follow the design rounds and build review
  1. Wireframefrom product
  2. 1 Dec 2025Round 1: model cards, the analysis form
  3. 8 DecOne switch, AI provider, AI limited to naming
  4. 8 to 18 DecClusters explain themselves; full storyboard
  5. 24 Dec to 9 JanReview of the build, desktop to phone
  6. Jan to FebRelease fixes
  7. 12 Mar 2026Shipped as Cluster Analysis
02

Configure an agent action before it runs

October 2026 · designed, not yet released

The next task was delegation inside automation. Under Custom Actions, an admin creates an Agent Action that a business rule can run on a request. My work here is the action configuration flow, built on the team's Zia Agents platform.

Write the context

The admin describes the work and inserts request fields. Context Assist can draft a starting point that the admin can edit.

Map the tool inputs

Each tool parameter gets a value from a chosen request field. These mappings specify inputs; access is governed by the agent's execution identity and connections.

Inspect the saved configuration

Before selecting the action for a rule, the admin previews the agent, context template and parameter mappings. This preview does not resolve a live request's field values.

The execution boundary. The supporting agent configuration distinguishes a user's identity from a shared-admin identity. Automation uses a shared-admin connection. Saving an action configures future execution; it does not ask a person to approve every subsequent run.

Inspect the original Context Assist and identity controls

The retained enhancement file shows both decisions: replace or append the context draft, and distinguish Ask Zia's user identity from automation's shared-admin connection. These are original design controls, separate from the reconstruction below.

Original Context Assist design: a task prompt, suggestions, Replace it or Add to the end, and GenerateOriginal agent setup: audience selection, User or Shared admin identity for Ask Zia, and a separate warning that automation uses the shared-admin connection
Original Context Assist design. Choose whether a generated draft replaces the current context or is added to its end.

Try it · choose an agent, draft its context, map its inputs, then save and select it for a rule.

The form an admin fills in under Custom Actions, the Context Assist that drafts the context, and the same action as a trigger picks it.

03

Review the source and the proposal

Supporting design decisions · 2024 to 2026

Generated content enters an existing workflow. The important choices are which information it uses, what the person can change, and when the result becomes part of the record.

Resolution Generator: choose past resolutions, the last five conversations or selected conversations before Generate; Add Resolution starts disabledOriginal Workflow Assist brief editor, with drafted lifecycle stages and an instruction to review or edit before drawingSmart collaboration round one against round two with a labelled action and reason
Original Figma design, dialog only. Choose a source before Generate; Add Resolution starts disabled.

Choose the resolution source

The resolution generator offers past resolutions, recent conversations or selected conversations. Generate creates a draft; adding the resolution is a separate step.

Edit the brief before drawing

My retained Workflow Assist design proposes an editable brief before Draw Workflow and explains when the selected model cannot chat. The Cloud capability is released; delivery of this exact brief revision is unverified.

Name the suggested action

My first smart-collaboration round added people without explaining it. I revised it to a named action, with a Zia suggestion badge and the rule behind each suggestion.

A related checklist flow distinguishes adding generated items from replacing existing items, with a warning before replacement. The review step belongs at the point where existing work changes.

Read the provider setup and prediction trail

The retained DeepSeek and Gemini designs separate connecting a provider from choosing it for a feature. The prediction history then keeps the provider visible beside the result.

Configure the connection

The integration dialog collects an organisation name, model and API key.

Choose it for a feature

The provider picker names Request Auto Approval in its heading. The choice is attached to that feature, rather than left implicit in the integration setup.

Keep the result inspectable

View Predictions pairs the inferred approval action with the sentence it came from and a provider label. The record shows what was inferred, from what text, and by which provider.

Supporting design evidence. Delivery of these exact revisions, production data handling and measured prediction quality have not been established here.

04

Keep the assistant beside the work

Ask Zia and answer feedback

I led the Ask Zia pane in the new UI, moving the assistant from a separate destination to a surface beside the current page. Its available skills change with the page: Approaching SLA on Requests, for example, and Stalled Problems on Home.

Ask Zia beside the request list: Plan my day, What needs attention, Approaching SLA, Spot patternsAsk Zia beside the Home workspace: Plan my day, What needs attention, Spot patterns, Stalled Problems
Same pane, two pages, lab build. On Requests it offers Approaching SLA; on Home, Stalled Problems.

Give an unsatisfactory answer a response path. The feedback designs pair Like with Dislike, then offer Irrelevant, Incorrect, Incomplete or Other and a comment. Designed November 2025 to February 2026; the widget shipped September 2026. The interaction captures feedback; it does not establish what happens to that feedback later.

Try it · dislike the answer, choose a reason, and submit.

Like is one tap. Dislike opens reasons and a comment, then acknowledges the feedback.

05

The earlier decisions behind this work

2020 to 2026

The same questions appeared before agents: how to show prediction quality, make an inferred action inspectable, and provide an outcome when the model cannot answer.

Prediction settings and auditable approval replies

The 2020 settings showed accuracy per prediction, individual switches and training time. The 2023 approval audit paired the original sentence with the inferred action and included Unable to Predict as an outcome.

2020 Zia admin page: accuracy dial and switch per prediction, the model's limit in a sentence, nightly training2023 Zia approvals list: the email sentence, the inferred action, thumbs up or down, Unable to Predict with Train ZiaView Predictions: Rejected, Approved and Pending Clarification, each with the sentence it came from
2020. Accuracy per prediction.
Where this work sits in the wider Zia platform

This map describes the team's platform. My case study covers the specific flows and decisions above; the existing agent platform and the wider feature catalogue are team work.

Beside the work

  • Ask Zia side pane
  • Contextual Ask Zia on the request
  • Sentiment and request summary
  • Zia agents called from Ask Zia; Agent Actions for automation are designed, not released

Inside a record

  • Prediction settings and accuracy per prediction
  • Similar requests
  • Collaborator suggestion
  • Resolution assist
  • Approval auto action

For admins

  • Cluster analysis
  • Workflow Assist: released capability, retained brief design shown
  • 12 GenAI features, each on a choice of model
  • Agents, built in and custom, 31 Mar 2026

Named released examples from this work include: request auto approval, resolution assist, suggested solutions, Cluster Analysis, and Like and Dislike on Ask Zia answers.

Teaching agentic AI

I built and taught a two-hour seminar on 29 July 2026 to 150 students and 4 faculty. It follows retrieval, tool calls and an agent adapting its next step. View the seminar deck and speaker notes.

06

What I can demonstrate, and what I would measure next

The design and release evidence shows the configuration, inspection and feedback paths. It does not tell me whether technicians handle an outage with less repeated work, or whether answer feedback leads to better responses. The first measures I would request are tickets grouped per cluster and the share of Ask Zia answers receiving feedback, by page. I asked for these on 13 October 2026; neither is available to me.

← All work

2021 to 2026 · Automation rules, then Workflow Assist

Automation you can see

An admin needs to know when a rule runs and what it allows to run next. I redesigned automation rules around the request lifecycle, with explicit timing and cascade choices. My Workflow Assist designs put an editable brief before generation.

People
Admins configuring request workflows and external actions
My part
Led the rules canvas in 2021 to 2022 and Workflow Assist in 2025 to 2026, with product and engineering
Scope
Execution timing, rule groups, cascade choices and generated workflow review
Status
Lifecycle-based request workflows shipped in build 15200 (2025). Workflow Assist released in Cloud in September 2025; the exact retained brief revision is not mapped to a release

Three decisions that carry the story

  • Put timing on the drawing. During and After groups explain where a rule belongs in the request lifecycle.
  • Expose the cascade. The admin chooses whether to run the next rule, skip the group or skip all remaining rules.
  • Keep the list as an index. The canvas explains a workflow; the list still helps admins find a rule.

The problem

A list of rules did not expose their place in a request's life or the effect on later rules.

Evidence

Shipped 2025

Designed in 2021 to 2022; released when the lifecycle model supported it. This is delivery evidence, not a measured reduction in configuration errors.

2021: automation rules as a list of rows2022: the request lifecycle as a canvas, rules inserted between statuses
2021, rules as rows. 2022, the request lifecycle as a canvas, rules inserted between statuses.
01

Make execution order inspectable

Position is the trigger

A plus between any two statuses is where a rule goes. The drawing shows the rule in the part of the lifecycle where it executes.

Separate During from After

A During rule runs while the request is in a status; an After rule runs when it leaves. Each lives in a named group on the canvas.

The cascade is a choice

Every rule declares when it may run and what happens to the rules after it: run the next, skip this group, or skip all.

Actions by where they come from

Product actions, other ManageEngine products, third-party flows and scripts, so an admin knows whether an action leaves the suite before choosing it.

What it cost. An admin with many rules lost the one-screen scan of a list. So the list stayed, as the index of rule groups, with a link to the drawing: a canvas for understanding, a list for finding.

Illustrated · try each choice

During rule panel with execution timing and cascade optionsAn approval rule drawn on the canvas with conditions, approval levels and an external flow
Timing and cascade, on the rule itself.
Explore a complete lifecycle canvas
The full asset provisioning lifecycle with nested rule groups
A whole lifecycle expanded. Pick a step to zoom in; the full canvas is one click away.
02

Review a generated workflow before drawing it

Workflow Assist · retained brief design and separate release evidence

The retained designs put a brief before Draw Workflow. It names the lifecycle and stages the model proposes to create, then lets the person review and edit them.

Original Workflow Assist brief editor: a drafted change workflow with an instruction to modify it before drawing in the canvasWorkflow Assist in the workflow editor on a lab build, beside a workflow it drew
Original Figma design: the editable brief, isolated from the surrounding screen. Review or edit it before choosing Draw Workflow.
Read the original brief excerpt

Source text excerpt · retained design

Based on your prompt, we've drafted a brief. You can modify it before drawing in the canvas.

Draft title
Normal Change Workflow for Firewall Rule Update
Lifecycle listed in the draft
submission, planning, cab_evaluation, implementation, uat, review, release, close

Selected text transcribed from the retained design. The full original is available in the website gallery. This is an example draft for review, not a validated or executed change workflow.

Release evidence. ManageEngine lists Workflow Assist in its 10 September 2025 Cloud release notes, with wider availability on 1 July 2026. That establishes the capability's release, not which retained brief-design revision shipped.

03

The delivery constraint and the next evaluation

The canvas design depended on request workflows supporting the lifecycle model, which arrived in build 15200 in 2025. To evaluate the design next, I would ask admins to identify execution order and predict the effect of each cascade choice, then compare task completion and configuration errors with the old list. Those results are not available here.

← All work

2017 to 2026 · Customisation, on-premise and Cloud

Handing customers the controls

Admins need to adapt a shared product to their organisation's process and skills. I designed dashboard composition, portal customisation and custom-module approvals, then contributed to custom pages in the new UI. The decisions range from a scalable module picker to choosing an editor by skill.

People
Admins configuring dashboards, module approvals and requester portals
My part
Led dashboard, portal and custom-module approval designs with product and engineering. Contributed to the team's custom-page work
Scope
Configuration that scales across modules and supports different admin skills, 2017 to 2026
Status
Dashboards and portal customisation: retained designs. Custom-module approvals: designed 2023 to 2024. Custom pages: part of the announced new Cloud UI

Three decisions that carry the story

  • Use one configuration model as modules grow. A module picker replaces layouts for zero, one or many custom modules.
  • Name editors by the work they support. Drag and drop or code communicates the choice more clearly than Basic or Advanced.
  • Let the customer compose the dashboard. A widget can be ours or an external page.

The problem

Customers with different processes need useful configuration without a new bespoke setup layout for each variation.

Design revision

One layout

One row and a module picker replace separate approval-email layouts. Designed 2023 to 2024; release unverified.

01

Replace three layouts with one module picker

Custom-module approvals · designed 2023 to 2024

I redesigned email configuration for custom-module approvals around one row with a module picker. The first round had separate layouts for no custom modules, one and many. The approval loop follows the model in the approvals case.

Round 1 with no custom modules: only the standard approval notificationsRound 1 with one custom module: a Hotel Booking section with its own approval emailRound 1 with many custom modules: one section per module, the list grows with every moduleRound 2: one Email Template for Custom module row with a module picker listing Asset Booking, Hotel Booking and Loan Approval
Round 1, no custom modules. Only the standard approval notifications.
02

Help an admin choose the right portal editor

Portal customisation · led

I changed the editor choice from broad Basic and Advanced labels to the editing method and skills involved. The earlier draft offered predefined widgets and themes, or Zoho Creator customisation. The later design distinguished templates requiring minimal HTML from drag and drop without coding. The drafts show the design change; the exact shipped revision is not mapped.

Earlier portal editor choice: Basic offers predefined widgets and themes; Advanced uses Zoho CreatorLater portal editor choice: Code Based uses templates and minimal HTML; GUI Based uses drag and drop without coding
Earlier draft: predefined widgets and themes, or Zoho Creator customisation.
03

Let the customer compose and share a dashboard

Dashboard design · led

Many versions of the on-premise dashboard, around one idea: the customer, not the product, decides what is on it. A widget can be ours or an external page added by name and address; a dashboard can be private, public or shared with chosen roles, or marked as an executive dashboard.

2017 New Dashboard dialog with executive dashboard, external widgets and sharing
04

Extend the model to pages within the product

Custom pages · contributed

I contributed to the team's custom-page work. 10 of 78 written launch answers asked for custom or landing pages. This records interest in the team's capability, not adoption.

The new Cloud UI takes it furthest: a module can open on a configured page, assembled from custom widgets, for technicians and requesters separately. In the demo, 13 modules open on one of 21 pages. These are demonstration counts.

Setup, Custom Pages: pages by moduleVIP Desk demonstration page opening on Requests inside the product
Setup › Developer Space › Custom Pages.
05

The next question is maintainability

Configuration gives customers more control and creates more combinations to explain and support. I would evaluate whether an admin can choose an editor, configure approvals for a new module and revise an existing dashboard without assistance. The available designs show those paths; completion rates and support impact have not been measured here.

← All work

Jul to Oct 2026 · Design tooling, built with AI

How I check a screen before review

One of my checks passed while measuring nothing on most pages. Repairing it exposed defects the green result had hidden. This case follows how I rebuilt a product interface to inspect it, traced contrast failures to shared colours, and made the checks demonstrate what they could catch.

People
Me as a designer checking reconstructed screens and library changes
My part
Built the working replica and verification pipeline, with Claude Code as the engineering pair. Evaluated through my own use
Scope
Rendered comparison, contrast checks, coverage and deliberate failure cases, July to October 2026
Status
Working internal prototype and recorded measurements on my replica. No product-wide compliance or team productivity outcome is claimed

Three decisions that carry the story

  • Check coverage before trusting a pass. A comparison with no measured targets must be treated as missing evidence.
  • Trace repeated defects to their source. Shared colour failures can point to a smaller set of decisions to inspect.
  • Prove the detector can fail. Plant the defect a check is intended to catch and require it to report the problem.

The problem

A green check looked convincing while leaving most of the replica unmeasured.

Evidence

124 defects

Found on 29 replica pages after repairing a check with no comparisons on 69 of 73 pages. This measures my pipeline.

01

Find what the green result had missed

A check reported success while it had nothing to compare on 69 of 73 pages. Repairing the coverage exposed 124 defects on 29 pages. The lesson was to distinguish a completed measurement from a completed process: a process can exit successfully without inspecting the intended target.

I changed the checking method so a deliberate defect must trigger the relevant failure. This portfolio uses the same principle for its own gates; the colophon explains what they cover.

02

Build a reference I could inspect in the browser

I built a static, working replica: 73 pages with list, detail and create views, Setup, three themes, six accents, phone and tablet widths. My working loop was to read the live build, write a dated note, rebuild and check in all three themes. The correction log runs to 262 dated entries and keeps its own mistakes on purpose.

The replica census: observation coverage marked live-verified, replica-only, drifted, partially verified or unavailable
The census records observation coverage: live-verified, replica-only, drifted, partially verified or unavailable. Live verification is separate from review and readiness for reuse.
03

Trace contrast failures to shared colour decisions

The sweep covered 60 replica pages in three themes. Of 415 text contrast failures, 388 came from ten text colours. That narrowed where to investigate; every shared correction still needed a check of the affected pages.

Explore the recorded contrast-sweep counts

Recorded contrast sweep of the working replica, with repeated failures traced to shared text colours
Measurements from my working replica. They do not establish the production product's accessibility.

I separated changes to my kit from colours that matched the product and needed to be reported to its team. The foundations case study explains that boundary and the reusable colour decisions.

04

State the limit of the evidence

I have used this method on my own replica. The next useful evaluation is another designer checking a real change: which defects they find, which escape, and how long verification takes. A passing pipeline is evidence about the checks it ran, not a guarantee that the screen is correct.

← All work

About

Enterprise workflows, now with AI

I am a senior product designer at Zoho / ManageEngine. Since 2015, my work on ServiceDesk Plus has grown from visual design to complex workflows, Cloud interactions and Zia. Today I design how IT teams configure AI, inspect its suggestions and decide what happens next.

I led Cluster Analysis from design rounds through build review, and designed the Agent Actions configuration flow. In the new Cloud UI I led peek view, the tree view, the Setup reorganisation and the Ask Zia pane. Explore the AI work · See the Cloud work

01

What I bring to AI work

Understand the work around the answer

Years of approvals, business rules and admin configuration shape where I put AI. An agent action needs a context template, tool inputs and an execution identity before a rule can use it.

Make a suggestion inspectable

Cluster Analysis keeps the grouping rule visible. Resolution generation starts with a source choice. Workflow Assist offers an editable brief. These are different review points for different tasks.

Carry the design into the build

I review developer builds across desktop, tablet and phone, and review junior designers' work. Preserved design rounds and annotated captures show how a decision changes during implementation.

Check what a result establishes

A delivery date establishes that work shipped. A replica check describes that replica. I keep those separate from customer outcomes and name the usage data still needed.

02

Working with others

Most features begin with a product manager bringing what customers asked for. We work out the shape together, with a developer in the room early to say what the framework can return. On the Cloud team a UX researcher takes the requirement apart before anything is drawn.

I became a senior product designer in 2022 and joined the small Cloud design team in 2024. I am a Certified Usability Analyst (HFI CUA).

03

Teaching and talks

I wrote the feature decks for the 2023 user conference and gave the design team a talk on accessibility in 2025. On 29 July 2026 I ran a two-hour seminar on agentic AI for 150 students and 4 faculty at an engineering college: next-token prediction, why models invent answers, retrieval with citations, tool calls and agents. It included a from-scratch retrieval demo. The linked portfolio edition revises the explanations and examples, adds primary references, and offers slides or a reading view with speaker notes. It is not a verbatim record of the session.

Presenting the agentic AI seminar beside a projected slide
The agentic AI seminar, 2026. Open the revised teaching deck
04

Range

Four product contexts: ServiceDesk Plus, AssetExplorer, FacilityDesk, and embedded experiences such as AssetExplorer inside Zendesk and Microsoft Teams inside the ServiceDesk Plus ticket. I work in Figma and FigJam, with earlier work in XD and Axure. I use Python for measurement tools and AI coding assistants for prototypes and checks. The colour comparison tool, Figma library and portfolio demonstrations show that work in context.

AssetExplorer sidebar app inside the Zendesk agent workspace
AssetExplorer inside Zendesk, drawn in Zendesk's own conventions.

The colophon describes the site checks and their limits.

Screens on this site come from demo accounts with sample data; people's names are replaced with sample names. The prototypes are my own builds on the product's design tokens, with sample personas, and none of them is the product's code.

Let's talk

Open to senior and lead roles designing how people and AI agents work together, in enterprise and AI products. Based in Chennai (IST, UTC+5:30), open to remote work.

← All work

Colophon · October 2026

How this site is built, how it is checked, and what it does not prove

This portfolio runs on the token file of the design system I built for ServiceDesk Plus. Static gates check each build; separate browser runs check layouts, interactions and rendered text. Two planted defects verify that the name and claim gates can fail. Here is the scope of that evidence.

01

How it is built

Two layers

The engine that built the previous version: one static HTML file for every route, a small script, no dependencies. On top of it, this round's layer: a theme and accent state on the document, a shelf that frames every prototype, a ledger that explains marked headline figures, and Preferences in the nav.

Every prototype takes its colours from one generated file. In Darker the rest of the page does too, and so does every accent except maroon, which stays the site's own. I built the SDP design system in Harmony, the company's Figma design system, and exported its token file; a build step keeps only the names this site's CSS uses and writes a copy into the page. The counts Preferences prints, 699 tokens in the root, 466 changed by dark, 484 by darker and 22 by an accent, plus its focus ring, are computed from that file at build time, never typed.

The prototypes are the portfolio's own builds on those tokens: peek view, the view switcher, the approval, the agent action and the feedback tile. Sample data, sample personas, Public Sans rather than the product's font, and none of it is the product's code. The homepage uses a still from the Cluster Analysis design. Project previews use the source screens, with titles rendered as page text. The Cloud story retains its before-and-after clips and optional launch footage. Product footage comes from demo accounts; design screens are labelled separately. Screenshots and recordings retain their source colours in every display theme. Preferences change the page and the interactive examples.

02

How it is checked

Gates that must be able to fail

The page is written only when every gate passes. A string gate reads the finished page, entities decoded, against the configured list of names, internal hosts, demo tenants, request identifiers and throwaway prototype values. A separate browser run checks selected routes, widths and themes; its OCR pass reads the resulting captures and referenced images against the same list. Coverage is recorded with each run. An asset gate checks that local references exist; packaging then collects the required files.

The ledger check reads headline figures in the configured facts, results and shipped strips and fails if a required claim is missing or an id has no row. The figure links to a record containing its baseline, method, caveat, source, period and permission. The gate checks required links, not the figure's meaning or source accuracy.

Two fixtures are planted on purpose: a prototype row carrying a colleague's name, and a facts strip figure with no ledger id. The self-test builds each in turn and asserts that the build fails, then runs the clean build and asserts that it passes. The planted defects are counted from the fixture files, so that figure is computed too. There is also a weight budget: the home page must paint under 1.5 MB before anything is clicked, measured in a fresh browser profile on every shoot.

03

What it does not prove

Read before trusting a number

Usage data for the new UI, the Ask Zia feedback widget and Cluster Analysis was not available to me when I asked on 13 October 2026. Delivery dates, design observations and replica checks do not establish customer outcomes. The cases retain "Not measured yet" cards naming the missing measures and what an evaluation would need.

"Reused" never becomes "adopted". A decision table that links to another step means I carried the same model there; nothing totals those links.

The token counts describe the generated CSS, not the 1,052 Figma variables in the 1 October 2026 census; the two are different measurements. The 388 of 415 contrast sweep ran on 60 pages of my working replica of the new UI, not on the product, and the replica itself is not packaged here: not its shell, not a view, not its CSS.

The marks say where a figure came from: a filled dot is shipped, with a release note or build number; a ring is design evidence, with release status stated in the case; a square is measured on my own artefact, a replica or a library. A design file alone does not establish whether its revision shipped. Figures with no mark carry only their card. The legend on About switches each kind off.

04

What the AI got wrong

Found because this site consumed the file

The token file was generated with an AI pair, and consuming it here found what reading it would not. Four easing tokens were emitted without commas, as cubic-bezier(0.4 0 0.2 1), which a browser ignores; the build adds the commas in its copy and the source is untouched and reported. A draft of the Preferences counter wrote the per-accent change as 23; the block holds 22 and the focus ring is declared elsewhere, which is why the counts are computed.

The two build fixtures check specific failure paths. They do not validate every gate or establish complete accessibility. The reason for testing coverage is a check that once read green while measuring too little, told in the verification story.

05

Credits and clearance

Developed with Claude Code and Codex as AI engineering and editorial assistants. The case studies distinguish my product design contribution from team work; the portfolio prototypes are reconstructions, and their limits are stated beside them. Type: Fraunces, Public Sans and IBM Plex Mono. The page's neutrals are the 14‑step grey ramp from the colour story.

The bundle contains the portfolio's own code. Interactive examples use illustrative records and personas; screenshots document historical designs and lab builds. The checks above describe what was inspected and the limits of that evidence.

← Work

Archive · 2015 to 2026

Eleven years, one product

Everything the seven stories leave out: what each year was about, eleven threads, eighteen modules, the shorter pieces and the tools. Each thread shows its summary; open the ones you want. Open any screen to enlarge it.

Three habits

Recurring decisions across released and designed work

Habit 1 of 3

Permit the override, then make it accountable

I kept designing the same loop across freeze-window controls and collision designs: allow the exception, record who took it, tell the people who carry the risk. In 2018 the freeze-window override left a marker on the change's downtime row that named the person and the time. In 2023 a notification rule reached the change roles when a conflicted freeze window was ignored. In 2025, on collision detection, a collision is either Detected or Ignored, the ignored one carries its explanation, and Notify Users sits directly above the list.

Three panels stacked: the first freeze window overridden tooltip naming who and when on a change downtime row; the 2023 notification template Notify Change roles when a conflicted Freeze window is ignored; the 2025 collisions list with Detected and Ignored statuses and a Notify Users button
2018, 2023, 2025. Three features, three mechanisms, one argument: the override is allowed, recorded and reported.

Habit 2 of 3

Rules as objects, not sentences

Notification settings used to be a column of sentences, one row per event and channel, each with its own template link. I turned it into a grid: events down the side, channels across the top, a cell to switch on and a pencil to edit that cell's template. A new channel arrives as a column, not a section. The same move worked on logic: a conditional action that lived inside one form rule became a named object in a library, with what it applies to, its related workflows, a status and a usage count, so you can see where a rule is used before you change it.

Left: the old notification rules list, one row per event and channel with a Customize template link on each. Right: the revamped event-by-channel matrix with channel columns across the top and a per-cell edit pencil
Sentences to a matrix. Left, one row per event and channel. Right, events down, channels across, edit per cell.
Left: a conditional action embedded inside a single Field and Form Rule. Right: Conditional Actions as a library page with action name, applies to, related workflows and a status toggle
A fragment becomes an object. The rule on the right knows where it is used; the one on the left did not exist outside its form.

Habit 3 of 3

Show what a preset changes

This design starts with ten named presets, including ADHD Friendly, Astigmatism and Dyslexia Friendly. Preset details disclose their controls. The original ADHD Friendly detail specifies a focus ring, underlined links and a medium reading mask. The panel presents these bundles as starting points to personalise; individual controls sit below under Vision, Hearing and Mobility. The entry point sits beside Night Mode.

The 2024 Accessibility Controls panel: ten personas, from ADHD Friendly to Seizure Safe, then Vision, Hearing and Mobility
Ten personas, then the controls grouped under Vision, Hearing and Mobility. Each persona discloses what it turns on.

Year by year

What each year was about

One line per year, so the shape of the career is visible before any of the detail. The tools change twice. The habit of designing the consequence before the click never does.

2015
Photoshop · blue chrome
CMDB Configuration Item Types and Notifications. The first before-and-after, and the first cascade-delete warning.
2016
Photoshop
Requests list redesign, Request Select, Assign, User Online and Offline presence, Support Docs.
2017
Photoshop · first volume
Customize Dashboard (widget grid), Need More Info state, Change Workflow, SNMP, Announcements, Concurrent Login, Sandbox.
2018
Adobe XD adopted
Freeze Window origin, Service Catalog v2 to v6 and Revamp, Software Metering, Resource Utilisation, five icon sets.
2019
Adobe XD
Asset Alerts, Service Catalog v7, Org Admin, Performance Settings and Project Preview.
2020
Adobe XD
Asset Reservation, XD v1 to v11. Two Factor Authentication, SAML, Zia Configurations, Theme Settings.
2021
Adobe XD · most fragmented
Dark Mode across the product, Timer Actions, Invoke Actions, Field and Form Rules (FAFR), New Request Details, Zia Admin and Bot, Agile Project, Cost, Portal Customisation.
2022
Figma begins
Automation Rules revamp, Embed Zia, New Action Gallery, Nav Bar Standardisation, Contracts, Timesheet, Asset Booking icons.
2023
XD to Figma transition
Threaded and medium-agnostic conversations, WhatsApp channel, user-defined fields (UDF), Custom View, Approval Rules and Templates, Similarity Prediction, Dark Mode Latest, Premium Support, Onboarding. The Delta E colour tool is written.
2024
Figma
Need Clarification and Zia Need Clarification, Freeze Window revisited, Invoke Action and Custom Triggers, Customisation Page, Accessibility Controls, SDP Design System Beta 1.0 and UI Kit 3.0, the colour spec.
2025
Figma · AI features
Conflict Detection, Combined Calendar, Rack Viz, Workflow Assist, Resolution Generator, Suggested Solutions and RAG, Finance and ESM portals, model testing on Gemini and DeepSeek.
2026
Figma · agents and code
CAB Workbench, SNMP Field Configuration, Software Metering revamp, Predictive Analysis and Anomaly Detection, MS Teams and Zendesk embeds, MEDS (ManageEngine Design Studio) coded kit, Tester AI, and a two-hour Agentic AI seminar delivered to an engineering college.

The threads

Eleven threads, one problem each

Most portfolio pieces are a project. These are threads: the same problem returned to across releases, tools and teams, so the evolution itself is the evidence. The ninth steps outside the product entirely, and the tenth is the product itself, before and after. Open any screen to enlarge it.

01 · Prologue · CMDB

The port that started a habit

Configuration Item Types, moved from AssetExplorer into ServiceDesk Plus. A deep expanded tree with a wall of help text became a flat, scannable list. The flattening removed the visual parent-child cue, so the second version added a warning: deleting CI type IP phone will delete 4 child CI types. Naming the consequence before the click became a reflex that appears in almost every thread that follows.

2015My first project
Two versions, one lesson kept for eleven years
AssetExplorer CI types as a deep expanded tree with long help text
BeforeThe AssetExplorer tree, help text open by default.
Version 1: a flat list of CI types in the ServiceDesk Plus shell
v1Flat list in the SDP shell, help collapsed to one card.
Version 2: cascade delete warning dialog
v2The cascade-delete warning the flat list made necessary.

02 · Requests and Approvals

Asking for what is missing

A ticket that cannot proceed without more information is the most common stall in a service desk. This thread starts as a third radio button on a portal approval in 2016 and ends in 2024 as Need Clarification on multi-level change approvals: three response states, numbered levels, a requester exit and an admin rule for silence.

2016 to 2024Eight years, seven passes
From one radio button to a state machine
YearPassWhat changed
2016Need More Info, portal approvalA third radio beside Approve and Reject, a choice of who to ask, a comment box, a mail. Nobody can see what happened next.
2017Need More InfoOne state on a request. The technician asks, the requester replies, the ticket resumes.
2019 to 2021Need More Info, three roundsThe state gets its own conversation surface, reply tracking and a resolved transition (NMI to Resolved).
2022NMI corrections and SVG setIconography settled; the state becomes a first-class marker in lists.
2024Need More Info, ChangeThe approver's side: an All My Pending Approvals panel across Requests and Changes, and the collision case when another approver has already asked.
2024Need ClarificationApprover conversations threaded by approval level, a Response Status roster showing each approver as Replied or No Response, roles tagged.
2024Zia Need ClarificationNeed Clarification becomes an inferred approval action, with feedback and training controls for incorrect or unavailable predictions.

The question stayed the same for eight years. What matured was who is asking, how many people are waiting on the answer, and what happens when two of them ask at once.

2016 portal approval pop-up with Need More Info as a radio option, beside the 2024 Response Status roster of twelve people asked, in three states
2016 and 2024One radio button, then twelve people asked, each with a state.
Response Status popover listing twelve people asked, marked No Response, Replied or Resolved
2024Response Status: No Response, Replied, Resolved, with roles tagged.
Requester view with an Add Reply box and a checked Resolved box reading I have provided the required information, please proceed for approval
2024The requester's exit: one checkbox closes the loop.

Full write-up. The full story is Approvals and change, one model for ten years, with the approver, requester and admin sides and the timeout policy.

03 · Change and Release

Change scheduling and collision

Freeze windows say when nothing may change. Collisions are when two changes want the same window anyway. The CAB Workbench is where a board decides. Three separate features on one problem space I kept returning to.

2018 to 2026Three features, one problem space; conflict detection and CAB shown as designs, delivery unverified here
Freeze rules, collision detection, a board workspace
2018 · Freeze WindowThe first design. A freeze is a rule with a schedule and the services it applies to.
2024 · Freeze Window revisitedThe panel now reports 1 Date Collision Found and splits colliding windows from upcoming ones (Weekly, Monthly, Quarterly, Year End), ending in Reschedule.
2025 · Conflict DetectionA Collisions Detected dialog over the change calendar, with Collision and Freeze bars marked in place. Per-change Conflicts section lists downtime and release schedules that clash.
2025 · Combined CalendarRelease schedules and the schedules of their associated changes on one calendar, with freeze-window conflicts surfaced inline.
2026 · CAB WorkbenchA meeting workspace: schedule a review, split the standing board from the attendees summoned for one change, move pending changes onto the agenda, run the meeting. Five rounds.
Freeze window configuration, 2018
2018The first freeze-window design.
Freeze window collision panel, 2024
2024Freeze window revisited with a collision report.
Collisions Detected dialog over the change calendar
2025Collisions Detected over the change calendar.
Conflicts section on a change record
2025Conflicts on the change record itself.
New CAB Schedule dialog
2026New CAB Schedule: board members and change attendees kept apart.
CAB meeting workspace
2026The meeting workspace, the newest work here.

04 · Service Catalog

A module owned across versions

The service catalogue is the storefront of a service desk: what a requester can ask for, grouped and pictured. I carried it from v2 through v7 and its 2019 and 2020 refreshes, and drew the icon system that made a few hundred services recognisable at a glance, in light and later in dark.

2018 to 2021Six versions of one module
700+ icons drawn for it, light and dark
Service Catalog v2, 2018
v2 · 2018Category grid, icons doing the wayfinding.
Service Catalog v6, 2018
v6 · 2018Denser, search first.
Service Catalog v7, 2019
v7 · 2019The settled layout that shipped.
Contact sheet of dark-mode service catalog icons
202140 of the 375 dark-mode catalogue icons.

05 · Assets

Asset Reservation, eleven versions deep

Booking a shared asset (a projector, a loaner laptop, a room) is a calendar problem wearing an asset-management costume. I kept an unbroken XD version chain from the base file to Final v11, followed by a booking empty state, corrections, and user and technician workflow diagrams in 2023 and 2024.

2018 to 2024Eleven versions, every source kept
Asset Reservation XD base file, all artboards
XD baseEvery artboard of the first file at fit zoom.
Asset Reservation XD Final v5, all artboards
Final v5Mid-chain. Flows split and multiply.
Asset Reservation XD Final v11, all artboards
Final v11The last source. Fewer, longer flows.
Asset reservation calendar screen, v6 export
v6 exportReservation calendar with availability per asset.
Asset booking screen, 2023 export
2023The booking flow as it stood five years on.

The kept versions let me compare how the calendar, asset availability and the approval flow evolved through the design.

06 · Foundations

The 1,457 colours

ServiceDesk Plus had 1,457 distinct hex values in it, including 453 greys. Nobody chose 453 greys; they arrived one screen at a time. Instead of arguing for a palette, I wrote an instrument: a Python script that compares the production values with a proposed palette using CIEDE2000. The recorded implementation matches in order at a chosen threshold, rather than optimising for the globally nearest colour. A threshold of 2 screened candidate substitutions; it did not guarantee that a change would be invisible.

2023 to 2024Self-directed, nobody asked
Became the colour spec
# the one-character change between v1 and v2
deltaE_val = 2      # v1: 199 of 453 greys matched, 254 excluded
deltaE_val = 2.5    # v2: 229 matched, 224 excluded

The recorded full-set run matched 199 of 453 greys at a threshold of 2, leaving 254 unmatched; at 2.5 it matched 229 and left 224. These were candidate matches for review. The unmatched values helped identify where additional ramps were needed. The foundations case separates this measurement from the final library.

The 453 extracted production greys next to a proposed 14‑step ramp
Problem453 extracted greys and the proposed 14‑step comparison ramp.
Delta E tool output table
InstrumentTool output: swatch, replacement, Delta E, WCAG luminance, click to copy.
Earlier working-set comparison of excluded colours
HonestyAn earlier working-set comparison. The full-set rerun excluded 254 greys at 2 and 224 at 2.5.
Cardinal ramp in the shipped colour spec with WCAG badges
Original specThe 2024 Cardinal ramp. Two RGB labels disagree with their hex values; the Foundations source check keeps the historical annotations separate from calculated values.

07 · Zia, the AI layer

Making AI suggestions inspectable

Zia has been in my work since 2020, through Zia Admin, Bot and Chat in 2021 and Embed Zia in 2022. The 2025 to 2026 designs show a recurring approach: make the action explicit, expose relevant sources or a short explanation, and give the person a way to respond when a suggestion is unhelpful. The four examples below document that design direction; they do not measure model accuracy or user trust. The AI case follows Cluster Analysis and Agent Actions in more depth.

2020 to 2026AI design history
Four examples of sources, explanation and feedback
Suggested SolutionsA right-hand panel on the new incident form with a Zia summary and the solution records it drew on. The no-answer state was designed from day one.
RAG-based Suggested SolutionsRetrieval-backed, with the exact solution records cited under every answer. Citation is the design move.
Smart CollaborationRound one: an unlabelled Zia icon that silently added chips. Round two: a labelled Suggest Collaborators action, a Suggested by Zia badge, and the reason for each suggestion. I reversed my own first version.
Collecting FeedbackThumbs-down opens Tell us what went wrong with Irrelevant, Incorrect, Incomplete, Other. Thumbs-up is one tap and one toast. The asymmetry is deliberate: negative feedback carries the signal.
Suggested Solutions panel on the new incident form
2025Suggested Solutions on New Incident.
Share Request dialog with an unlabelled Zia icon
Round 1The unlabelled Zia trigger.
Suggest Collaborators card with reasoning
Round 2Labelled action, badge, and the reason.
Tell us what went wrong feedback dialog
2026The interrogated negative.
Thumbs up confirmation toast
2026The quiet positive: one tap, one toast.

After shipping. ManageEngine's September 2025 release named solution recommendations and Ask Zia as shipped cloud capabilities. Its 2025 review reports 150,000+ customer GenAI invocations and 15 million+ Zia predictions across the suite. Suite figures, not this work.

The rest of the Zia thread, 2020 to 2026: Zia Configurations, Zia Admin, Bot Admin Phase 2, Chat and Missed Chats, Embed Zia in helpdesk and on third-party sites, Spanish support, Similarity Prediction (attach twenty near-identical tickets to the change causing them), Predictive Analysis admin with Cluster Analysis, Anomaly Detection on request volume, Resolution Assist, Workflow Assist, and per-model testing on Gemini and DeepSeek.

08 · Design system

A coded kit, and the checks it needed

Alongside the SDP Figma library, I built a coded replica and component kit for exploring AI-assisted screen generation. MEDS, the ManageEngine Design Studio, records component metadata and checks generated screens against a canonical shell. The counts below describe that coded kit during an August repair campaign. They are not the Harmony Figma library census, product adoption or evidence of pixel parity. Foundations covers the Figma library; verification covers the replica checks.

2026Coded replica and component metadata
Dated repair results, not a production audit
Coded kit repair, to 13 Aug 2026StartAfter
Manifested components144149
Live-verified against the product3671
Entries flagged by the recorded drift check260

On one date a model-based verifier missed two silent off-by-one anchors. The fix was not a better prompt. It was a rule: deterministic problems get deterministic checks, and the model is the wrong tool for a line-number comparison.

MEDS component census dashboard
CensusEvidence records, gate chips, verification bar. A recorded census of the coded kit, separate from the Figma library.
Canonical SDP shell replica rendering a workspace dashboard
ShellThe canonical shell replica, sample data.
Live run of the check-anchors gate passing on every family
Gatescheck-anchors running live. This one must stay at zero.
Manifest counts and repair table
Self-auditManifest counts and the repair table, machine-generated.

09 · Beyond the product · Teaching

Agentic AI, taught by building it in the open

In July 2026 I sat a two-hour online masterclass on agentic AI, then spent two days rebuilding its retrieval pipeline from scratch in plain Python, with no framework and no vendor SDK, so every step could be shown on screen. On 29 July I delivered that as a two-hour seminar, Agentic AI: From Software That Answers to Software That Acts, to the computer science department of an engineering college in Chennai. The live demo answered questions about the college's own rulebook, with page citations.

27 to 29 July 2026Learned, rebuilt, taught in three days
Two hours, students and faculty
Speaker beside the slide titled I asked it about my own college
The hookThe teaching example contrasts an unsupported regulation claim with an answer based on the supplied rulebook.
Teach the problem before the fixThe opening example shows a confident but unsupported answer, then introduces the source document before explaining the retrieval pipeline.
No framework on purposeThe masterclass used LangChain and a vector database. The seminar used requests and numpy, so the HTTP call and the cosine-similarity maths sit in plain sight. A teaching decision, not a technical one.
An inspectable source documentThe demo indexes a seven-page college rulebook and retains page numbers. A citation lets the reader check a passage; it does not establish that the answer is correct.
Design the closing beatThe recorded notes show an unrelated question scoring about 0.03 and receiving a non-answer. That illustrates one rejection case; it does not prove general reliability or a score-based refusal rule.
StepScriptWhat the audience sees
1extractA PDF is a layout format, not a text file. Text out, page numbers kept.
2chunkOverlapping chunks, and the overlap proved on screen. The torn page edge analogy.
3embedChunks become vectors in a batched embedding request. The saved vectors and page-labelled text form the retrieval index.
4searchA recorded clothing question retrieves the dress-code passage at 0.456 similarity. The score describes this query and index, not a general accuracy rate.
5askShow retrieved chunks and an answer with page citations, then inspect the prompt template that asks the model to use only that context.

A useful non-answer makes missing evidence visible. Citations, refusal behaviour and retrieval scores still need evaluation beyond a rehearsed teaching example.

Built and retained. The available demo index has 25 page-labelled chunks from the seven-page rulebook, with 25 saved vectors. Earlier notes mention 75 chunks; the current description follows the retained files. The code requests answers from retrieved context with page citations; it does not independently verify that each answer is supported. Tool-selected retrieval, planning and reflection remain unfinished follow-ons.

Teaching edition. The original seminar had 31 slides. Open the revised 32-slide portfolio edition, with primary references, speaker notes and a phone reading view. It is an edited explanation, not a verbatim record of the session. Supporting material includes a browser note-taker and the written primer Ground Truth: understand it first, then teach it.

10 · ServiceDesk Plus Cloud · the new UI

The same product, before and after

ServiceDesk Plus Cloud is being rebuilt as a new interface, announced to customers as the new UI. The brief the team set itself was plain: make the product easier, fix what customers told us was not good, and give them far more room to customise, up to their own widgets and their own pages. This is a team effort and I describe it as one. I moved to the Cloud team as one of a small number of designers; the foundations from earlier threads run through it, and I led peek view, the tree view, the Setup reorganisation and the Ask Zia pane. The pairs below are the two builds captured on the same day, on the same demo account, at the same screen.

2024 to 2026One product, two builds
Captured side by side, September 2026
Navigation you can readAn icon-only rail with six-point labels becomes a labelled sidebar. Home, Dashboard and Tasks are first-class destinations. Setup and Collapse live at the bottom where hands expect them.
Peek view: context stays putOpening a request no longer leaves the list. It peeks over the queue, which stays visible behind it, and expands to a full page only when asked. Opening a request can preserve the technician's place in the queue.
One list, many viewsThe filter-chip strip above the old list is folded into a breadcrumb and a view switcher: list, template, kanban, graph and tree share one toolbar. Status becomes a pill. Technician and Group edit inline on hover.
Colour with a ruleThe old dashboards used a different hue for every bar. The new ones draw from a single cobalt ramp, so colour means something again. That ramp is the output of the 1,457 colours thread.
A home that greets a personThe old home opened on a tab strip and a chart grid. The new Workspace opens on the technician: greeting, site, presence, then the four numbers that decide their morning.
Same information, less chromeCard borders, tab underlines and bottom-bar chat tools are gone or quieter. Type is larger. Rows are taller. The data did not change, only how hard it is to read.
Customisation without a request to usA new dashboard is built in place: pick a column layout, set it private or public, then add widgets from six families, canned, custom, graph, info, report and table. Custom widgets and custom pages mean a customer no longer waits for the product to add the view they need.

Home

Old ServiceDesk Plus Cloud home: icon rail, tab strip and a purchase dashboard with multicolour charts
BeforeHome opens on a tab strip and a chart grid. Six hues across six widgets.
New Workspace home: labelled sidebar, greeting hero with presence, KPI tiles for overdue and pending requests
AfterWorkspace opens on the person and their four numbers. Dashboards move to their own destination.

Requests list

Old requests list with a row of filter chips, dense table and bottom chat bar
BeforeFilter chips across the top, a dense table, chat tools along the bottom.
New requests list with breadcrumb, view switcher, status pills and inline editing on hover
AfterBreadcrumb, one toolbar with five view types, status as a pill, inline edit on hover.

Request details

Old request details as a full page with an associations rail
BeforeA request is a page. The list is gone until you go back.
New request details in peek view, opening over the list with the queue still visible behind
AfterPeek view: the request opens over the queue, which stays where it was. Expand when you need the room.

Why peek view matters

In the old build, opening a request replaced the queue. Peek view opens the request over the list; closing it returns to the same row. A related-record link opens another peek, and Expand promotes the current record to a full page. I kept always-on and on-demand modes to support different working preferences. The Cloud case study demonstrates the interaction; task-time results are not available.

The pattern is not specific to requests. Anywhere a list leads to a record, the same rule holds: never make someone lose their place to read one item. Dashboards are the obvious next home. Today a widget shows a count; a peek behind that count, listing the records it summarises, would let a manager go from a bar to the tickets inside it and back without leaving the dashboard. Approvals, CMDB relationships and calendar collisions have the same shape and would take the same treatment.

Tree view

The tree view is one of the four pieces of the new UI I led. It starts with a request list, splits it by a chosen field and keeps a count on each node. The captured demo view shows 351 requests split by category: Not Assigned, Printers and Internet. A branch can split again by another field, or open its requests as a filtered list. These are demo-account counts.

Tree view: 351 requests split by category into Not Assigned, Printers and Internet, each with its count
Tree viewDemo account: 351 requests from the displayed Last 30 days filter, split by category. A branch can split again by another field.
Dashboard customise panel: column layouts, private or public access, and six widget families
CustomiseColumn layout, access level, and six widget families including custom widgets.

Dashboard

New purchase dashboard with a dashboards side navigation and charts drawn from a single blue ramp
AfterThe purchase dashboard from the Home pair above, now drawn from one cobalt ramp, with every dashboard one click away on the left.

Nothing here is a mockup. Both columns are live builds of the same demo account, and the difference between them is the Cloud team's last two years of work.

11 · Discovery · SNMP

Inheritance you can see

Reading a network device over SNMP means telling the product what the device is and where every field lives, per product type, in a hierarchy. I first designed this in 2017 as a modal over a flat list. In 2026 I designed it again as an interactive Axure prototype: the product type each OID belongs to is a column, the fallback to the parent is a checkbox on every field, exclusions let a field refuse a bad answer, and Do Not Configure makes skipping a field an explicit choice.

2017 and 2026Two attempts, nine years apart
About 130 screens in three rounds, 2026
Left: the 2017 Configure OIDs modal over a flat field list. Right: the 2026 field configuration table with the product type each OID is configured for
2017 and 2026Same job. The 2026 table puts the hierarchy on the surface.
Field to OID mapping table for Cisco Switch with columns Field, OID Configured for, OID, Use Parent OID on No Response and Exclusions
2026Three inheritance levels readable in one column: All Assets, Switch, Cisco Switch.
Custom OID panel with the choices Do Not Configure, which skips the field for this product type, or Configure Custom OID
2026An explicit non-answer: skipping a field is a decision, not a gap.

Inheritance is not uniform across fields, so a global setting cannot express it. The fallback had to be per field.

Related history. The earlier and later designs appear under 2017 and 2026 on the timeline. All screens are a Zylker demo account; no adoption or scan-accuracy numbers exist for this work and none are claimed.

Module map

Eighteen modules, and what was designed in each

Everything that is not one of the eleven threads lives here. Years mark first and last touch.

Requests

2016 to 2026
  • List redesigns, Request Details v1 to v4 with a Buttons and Links spec
  • Threaded and medium-agnostic conversations; fork a thread to chat or WhatsApp
  • Participants, including the disabled-user case
  • @mentions in built-in chat
  • Time Tracker and worklog timers
  • Custom View filters and columns
  • Bcc, Reply All, Mark as Read, Import, Quick Task
  • Action Gallery inventory
  • Surveys

Change

2017 to 2026
  • Change Workflow; SDP and AE workflows
  • Freeze Window, Conflict Detection, Combined Calendar, CAB Workbench
  • Change approvals: Need More Info, Need Clarification
  • Bulk Close
  • Workflow Assist: author a workflow from a prompt
  • Change icon set

Release

2025 to 2026
  • Release Scheduler calendar
  • Release Engineer Prediction
  • Combined Calendar with associated changes

Problem

2026
  • Problem closure rules
  • Closure codes and the closure details modal
  • Problem Prediction card

Projects

2019 to 2026
  • Project Preview, Agile Project
  • Project Admin (Figma)
  • Resource Management Gantt QA pass

Assets and AssetExplorer

2015 to 2026
  • Asset Reservation and Booking; Asset Alerts; Automatic Asset Assignment
  • Software Metering, 2018 and the 2026 revamp with Reclaim License
  • Resource Utilisation, Resource Access rights
  • Asset Approvals and Allocation Details
  • Agentless removal, System Tools plugin, Windows agent configuration
  • Contracts, Cost, Timesheet
  • Feature prioritisation by customer use-case count

CMDB

2015 to 2025
  • Configuration Item Types port
  • CI report diagram
  • Rack Viz: front and rear rack elevations with drag placement

Discovery and Network

2017 to 2026
  • SNMP, 2017
  • SNMP Field Configuration with Get and Walk, per-product-type mapping, 2026
  • Sites; Site and Group scoping

Service Catalog

2018 to 2024
  • v2, v3, v6, Revamp, v7, 2019 and 2020 refreshes
  • Icon sets 2018, 2019, 2020, 2024; dark-mode set 2021

Automation

2021 to 2026
  • Business Rules and Field and Form Rules; FAFR Conditional Actions
  • Automation Rules revamp
  • Invoke Actions, Custom Triggers, Invoke Revamp
  • Conditional Actions under Custom Actions
  • Custom Function
  • Notification Rules, revamp, and Slack as a channel
  • Technician Auto Assign; Timer Actions

Approvals

2023 to 2025
  • Approval Rules and Approval Header
  • Approval Templates for Custom Modules v1 and v2
  • Custom Module Approval with Need More Info
  • Zia Approval Action
  • View Predictions with per-model badges

Custom Modules and Fields

2023 to 2024
  • User-defined fields in depth, 433 screens
  • UDF limit state
  • Custom Module and its revamp

Setup, Admin, Onboarding

2016 to 2024
  • Customize Dashboard, 2017
  • Org Admin, Performance Settings, Add On, Theme Settings
  • Portal customisation, product tour, logo sizes, login page
  • Users and Permission
  • Onboarding admin landing with sample data
  • Nav Bar Standardisation; Header
  • Premium Support entitlement
  • Announcements, Support Docs

Security and Identity

2016 to 2021
  • User Online and Offline; Concurrent Login
  • SAML and additional fields
  • Two Factor Authentication
  • Security Warning Alert; Sandbox

Theming and Foundations

2019 to 2025
  • Dark Mode 2021 and Dark Mode Latest 2023
  • Colour system: Delta E tool, hue ramps, WCAG spec
  • Typography flowchart
  • Layout Personalization and Night Mode
  • Circle versus Rectangle colour-perception study

Zia

2020 to 2026
  • Configurations, Admin, Bot, Chat, Missed Chats
  • Embed Zia; Spanish support
  • Similarity Prediction; Predictive Analysis; Anomaly Detection
  • Suggested Solutions, RAG, Resolution Assist, Workflow Assist
  • Share Suggestions; Ask Zia feedback

Channels and Integrations

2021 to 2026
  • WhatsApp as a support channel
  • Slack in notification rules
  • Microsoft Teams brought inside the request as a collapsible rail; save a chat to the ticket
  • AssetExplorer panel inside Zendesk
  • Azure and AE work frames; DC Integration

ESM and Facilities

2025 to 2026
  • Finance department portal, two treatments
  • Finance icon set
  • FacilityDesk Smart Room Import from a floor plan

Range

Shorter pieces that show a different muscle

2025 · Visual craftRack VizFront and rear elevation of a 16U rack, devices placed at specific units, a draggable list of unplaced devices. The most visually distinctive UI I have designed.
2026 · ComplexitySNMP Field ConfigurationThe densest configuration model I have designed: Get and Walk operations, per-product-type field mapping, empty states and a downloaded-output toast, prototyped in Axure.
2024 to 2026 · Host and guestTeams and ZendeskMicrosoft Teams brought inside the ticket as a collapsible rail that costs the request page no layout, and AssetExplorer data placed inside a Zendesk ticket's right rail using Zendesk's own conventions. Two opposite strategies, both correct for their host.
2024 · InclusionAccessibility ControlsThe entry point and controls, a Figma source, and a full presentation deck for the team.
2026 · AgentsTester AIA quality-analyst agent skill: screenshot first, describe what is seen, file evidence-backed defects from Blocker to Cosmetic.
2026 · CodePlacedA campus placement matcher built in an hour for the Catalyst #1Hour1App challenge: Gale-Shapley matching with the stability check shown as a number on screen. Live on Slate.
2026 · EmailZoho Campaigns entryAn onboarding email for the Campaigns 3.0 template library, built as one email-safe table block. Submitted to the Foundry competition.
2017 to 2026 · IconsIcon systemsService Catalog sets across four years, CRM, RLC, Facilities, Incident and Service, SSP, Zia, Workflow, Change, Finance, Portal, and a five-designer AI icon effort of 316 SVGs.
2017 and 2026 · DashboardsThe dashboard, twiceCustomize Dashboard in 2017: a widget grid, chart widgets and tab organisation, my second project. In 2026 a dashboard I built inside MEDS was killed on a dated decision, with its one load-bearing part salvaged and relocated.
2023 to 2025 · PresentingConference and team decksFeature sets prepared for the 2023 user conference, an accessibility presentation for the design team, and the new UI launch banner with device mockups.
2025 · VideoProduced videoA Premiere Pro edit for an AI dashboard concept: cover, introduction, end card and export. Design work that moves.

Tools

Three tool eras, one craft

Photoshop
2015 to 2017
PSD dominant, zero XD. The blue-chrome years.
Adobe XD
2018 to 2023
Versioned source files retain the design iterations.
Figma
2022 to now
A first FigJam board in 2022, the move from XD in 2023. Screen design, component libraries and MCP-assisted inspection.
Illustrator
throughout
Icon work from 2017 to the 2026 AI set.
Axure
2026
One project, the SNMP prototype.
Code
2023 to now
Python for colour measurement; Node and Python for the coded replica; agent skills for QA.