Skip to main content

Work

Full case studies with outcome-first summaries, stack, and proof. Use filters to narrow by type of work, or open the impact record for a recruiter-friendly overview.

Filter projects

Impact summary →

Showing 8 of 14 matching projects.

AI decision-support platform

Analytics discovery platform that grew from a searchable hub to an AI diagnostic engine

Owned initiative

Summary

Team members spent hours searching across dashboards and tools to find metrics and build trust in data. Built an AI decision-support platform unifying metrics, dashboards, and operational docs in one conversational interface with row-level access control. Shipped with modular, LLM-agnostic retrieval, visualization, and answer pipelines. 199 people asked 1,838 questions; 79 recurring users across 16 job families; daily active users peaked at 73.

Context

Internal / Enablement, partner-facing (Kroger, Aeon, Casino)

What I built

Built an AI decision-support platform unifying dashboards, docs, and tools behind one hub. It grew from a searchable discovery hub into a diagnostic engine that routes questions, retrieves relevant data, generates answers, and visualises results in one flow. Shipped modular tools (Metric Tree for root-cause diagnosis, Cost to Serve modelling, Tote Mix Optimiser) with direct partner feedback loops. Over Mar-Aug 2026: 199 people asked 1,838 questions; 79 recurring users across 16 job families; daily active users peaked at 73.

Impact

  • 199 people asked at least one question (Mar-Aug 2026)
  • 1,838 questions total; 79 recurring users (2+ distinct weeks)
  • Daily active users peaked at 73; reached 16 job families
  • Shipped Metric Tree, Cost to Serve, Tote Mix Optimiser modules with direct partner feedback iteration

Technologies

Next.jsReactTypeScriptLooker APIBigQueryVertex AIClaudeGemini

Central analytics tool repository

Governed home for analyst-built calculators and optimisers, agent-ready from day one

Owned initiative

Summary

Analyst teams build valuable calculators and models every week, but most live outside the main analytics hub: spreadsheets, notebooks, one-off scripts, and small web apps with inconsistent permissions and no shared discovery. Proposed and own a central git repository where tools are built once to a shared standard, reviewed before merge, and callable by conversational analytics as well as through a UI. Proof of concept: ambient/chill SKU cap optimiser and a stakeholder demo tool, with Claude Code guided scaffolding and migration paths for legacy code.

Context

Platform / Enablement

What I built

Proposed and own a central git repository where analyst-built calculators, models, and optimisers are created once to a shared standard, reviewed before merge, and deployed for any team. Every tool is agent-ready from day one: users can solve problems through conversation as well as through a UI. Proof of concept covers an ambient/chill SKU cap optimiser (clear UI and agent use case for SKU shift and pick-ratio questions) and a stakeholder demo tool with a distinct interface. Governance: strict repo rules, experienced developer approval on every merge, mandatory ownership and changelog, archive stale tools rather than leave them unmaintained.

Impact

  • Single governed repo for standards, shared utilities, and agent instructions
  • Standard tool layout with named owner, changelog, and consistent web shell
  • Agent integration so conversational assistants can invoke any registered tool
  • Two-tool POC before org-wide migration mandate (Aug 2026)

Technologies

PythonReactTypeScriptBigQueryClaude CodeGitLab CI

Bulky promotion cost-to-serve analysis

Measured true profitability of bulk beverage promotions after delivery and route costs

Partner / stakeholder priorities

Summary

Commercial teams knew headline sales for bulk beverage promotions but didn't account for delivery cost per tote, driver costs, or incremental route pressure. Compared baseline and promotion weeks for water and soda across warehouse facilities, modeling delivery costs, tote fill from bulky volume, and opportunity cost. Presented methodology and findings directly to client leadership with Q&A; built reusable guardrails for future promotions. Estimated $420K impact at largest site over seven days; $560K across two sites; approximately $1M network-scale exposure.

Context

Retail fulfilment / Commercial

What I built

Built a full-cost model of large promotions on bulky categories for online grocery. Compared baseline vs. promotion weeks across fulfilment centres for bottled water and soda, including delivery cost per tote, warehouse handling, and opportunity cost when bulky lines displaced profit from typical baskets. Results: ~$420K estimated profit impact at one centre over seven days, ~$560K across two centres, and ~$1M rounded network-scale exposure. Presented findings directly to client leadership with methodology, Q&A, and alignment across commercial and operations stakeholders. Outcome: leadership could approve promos on profit impact, not sales lift alone.

Impact

  • Estimated $420K impact at the largest site (7-day bulky beverage window)
  • Estimated $560K combined impact across two facilities versus baseline
  • Approximately $1M network-scale exposure with reusable promotional guardrails
  • Direct client presentation aligning commercial and operations stakeholders on promotion profitability

Technologies

SQLBigQuerySpreadsheet modelling

Conversational analytics assistant

Conversational assistant routing between internal docs and analytics

Owned initiative

Summary

