Bomb squads needed one place to report a suspect package, alert the squads around it and see it through to resolution. I led the design of CPINS, the app technicians use on scene, and of the admin portal we proposed to keep the network closed to outsiders.
Role
Lead product designer
Company
People10 Technosoft
Team
A PM, 5 developers and me
Status
Handed off to development
Platforms
Mobile app and admin web portal
View as
The problem
The client needed squads to log suspect packages in a structured way, pull in nearby squads and record how each one ended. The information is sensitive, so the system had to stay closed to the public.
What I did
Proposed the design process with the team and got it agreed. Researched the context, defined roles and permissions, worked through every flow on the whiteboard with the team and developers, then designed both products: structure, flows, screens and guidelines.
What I handed off
A mobile app with eight core features for technicians and non-technicians, an admin web portal for accounts and squads, and visual guidelines for both.
A suspect package could be a bomb.
Until it is cleared, every detail about it matters: where it is, what it looks like, who has seen it and what has been done. CPINS moves those details to the squads that need them, quickly, and to nobody else.
SUSPECT PACKAGE DO NOT CROSS SUSPECT PACKAGE DO NOT CROSS SUSPECT PACKAGE DO NOT CROSS SUSPECT PACKAGE DO NOT CROSS SUSPECT PACKAGE DO NOT CROSS SUSPECT PACKAGE DO NOT CROSS SUSPECT PACKAGE DO NOT CROSS SUSPECT PACKAGE DO NOT CROSS
01Understand
Fast to report, closed to outsiders, clear about status
The brief arrived as four jobs. Background research on how bomb squads work added the constraints that shaped every screen after it.
The brief, as four jobs
Each job became one or more features. The links jump to where it landed in the app.
An incident moves through five moments and three statuses. The status is the one thing every squad has to read correctly, so it travels with the incident everywhere it appears.
Active
Step 1
Reported
A technician on scene logs the package. Location comes from the map, the details are taps, and up to three photos go with it.
Technician on scene
Step 2
Alerted
Squads subscribed to that squad or area get a notification on their phones.
Subscribed squads
Step 3
Discussed
Other technicians open it, read the details and comment. If the photos aren't clear, they ask for more.
Nearby technicians
Step 4
Held
If it can't be closed yet, it is marked pending, so nobody assumes it is over.
Any technician
Step 5
Resolved
Whoever acts records the outcome: a real device and what was done, or no device, a hoax or a false alarm.
Acting technician
What research added to the brief
We researched how bomb squads operate and what is sensitive about their work. Five findings became rules for the design.
What we learnedSo the designSee it in
01
Squads carry information that can't reach the public.
Nobody joins the network on their own. People register, and an admin approves or rejects every request.
No process had been defined for the project, so we drafted one and convinced the authorities it suited the work before a single screen was drawn.
Problem understanding
What the client asked for, who would use it and what could go wrong.
1
Problem understanding
What the client asked for, who would use it and what could go wrong.
2
Research
Background research on how bomb squads work and what is sensitive about it.
Can send us back to problem understanding
3
Solution brainstorming
Whiteboard sessions with the team, then with developers to check feasibility.
Can send us back to research or to the problem
4
Implementation
Information architecture, flows, screens and the visual guidelines.
5
Evaluation and testing
Reviewing the designs against the brief.
Anything that fails goes back to the start
6
Development
Handing the designs to the developers building the app.
7
Support
Design support while the product was being built.
My part
As lead designer I carried the work through every stage, from research to the guidelines the developers built from. Select a stage to see what happened in it.
03Define
Permissions first, screens second
The data is sensitive, so the first thing we pinned down was who can see and do what. Both products are structured around those three roles.
Three roles, defined by what each can do
Select a role to see its permissions. A dash means that role works in the other product.
Permission
Get alerts from the squads and areas they choose
Technician: yes.
Non-technician: yes.
Admin: works in the other product. –
Add or remove incidents
Technician: yes.
Non-technician: no.
Admin: works in the other product. –
Use the admin web portal
Technician: no.
Non-technician: no.
Admin: yes.
Approve or reject new accounts
Technician: no.
Non-technician: no.
Admin: yes.
Add or delete users and admins
Technician: no.
Non-technician: no.
Admin: yes.
Assign squads and approve squad changes
Technician: no.
Non-technician: no.
Admin: yes.
Columns: technician, non-technician, admin.
Two products, two structures
The app is built around a feed of incidents. The portal is built around people and requests.
Hover a screen to trace its path from sign-in.Tap a screen to trace its path from sign-in. Swipe the map sideways to see all of it.
04Decide
The questions in the margins changed the design
We sketched every flow on a whiteboard with the team, then walked it through with the developers, so feasibility came up while ideas were still cheap to change. The notes in the margins are where the decisions happened.
Select a numbered note. Hover the photo to magnify the handwriting.
Mobile flows, first whiteboard session
My part
I sketched these flows with the team and kept the open questions in the margins, then turned each answer into a change in the screens that follow.
05Design
Built to be read at a glance
The visual language is small on purpose: one action colour, three status colours, two typefaces and a set of icons that fill in when they are active.
Colour
From the original guidelines
12.2:1Emphasis button#0207B8. Primary actions and the chosen option.
17.9:1Background#171717. Dark bars in the app and the admin portal.
2.96:1Other button#969696. Secondary buttons and supporting text.
Text colour#FFFFFF. Text on buttons and dark bars.
Active#FF2D55
Pending#FF9500
Resolved#4DDDC7
Contrast is measured against white. Status colours always sit next to a text label, never alone.
Type
Two families
Take ActionArchivo Black for screen titles and every action label. Heavy and wide, so it reads at arm's length.
Suspect package observedOpen Sans for everything you read: details, comments, notifications.
ProceedResend notificationActions are set in capitals with open tracking, so a button never reads like a sentence.
Icons
Filled when active
All incidents
My incidents
Map view
Notifications
In the tab bar: white and filled for where you are, grey outlines for everywhere else.
Components
Reused on every screen
Primary action
New incident
One choice at a time
Resolve incidentRequest additional info
Tiles instead of typing
PackageRCIEDVBIED
Status, always labelled
ActivePendingResolved
05The app
One decision at a time
Scroll through the core features. The phone is a live rebuild of the original screens, re-moulded for iPhone 16 Plus, so you can tap through it at any point.
01All incidents
The feed
Every incident in the squads and areas you follow, newest first. Each card leads with photos and a status, so a technician can size up an incident before opening it.
Photos first, words second
In the field, a picture of the package answers more than a paragraph about it.
Brief: capture detailsBrief: let others help
Open a card, or switch tabs at the bottom.02Create incident
Tap, don't type
Location comes from the map and the time from the clock. Everything else is a tap: package type, function, how it was identified, how it is employed and its status, plus up to three photos.
Predefined options over free text
Tiles are faster than typing, and they make every report read the same way. Rare fields wait under Add more details.
Brief: capture details
Pick tiles, add a photo, then press Create with no package type.03Incident detail
Everything a second squad needs
Status, type, time, squad, the reporting technician and a number to call with one tap. Comments and photos sit below the details.
The next step never moves
Take action is pinned to the bottom of every incident, in the same place each time.
Brief: capture detailsBrief: let others help
Post a comment, or tap the contact number.04Take action
One action at a time
Three actions: resolve the incident, ask for more information or resend the alert. Pick one, and only the options that follow from it appear.
Short paths are hard to get wrong
Under pressure, a long form invites mistakes. Showing one decision at a time keeps every path to three taps or fewer before Proceed.
Nine scenarios, one screen. Pick one and watch the path.
Ends resolvedEnds pendingStays active
05Comments
The conversation stays with the incident
Every comment on an incident lives in one thread, so whoever opens it later gets the whole story without asking around.
One thread per incident
Context that lives in side channels gets lost between squads and shifts.
Brief: let others help
06Map view
Lead with the nearest
Nearby incidents appear as pins coloured by status. The nearest one's card is already open when the map loads.
Answer the first question first
On the map, the first question is what is closest. The card answers it before anyone taps.
Brief: find packages nearby
Tap a pin. Tap it again to open the incident.07Filters
Filter by expertise
Filter by device type, status, region, area or squad. A specialist can narrow the feed to the incidents that match what they know best.
Let experts find their incidents
Filtering by device type means the right technician can offer help, not just the nearest one.
Brief: see your locations
Tick a status, then Apply.08Subscriptions
Follow only what's yours
Technicians choose which squads, areas and regions they hear from. New users pick these straight after registering, so their first feed is already relevant.
Less noise, lower load
A few alerts that matter beat many that don't. Fewer interruptions leave room for the ones that count.
Brief: see your locations
Subscribe to a squad, then check the Subscribed tab.09Notifications
What changed since you last looked
Updates on incidents you follow or reported, grouped as New, Today, Yesterday and Older. Actions you take in this prototype show up here too.
Group by recency
Returning to the app, the only question is what is new. The grouping answers it in one glance.
Brief: let others help
Live prototype. Tap anything on the screen.
06Admin portal
Closed by design
At the start, a database programmer added every account by hand. That made the squads depend on someone outside them, and squad members couldn't be trusted to add or remove each other. We proposed a separate web portal for admins.
No database programmer in the loop
Every account used to be added by hand by someone outside the squads.
Squads don't manage each other
Members can't add or delete other members, which protects trust and privacy.
Simple to run
A web interface makes squad management straightforward and needs little outside support.
Out of the field app
Admin work happens in the background, so people in the field never have to deal with it.
Create technician and non-technician accounts
Assign squads and approve squad changes
Add, remove and manage admins
The same screen, wireframe to final
Users, Add new user. Drag across to compare. The final portal runs dark, with the app's action blue kept for the one button that matters.
Drag the handle or use the arrow keys.Drag the handle.
WireframeFinal
07Reflect
What I'd keep, and what I'd change
Outcome
The app went into development with its guidelines, and the admin portal we proposed was designed through to final screens. The brief asked for something simple enough to use in a crisis, and that one requirement settled most of our arguments.
What held up
Structure over free text
Predefined options made reports quick to file and consistent to read, whichever squad filed them.
Moving admin work out of the field app
It kept the app about incidents and solved the trust problem at the same time.
What I'd change now
1
Test it in a drill
Our reviews happened at desks. Today I would watch technicians run the core flows in a timed exercise, in their gear.
2
Plan for no signal
Basements and cordoned buildings drop connections. Reports should save on the device and send when the signal returns.
3
Fix the contrast
The grey supporting text in the cards is under 3:1 against its background, and the resolved teal #4DDDC7 is 1.68:1 on white. Status always carries a text label, but I would darken both.
4
Agree on a measure
Time from first sighting to the first alert is the number this product exists to shrink. I would baseline it with the client before design starts.