Meet Schedule Generator
The GPSA Meet Schedule Generator is a web-based tool that converts the master schedule CSV file (used to submit schedules to SwimTopia) into beautifully formatted HTML tables for display on the GPSA website or team websites.
Quick Start
- Obtain the master schedule CSV file from your league administrator
- Visit Meet Schedule Generator Tool
- Upload the schedule CSV file
- Select the division (Red, White, or Blue)
- Click “Generate Schedule”
- Copy the formatted HTML to your clipboard
- Paste into the GPSA website, SwimTopia CMS, or team website
What It Does
The Meet Schedule Generator transforms the master schedule CSV data into professional, responsive HTML tables that match GPSA’s visual branding. The tool:
- Parses schedule CSV files containing meet dates and team matchups
- Groups meets by date with formatted date headers (e.g., “MONDAY JUNE 16”)
- Converts team abbreviations to readable team names
- Generates responsive HTML tables styled with GPSA colors
- Provides copy-to-clipboard functionality for easy publishing
Getting the CSV File
Source of the CSV File
The CSV file used by this tool is the master schedule file that is uploaded to SwimTopia to populate all team schedules at the beginning of the season. This is typically:
- Created by the GPSA league administrator or scheduler
- Contains the complete season schedule for a division
- Used to submit meets to SwimTopia so they appear on all team calendars
- Maintained as the authoritative source for the season schedule
Who has this file?
- League officers (President, VP, Scheduler)
- Division coordinators
- GPSA webmaster
When is it created?
- Before the season starts (typically May)
- Updated if meet dates or matchups change
If you need the CSV file, contact your league administrator or division coordinator.
Required CSV Format
The CSV file must contain these columns:
| Column Name | Description | Example |
|---|---|---|
MeetDate |
Date of the meet | 6/16/2025 |
HomeTeam |
Home team abbreviation | GG |
VisitingTeam |
Away team abbreviation | WW |
Note: The tool ignores all other columns, so if your CSV has additional columns (location, time, etc.) they won’t affect the output.
Division Selection
The tool requires you to specify which division the schedule is for:
- Red Division
- White Division
- Blue Division
Auto-Detection
The tool will automatically detect the division if your filename contains one of these keywords:
red→ Selects Red Divisionwhite→ Selects White Divisionblue→ Selects Blue Division
Example: Uploading 2025-red-division-schedule.csv will auto-select Red Division.
Team Name Mapping
The tool automatically converts SwimTopia team abbreviations to readable names:
| Abbreviation | Display Name |
|---|---|
| BLMAR | Beaconsdale |
| COL | Colony |
| CV | Coventry |
| EL | Elizabeth Lake |
| GG | Glendale |
| GWRA | George Wythe |
| HW | Hidenwood |
| JRCC | James River |
| KCD | Kiln Creek |
| MBKMT | Marlbank |
| NHM | Northampton |
| POQ | Poquoson |
| RRST | Riverdale |
| RMMR | Running Man |
| WW | Wendwood |
| WO | Willow Oaks |
| WPPIR | Windy Point |
| WYCC | Warwick Yacht |
If a team abbreviation is not in this list, it will be displayed as-is.
Generated Output Format
The tool generates HTML that renders as:
MONDAY JUNE 16
----------------------------------
Glendale vs Wendwood
Beaconsdale vs Riverdale
THURSDAY JUNE 19
----------------------------------
Elizabeth Lake vs Kiln Creek
James River vs Northampton
The output uses:
- GPSA brand colors (Navy Blue #002366)
- Responsive table design (mobile-friendly)
- Consistent formatting matching other GPSA pages
- External CSS reference to
/css/gpsa-main.css
Using the Generated HTML
For GPSA Website
The primary use case is publishing division schedules to the main GPSA website:
- Click Copy to Clipboard button in the tool
- Save the HTML to a file (e.g.,
red-division-schedule.html) - Upload to the appropriate location on the GPSA website
- Link from the main schedule page
Note: The HTML references external CSS at https://publicity.gpsaswimming.org/css/gpsa-main.css which provides the styling.
For SwimTopia Team Pages
Individual teams can also publish division schedules on their team sites:
- Click Copy to Clipboard button in the tool
- Log in to your SwimTopia team site admin
- Navigate to the page where you want to display the schedule
- Switch to HTML/Source editing mode
- Paste the HTML code
- Save and publish
For Other Websites
If embedding on another platform:
- Ensure the external CSS file is accessible:
https://publicity.gpsaswimming.org/css/gpsa-main.css - Paste the HTML into your page source
- Test responsiveness on mobile devices
Features
Responsive Design
The generated schedules are fully responsive and display well on:
- Desktop - Full width with proper spacing
- Tablet - Optimized for medium screens
- Mobile - Stacked layout for readability
Accessibility
- Semantic HTML table structure
- Proper table headers for screen readers
- High contrast text for visibility
Toast Notifications
The tool uses modern toast notifications instead of popup alerts:
- ✓ Success (green) - CSV loaded successfully
- ✕ Error (red) - CSV parsing errors or missing columns
- ℹ Info (blue) - Processing updates
Troubleshooting
“Missing required columns” Error
Cause: Your CSV doesn’t have the required MeetDate, HomeTeam, or VisitingTeam columns.
Solution: Verify the CSV file has the correct column headers. Contact your league administrator if the file format appears incorrect.
“Error parsing CSV file” Message
Cause: The file may be corrupted or not a valid CSV format.
Solution:
- Open the CSV in a text editor to verify it looks correct
- Check that the file is saved as CSV format (not
.xlsxor other spreadsheet format) - Contact your league administrator for a fresh copy of the schedule CSV
Team Names Not Displaying Correctly
Cause: Team abbreviation not in the mapping table.
Solution: The tool will display the abbreviation as-is. If this is a new team, contact the GPSA webmaster to update the tool’s team mapping.
Division Not Auto-Detecting
Cause: Filename doesn’t contain “red”, “white”, or “blue”.
Solution: Manually select the division using the radio buttons before clicking “Generate Schedule”.
Technical Details
Libraries Used
- PapaParse v5.4.1 - CSV parsing library
- Tailwind CSS - UI framework (via CDN)
- GPSA Common Styles - Shared GPSA branding CSS
Browser Compatibility
The tool works in all modern browsers:
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
Note: Internet Explorer is not supported.
File Size Limits
- Maximum CSV file size: 5 MB
- Recommended: Keep schedules to one division per file
- No limit on number of meets per file
Best Practices
For League Administrators
- Maintain master CSV - Keep the authoritative schedule CSV in a central location
- Name files clearly - Include division and year (e.g.,
2025-red-division-schedule.csv) - Version control - Save dated versions if schedule changes (e.g.,
2025-red-schedule-v2.csv) - Coordinate updates - If dates change, regenerate HTML and notify teams
For Webmasters
- Test in preview - Review the generated HTML before publishing
- Verify styling - Ensure external CSS loads correctly on production site
- Mobile testing - Check display on phones and tablets
- Link prominently - Make schedules easy to find from main navigation
For All Users
- Contact admin for CSV - Don’t try to create the CSV yourself unless you’re the scheduler
- Check division - Ensure you’ve selected the correct division before generating
- Preserve formatting - Don’t manually edit the CSV unless you understand the structure
Related Tools
- Roster Formatter - Format team rosters for SwimTopia
- Publicity Processor - Generate meet result reports
Support
For issues or questions about the Meet Schedule Generator:
- Need the CSV file? - Contact your league administrator or division coordinator
- Technical Issues - Contact the GPSA webmaster
- Schedule Changes - Contact your league scheduler or division coordinator
- Feature Requests - Submit via your team representative or league officers
Quick Links: