HOA Community Website — What's Included

A self-contained community website template for any Homeowners Association. Runs on flat files (no database required), works on any standard PHP/Apache host, and gives your board complete control over content without calling a developer.


What This Site Does

This template gives your HOA a modern community website with all the core tools a neighborhood needs:


How The Site Is Organized

Public Pages (everyone can view)

Page File What It Does
Home ••• Welcome message, board-editable content blocks
HOA Events ••• Board events (featured with images) + committee events (compact list), merged chronologically
HOA News ••• Board announcements and news items
Garage Sale ••• Self-serve resident postings with photos, dates, knock-time, PIN protection
Our Grounds → Ponds ••• Common grounds information with sections and images
Our Grounds → Lawn Care ••• Lawn care tips with content blocks and embedded videos
Local Events ••• Things happening nearby the neighborhood
Community → Poll ••• Quick community pulse polls
Community → Committees ••• Browse all committees with cards showing chair, member count, next event
Individual Committee the page?id=xxx Events, members, announcements, chair-editable
Committee Calendar ••• All committee events merged, color-coded, grouped by month
Vote ••• Enter unique code from email, cast secure vote
FYI → FAQ ••• Frequently asked questions organized by section
FYI → CCRs, Bylaws, etc. ••• Governing documents and downloadable HOA forms
FYI → Mail List ••• Subscribe/unsubscribe with owner/renter + voting opt-in
FYI → BOD Meeting ••• Public listen-only meeting viewer (shows "no meeting" when inactive)
FYI → Contact ••• Contact info for the board and management

Board-Only Pages

Page File Who Uses It
Board Meeting Room ••• Self-hosted Jitsi video meeting — password-protected, with public viewing toggle
Public Meeting Viewer ••• Listen-only embed for community members during public board meetings
Virtual Board Room ••• Private discussion forum for board members — topics, replies, file uploads
BOD Admin Panel ••• Admin-only: manage all posts, passwords with assignments, activity log
Treasurer ••• Stripe Dashboard access, invoice CSV export, dues and assessment instructions
Form Submission ••• Homeowners upload completed architectural/permit forms for board or committee review
Form Review ••• Board or assigned committee reviews submissions — approve, deny, email response
Violation Notice Generator ••• Generate, print, and track violation notices with auto-tier escalation
Violation Letter Templates ••• Printable 3-tier letter templates by violation type, with old templates for reference

Admin Config Pages (CONFIG pages — board password required)

These are how the board edits the site. Each one is accessed directly by URL and requires the board password.

Config Page What It Manages
••• Nav menu labels, site logo, header banner image
••• Home page content blocks
••• Contact page information
••• Site footer content
••• Ponds page sections + page title
••• Lawn care page sections + page title
••• Random quotes shown in corner widget
Board passwords (•••)
••• View/manage the HOA mail list
••• Create committees, manage club/group/club/group/committee passwords
••• Create votes, send codes, view results
••• Edit the list of valid neighborhood streets

Committees System

How It Works

The board creates a committee and assigns a unique password to its chair. The chair uses that password on their committee's public page to add events, manage members, and post announcements. Each club/group/committee password only works on its own page — the knitting group can't edit the card players' events.

What Each Committee Page Has

- Add one-time or recurring events (weekly / every 2 weeks / monthly)

- Delete past events

- Add/remove members

- Update the pinned announcement

- Upload an image per event (500KB max)

What The Board Admin Sees (the admin page)

- Chair name and email

- Member count + event count

- Last updated date (flags dormant committees)

- Club/group/club/group/committee password (visible, editable)

Use Cases For Committees

Real examples: Knitting Circle, Card Players Club, Pond Cleanup Crew, Book Club, Walking Group, Garden Club, Architectural Review (ARC), Social Events Committee, Landscaping Committee, Welcome Committee, Newsletter Committee, Neighborhood Watch, Holiday Decorations, Trash Pickup Volunteers.

Architectural Review Committee (ARC)

The ARC is a special committee that reviews homeowner form submissions (painting, sheds, fencing, concrete, flagpoles, solar panels, etc.). Unlike social committees, the ARC has form submissions routed to it automatically:

  1. Homeowner submits a form at ••• (e.g. painting request)
  2. The ARC chair receives an email notification
  3. Chair logs into ••• with their club/group/committee password
  4. Reviews the submission, approves or denies, emails the homeowner the decision

The ARC can also hold meetings (like any committee), post announcements, and manage members on their committee page. The form type → committee mapping is configured by the admin at ••• → Form Assignments tab.


Events Calendar (Merged View)

The "HOA Events" page shows everything in one chronological list:

This hierarchy keeps important HOA events visually dominant while still showing residents everything happening in the community.

Board members edit from the bottom of ••• (edit toggle, password protected). Committee events are read-only here — chairs edit from their own committee page.


Secure Voting System

Why It's Needed

HOAs often need to vote on things: approve a budget, elect board members, decide on community projects, change bylaws. Paper ballots are slow; online voting is fast but fraud is a risk. This system solves both.

