HMR Designs — Meeting Update

Recurring Meeting
April 17, 2026 Prepared by: Diego Sanz DataStudios
Sprint Summary
8
Completed
2
In Progress
1
Discussion
Completed
Delivered & Ready for Review

Event Margin Anomaly Email — V3 New Columns

HD-87 · Done
What was requested

From April 13 meeting: Bob and Jonathan requested 4 additional columns on the margin anomaly report — current retail, current cost, current margin %, and 15-day average retail/cost. Target decor margin confirmed at 56% (not 60%). Report was re-opened from Done to In Progress to accommodate the new columns.

What was delivered

All enhancements implemented and running daily:

  • 4 new columns added: current retail, current cost, current margin %, 15-day average retail/cost
  • Enhanced threshold logic — 5% of job budget with $200 minimum
  • Event status filtering: only Confirmed/Proposal Released events are flagged
  • Daily reports running — Apr 16 and Apr 17 both delivered successfully (8 events flagged each day)

RDS Database Resize — Performance & Reliability Upgrade

HD-110 · Done
What was requested

The production database (dbanalytics) was running on the smallest available instance (t3.micro — 1 GB RAM) and was constantly throttled. CPU credits at zero, free memory down to 28 MB at worst, automated backups were disabled, and storage was on older gp2 with recurring burst-credit exhaustion alerts since April 9.

What was delivered

Full infrastructure upgrade completed April 16 with only ~45 seconds of customer-visible downtime (Multi-AZ failover trick):

  • Instance: t3.micro → t3.medium (2 vCPU, 4 GB RAM). CPU dropped from 50% throttled to 5–12%
  • Backups: enabled with 7-day rolling daily snapshots + point-in-time recovery (was completely disabled)
  • Storage: gp2 (60 IOPS) → gp3 (3,000 IOPS baseline) — eliminates burst-credit issues
  • Deletion protection: enabled (was off)
  • Performance Insights: identified and mitigated an unindexed 118 MB table causing sustained CPU load post-resize

Reporting Portal EC2 — Memory Pressure Fix

HD-99 · Done
What was requested

The HMR Reporting Portal became unresponsive on April 13 at ~17:48 UTC — /api/event-margins returned 504 Gateway Time-out for ~60 minutes. Root cause: uvicorn workers wedged on the t3.micro EC2 (916 MB RAM, 0 swap), with 405 MB RSS and only 93 MB free.

What was delivered

All stability fixes applied:

  • 2 GB swapfile added to absorb transient spikes
  • Workers reduced from 2 to 1 (on 1 GB RAM, 2 workers was the root memory pressure)
  • Instance upgraded to t3.small (2 GB RAM)
  • Portal has been stable since — no further 504s

Chatbot Response Formatting — Gmail & Google Chat

HD-101 · Done
What was requested

From April 13 meeting: after the chatbot demo, the next iteration was about how responses render in the surfaces users actually use (Gmail, Google Chat). Tables, numbers, and multi-line answers needed to be clean and readable in both surfaces.

What was delivered

Formatting optimized for both Gmail and Google Chat:

  • Table rendering improved for readability in narrow email panes
  • Multi-line answers formatted with proper spacing and structure
  • Source attribution and follow-up suggestions included in responses
  • Error handling for “I don’t know” cases refined

Time Entry — COB vs Project Time Analytics

HD-104 · Done
What was requested

From April 13 meeting: Jonathan asked for a view showing what percentage of each person’s time goes to COB (Cost of Business) versus punch time on a project — “What I was thinking about is what percentage of a person’s time is going to COB versus their punch time to a project, or COB as a percentage of total hours they could have.”

What was delivered

Analytics view built and integrated:

  • Per-person summary: total hours, COB hours, project hours, COB as % of total
  • Drill-down: which events/work-types drive the COB hours per person
  • Uses current COB signals from Direct (work type + event flags)

Chatbot Field Guide for Bob

HD-105 · Done
What was requested

From April 13 meeting: Bob asked for a list of all data fields exposed through the chatbot so he knows what questions he can ask — “I’m just curious to know — if I know what fields are in there, I know what questions I can ask.”

What was delivered

Two-part delivery completed:

  • Quick field list sent (commission financial data fields)
  • Proper field guide with all data domains: events, margins, commissions, custom projects, time entries
  • Includes plain-language field descriptions and sample questions per domain
  • Notes which fields are available now vs. could be added from Direct API

Schedule vs Actual Hours — Now Distributed to Bob & Jonathan

HD-106 · Done
What was requested

From April 13 meeting: Diego showed the Sched vs Actual Hours report and neither Bob nor Jonathan had seen it before. Bob: “I haven’t seen this one.” Jonathan: “Oh, I haven’t seen it. You got to send it to us.”

What was delivered

Distribution fix applied:

  • Bob + Jonathan added to the Sched vs Actual Hours recipient list
  • First report sent April 16 — March 2026 data with 6-month trend heatmap
  • Recipient list updated in Lambda config for persistence

