All work
SaaS · Inventory ManagementConcept

PharmaFlow

A pharmacy inventory and expiry-management concept designed to improve stock visibility, highlight expiry risks early, and support faster operational decisions.

Role
Product Designer
Category
SaaS · Inventory Management

Project overview

PharmaFlow is a design concept for a pharmacy inventory and expiry-management dashboard. The core idea is simple: pharmacies lose stock and revenue when medicines expire unnoticed, and the tools most small pharmacies use — spreadsheets and paper registers — don't surface expiry risk before it's too late.

The concept explores six screens: a command-center dashboard, inventory list, product detail, expiry-risk view, purchase orders, and analytics. Every screen is built on a shared design system with consistent tokens, components, and grid.

Problem statement

Expiry management is a silent cost center. Stock that expires on the shelf is pure loss, and reordering without visibility into what's about to expire compounds the problem. Manual tracking doesn't scale past a few hundred SKUs, and it gives no early warning.

  • No early warning when stock approaches expiry
  • Reordering decisions made without expiry context
  • Inventory counts scattered across spreadsheets
  • No single view of what's critical, what's warning, what's healthy

Business context

This is a concept project, so there is no client, no measured baseline, and no validated business outcome. The design hypothesis is that a purpose-built dashboard — one that treats expiry risk as a first-class signal rather than a spreadsheet column — would help pharmacy staff act earlier and waste less.

The concept targets the operational reality of a busy pharmacy counter: quick glances, clear priorities, and actions that take seconds, not training sessions.

Target users and user needs

The concept is designed around two primary user types, defined as design hypotheses rather than researched personas:

  • Pharmacy staff at the counter — need to see what's urgent right now, in seconds, between customers
  • Pharmacy owners / managers — need to understand stock health trends and make purchasing decisions
  • Both need: clear priority signals, minimal learning curve, and confidence that the numbers are current

Research and discovery

No formal user research was conducted for this concept — that is stated plainly rather than dressed up. The design decisions below are grounded in established UX principles (recognition over recall, progressive disclosure, consistent design language) and in the observable structure of the problem: expiry is a time-based risk, so the interface should make time visible.

Before this concept moves toward anything real, the honest next step would be contextual inquiry with pharmacy staff: watching how they track stock today, where the process breaks, and what an 'urgent' signal would need to look like to earn their trust.

User journey and workflow

The core workflow the concept supports is the morning stock check: open the dashboard, see what's critical, drill into the expiry-risk view for details, and raise a purchase order for replacements — all in one continuous flow.

Secondary flows include searching the full inventory, reviewing a single product's batch history, and checking analytics for longer-term patterns in waste and turnover.

Information architecture

The IA keeps the hierarchy shallow: a persistent sidebar with six destinations, each one screen deep for primary tasks. Expiry risk gets its own top-level destination rather than living as a filter — the concept treats it as the product's reason to exist.

  • Dashboard (command center) — today's priorities at a glance
  • Inventory — searchable, filterable full stock list
  • Product detail — batches, expiry dates, movement history
  • Expiry risk — the dedicated risk view, sorted by urgency
  • Purchase orders — draft and track replenishment
  • Analytics — waste, turnover, and stock-health trends

Wireframes and exploration

Exploration focused on the riskiest screen first: the expiry-risk view. Early directions included a timeline layout and a pure table; the concept settled on a hybrid — urgency-grouped cards (Critical / Warning / Watch) above a detailed table, so the glanceable signal and the auditable detail coexist.

The dashboard went through similar reduction: an early version carried too many KPIs. The concept keeps four, each tied to an action, with the rest one click away in Analytics.

Design system

The concept is built on a token-based design system: semantic color tokens (including distinct Critical / Warning / Watch / Success states that never rely on color alone — each pairs with an icon and a text label), an 8px spacing scale, consistent corner radii, and two typefaces for display and UI text.

Components — buttons, badges, search, KPI cards, sidebar, table rows — are designed as reusable variants so the six screens stay visually and behaviorally consistent. All demo data in the screens is illustrative, not real inventory.

Final UI and responsive states

The final concept presents six cohesive screens on a 12-column grid with a persistent sidebar and a consistent header. Key interaction details: the expiry-risk view sorts by urgency by default, critical items are visually distinct with icon + label + color, and every destructive or consequential action asks for confirmation.

Responsive thinking: the sidebar collapses to a bottom or top pattern on small screens, tables transform into stacked cards, and KPI cards reflow from four-across to two-across to single column. No horizontal scrolling at any breakpoint.

Usability findings and iterations

Because this is a concept without tested users, there are no usability findings to report — and none are invented here. The iterations below are design critiques applied during the build, not test results:

  • Reduced dashboard KPIs from an exploratory eight to four action-tied metrics
  • Moved expiry risk from a filter to a top-level destination after recognizing it as the core value
  • Added text labels alongside all status colors for color-independence
  • Simplified the purchase-order flow from three steps to a single draft-and-confirm pattern

Outcomes, learnings, and next steps

As a concept, PharmaFlow has no shipped outcome to measure. What it demonstrates is a way of thinking: start from a concrete operational pain, make the riskiest signal the center of the product, build on a real system so it could scale, and stay honest about what is proven versus what is hypothesized.

Honest next steps: contextual research with pharmacy staff, a clickable prototype for task-based testing, and validation of whether the expiry-risk model matches how pharmacies actually think about waste — before a single line of production code.

InventoryExpiry AlertsDesign System