How It Works

  1. Board creates a vote via ••• — question, 2-6 options, deadline (all dropdowns, easy for seniors)
  2. Board clicks "Send Codes" — the system:

- Groups the mail list by household street address

- Generates one unique code (V-XXXXXXXX) per household

- Emails the code to every voting-eligible email at that address

  1. Residents receive email, go to •••, enter the code, pick an option, submit
  2. Code burns on use — any second attempt from that household fails
  3. First person at the address to vote wins — other people in the house can't change it

Who Can Vote

Results


Garage Sale Page

Residents self-post — no board involvement needed. Safety is enforced by street address validation.

How It Works

The page heading has a green "⬇ Post a Garage Sale" button right next to the title. One click jumps to the posting form at the bottom — no scrolling through existing listings.

Address Validation (Important!)

Three layers:

  1. House number — must be 1-5 digits at the start
  2. Direction — N, S, E, or W (North/South/East/West also accepted)
  3. Street name + suffix first letter — the street must be in the streets config with matching suffix first letter

Example: If the config has N Baxter Way, these all pass:

These all fail:

the admin page

The board manages the valid street list through this admin page. Add a street with:

If a street has multiple suffix versions (e.g. Stockhelm Way AND Stockhelm Ave), add it twice.


Mail List

More than just an email list — it's the foundation of the voting system.

Signup requires:

The signup form automatically hides the voting checkbox if "Renter" is selected — keeps it obvious that only homeowners vote.

What The Mail List Powers

Removal

Self-serve — enter email + street address to remove. No password needed since only the person who owns that email gets the confirmation.


Board Video Meetings

The HOA runs its own private video conferencing server at meet.your-hoa.com using self-hosted Jitsi Meet. No Google, GitHub, or Apple sign-in required — ever. Anyone with the link just types their name and joins.

Why Self-Hosted Jitsi

How Board Meetings Work

  1. Board member goes to ••• and enters the board password
  2. Clicks the big green "Join Meeting Now" button — opens the Jitsi room in a new tab
  3. Browser asks to allow microphone — click Allow
  4. Type your name and click "Join meeting" — you're in
  5. The room uses an obscure URL that only appears behind the password gate — nobody can guess it

Public Meeting Broadcast (2-4x per year)

For quarterly or annual meetings where the community can listen in:

  1. Board member clicks "Turn ON Public Viewing" on the board meeting page
  2. This enables ••• — a public page that embeds the meeting so community members can listen and view
  3. Community members go to ••• (linked from the FYI → BOD Meeting nav item)
  4. Listeners can hear everything but cannot speak, turn on camera, or control the meeting
  5. Listeners get a chat button — they can type questions for Q&A at the end of the meeting
  6. Board sees chat messages in their Jitsi window and answers verbally
  7. When the public portion ends, board member clicks "Turn OFF Public Viewing"
  8. The public viewing page automatically reverts to "No public meeting in progress"

What Public Viewers Can and Cannot Do

Can DoCannot Do
Hear all audio from board membersSpeak or unmute microphone
See video if board members enable camerasTurn on their own camera
Send chat messages (Q&A)Share screen, start recording, or kick anyone
Page auto-detects when meeting starts/endsAccess any meeting controls or toolbar

Security Layers

  1. Password-protected page — only board members see the meeting link
  2. Obscure room name — not guessable (e.g. Preserve-BOD-7x9k2m)
  3. Public toggle — community can only listen when a board member explicitly enables it
  4. Listen-only embed — public viewers join via the Jitsi IFrame API with all controls disabled

Server Details


Virtual Board Room

A private discussion forum exclusively for board members at •••. Not linked from the public site — URL must be known.

Features

Login

Members enter their name and board password. The name is attached to all their posts — no anonymous content. Each member's unique password from ••• links their actions to their identity.

BOD Admin Panel

Accessible at ••• with a separate admin password (•••). Three tabs:


Form Submission & Review System

Homeowners download forms (painting checklists, shed requests, flagpole guidelines, etc.) from the CCRs page, fill them out, then upload them via ••• for board or committee review.

Homeowner Submission Flow

  1. Homeowner downloads the appropriate form from •••
  2. Fills it out and goes to ••• (linked prominently on the CCRs page)
  3. Enters their name, email, address, selects the form type (Painting, Flagpole, Shed, Concrete, Fencing, Solar, Landscaping, Architectural, Other)
  4. Uploads up to 4 files (PDF, JPG, PNG — 10MB max each)
  5. Receives a reference number (e.g. FR-A3B2C1D4) immediately
  6. The assigned committee chair receives an email notification with the submission details

Committee Review Flow

  1. Committee chair receives email notification of new submission
  2. Logs into ••• with their club/group/committee password
  3. Only sees submissions assigned to their committee (e.g. ARC sees painting, sheds, fencing — not other types)
  4. Reviews the attached files, sets status (New → Under Review → Approved → Denied)
  5. Types comments and clicks "Email Response" — homeowner receives the decision by email
  6. When done, clicks "Archive" to move it out of the active view

Form Type → Committee Mapping

The board admin configures which committee handles which form types via the •••Form Assignments tab (requires the admin password). This maps form types to committees (e.g. all architectural form types → ARC). Unassigned types are only visible to board members. This is a one-time setup. The mapping is stored in •••.

Access Levels

Data Retention

Submissions older than 24 months are flagged for archiving. The board can archive submissions at any time. Archived submissions are hidden from the active view but remain in the data file.


Violation Notice System

A three-tier escalating notice system that replaces the old one-size-fits-all violation letters. Accessible at •••.

Three-Tier Approach

TierNameToneDeadlineFine Mentioned?
1Friendly ReminderNeighborly, offers help30 daysNo
2Follow-Up NoticeFirm but fair, quotes CCR briefly14 daysWarning only
3Final NoticeFormal/legal, full CCR quote10 daysYes — specific consequences

Violation Types (Pre-Written)

Each violation type has all three tiers pre-written with the correct CCR text already included. The only fields to fill in are name, address, and dates.

Automatic Tier Detection

When generating a notice, the system checks the history: "Has this address received a notice for this violation type before?" If yes, it automatically selects the next tier. The operator can override if needed.

History & Tracking

Every notice sent is logged with: date, homeowner name, address, violation type, and tier. The History tab organizes notices by street address with a search bar, so the management company can instantly see a property's full violation history and know which tier to send next.

Management Company Config

The management company's name, address, email, and signature line are stored in •••. Every generated letter pulls from this config. When the HOA switches management companies, update one form at •••Management Co. tab — all letters update automatically.

Printable Letter Templates

Static printable versions of all letters are also available at ••• with the old "horrible" templates linked for reference. These are useful as a reference but the generator system is the recommended workflow.


Treasurer — Dues & Invoicing

••• — a password-protected page for board members that provides access to the HOA's Stripe account for managing dues collection and special assessments.

How Recurring Dues Work

  1. Treasurer exports the mail list as a Stripe-ready CSV from the treasurer page (owners only, renters excluded)
  2. Uploads the CSV to Stripe Dashboard → Invoicing → Import
  3. Sets a recurring schedule (monthly, quarterly, or annual)
  4. Stripe automatically emails each homeowner an invoice with a secure payment link each cycle
  5. Homeowners pay via ACH bank transfer (0.8%, capped at $5) or credit card (2.9% + 30¢)
  6. Money deposits directly to the HOA bank account

After the initial CSV import, Stripe runs on autopilot. The treasurer only logs in when a home sells, dues change (usually annually), or someone's email changes.

Special Assessments

One-time charges (gate repair, signage, legal fees, etc.) are handled as separate invoices — same CSV export process, but sent as a one-time invoice without a recurring schedule. Regular dues continue unaffected.

Automatic Payment Reminders

Stripe sends up to 3 automatic reminder emails to homeowners who haven't paid (e.g. 3 days before due, 7 days after, 30 days after). The dashboard shows all unpaid invoices at a glance so the treasurer can see who is delinquent without chasing anyone manually.

Security


Audit / Activity Log

Every password-authenticated action on the site is logged to •••. The log records:

This covers all 22+ pages that require a password: calendar events, HOA news, garage sales, FAQ entries, config changes, password management, Virtual Board Room activity, board meeting access, public viewing toggles, file uploads, and more.

Why This Matters

Each board member has a unique password. If someone deletes another member's post, the log shows exactly who did it and when. This prevents "I never saw that" disputes and provides accountability without requiring user accounts.

Viewing the Log

The activity log is viewable in the BOD Admin Panel (•••) under the "Activity Log" tab. Newest entries first, paginated 50 per page.


Ponds & Landscape + Lawn Care Pages

These are board-editable content pages for common grounds information.

Ponds Page

Use for things like:

Lawn Care Page

Use for things like:

Each section on these pages supports:

Page Title Editing

Both config pages (PONDS-CONFIG, LAWN-CONFIG) have a "Page Title & Menu Label" section at the top — change the title there and it updates both the nav menu and the page heading in one step.


FAQ Page

Residents submit questions → board reviews and approves → approved answers appear publicly. Organized by section. Bad-words filter applies. Good for questions like:


CCRs, Bylaws & HOA Forms

Document library page. Board uploads PDFs and links. Good for:


Community Poll

Quick single-question pulse checks. Different from the full voting system — this is for informal questions like "What time should we host the summer BBQ?" The real voting system is for legally binding decisions.


Home Page

Welcome area for the community. Board adds content blocks via •••. Good for:


The nav menu uses dropdowns to keep the header clean:

Hover to open on desktop, tap to toggle on mobile. Active pages automatically highlight their dropdown parent.


Security & Privacy

Multi-Level Access Control

The site uses a four-tier password system to control who can access what:

Every action is logged with who did it and when — full accountability without user accounts.

Web Helpers

Web helpers are trusted people (not board members) who assist with day-to-day site management. They are given a helper password and can:

They cannot access the Virtual Board Room, board discussions, treasurer tools, violation notices, board meeting controls, or any board-only CONFIG pages. They never see the Virtual Board Room navigation header.

Helper passwords are managed by the admin at •••Helper Passwords tab, with name assignments for accountability.