Export complete event results with placement, distance, speed, and points.
Roster data is loaded from the Local Database.
| Place | Truck | Dist | Speed | Edit |
|---|---|---|---|---|
| Select a class to view leaderboard | ||||
- No hooks recorded yet
Organization Rules
Configure point system and membership settings
Styling & Appearance
Customize theme, colors, and interface density
🎉 Celebration Popups
Configure celebration notifications
General Settings
Configure lineup and draw settings
Export Column Settings
Choose which columns to include in exports
Reload all data from cloud without logging out
Support & Help
Get help with LiveStat and contact our team
Navigation Guide
LiveStats Engine™ is organized into three main sections: Setup (configure your organization), Live (run events in real-time), and System (manage settings and access support).
⚙️ Setup Navigation
Configure your organization's foundational data
📅 Event
Configure event details like name, date, location, and organizer information. Set up point systems for championship tracking. This is where you define the specifics of each pulling event.
🏆 Classes
Define your organization's competition categories (e.g., "V8 Tractor", "2WD Modified", "Pro Stock"). Create and manage your master list of classes. Use + Add Class to create new classes or archive unused ones. Toggle 📦 Show Archived to restore archived classes.
🚗 Roster
Your master database of all vehicles and drivers. Add trucks with membership numbers, vehicle names, make/model, driver info, and class assignment. Use + Add Vehicle to Roster to create entries. Click any vehicle card to edit or delete. This roster feeds into your event lineups.
📡 Live Navigation
Run and manage live events in real-time
📋 Lineup
Build tonight's event lineup by selecting trucks from your roster and assigning draw numbers. Search for vehicles/drivers to auto-fill details. Click 🎲 Random Draw for automatic assignment. Drag class chips in the Class Lineup Order section to set the pulling order. Lineup syncs automatically to Live Event.
🚜 Live Event
Real-time event control center. Click a class pill to start recording pulls. The lineup rail shows trucks in draw order with color-coded status (gray=upcoming, blue=current, green=complete). Enter Distance and Speed, apply flags (DQ, Dropped Hook, Exhibition), then hit Submit hook to leaderboard. System auto-advances to next truck. Track pace with timing stats.
🏆 Results
View final standings with automatic ranking by distance. Results organized by class with color-coded podium positions (🥇 Gold, 🥈 Silver, 🥉 Bronze). Shows place, truck, driver, distance, speed, and points. Flagged entries appear at bottom. Updates in real-time as you submit hooks. Perfect for displaying on screens or projectors.
📤 Export
Export your results and lineup data in multiple formats. Download as CSV for spreadsheet analysis, PDF for professional reports, or JPG for social media sharing. Export settings can be configured in the Settings tab to control which columns are included.
🔧 System Navigation
Manage app preferences and get support
⚙️ Settings
Personalize your LiveStats experience. Styling & Appearance: Choose color themes (Purple, Blue, Pink, Teal, Neutral variants), select UI density (Compact/Comfortable), and control scrollbar visibility. Export Columns: Toggle which columns appear in exports. All settings save automatically to your browser.
📞 Support
Access help resources, contact support, view system information, and read patch notes. Find detailed navigation guides, links to documentation and FAQs, your current version and browser info, plus complete changelog of features and improvements. Start here if you need assistance or want to learn what's new.
🚪 Logout
Sign out from your account and disconnect from your data. You'll need to sign in again to access LiveStats Engine™ and sync with your database.
Contact Support
Need help? Have a question? We're here to assist you.
System Information
Patch Notes
v1.0.2
December 6, 2025🐛 Bug Fixes:
- Results Tab Placement: Fixed blank placement display in Results tab - now uses same fallback logic as Live Leaderboard.
- Edit Result Modal: Restored "Place (manual override)" field that was accidentally removed.
- Hook Submission: Fixed issue where Place/Points were being cleared before recalculation.
✨ Improvements:
- State Dropdown: Roster create/edit now uses a dropdown for US states instead of free text input.
- Roster Updates: Fixed 401 authentication error when updating roster members.
Beta 1.1.0 November 25, 2025
🚀 MAJOR OVERHAUL: Viewer App 2.0
Complete rewrite of the public results viewer for maximum performance and reliability during the season.
Read Full Details →🧪 BETA LAUNCH: Input Console
Now open for public sandbox testing. Includes backend optimizations and critical bug fixes.
Read Full Details →📱 Viewer App 2.0:
- Client-Side Processing: Moved heavy math (points, averages, sorting) to the user's device to save server CPU.
- Season Log: New "Season Log" view with color-coded status text for DQ (Red), Dropped Hook (Amber), and Exhibition (Blue).
- Event Detail Pages: Completely redesigned event pages with "Total Hooks" and "Full Pulls" stats.
- Performance: Optimized for high-traffic "pulling season" loads.
🔧 Backend & Infrastructure:
- Server Optimization: Prepared codebase for 2 vCPU production environment.
- Stability: Fixed syntax errors and race conditions in the viewer script.
- Footer: Unified footer design across Console and Viewer for consistent branding.
🐛 Bug Fixes:
- Fixed "Total Hooks" showing as undefined in class pages.
- Fixed `getSpeed` reference error causing viewer crashes.
- Fixed points calculation logic to correctly filter non-points events.
- Fixed syntax errors causing event pages to fail loading.
v0.8.5-beta November 19, 2025
🚧 Beta Status: Preparing for Pulling Season Launch
Making great efforts to get LiveStats Engine™ released in time for pulling season. Still not open to the public - stay tuned!
🖥️ Backend Server Infrastructure:
- Full Node.js/Express backend server implementation
- RESTful authentication API with JWT token-based session management
- API endpoints: /api/auth/signup, /api/auth/login, /api/auth/me
- Secure bcrypt password hashing (10 rounds)
- Server-side validation and error handling
- MongoDB integration for user data persistence
- CORS configured for cross-origin requests
🔐 Authentication System Overhaul:
- Username-based login system (stored in user.email field)
- Separate email field (user.userEmail) for Stripe payment receipts
- Dual-field signup form: Username + Email
- JWT tokens stored in localStorage for persistent sessions
- Auto-login on page load if valid token exists
- Backwards compatibility for legacy accounts
- "Remember Me" functionality with token expiration
💰 Token Economy Changes:
- Stripe integration for token purchases
- Token balance displayed in dashboard
🎨 UI/UX Enhancements:
- Signup form redesigned to fit on one screen (no scrolling required)
- Events tab with powerful search by name or location (real-time filtering)
- Six filter options: All Events, Active, Today, Upcoming, Past, Canceled
- Three view modes: List (grouped by status), Grid (responsive cards), Calendar (grouped by month)
- Sort options: Date ascending/descending, Name A-Z/Z-A
- Roster modals (Edit Member, Member Details) optimized with 3-column layout
- Modal sizing: 1100px width, 95vh height - fills screen without scrolling
- State dropdowns in Add Vehicle and Edit Vehicle modals (all 50 US states)
- Compact, readable spacing: 13px fonts, 10px gaps, 7-10px padding
🔧 Technical Improvements:
- Event listeners for search, filter, view mode, and sort controls
- State management for events: viewMode, filter, searchTerm, sortBy
- Responsive grid layout: auto-fill, minmax(320px, 1fr)
- Calendar view with chronological month/year grouping
- Type-based event card styling (Practice/Qualifying/Race/Special)
- Server-side username validation (3-20 characters, alphanumeric + underscore)
- Password strength requirements (8+ characters)
🐛 Bug Fixes:
- Fixed Exhibition/Under100ft/TestRun flagged runs disappearing from lineup
- Fixed flagged runs now remain visible in Results and Live Leaderboard
- Fixed re-pull logic: now appends new rows when distance exists (preserves original)
- Fixed state input consistency across all roster forms
- Fixed modal scrolling issues with optimized dimensions
- Removed duplicate membership number validation
- Fixed archivedRepulls array population for instant display
v0.7.0-beta November 16, 2025
💳 Stripe Payment Integration:
- Complete Stripe Checkout integration for event token purchases
- Secure payment processing via Stripe API with webhook verification
- Automatic token fulfillment after successful payment
- Payment status tracking and refund prevention for used tokens
- Professional checkout experience with custom success/cancel pages
- Backend server (stripe-server.js) handles all payment operations securely
🎯 Enhanced Flag System:
- Added two new pull flags: "Under 100ft" and "Test Run"
- Radio button implementation for mutually exclusive flag selection
- 7 flag options: None, Scratch, Under 100ft, Reset, Test Run, Exhibition, DQ
- Extended sheet structure from columns A-O to A-Q (added columns P & Q)
- All flagged hooks now properly display in both Results and Live Leaderboard
- Flagged pulls sort to bottom but remain visible for record-keeping
🔒 Formula Protection:
- Complete protection for Place (column I) and Points (column J) formulas
- All write operations skip or preserve formula columns
- Clear Hook Data detects formulas vs manual values before clearing
- Flagged runs append as new rows without touching formula columns
- Fixed updateNameInAllEvents to write single column only (not full rows)
⚡ Real-Time Updates:
- Flagged hooks now appear immediately in live leaderboard and results
- archivedRepulls array properly populated for instant display
- Live Event leaderboard combines active lineup with archived flagged runs
- No more refresh required to see flagged hooks
🔧 Technical Improvements:
- Updated all sheet read operations from A:O to A:Q range
- Enhanced sort logic to check string 'TRUE' values for flags
- Improved error handling with toast notifications
- Better console logging for debugging flagged hooks
🐛 Bug Fixes:
- Fixed Clear Hook Data "currentEventSheet is not defined" error
- Fixed columns I & J being overwritten by various operations
- Fixed flagged hooks not appearing in live displays
- Fixed Under100ft and TestRun flags not being checked in sort/display logic
v0.6.0-beta November 14, 2025
🎯 Results Management System:
- Full results editing - click any result row to edit all fields (A-O columns)
- Formula preservation for Place and Points columns (only updates if values actually change)
- Clear Hook Data feature - removes distance/speed/flags but keeps truck in lineup
- Dynamic sheet row finding handles duplicates and re-pulls correctly
- Edit Result modal with all fields: Draw, Distance, Speed, Place, Points, Member checkbox, and flag checkboxes
✅ Flag System Overhaul:
- Mutual exclusion - only one flag can be selected at a time (DQ, Scratch, Reset, Exhibition, Drop)
- Pre-submission validation prevents submitting hooks with multiple flags
- Custom error modal shows when multiple flags are selected
- "Drop" renamed to "Dropped Hook (Re-Pull)" for clarity
- Works across all contexts: Live Event hook submit, Leaderboard edit, Results edit
🎨 UI/UX Improvements:
- Refresh warning modal redesigned with calmer amber theme (was extreme red/critical)
- Updated messaging: "Unsaved Changes" instead of "DATA LOSS"
- Added reassuring tip about automatic syncing in refresh modal
- Clear Hook Data button in modal (red danger theme, left-aligned)
- Results table now clickable rows for editing (hover highlight)
🔧 Technical Improvements:
- Compares form values against original sheet values to detect changes
- Selective column clearing preserves Place/Points formulas (clears F-H, K-O; keeps I-J)
- Console logging for mutual exclusion debugging
- Proper event listener setup with change events on all flag checkboxes
🐛 Bug Fixes:
- Fixed renderChips/renderLineup undefined errors in results editing
- Fixed formula overwriting when editing results (now only writes if changed)
- Fixed multiple flag selection bypassing validation
- Fixed mutual exclusion not working properly with console debugging added
v0.5.0-beta November 13, 2025
🚀 Major Update - Google Sheets Integration:
- Full Google Sheets API integration - all data now syncs to cloud
- Professional login screen with secure OAuth authentication
- Settings sync across devices via Google Sheets
- Removed all CSV fallbacks - API-only data management
- Real-time sync timestamp shows last successful data write to Google Sheets
✨ New Features:
- Classes Management tab - centralized class list for entire organization
- Archive/restore system for classes (soft delete with toggle to show archived)
- Soft delete/restore system for roster members (preserves all data)
- Restore button in roster view details modal for deleted members
- Class dropdown in Add Vehicle modal (synced with Classes tab)
- Updated Roster form with new fields: Phone, Address, Make | Model
- Connection status indicator (red/yellow/green)
- Dedicated Logout tab with confirmation screen
- Enhanced Classes Tab documentation in Support tab
⚙️ Improvements:
- ALL data operations now sync to Google Sheets immediately (classes, roster, lineup, live results)
- Sync timer only updates after successful Google Sheets writes (no false updates)
- Enhanced error handling for Google authentication failures
- Improved dropdown styling to match themes
- Classes load before roster for proper dropdown population
- Professional authentication flow with loading screens
- Settings persist to Google Sheets for cross-device sync
- Cleaner UI text (removed technical implementation details)
- Smart button visibility in roster details (edit/delete vs restore based on status)
- Secondary button theme styling for archive/delete toggles
🔧 Technical:
- Google Sheets API with full read/write capabilities
- Sheet auto-creation if missing (Roster, Lineup, Settings, Classes)
- Boolean conversion fixes for Google Sheets data types
- Roster now uses 11 columns (A-K) with Deleted column (YES/NO)
- Classes sheet uses 2 columns (A-B) with Archived column (TRUE/FALSE)
- Lineup/Results save to database with 8 columns (Draw, Class, Truck, Driver, Member, Distance, Speed, DQ)
- All write operations validate success before updating sync timestamp
🐛 Bug Fixes:
- Fixed duplicate `];` syntax error that was breaking authentication
- Fixed sync timer continuing to count even after data updates
- Fixed local-only data changes that weren't syncing to Google Sheets
- Removed "Robert Young" auto-population placeholder (now uses proper soft delete)
v0.4.0-beta November 2025
New Features:
- Support tab with help documentation and system info
- Preset color themes (Purple, Blue, Pink, Teal, Neutral + Neutral variants)
- Export column customization (choose which columns to export)
- Multiple export formats: CSV, PDF, JPG
- Interface density modes: Compact (Mobile) and Comfortable (Desktop)
- Collapsible settings sections for better organization
Improvements:
- Class lineup order automatically syncs between Lineup and Live Event tabs
- Class order chips can no longer be manually deleted (auto-managed)
- Theme selection now persists and loads on refresh
- Density button highlighting now matches selected theme
- Default theme is Purple when no preference is saved
Removed:
- Light mode (app is now dark mode only)
Older versions archived...