Time Entry — Display “0” Instead of “No Budget”

HD-107 · Done
What was requested

From April 13 meeting: Bob requested a formatting change — “In my mind, I think it would be helpful to just show a zero when there’s none approved. That way I can see a zero and 5.7 and I can see a zero and 4.93.”

What was delivered

Formatting updated:

  • “No budget” replaced with numeric 0 in the approved-hours column
  • Red color coding still applied to zero/over-budget rows
  • Easier scanning across the report — all values are now numeric
In Progress
Currently Being Worked On

Data Chatbot — V2 Improved Iteration

HD-97 · In Progress
What was requested

March 20: Bob requested natural language querying of HMR data. April 13: first demo got strong positive feedback from Bob. Since then, formatting (HD-101) and field guide (HD-105) have been delivered. Today we’re showing the second iteration with improvements.

Current status

V2 improvements built on top of V1 feedback:

  • V1 feedback addressed: response formatting in Gmail/Chat optimized (HD-101, Done), field guide delivered (HD-105, Done)
  • V2 iteration: improved query handling, better data coverage, refined response quality
  • Integrated into HMR Reporting Portal (HD-100) — accessible via web and Gmail/Google Chat
  • Showing demo today with side-by-side comparison of V1 vs V2 output quality

Custom Nutshell Replacement — HMR CRM

HD-102 · In Progress
What was requested

From April 13 meeting: Diego proposed replacing Nutshell with a custom HMR-specific CRM. Bob was enthusiastic — “It’s funny you say that — that was my next question... I like it.” Mel already on board. Recurring issues with Nutshell: no submission confirmation, required fields missing from new REST API, template fields can’t integrate with Direct, per-seat subscription cost.

Current status

Scoping phase underway:

  • Approved by Bob and Mel in April 13 meeting
  • Initial conversation with Mal scheduled Monday April 20 at 3:30 PM EDT
  • Reference build: similar CRM replacement delivered for another client (HubSpot replacement) — confirmed feasible
  • Scope: pipeline management, custom contacts/venues, native HMR Direct integration (bidirectional sync), web + mobile-friendly
  • Supersedes: Nutshell API migration (HD-90, Done) and Nutshell user management discussion from April 13
  • Estimate: 2–3 weeks build effort once scope is locked
Action needed

Bob/Jonathan: Monday meeting with Mal (Apr 20, 3:30 PM EDT) to review scope and HubSpot-replacement reference. Confirm scope so we can break into implementation stories.

Discussion
Open Items

Tableau Subscription — Cancellation & Migration Timeline

HD-91 · Discussion
Context

March 20: Bob approved Tableau cancellation — “100%. Let’s get it cancelled right away.” April 13: portal demo approved, Friday walkthrough planned. Since then, the HMR Reporting Portal (HD-100) has been stabilized (EC2 fix, RDS resize), and Tableau extract refreshes are now actively failing (April 16: “Event Margins v4 Extract Refresh Failed”).

Current status

Cancellation in progress:

  • Auto-renewal deactivated — Tableau will not renew automatically
  • Contract end date: November 18, 2026
  • Tableau extracts failing as of April 16 — confirms the system is already degrading
  • Portal replacement stable: EC2 memory fix (HD-99) and RDS resize (HD-110) both completed
  • Calendar reminder set for October 1 to audit and migrate all remaining Tableau embeds in HMR Direct before expiration
Action needed

Bob/Jonathan: Identify any Tableau reports still embedded in HMR Direct that haven’t been migrated to the portal yet. All embeds must be switched before the November 18 contract end date. Diego has a calendar reminder set for October 1 to begin the final audit.

Action Items

Actions & Next Steps

  1. HD-102 (Nutshell CRM): Monday meeting with Mal (Apr 20, 3:30 PM EDT) to review scope and reference build. Confirm scope to start implementation.
  2. HD-91 (Tableau): Bob/Jonathan to identify any remaining Tableau embeds in HMR Direct. All must be migrated before November 18, 2026 contract end.
  3. HD-97 (Chatbot V2): Review V2 demo today — share feedback on improvements and any additional data domains needed.
Talking Points from April 13

Non-Ticketed Items — Status Check

Carried forward from the April 13 debrief. Not tracked as Jira tickets — check status on this call.

  1. COB / Clocking Compliance Guide — Jonathan’s action. Jonathan committed to talking to Don about creating a clocking procedure guide, and to Amanda about manager compliance (ensuring building activities are clockable jobs with COB work-type). HD-104 (COB analytics) is now Done — but the analytics are only as good as the data entry. Has Jonathan made progress on the compliance guide?
  2. Cash Forecast Strategy — group decision. Bob and Jonathan surfaced the need to forecast cash from active jobs using decor/sub budget splits. Requires: (a) confirming sales team enters sub budget split at job start, (b) deciding forecast cadence/model, (c) a dedicated scoping session. Ready to schedule, or still pending?