On January 9th, 2025, I visited all open stations of the CTA “L” system in 9 hours, 1 minute, and 3 seconds. This page summarizes the background of speedrunning the CTA rail system and the specifics of my attempt.
Contents
Background
For most public transit systems, there is a community of people attempting the challenge of visiting every station as fast as possible. Most of these challenges are unofficial, but a few systems have official records with rules and verification. Some of the most well documented records are the New York City Subway Challenge, the London Tube Challenge, and Bay Area Rapid Transit (BART) system speedrun, which has an official web page dedicated to record attempts.
The Chicago CTA rail system doesn’t have detailed rules or official record keeping, but even without this, many have tried and completed unofficial runs. Danny Resner maintains the unofficial “L” Challenge Attempts log on Tumblr which is the most up-to-date attempt compilation available. Danny has been active in the “L” challenge scene since the early 2010s and has three completed attempts on the leaderboard, some of which briefly held the unofficial record. He initially started attempting the challenge after Adham Fisher completed the “L” challenge in 2011 with a time of 9 hours and 36 minutes. Adham Fisher is well known for his many international subway challenge attempts and was even awarded a commemorative station plaque for his 2011 challenge time. From 2011 to 2013, attempts were frequent and the fastest time was being challenged multiple times per year. No attempts were documented in 2014 or 2015, but in 2016 the two fastest times were documented, one of which has a YouTube video showing the journey. Both of these attempts remain the top two fastest times as of January 2025.
No documented attempts were made in the 2010s after the 2016 records and the 2020 pandemic continued the streak of no attempts. CTA’s pandemic recovery was very slow and decreased CTA rail reliability and scheduling continued for years. The limited schedules made challenge attempts extremely difficult for the following years, but even with this the “L” challenge list gained nine completed attempts between 2022 and 2024, none of which approached the pre-pandemic top times. In November 2024 the CTA announced rail service levels have returned to pre-pandemic levels, but public perception seems to differ. Although the schedules deliver on paper, data analysis shows that runs are regularly canceled so approaching pre-pandemic challenge times is still no easy feat.

I became interested in the “L” challenge when I found Piero Maddaleni’s website that logs his record attempts. Piero has documented two completed runs in 2023, and one attempt was even covered by the Chicago Tribune. He also made a Discord server where anyone can join to learn more about Chicago “L” speed runs, discuss strategy, and share their attempts. This was a great place to learn and plan my route.
Unofficial Rules
When Adham Fisher made the first public attempt in 2011, he popularized the use of Guinness World Records rules. These rules require the participant to ride a train which to arrives or departs from every station, permit running, and permit the use of all other scheduled public transit. Non-public transit such as cars, ride-shares, and bikes are forbidden during the attempt. Since the train must stop at all stations, express trains that pass through stations without opening doors do not count as visiting the station. For Guinness, there are special considerations for station closures but in general unofficial “L” attempts just visit all open stations and ignore closed stations as long as closures are not excessive.
Since all records are unofficial, there are no specific proof requirements. Guinness World Records proof requirements are generally used as guidelines but these are agreed to be excessive for an unofficial run, requiring proof such as signatures of strangers as witnesses, photos of every station, and secondary timekeepers. Recent challenge attempts have documents including a log of the route and transfer times, photos of stations when available, and some even GPS record the route on a Strava run.
My Attempt
In my successful attempt on January 9th, 2025, I completed the “L” Challenge in 9:01:03. This placed me at 4th on the unofficial attempt list and the fastest documented time since 2016. During my attempt, Lawrence and Berwyn stations on Red Line were closed due to multi-year maintenance, meaning I visited 144 of the 146 stations. Another factor of this construction was that Bryn Mawr is only accessed from for Southbound Red Line trains, so I had to account for this to make sure doors opened at all stations for my run. This is the second completed “L” challenge which includes Damen green line station (opened in the Summer of 2024). The CTA map at the time of my attempt can be viewed by clicking the line below.
“L” map at the time of my attempt

