HMR Designs — Meeting Update

Recurring Meeting
May 18, 2026 Prepared by: Diego Sanz DataStudios
Sprint Summary
4
Completed
2
In Progress
4
Discussion
Completed
Delivered & Ready for Review

HMR Internal Portal — Live at portal.hmrdesigns.com

HD-102 · Done
What was requested

From April 17 meeting: Bob and Mal approved replacing Nutshell with a custom HMR-specific CRM. Bob: “I like it.” Approved scope: pipeline management, custom contacts & venues, native HMR Direct integration (bidirectional sync), web-friendly interface. The old “Reporting Portal” was the home base — this extends it into a full internal operating platform.

What was delivered

Full CRM build shipped May 7. The portal has been renamed HMR Internal Portal and is live at portal.hmrdesigns.com:

  • Pipeline kanban — all events with drag-and-drop stage management
  • Event Detail — full event record with commission inputs, HMR Direct integration, activity log
  • Contacts screen — clients, planners, vendors with role-based labels
  • Venues screen — venue records linked to events
  • HMR Direct push pipeline — new events submit directly to HMR Direct with two-pass validation (template fields + commission values)
  • 22 database migrations, 255 automated tests passing
  • MegaNav — single navigation menu across all portal sections (CRM, Operations, Insights, Reports)
  • HMR branding — Cormorant Garamond / Sofia Pro typography, herringbone login backdrop, hairline borders

Portal Authentication — Secure Login for All Users

HD-112 · Done
What was requested

The portal was previously accessible without login — a security gap as it moves from an internal tool to a live system with CRM data and HMR Direct push access.

What was delivered
  • Secure login screen with HMR branding — users sign in before accessing any portal feature
  • JWT-based sessions with sign-out available from the top-right user pill
  • Admin provisioning — user accounts managed via admin seed process
  • Branded error boundary: if a deploy happens mid-session, users see a clean “reload” prompt instead of a broken screen

CRM Phase 1 Refinements — Post-Mal Sessions

HD-151, HD-153, HD-154, HD-155, HD-157, HD-159 · Done
What was requested

After the April 30 initial mock-up review and the May 8 working session with Mal, a series of UX and data quality improvements were identified. Mal walked through the portal live and surfaced specific usability gaps and field-level requirements for HMR Direct submission.

What was delivered
  • Inline field editing (HD-155) — click any field on Event Detail to edit it in-place; no separate edit form
  • New Event form improvements (HD-154) — constrained dropdown values for % Goal, enforced single-planner rule, two-tier validation (Inquiry vs. Qualify-required fields), visual error indicators on missing required fields
  • Event readiness check (HD-151) — qualification gate prevents submitting to HMR Direct until all required fields are populated; shows exactly what’s missing
  • Event type + template filtering admin (HD-157) — admin UI to control which event types and templates appear in the CRM; excludes operational types (Intake Forms, HMR Operations, Parent Events)
  • MegaNav overhaul (HD-153) — Dashboard, Commission Reports, and Commission Summary absorbed into the single top navigation; no more separate nav bars per screen
  • Duplicate client detection (HD-159) — admin panel at /crm/admin/ detects and merges duplicate contact records end-to-end

Bidirectional HMR ↔ CRM Sync Infrastructure

HD-160–HD-171 · Done
What was requested

The CRM needs to stay in sync with HMR Direct in both directions: edits made in the portal should push to HMR Direct, and changes made in HMR Direct should pull back to the portal. Without this, the two systems drift apart and data integrity breaks down.

What was delivered

Complete bidirectional sync engine shipped across 12 tickets:

  • Schema foundationcrm.sync_state, sync_log, and email_log tables track every sync operation with full audit trail
  • Field ownership map — defines which system is authoritative for each field (HMR-authoritative vs. CRM-authoritative); prevents overwrite conflicts
  • CRM → HMR push — event edits, venue updates, and contact changes push to HMR Direct with pre-flight validation and user-friendly error translation (HMR API errors converted to plain English)
  • HMR → CRM pull — orchestrated pull modules with advisory locks; stage warnings when HMR moves an event to a stage the CRM doesn’t recognize
  • Idempotency keys + dead-letter pattern — failed syncs are queued for retry; no data is silently dropped
  • Stage authority reconciliation — HMR is treated as the authoritative source for event stage; CRM reverts unsupported stage moves rather than creating divergence
  • Daily automation — reminder runner, auto-Dead logic at day 35, stage auto-advance all running on schedule
Client Feedback — May 29

Decision: Confirmed working. Bidirectional sync demoed to Mal — changes in the HMR Direct dev site now reflect back into the CRM, and the CRM is live at crm.hmrdesigns.com. HD-102 moved to In Progress; Diego to grant Mal a login by Mon Jun 1 for testing.

