← Back home
Geotab · Case 04

In-app communications blueprint

Fragmentation, again. System-to-user communication had no shared service-design principles — so I built a blueprint of components, guidelines, and guardrails, then made it usable by non-designers through a GIA skill.

Role
Lead / Systems Designer
Partners
Product Ops · PMs · Designers (multi-domain)
Deliverables
Blueprint · Figma · GIA skill
Context

Independent components that drift apart over time

For a long time, system→user communication had no shared service-design principles. If a warning, recommendation, or product update needed to be communicated, each domain's designer or PM handled their own component and flow. That keeps teams fast and independent — but the longer it runs, the more these components drift apart, and the overall service design suffers.

The problem

Inconsistent, collectively annoying, no source of truth

Per-domain components were becoming inconsistent and, collectively, annoying and incoherent — banners, popups, badges, and walkthroughs with no shared rules, frequency caps, or visual language. There was no single source of truth for which component to use, when, and with what guardrails. The support data backs the cost: fragmented, unhelpful in-product comms push users to leave the product (and even to external AI) and open tickets.

Process

Inventory, converge, document, then lower the barrier

  1. Inventoried the component landscape across domains — popups (center / bottom-right / top-right critical), embedded banners, badges, resource center, feedback, guided walkthroughs, overlay/backdrop, notification-count badge.
  2. Deep cross-functional collaboration with Product Ops, PMs, and designers across domains to converge on shared rules: frequency caps, dismiss-and-remember across sessions, a global off toggle, page-matched relevance.
  3. Wrote it down for non-designers — a blueprint with documentation aimed at Product Ops (not just designers), plus a Figma file and a component ↔ code-existence matrix so teams know what exists vs. what must be built.
  4. Lowered the barrier further — built a GIA skill for the Product department: describe your need / idea / goal → get the best-match component, plus next steps for alignment and sign-offs (who to talk to, how to set it up, and the component's limitations / guardrails).
The solution

One system, delivered in three layers of accessibility

A reusable in-app communications blueprint: a catalog of components, usage guidelines, guardrails, and a code-existence matrix — turned into simple, followable instructions so any team can keep the experience holistic and non-annoying. Delivered in three layers of increasing accessibility: documentation → Figma → GIA skill.

📄 Documentation

Plain-language guidelines + code-existence matrix, written for Product Ops, not just designers.

🎨 Figma

A visual source of truth — every component, state, and guardrail in one place.

🤖 GIA skill

Describe a need → get the best-match component + the exact alignment and sign-off steps.

🛡️ Guardrails

Frequency caps, dismiss-and-remember, global off toggle, page-matched relevance.

In-app communications component catalog showing all component types, states, and usage rules
Component catalog — every component, state, and guardrail in one Figma source of truth · In-App Communication.fig
Component to code-existence matrix mapping what exists vs what needs to be built
Code-existence matrix — what's built vs. what must be built for each component · In-App Communication.fig
Example in-app components: popup, embedded banner, resource center, guided walkthrough
Component examples — popup, banner, badge, resource center, walkthrough · In-App Communication.fig
Results

Principles where there were none — and an interactive tool

Shipped a blueprint + documentation consumable by non-design partners, a Figma source of truth, and a GIA skill that operationalizes it for the Product department — turning a static guideline into an interactive decision tool with sign-off guidance, where no shared service-design principles existed before.

Pilot metrics to track: GIA skill invocations and unique teams, component recommendations by type, adoption of blueprint-compliant components, frequency-cap effectiveness, opt-out rates, and reduction in "confused by in-product message" support tickets. Framed as a measurement plan for the pilot, not a finished impact claim.