![A screenshot of the BART homepage at desktop sizes.](/sites/default/files/styles/large/public/2024-01/BART_homepage_01.png?itok=9lxq2Tpn)
![A screenshot of the BART homepage at mobile size.](/sites/default/files/styles/large/public/2024-01/BART_homepage_02.png?itok=Toyh4GqY)
![A screenshot of one of the BART station pages, demonstrating live updates of station and train statuses.](/sites/default/files/styles/large/public/2024-01/BART_balboa_station_01.png?itok=flEUPxZu)
![A screenshot of the BART "Real Time Departures" page, demonstrating updating and filterable information.](/sites/default/files/styles/large/public/2024-01/BART_rtd_01.png?itok=8KNFWk3r)
If you've visited San Francisco, you have probably made use of the Bay Area Rapid Transit, or BART, system. Spanning the entire bay area, it connects almost every community and provides fast, cheap, and, hopefully, clean transportation for all residents and visitors. Like the system itself, the BART website is versatile, friendly, and useful, providing not just blog posts and general information, but real-time transportation information, parking and access instructions for every station, and alerts and warnings for the entire structure. At Chapter Three I was part of the small team that was tasked with completely rebuilding this site from an older Drupal 7 site to a fresh and shiny Drupal 9.
While my focus was mostly on the frontend, this did not prevent me from digging in to making API call to BART's internal service and completely revamping how their real-time system not only received, but delivered its information. Alongside the standard, but tedious, requirements of a rebuild to maintain menu structures, layouts, and design decisions, we also sought to make the new site much more efficient and much more logical for the next developers who were tasked with updating or changing the site. I've been able to make good on that promise by being continually pulled back for more updates, patches, and change requests, and have always been pleased with what I left. If you go to the site to estimate a time to arrival or to get directions from one address to another, or if you see a big warning flashing across the top of the screen about a delayed train, that's almost definitely something I implemented.