Sentinel Retail
Specialty retailer · 40 stores
Cut the morning reconciliation hour to a 30-row exception list
Surface the 30 store-level exceptions per day that actually need attention.
A 40-store retailer's inventory team was opening five reports every morning to figure out what to act on. We built one exception dashboard that tells them what changed since yesterday and what needs a decision today.
New · Retail / Multi-store
Inventory exception dashboard.
Surface the 30 store-level exceptions per day that actually need attention.
Sample mockup · illustrative only
- Industry
- Retail / Multi-store
- Timeline
- 4 weeks
- Team
- 2
- Service
- Web + Software
- Project tier
- Custom Software / $14,995
The Problem
What was broken.
Five different reports, each from a different system, each with its own definition of 'on hand'. The inventory team's first hour every day was reconciliation, not action.
Our Approach
How we framed it.
One canonical inventory model in Snowflake. dbt models with explicit definitions ('on hand', 'available', 'in transit'). Daily exception dashboard that surfaces only the things that crossed a threshold or moved unexpectedly. Drill-down to the source rows.
Capability proof
What this case demonstrates.
This case makes the hidden work visible: strategy, architecture, delivery control, quality evidence, and handoff.
01 / Product judgment
Problem framed before UI
Five different reports, each from a different system, each with its own definition of 'on hand'. The inventory team's first hour every day was reconciliation, not action.
02 / Technical depth
7 stack decisions
Next.js 15, Postgres, dbt, Snowflake, Tailwind v4, Recharts
03 / Delivery discipline
4 delivery checkpoints
Definitions workshop / dbt models + tests / Exception engine
04 / Handoff quality
4 shipped artifacts
Canonical Snowflake inventory model + dbt tests / Exception engine + Slack alerts / Daily exception dashboard with drill-down
Production artifacts
Inspect the work behind the visible result.
Each case exposes the surfaces, systems, evidence, and handoff package that make the shipped product usable after launch.
Experience layer
Buyer or user surface
One canonical Snowflake model with explicit definitions. Daily exception dashboard with thresholds the ops team owns; Slack alerts on high-priority crosses; drill-down to source rows.
Proof 01
Surface the 30 store-level exceptions per day that actually need attention.
Proof 02
Got the inventory team to agree on what 'on hand' means. Wrote it down.
Proof 03
Daily exception dashboard with drill-down
Production signals
Observable
Errors, logs, alerts, or dashboards included.
Release-ready
Deployment or store-release path included.
Handoff-ready
Owner can keep operating after delivery.
Before / after · product UI mockup
Industry · Retail / Multi-store
Before:POS inventory exported nightly; transfer requests via email; stockouts caught after the fact.
After:One canonical Snowflake model with explicit definitions. Daily exception dashboard with thresholds the ops team owns; Slack alerts on high-priority crosses; drill-down to source rows.
How the engagement ran.
- 01Week 1
Definitions workshop
Got the inventory team to agree on what 'on hand' means. Wrote it down.
- 02Week 2
dbt models + tests
Modeled inventory canonically with tests on every join.
- 03Week 3
Exception engine
Built the threshold-driven exception engine and Slack alerts.
- 04Week 4
Dashboard + handoff
Dashboard with drill-down, handoff playbook for tweaking thresholds.
- 1
Week 1
Definitions workshop
Got the inventory team to agree on what 'on hand' means. Wrote it down.
- 2
Week 2
dbt models + tests
Modeled inventory canonically with tests on every join.
- 3
Week 3
Exception engine
Built the threshold-driven exception engine and Slack alerts.
- 4
Week 4
Dashboard + handoff
Dashboard with drill-down, handoff playbook for tweaking thresholds.
Deliverables
What we shipped.
- ✓Canonical Snowflake inventory model + dbt tests
- ✓Exception engine + Slack alerts
- ✓Daily exception dashboard with drill-down
- ✓Threshold admin owned by the ops team
Outcomes.
engagement targetsPlan: one canonical inventory model with explicit definitions
Plan: daily exception dashboard with thresholds the ops team owns
Plan: drill-down to source rows on every exception
Goal: cut morning reconciliation from ~60 min to ~15 min
Plan: slack alert when an exception crosses a high-priority threshold
Honest challenges
What we got wrong (or almost wrong).
The pretty version of any case study skips this part. We don't.
- 01
One source system used a 4-hour lag we hadn't documented; surfaced the lag explicitly on the dashboard so users wouldn't be surprised.
- 02
Threshold tuning is a human judgment; we shipped sensible defaults and made tuning a self-serve admin screen.
In our own words
The first hour of every retail morning was reconciliation, not action. Surfacing only the things that crossed a threshold — with the threshold owned by the ops team itself — is how the dashboard earned its place on the wall.
From the Hayaiti team
Engineering · design · security
Technical blueprint
How the work holds together.
Buyers should see that the visual layer is backed by architecture, quality gates, and operational ownership.
Experience
1Application
2Data
3Operations
4Security
5Stack used
7 technologiesRelated
Other cases like this.
Northwind Studios
Onboarding rebuild · Series A SaaS
Cut signup-to-aha-moment from 9 minutes to under 90 seconds.
HealthcareHelix Health
HIPAA-ready intake portal
Replace clipboard intake with a 7-minute, accessible, HIPAA-ready web flow.
FintechFoundry Capital
Broker API + nightly reconciliation
Stand up a reliable broker integration with nightly reconciliation in three weeks.
Want a case study like this?
Want this level of production quality on your project?
Send a short brief and we'll reply with scope, timeline, price direction, and the first technical recommendation.