Hydra OS Releases.
The latest features, integrations, and improvements rolling out across the Hydra OS platform — shipped to every client site from one central deploy.
- Go-liveNew Feature
Temperature Control Services is live on Hydra OS — Creedmoor / Triangle HVAC now serving www.tempcontrolservice.com
Temperature Control Services cut over to Hydra OS on Jul 17, 2026 at www.tempcontrolservice.com, and the production site verifies end to end: homepage title HVAC in Creedmoor, NC, the Comfort that cools & heats — done right hero, family-owned & operated since 2019, 24/7 emergency service, NC Mechanical License # L.34508, LG + Amana manufacturer surfaces, Request Service + Hearth financing conversion paths, and (919) 529-4700 in reach. The launch sitemap carries 782 URLs — a Triangle-wide service mesh from Creedmoor through Durham, Wake Forest, Apex, Cary, and Chapel Hill, a Learning Center, careers with three live roles, and a review funnel. After scores stay unpublished until measured on the live domain.
- Go-liveNew Feature
Smith Heating, Air & Sheet Metal is live on Hydra OS — Southern Illinois HVAC + fabrication now serving smithhvacpros.com
Smith Heating, Air, & Sheet Metal cut over to Hydra OS on Jul 18, 2026 at smithhvacpros.com. The live homepage leads with “Southern Illinois comfort, built around your home,” keeps (618) 965-2665 in reach, and ships a 152-URL launch sitemap: three service silos (Air Conditioning, Heating, and Sheet Metal — custom fabrication, ductwork installation, duct repair) meshed across Steeleville, Chester, Sparta, Red Bud, Pinckneyville, Murphysboro, Du Quoin, and Nashville, IL plus Perryville, MO, with community pages under Steeleville, a learn / evaluate / act Learning Center, eight blog posts, a Daikin Comfort resource page, and live careers, financing, maintenance, warranties, and emergency paths. After scores stay unpublished until measured on the live domain.
- Get StartedImprovement
Compliance Package Included — now shown on every website package
Every website package — Lean Launch through Multi-Location Franchise — now states Compliance Package included: ADA accessibility (WCAG 2.1 AA), Cookie Consent (GDPR / CCPA), Privacy Policy & Terms legal pages, and A2P 10DLC compliance when AI text / chat / voice is enabled. It appears on the package cards, the What's included rows, the plan recommendation, the order cart scope line, and the signed MSA PDF — the same go-live commitments already stated in the Legal & compliance onboarding section, now visible at purchase time.
- Get StartedImprovement
Content scope shows the authority cluster tree — and approve/de-approve sticks
Step 13 is rebuilt around the cluster/authority connectivity clients are buying. A new explainer shows how it connects: brand & EEAT pages anchor the site, one site-level page tops each service silo, every market gets ONE Company/Contractor authority hub, and each Service · City · Variation page links up to its hub. EEAT pages now show their real names (Home, About Us, Reviews & Testimonials, Financing, Careers… — the full 12-page brand-search set) with a Brand search badge instead of a fake 50k volume. The near-duplicate per-phrase hub rows are gone — one hub per category per market, titled {Category} Company / Contractor in {City} — and city/community/county sections group each market as one cluster: hub first, service pages under it. Approve and de-approve now stick: the seeder never overwrites an existing selection.
- Get StartedImprovement
Variations step gets Select all / Deselect all
Step 6 (How do people search for it?) now has the same bulk controls as the Services step: a master toolbar showing how many job types are selected out of the full set with Select all job types + Deselect all, and a per-product Select all / Deselect button on every product card — so covering Installation, Replacement, Repair & Service, Maintenance & Tune Up, and Inspection across every product is one click instead of dozens. Bulk and single selections share one aggregate rebuild so the per-category payload can never drift.
- Get StartedImprovement
The MSA PDF is now branded — and lists every consent you agreed to
The downloadable Plan-as-MSA PDF gets the CI Web Group design language: an ink masthead with the Hydra OS wordmark and a SIGNED/DRAFT badge, ember-ruled sections, a website-investment totals card, and page-numbered footers on every page. New Approvals & consents section lists the exact language agreed to at signature — Terms & Conditions, SMS consent, Slack-only communication, the feedback commitment, and the onboarding & payment window — each with a checked box and its full verbatim text, so the signed document records what was agreed, not just that boxes were ticked.
- TeamNew Feature
MaryJo Mickalich's Hands Up letter — “Buckle Up. Hands Up. Let's Ride.” joins her team page
MaryJo Mickalich, Design and Engineering Operations Manager, publishes her Voices from the Team piece verbatim on her team page: from Houghton in Michigan's Upper Peninsula to running the design-and-engineering pipeline that takes a site from onboarding to live in as little as a week on Hydra. Never a follower, laid off in May 2023, hired after watching Jenn's videos, promoted from Marketing Specialist to Creative Project Manager in months — her letter covers the Webflow-to-Hydra shift, failing forward, the basketball coach who won championships by pushing, and the Heart Award captaincy that taught her leadership is attitude, effort, and showing up. Her line “Jenn is the coach who takes home championship trophies” joins the Voices wall.
- Get StartedImprovement
New lead emails are designed documents — no more code dumps
Every Get Started submission now ships a finished, MSA-style email through the Synapse pub/sub pipeline: subject line New lead — {business} · {event} (never new sign up or new customer), a branded HTML body with the contact block, investment summary, agreement status, and deep links, and a clean text fallback. The raw order JSON no longer appears in the email body — it rides in its own machine field — and the final payment submission attaches the signed Plan-as-MSA PDF so the New lead email carries the agreement itself.
- Get StartedImprovement
Guided onboarding now collects the compete-and-win answers
Nineteen new (all skippable) intake questions close the gaps between a good build and a compete-and-win build: your above-the-fold new-customer offer (e.g. $50 for new customers) with honest terms, service-call/diagnostic fee, rebate + incentive programs, free estimates and price-match promises with real conditions, the competitors you actually lose jobs to plus the white space they leave open, testimonial republication permission and your proudest reviews, always-use vocabulary to pair with the never-use list, mood-board links, Meta pixel + paid-ads history so retargeting survives migration, your monthly lead baseline so post-launch reports measure against a real before-picture, and press + community proof for E-E-A-T. The ~15-minute critical path does not grow.
- Get StartedImprovement
AI-to-AI onboarding v4 — industry-matched prompts, one Master Document back
The AI-to-AI path now ships two prompt editions — Trades & Home Services and Professional Services — auto-matched from your industry pick. Run the prompt in the AI that knows your business best (Claude, ChatGPT, Gemini, or Grok), give it your website address first, and it interviews you in rounds — skip or exclude anything — until ONE 100% thorough markdown document is complete. The document opens with the mission (a high-end rebuild designed to compete and win: world-class design system on your brand, client-first, white-space and first-intent conversion opportunities like $50-for-new-customers above the fold) and covers SEO, AEO, GEO, EEAT, NLP, CRO, AXO, and SXO. Paste or upload the single file — we split and validate all 21 sections — and it lands in your Hydra knowledgebase as the brain behind the agents that design, develop, and optimize your website, content, blogs, images, and infographics.
- Get StartedImprovement
The process on every agreement — and included rounds of changes per package
Fast Track now states the full qualification: payment + onboarding and assets are all required, and timelines are estimates based on our production queue, confirmed upon receipt of MSA, payment, onboarding, and assets. The agreement (and PDF) walks the process — Sign, Pay, Onboard, Assets, Publish to Slack, and the first meeting is your website review. Feedback arrives consolidated in a single document with instructions for Hydra AI; we complete your included rounds of changes, then prep go-live. Every package now shows its rounds: NEO Build 1 round of minor changes, Essentials 1, Starter 2, Premium 3, Signature 4, Studio and up 5 (max).
- Get StartedImprovement
Every website package shows website investment + monthly maintenance
Package cards now label the one-time price as Website investment and the recurring fee as Monthly maintenance. Maintenance includes basic changes within your in-plan credits, servers, security, and Slack access. Extensive changes above those credits — design changes, development, or new pages — require Build Credits. Same story on the plan recommendation, What’s included rows, and the order cart.
- Get StartedImprovement
Press releases start timing — Starts now or At go-live only
Growth Plan press-release start options no longer include At design review. Choose Starts now or At go-live — matching AI Local and Link Building. The At go-live label is used across timing chips.
- Get StartedImprovement
Content scope shows the full strategy — first writing wave uses the package page floor
Step 13 no longer looks empty when Customize was dialed to 1 content page. The content strategy size is shown up front; if writing budget is below the design-package envelope (e.g. Lean 10), we raise it to that first-wave floor and seed EEAT + strongest titles. Copy clarifies deferred pages are still in the strategy — Approve first writing wave, or add pages for the rest.
- Get StartedImprovement
Lean/Essentials include no free components — pinned page SKUs, EEAT pages first, Copy quote, Starts now
Lean Launch and Essentials Build no longer include free custom components (Starter+ still does). Build Components pins Learning Center, Hyper Local, transparent pricing, Commercial Buildings, Brand Catalog, and Service Area Pages to the top when filters match, with page-quantity steppers on those SKUs. Content scope leads with EEAT authority pages (Home, About Us, Contact Us, Our Team) as optimized page titles in clusters. Hydra Blogging and Strategy Sessions show Starts now (billing and setup begin immediately). Checkout Copy summary + payload is now Copy quote — a formatted investment quote without the Synapse JSON.
- Get StartedImprovement
Add Additional Pages with Content can be set to zero
Customize Plan no longer floors content pages at 1. The Additional Pages stepper (and scope-lock page count) can go to 0 when you do not want pillar content writing on the order — content subtotal becomes $0.
- Get StartedImprovement
Website packages are not templates — customization depth follows design credits
Get Started package copy no longer frames designs as templates. Essentials and Starter blurbs, design-level chips, and the credits explainer now state that customization depth scales with the design-credit budget on each tier.
- BugfixImprovement
Homepage Hydra OS in Motion — fix literal \u2014 showing instead of an em dash
The Getting started, step by step lede on the homepage was rendering the raw escape \u2014 in JSX text. Replaced with a real em dash and added a guard test so Unicode escapes cannot leak into .tsx/.astro text nodes again.
- Get StartedImprovement
Website packages: no custom-component lines — Starter+ is 100% SEO, AEO, GEO EEAT
Get Started package cards no longer advertise custom component credits. Starter Build and every tier above it now show 100% SEO, AEO, GEO EEAT optimization; Lean and Essentials keep their entry SEO %. Includes rows are Design Credits, Design, Pages, and SEO / AEO / GEO only.
- Get StartedImprovement
Get Started website packages — cleaner cards, hover/tap What’s included, clearer content add-on
Step 11 package cards are simpler boxes with Pages / Credits / SEO chips up front. The full standardized Includes table opens on desktop hover or a What’s included tap on mobile. Content add-on retitled “Add Additional Pages with Content.”
- Hydra LaunchesContent Engineering
Brooks Heating & Air — Nathalie Brooks Hands Up letter “The Incomparable Jennifer Bagley”
The /featured-customers/brooksheatingandair prep story now leads with co-owner Nathalie Brooks's full Hands Up excerpt: meeting Jennifer at EGIA, Women in HVAC Canada, years of CI Web Group partnership through Webflow and AI, and Hydra as the next step with Jennifer and Mike. Still prep — no invented after scores.
- Free offerContent Engineering
Free Website Audit page now features Sarge, Neo, and Groot — request by email or phone
/free-website-audit is reframed around an autonomous-agent evaluation, not a crummy sales-tool score. Featured agents: Sarge (strategy), Neo (design/performance), and Groot (SEO / AEO / GEO). Open to current customers and new prospects. Request by emailing [email protected] or calling (877) 839-1122 — no on-site form.
- Vendor MarketplaceContent Engineering
Unify360 joins the Vendor Marketplace — messaging, reviews, and social in one Technology Solutions platform
Unify360 is now listed under Technology Solutions on /vendor-marketplace with a dedicated /vendors/unify360 page. Omnichannel inbox, AI chatbot, review automation, and social content — paired with CI Web Group marketing as the flywheel that answers every lead, turns jobs into reviews, and feeds AI-search visibility.
- TeamContent Engineering
Marina Brenko is back — Strategic Account Manager for Franchise, Private Equity, and Hisense / Johnstone Supply
Welcome back Marina Brenko. Her /team/marina-brenko page is live beside Vee Nettles — Strategic Account Manager owning CI Web Group's Franchise, Private Equity, and Hisense / Johnstone Supply accounts after returning from Groovy Hues Painting of Greater Philadelphia.
- Hydra LaunchesContent Engineering
Glendale Heating prep story adds Sarah Turner's LinkedIn praise — AI-ready build, Vee Nettles onboarding
The /featured-customers/glendaleheating Watch-us-while-we-work story now carries owner Sarah Turner's public LinkedIn post thanking CI Web Group, onboarding specialist Vee Nettles, and Jennifer Bagley for a fast AI-ready website build she is “very proud of,” plus Vee's reply that the new site will be live soon. Pull quote, supporting-evidence screenshot, milestone, and Voices registry entry added — still prep, no after scores until cutover.
- InvestmentContent Engineering
How much does a website cost now starts at $5K — Temperature Control Services joins the portfolio
The /how-much-does-a-website-cost portfolio adds a $5K NEO entry band with Temperature Control Services (www.tempcontrolservice.com) as the live Creedmoor / Triangle HVAC proof — 780+ page service mesh, Request Service, Hearth financing, repair-or-replace, heat-pump rebate estimator, and Learning Center on a ship-ready Hydra frame. Range copy updates from $15K–$200K to $5K–$200K.
- Go-liveContent Engineering
Temperature Control Services is live on Hydra OS — Creedmoor / Triangle HVAC now serving www.tempcontrolservice.com
Temperature Control Services cut over to Hydra OS on Jul 17, 2026. The production domain www.tempcontrolservice.com now serves the Creedmoor / Triangle build — Comfort, Done Right positioning, family-owned since 2019, NC License # L.34508, 4.9 Google rating, Request Service + Hearth financing paths, LG + Amana manufacturer surfaces, Learning Center, and (919) 529-4700 in reach. After scores stay unpublished until measured on the live domain.
- Hydra LaunchesContent Engineering
Eco Services Hydra Launches story updated — full custom-component timeline through Smart Panel + Booking Wizard
The /featured-customers/eco-services post now tracks every major custom module shipped (and shipping) after go-live: Washington Home Showcase, Property Systems Widget, honest-pricing cost-guide mesh, Energy Savings Planner, Generator Match Quiz, native Booking Wizard, Instagram go-live reel, Smart Panel load simulator, commercial hydro-jetting, HPWH savings calculator — plus the interactive education wave still in the Eco build pipeline. Before/after timeline, components list, interactive showcase, and milestones section all refreshed from the live ecoserviceswa.com build record.
- Go-liveContent Engineering
Central Washington Heating and Air is live on Hydra OS — Wenatchee Valley HVAC now serving centralwashingtonheating.com
Central Washington Heating and Air cut over to Hydra OS on Jul 17, 2026. The production domain centralwashingtonheating.com now serves the Wenatchee Valley build — Comfort you can count on positioning, family & veteran owned for 30+ years, Daikin Comfort Pro, license CENTRWH742JN, FREE 2nd opinion + Diagnose My System conversion paths, and (509) 776-0247 in reach. After scores stay unpublished until measured on the live domain.
- Team · LeadershipContent Engineering
Sherry Winn's leadership endorsement lands on Jennifer Bagley's page — She Wasn't Interested in Leading for Today
Two-time Olympian, leadership speaker, and CEO of The Winning Leadership Company Sherry Winn published her endorsement of Jennifer Bagley in her own words on /team/jennifer-bagley. Drawn from their Winning Leadership: Seven Secrets to Being A Truly Powerful Leader interview relationship, the letter centers the burden of visionary leadership, the courage to question what already works, and why Jennifer has earned the respect of people who work alongside her. Pull quotes join the Voices registry; the full letter sits under a Leadership endorsement treatment beside Hands Up.
- Client StoriesContent Engineering
Michelle Myers' letter lands on Pink Callers — The Voice That Builds the Business
Founder & CEO Michelle Myers published “The Voice That Builds the Business — A Legacy in the Making” in her own words on the Pink Callers Webflow go-live story. Ministry and construction as one upbringing, the phone call that starts every customer experience, AI that supports people who build the legacy rather than replacing them, and why she entrusted Pink Callers' 2025 refresh to Jennifer Bagley and CI Web Group. Pull quotes join Voices; the full letter sits under the founder's-desk treatment on /featured-customers/pink-callers.
- Team voiceContent Engineering
My Why — Kathy Marshall's Hands Up letter, published verbatim on her team page
Equity partner and Sr. Customer Success Manager Kathy Marshall's Hands Up essay “My Why” is now on her team page, published in her own words and unedited — the founding voice from Jennifer Bagley's Voices from the Team section. She writes about leaving medicine after 18 years as a Physician Assistant, finding Jennifer online, the Friendswood-to-Dallas drive that hooked her, saying YES at dinner at Raw, and the medical benefits that carried her through uterine cancer treatment while she kept working. Closing line joins the verified Voices registry: “I have one word for Jennifer. She is just brilliant and remains strong in her purpose and growth.”
- Client Stories · Hands UpContent Engineering
Joe Zimmer's letter lands on Legendary Service — the kind of partner every business should be looking for
Owner Joe Zimmer published “The Kind of Partner Every Business Should Be Looking For” in his own words on the Legendary Service Hydra prep story. Thirty years in plumbing, a 2008 company, a 2022 HVAC expansion, and a clear rejection of marketing shops that said Google takes time, spend more money, and just keep waiting. He had been following Jennifer Bagley, saw she was already building for AI-era search, and chose CI Web Group. Pull quotes join Voices and the testimonials wall; the Hands Up book panel sits under the letter; every surface links back to legendaryservice.com and the staged Hydra build.
- Client Stories · Hands UpContent Engineering
Six Star Heating & Cooling — AJ Laugelli's Hands Up letter “What I Was Looking For Was Hope”
Founder & President AJ Laugelli published “What I Was Looking For Was Hope” in his own words on the Six Star Heating & Cooling Hydra prep story. The full letter sits under the founder’s-desk treatment with the Hands Up book panel; his hope line leads Voices and the testimonials wall; and every surface links back to the Carnegie & Greater Pittsburgh staging build.
- Get Started · Website tiersImprovement
Lean Launch stays profitable at $1,500 — Value AI, 250 credits, basic SEO; every tier now spells out AI lane, SEO, components, and design
Lean Launch is redefined so the $1,500 entry price holds margin: 250 AI credits (down from 800) on the Value / efficient-AI lane, template + brand-token design, one starter build component, and basic on-page SEO only — not a discounted full Hydra build. Essentials and above unlock Standard AI (Grok), advanced SEO, deeper design customization, and a rising component ladder (Lean 1 → Franchise 8). Customize Plan tier cards and Your Plan now show delivery lane, SEO depth, included components, and design level as chips so buyers see exactly what each investment includes before they add à la carte components.
- Intent-first catalogBuild Components
Build Components is now an intent-first sales tool — shop by outcome, ranked by performance value, plus 8 Wave 1 SKUs
The /services/build-components authority page is rebuilt around customer intent (get found, win high intent, convert, beat competitors, build authority, own local, run operations, delight). Every SKU carries performanceTier + outcome + KPI metadata; the default catalog order is the performance ladder (search demand → high-intent capture → trust → operations → delight). Recommended packs (Get Found, Win the Quote, Local Domination, Book More Jobs) sit above the ranked library. The unlisted /build store and Get Started StepOrder mirror intent chips + performance sort and show outcome lines on every card. Wave 1 productizes eight client-proven modules into the catalog: Free Second Opinion / Quote Review Funnel, Best Company Buyer’s Guide, Commercial Audience / Facility Pages, Room & Space-Use SEO Pages, Water / Utility Profile Hub, Pre-Purchase / Homebuyer Inspection Funnel, Review Funnel Page, and Sticky Mobile Action Bar — with intake, designed previews, and interactive scope demos. Catalog export now includes intent / tier / outcome for Synapse and sales.
- Get Started · Step 1Improvement
How did you hear about us is five channels — partner credit is multi-select (including strategic alliance)
Step 1 hear-about is now Referral, Existing client, On AI search, On Google, Social Media, or Live event. Manufacturer, distributor, vendor, and strategic alliance (EverRest Group and other alliance partners) are a separate Partner credit block where prospects can select all options in each group. Distributor credit still collects TSM name/email/cell. Order payload adds referral_*_slugs arrays; legacy partner-as-source drafts migrate into the arrays and re-ask for a current channel.
- Get Started · Step 1Improvement
CI Web Group sales rep moves to the top of Step 1 — not a “how did you hear about us” option
Prospects who are already working with a CIWG sales rep pick them first on Step 1. Sales rep is no longer one of the hear-about cards (Vendor / Manufacturer / Distributor / Other). The slug still ships as referral_sales_rep_slug; legacy drafts that stored sales_rep as a referral source are migrated so they re-answer hear-about without losing the rep.
- Partners · HisenseImprovement
Hisense Comfort manufacturer partner page is fully built out
/partners/strategic/hisense now carries the official Hisense Comfort logo, a full about section covering the public ductless / inverter-ducted / VRF lineup, dealer benefits, in-the-field notes, and a citation back to hisensecomfort.com — the same preferred-partner template used across the manufacturer roster.
- Partners · ManufacturersNew Feature
Hisense leads the manufacturer partners list — Day & Night joins the roster
/partners/manufacturers now opens with Hisense Comfort, followed by Day & Night, then the existing Daikin family and Mitsubishi Electric partners. Both brands also appear in Get Started HVAC brand chips, onboarding manufacturer-brand options, and the trades manufacturer→brand pre-seed map.
- Featured · Eco InstagramNew Feature
Eco Electric's Instagram go-live reel is featured on the homepage and Eco launch story
The reel Eco Electric, Plumbing, Heating & Air (@ecoserviceswa) posted about their Hydra OS launch is now embedded on the CI Web Group homepage (below Featured Hydra websites) and pinned to the top of /featured-customers/eco-services via Instagram's official embed.
- Get Started · Content scopeImprovement
Content scope is organized by expandable category — include/exclude cities, services, brands, audiences, and Learning Center
Step 13 no longer uses a flat priority list with up/down arrows. Prospects work category by category (Cities, Communities, Counties, Services, Brands, Home types, Target audiences/facilities, Learning Center), expand a group, and include or exclude pages with checkboxes plus bulk Include all / Exclude all. Kept pages still ship to Content Agent / Neo in search-volume order under the page budget.
- Get Started · AudiencesNew Feature
Residential home-type and commercial facility pages on Step 4 — plus AeroSeal and Building Science services
Capturing every audience is now first-class. When Residential is selected, Step 4 offers home-type content pages (townhome, condo, mobile/manufactured, multi-family, luxury, new construction…). When Commercial / Light Commercial is selected, it offers facility audiences (hospitals, schools, government buildings, malls, strip malls, gas stations, server rooms, data centers, offices, restaurants, hotels, warehouses…). Each selection becomes a kind=audience ContentTarget billed as $16 content in TAM/scope. Service catalog adds AeroSeal under IAQ and a Building Science / Performance group (blower door, duct leakage, thermal imaging, spray foam, DOAS, VRF/VRV, make-up air). Trades segments also gain Education, Healthcare, Restaurants, Worship, and Fitness. lib/get-started-audiences.test.mjs pins the matrix.
- Get Started · PricingImprovement
Brand Catalog sales pages are $100 each; city/community/county + Learning Center topics bill as $16 content during Customize — packs are post-live Build add-ons
Brand page rate drops from $200 to $100 (20 credits). Customize seeds content pages at $16 for core + city/community/county × service × variation + Step 8 Learning Center topics (contentPagesFromStrategy); brandPageQty remains a separate SKU. Learning Center packs ($2,000 / 20 pages) no longer auto-sync from Step 8 — packs are the post-live / Build store path when expanding after go-live. Scope-lock budget = content pages + brand pages so brands do not steal writing slots from geo content. Copy updated on Steps 8, 10, and 11.
- Get Started · Content strategyNew Feature
Learning Center topics (Learn / Compare / Act) and Counties join the content strategy — selectable pages in TAM and scope lock
New Step 8 lets prospects pick Learning Center topics across Learn, Compare, and Act (plus custom topics). Each topic becomes a kind=learning ContentTarget that counts in StrategySummary.learningPages / totalPages and competes in content prioritization (billed as $16 content during Customize). Step 3 target modes now include Counties (and All) — county hub pages multiply city×service math like cities/communities. Wizard is 15 steps; drafts missing learningCenterTopics shift past step 8. Payload: learning_center_topics, learning_center{qty,from_strategy,pages_per_pack,topics}, one_time.learning_center_packs, custom_counties. lib/get-started-learning-center.test.mjs pins the matrix.
- Get Started · Content strategyImprovement
Brand Catalog pages join TAM + content prioritization — Step 7 brands count like city×service pages and auto-fill the Brand pages qty
Selected Step 7 brands are no longer metadata-only. Each unique brand becomes a kind=brand ContentTarget in buildContentTargets (site-level, skipped by city/community cannibalization), adds to StrategySummary.brandPages / totalPages (tier recommendation), and competes in Step 13 scope lock alongside geo pages. brandPageQty syncs from the unique brand count when brands change and when Build Your Website seeds. Payload: content_scope rows carry kind/brand/product_type; one_time.brand_pages + brand_pages{qty,from_strategy,brands}. lib/get-started-brand-pages.test.mjs pins the matrix.
- Get Started · BrandsNew Feature
New strategy Step 7 — Brands you sell by product type (HVAC, Water Heaters, Electrical…), cities-style chips for trades companies
Trades prospects now declare every brand they sell/service, grouped by brandable product type derived from the Step 5 services they picked — HVAC, Water Heaters, Plumbing Fixtures, Electrical, Generators, EV Chargers, Garage Doors, Roofing, Solar, Indoor Air Quality. UI mirrors cities: catalog chip toggles plus free-text add (comma-paste). Step 1 primary manufacturer pre-seeds HVAC when empty. Non-trades see a skip card. Wizard grows to 14 steps (Conversions+ shift by one); v1/v2 drafts migrate via missing brandsByProductType. Payload key: brands_by_product_type. lib/get-started-brands.test.mjs pins catalog derivation, validation, payload, and draft shift.
- Get Started · Step 1New Feature
How did you hear about us — Vendor Partner, Manufacturer, Distributor (+ TSM), or CIWG sales rep — plus manufacturer/distributor capture for Trades companies
Strategy step 1 now asks how the prospect found CI Web Group, with conditional follow-ups: Vendor Partners (marketplace list), Manufacturer (Daikin/Goodman/Amana/Mitsubishi), Distributor (22 strategic distributors + TSM name/email/cell), CI Web Group sales rep (curated sales-facing TEAM), or Other (free text). Trades & Home Services also requires the contractor’s primary manufacturer and distributor (with Other/not-listed free text) so co-op, content, and partner routing start with real supply-chain context. Fields land on ContactInfo, validate in stepErrors(1), and ship through buildOrderPayload as referral_* + trades_* snake_case keys for Synapse. lib/get-started-referral.test.mjs pins the catalog, validation matrix, payload shape, and StepBusiness UI wiring.
- Site architectureOn-Page SEO
ciwebgroup.com intent ownership map — one URL per query, Get Started as the commercial path, sitemap hardened
Anti-cannibalization pass on the corporate site. Locked ownership: /hydra-os (product), /get-started (canonical commercial path — now indexable; /book 301s here), /services/search-engine-optimization (SEO buy), /services/ai-search-visibility (AI-search/AEO buy), /ai-agents, /featured-customers (proof), /service-areas (markets hub; /markets 301s here), /learn/ai-search-guides (Learn hub; /learn 301s here), /ada-compliance-for-trades (trades ADA; compliance deep-dive stays at /learn/compliance/ada), Hands Up on /team/jennifer-bagley. Client-lane /sitemap.xml emitter + core post-build hook that prefers page-route sitemaps; webhook dependents now invalidate /sitemap.xml. Educational SEO/AI/ADA spokes retitled and linked to their commercial owners. llms.txt + OKF strategy pages carry the same map.
- Go-liveContent Engineering
Degenhardt Heating and Cooling is live on Hydra OS — South St. Louis HVAC now serving degenhardthc.com
Degenhardt Heating and Cooling cut over to Hydra OS on Jul 15, 2026. The production domain degenhardthc.com now serves the South St. Louis build — Built to Last positioning, family-owned and union-trained since 1984, Local 36 and NATE trust signals, Daikin manufacturer surfaces, and (314) 631-1554 in reach. This is Missouri's first published Hydra OS go-live on the markets hub. After scores stay unpublished until measured on the live domain.
- Team voiceContent Engineering
I Still Believe in What She's Building — Hoda Castleton's letter, published verbatim on her team page
Production Team Lead Hoda Castleton's letter for Jennifer Bagley's book is now on her team page, published in her own words and unedited. She writes about joining CI Web Group in March 2024 from a corporate Senior Digital Project Manager role for the chance to work at a woman-owned company, learning to trust Jennifer's tough restructuring calls, being pushed into Vibin before she felt ready, and watching Jennifer speak in San Diego in spring 2026. Closing line: “Jennifer's still willing to evolve, and that's exactly why I still believe in what she's building.” That line joins the verified Voices registry; guard tests pin the letter's verbatim anchors, signature, and quote traceability.
- Strategic partnerContent Engineering
Unify360 joins as a strategic partner — Matt Benton’s letter “Pioneer”
Unify360, Inc. is now on the CI Web Group strategic-partner roster as an agentic growth platform for home services. Founder & CEO Matt Benton’s full letter, “Pioneer,” is published on the partner page — Jennifer as pioneer, AI as a workforce, and the convergence between Unify360’s outward visibility layer and CI Web Group’s autonomous AI work. Pull quote wired into Voices and the testimonials wall: “Most people still see AI as a tool. Jennifer sees it as a workforce.” No invented dealer pricing or cash-back claims — this is a technology alliance record.
- Go-liveContent Engineering
Air-Right is live on Hydra OS — Las Vegas HVAC now serving airrightac.com
Air-Right cut over to Hydra OS on Jul 14, 2026. The production domain airrightac.com now serves the Las Vegas build — HVAC Services in Las Vegas, NV, with the ThermostatHero experience, 24/7 call CTAs at (702) 979-1519, Ruud Pro Partner / NATE / EPA trust signals, and service-area coverage across Las Vegas, Henderson, North Las Vegas, Summerlin, Boulder City, and nearby Southern Nevada communities. No invented after Lighthouse or traffic claims until measured on the live Hydra build.
- Go-liveContent Engineering
Holman Comfort Systems is live on Hydra OS — Round Rock & Austin-metro HVAC now serving holmancomfortsystemsllc.com
Holman Comfort Systems cut over to Hydra OS on Jul 14, 2026 at holmancomfortsystemsllc.com. The live homepage leads with “Your Comfort,” routes residential and commercial / refrigeration paths, and keeps (512) 632-4298 in reach for Round Rock, Austin, Georgetown, Cedar Park, Leander, Pflugerville, and nearby Central Texas markets. Woman-owned, locally operated positioning and maintenance-plan enrollment stay on the production site. After scores stay unpublished until measured on the live domain.
- Just releasedBuild Components
Franchise / Branch / Location Package — $5,000 per market after the first ten on Multi-Location Franchise
A new catalog SKU for standing up one franchise, branch, or additional location on Hydra: content for main services, location pages across a 30-mile radius, and team / company information for that market — with LocalBusiness + Place schema and NAP-ready entity wiring. On Customize Plan, Multi-Location Franchise includes the first ten locations in the $75,000 base and auto-bills this same Franchise / Branch / Location Package at $5,000 (1,000 AI credits) for every location after that. Order it à la carte any time from the Hydra Build Components store (/build/franchise-branch-location detail page) when you open a new market on an existing Hydra site.
- Just releasedIntegration
Hydra OS just integrated GPT-5.6 Sol — and the design capabilities are ridiculous
OpenAI's GPT-5.6 Sol is now in the Hydra OS model mesh end to end — agents, content, onboarding, and design workflows — joining the same multi-model constellation that already runs Grok, Claude, Gemini, and the rest of the frontier without welding any client site to a single vendor. The part that landed hardest inside the build room: Sol's design output in Hydra's creative loop is ridiculous — layout taste, visual hierarchy, brand-aware comps, and the kind of one-shot polish that used to take a back-and-forth. Knowledge-work speed and price stay the Sol story the Model Watch already covered; this release is the integration cutover itself. Hydra clients migrate nothing. New stars join the constellation; your site stays legible to all of them.
- Client showcaseContent Engineering
Six Star Heating & Cooling client feedback — knocking digital presence out of the park before go-live
AJ from Six Star Heating & Cooling (Carnegie & Greater Pittsburgh) posted client feedback in Slack that now leads their Hydra go-lives prep story: the team is knocking their digital presence out of the park, there isn't anyone who can compete at this level, and — before the new website has even launched — they are already seeing increased attention and opportunities organically from the basics. Pull quote on the page: "There truly isn't anyone who can compete at the level this team delivers." Watch the staging build while cutover is prepared.
- Client showcaseContent Engineering
Bekka Martel's Advanced Air Conditioning + Heating story — $10K+/month ad grind to a Hydra build nearly two months early
Co-owner Bekka Martel's client showcase is now on the Advanced Air Conditioning + Heating launch story. She and husband Joe left a $10,000+/month website-and-ads spend that wasn't keeping pace with AI, met Jennifer Bagley at WinSupply Austin's The AI Advantage in 2025, and chose CI Web Group for forward-thinking speed. The build kicked off mid-April against a late-August target and cut over July 1 — nearly two months early. Bekka credits Jennifer, Michael, and account manager Vee; calls out Price Builder, Price Lock, and What's Going On at Your Place as features competitors don't match; and reports Google Search Console discovered pages rising from 54 in 2025 to 1,323 about 10 days after go-live. Pull quote on the page: "CI Web Group gave us features our competitors don't have — and a website that finally keeps up with how fast this industry moves."
- Go-liveContent Engineering
jenniferbagley.com is live on Hydra OS — The AI Speaker For the Trades, now on the same platform as the fleet
Jennifer Bagley's speaking platform cut over to Hydra OS on Jul 13, 2026. The live site at jenniferbagley.com opens on “The AI Speaker For the Trades,” carries Hands Up, Trade Talk — AI Edition, signature keynotes, and the Systems & Soul bridge back to CI Web Group. Verified on production: Astro/Hydra markup, the book feature, and booking CTAs. Book Jennifer from the live site or via /speaking on ciwebgroup.com.
- Go-liveContent Engineering
Earth Air Heating & Cooling is live on Hydra OS — Oceanside & San Diego County HVAC now serving earthairsystems.com
Earth Air Heating & Cooling cut over to Hydra OS on Jul 13, 2026. The cream glassmorphic redesign — “Heating, cooling, and clean air for Oceanside homes” — now serves the production domain, replacing the dark-navy WordPress-era site. Verified live: (760) 410-6434 in the header, the “What’s going on in your home?” problem-spotter with its Your-list lead form, Learning Center entry points for heat pumps / mini-splits / IAQ, and San Diego County coverage from Oceanside to Chula Vista. The launch story keeps the measured before Lighthouse mobile baseline (63/91/73/92 from Jul 3) and does not invent after scores until they are measured on the live Hydra build.
- SpaceX partnershipIntegration
Hydra OS partners with SpaceX and fully integrates Grok 4.5 — SpaceXAI's Opus-class flagship joins every layer of the platform
Hydra OS is now a SpaceX partner. The partnership runs through SpaceXAI — the AI division SpaceX formed when it acquired xAI in February 2026, and the maker of Grok — making the company behind Starlink and Starship a first-party model partner of the platform. And it lands with the integration to match: Grok 4.5, SpaceXAI's new flagship released July 8 — the model Elon Musk calls “an Opus-class model, but faster, more token-efficient and lower cost” — is now fully integrated across every layer of Hydra OS where Grok already ran first-class. In the pipeline: Grok 4.5 joins the model mesh powering Hydra's agent and content workflows alongside the OpenAI, Anthropic, and Google families — and its economics matter at fleet scale, because SpaceXAI's claimed 2× token efficiency at $2 per million input tokens means agent work that used to be rationed to premium models now runs at volume. On your website: the AXO/AEO layer — structured data, answer-first content, Open Knowledge Format bundles, llms.txt manifests — is model-agnostic by construction, so every Hydra site is legible to the new flagship on day one, the same as ChatGPT, Gemini, and Perplexity. In onboarding: run the HBIS Enterprise Obsidian Vault prompt in Grok and 4.5's 500,000-token context digests your whole business in one pass — website, SOPs, brand assets, financials — before returning the 21-file vault our upload page validates. In measurement: AI Local tracks your visibility in Grok's answers, now generated by 4.5. The bigger picture: SpaceX already runs Grok inside its own Starlink customer operations and is building toward orbital AI data centers — a company that treats AI as infrastructure, which is exactly how Hydra OS treats it for the trades. The frontier changed hands again five days after GPT-5.6 Sol shipped; Hydra clients migrate nothing.
- Team voiceContent Engineering
Building the Company That Builds You — Melanie Osio's letter, published verbatim on her team page
The voice program that started with client founder letters now carries our own people's stories, and the first one belongs to Chief of Staff Melanie Osio. “Building the Company That Builds You” is her account, in her own words and unedited, of joining CI Web Group as Director of HR and evolving with the company — keeping the finances running after the CFO departed, learning alongside the tech team and building the front end of a few websites herself, and the lesson that took hold along the way: your job isn't something you protect, it's something you improve until it no longer needs to exist in its current form. The letter publishes with the same first-class editorial treatment as the client founder letters, and her line “Confidence, I've learned, arrives after you've done the difficult thing. Not before.” joins the verified Voices registry that carries team, client, partner, and story quotes throughout the site. Guard tests pin the letter's verbatim anchors, the signature, and the quote's traceability.
- QA agentsNew Feature
End-to-End QA Agents — autonomous testing across the fleet that proves every site is true, fast, and ready for AI search
The industry is waking up to agent-driven end-to-end testing — Slack's engineering team just published its agentic testing approach (InfoQ, July 2026) because fixed-step, brittle-selector tests break on change instead of on defects. Hydra OS has operationalized that same class of testing across the whole client fleet, and today it gets its formal announcement. Four layers: pre-merge preview audits on every pull request (performance budgets, accessibility floors, link + structured-data integrity); a 72-check automated quality audit at launch; daily fleet-health monitoring that opens work items on any budget breach; and per-client guard suites — hundreds of checks on flagship builds — pinning everything from readability floors to the verbatim traceability of every published customer quote. The differentiator: agents test against the client's Hydra Business Intelligence Specification as ground truth, so review counts, service promises, rebate tiers, hours, and lead routing are verified against what the business actually is — not just what renders. That is why it powers every pillar at once: SEO (budgets + link/canonical/sitemap integrity), AEO/GEO (schema + llms.txt validity on every change), AXO (agents execute the booking and quote surfaces end-to-end), SXO (whole journeys tested as tasks), CRO (lead paths + dynamic call-tracking numbers proven to ring), and E-E-A-T (every public claim checked against the HBIS record). Runs on every Hydra OS build automatically — no action required, no added cost.
- The bookNew Feature
Hands Up — Jennifer Bagley's new book gets its showcase, and the digital edition is free
Jennifer Bagley's page now carries the piece her whole story was building toward: Hands Up — A CEO's Letter to the Generation That Will Inherit What We Build. The showcase renders the book the way the cover deserves — gold on deep navy, the back-cover epigraph front and center (“He shipped because he could not stand the alternative. So do we.”), the dedication that ties three generations together, and the ISBN on record. Most important: Jennifer is giving the digital edition away — the page's call to action routes any request through the CI Web Group intake, mention Hands Up and it's yours, free. Every word in the feature is verbatim from the physical cover and back cover, and a guard suite keeps it that way.
- VoicesImprovement
Voices throughout the website — story contributors, clients, partners, and our own team, quoted on the pages where they belong
The client-voice program now covers every kind of voice in the CI Web Group orbit, from one verified registry. Story contributors — the clients who wrote their journeys in their own words, Paul Wiese and John Dean — appear beside partner voices (OnePath.AI CEO Dave Kaynar's “Jennifer is one of the true visionaries in this industry”; Service MVP's Joe Crisara) on the Our Story and partner-program pages. The team pages now carry our own people's words (design engineering lead Michael Parker: “A website should not just look good. It should think, rank, and book work while you sleep”) alongside real client praise for named team members — GreenTech DFW on Katelyn Torres, LaVallee Systems on Sydni Fowler. Client voices — Cory Hesseltine's “I freaking love it,” Billy Gregus, Champion Air's build-thread praise — round out the registry. Every quote is verbatim and traceable to a verified source (founder letters, the reviews wall, team praise records, the named CEO endorsement), and a guard suite enforces exactly that: a quote that can't be traced to its source fails the build.
- Launch storiesImprovement
Launch-story timelines now carry every strategic addition — 17 dated post-launch milestones across 14 client websites, mined from the build record
A Hydra site isn't a launch-and-leave project, and now the launch stories prove it. Every featured-customer timeline can carry two kinds of dated entries: measured performance gains (percentage-only, raw numbers stay private) and strategic additions shipped to the live site — pinned to the build record (git), not written from memory. Seventeen new milestones landed across fourteen live client stories in this first pass: The Water Heater Company's three-week run (the honest-pricing stack with its AI-pricing pillar + forty-one researched cost guides, the Tank mascot brand system with a logo-true palette and the Best Price Guarantee on quote review, and the Beyond the 3 Quotes ownership-transparency hub with its 20-platform / 523-brand private-equity market map); Eco's honest-pricing authority wave and Home Energy Savings Planner; the fleet-wide honest-pricing pillar rollout on Avatex, Enviro, Any Degrees, A&E, Comfort Central, First Choice Garage Doors, and American PHC (each verified live before publishing); AirWorks' cost-guide + compliance + Learning Center cluster; Heavenly's post-launch performance round; measurement-integrity work (Google Tag Manager + Consent Mode v2) for Van Delden and CW Mechanical; and MRV's call-tracking hardening one day after launch. The timeline section itself was reframed — “Milestones & strategic additions · Live since launch, and improved ever since” — so every story reads the way the service actually works: continuous improvement on a live website.
- Client voiceContent Engineering
Founder letters, published verbatim — Paul Wiese and John Dean tell their own stories on their launch pages, and their words now carry through the site
Two clients wrote their CI Web Group stories in their own words, and both now publish verbatim — unedited, with a dedicated founder's-desk treatment — on the launch stories they own. Paul Wiese's “The Client's Side of the Table” (four decades in the trades, Door Serv Pro, and the Built by the Trades mission) appears on all three of his go-lives: Door Serv Pro, Built by the Trades, and TradeRated. John Dean's “My Ci Web Group Journey” — the $12,000 website that never worked, the $50-million HVAC company that answered “Ci Web Group” without hesitation, and why he stayed the course while other agencies attacked the AI-first direction — anchors the Superior Air Duct Cleaning launch story, opens with his flagship line as the page's pull quote, and joins the reviews wall and homepage testimonial strip: “The right marketing partner doesn't just build you a website. They help you understand where the future is going — and they make sure you're already headed there before everyone else realizes the road has changed.” Champion Air's build-thread praise (“Dang it looking awesome already. Your creativity is on point.”) joined their story the same day, alongside their Day & Night Elite dealer status. Guard tests pin every letter's verbatim anchors and every placement.
- Design systemImprovement
The award-winning design pass — readable type everywhere, one font system, one rounded language, AA contrast on every surface
A full design-system pass across ciwebgroup.com, focused on the four complaints that matter: the type was too small, the display font was hard to read at card sizes, containers mixed square and rounded shapes, and dim copy sat below comfortable contrast. What changed: (1) Type — the micro-label floor climbed to 14px (covering ~1,900 tiny uppercase labels), text-xs climbed to 15px, and a new letter-spacing cap reins in the wide-tracked label pattern that made eyebrows and badges illegible; (2) Fonts — Bebas Neue is now reserved for what it does best (hero and section headlines at display scale) while every card-size title site-wide converts to Barlow Bold with natural Title Case, including the build store's 50 component cards; (3) Shape — one rounded language through the whole site: a 50% larger base radius, every control on rounded-lg, cards on rounded-xl, panels on rounded-2xl, plus 374 square bordered cards, 322 square CTAs, and 183 seamless bordered grids brought onto the scale (zero square containers remain — enforced by a new design-system test suite); (4) Contrast — dim paper-toned copy on dark heroes, order rails, and checkout summaries now floors at 68% opacity, clearing WCAG AA the same way light-surface copy already did. The sales, onboarding, build, and customize journeys got hand passes on top: bigger primary CTAs, comfortable 17px inputs, rounded wizard primitives, and readable order-rail line items. Nine new guard tests pin the whole system so it cannot regress quietly.
- Store overhaulBuild Components
Every /build component page overhauled — real work on every page: 40 live customer captures, 21 working in-page demos, and a “why your website needs this” narrative on all 50
Full pass over every component sales page in the build store, per Jennifer: show the actual work, fix every missing or bad image, and make each page explain WHY. What changed: (1) Actual examples everywhere — every one of the 50 components now shows real work: 40 carry live captures from production Hydra customer sites, and every component still awaiting a live capture has a WORKING interactive demo on its page (21 demos total, 5 new today: Equipment Explorer with tap-the-hotspot spec drawers, Estimate Approval & E-Sign with the full compare-sign-approve flow, Text-Us-a-Photo Triage simulating the SMS thread AND the shop-side auto-tagging, Warranty & Registration Center, and the How Your System Works interactive diagram with a heating/cooling mode flip). A test now enforces it: no component may have neither a live capture nor a demo. (2) Four designed-preview placeholders replaced with live production captures — the Rebate + Financing Stack Calculator (Eco's Home Energy Savings Planner), Seasonal Maintenance Hub (DuctPros' seasonal & emergency help hub), Product Diagram — How It Works (All Seasons' how-a-heat-pump-actually-works explainer), and Service Diagram Picker (Eco's Energy Experts interactive home). (3) Eleven bad captures reshot — consent dialogs, chat bubbles, and cut-off promo bars removed from Case Study Builder, Emergency Router, Careers Center, Permits & Code Center, Product Catalog (now showing the real 478-item shoppable catalog), Press & Media Center, Rebates Explorer, Fleet & Team, Per-City Testimonials, Trust Comparison Table, and the Repair-or-Replace tool. (4) Every page now sells the why — a new “Why your website needs this” section with a component-specific narrative (the stake in the owner's world, then the payoff) written for all 50 components, plus a full live-proof grid showing every documented customer running the component, and a try-the-working-demo button in the hero of every demo-carrying page. All 15 affected Open Graph cards regenerated. The catalog stays live on the authority page at /services/build-components and orderable at getstarted.ciwebgroup.com/build.
- New componentBuild Components
Why AI Doesn't Know Your Pricing joins the build library at #50 — the honest-pricing authority page already live on 21 client sites
The page behind today's flagship guide is now a catalog product. Why AI Doesn't Know Your Pricing ($1,950 · 390 credits · 7–12 days, Education, SEO + AEO + GEO + AI Search + CRO) ships a deeply localized authority page for your trade and city: why a chatbot's number was never a quote for your market, what-AI-sees-vs-what-your-tech-sees comparisons for your top services, live incentive sourcing by utility, good-vs-bad prompt guidance, intent-chained links into your cost guides and estimate path, and Article + FAQPage schema so answer engines cite you as the pricing-logic source. This is a deployed pattern, not a concept — 21 live Hydra client sites already publish their own edition across five trades: Eco Electric, Plumbing, Heating & Air (the Seattle multi-trade flagship), The Water Heater Company (water heaters), Tall Pines Roofing (roofing), Door Serv Pro and First Choice Garage Doors (garage doors), American PHC, Joe Rushing, and Homepatible (plumbing + HVAC), plus thirteen HVAC editions from New Orleans to Baltimore to Arizona. Catalog count moves 49 → 50; 48 of 50 components are now agent-actionable; exports, OKF bundle, and llms.txt updated. Live on the authority page at /services/build-components and orderable now at getstarted.ciwebgroup.com/build.
- Flagship guideContent Engineering
Why AI Can't Price Home Services — the definitive trade-by-trade breakdown, the logic behind the client-site pricing pages, and a good-vs-bad prompt library for every trade
The most extensive version yet of the honest-pricing playbook — an 18-minute flagship guide expanding the page live on Eco's site (why-ai-doesnt-know-home-services-pricing) into the full CI Web Group thesis. Part one: why a chatbot's number was never a price — models predict what people have written about prices instead of looking anything up, national averages blend markets with nothing in common, stale training data keeps citing incentives that expired (the federal 25C credit died Dec 31, 2025 and chatbots still quote it), and a model has no eyes for the physical details that actually move a price. Part two: the trade-by-trade blind-spot breakdown — HVAC (Manual J, duct condition, panel capacity, refrigerant transitions), plumbing and water heaters (expansion tanks, venting, gas-line sizing, eighty-year-old routing), electrical (permit authority, mast condition, knob-and-tube cascades), roofing (the deck decides, and nobody's seen it yet), garage doors (the job is the counterbalance system, not the panel), sewer and drain (only the camera knows), plus generators, painting, windows, and pest. Part three: why we build this exact page on Hydra client sites — it wins the AI citation, defuses the price anchor before the estimate conversation, converts skeptics through free second-opinion paths, and compounds with the How Much Does X Cost cost-guide cluster and Instant Quote Estimator. Part four: the prompt library — a universal five-step research sequence plus good-vs-bad prompt sets for every trade, built on one rule: research the work, not the price. Ask AI for questions, not answers.
- Onboarding · Two pathsImprovement
Onboarding simplifies to two paths — AI-to-AI or the guided form fill; the AI-Interview tease comes off the chooser
Per Jennifer: only two options — AI to AI or the form fill. The onboarding path chooser previously showed a third card, the chat-shaped Hydra AI Interview, permanently badged “Coming soon” and disabled. A grayed-out option a client can't click isn't a choice — it's clutter that splits attention at the exact moment we want momentum. The chooser now presents exactly the two live paths side by side: AI-to-AI (download the HBIS Enterprise Obsidian Vault prompt, run it in your AI, upload the 21-file bundle for live validation) and the Guided wizard (the classic section-by-section intake with the ~15-minute critical path and everything else skippable). Both cards are fully clickable, the dead coming-soon affordances are stripped from the component entirely, and saved drafts keep working — anyone who previously picked a path resumes exactly where they left off, and the retired option was never selectable so no client state can reference it. The conversational AI Interview stays on the Hydra Onboarding Strategy roadmap — it returns to the chooser when it actually ships, not before.
- Hydra OS · GrokIntegration
Hydra is fully integrated with Grok — xAI’s frontier model joins the platform roster end to end
Grok is now a first-class citizen across every layer of Hydra OS. In the pipeline: Grok joins the model roster available to Hydra’s agent and content workflows alongside the OpenAI, Anthropic, and Google families — the platform assigns work by model strength and swaps without ceremony. On your website: the AXO/AEO layer that makes client sites legible to ChatGPT, Gemini, and Perplexity serves Grok identically — structured data, answer-first content, Open Knowledge Format bundles, and llms.txt manifests are model-agnostic by construction, so Grok agents can read, cite, and act on every Hydra site today. In onboarding: the AI-to-AI path accepts Grok as the client’s AI of choice — run the HBIS Enterprise Obsidian Vault prompt in Grok and the 21-file bundle validates the same as from Claude or ChatGPT. In measurement: AI Local tracks client visibility across the answer engines homeowners actually ask, Grok included. The timing matters: this lands the same week OpenAI shipped GPT-5.6 “Sol” and merged Codex into ChatGPT Desktop — the frontier changes hands every few months, which is exactly why Hydra is multi-model by design. When a new star arrives, the platform absorbs it and every client site benefits without a single client lifting a finger. Full landscape breakdown — including Every’s day-zero Sol vibe check and the run-the-fast-model-as-subagent orchestration pattern Hydra uses — on the blog.
- New componentBuild Components
Social Media Graphics Pack — 20 branded designs, 60 ready-to-post files: your go-live announcement and every consumer-facing feature, turned into a feed's worth of proof
Component #49 in the catalog, and the first one built for your social feeds instead of your website. The Social Media Graphics Pack ships 20 branded designs delivered as 60 ready-to-post files — every design in three platform formats (1080×1080 square, 1080×1920 story, 1200×630 link card) — covering the three moments a launch needs: the go-live announcement set (countdown, launch day, we're-live, and a review-proof variant), a feature-spotlight graphic for every consumer-facing component your build ships (the estimator, online booking, Learning Center, reviews wall, financing, membership plan, service-area coverage, emergency line), and review + guarantee + meet-the-team trust cards. Your brand tokens — colors, fonts, logo lockups — are baked into every design, and the files arrive organized by platform, ready to post. The sales page practices what it sells: the gallery is built from real launch creative — the Eco Electric, Plumbing, Heating & Air brand system (the Energy Experts homepage takeover, the Energy Savings Plan builder, a real five-star Google review turned trust card) and the Built by the Trades brand voice — so you see exactly what pack-grade graphics look like before you order. $1,700 one-time · 340 AI credits · 7–12 business days — $85 per design with two revision rounds included, so the tune-the-copy, swap-the-photo, adjust-the-layout passes are part of the price, not a surprise. Repurchasable for seasonal refreshes. Live on the authority page at /services/build-components and orderable now at getstarted.ciwebgroup.com/build — and like everything in the store, partner/promo codes apply at checkout.
- Checkout · Partner codesImprovement
Partner and promo codes now work on both checkouts — the Get Started customize wizard joins the Build Components store, one registry, one discount math
Per Jennifer: both the Get Started customize flow and the Build ecommerce must have partner/promotion codes. The /build checkout shipped them Jul 7; today the Get Started wizard's order rail (steps 8–9) gets the same input — the identical component, restyled with a dark tone for the deep-navy rail — wired to the same committed-in-code registry (lib/partner-codes.ts), the same case-insensitive validation with specific expired/disabled/unknown messages, and the same discount math: percent or flat off the PRICED one-time total only, never monthly growth services, never quoted price-on-request lines. The applied code persists with the wizard draft in localStorage (returning visitors keep it; legacy drafts migrate cleanly), is re-validated on every totals computation so a code disabled between visits can't keep a stale discount alive, and flows into the Synapse order payload as the same partner attribution block the /build order transport ships — code, partner slug + name, discount kind/value, dollars + credit-equivalents applied — alongside gross AND net one-time totals so backoffice reporting can always reconstruct the discount. The financing fee now computes on the discounted total (clients never pay a fee on dollars the code removed), the rail shows a live “Partner discount −$X off $Y” row the moment a discounting code applies, and the email-draft summary carries the attribution line. A new 11-test suite pins the state default, the no-code invariant (net equals gross — nothing changes for orders without codes), the 10% math against the live registry, financing-on-net, credit netting at the shared 1:5 rate, payload contract, persistence round-trip, and that both surfaces resolve from one registry — so a partner's code can never mean two different things on two pages.
- Hydra OS · Intelligence engineNew Feature
Hydra OS releases the expanded Central Intelligence engine with Obsidian — and begins the onboarding upgrade: less forms, more agentic
The Central Intelligence Center grows from structured fields into a full Obsidian-powered knowledgebase — every client's business knowledge as a cross-linked markdown graph that Hydra's AI agents, content generation, campaign work, and local SEO read from. Structured facts (phone, hours, licenses) stay structured for templates and schema; around them now lives the knowledge layer fields could never hold: origin stories, brand voice and tone, operating systems, service promises, per-city market intelligence, design direction, and the always-do / never-do constitution — connected with Obsidian-style [[bidirectional links]] so a service resolves to its products, warranties, financing, and certified technicians as one story instead of five disconnected rows. The intake for the engine is the 21-file Hydra Business Intelligence Specification (Enterprise Obsidian Vault), and it kicks off the onboarding upgrade: the AI-to-AI path is live inside Get Started — download one prompt, run it in Claude (or ChatGPT, Gemini, Grok), and your AI interviews you, digests your website + SOPs + brand assets + financials, asks up to 15 clarifying questions, refuses to guess (gaps flag [Missing], never invented), and produces the vault our upload page validates file-by-file with live coverage bars. The guided wizard remains for teams who prefer questions, and the conversational Hydra AI Interview is next — less forms, more agentic, one destination: a business brain the platform keeps learning from. Three new blog posts tell the full story.
- Hydra launchNew Feature
Doggone Good Heating and Cooling is live on Hydra OS — Baton Rouge’s repair-first HVAC brand, mascot and all
Baton Rouge’s Doggone Good Heating and Cooling is live at calldoggone.com — and the brand leads the build: an illustrated golden-retriever mascot in a purple cap, wrench in mouth, riding a wrapped CallDoggone.com van across the hero under “Fast, Honest HVAC Service That Puts Your Budget First.” The repair-first positioning is structural, not sloganeering: a site-wide top banner offers to review any competitor’s quote free (“Already have a quote from another company? We’ll review it free — no obligation”) and routes to a dedicated Free 2nd Opinion path, while the four-card Doggone Good Promise band publishes the operating rules — Honest System Assessment (replacement is always the last resort), Absolute Price Transparency (a written quote with all options before any work begins), On-Time Same-Day Service, and White-Glove Respect (background-checked techs, shoe covers, floor protection, cleanup). Verified live on the homepage: a mega-menu service matrix grouping six comfort categories (AC, Heating, Heat Pumps, Ductless, Indoor Air Quality, Geothermal) into repair / installation / maintenance / inspection routes; a Trusted Brands strip naming Carrier, Goodman, and Rheem; a Synchrony-backed financing block; a $99/year comfort membership with published terms (two seasonal tune-ups, priority scheduling, smart monitoring, performance reporting); a 13-article Learning Center organized Learn → Compare → Act (“How Does a Heat Pump Work in Louisiana’s Climate?” through “Get a Free Second Opinion Before You Replace”) with an HVAC glossary beside it; named customer reviews crediting the techs who did the work; an answer-first Baton Rouge FAQ with live FAQPage structured data; neighborhood-level service-area coverage (Oak Hills Place, Shenandoah, Old Jefferson, Village St. George, Westminster, plus Prairieville, Denham Springs, Gonzales, Zachary, and Central); a sticky five-action mobile bar (24/7 Emergency, Free Quote, Request Service, Text Us, Book Online); and call-tracking dynamic number insertion over the canonical (225) 230-9784 — verified swapping per-session tracking numbers across three separate loads, so every campaign source is attributable from day one. HVACBusiness + per-city areaServed + OpeningHoursSpecification structured data ship in the source. This launch publishes no performance numbers on purpose — no Lighthouse scores, Core Web Vitals, traffic results, or ranking claims until they are measured on the live site.
- Onboarding · Intake-complete vaultImprovement
HBIS prompt v2.1 — the 21-file vault now captures everything the guided wizard's asset-collection step does: Google access, lead routing, service promises, permits, legal documents, and the full step-4 folder tree
Same-day follow-up to the Enterprise Obsidian Vault: an item-by-item audit against step 4 (Asset Collection) of the guided onboarding wizard found the v2.0 prompt captured analytics baselines but not property access, operations but not lead routing, warranties but not the promises around them. v2.1 closes every gap with six new required sections the upload page now validates: 03-Systems gains Accounts & Access (domain registrar holder + [email protected] intent, DNS, hosting, current CMS, email hosting — with an explicit never-include-passwords security rule; credential handoff stays inside the secure onboarding flow) and Lead Routing & Contact Channels (which phone rings, which email gets form fills, where emergency leads route, SMS line + A2P 10DLC verification, live chat, online booking, estimator, and ecommerce links); 07-Services gains Service Promises (free estimates, free second opinions, free inspections, same-day service with its real cutoff, price-match guarantee — only promises operations will honor); 08-Geo gains Permits, Code & Inspections per jurisdiction (the data behind the Permits & Code Education Center component); 14-Licensing gains Legal Documents (Terms & Conditions, Privacy Policy, Your Privacy Choices, accessibility statement, TCPA opt-in language); and 19-Analytics gains Property IDs & Access (GA4 property, GTM container, Search Console verification, admin status, and the [email protected] / [email protected] access grants that preserve historical data). Existing sections got sharper too: the featured manufacturer is flagged apart from all brands serviced, distributors + TSMs carry contact info, warranties carry registration links, membership plans include protection plans + service contracts + lease/rent-to-own agreements, rebates extend to energy audits + energy-savings programs, and good/better/best tiers include bundles. 05-People becomes a real E-E-A-T roster: a dedicated Owner section (full name, 150–300-word first-person bio, LinkedIn URL, headshot reference), leadership with name + title + bio + LinkedIn + photo, and Technician & Staff Profiles carrying every public-facing team member’s name, title, certifications, and photo file reference — the data behind Person schema, author pages, and the Fleet & Team Page component. And the two preference dimensions that make a build feel like the business now have required sections of their own: 02-Soul gains Brand Voice & Tone (voice direction in the same vocabulary as the wizard — Friendly & approachable through Community-first — plus tone-by-context, humor level, writing-style mechanics, and sounds-like / never-sounds-like example phrases) and 21-Brand-Directives gains Design Direction (the wizard’s style-adjective blend from Modern & bold through Playful, loved sites with what to borrow, disliked designs with what to never do, mood-board links, and how the current site feels vs how the new one should). The prompt's asset library now mirrors the wizard's eleven step-4 folders exactly (01-Proof through 11-Legal), and a live round-trip test imports the wizard's own ASSET_CATEGORIES so the two paths can never drift apart.
- Onboarding · Enterprise vaultNew Feature
The AI-to-AI onboarding output grows from 6 files to a 21-file Enterprise Obsidian Vault — your AI now maps every dimension of your business, cross-linked like a knowledge graph
The AI-to-AI onboarding path just got its enterprise upgrade. The downloadable HBIS prompt (v2.0) now instructs your AI — tuned for Claude’s intake & data-extraction phase, though ChatGPT, Gemini, and Grok all work — to act as an elite business interrogator, data architect, and financial analyst, ask up to 15 clarifying questions, and produce 21 Obsidian-ready markdown files instead of the original six: Entity, Soul, Systems, Sales, People, Partners, Services, Geo, Personas, Economics, Products & SKUs, Memberships & Financing, Referrals & Partnerships, Licensing & Certifications, Press & Media, Community Impact, Marketing Calendar, Paid Ads, Analytics, Conversions, and Brand & Directives — organized in four parts (core identity & operations · catalog, market & economics · proof, marketing & performance · brand & goals). Because the files feed the Obsidian Knowledgebase powering Hydra OS, AI agents, content generation, and local SEO, the prompt mandates heavy [[bidirectional internal links]] between related entities — services link to SKUs, geo links to community impact, referral programs link to partners — so the vault reads like the knowledge graph it becomes. The intake list expanded to match: financials & margin targets, marketing & promo calendars, paid-ads campaign data, analytics baselines, conversion & attribution data, buyer personas, every social profile + Google Business Profile link, and the full vendor + referral network. Nothing invented, ever — anything your AI can’t source from your real materials is flagged [Missing] and routes into a short guided form to complete. The upload page validates all 21 files client-side with per-file coverage bars grouped by part, and the six-file spec is fully absorbed — Brand, Directives, and Goals fold into the new Brand & Directives constitution file, while Personas, Economics, Press, Marketing Calendar, Paid Ads, Analytics, and Conversions capture dimensions the old spec never asked for.
- Checkout zoneImprovement
No pop-ups in the checkout — every floating overlay now suppresses across /get-started, /build, and the component catalog via one shared checkout zone
Per Jennifer: “When a client gets to get-started or onboarding, do not allow any pop-ups on our website — this is a checkout process.” Until now each floating island kept its own suppression list and they had drifted: the LiveUpdatesToast suppressed on /get-started/** but the StickyCta book-a-call bar and the Reader FAB only suppressed on the exact paths /build and /services/build-components — meaning both still rendered on every /get-started wizard step, on /build/{slug} product pages, and the seasonal fireworks overlay had no path awareness at all. This release centralizes the rule in a new lib/checkout-zone.ts — CHECKOUT_PATH_PREFIXES (/get-started, /build, /services/build-components) with one prefix-matching isCheckoutPath() helper that normalizes trailing slashes and Astro’s .html suffixes — and every popup-capable island now consults it: LiveUpdatesToast (rotating customer-story toast), StickyCta (sliding book-a-call bar), ReaderMount (reader FAB + resume banner), and FourthOfJulyFireworks (the decorative canvas overlay — where the checkout check now outranks even the ?fireworks=1 QA force-on flag, because checkout wins). Two surfaces are deliberately exempt and documented as such in the module: the CookieConsentBanner (regulatory — GDPR/CCPA consent must be collectable on every page, checkout included) and the wizard’s own exit-intent save-your-work + welcome-back prompts (those ARE the checkout UX Jennifer requested, not marketing interruptions). A new lib/checkout-zone.test.mjs pins the three prefixes, the matcher semantics (exact match, sub-route, trailing slash, .html, and negative cases like /build-with-us not matching /build), asserts all four islands import the shared zone and carry no private suppression list that could drift again, verifies the fireworks checkout-check precedes the debug flag, and locks the two documented exemptions.
- Build Components · Open GraphImprovement
Every Build Component gets a branded 1200×630 Open Graph card — name, price, pillars, and live-customer proof around the real screenshot, on all 48 product pages + both hubs
The Build Components are core products, and when a component link is shared — Slack, LinkedIn, Facebook, X, iMessage — the preview card IS the first impression. Until today the /build/{slug} product pages shared the raw component screenshot (16:10, unbranded, no name or price visible) and the two hub pages fell back to the site-default OG image. Now every one of the 48 components has a purpose-built 1200×630 card: the component name set in the brand display face, the plain-language benefit, live price chips (dollars + AI credits + published turnaround — or “Quoted in your session” for price-on-request lines), the strategy-pillar tags it powers, and the component’s REAL production screenshot framed in a browser chrome with a “LIVE ON {CUSTOMER}” proof pill — the same honesty rule as everywhere else on the site: real captures from real customer builds, no mockups. Two montage cards cover the hubs: /build (“48 components. One store.”) and /services/build-components (“Build components that boost every pillar”), each stacking three real product screenshots. Generation is pure data-driven — scripts/generate-build-og.mjs imports the live BUILD_COMPONENTS module (same import-the-source pattern as the catalog CSV exporter), renders a brand-token HTML template per component with the site’s own self-hosted Bebas Neue + Barlow fonts, screenshots it with headless Chrome at exactly 1200×630, and compresses to JPEG for universal scraper support. Product pages now declare the full OG contract — og:image + alt + type + width + height — and the Product JSON-LD image field upgrades to an array carrying both the branded card and the raw live capture (Google prefers multiple image candidates). A new lib/og-cards.test.mjs (100+ assertions) fails the build when a catalog component is missing its card, a render comes out blank, a route stops pointing at the cards, or a component loses the screenshot the card is built from — so “regenerate the cards” can never be silently forgotten after a price or name change.
- Customer praiseImprovement
“I love this so much I want to have your baby. Now formally speaking: I love it.” — Les Lomedico’s Hydra-website reaction joins the testimonial wall, Google-verified
Some client reactions don’t need editing. This one arrived in a client’s Hydra launch Slack channel this morning, addressed to Vee on the CI Web Group team, about their new Hydra website: “My favorite way of telling someone that I am very happy with them is to say I love this so much I want to have your baby. I have to say I want to have your baby. Now formally speaking, I love it.” It joins the /testimonials quote wall and the homepage-eligible featured pool exactly as written — per the testimonial-wall discipline, only the complete sentences visible in the captured message are quoted (the message continued past the capture). And the identity is now Google-verified: the sender is Les Lomedico, an HVAC client, who also posted a public 5-star Google review of CI Web Group the same week — “impressed by the speed of their work, the clear results and detailed analytics… As a further attaboy I ran what I could of my soon to be released website through other AI platforms and they rated their work as top 10 percent when compared to other HVAC sites they were asked to evaluate nationwide.” His Google review joins the /testimonials Google wall verbatim. Same verification pass also put a name on the Eco Services spotlight review that anchors the homepage — Cory Hesseltine, Local Guide, whose “gold standard blueprint” review (with the LLM audit pull-quote) was previously attributed only as a verified Google review. Every quote on the wall is genuine, sourced from client Slack channels, recorded meetings, and public Google reviews — fabricated or “punched up” testimonials never ship.
- Onboarding · CompletenessImprovement
Onboarding intake completeness pass — 14 new fields close every known mid-build client question, a new go-live readiness lens, and a Neo config-draft translator that makes “no more questions” machine-checkable
The goal, verbatim from Jenn: “I would prefer not to have to ask the client for any more information to take a site from onboarding to approval.” This release audits the Guided onboarding intake against what every downstream team actually consumes — Neo (site spin-up from clients/<slug>.json), vibers (design), SEO (optimization + migration), QA (lead-path verification), and the go-live cutover team — and closes every gap found. Fourteen new fields: email_hosting_provider (CRITICAL — flipping DNS without recreating MX records takes the client’s email down at cutover, the classic go-live disaster) and domain_other_services (subdomains / portals / VoIP we must not break) in the renamed “Domain, email & website access” section; runs_google_ads + google_ads_access and runs_lsa + lsa_access gate-pairs in the renamed “Google & advertising access” section (live campaigns keep spending against 404s and dead pixels if nobody migrates conversion tracking before cutover); a four-way structured hours split (hours_weekdays critical / saturday / sunday / holiday) replacing the single business_hours blob so the config’s business.hours shape maps 1:1 with zero hand-parsing; address_display_mode (CRITICAL — service-area businesses must hide street addresses per GBP rules and the site must match or the NAP signal fractures); public_contact_email (displayed email, distinct from lead routing); tagline; five social slots the config schema supported but intake never asked — Google Business Profile URL (pins the exact listing for sameAs schema), TikTok, X/Twitter, BBB, Nextdoor; a blog-migration trio (has_blog_content → post-count estimate + migrate-everything / migrate-the-best / start-fresh mode) that sizes the SEO team’s 301/content-migration scope at intake instead of at build; keep_urls (the URLs a crawl can’t discover — QR codes on trucks, ads landing pages, email-signature links — every one becomes a tested redirect); test_leads_ok (permission for clearly-marked test form fills + calls during QA, ending the “who is this test lead?” panic); brand_guide_url (the highest-fidelity design input that exists when a business has one); and words_to_avoid (every line becomes a hard never-use rule for content generation). A new golive consumer joins the taxonomy so readinessByConsumer() can finally answer launch week’s only question — “is the go-live team clear to cut over?” — with registrar, DNS mode, GoDaddy account holder, email hosting, CMS, test-lead clearance, and ads access all tagged to it. The excellence phase reorganizes into coherent clusters (identity: brand → voice → team → photos; then proof + customers; then offers + site). And two new modules make the requirement enforceable rather than aspirational: lib/client-config-draft.ts maps wizard + intake answers into a draft clients/<slug>.json shape and returns a missing[] list naming any client-answerable gap (team-authored fields like slug, title suffix, final hex colors, and fonts are documented exceptions); lib/intake-completeness.test.mjs holds per-team field contracts — delete a field a team depends on (or drop its consumer tag) and the test fails naming the team that just lost its data, plus an end-to-end fixture proving a fully-answered intake produces a clean config draft with zero missing entries.
- Hydra launchNew Feature
Angels Cooling LLC is live on Hydra OS — Harlingen’s family-owned Rio Grande Valley HVAC company, now Cameron-County-visible
Angel and Isabel Rodriguez’s Rio Grande Valley HVAC company is live at angelscooling.com. Angel opened his first HVAC shop in West Allis, Wisconsin in 2016, expanded to Racine in 2021, then relocated to Harlingen, TX in 2023 to launch Angels Cooling LLC — same standard he built up north, brought south. He runs it today alongside his wife Isabel and their two sons, with Isabel authoring and reviewing every article in the Learning Center as VP. The Hydra build carries the honesty positioning across the whole homepage: a “Same-Day AC Repair in Harlingen. No surprise fees.” hero with the (956) 200-9195 phone one tap away, three trust cards (Same-Day Service, Diagnostic Fee Waived, Real Options No Pressure) that turn the pitch into scannable proof, a Daikin Factory Authorized Dealer exclusive-partner section (10-year warranty, 21+ SEER, Factory Authorized Dealer designation) pairing the family-owned story with verifiable manufacturer authority, a Resideo Controls & IAQ Solutions Specialist card, a live “Right now in the Rio Grande Valley” heat-index panel that adapts cooling-demand guidance to Gulf humidity, a VIP membership block with real published terms ($125/year for two annual tune-ups, 15% off repairs, $0 service-call fee, priority scheduling — the opposite of vague “membership benefits”), a priority Service Areas grid mapped from the 2713 Rita Flores Memorial Dr HQ with a 50-mi radius (Cameron County priority coverage in Harlingen, Brownsville, San Benito, Los Fresnos; extended into Hidalgo and Willacy counties for McAllen, Edinburg, Mission, Pharr, Weslaco, Raymondville, South Padre), an Optimus $0-down financing block, and a sticky phone dial-out. The Learning Center organizes as learn → compare → cost across cooling & heating basics, heat pumps + mini-splits, local cost guides, and a Daikin equipment cluster — every article carrying an Isabel Rodriguez byline (a top E-E-A-T signal for Google + AI answer engines). Before/after imagery captured: the WordPress-era Angels Cooling homepage vs the live Hydra build. This launch ships without performance numbers on purpose — no Lighthouse scores, Core Web Vitals, traffic results, or ranking claims are published until they are measured on the live site.
- Onboarding · BrandsImprovement
Onboarding wizard — the manufacturer-brand flow grows from a single yes/no to a structured trio: featured picker (multiselect, gated) + dealer-designation textarea + all-brands-serviced multiselect, all drawing from a canonical 26-brand list
The proof_and_credentials section already carried feature_manufacturer_brands (yes/no) and authorized_dealer_brands (textarea, gated) — enough to know that the customer wants to feature brands and which specific dealer certifications back them up. Two structural gaps remained: (a) no place to pick WHICH brands lead the site, and (b) no place to capture the broader compatibility list of every brand the techs actually service, which feeds service-page “We service all brands including…” content and the AEO answer to “do you work on X?” This release fills both gaps. New MANUFACTURER_BRANDS canonical constant lists the 26 most-recognizable home-services brands across HVAC, water heating, plumbing, electrical, and garage doors (Carrier, Trane, Lennox, Rheem, Bryant, Goodman, York, Rinnai, Navien, Kohler, Moen, Delta, Eaton, Siemens, LiftMaster, Chamberlain, Genie, Clopay, …), alphabetically sorted with “Other” at the end as the escape hatch. Two new multiselect fields draw from the same list: featured_manufacturer_brands_list (gated on the feature yes/no; the 1–3 brands the site leads with in the hero, trust bar, and USP callouts) and all_brands_serviced (unconditional — the full compat list). Field hints disambiguate the two lists explicitly (featured hint: “hero mentions, trust bar, USP callouts”; serviced hint: “the full compatibility list — a brand can be serviced without being featured”) so customers don’t treat them as the same question. Featured picker routes to design (logo placement); all-serviced routes to CIC (AEO answers). Positional flow in the section reads yes/no → featured picker → dealer designations → all_brands_serviced, so the featured trio (gated on Yes) reads together and the broader compat list concludes the block. lib/manufacturer-brands.test.mjs (30+ assertions): MANUFACTURER_BRANDS array export, minimum-length guard, brand-per-trade coverage (HVAC / water / fixtures / electrical / garage), “Other”-at-end + no-duplicates + alphabetical (except Other) invariants, both new fields’ shapes + showIf + option-source, hint disambiguation content, consumer routing, positional ordering, isFieldAnswered semantics, existing yes/no + authorized_dealer_brands preserved, and per-schema key uniqueness.
- Onboarding · Team + MediaImprovement
Onboarding wizard — new “Team & leadership” section (owner / management / team, each a structured people-row list) and new media_folders field (URL + content-tag rows) replace the retired wants_team_featured yes/no + truck_team_photos_folder single URL
Two structural upgrades to the onboarding wizard, both per Jenn, both mirroring the state_licenses row-pattern shipped earlier today. (1) A new “Team & leadership” section joins the schema between brand_design and photos_assets, in excellence phase, with three fields — owner_profiles, management_profiles, team_profiles — each of a new kind: people. Every row is a PeopleRow { name, title, description, linkedin, photo_url }: name + title define the Person, description is a short bio that anchors E-E-A-T bylines, LinkedIn URL is the verifiable-identity signal Google and AI answer engines reward, and photo_url is optional (customers who don’t have a hosted headshot leave it blank and the Slack handoff carries the .jpg at Step 4 Asset Collection). Three tiers so a solo-owner shop fills Owner only and skips the others cleanly; a multi-location operator fills all three. Section why-copy names the payoff up front (Person schema, About page, Author bylines on Learning Center content, ai.txt persona block) and explains photo files travel through Slack + Step 4. Retires the coarse `wants_team_featured` yes/no from brand_design — presence of rows is now the signal. (2) A new `media_folders` field lands in photos_assets, kind: folders, one row per shared folder (Google Drive, Dropbox, WeTransfer) with a multi-select of content tags describing what’s in each folder. Canonical tag list: Team, Trucks, Products, Brands, Certifications, Pricing Ranges, Branding, Owner, Before and After, Marketing Materials, Competitor Analysis, Market Analysis, Other. Structured entry lets content generation route contents to the right place — team photos to the Team page, trucks to the trust bar, before/after to case studies, competitor analysis to strategy — instead of everything landing in one undifferentiated URL. Retires the earlier `truck_team_photos_folder` single-URL field. Type-system additions: OnboardingFieldKind union grows to include “people” and “folders”; new PeopleRow + FolderRow types + MEDIA_FOLDER_CONTENT_TAGS constant (13 tags including “Other”); OnboardingValue union widens to accept both new row shapes; FIELD_MINUTES weight for people (4 min) + folders (1.5 min) so INTAKE_MINUTES_TOTAL stays honest. Renderer additions: two new components in JourneyOnboarding.tsx (PeopleField + FoldersField), both wired through the Field kind switch and into the section-grid col-span rule so rows span the full width. lib/team-and-media-folders.test.mjs (60+ assertions): retirements, union extensions, type shapes, tag-list content + “Other”-at-end invariant, section metadata + placement (between brand_design and photos_assets), all three team fields present with correct kind + hint framing, media_folders shape + hint mentions Drive/Dropbox/WeTransfer + tagging rationale, isFieldAnswered half-answer detection for both new kinds (name-alone / title-alone / URL-with-no-tags / tags-with-no-URL / whitespace all unanswered; complete rows answered), renderer wiring, and per-schema key uniqueness. Existing get-started-journey.test.mjs updated: VALID_KINDS list grows, wants_team_featured retirement noted, fixture generators for allCritical + everything emit valid PeopleRow[] + FolderRow[] for the new kinds so 100% completion math still holds.
- Onboarding · Design directionImprovement
Onboarding wizard — “Design direction” flips from single-select to MULTISELECT and grows from 4 options to 6 with “High tech” and “Playful” added
Two changes to the design_preference field in the brand_design section of /get-started/onboarding, both per Jenn. (1) Kind flipped from single-select to multiselect — real brand directions are rarely one thing. A family-owned HVAC company can be simultaneously “Classic & trusted” AND “Playful”; an AI-forward operator can be “Modern & bold” AND “High tech”; forcing a single pick loses signal the design system can actually use to blend directions in the generated system. Field stays critical (design direction still gates content generation) and stays wired to the design consumer. (2) Options grew from 4 to 6 with two additions: “High tech” for AI-forward operators who want an ember / hydra-adjacent aesthetic, and “Playful” for friendly / approachable / human brands. The four prior directions — Modern & bold, Clean & minimal, Classic & trusted, Premium & luxury — stay in place; no regressions. Label + hint acknowledge the multi-pick pattern (“pick any that apply,” and “real brand directions are rarely one thing — the design team blends them, e.g. Classic & trusted + Playful for a warm, family-owned HVAC brand”) so customers understand this isn’t a mistake to pick two. Payload shape change: design_preference now emits string[] instead of string via the JSON serializer. Pre-Synapse the payload isn’t consumed by anything downstream yet, so no schema-migration to worry about — downstream systems (Synapse / PMS) will consume string[] when they come online. lib/design-direction-multiselect.test.mjs (20+ assertions): kind flipped correctly, exact 6-option list with the four preservations + two additions, no duplicates, label + hint acknowledge the multi-pick pattern with a concrete example combination, consumer routing preserved (design), isFieldAnswered semantics (empty array is unanswered; 1+ picks is answered), field still lives in brand_design section, per-schema key uniqueness.
- Strategy · Revenue-tier recommendationImprovement
Revenue capture moves UP from onboarding step 3 into strategy step 1 — the answer now influences the plan-tier recommendation at step 7 with a live “revenue tier confirms / suggests-different” callout
Two related moves in one release. (1) The last_year_revenue + goal_revenue selects retire from the /get-started/onboarding business_basics section (step 3, operational) and reappear on strategy step 1 (StepBusiness) as state.contact.lastYearRevenue + state.contact.revenueGoal. Payload keys stay identical (buildOrderPayload still emits `last_year_revenue` + `goal_revenue`) so downstream Synapse / PMS see no schema break — the customer just answers the questions earlier, when the answers can actually change what we recommend. Both selects include “Prefer not to say” as a real escape hatch; sensitive question, honest option. (2) A new recommendTierForRevenue() function maps the (revenue, goal) pair to a TierKey with a plain-language reason. Baseline mapping: Under $500K → Lean Launch, $500K–$1M → Essentials, $1M–$3M → Starter (“most popular”), $3M–$10M → Premium, $10M+ → Signature. Aggressive-goal adjustment: when the goal is 2+ revenue brackets above current, bump one tier up so the site fits the ambition, not the baseline (e.g. Under $500K + $3M–$10M goal → Essentials instead of Lean). Missing / “Prefer not to say” signal falls back to Starter and prompts the customer to share their revenue in Step 1 for a personalized recommendation. StepPlan (step 7) renders the revenue-tier callout above the existing page-math recommendation with three visually distinct states: not-shared (neutral gray, nudges to Step 1), confirms (ember-tinted, high-confidence when revenue tier + page math agree), and suggests-different (hydra-tinted, honest note when the two signals disagree). When they disagree, the callout also names the trade-off plainly — buying up buys room to grow into the pages the goal implies; buying down keeps the site tight to today’s operational reality — and leaves the choice to the customer instead of hiding one option. lib/revenue-strategy-move.test.mjs (30+ assertions): retirement of both onboarding fields, ContactInfo type extended, initialState defaults, buildOrderPayload column-name continuity + null-on-blank behavior, recommendTierForRevenue baseline mapping across all five revenue brackets, aggressive-jump bump across three scenarios, top-of-scale ($10M+) “already at ceiling” handling, prefer-not-to-say fallback, StepBusiness UI wiring (both selects present with the “Prefer not to say” escape hatch), and StepPlan callout wiring (recommendTierForRevenue is called and one of the three visual states renders). lib/get-started.test.mjs updated to keep the round-trip fixture aligned with the new ContactInfo shape.
- Onboarding · PaymentsImprovement
Onboarding wizard — payment_methods multiselect grows from 5 options to 8 with Apple Pay, Stripe, and Crypto Transfer added; the five prior options stay in place and the ordering rationale is pinned
The payment_methods multiselect in the Business facts section gains three options per Jenn. Apple Pay because home-services customers ask for it by name and treat it as distinct from generic credit cards even though it rails through cards under the hood — skipping it means answering “do you take Apple Pay?” wrong on every service-page FAQ. Stripe because when a client is set up on Stripe we can wire the live maintenance-plan checkout at go-live instead of routing every join through a phone call, and knowing the vendor at intake is what enables that integration path. Crypto Transfer because a small subset of contractors accept BTC / ETH on very large jobs (system replacements, whole-home rebuilds) and pretending it doesn’t happen misses conversions for those clients. The five prior options — Credit / debit cards, Checks, Cash, Financing, ACH / bank transfer — stay in place. New order groups options mentally so scanning is quick: cards first (Credit / debit cards → Apple Pay), physical tender next (Checks → Cash), payment terms (Financing), traditional bank rails (ACH), online processing (Stripe), alternative rail (Crypto Transfer) at the end. lib/payment-methods.test.mjs (15 assertions) pins the three additions, the five preservations, the exact-8-options invariant, no-duplicates, and the position of each option in the grouping so future edits can’t silently drop Apple Pay from the card cluster or push Crypto Transfer into the middle of the list.
- Onboarding · Legal & complianceImprovement
Onboarding wizard — new “Legal & compliance” section captures 4 doc URLs + 3 explicit liability acknowledgments (2 critical) and states CIWG’s ADA / Cookie Consent / A2P / PCI commitments up front
The earlier has_legal_documents yes/no was too coarse — a single boolean couldn’t tell us WHICH legal docs existed or where they lived, and it never captured the liability boundary between CI Web Group (builder + host) and the business owner (legally responsible for content, offers, and law changes). This release retires that yes/no and replaces it with a dedicated Legal & compliance section positioned right after Business facts, in essentials phase (launching without it is a legal risk). The section why-copy states CIWG’s compliance commitments up front so customers see WHAT WE DO before they see what THEY acknowledge: at go-live we deliver ADA (WCAG 2.1 AA), Cookie Consent (GDPR / CCPA-appropriate banner), and A2P 10DLC compliance when AI text / chat / voice is enabled; PCI DSS is optional and only applies if payments are accepted on-site. Four URL fields capture existing legal docs — Terms & Conditions, Privacy Policy, “Your Privacy Choices” (California CCPA opt-out for sale / sharing; VCDPA / CPA / CTDPA analogs in other states), and Consumer Rights (Know / Delete / Correct, distinct from the opt-out page). Missing URLs are not a build blockade: we generate review-ready drafts from our standard templates for the customer’s attorney to sign off; the customer is on the hook for actual legal review before publishing, and doc PDFs themselves continue to travel through the Slack channel + Step 4 Asset Collection. Three explicit acknowledgments define the liability boundary: legal_liability_ack (CRITICAL — the customer is legally responsible for state / federal lawsuits related to their site, content, offers, and services; companion to the MSA signed at Step 2), annual_attorney_review_ack (skippable; if committed, we send an annual reminder ahead of the anniversary), and change_request_responsibility_ack (CRITICAL — CIWG doesn’t proactively monitor changing local / federal law, so when the customer’s attorney flags a required update the customer requests it through their Slack channel and we implement). URL fields land BEFORE acknowledgments in the section flow so docs first, then commitments. lib/legal-and-compliance-section.test.mjs (45+ assertions) pins section metadata (essentials phase, why-copy names ADA / WCAG / Cookie Consent / GDPR / CCPA / A2P / PCI / MSA), positional ordering (after business_basics; URLs before acks; Terms → Privacy → Your Privacy Choices → Consumer Rights order), field shapes (URL kind + placeholders + hint substance matching each doc’s regulatory framing), acknowledgment critical status (2 of 3 critical), isFieldAnswered semantics (explicit No counts as answered because an honest No is meaningful), and per-schema key uniqueness. Existing get-started-journey.test.mjs updated: the retired has_legal_documents column is called out with an inline comment explaining the retirement + pointing at the new section.
- Onboarding · Service promisesImprovement
Onboarding wizard — same-day service (3-tier: guaranteed / when available / no) and free second opinion (yes/no) join the Business facts block so site copy matches operational reality
Two service-promise fields land in the business_basics section right after the 24/7 emergency block — all three read together as “what speed / offer promises do you honor?” Both are answers that fail their conversion job the moment we publish something the business can’t honor, so both are shaped to force an honest answer at intake. (1) same_day_service is a three-option select, not yes/no, because “when available” is a meaningfully different promise from “guaranteed.” Guaranteed lets us publish it as a hard hero-CTA promise + a service-page badge. “When available” gets softer copy (“Same-day service available”) with no CTA-level commitment so dispatch can’t get burned on a busy day. “No” means we don’t fake it — unearned trust destroys more conversions than it wins. The field hint spells out the tier consequences (which surface the answer renders on: hero CTA vs soft service-page copy) and names the honesty stakes plainly. Routed to content + CIC (AEO answers to “do you offer same-day?”) + config (template copy). (2) offers_free_second_opinion is a clean yes/no. Free second opinion is one of the highest-conversion offers on big-ticket replacement / major-service jobs — HVAC system replacements, panel upgrades, roof jobs, sewer line repair — because a homeowner shopping a first $10k+ quote is the exact buyer we want. When offered, we surface it prominently on replacement / major-service pages and as a bounce-recovery CTA in the exit-intent overlay. When NOT offered, we conspicuously don’t fake it. Section why-copy updated to acknowledge service promises alongside hours / payments / profiles. lib/service-promises.test.mjs (30+ assertions): three-option ordering (Guaranteed / When available / No), tier-language + surface-language pinned in the hint (hero CTA / service pages / schedule / honor / busy day — so future edits can’t soften the honesty framing), positional ordering (both fields sit contiguous with the emergency-service block, before languages / payment / socials), consumer routing, isFieldAnswered semantics for both fields (explicit “No” counts as answered because an honest No is the point), and per-schema key uniqueness.
- Onboarding · LicensesImprovement
Onboarding wizard — state licenses now collected as structured rows (one per state) instead of a free-text list, so per-state footer disclosures and LocalBusiness schema render cleanly
Home-services contractors typically operate across multiple states, and each state issues its own contractor license under its own numbering scheme (Texas TACLA-, Arizona ROC-, Florida CAC-/CVC-, California C-20/C-36, etc.). The earlier `license_numbers` textarea asked customers to smash all of that into one free-text blob, which meant per-state schema and footer disclosures couldn’t be rendered without hand-parsing at content time. This release replaces that textarea with a structured `state_licenses` field of a new kind: licenses. Each row is a LicenseRow { state, license_number, license_type }; the state field is a select constrained to the 50 US states + DC (full names, not USPS codes, because full names match how state licensing-board search tools work and read better in LocalBusiness schema); the license number is free text; the license type / class is optional (some states like Texas separate HVAC Class A vs Class B; other states have one license class). Add-row / remove-row UI mirrors the existing Slack contacts pattern so it feels familiar. isFieldAnswered semantics are tightened: a row counts as answered only when it carries BOTH a state AND a license number — a half-answer (state alone / number alone / whitespace only) is treated as unanswered so completion tracking doesn’t credit half-entered rows and the intake progress bar tells the truth. Field hint frames the operational stakes plainly: many states legally require the license number on every service page, structured entry lets us render per-state footer disclosures + LocalBusiness schema without hand-parsing, and the actual license PDFs continue to travel through the customer’s Slack channel (ticked off at Step 4 Asset Collection) rather than uploading through a form the static site can’t accept. Type-system changes: OnboardingFieldKind union grows to include “licenses”; new LicenseRow + US_STATES_AND_DC exports; OnboardingValue union widens to accept LicenseRow[]; FIELD_MINUTES weight for the new kind (2 min) so INTAKE_MINUTES_TOTAL still honestly reflects the section length. Renderer: new LicensesField component in JourneyOnboarding.tsx, wired through the Field renderer’s kind switch and the section-grid col-span rule so rows span the full width instead of getting crushed into a half-column. New lib/state-licenses.test.mjs (35+ assertions): OnboardingFieldKind union extended, LicenseRow shape, US_STATES_AND_DC exact length (51) + full-name-not-USPS-code invariant, state_licenses field exists with the licenses kind and the retired license_numbers key is deleted, isFieldAnswered honors half-answer detection (empty / state-only / number-only / whitespace-only all unanswered), and the renderer wiring in JourneyOnboarding.tsx (import of LicenseRow + US_STATES_AND_DC, LicensesField definition, kind-switch branch, add-row button label, col-span rule). Existing get-started-journey.test.mjs updated: VALID_KINDS list grows to include “licenses” and the fixture generators for allCritical + everything now emit a valid LicenseRow[] for licenses-kind fields so completion math still hits 100% end-to-end.
- Onboarding · Google accessImprovement
Onboarding wizard — Google access section grows so every Google property (GA4 / GTM / GSC / GBP) surfaces its ID, admin status, and a historical-preservation invite to our service account when you say Yes
The Google access step of /get-started/onboarding used to ask a bare yes/no per property — Do you have GA4? Search Console? Tag Manager? GBP? — which told us the property existed but nothing that let migration actually happen. Now, whenever the customer answers Yes to a property, three follow-ups surface: (1) the property ID (GA4 Measurement ID G-XXXXXXXXXX, GTM container GTM-XXXXXX, GSC property URL Domain vs URL-prefix, GBP has no code — we find it by business name), (2) their admin role on that property (Owner / Manager / Publish access / Full user — each Google surface has a different role model and only certain roles can grant new-user access), and (3) whether they’ll invite our service account to preserve historical data. Sharing instructions land in the hint on the historical-preservation yesno so they appear at the exact moment the customer needs to act: [email protected] for GA4 (Admin recommended, Editor works), GTM (Publish access), and GSC (Full user); [email protected] for GBP (Manager role). Each hint frames the honest stakes so the invite request feels like a data-continuity favor to the customer, not just a permission grab: GA4 hint names “pre/post comparisons are apples to oranges” without the invite; GSC hint calls out the 16-month retention ceiling (miss it and the pre/post SEO baseline is gone forever); GTM hint contrasts “Export → Import” container migration with “rebuild tags from a script audit and lose every custom variable”; GBP hint names the specific artifacts preserved (posts, photos, Q&A, review responses, insights) and the map-pack momentum lost by rebuilding a new listing. Section grew from 5 fields to 16, but every new field is gated on the property yes/no directly above — a customer with zero Google properties still sees the same 5 questions. Section why-copy updated to state both service-account emails up front and explains the historical-preservation angle. Positioning per property block: gate → ID → admin → historical, contiguous, in that order (GBP skips ID). New lib/google-access-followups.test.mjs is a contract-style test that iterates a 4-row table (one per property) and pins field kinds, showIf gating (hidden on No/blank, shown on Yes for every follow-up), consumer routing, positional ordering, sharing-email correctness ([email protected] for the analytics family, [email protected] for GBP), and the migration-consequence keywords in each hint (16 months / apples to oranges / Export → Import / map-pack) so future edits can’t soften the honesty framing.
- Onboarding · DomainImprovement
Onboarding wizard — GoDaddy account-holder pair (name + email, gated on registrar = GoDaddy) + universal DNS handoff mode (Delegate to [email protected] vs DIY at go-live)
Two related additions to the Domain & website access step of /get-started/onboarding, both aimed at preventing launch-week surprises. (1) When domain_registrar = GoDaddy, two follow-up fields surface: godaddy_account_holder_name (text) + godaddy_account_holder_email (email). GoDaddy is unique among registrars in the option list: (a) account delegation is invite-based via account-manager access (no true API-based delegation like Cloudflare or Namecheap), (b) support calls require verifying the account holder’s identity by name + email + phone, and (c) home-services owners commonly hand off registrar accounts loosely, so “who registered this years ago?” frequently differs from “who owns the login today?” Knowing the actual account holder in advance prevents a 20-minute hold call to GoDaddy support at cutover and stops the account-manager invite from silently landing in a former vendor’s inbox. Both fields are hidden for every other registrar; both surface only on GoDaddy. (2) A universal dns_change_mode select lands right after the domain-access yes/no with three options: “Delegate to CI Web Group — invite [email protected]” (the recommended path; we flip records ourselves at go-live so the customer doesn’t need to be available), “I’ll change my own records at go-live” (we send a records checklist ahead and coordinate a change window), and “Not sure — advise us” (escape hatch). The choice sets the entire go-live coordination pattern — asking now, at onboarding, prevents the launch-week crunch where we discover the customer expected us to handle DNS but never granted us registrar access, or vice versa. Positioning: GoDaddy pair sits between domain_registrar and domain_access_granted (registrar answer → GoDaddy identity → access status); dns_change_mode sits between domain_access_granted and website_admin_access_granted (access GIVEN → HOW you’ll use it at go-live). All three routed to config + analytics; dns_change_mode also to web (it affects build cutover). New lib/domain-access-godaddy-dns.test.mjs (30+ assertions) pins showIf branching for every other registrar (Cloudflare, Namecheap, Google Domains/Squarespace, Network Solutions, Other, Not sure) as HIDDEN and GoDaddy as SHOWN, positional ordering, options exact content (Delegate wording names [email protected] exactly), consumer routing, and registrar-list integrity (the GoDaddy pair’s showIf value must exactly match the registrar option string).
- Onboarding · Chat vendorImprovement
Onboarding wizard — Live chat / chatbot yes/no now surfaces a “Which system?” follow-up (completing the pattern across every incumbent-vendor yes/no in the Leads section)
The Leads, booking & call tracking step of /get-started/onboarding used a consistent pattern for every incumbent-vendor question except one: has_call_tracking_system, has_online_booking, has_ai_csr_booking, and has_current_marketing_company all surface a follow-up when the customer says Yes (call_tracking_vendor, booking_link, ai_csr_booking_vendor, current_marketing_company_name). has_chat_system did not — we knew the customer had a chat / chatbot system but not which one, which meant migration had to discover it at cutover. This release adds chat_system_vendor (text, gated on has_chat_system=true), positioned immediately after the yes/no so the two fields read as one question. Free text (not a picker) because chat vendors overlap heavily with AI CSR / messaging platforms and customers often run combos — Podium web widget + Facebook Messenger + ServiceTitan Concierge is not unusual. Placeholder names the recognizable home-services vendors (Podium, Signpost, Intercom, HubSpot, ServiceTitan Concierge, Tidio) so customers know what we’re asking about. Hint explains the migration reason: preserve chat history, re-wire the embed script cleanly, and honor any lead-capture webhooks that fire off chat conversations. Routed to leads + analytics consumers. lib/leads-yesno-followups.test.mjs (contract-style, 50+ assertions) locks the policy across all five incumbent-vendor yes/no gates: each carries a follow-up, each follow-up gates on its yes/no directly, each is positioned immediately after its gate, and each is hidden on No / blank and shown on Yes. If any of the five loses its follow-up (or a follow-up loses its showIf, or points at the wrong gate), the test fires so the regression cannot ship silently.
- Onboarding · Phone + SMSImprovement
Onboarding wizard — Leads section now captures a separate emergency line + SMS/text line + A2P 10DLC verification status so click-to-text CTAs, appointment SMS, and emergency call flows all deliver at go-live
Four fields joined the Leads, booking & call tracking step of /get-started/onboarding, all wired to real go-live consequences. (1) has_separate_emergency_line (yes/no, right after the main lead-routing phone): emergency call flows route to on-call techs, not CSRs — usually via a different vendor, SIP trunk, or answering service — so knowing whether the emergency number is distinct is what tells us to render one click-to-call CTA versus a split “Sales” + “Emergency” block. It also determines whether we populate LocalBusiness.secondaryTelephone in the schema (the number Google and AI hand back when someone asks for 24/7 service). (2) emergency_line_phone (tel, gated on Yes): the actual number — renders on emergency-service page CTAs, header alt CTA when after-hours applies, and after-hours pop-ups. (3) sms_text_line (tel, optional): some businesses run a dedicated SMS-capable DID separate from the main voice line (a VoIP main line + a Twilio/Bandwidth SMS number is common). Leave blank when the main number handles SMS; fill in only when it’s a separate line. This is the number that ends up wiring click-to-text CTAs, appointment confirmations, review-request SMS, and any AI CSR SMS flows. (4) sms_a2p_verified (yes/no): US carriers (T-Mobile, AT&T, Verizon) enforce A2P 10DLC registration via The Campaign Registry for business SMS. Without it, throughput gets throttled, then filtered, then blocked — click-to-text and appointment SMS silently fail without anyone noticing until leads dry up. Field label includes the A2P acronym so it’s recognizable; hint spells out A2P 10DLC, names the consequences (throttled → filtered → blocked), and points customers at the concrete places they can go to check status (SMS platform — Twilio, Bandwidth — or CRM — HighLevel, ServiceTitan — whichever owns the number). Positioning: emergency questions sit between lead_routing_phone and phone_can_receive_sms so the two phone-line questions read together; SMS text line + A2P sit immediately after the sms_opt_in_ok flow so the whole SMS conversation reads as one block. All four fields routed to leads + config + analytics as appropriate. New lib/emergency-and-sms-lines.test.mjs (22 assertions) pins field shape, showIf gating, consumer routing, positional ordering, A2P hint content (acronym, consequences, platform names), and per-schema uniqueness.
- Onboarding · ProofImprovement
Onboarding wizard — new “Proof & credentials” section captures the text metadata behind the trust displays we render at go-live (license #s, insurance details, warranties, associations, authorized-dealer designations)
The trust surface of a home-services site — the certifications, licenses, insurance, associations, guarantees, warranties, and dealer badges that convert hesitant buyers — depends on two things: the FILES (badge art, insurance PDFs, BBB certificate) and the TEXT (numbers, dates, terms, carriers, exact wording). Step 4 of Getting Started (Asset Collection) already collects the files. This release adds a matching “Proof & credentials” section to Step 3 (Onboarding) that collects the text metadata, so we can render the trust displays + LocalBusiness/Organization schema BEFORE the file assets arrive. The section is placed immediately after Customer intelligence and immediately before Web structure, mirroring step 4’s ordering. Four existing fields (certifications, awards, guarantees_offered, feature_manufacturer_brands) relocate here from Customer intelligence — they were never really “customer intelligence,” they were trust proof — and the CIC section is now trimmed to its actual concern (questions, objections, ideal-customer, glossary, review sources). Five new fields join them, each mapped to a specific ChecklistItem in overrides/ciwebgroup/lib/asset-checklist.ts (an inline comment on every field names the item it feeds): license_numbers (Proof · “license-numbers”) split out of certifications so the legal identifiers land in state-required footer disclosures cleanly; warranties_offered (Proof · “warranties”) for labor-vs-parts installed-work coverage, distinct from service guarantees; insurance_details (Proof · “insurance-bonding”) for the GL carrier + coverage $ + workers-comp status behind “Licensed, bonded & insured”; association_memberships (Proof · “associations”) for BBB accreditation year + trade associations (ACCA, PHCC) + Chamber of Commerce; and authorized_dealer_brands (Ops · “dealer-status”), gated on feature_manufacturer_brands=Yes, for the specific dealer designations (Carrier FAD, Trane Comfort Specialist, Bryant Factory Authorized) — verifiable authority, not vague “we install Carrier.” And one new follow-up landed in the existing business_basics section: after_hours_details (textarea, gated on offers_emergency_service=Yes) collects the honest picture behind the 24/7 claim (“real 24/7 with on-call tech” vs “answering service that pages a tech” vs “on-call rotation Sat/Sun only”), so we never publish emergency-service copy the business can’t honor. Ops fields that already existed in business_basics (languages_served, payment_methods, offers_emergency_service) were NOT duplicated — the test file asserts each of them lives in exactly one section. lib/proof-and-credentials-section.test.mjs (30+ assertions) pins section placement, field shapes, gated follow-ups, asset-checklist coverage (Proof + Ops items still exist under the ids the schema comments reference), duplication guard, and CIC-trimming.
- Readability pass 3Improvement
Site-wide readability pass 3 — every text tier bumped +1px, body defaults set explicitly, arbitrary-size floor raised, and Bebas Neue tracking opened up
Jenn: “the fonts on ci web group are too hard to read, too small and the actual fonts make it hard to read — we have asked for this a few times.” She has. Pass 1 (2026-07) nudged --text-xs from 12 to 13px, pass 2 (2026-07-06) nudged --text-sm from 14 to 15px, both surgical and both insufficient. Pass 3 goes further, uniformly, across the whole type scale rather than tier-by-tier. Every text-* utility on the site nudges up by ~1px — text-xs 13→14, text-sm 15→16 (finally hitting the WCAG reading floor), text-base 16→17, text-lg 18→19, text-xl 20→21 — with line-heights recalculated so each tier’s optical rhythm is preserved after the size change. Distinct tiers are kept intact so component authors still express hierarchy. The body element itself gains explicit rules for the first time (font-size 1.0625rem / 17px, line-height 1.6, letter-spacing 0.005em) so every paragraph, span, and div that doesn’t carry a text-* utility inherits comfortable reading defaults instead of the browser-inherited 16px/1.5 with no tracking — Barlow is a slightly condensed grotesk and that hair of tracking is what opens it up without touching the brand identity. The arbitrary tiny-size floor (text-[7px]…text-[11px]) that already caught micro-labels climbs from 12px to 13px, and text-[12px] joins the same block so any hardcoded 12px utility climbs too. font-display (Bebas Neue) letter-spacing bumps from 0.005em to 0.025em across all ~1,900 usages on the site because Bebas Neue is a condensed all-caps display family and its glyphs touch each other at anything smaller than a hero headline — a hair more tracking makes card headings, sub-section labels, and small-caps eyebrow labels readable without changing the brand feel. Impact scope: 973 text-sm usages across 233 files, 264 text-xs usages, 1,896 font-display usages, plus everything that inherits from body — all lift in one release. lib/readability-floor.test.mjs expanded from 4 tests to 15, adding assertions for every size tier (>= floor px), tier ordering (xs < sm < base < lg < xl), body element declarations (font-size + line-height + letter-spacing), the raised arbitrary-size floor, text-[12px] inclusion in that floor, and the font-display letter-spacing lift. Prior surgical fixes (paragraph text-sm.leading-relaxed lift, table.text-sm tbody lift, MarketBenchmarkPage source-note lift) all preserved.
- Onboarding · MigrationImprovement
Onboarding wizard — “What CMS is the current site built on?” landed in Domain & website access so we pick the right migration tooling before we ask for admin
A new current_cms picker joins the Domain & website access step of /get-started/onboarding, positioned immediately after “Current website admin access granted?” because the two questions read together (“you have admin, and the site is built on …?”). Options: WordPress, Webflow, Next.js, React, Wix, Squarespace, GoDaddy, Other. Every CMS has a different migration path — WordPress dumps as XML into a PMS post-type + ACF mapper, Webflow requires the CMS API + collections dump (rate-limited), Next.js and bare React need source-repo access + a dependency audit, Wix has no export API (HTML scrape + manual triage), Squarespace exports JSON + demands manual media re-host, GoDaddy is HTML-scrape with very limited export, and Other triggers an account-manager discovery call. Asking this on day one lets the migration team pick the right tooling before we ask the customer for admin access, and sets an honest expectation about content-preservation risk before we ever quote a Fast Track deadline. Routed to analytics, web, and config consumers so migration + tracking + hosting all see the answer. Canonical brand capitalizations (WordPress — not Wordpress; Next.js — not NextJS; Squarespace — not SquareSpace) because these are displayed to end users and each vendor’s brand form matters. Skippable — we can still launch without it, it just costs migration time. lib/current-cms-picker.test.mjs (20 assertions) pins the field shape, exact option list + ordering, canonical capitalizations, consumer routing, hint content (migration path / export-import tooling reasoning), placement (right after website_admin_access_granted, right before needs_to_contact_web_team), and that the column key is unique across the whole schema.
- Onboarding · LeadsImprovement
Onboarding wizard, Leads section — “Under a minute with AI” is now the first speed tier, and every incumbent-vendor yes/no now gates a follow-up so we know exactly what we’re migrating
Three focused refinements to the Leads, booking & call tracking step of /get-started/onboarding. (1) response_time_expectation — the speed-to-lead answer that gates the promise we’re allowed to publish on the site — now offers five tiers instead of four, with “Under a minute with AI” as the first option. It’s an honest current-state answer for customers already running an AI CSR / AI voice-booking layer, and it anchors the aspirational answer for everyone else. The field hint upgrades to explicitly name the escape hatch: “If ‘Under a minute with AI’ isn’t yours yet, our AI CSR / voice booking build components can make it true.” No copy is published on the site that isn’t true (the honesty clause is preserved), and CIWG has the components to make the aspirational option honest for anyone who picks it. (2) has_current_marketing_company (yes/no) now surfaces a dependent picker — current_marketing_company_name — the moment the customer answers Yes. Options: Ryno, Relentless, Scorpion, Rival Digital, Cornerstone, Lemonseed, 1SEO, PlumberSEO, Other. This isn’t vanity attribution: each of those vendors leaves a completely different footprint on the way out — who owns the GBP profile, which tracking pixels are wired where, whose GA4 account holds historical data, what DNS records point where, which review-widget scripts are embedded, whose CallRail (or vendor-native call tracking) numbers the SEM campaigns use. Knowing WHO the client is switching from lets our takeover team plan the migration cleanly before cutover day instead of discovering it at go-live. The picker gates on true (won’t ask “who?” if the customer said No). (3) has_ai_csr_booking (yes/no) gets the same treatment — a new ai_csr_booking_vendor free-text follow-up appears when the answer is Yes. Free text (not a picker) because the AI-CSR / voice-booking space is fragmented and customers routinely run combos (Avoca on the phone, Signpost on SMS, ServiceTitan Concierge for after-hours), so a single-vendor picker would force artificial answers. The placeholder names common home-services vendors (Avoca, Numa, Rilla, Signpost, ServiceTitan Concierge) so the customer recognizes the category, and the hint explains the migration reason: transcripts, call recordings, and dispatched-jobs webhooks must be preserved on the way in. Routed to leads + analytics consumers, gated on true. Both new follow-ups sit immediately after the yes/no they depend on so the flow reads as one question, not two. lib/leads-section-2026-07-08.test.mjs (~30 assertions) pins the AI-first ordering, the honesty hint, the branching contracts for both follow-ups, the marketing-vendor list content, the AI-CSR free-text shape, the placeholder + hint content, and the positional ordering.
- Onboarding truthImprovement
Onboarding wizard — Slack-only + Zoom/AI-Recorder policy stated plainly, and the six free-text approver fields collapse into three Slack-sourced role picks + a required billing email
Two related corrections to the “Your people & Slack” step of /get-started/onboarding. (1) The old “How do you want updates?” select — Slack only / Slack + email / Slack + text / Everything — quietly implied CI Web Group offered email or text as a client-communication channel. We don’t, and haven’t for a while. Slack is our only channel because Hydra (and each client’s Hydra AI agents) require full visibility to communications; email, SMS, and DM side threads break that guarantee. The four-option select is deleted and replaced by a single yes/no acknowledgment (communications_policy_ack) with a hint spelling out the whole policy — no email threads, no texts, meetings recorded with Zoom + an AI Recorder and made available to your Hydra AI agents — and the section why-copy leads with the policy up front. (2) The six free-text approver fields — Strategy decisions (name + email), Design approvals (name + email), Go-live approval (name + email) — asked customers to type out the same people’s names and emails they had already entered above in “Who joins your Slack channel?” Twelve inputs to name six humans. The reshape collapses that into three dropdowns that pick from the Slack contacts entered above (final_review_approver, go_live_approver — CRITICAL because we do not flip a domain without a named approver on record, technical_contact) plus one required billing_email (kept separate because AP / office-manager invoicing mailboxes are almost always distinct from the operational Slack channel, and invoices must never bounce). The dropdown reads directly from live intake state — add a person up top, they appear in the pickers below instantly. If no contacts have been entered yet the dropdown is disabled with an inline nudge (“Add people in Who joins your Slack channel? above first — this dropdown picks from that list”). Schema mechanism: the OnboardingField.optionsFromWizard union grows from “services” | “cities” to include “slack_contacts”, and wizardOptions() in JourneyOnboarding.tsx now also receives the live values so the same declarative-schema hook that already fed money_services from the strategy step can feed role picks from live contact rows. Documentation (docs/onboarding-persistence.md) records the retirement of the six legacy columns — any DB columns simply stay null on new submissions, historical rows untouched, no migration. Two new dedicated tests pin the change — lib/slack-only-communications.test.mjs (policy field) and lib/slack-contact-role-picks.test.mjs (30 assertions: retired-field deletion, new-field shape, criticality of go-live approval, billing email requiredness + separation from Slack, UI wiring, empty-state hint, disabled dropdown, and doc alignment).
- Growth EngineImprovement
Growth Engine reshaped to our actual monthly products — AI Local first, Hydra Blogging replaces Pulse, Link Building + Hydra Build Credits + Strategy Sessions
Step 9 of /get-started (“Your Growth Plan”) now reflects the actual six monthly products CI Web Group sells, in the order operators actually think about them, per Jennifer 2026-07-08: (1) AI Local — GBP & AI Maps, Start Now; (2) Hydra Blogging (renamed from “Pulse”), Start Now, with an explicit “first 30 days are setup + AI training” note so operators know the cadence doesn’t start on day one; (3) Link Building (renamed from “PR backlinks”), Start Now, same $500/link editorial DA-30+ standard; (4) Hydra Build / Component Credits (renamed from “AI Build Credits”), with copy that names the Hydra backoffice tracking and calls out the roll-forward behavior — credits stack month-to-month so a client can save up for a bigger project instead of losing what they didn’t spend; (5) Press releases, unchanged mechanics but re-ordered into the canonical list; (6) Strategy Sessions (renamed from “Strategy meetings”), unchanged mechanics. The prior Cortex bundle row is retired from the Growth Engine UI — it duplicated what the individual products already offer, and the pillar-strategy story the site tells today is that clients pick the specific components + services that move their business, not a bundled “SEO plan”. State + payload field names (pulseEnabled / techCreditsEnabled / strategyMeetingQty / linkBuildingEnabled / pr-backlinks / tech-credits / strategy-meetings) stay untouched so existing localStorage drafts + Synapse integrations keep working — only the user-facing labels and copy changed. New-client default timing on the three Start Now items lands at “now” so the summary rail reflects the canonical lineup out of the box.
- New pillarBuild Components
LSO — Local Search Optimization joins the strategy taxonomy as the 8th pillar (and the featured-components hero re-frames the sale)
One more pillar lands today: LSO (Local Search Optimization). It is not a rename of the old Local Optimization service card — it is the promotion of that whole discipline (map-pack + Google Business Profile + per-city entity graph) to a first-class strategy pillar alongside SEO, AEO, GEO, AI Search, CRO, AXO, and SXO. Eight pillars total. Nine Build Components carry the new lso tag today: Service Area Pages Generator, Hyper Local SEO Boost, Per-City Testimonial Rotation, Permits & Code Education Center, State Rebates & Incentives Explorer, Rebate + Financing Stack Calculator, Fleet & Team Page, Certifications & Manufacturer Badges Wall, Reviews Engine, and the Emergency / After-Hours Router — the components that turn a service-area footprint into per-city entities the search engines can resolve as a real local answer, not a bullet on an “Areas We Serve” list. The homepage Featured Hydra Components rail (“Add anything, component by component”) is re-framed at the same time to make the argument out loud: every component is designed to enhance and boost the pillars that actually move a service business — SEO, SXO, AEO, AXO, LSO, GEO, and CRO — so instead of burning budget on a generic “SEO retainer” you can’t see, you invest in building actual components that drive continued performance improvements. Work you can watch land on your site, feel in your calls, and measure in your reports. Ships with an updated hero-copy pillar-pitch paragraph, a new “7 pillars boosted” trust chip alongside the existing “48 in the catalog” chips, the What We Do homepage card for Local Optimization upgraded from Service tag to Pillar tag (now “LSO — Local Search Optimization”, deep-linking to #pillar-lso on the Build Components page), the Build Components page copy bumped from “seven pillars” to “eight pillars” everywhere (page-header eyebrow, hero jump-nav CTA, jump-nav chip, section header, source comment), a first-class OKF concept auto-published at /okf/strategy/lso.md, and llms.txt / llms-full.txt updated to advertise the new pillar and the re-framed sales argument to LLM crawlers.
- Partner codeIntegration
Partner code lands in the Hydra Build online ordering checkout — source attribution + discount application, connected to the backoffice
The Hydra Build Components checkout at ciwebgroup.com/build (and the mirrored catalog on /services/build-components) now accepts a Partner Code at review time. Buyers who arrive through a CI Web Group strategic partner — Service Nation Alliance, Women in HVACR, and others as partner ops confirms rates — type the code, click Apply, and the review total updates to the discounted net amount instantly. Every submitted order carries the partner attribution + the applied discount in the form-relay payload, so the backoffice knows exactly which partner referred the customer and what discount was negotiated. Implementation: (1) a canonical PARTNER_CODES registry in lib/partner-codes.ts committed in code (adding a code is a PR + review, which is the security control on “who can mint a discount”); every code's partnerSlug is enforced-by-test against lib/strategic-partners.ts so attribution can't point at a partner not publicly listed. (2) Case-insensitive lookup with distinct rejection states (unknown / expired / disabled) so the input can surface the exact reason a code failed instead of a generic “invalid.” (3) A PartnerCodeInput React island on the Review step of BuildCheckout — controlled input, persists the raw code string to CheckoutDraft (localStorage) alongside customer + intake state, re-validates on render so a code disabled between visits falls through cleanly. (4) Discount math is a pure helper (applyPartnerDiscount) that supports percent-off or flat-dollars-off the one-time total (never on price-on-request quoted lines — those are scoped at contract). (5) The order payload gains a `partner` block with code, partner_slug, partner_name, discount_kind, discount_value, and both applied-dollar and applied-credit amounts; the top-level WPForms fields flatten partner_code / partner_slug / partner_name / partner_discount_dollars / partner_discount_credits so admin dashboards can filter and report without parsing order_json. (6) Slack blocks now surface a dedicated “🤝 Partner attribution” section with the code, partner name, discount amount, and gross → net totals when a code is applied. Seeded registry ships with three codes today: CIWG-DEMO (0% source-tracking only, used to smoke-test the payload end-to-end), SERVICENATION10 (10% off for Service Nation Alliance members), and WOMENHVACR10 (10% off for Women in HVACR members) — rates confirmed by CI Web Group partner ops before external promotion, easy to adjust without touching UI or transport code. 15 test assertions across cross-registry attribution, lookup semantics, expiry / disabled handling, percent + flat discount math, payload block shape, CheckoutDraft round-trip, and the transport / BuildCheckout wiring guard the feature against regressions.
- New pillarBuild Components
SXO — Search Experience Optimization joins the strategy taxonomy as the 7th pillar
The Hydra Build Components strategy taxonomy grows to seven pillars today with the addition of SXO (Search Experience Optimization). SXO is the pillar that ties SEO (getting found), AEO (being the answer), and CRO (converting) into one measurable outcome — did the searcher's journey actually succeed? A #1 rank means nothing if 80% of visitors pogo-stick back to the SERP within seconds. Google measures that behavior and demotes results that fail it, which means the ranking budget spent on SEO can be undone by a slow, distracting, or intent-mismatched page. SXO fixes that. Sixteen Build Components carry the new sxo pillar tag today, organized in four buckets: task completion (Instant Quote Estimator, HVAC Size Calculator, HVAC System by Home Type, Financing Calculator with Application Integration, Project + Financing Builder, Energy Savings Plan Builder, Rebate + Financing Stack Calculator, Garage Door Visualizer, Online Booking + Dispatch — nine tools that let a visit end in a real outcome), SERP CTR primitives (Reviews Engine + Certifications & Badges Wall — rich-result schema and trust signals that lift click-through from the SERP), engagement + dwell (Learning Center, Interactive Products & Services Explorer, How Your System Works Interactive Diagram — depth content that rewards the click with substance), and exit recovery (Exit-Intent Quote Capture, Speed-to-Lead Promise — catches the pogo-stick before it fires). The pillar is also added as a Visibility card on the homepage What We Do overview (now 13 services instead of 12), auto-published as a first-class OKF concept at /okf/strategy/sxo.md, and reflected in every 'six pillars' → 'seven pillars' copy update site-wide (Build Components hero, jump-nav, section header, and llms.txt / llms-full.txt).
- HomepageNew Feature
New homepage showpiece — What We Do (12 services, 3 buckets) + Hydra OS in Motion (7-step getting started)
The ciwebgroup.com homepage now leads with two new sections between the verified-wins band and the industry breadth banner. What We Do is a 12-service overview grouped into three buckets a buyer actually thinks in: Foundation (Website Design & Development, Hydra OS Component Store, Hydra OS Intelligence), Visibility (Local Optimization, SEO, AEO, GEO, AXO/AAO, AI Search Optimization), and Automation (Blog to Social Content Automation, AI Automation Consulting Done-With-You, AI Automation Done-For-You). Every card links to a real service or strategy-pillar surface. Every card carries an ember-tinted “orb-lite” icon puck — a scaled version of the CoreEngine orb recipe from the AutonomousCore section — for a subtle 3D beat that reads as raised and backlit without adding animation. Hydra OS in Motion is the 7-step getting-started showpiece Jenn asked for, carrying the site’s canonical tagline: “The first web and organic marketing system designed to get smarter over time.” Each step is a first-class visual node with a full CoreEngine orb (radial gradient with top-left highlight, ember outer glow, and inset bottom shadow) framing an icon plus a numbered chip. The seven steps read as a vertical rail with a hairline ember gradient connecting them: (1) customize your strategy and plan online, (2) onboarding and assets delivery via Slack, (3) review your website and submit changes, (4) approval and website live (typically under 60 days), (5) add build components any time from the online component store, (6) live reports with a built-in AI second-opinion loop, (7) strategy sessions for major moves (acquisitions, market expansion, brand launches). A dark bottom band restates the tagline with two CTAs — Start step 01 → /get-started and How Hydra OS works under the hood → /hydra-os. The older HydraGettingStartedSection is retired — both the component and its test file are removed; the IndustryBreadthBanner regression test is updated to anchor on the new section. Every corner uses the rounded design language shipped 2026-07-07 (rounded-lg on buttons, rounded-xl on cards, rounded-2xl on the closing band).
- Hydra launchNew Feature
MRV Service Air Inc. is live on Hydra OS — Delano’s family-first HVAC operator, now Central-Valley-visible

MRV Service Air Inc. cut over from WordPress to Hydra OS — and as of Jul 8 the build is verified serving the live production domain. The new mrvserviceair.com is a Delano-anchored, family-first HVAC build serving twelve Central Valley communities (Delano, Bakersfield, McFarland, Wasco, Earlimart, Richgrove, Pixley, Porterville, Tulare, Visalia, Hanford, Shafter) with three property-type stories (Homes & Families, Light Commercial, Manufactured Homes — the last one uncommon on HVAC marketing sites and a real Central Valley differentiator). The homepage carries the machinery Central Valley buyers actually use, all verified live: a Listen → Diagnose → Recommend → Deliver process rail under the promise “Clear steps. No sales pressure,” a full AC / furnace / heat-pump service ladder (repair, installation, replacement, maintenance, 24/7 emergency — twelve dedicated service entities), a live-weather “Delano now” Comfort Board reading current Valley conditions beside the same-day promise, a twelve-community service-area shelf where each community gets its own signal (not a swept-together “Areas We Serve” list), a property-type selector that routes a manufactured-home owner in Wasco to the right story on the first click, a Learn · Compare · Act Learning Center (Title 24 basics, Rheem vs Carrier vs Trane, city-anchored booking guides), and a trust line that publishes the specifics most sites round away — 4.3★ Google rating across 82 reviews, family-owned since 2003, CSLB #870278, licensed, bonded & insured — with six named customer reviews on the homepage. The card image on this announcement is the pre-Hydra WordPress mrvserviceair.com homepage captured Jul 4, 2026 as the locked before baseline; the launch page (/featured-customers/mrvserviceair) renders the full before/after module. Under the hood: static, database-free front end; HVACBusiness structured data (the trades-specific schema Google recommends); OpeningHoursSpecification and PostalAddress on every render; question-shaped service copy readable by ChatGPT, Perplexity, Gemini, and Google AI Overviews; and the sitewide OKF DataFeed entity so AI agents can find MRV on the ciwebgroup.com knowledge graph. Following the Hydra launch discipline, this post ships without performance numbers on purpose — no Lighthouse scores, Core Web Vitals, traffic results, or ranking claims are published until they are measured on the live production site. The measurement track opens now that the production domain serves the build; results land as milestones as they clear the 7-, 30-, and 90-day post-cutover thresholds.
- Reader accountsNew Feature
Register on ciwebgroup.com to bookmark pages, resume reading, and have articles read aloud
Every page on ciwebgroup.com now carries a floating Reader button. Tap it to open a four-tab drawer: This page (bookmark toggle, mark-as-read toggle, live reading-progress bar with a one-tap reset), Bookmarks (every saved page with a quick-unbookmark), Read aloud (Web Speech API controls — play, pause, stop, speed slider, voice picker — pointed at the current page's <main> content), and Account (email registration or a signed-in status card). Registering with an email joins the Hydra PMS marketing list — the form posts to the same relay every other CI form uses, tagged as submissionType: reader_registration with a placement of reader-account-signup:<path> so the PMS side can route to a dedicated marketing list without a schema change. The visitor's bookmarks, reading progress, and read history persist to localStorage under ciwg-reader-account-v1 as a versioned envelope (v: 1) with cross-tab sync via the storage event, matching the pattern in build-store.ts and get-started.ts. Reading progress writes are throttled to every 2 seconds and require a meaningful delta (5% fraction OR 300 px). When a visitor returns to a page they were between 15% and 95% through, a resume banner offers to scroll them back to where they left off. Read-aloud uses the browser's built-in speechSynthesis — no API key, no cost, no backend — with voice + rate persisted to localStorage so a return visitor keeps their tuning. A full /reader dashboard renders the same account with bigger lists and a Clear-this-device danger zone. The floating Reader FAB positions itself above the StickyCta bar and suppresses itself on /build and /services/build-components (checkout pages). The /reader route is excluded from the sitemap — it's a per-visitor surface, not indexable content — and its WebPage JSON-LD declares RegisterAction and ListenAction potentialActions so AI agents can enumerate them from the entity graph.
- First moverPublishing Automation
ciwebgroup.com is now published as an Open Knowledge Format (OKF) knowledge graph at /okf/
Google's data team published Open Knowledge Format (OKF) v0.1 on 2026-06-13 — a directory of linked markdown files with YAML frontmatter that expresses a concept graph. No runtime, no SDK, no build step. Just markdown, just files, just YAML frontmatter. Today we shipped the ciwebgroup.com knowledge graph in that format at /okf/. 79 concept files across nine categories: 1 organization node, 1 person (Jennifer Bagley), 7 platform files (Hydra OS, Cortex, Cortex Pulse, Synapse, Central Intelligence Engine, MemPalace, CI Agents), 8 named CI Agents (Wolverine, Groot, Goodspeed, Sarge, Buttercup, Neo, Vader, Yoda), 6 strategy pillars, 2 services, 48 products (every Hydra Build Component), 3 concepts (zero-click search, the measurement shift, the $5 = 1 AI Credit rate), and 2 research nodes (the AI-search shift and the measurement shift). Every relative markdown link inside a file is a graph edge; there are no dead edges. The bundle is regenerated directly from the same TypeScript modules that render the human site (lib/build-components.ts, lib/team.ts, lib/platform.ts, lib/authority.ts), so if the site changes the graph regenerates on the next build — the site is the source of truth. Why it matters: AI agents get a flat read of websites today. OKF creates a relationship layer so an agent understands not just what each page is but how the concepts connect. Two pages can mention the same concept without telling a machine one is the framework and the other is a sub-goal; a graph says it outright. And the Central Intelligence Engine — vector memory, RAG, CAG, MemPalace, the CI Agents suite — has been a knowledge graph the whole time. OKF just gave the shape a Google-endorsed format so AI agents can publicly fetch it. This is first-mover advantage territory in the trades: every ciwebgroup.com concept an AI agent might reason over is now enumerable, addressable, and machine-readable in a standard shape. Long-form argument at /guides/open-knowledge-format. Fetch the manifest at /okf/index.md. The bundle is public.
- Sales positioningAnalytics & Reporting
New long-form: “AI Content Didn’t Stop Working — Your Metrics Did” at /learn/measurement-shift
Shipped a killer Intent-2 evaluate page at /learn/measurement-shift that reframes the flat-traffic panic every prospect walks in with. Zero-click search hit 68% of U.S. Google searches in early 2026 (up from 60% in 2024). AI Overviews cut organic clicks by 38% in a controlled field experiment while user satisfaction stayed flat — meaning the AI is answering the question with your content BEFORE anyone clicks through. Google Search Console cannot separate classic clicks from AI Overview clicks from AI Mode clicks, so contractors watching the old dashboard see traffic flatten and their previous agency asks for a bigger SEO retainer. Meanwhile, pages cited in AI Overviews get 120% more clicks per impression than uncited pages, and the residual clicks are pre-qualified. The page walks through the four metrics that replace clicks and sessions on the new scoreboard: branded query volume + direct traffic (people remembering the brand after the AI answered), AI surface presence across ChatGPT, Perplexity, Gemini, and AI Overviews (cross-engine citation tracking, not Search Console), post-click quality (reading depth, repeat visits, form completion, calls, booked jobs — the traffic that DOES arrive is now pre-qualified), and correlation dashboards that plot publishing cadence against downstream branded search + direct traffic + conversions. It closes with the reframe that closes deals: half the traffic at 2× the conversion rate is winning, and the Central Intelligence Engine (Cortex + Wolverine reporting agent + Neo conversion agent) plus the AXO pillar are already built for it. Live now, mounted between AI Search Guides and Live Agent Feed on the ciwebgroup.com homepage so every visitor sees the sales-facing framing before hitting the dashboard demo. Order any AXO component now on getstarted.ciwebgroup.com/build.
- New pillarBuild Components
AAO / AXO — Agent Actionability & Experience Optimization joins SEO, AEO, GEO, AI Search & CRO as the 6th strategy pillar
The industry hasn't settled on a name for the transactable layer that sits underneath SEO, AEO, and GEO. Yext coined and pushes AAO (Agent Actionability Optimization). Competitors coined and push AXO (Agent Experience Optimization). Both describe the same discipline: designing your website so AI agents can execute against it, not just read it. We ship the pillar today across the entire Hydra Component library using both acronyms as equal-standing labels, because the underlying shift is real regardless of which term the market settles on. Content legibility (SEO, AEO, GEO, AI Search) makes your business readable and citable by AI answer engines. AAO / AXO makes your business EXECUTABLE by AI agents — ChatGPT operators, Claude Computer Use, Gemini agents, Perplexity's browser mode, autonomous booking agents — that act on a homeowner's behalf: drive calculators to real numeric answers, submit leads, book appointments, complete financing pre-quals. It is not enough for Cortex Pulse to show a contractor gets cited in AI answers; the next question a prospect asks is “can an AI agent book a service call with me?” That is schema, LSA and citation integration, and structured booking data — territory Hydra already occupies. 47 of the 48 Hydra Build Components are agent-actionable today across four modalities — endpoint (forms / checkouts / booking / financing pre-qual an agent can POST to), structured (rich JSON-LD with Product, Offer, HowTo, Service, DefinedTerm, JobPosting, or Place an agent can extract as facts), interactive (configurators, calculators, quizzes, and visualizers whose numeric outputs are machine-readable), and catalog (filterable, individually-linked hubs an agent can traverse). Featured components include HVAC System by Home Type, the Garage Door Visualizer, the Financing Calculator with Application Integration (soft-pull pre-qual with GreenSky / Synchrony / Wisetack / Service Finance for an instant decision), the Energy Savings Plan builder, the Rebate + Financing Stack Calculator, the HVAC Size Calculator, the Project + Financing Calculator, and the Interactive Products & Services Explorer. The pillar renders as a new section on /services/build-components, /services/search-engine-optimization, /services/hydra-blogging, /hydra-os, and /guides/generative-search, with real schema.org potentialAction entries (OrderAction, ReserveAction, CommunicateAction) added to the sitewide Organization JSON-LD so agents can enumerate the actions they may invoke. Every AAO / AXO surface is exclusively for Hydra OS customers — because on-demand agent-actionability requires the platform's live schema, agent endpoints, and configurator runtime. Order any agent-actionable component now on getstarted.ciwebgroup.com/build.
- 15% off, catalog-wideBuild Components
Every Hydra Build Component is now 15% cheaper — same scope, same turnaround, lower price
Jenn cut sticker price on every priced Build Component by 15% today. That's 47 of the 48 catalog components repriced in a single sweep — the one price-on-request tool (#47, the Repair-or-Replace decision tool) stays quoted in-session because its inputs are per-market. Nothing about scope, deliverables, or turnaround windows changed — you get the same production build, same code review, same launch checklist for less money. Concrete examples: Reviews Engine drops from $2,600 to $2,210 (520 → 442 credits), Service Area Pages Generator from $3,400 to $2,890 for up to 50 city pages (680 → 578 credits), Hyper Local SEO Boost from $3,600 to $3,060 (720 → 612 credits), Interactive Products & Services Explorer from $4,300 to $3,655 (860 → 731 credits), Exit-Intent Quote Capture from $600 to $510 (120 → 102 credits). Across the whole catalog, an all-in build that previously totaled $123,500 now totals $104,975 — an $18,525 rollback that flows straight to the customer. The $5-per-credit relationship is preserved on every line, which means Get Started wizard math, order-rail totals, Synapse payload, and Slack/Trello handoffs all continue to reconcile with zero rounding drift; every credits value in the catalog was originally a multiple of 20, so 15% off lands on a clean integer for every component. Existing saved orders and shareable-link (?s=…) drafts will re-price to the new numbers the next time they are loaded — the catalog is the source of truth, drafts do not cache old prices. Shop the updated catalog at /services/build-components or start an order at getstarted.ciwebgroup.com/build.
- Core Web VitalsImprovement
ciwebgroup.com mobile Lighthouse pass — faster hero, deferred fireworks, WCAG-safe accents
Rolled a focused Core Web Vitals pass on ciwebgroup.com after a fresh Lighthouse audit. On mobile the biggest wins were preloading the LCP-critical hero font (Bebas Neue 400) so the 'Central Intelligence' wordmark stops waiting on font swap, and short-circuiting the 4th of July fireworks canvas animation to a lightweight badge on narrow viewports — the fireworks bundle used to eat about 7.8 seconds of mobile bootup time on the throttled Lighthouse profile. The Featured Hydra Websites screenshots also stopped loading eagerly (they used to ride CSS background-image, which the browser can't defer); they're now a proper lazy <img> pattern with the first above-the-fold card marked fetchpriority=high so the LCP candidate lands fast, everything else on scroll. Preconnect + dns-prefetch hints for api.ciwebgroup.com, iconnode.com, and searchatlas.com round out the network wins. Accessibility went from 89 to close to 100 on desktop: the primary ember accent token was darkened slightly (still azure, still on-brand) so small eyebrow labels clear WCAG AA on paper backgrounds, the star-row of the featured review carries role=img so screen readers announce it, and the update-carousel dots got a 32×32 hit target underneath the 10×10 visual dot to clear the WCAG 2.2 target-size rule.
- Onboarding upgradeNew Feature
Get Started step 3 now targets cities, communities, or both — with market data on hover
Step 3 of the /get-started wizard now leads with a segmented Cities / Communities / Both toggle so a prospect can size their plan the same way we sell it: incorporated cities feed the Service Area Pages Generator layer, and neighborhoods + CDPs feed the Hyper Local SEO Boost layer. The AI service-area finder splits its results into a Cities section and a Communities section with distinct icons, and every chip — manual or AI-found — now shows a hover popover with the population, size band (Major metro → Small community), estimated households, estimated residential properties, and estimated owner-occupied homes. Derived numbers carry an 'Est.' prefix and the popover cites its sources (GeoNames + US Census ACS national averages) so nobody mistakes them for authoritative ACS 5-year counts. Existing draft state migrates cleanly — pre-community saves default to 'Both' so a returning prospect's city list still validates.
- Homepage featureBuild Components
Featured Hydra Components section is now live on the ciwebgroup.com homepage
The homepage proof arc under the website showcase now reads 'the sites → the components that build the sites → the verified wins from those sites' as one continuous story. Four hand-picked catalog cards lead the pitch — a pan-zoom products explorer (live on CEC Lifestyles), an instant-quote estimator (live on Enviro), a hyper-local SEO layer (live on Eco Electric), and a repair-or-replace honest-decision tool (live on Air It Up + Avatex) — each with a real live-customer screenshot and a link to its /build/{slug} sales page. A prominent 'Shop the component store' CTA takes visitors straight to /build to build their own website component by component.
- Scope clarifiedBuild Components
Service Area Pages Generator is cities-only; neighborhoods live under Hyper Local SEO Boost
The two Local-category components have always been intended as a two-tier stack, and today we make that explicit on both cards. Service Area Pages Generator builds the flat CITY layer — a landing page per city, up to 50 cities included at the published $3,400; volume beyond 50 is a per-city add-on quoted in your session. Hyper Local SEO Boost is the second tier: neighborhoods + named communities nested under each city, plus GBP optimization, NAP/citation cleanup, and Place-schema authority so those hyper-local pages actually rank in the local pack and AI answer engines. Buy the city surface first when you're mapping a market; add Hyper Local when you're going for depth. Wording, intake, and volume caps are updated across /build, /services/build-components, and every launch story that referenced them.
- Component retiredBuild Components
Customer Portal retired from the /build component store
The Customer Portal option (a logged-in homeowner portal for invoices, equipment history, warranties, and one-click re-booking) is no longer part of the /build catalog. Homeowner-facing operational features that fit here — self-serve invoice history, warranty vaults, one-click re-booking — are now scoped as bespoke custom-request builds against a customer's existing CRM/ops stack instead of a one-size-fits-all option shipped as a stock catalog entry. Existing orders that included the Customer Portal are honored under their original scope. If you had it queued in your shopping cart, it will no longer appear the next time you visit the store.
- New componentBuild Components
Component #49: the Interactive Products & Services Explorer — pan-zoom-clickable panorama of everything you sell
Component #49 joins the catalog as a bespoke visual product catalog: a pan-zoom-clickable panorama of your customer's world — home, facility, or property — with a blue marker for every product and service you sell. Visitors drag to pan, pinch or ⌘-scroll to zoom, and click any marker to open the full scoped story for that service (photos, includes, price/quote, CTA). Five-pillar coverage (SEO + AEO + GEO + CRO + AI Search), 731 credits / $3,655 (down 15% on the Jul 6, 2026 catalog cut, was $4,300), 18–28 business days. First-of-its-kind on the CEC Lifestyles Colorado build (Nest indoor / Alfresco outdoor / Charge energy layers) currently on stg ahead of go-live.
- New componentBuild Components
Component #48: the Hyper Local SEO Boost — full local-authority sweep for every city you serve
Component #48 joins the catalog as a neighborhood-by-neighborhood local-authority sweep: Google Business Profile optimization (categories, services, attributes, weekly posts), NAP consistency + top-tier citation cleanup, per-city clusters that pair each service with each town, neighborhood-attributed reviews rendered on-site with schema, and local landing pages built for AI Overviews with FAQPage + LocalBusiness markup. Four-pillar coverage (SEO + GEO + AEO + AI Search), 612 credits / $3,060 (down 15% on the Jul 6, 2026 catalog cut, was $3,600), 14–21 business days. Live in production on Eco Electric, Plumbing, Heating & Air's Puget Sound service-area hub.
- Verified winsAnalytics & Reporting
Verified client wins are now published — percentages only, measured by our analytics agents
Every live Hydra OS launch story now carries a dated performance-milestone timeline: the go-live date, then verified post-launch wins measured against that client's own pre-launch baseline across Google Analytics, Search Console, Google Business Profile, and call tracking by our on-demand analytics agents. Early highlights include a 25× traffic multiple in a first month, a 12× traffic lift over a first 60 days, +253% sessions with +63% phone calls at a 50-day mark, and booked appointments up 26% through a replatform's first 10 days. We publish percentage gains only — our clients' raw numbers stay private — and new milestones append to each timeline as reporting windows close.
- Content Engineering
Hydra Blogging upgraded: Deep Research + Fable 5/Mythos agents on every post
We just upgraded Hydra Blogging with two major pieces. Every post now starts with a deep-research run — sourced, current, citation-backed groundwork instead of a model writing from memory. And the writing itself is now done by Fable 5/Mythos-class agents, the newest generation of frontier writing agents in the Hydra OS fleet. Same service, same cadence you already chose — materially stronger posts.
- Just launchedNew Feature
SWARM is live — the entire Hydra fleet, orchestrated as one

We just launched SWARM. Every Hydra OS website — hundreds of production sites — now runs as a single orchestrated swarm: one coordinated infrastructure with central routing and real-time observability of every node in the network. That changes what an upgrade means. Improvements, fixes, and winning strategies deploy fleet-wide in minutes instead of site by site. The whole network is monitored as one living system, so issues surface the moment they appear anywhere in the fleet. Every new client plugs into infrastructure that already runs hundreds of sites in production. And it's what powers the new on-demand analytics agents: because the fleet operates as one system, agents work across the entire network at once — what's proven in one market can be replicated in yours.
- Analytics & Reporting
On-demand analytics agents: one intelligence layer across GA, GSC, GBP & DataForSEO
Every Hydra OS website now ships with on-demand analytics agents plugged directly into your Google Analytics, Search Console, Google Business Profile, and DataForSEO. Instead of four dashboards and a spreadsheet, you get one centralized intelligence layer — aggregated by account, market, distributor, and location. And because every Hydra site reports into the same layer, we cross-reference what's working across the entire network: when a strategy lifts calls in one market, we can prove it and replicate it in yours. Your website stops guessing and starts learning from hundreds of sites at once.
- Integration
Full ClickHouse AI integration — real-time analytics at AI scale
Hydra OS is now fully integrated with ClickHouse (clickhouse.com/ai), the open platform for AI on real-time data. ClickHouse delivers sub-second analytical queries across billions of rows and is built for agent-facing analytics — exactly the backbone our new on-demand analytics agents query when they aggregate your Google Analytics, Search Console, Google Business Profile, and DataForSEO signals into one intelligence layer, in real time.
- New componentBuild Components
Component #47: the Repair or Replace Decision Tool — already live on 31 client builds
The honest-decision tool joins the component library as catalog component #47. Four quick questions — system age, repair cost, breakdown history, refrigerant — return a repair-or-replace verdict with the math shown: the industry “$5,000 rule” (age × repair cost) made transparent, framed as “a starting point, not a diagnosis,” with a free-assessment CTA and click-to-call. It's an anti-upsell trust builder that converts because it's honest — and it isn't a concept: our repo-wide component inventory found it already running on 31 client builds, including Air It Up in New Orleans and Avatex in Houston. No published price yet — it's quoted in your strategy session.
- Build Components
Seasonal & energy components: maintenance hubs, savings plans, efficiency scores, and a Filter Finder
The Seasonal Maintenance Checklist Hub turns seasonal search demand into scheduled work with book-a-tune-up checklists per system type. The Energy Savings Plan Builder — live on Eco Electric's Seattle-area build — lets visitors tap upgrades and watch a live efficiency ring and per-upgrade $/yr savings update. The Home Efficiency Score grades a home 0–100 and ranks upgrades by ROI, and the Filter Finder feeds your maintenance-plan upsell with 60/90-day reorder reminders. Need it fully custom? The same order page scopes bespoke seasonal engines — like Avatex's live “Right now in Houston” weather module that routes hot, cold, and mild days to the matching services.
- Build Components
Revenue components: Maintenance Plan with Stripe and Estimate Approval & E-Sign
The Maintenance Plan with Stripe Integration sells your membership with tiered pricing and live Stripe checkout, so customers sign up and pay in one flow — recurring revenue on autopilot. Estimate Approval & E-Sign lets customers approve, sign, and pay Good/Better/Best estimates online in minutes.
- Build Components
See-it-first components: Garage Door Visualizer, Home Safety & Security Center, and a shoppable Product Catalog
Garage Door — See It Before You Buy It lets homeowners upload a photo of their house and preview door styles, materials, and colors rendered on their own home, then request a quote with the design attached. The Home Safety & Security Center runs a room-by-room audit — locks, smoke/CO, cameras, leak sensors, aging-in-place — into a scored report and a pre-qualified install lead. And the Product Catalog makes the equipment you install shoppable, with specs, efficiency ratings, and a get-a-quote CTA on every product.
- Build Components
Interactive education components: cutaway system diagrams, an Equipment Explorer, and home-type matching
How Your System Works renders an animated cutaway of the home's HVAC, plumbing, or electrical system with clickable hotspots and plain-English explainers per component. Product Diagram — How It Works builds a purpose-built explainer per product line (heat pump, mini-split, tankless…), the Equipment Explorer makes every model you install browsable with spec drawers and per-model quote CTAs, and HVAC System by Home Type recommends the right system from home type, square footage, climate zone, and fuel source.
- Build Components
Trust components: badge walls, comparison tables, fleet & team pages, and brand catalogs
Four components that prove you're the real local company. The Certifications & Manufacturer Badges Wall puts NATE, EPA, BBB, and factory authorizations on one filterable trust wall. The Trust & Differentiation Comparison Table lines you up against lead brokers, PE-backed roll-ups, and franchises with a highlighted “Recommended” column readable by humans and answer engines alike. The Fleet & Team Page shows real people, certifications, and your truck fleet, and the Brand Catalog gives every manufacturer you carry its own ranking landing page.
- Build Components
Grow the team and the lifetime value: Careers Center, Referral Program, and Warranty & Registration Center
The Careers Center gives you branded careers pages with Google for Jobs–ready role postings and an on-site applicant pipeline, so hiring stops depending on job boards. The Referral Program turns happy customers into a paid referral channel with unique codes, automated payout tracking, and a leaderboard. And the Warranty & Registration Center keeps equipment registration, claims, and auto-reminders in one CRM-synced place.
- Build Components
Press and Media Center — a branded newsroom that ships with real coverage
A branded newsroom — press mentions, awards, downloadable media kit — that signals authority to homeowners, journalists, and AI answer engines. Every order ships with a written-and-distributed press release plus a Catalyst for the Trades podcast interview, and NewsArticle + Organization schema so the coverage is machine-readable.
- Build Components
Permits and Code Education Center — win the “do I need a permit for…” searches
Jurisdiction-aware permit and code guides for every service you install — city/county lookup with local requirements, code compliance checklists, and a we-handle-your-permits CTA with lead capture. One of the widest-reach components in the library, powering all five pillars: SEO, AEO, GEO, AI Search, and CRO.
- Build Components
City + service-area expansion: Service Area Pages Generator + Per-City Testimonial Rotation
The Service Area Pages Generator builds a landing page for every city you serve — up to 50 cities included — with city-matched reviews, jobs completed, and local proof, so geo pages read like a local company, not a doorway. It anchors Flow Pro Plumbing's East Bay service-area hub today. Per-City Testimonial Rotation completes the mesh by showing city-matched reviews with location-attributed review schema on each city page, with a nearest-metro fallback. Neighborhood + community depth (one level under the city surface) is a separate add-on: the Hyper Local SEO Boost.
- Build Components
Proof components: Reviews Engine + Case Study Builder
The Reviews Engine automates post-job review requests routed to Google, BBB, and Facebook — happy customers go public, unhappy ones go to a private form, and reviews render on-site with schema. The Case Study Builder turns real jobs into ranked, shareable proof pages: before/after gallery, scope and timeline, anonymized cost range, homeowner quote, and a neighborhood tag.
- Build Components
Recovery components: Exit-Intent Quote Capture, Speed-to-Lead Promise, and Text-Us-a-Photo Triage
Exit-Intent Quote Capture (102 credits / $510 post-Jul-6-2026 cut, was $600) detects mouse-to-close intent and slides in a low-friction 2-field quote offer — recovering visitors you already paid to earn, live today on HVAC Repair Charleston. The Speed-to-Lead Promise Banner shows a live “Average callback: 12 minutes” badge near every form, fed by real call-tracking data and auto-hidden if speed slips, so the promise stays honest. And Text-Us-a-Photo Triage adds the one-tap SMS path, with inbound photos auto-tagged and routed to a live tech.
- Build Components
Booking components: real-time Online Booking & Dispatch + an Emergency / After-Hours Router
Online Booking & Dispatch writes directly into ServiceTitan, Housecall Pro, or FieldEdge — the homeowner books a real slot, dispatch stays clean, nobody double-books. It's live on Flow Pro Plumbing and Advanced Air Conditioning + Heating. The Emergency / After-Hours Router adds time-aware routing that captures emergency leads 24/7 — instant SMS-to-tech or AI voice triage after hours, morning slots for non-emergencies.
- Build Components
Diagnostic components: Symptom Checker + HVAC Troubleshooting System
The Symptom Checker narrows the likely cause from the homeowner's symptoms, offers a safe DIY check, and books the right service tier — with underlying Q&A content LLMs cite. The HVAC Troubleshooting System takes the guided symptom-to-solution path — pick the system, select symptoms, step through branching questions — and is already live as the Free Home Checkup symptom builder on HVAC Repair Charleston.
- Build Components
Price-transparency pack: Instant Quote Estimator, “How Much Does X Cost” pages, and the HVAC Size Calculator
Stop bouncing the visitors who just want a ballpark. The Instant Quote Estimator returns a real price range with a financing preview from guided inputs — Enviro Heating & Air runs its operating-cost estimator live in the North Bay. How Much Does X Cost publishes transparent low/average/high pricing guides that rank for the highest-intent cost searches, and the HVAC Size Calculator (153 credits / $765 post-Jul-6-2026 cut, was $900) captures leads from “what size AC do I need” and hands off to a proper load calculation.
- Build Components
Journey builders: “What's Going On at Your Place?”, the Service Diagram Picker, and the Home Comfort Quiz
Three components that replace the blank contact form. What's Going On at Your Place? is an interactive illustrated home where visitors tap trouble spots to build their own service list — live on Air It Up in New Orleans and Eco Electric in Seattle. The Service Diagram Picker does the same room by room with tabbed blueprint diagrams and glowing problem pins, and the Home Comfort Quiz turns hot/cold rooms, humidity, and allergy complaints into a scored, email-gated comfort report that books diagnostics.
- Build Components
Rebates components: a state-aware incentives explorer + a rebate-and-financing stack calculator
The State Rebates & Incentives Explorer gives your site a state-aware, filterable rebate catalog — “Up to $X” headline cards, eligibility criteria, and program links — live today on Eco Electric's Washington build. Pair it with the Rebate + Financing Stack Calculator, which stacks federal, state, utility, and manufacturer rebates against financing in one view: a $14k system becomes $8,200 after rebates becomes a monthly number, in real time.
- Build Components
Financing components: payment calculators wired straight into your lender
Two financing components join the rollout. The Financing Calculator and Application Integration puts a sticky monthly-payment calculator wired into your lender's soft-pull pre-qualification (GreenSky, Synchrony, Wisetack, Service Finance) — every calculation is a captured lead. The Project + Financing Calculator adds a multi-trade project builder with a sticky live estimate, running today as the Wisetack slide-to-estimate calculator on Avatex Service Company's Houston build.
- New Feature
Hydra OS Learning Center launches on client sites — built for AEO & GEO
We launched the Hydra OS Learning Center across our client websites — structured, answer-first education hubs engineered to win AI answer engines (AEO) and generative search (GEO) while strengthening traditional local rankings.
- Build Components
Glossary / Terminology Center — the definitions layer answer engines cite
An A-to-Z glossary where every SEER, MERV, BTU, and TXV entry gets its own indexable page with DefinedTerm schema — pure answer-engine real estate LLMs love to cite, with related-term internal links and a contextual booking CTA. Without a definitions layer, the long-tail “what is X” queries all go to national publishers instead of you.
- Build Components
Learning Center — the first Build Component in the rollout
The component series starts with the authority layer that compounds across every other pillar: a branded resource hub of guides, videos, FAQs, and gated buyer's guides with search and category navigation, SEO-optimized article schema, and gated PDF downloads. At 476 credits ($2,380 post-Jul-6-2026 cut, was $2,800), it's the same Learning Center pattern already featured on Earth Air Heating & Cooling's build — and the foundation we recommend ordering first.
- Just releasedBuild Components
Hydra Build Components — 46 add-on components for any Hydra OS website
You can now add Hydra Build Components to any website running on Hydra OS — a library of 46 production add-on components, from financing and rebate calculators to instant quote estimators, glossaries, comparison tables, and seasonal maintenance hubs. Every component is mapped to the strategy pillar it powers (SEO, AEO, GEO, AI Search, or CRO), can be ordered at any time, and is available exclusively to Hydra OS customers.
- New Feature
Agent NEO joins the fleet — production cycles cut roughly in half
NEO, a new Hydra OS agent, is live across the autonomous fleet and roughly halves our production-cycle time — getting new client sites built and launched faster, without cutting quality.
- New Feature
Hydra's 200-point AI auditing team goes live in production
Hydra's new AI auditing team is live in production, running a 200-point automated quality pass on every site so issues are caught and fixed before a single page goes live.
- Content Engineering
Hydra now anchors every article to a real-world decision
We've re-engineered Hydra's multi-agent content pipeline around a “people-first” model that aligns with Google's helpful-content and AI-search (AI Overviews) guidance. The first piece of that work is a new story-angle stage that runs before research even begins.
- Content Engineering
Review-driven scenarios: real customer stories, woven into the copy
Hydra can now turn a business's real Google reviews into the narrative backbone of its blog content — grounded in actual context, never fabricated.
- Content Engineering
Substance over word count: new quality gates at publish
We've replaced rigid word-count floors with real substance checks. An article no longer passes because it's long enough — it passes because it proves something.
- Content Engineering
Intent classification: cleaner inputs before a single topic is generated
Hydra now screens Search Console queries for intent before they ever reach topic generation — so bad data gets dropped instead of turned into articles.
- Publishing Automation
Autonomous publishing: cost-aware scheduling that runs itself
Hydra's publishing engine now runs hands-off, keeping the content calendar full on a flexible cadence while keeping cost trivial.
- Publishing Automation
Pre-stage content and credible bylines: “Hold until scheduled” + AI author bios
Two upgrades give clients more control over when content goes live and who it's attributed to.
- Analytics & Reporting
AI-traffic dashboards: see referrals from ChatGPT, Gemini, Perplexity, Claude & Copilot
Hydra now tracks traffic coming from the new generative search engines — so clients can see results across both traditional and AI-driven search.
- Analytics & Reporting
Clearer SEO reporting: refreshed GSC dashboards + new KPI series
We've overhauled the Google Search Console dashboards and added new KPI series to the SEO report so trends are honest and easy to read.
- Analytics & Reporting
Closing the loop with clients: recurring report digests + two-way feedback threads
Two features make client reporting a conversation instead of a one-way export.
- On-Page SEO
On-page SEO hardening: a rebuilt internal-linking system with zero hallucinated links
We rebuilt Hydra's internal-linking system so links are structurally correct, authoritative, and never point to pages that don't exist.
- New Feature
Conversion data by market: multi-location reporting for franchises and PE groups
Hydra reporting now breaks down phone, email, and form conversions by market — purpose-built for franchise systems and PE-backed groups managing dozens or hundreds of locations.
- Integration
WhatConverts integration: calls, leads, AI transcripts, and lead scoring inside Hydra
Hydra now integrates end-to-end with WhatConverts — every call and form lead flows in with AI-generated transcripts, summaries, and automated lead scoring attached to the originating channel and campaign.
- Improvement
Hydra is now a monorepo: ship engine-wide updates from one central deploy
We consolidated Hydra into a single monorepo so compliance fixes, algorithm changes, and engine-wide improvements roll out to every client site from one central script — cutting response time from days to minutes.
- New Feature
Central Intelligence expanded: 100+ new databases for AI to learn every business
We added over 100 additional databases to Hydra's Central Intelligence System so the AI can deeply learn each client's business — from licensing and warranties to fleet, certifications, parts catalogs, and local market data.
- Improvement
Vector database upgrade: long-term memory for every client brand
We upgraded Hydra's vector database to our most powerful memory layer yet — higher-dimensional embeddings, faster recall, and dramatically more brand context retained per client.