HV Tech Stack Chapter 01 · Stack
Every component in the platform. What it does. What it costs. Who owns it.
I.
Part One
A hub in the middle. Spokes at the edges. A traffic cop between them.
Heritage Village runs on a hub-and-spoke model. Microsoft Dataverse is the hub. WordPress, AUC/ADMINS, MaintainX, Constant Contact, WebTrac, and libib are spokes. Power Automate is the traffic cop between them. Teams and SharePoint handle staff surfaces. SendGrid or Mailgun carries transactional email once the resident portal launches.
The golden rule: every piece of data has exactly one owner. AUC owns units and owners of record. MaintainX owns work orders. Dataverse owns the verified contact directory. WordPress owns editorial content and form intake.
Budget lives in one place: hv-data-hub/PLAN.md §5.
Consolidated totals with CT tax: Year 1 $11,384.99 including the one-time
site build; steady state $5,777.52 a year. Totals include SendGrid (in the
base budget as of 2026-07-05), a domain-renewal placeholder (~$27 a year;
confirm the current payer), and a $500-a-year unforeseen-expenses buffer.
The hub core costs $638.10 a year.
II.
Part Two
Eleven pieces carry the platform. Each does one job well.
The public website and gated resident portal. A custom theme built from vanilla HTML, CSS, and JavaScript. Staff edit content through a stripped-down admin. The theme disables Gutenberg on locked pages and enables it on the editorial blog.
Strict form fields replace the open text editor. Staff see labeled inputs for headline, date, committee, PDF, and meeting video. The layout stays locked.
Form capture for resident submissions. A small custom
gform_after_submission hook posts each entry to Power Automate.
The Basic tier plus that hook replaces the $259 Elite tier.
The master database. Holds the resident roster, unit ownership, approved vehicles, variance records, work-order history mirrored from MaintainX, and every form submission. One brain. One source of truth for contact data. The directory consolidates four conflicting sources: AUC, the directory spreadsheet, MaintainX contacts, and the census. AUC is the spine. Every contact field carries a source stamp, a verified date, and a completeness flag.
The middleware between every spoke. Triggers on webhooks, database events, and schedules. Translates payloads. Prevents infinite loops by checking the service-account author on every sync.
The property and accounting system. Source of truth for units, owners of record, and financials (AP, AR, GL). The most vetted data in the Village. It is the spine of the directory consolidation.
Work orders for trades and office staff. Already in heavy daily use. Stays in place.
Calendar, class sign-ups, and space bookings. Already in place. Residents click through; the portal does not wrap it.
/living-here/activities; the homepage pulls a lightweight event feed where the vendor supports it.The e-Bulletin newsletter provider. Sends to opted-in residents.
Library catalog for the community library.
/living-here/facilities/library.Delivers magic-link emails, form confirmations, and staff notifications. Pairs with WP Mail SMTP. SendGrid or Mailgun both fit.
III.
Part Three
Where the people who run the place actually work.
Every staff member lives here. Premium licenses go to builders. Standard licenses get Adaptive Cards.
The reporting tier for tier-3 staff. Power Automate writes nightly upserts to Excel files on SharePoint. Staff open the files through their standard M365 license.
Single sign-on for staff. Binds to Dataverse and Power Apps.
IV.
Part Four
Three tiers. Each maps to a Microsoft license level.
Paid seats today, exactly three: one Power Apps Premium (Nate, $20/month) and two Power Automate Premium at $15/month each (the sync service account and the security lead's standalone staffing and compliance flows). Everyone else consumes emailed outputs on their existing M365 license. Trades workers stay on kiosk licenses as long as they only receive emailed outputs.
See Auth for the full role table.
V.
Part Five
The whole stack on one page. Seventeen rows, one sentence apiece.
| Layer | Component | Cost / year (w/ CT tax) | Owner |
|---|---|---|---|
| Frontend | WordPress custom theme | $0 core | HV IT |
| Hosting | WP Engine | $414.77 | HV IT |
| Forms | Gravity Forms Basic | $62.75 | HV IT |
| Fields | ACF Pro | $52.11 | HV IT |
| Builder seat | Power Apps Premium (1, Nate) | $255.24 | Nate |
| Middleware | Power Automate Premium (2 seats) | $382.86 | Nate |
| Hub DB | Microsoft Dataverse | $0 (free baseline) | Nate |
| Property | AUC / ADMINS | existing | Office |
| Trades | MaintainX | existing, API in use | Ops |
| Events | WebTrac | existing | Activities |
| Newsletter | Constant Contact | existing | Comms |
| Library | libib | existing | Volunteers |
| SendGrid or Mailgun | $254.60 | HV IT | |
| Domain | registrar TBD (confirm payer) | $26.59 placeholder | HV IT |
| AI | Claude Max + metered API | $3,828.60 | Nate |
| Staff chat | Teams | M365 | HV IT |
| Reporting | SharePoint + Excel | M365 | HV IT |
| Identity | Entra ID | M365 | HV IT |
The table matches the consolidated budget in hv-data-hub/PLAN.md §5
and Website-budget.xlsx. Year 1 adds the one-time $5,607.47 site build.
Hosting platform choice lives in Operations. The plugin list beyond ACF Pro lives in Auth. The design system (typography, palette) is locked in the design-system folder.