Replace display:none/flex slide toggling with CSS grid stacking so all
slides always occupy the same layout cell. The container height is now
fixed at the tallest image height — no more text jumping below the
carousel as slides change. Also enables the existing opacity fade
transition which was previously blocked by display:none.
Affects: index.html, articles/why-we-built-hoa-ledgeriq.html,
articles/hoa-financial-blind-spots.html, and all future articles.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Create articles/ directory with hub index page (newest-first card grid)
- Add Article 1: "Why We Built HOA LedgerIQ" (March 16, 2026, founder story)
- Add Article 2: "5 Financial Blind Spots Putting Your HOA at Risk" (April 1, 2026, use case)
- Both articles include screenshot carousel, article CTA, prev/next nav, and full SEO meta
- Add blog/article CSS to styles.css (hub hero, card grid, article prose, showcase, CTA)
- Add "Insights" nav link to index.html, reserve-study-software.html, investment-management.html
- Add "Insights" to footer Pages column on all pages (index.html gets a Pages column added)
- Add articles/ pages to sitemap.xml with appropriate priorities and lastmod dates
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix nav on both pages to use correct .nav/.nav-inner structure (was
using .navbar which had no styles defined), matching index.html
- Add coming-soon banner and Login button to both SEO pages
- Add screenshot carousel (hero-visual) to both pages matching index.html
- Fix footer to use full footer-inner/footer-col structure with logo
- Add 200+ lines of missing CSS to styles.css: .problem-section,
.solution-section, .comparison-table, .strategies-section,
.calculator-section, .compliance-section, .cta-section, and all
child components — all matching the dark theme design system
- Fix investment calculator element IDs to avoid conflicts with
the main ROI calculator in app.js
- Add Chatwoot support widget to both pages for consistency
- Full mobile responsiveness for all new components
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Added Google Fonts Inter font family link
- Fixed CSS stylesheet path
- Ensures consistent styling with main homepage
Pages fixed:
- reserve-study-software.html
- investment-management.html
- special-assessment-calculator.html
- Detect bot-like behavior (webdriver, missing language, etc.)
- Track scroll depth (25%, 50%, 75%)
- Track time on page (10+ seconds threshold)
- Track all meaningful clicks
- Add user properties (screen res, timezone, bot flag)
- Filter real users from bots in GA4 reports
- Add comprehensive documentation
This enables:
✓ Distinguishing real users from automated traffic
✓ Measuring meaningful engagement vs vanity metrics
✓ Identifying calculator abandonment points
✓ Tracking user journey through the site
✓ Better ROI measurement for marketing efforts
See GA4_ENHANCEMENTS.md for full details.
- Track calculator_open events when users open the modal
- Track calculator_submit events when users submit the form
- Track calculator_success events when results are shown
- Includes anonymized form data (homesites, reserve funds)
- Console logging for debugging
This enables tracking of calculator engagement in GA4 to measure:
- How many users open the calculator
- Form submission rate
- Success/failure rate
- User behavior patterns
Events will appear in GA4 under Engagement → Events
AI text is still generated and saved to calc_submissions for internal
follow-up, but no longer displayed to the user — keeps the detailed
analysis behind the product sign-up wall.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Clarify that annualIncome is the total per year, and payment frequency
describes the cash flow timing of installments — not a multiplier on income.
Include per-installment dollar amount so the model understands cash float correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Button loading spinner + disable on submit to prevent duplicate AI calls
- Email field and opt-in consent checkbox on calculator form (checked by default)
- Privacy assurance blurb below opt-in
- Refinement blurb on results screen explaining live cash-flow optimization
- calc_submissions SQLite table stores form inputs, computed results, AI text, email, opt-in
- GET /api/calc-submissions endpoint (x-admin-key protected) to retrieve submissions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- server.js: add /api/calculate endpoint using openai SDK with configurable
AI_API_URL, AI_API_KEY, AI_MODEL, AI_DEBUG env vars (works with any
OpenAI-compatible provider: NVIDIA NIM, Together AI, Groq, Ollama, etc.)
- app.js: make calculator submit handler async; call /api/calculate with
graceful fallback to client-side generated text if AI is unavailable
- package.json: add openai and dotenv dependencies
- AI_SETUP.md: rewrite to document new unified env var config with provider examples
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Insert Chatwoot chat widget script at bottom of index.html body
(connects to chat.hoaledgeriq.com with token 1QMW1fycL5xHvd6XMfg4Dbb4)
- Add AI_SETUP.md documenting how to upgrade the benefit calculator
from client-side math to live AI API calls (Claude or OpenAI),
including endpoint code, app.js changes, prompt tuning, cost
estimates, and rate limiting guidance
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- New "✦ Calculate Your Interest Income Potential" button between hero CTAs
with gradient border styling distinct from primary/ghost buttons
- Modal overlay collects: homesites, property type, annual dues + frequency,
reserve fund balance, and 2025 actual interest income
- Conservative calculation model: 4.0% HYSA for operating cash, 4.25% CD
ladder for 65% of investable reserves; operating multiplier varies by
payment frequency (monthly 10%, quarterly 20%, annual 35%)
- Results screen shows animated dollar counter, operating vs reserve
breakdown, AI-style narrative recommendation, and direct CTA to signup
- Modal closes on backdrop click or Escape key; CTA closes modal and
scrolls to early access signup form
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>