Designed an emergency alert system using Claude Design

Role

Solo Product Designer

Feature Type

0 to 1

Tools

Claude Design · Figma

Status

Shipped, Aug 2026

Duration

3-4 weeks

Team

PM, developers and me

Role

Solo Product Designer

Feature

0 to 1

Tools

Claude Design · Figma

Status

Shipped, Aug 2026

Duration

3-4 weeks

Team

PM, developers and me

CONTEXT

Why did we need this?

Why did we need this?

1. ISN's customers are large industrial sites — oil & gas, and manufacturing companies. Hundreds of contractors move through these sites everyday.

2. ISN's Visitor Management System (VMS) logs every visitor check-in and check-out, tracking who's on site.

3. But when an emergency hits — fire, gas leak, or severe weather, that log is just a list. There's no way to push a warning or know who’s safe or unsafe.

PROBLEM

How might we help a site host warn the contractors when an emergency strikes, and account for their safety?

FINAL SOLUTION

We shipped 'Emergency Notifications'

The solution, ‘Emergency Notifications’ within the Visitor Management System web app, enables the site host to:

  1. Send an emergency notification to the contractors on site or arriving that day.
  1. Send an emergency notification to the contractors on site or arriving that day.
  1. Track and update safety status of the contractors on a live roster — accounting for who is safe, unsafe, or unknown.
  1. Track and update safety status of the contractors on a live roster — accounting for who is safe, unsafe, or unknown.
  1. Create and manage emergency templates so that the notifications can be sent quickly during an emergency.
  1. Create and manage emergency templates so that the notifications can be sent quickly during an emergency.
  1. End a live emergency and review a list of past emergencies.
  1. End a live emergency and review a list of past emergencies.

PROCESS

To begin with, I first designed the meaty part of the feature — 'the roster' that the PM strongly focused on.

The roster is the list of contractors to whom the emergency notification has been sent by the site host, and allows for real-time safety status monitoring of the contractors.



As the PM highly focused on the roster, I designed that first, and then moved to figuring the information architecture of different sub-features.

Next, I resolved the bigger question: information architecture

With the roster in place, I turned to the bigger question: where the different parts of the feature would live and how they'd be connected to each other — the information architecture.

The different parts included:

  1. Monitor live emergencies

  1. Monitor live emergencies

In early stages, we called it 'Track Visitor Safety'.

  1. Review past emergencies

  1. Review past emergencies

In early stages, we called it 'Past Notifications'.

  1. Send emergency notifications

  1. Send emergency notifications

This part had an old, unshipped design from another designer.

  1. Manage emergency templates

  1. Manage emergency templates

Learned about this one much later, so it doesn't appear in the iterations below.

  1. Monitor live emergencies

In early stages, we called it 'Track Visitor Safety'.

  1. Review past emergencies

In early stages, we called it 'Past Notifications'.

  1. Send emergency notifications

This part had an old, unshipped design from another designer.

  1. Manage emergency templates

Learned about this one much later, so it doesn't appear in the iterations below.

Option 1: Three separate sub-pages on the nav bar
Option 1: Three separate sub-pages on the nav bar
  • Live Emergency (we earlier called it ‘track visitor safety’), Past Emergency (earlier called ‘past notifications’) and Send Notification (earlier called ‘create notification’) – each lives as a separate sub page on the left nav bar.

  • I retained the old design for 'create new notification', for this option.

Option 2: Using a modal for 'send emergency notification'
Option 2: Using a modal for 'send emergency notification'
  • 'Sending a new emergency' function accessed through button at the top right.

  • Separate sub pages for 'Track Visitor Safety' and 'Past Notifications'.

The PM liked the idea of creating new notification through a modal as it aligned with other pages of the VMS app.

Option 3: Context dependent
Option 3: Context dependent
  • As most days there won't be an emergency, we could keep 'send notification' section at the top. But as an emergency happens, the 'send notification' section gets pushed below.

  • Button at the top right for Past Notifications.