In Progress
Currently Being Worked On

Data Chatbot — V2 Improved Iteration

HD-97 · In Progress
What was requested

From April 17 meeting: HD-97 was In Progress with V2 improvements underway. Bob had the field guide (HD-105) delivered and was invited to ask questions. V2 focus is improved query handling, better data coverage, and tighter integration into the Internal Portal.

Current status

CRM build (HD-102) took priority over the past month, which delayed V2 progress. Current state:

  • V1 chatbot remains live in the portal at /insights/data-chat
  • V2 scope has expanded — now planned as a full DataChat integration with context chips on all screens (HD-141 — draw from any CRM screen), a dedicated DataChat screen (HD-142), and a real-data backend API (HD-140)
  • Phase 4 work — DataChat is the centerpiece of the Phase 4 roadmap; Gmail OAuth integration and AI email summarization are also in Phase 4
Discussion

DataChat V2 is queued as Phase 4 work. Should this be reprioritized ahead of Phase 3 (Commission screens, Home Dashboard), or is the commission reporting data more urgent for the team right now?

Automated Portal Deployment — GitHub Actions + SSM

HD-113 · In Progress
What was requested

Portal deployments required manual SSH and shell commands. Any code update to portal.hmrdesigns.com required direct server access — slowing down the release cycle and creating a single point of failure.

Current status

CI/CD pipeline is operational — pushes to main automatically deploy to portal.hmrdesigns.com via GitHub Actions + AWS SSM Run Command. Health check on the canonical hostname is wired. Final cleanup items (hermetic CRM tests in CI, test coverage expansion) are the remaining work before this ticket closes.

Discussion
Open Items & Upcoming Work

Tableau — Contract Ends November 18, Commission Screens Still Needed

HD-91 · Discussion
Context

From April 17: auto-renewal was deactivated, contract end date is November 18, 2026. A calendar reminder was set for October 1 to audit remaining Tableau embeds in HMR Direct. The portal is now the approved replacement.

Current status

The portal’s Commission Reports and Commission Summary screens (HD-132, HD-133) have not been built yet — they are Phase 3 work. The Home Dashboard (HD-135) and Designer Performance screen (HD-134) are also Phase 3. These are the primary Tableau replacements:

  • Currently replacing Tableau: Event margins, COB analytics, Sched vs Actual Hours, Data Chat — all live in portal today
  • Still on Tableau: Commission Reports and Commission Summary (Phase 3), any Tableau embeds still inside HMR Direct
  • Timeline: Phase 3 build needs to start by ~August to leave buffer before the October 1 audit date
Action needed

Bob/Jonathan: Are there any Tableau embeds still active inside HMR Direct that we haven’t catalogued? We need a list by the October 1 audit. Diego to schedule Phase 3 start date once CRM Phase 1 is fully closed out.

Analytics Emails Going to Spam

Operational · Discussion
Context

On May 13, Jonathan emailed asking why he hadn’t received the April Sched vs Actual Hours report. He also asked if weekly COB reports were still being sent. Both Amanda (custom project notifications) and Jonathan (hours reports) independently hit this issue in the same week.

Current status

All emails are sending correctly from our end — the issue is Google’s spam filters flagging analytics@hmrdesigns.com. Both Jonathan and Amanda confirmed their emails were in spam once they checked:

  • Jonathan found the April hours report in spam on May 13
  • Amanda found custom project notification emails in spam on May 5
  • A Google Workspace admin alert on May 12 flagged “13 messages reported as spam” from analytics@hmrdesigns.com
  • A second spike alert fired May 18 (“18 messages reported as spam”)
Action needed

Bob/Jonathan: Please add analytics@hmrdesigns.com to the safe senders / whitelist in Google Workspace for all recipients (Bob, Jonathan, Mal, Amanda, Mari Noga, and others on the distribution lists). This will stop the spam misclassification. Diego to provide the full recipient list if needed.

Client Feedback — May 29

Decision: Confirmed in the meeting — emails still landing in spam in both Diego's and Bob's mailboxes. Bob granted Diego super admin on the HMR Google Workspace to investigate the root cause. Tracked as HD-187; Diego to forward the latest margin-anomaly report to Bob to verify receipt.

Nutshell CRM — Sunset & Cancellation

Discussion · Decision Needed
Context

Nutshell was to be replaced by the custom HMR CRM. On May 6, Mal emailed to confirm: “Please proceed with our custom CRM portal. The team is not using Nutshell.” Nutshell reached out with their Q2 check-in on May 5; Mal forwarded it asking who would notify them of the switch.

Current status

The custom CRM portal is live. Nutshell is not being used. The open question is the formal cancellation:

  • Mal confirmed May 6: team is off Nutshell, proceed with custom portal
  • Nutshell account is still active (subscription still running)
  • Diego responded to Mal on May 5 with context on the open items (sync gaps, missing API fields) and deferred the notification