Team members ask questions across internal documentation and business metrics, but no single interface covered both. Built a conversational assistant that routes between sourced-answer retrieval and Looker analytics, with careful handoffs and corporate-proxy-safe long-running responses. Question classification tuned to avoid misleading chart recommendations. Rolled out with governance-friendly design, letting analytics owners tighten behavior before wider release.

Context

Internal / Enablement

What I built

Delivered a chat assistant for the analytics portal. For knowledge questions, it searches docs and dashboard catalogues with citations. For metric questions, it routes to Looker's conversational analytics in the right context. Uses keyword and semantic search with AI routing to avoid mismatches. Long answers run as async jobs with polling for reliability behind corporate proxies. Rolled out in stages with configuration gates to tighten behaviour.

Impact

  • Hybrid retrieval and routing for sourced doc answers and metric questions
  • Question classification avoiding misleading chart recommendations
  • Reliable long-running responses behind corporate proxies
  • Governance-first design enabling analytics owner approval before wider rollout

Technologies

FastAPIVertex AILanceDBBigQueryLooker APINext.jsGCP

Availability Breakdown

Analyzed booking patterns to optimize delivery area sizing

Partner / stakeholder priorities

Summary

Delivery operations teams couldn't tell when routes could open or whether delivery zones were properly sized based on real customer demand. Analyzed actual booking behavior against operational assumptions, showing patterns where zones were too large or poorly shaped. Built charts highlighting demand patterns and problem areas. Presented findings to leadership to clarify area-setup decisions and enable confidence in automated route-release logic.

Context

Last Mile

What I built

Checked real customer booking behaviour against what planners assumed, and showed demand was not captured as well as people thought. Gave leadership confidence to automate when delivery routes open and close. Explained delivery-slot timing, area setup, and routing ideas in plain language to executives. Turned very large datasets into a short list of insights. Used diagnostic analysis to find why slots failed. Built efficient SQL over operational tables and charts that highlighted patterns, odd spikes, and delivery areas that were too large or poorly drawn. Automated refresh with spreadsheet scripts. Kept privacy and data accuracy in scope.

Impact

  • Leadership confidence for automated route-release decisions based on data
  • Revealed oversized delivery zones and missed demand-capture opportunities

Technologies

SQLLookerAppScript

Cost to Serve Model

Identified unprofitable fresh groceries at partner distribution centers

Owned initiative

Summary

Grocery partner operations teams couldn't tell which fresh products and locations had excessive pick and delivery costs relative to margin. Built a model identifying where fresh groceries cost too much to fulfill, with clear recommendations. Provided client-side self-service capability so their team could rerun it. Presented findings and model logic to partner operations leadership to drive adoption across the network.

Context

CFC Operations

What I built

Developed the Cost to Serve model that found where fresh groceries cost too much to pick and deliver for a major grocery partner. Recommendations led to about $1M a year in savings. Built a version the client's team could run themselves; operations leadership adopted it. Presented the savings case and model mechanics to partner stakeholders so adoption was grounded in trust and clarity. Used SQL and structured analysis to trace costs to real drivers and explain causes in plain terms. The model became the default reference when discussing fulfilment cost.

Impact

  • Approximately $1M in annual savings identified for the partner
  • Client-side self-service model capability enabling ongoing analysis
  • Model adopted and actively used across partner operations leadership

Technologies

SQLBigQueryLookerGoogle Sheets

Geomapping Availability

Interactive maps revealing delivery zone and booking pattern problems

Owned initiative

Summary

Delivery operations teams had booking data but couldn't visualize patterns and problem areas on a map. Built interactive maps showing booking patterns with filters for time period, site, and slot-planning region. Maps highlighted oversized delivery zones and areas where demand patterns did not match zone boundaries, making problems visible to operations leaders.

Context

Last Mile

What I built

Spotted that leadership could not see booking problems clearly on a map and built interactive maps for availability patterns and weak delivery areas. Showed oversized zones and fed into better route timing and slot planning. Filters for time range, site, and planning region. Surfaced issues such as slots disappearing at peak times. Grew from early notebook experiments to multi-partner tools. Structured data so locations and zones compared fairly.

Impact

  • Exposed oversized and poorly shaped delivery zones
  • Informed route-release timing and slot-planning improvements

Technologies

SQLPythonGoogle ColabLooker

In the Bag

Real-time visibility into orders and implied labor requirements

Partner / stakeholder priorities

Summary

Warehouse operations teams need same-day visibility into order volume and labor implications for staffing. Built a live dashboard showing order breakdown and labor requirements, shaped around what operations teams asked for in walkthroughs. Provides real-time performance visibility for day-to-day monitoring and staffing adjustments.

Context

CFC Operations

What I built

Built live views of how orders break down and how much labour they imply, for partners and internal teams. Helped tighten day-to-day staffing with same-day monitoring. Matched the logic to how operations actually decide things. Traced what drove live order volumes and labour needs. Efficient SQL for live and historical figures with quality checks. Charts that stay easy to read under pressure. Automated refresh via spreadsheet scripts.

Impact

  • Enabled tighter labor management through real-time order visibility
  • Real-time performance visibility into labor implications of incoming orders

Technologies

SQLLookerAppScript