I didn’t like this option as switching tabs usually controls the entire space underneath. The page would have become really long as well.

Suggested the following to the PM

As I discussed the above options with the PM, I learned that on any given day there would not be more than 2-3 emergencies. Our discussion led me to suggest the following to him. And we were aligned.

  1. Rename 'Track Visitor Safety' as 'Live Emergencies' and 'Past Notifications' as 'Past Emergencies' for better user clarity

  1. Rename 'Track Visitor Safety' as 'Live Emergencies' and 'Past Notifications' as 'Past Emergencies' for better user clarity

  1. Tabs to switch between live and past emergencies

  1. Tabs to switch between live and past emergencies

  1. All live emergencies would be shown on the same page using accordions

  1. All live emergencies would be shown on the same page using accordions

  1. Buttons at the top for create and manage notifications

  1. Buttons at the top for create and manage notifications

Shared a mock containing the above suggestions with the PM.

Made a quick prototype of 'roster inside accordion' using claude design, and discussed its feasibility with the engineers. As they said it was easy to build, we went ahead with this idea.

Made a quick prototype of 'roster inside accordion' using claude design, and discussed its feasibility with the engineers. As they said it was easy to build, we went ahead with this idea.

Next, I refined the visual design of the emergency cards

After trying a bunch of options, I decided to group the information in 3 buckets, each having it’s zone.

1. Metadata
Name, location, and date

1. Metadata
Name, location, and date

2. Numbers
For safe, unsafe and unknown



2. Numbers
For safe, unsafe and unknown



2. Numbers
For safe, unsafe and unknown



3. Buttons
For key actions

3. Buttons
For key actions

3. Buttons
For key actions

For manage template function, I introduced a two-panel modal to reduce the number of screens

For the 'Manage Emergency Templates' modal, I needed the user to be able to do the following:

  1. Select a location, then a template, then edit and save it.

  1. Select a location, then a template, then edit and save it.

  1. Create and save a new template

  1. Create and save a new template

I wanted the user to be able to accomplish this within a single modal. From my initial sketches, I felt we could use one panel for selection, and other one for editing. So I prompted claude design accordingly, and got the design below.

Since such a modal wasn't used elsewhere, I checked with the developers whether it'd be easy to build. They said it would, so we went ahead and added it to our design system.

Next, I adapted the design from Claude Design into our design system, refined it visually, removed unnecessary information, and added what the user would need. Below is the final modal design we shipped.

IMPROVING AI WORKFLOW

But why did the design system used by Claude Design looked so different from ours?

Primarily because this project lives within the Visitor Management System (think child)—a web portal that opens from ISNetworld (think parent). VMS uses a slightly different, leaner color palette than ISNetworld. And since VMS is fairly new, it didn't have a documented, dedicated design system—we mostly used ISNetworld's design system components, which we'd uploaded to Claude Design. That's why the Claude Design mocks looked different from the final VMS screens.

For future projects, we've uploaded certain VMS screens as 'templates' in Claude Design, so the mocks come out closer to VMS.

REFLECTIONS

Rough in the big rocks first

When designing a big, complex feature like this one from 0 to 1, I first identified the big problems to solve: what does the roster look like, and how would the different sub-features connect to each other (information architecture)?

I first resolved the bigger of the two problems, the roster, to nearly 75%, then quickly moved to the next important one, the information architecture. Once the latter was mostly set, refining the roster and the other functions felt easy.

Introducing new components to resolve complexity for the user

This project had many such instances. For example, I introduced an accordion with a roster inside it, and a two-panel modal to reduce the number of screens. The underlying idea was always the same: how do we surface complex information in a way the user finds easy to interact with. Sometimes through progressive disclosure (the accordion), other times by optimizing layout to cut extra screens (the modal). These new components became valuable additions to our design system.

Let's connect
A good chat is nothing short of serendipity.
Let's connect
A good chat is nothing short of serendipity.