Summit HS XC/Track Database

This unofficial database helps explore our current and historical runners easier.

This data was collected by SHS XC and Track Coaches. See this page to understand further.

Recent Winners
Recent Meets

What's being worked on right now?

  • reliablity of automated update script is pretty good now. check the github for updates
  • add widgets to this index page (eye candy helps people stay on page!)
  • rework bests to remove data structure limitations of source database
  • Lots of work to do on meet pages (splits/paces need to be worked on).
  • SharmaCast™ (Historical weather where available)
  • Pertaining to meets, there are still some edge cases, the most recent challenge being 2-day long meets, where some events were held on one day. This requires reformatting all of the meet data. Eugh.
  • The calendar, and the rest of the site could use some styling. Default is ok, but uninspiring.
  • I am still working out how important mouse hover should be considering mobile use.

What's already working?

  • All the athlete data has been collected. Each athlete's events are viewable in a fancy segmented table, including some bests in most events. Two charts are being worked on.
  • The meet data is all collected.
  • The calendar is really nice, and I'm proud of my work.
  • The search bar is very quick in suggesting athletes, and they can be selected thru keyboard actions/mouse clicks

What's not working?

  • Pace/split dropdowns in any given meet
  • Typing certain characters into the URL for /meet/ and /athlete/ doesn't redirect properly because my attempts at PHP redirects have resulted in accidentally DDOS-ing my own website with recursive header redirects.

What's planned?

  • Simply put, lots of fancy charts and other ways to filter, organize, and visualize all the data that's been put in.
  • Caching things that shouldn't be recalculated, but currently are.
  • Being able to see the same meet but from a year prior or the next year
  • Being able to quickly view the girls events on a boy's event page (and vice versa), as they're technically stored as different "meets"
  • Making connections between athletes based on their progression in key events (5k's, for example), and connections based on how many times they've raced with someone else
  • Being able to compare multiple athletes
  • A map of all our meet locations.

What's funny and broken?

  • Check out Christopher Helmer's page and Ty Baskerville's page for some funny errors. I believe the coaches marked the wrong athlete, causing them to run events in 13th grade, and 1th [sic] grade. I am considering making corrections to the data, but I might leave it the way it is.


  • Add bests tab when available
  • add more dropdown for calendar and coming map and compare
  • move breadcrumbs down to main page content?
  • I would like to add some eye-catching graphs. On the agenda.
  • optimize to only display elements in viewport. 12-point chart is currently resource-intensive
  • adjust scrolling behavior to be smoother (factor in scroll speed?)
  • should remember user state when jumping back to athlete page (add super long element during load?)
  • flesh out personal bests tab - determine percentiles of stuff, see below
    • percentile of class (class of '19)
    • percentile of gender all time (display "top 20%", show chart, maybe dot plot?)
  • style second chart
  • suggested athletes to be based on
    • first name (similar michaels, for example)
    • last name (likely siblings, or just coincidences)
    • shared meet count (how many times have they probably been on the same bus together)
    • shared event count (how many times have they been in the same exact event)
    • obtained a similar PR *during their same school year (ex. both ran a 5:10 mile softmore year)
  • the reason an athlete was suggested will show up when they are hovered over (or click an (i) icon on mobile)
  • do not load placeholder elements until scroll
  • sharmacast + access other historical apis
  • continue to collect location list
  • consider properly implemented duplicate grouping
  • add tabs for boys/girls if passes grouping
  • add athletes tab
  • self-calculate pace for cross country events, consider for certain track events
  • display splits somehow, including in relays (even if rare)
  • properly calculate coach annotations, add display for track type (banked?)
  • only show coach's annotation if does not have location + date, also remove such when showing
  • that also indicates if this is a 2 day meet, must consider
  • fix meter conversion
  • error in previous PR calculation when seconds = 0 (ex. 1:00, 2:00)
  • finalize mobile styling
  • align tables within same event
  • properly sort events by recent athletes!
  • flesh out server-side filtering
  • Decide if should use complicated url formatting, or just rely on good ol question marks
  • investigate how performances are labeled - why does it ignore some erroneous data, ex Andy Passantiano's 29 second 800 meter relay split?
  • incorporate course IDs to enable separate pages for individual courses
  • create
  • compare two (or more?!) athlete's bests
  • If it's only two athletes, should be special UI that allows cooler looking comparison.
  • More than two should sideways scroll like amazon comparisons
  • create
  • dolorun has given me knowledge, it is time to shine
  • handle rewrite case for specific location
  • can style
  • prepare to handle 2-day meets
  • consider strict grouping
  • somehow change style of popup to differenciate from the others, people instinctively try to hover, and fail.
  • change color of girls/boys/both to match meets page on all elements
  • add graphics
  • expand on how one can view the original data on every (relevant) page
  • be less ambitious
  • search meet locations for string
  • search explicit "boys" / "girls"
  • handle explicit date formats such as 12-03-12 and december 12th
  • include pagination for any section that has more than 10 results, searching for "i" could spell doom trying to load 3 different lists