HOA Platform Violation History Overlay
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script scans HOA (Homeowners Association) management and violation tracking platforms—AppFolio, BuildingLink, Vantaca, and others—for violation records including violation types, dates, statuses, property addresses, and fines. It displays a floating overlay showing violation history for the current property or community. Violations are categorized by type (landscaping, parking, noise, exterior, trash, pool, pet, lighting, structure, or other) and color-coded by status: red for open, green for resolved, yellow for pending, orange for appealed. The panel shows total violation count, open violations, resolved violations, and total fines. Users can filter by status, view a timeline of violations, and export violation history as CSV. Snapshots are stored per property and domain locally for tracking over time.
WHERE IT RUNS
Works on any HOA management or violation tracking platform—AppFolio, BuildingLink, Vantaca, CINC Systems, or any page displaying violation records with dates, statuses, and property details. The script scans page content for violation tables and list items, making it compatible with most HOA platforms.
HOW TO USE
The panel appears automatically when you visit a violation dashboard. It detects violations and displays summary stats at the top: total, open, resolved, and total fines. Each violation card shows the violation type, status badge (color-coded), date, category, fine amount (if any), address, and description. Use the filter dropdown to show only Open, Resolved, Pending, or Appealed violations—click "Apply" to update the view. The History section shows your last 10 snapshots with violation counts. Click "Refresh Data" to rescan for updated violations. Export all violation data as CSV with type, date, status, address, fine, category, and description. Use "Clear History" to reset stored snapshots for the current domain. The panel automatically saves a snapshot each time you visit, building a history of violation patterns.
TECHNICAL MECHANISM: MULTI-PASS VIOLATION EXTRACTION WITH STATUS CLASSIFICATION AND REPEAT DETECTION
The script uses a comprehensive detection strategy. First, it scans all tables on the page, checking header rows for violation-related indicators (violation, type, status, date, address, fine, property). For each row, it extracts violation type, date (using a robust date parser), status (by checking for keywords like open, resolved, pending, appealed), address (using address pattern matching), fine (using currency parser), and description. Second, it scans list items (li, div, p) that contain violation-related keywords, extracting the same data points. Violations are categorized using a keyword-based classifier that maps violation text to categories (landscaping, parking, noise, exterior, trash, pool, pet, lighting, structure, or other). Status color-coding uses: red for open, green for resolved, yellow for pending, orange for appealed. The total fine calculation sums all fines across violations. Each snapshot stores the full violation list with all attributes, capped at 30 entries per domain. The filter system allows status-based viewing without reloading the page.
THE PANEL
The violation history overlay appears in a draggable, resizable panel that remembers its position per site. The panel shows summary stats, a violation list with color-coded status badges and category tags, and a filter dropdown. The history section shows recent snapshots. Drag by the header to reposition, collapse to a compact icon with a click, and resize using the bottom-right corner. The panel snaps to screen edges for tidy placement and closes with the Escape key. All settings—filter preference and panel position—persist per website using GM_setValue, so your view returns exactly as you left it.
PLEASE NOTE
This script requires the free BotGentz extension to run. Violation detection relies on the page displaying records in a parsable format—some HOA platforms may use non-standard layouts that prevent automatic detection. The script does not access your HOA account data beyond what is visible on the page. All violation data is stored locally in your browser via GM_setValue and never transmitted. The script can only detect data that is currently visible on the page—ensure your dashboard view shows the relevant violation records. The category classification uses keyword matching and may not capture all custom violation types. Status detection is based on keyword matching; platforms may use different terminology that could result in "Unknown" statuses.