Action needed

Decision: Who notifies Nutshell? Mal asked Diego to handle on May 6 — confirm today and Diego will send the cancellation notice. Need to know the subscription billing cycle to time the cancellation correctly.

Custom Projects Notifications — Soft-Delete Bug (Resolved + Fix In Progress)

HD-170 · New
Context

On May 13, Amanda Filsinger reported that two Shop custom projects on Event #17221 (the bronze cap items for the Jax Sarnoff Bar Mitzvah) were missing from the daily department manager notification email to Mari Noga. She asked why projects that had “Shop” selected were left out.

What was done

Root cause identified and resolved on May 14:

  • Root cause: two rows were soft-deleted by a transient Redshift gap (a momentary sync issue flagged the rows as deleted; the flag was one-way and couldn’t reverse)
  • Immediate fix: the two Event 17221 rows were manually restored; a sweep of all departments confirmed no other false-positive removals (155 other is_deleted rows are correctly deleted)
  • Reply to Amanda sent May 14: confirmed the bronze cap items have been restored and are back in the notification list
  • Permanent fix (HD-170, in queue): the soft-delete logic will be made self-healing — if a deleted row reappears in Redshift, the system will automatically restore it on the next nightly run; audit columns (is_deleted_at, is_deleted_reason) will be added for future traceability
Action Items

Actions & Next Steps

  1. Analytics Emails: Bob/Jonathan to add analytics@hmrdesigns.com to safe senders in Google Workspace for all distribution list recipients. (Prevents spam misclassification for daily margin anomaly, hours reports, and custom project notifications.)
  2. Nutshell Cancellation: Confirm Diego sends the Nutshell cancellation notice. Provide billing cycle info so cancellation is timed correctly.
  3. Tableau — HMR Direct Embeds: Bob/Jonathan to identify any Tableau reports still embedded inside HMR Direct that haven’t been migrated. Full list needed before October 1 audit date.
  4. Chatbot V2 Priority: Confirm whether DataChat V2 (Phase 4) should be prioritized ahead of Commission Reports / Home Dashboard (Phase 3), or if commission reporting data is more urgent.
  5. Portal Access: Confirm who on the HMR team needs login credentials for portal.hmrdesigns.com — Diego to provision accounts.
Debrief — May 29, 2026

Decisions

  1. Proposal alert: trigger an alert when an event proposal is unapproved within ~10 days of the event (Bob). → HD-186
  2. Schedule vs Actual hours — deferred: wait for broader manager adoption of the Direct scheduler before exposing per-person scheduled hours in Redshift (only Tony Little's team uses it today). → HD-96
  3. COB report sort: add department-then-person sort to Time Entry by Resource. → HD-189
  4. Initiate event comms in the CRM: new-event correspondence starts in the CRM so AI auto-association threads off it; multi-event clients must map to the correct event (Mal). → HD-172

New tickets (assigned to Haziq)

  1. HD-186 — Proposal-unapproved (10-day) trigger alert
  2. HD-187 — Fix analytics@hmrdesigns.com landing in spam (Diego now super admin)
  3. HD-188 — Investigate leaked-credential alerts; assess org-wide password reset
  4. HD-189 — Department→person sort on Time Entry by Resource
Talking Points from May 29

Not Ticketed — Raise on Next Call

  1. Nutshell cancellation — not discussed May 29. Still open: who formally notifies Nutshell, and timing against the billing cycle.
  2. Tableau embed audit (HD-91) — not discussed. Bob/Jonathan still owe a list of any Tableau embeds inside HMR Direct before the Oct 1 audit.
  3. COB / clocking compliance guide — Jonathan. Jonathan to act on Time-Entry-by-Resource findings with Amanda; broader compliance guide with Don still pending.
  4. Cash-forecast strategy — group. Still pending a scoping session (sub-budget split at job start, forecast cadence).
  5. Bonus-KPI framework — Jonathan (new). Tie manager monthly hours-report performance to bonuses; in-process by Jonathan.
Talking Points from April 17

Non-Ticketed Items — Status Check

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

  1. COB / Clocking Compliance Guide — Jonathan’s action. Jonathan committed in April to talking to Don about creating a clocking procedure guide and to Amanda about manager compliance. The COB analytics (HD-104) have been live since April. Has Jonathan made progress on the compliance guide with Don and Amanda?
  2. Cash Forecast Strategy — group decision. Bob and Jonathan surfaced the need to forecast cash from active jobs using decor/sub budget splits. Still requires: (a) sales team confirming sub budget split is entered at job start, (b) agreeing on forecast cadence, (c) a dedicated scoping session. Still pending, or ready to schedule?