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.
All enhancements implemented and running daily:
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.
Full infrastructure upgrade completed April 16 with only ~45 seconds of customer-visible downtime (Multi-AZ failover trick):
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.
All stability fixes applied:
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.
Formatting optimized for both Gmail and Google Chat:
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.”
Analytics view built and integrated:
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.”
Two-part delivery completed:
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.”
Distribution fix applied:
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.”
Formatting updated:
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.
V2 improvements built on top of V1 feedback:
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.
Scoping phase underway:
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.
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”).
Cancellation in progress:
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.
Carried forward from the April 13 debrief. Not tracked as Jira tickets — check status on this call.