While I did use a new route that hasn’t been documented before, I have to credit a large portion of my success to luck in that the trains and busses I used were mostly on schedule. Most challengers have a planned schedule based on the CTA’s train schedule but recent reliability trends mean that the attempts quickly deviate from plans, making the planned schedules more of a route reference than any sort of time predictor. I built resiliency into my schedule (mainly based on start time) but I can’t ignore my excellent luck with the 63 bus, green line south terminals, and infrequent 54B bus, all of which I didn’t have other options for. Any of these going wrong would have increased my time greatly.
You can view my time on Danny Resner’s unofficial leaderboard here.
Special thanks to Nik for helping me out on Discord and inspiring me to use the CTA’s GTFS data. This data turned out to be critical to my scheduling. Also, thanks to Nik, Piero, and others who publicly documented recent runs. Previous runs were a very useful a starting point and records to identify common pinch point that make or break attempts.
Verification
- Bluesky live thread.
- Time and station data Google Sheet.
- Strava activity – currently down due to vehicle transit flag.
- GPX file (Strava export) on Google My Maps.
- Ventra pass history screenshot.
- I took around 90 station photos and I’m going to wait to sort and downsize them. For now, start and end photos are below.
Start and End Photos




Route and Timing
Actual
Brown
Washington/Wells – Kimball
5:48:07 – 6:34
Brown (backtrack)
Kimball – Damen
5:37 – 6:45
Metra UP-N
Ravenswood – Davis
6:54 – 7:05
Purple (backtrack to Linden)
Davis – Linden
7:15 – 7:21
Purple
Linden – Howard
7:22 – 7:36
Yellow
Howard – Dempster-Skokie
7:37 – 7:48
Yellow (backtrack)
Dempster-Skokie – Howard
7:56 – 8:07
Red
Howard – 95th/Dan Ryan
8:08 – 9:18
Red (backtrack)
95th/Dan Ryan – 63rd
9:19 – 9:33
63 Bus
State Street – Cottage Grove
9:37 – 9:42
Green Line (East fork)
Cottage Grove – Garfield
9:45 – 9:52
Green Line (West fork)
Garfield – Ashland/63rd
9:57 – 10:08
Green Line (South of loop)
Ashland/63rd – Roosevelt
10:13 – 10:42
Orange Line (South of loop)
Roosevelt – Midway
10:44 – 11:08
54B Bus
Midway – Cicero
11:11 – 11:30
Pink Line (backtrack to Cermak)
Cicero – Cermak/54th
11:36 – 11:39
Pink Line (West of loop)
Cermak/54th – Clinton
11:45 – 12:10
Green Line (West of loop)
Clinton – Harlem/Lake
12:21 – 12:47
318 Pace Bus
Harlem Lake – Forest Park
12:55 – 13:03
Blue Line
Forest Park – O’Hare
13:17 – 14:49:10
Actual Time: 9:01:03
Scheduled
Brown
Washington/Wells – Kimball
5:47 – 6:31
Brown (backtrack)
Kimball – Damen
6:32 – 6:40
Metra UP-N
Ravenswood – Davis
6:45 – 6:58
Purple (backtrack to Linden)
Davis – Linden
7:01 – 7:07
Purple
Linden – Howard
7:14 – 7:28
Yellow
Howard – Dempster-Skokie
7:38 – 7:48
Yellow (backtrack)
Dempster-Skokie – Howard
7:55 – 8:05
Red
Howard – 95th/Dan Ryan
8:10 – 9:13
Red (backtrack)
95th/Dan Ryan – 63rd
9:14 – 9:23
63 Bus
63 Red Line – Cottage Grove
9:29 – 9:33
Green Line (East fork)
Cottage Grove – Garfield
9:47 – 9:52
Green Line (West fork)
Garfield – Ashland/63rd
9:56 – 10:05
Green Line (South of loop)
Ashland/63rd – Roosevelt
10:13 – 10:38
Orange Line (South of loop)
Roosevelt – Midway
10:44 – 11:05
54B Bus
Midway – Cermak
11:07 – 11:30
Pink Line (backtrack to Cermak)
Not scheduled
54B planning error
Pink Line (West of loop)
Cermak/54th – Clinton
11:35 – 11:59
Green Line (West of loop)
Clinton – Harlem/Lake
12:09 – 12:35
318 Pace Bus
Harlem Lake – Forest Park
12:35 – 12:42
Blue Line
Forest Park – O’Hare
12:52 – 14:15