Skip to content

Repository files navigation

Swim Check 🏊

A mobile-first single-page app for tracking swim times against Oregon Swimming (OSI) motivational time standards.

Not in Oregon and want to see your state's motivational data? Start a discussion or drop me a line and let's talk!

Do you find this app useful?

Please consider helping me cover my kid's swim meet fees!

Buy Me A Coffee

Data Source

Time standards are sourced from the Oregon Swimming Time Standards, which are typically updated 1-2 times per year.

Current standards:2025-2026 OSI Time Standards A/B+/B

Data Inconsistencies ⚠️

The following issues were observed in the source data from the OSI site*, and are highlighted in the app:

Age/GenderEventCourseStandardValueIssue
Girls 111500 FreeLCMB24:38.39⚠️B should be 24:18.39 (A × 1.1, rounded to 1 decimal + 0.09)
Girls 121500 FreeLCMB24:38.39⚠️B should be 24:18.39 (A × 1.1, rounded to 1 decimal + 0.09)
Girls 131500 FreeLCMB24:38.39⚠️B should be 24:18.39 (A × 1.1, rounded to 1 decimal + 0.09)
Boys 14200 FreeSCYB+2:05.49⚠️B+ should be 2:11.79 ((A + B) / 2, rounded to 1 decimal + 0.09)
Boys 15 & Over*1500 FreeSCMB21:59.09⚠️B should be 21:58.99 (A × 1.1, rounded to 1 decimal + 0.09)

Issue Key

  • Invalid format: The time does not match the pattern MM:SS.MS or SS.MS, or exceed 60-second increment notation (e.g. 96.99 seconds).
  • Invalid progression: The time does not fit in the expected "faster to slower" time progression calculation for standards: A < B+ < B.

🪲 Encounter any other issues? Head over to the Issues tab and let me know!

* Note that the OSI PDF may contain errors, and so can this app! Refer directly to OSI for questions/corrections related to time standards.

Features

  • Mobile-First Design: Optimized for use at swim meets on mobile devices
  • Time Comparison: Compare swimmer times against A, B+, and B motivational standards
  • Visual Feedback: Color-coded qualification levels for easy tracking
  • Persistent Storage: All times and settings saved locally between sessions
  • Multi-Day Support: Track times across multi-day swim meets

Usage

Here are the basics. See the wiki for more detailed instructions.

  1. Select your Age Group from the dropdown
  2. Choose Gender (Girls/Boys)
  3. Select Course Type (SCY/SCM/LCM)
  4. Enter your swim times in the "Your Time" column
    • Format: MM:SS.MS for times over 1 minute (e.g., 1:28.19)
    • Format: SS.MS for times under 1 minute (e.g., 28.45)
  5. Times are automatically evaluated and color-coded:
    • Green: A time qualified
    • Blue: B+ time qualified
    • Yellow: B time qualified
    • Gray: Did not qualify

All entered data is automatically saved to your browser's local storage.

Development

Built with:

  • Vanilla JavaScript (no framework dependencies)
  • Pico CSS for styling
  • Local Storage API for data persistence

Deployment

The app is automatically deployed to GitHub Pages on push to the main branch via GitHub Actions.

License

MIT

About

OSI motivational times lookup tool. No more squinting at the PDF grid!

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages