Portland Streetcar

We are overjoyed to announce the launch of Portland Streetcar’s new website, just ahead of its 15th birthday. 🎂

This was—by a great margin—our most ambitious project to date. A combination of a deep, diverse body of content and data, combined with some unique accessibility and management requirements, made this a truly rewarding and challenging project.

Our partner, Spoke, handled the visual design. We had regular meetings to evaluate designs and hammer out some key user experiences. We contributed foundational thinking around how the arrival times and timetable interfaces should work, as well as how to engineer longevity and flexibility into the design.

The site runs on Craft CMS, which offers robust content management features and friendly templating and extension APIs. We relied heavily on its plugin architecture to build out a number of custom features.

We built integrations for TriMet’s Arrivals and Nearby APIs, as well as a clever system to import CSV timetables into attractive, navigable charts— and everywhere a stop is referenced, we’re able to pull in active service alerts, so riders know right away how their commute could be affected. 🚃

Stay tuned for a deeper look at our implementations.

Although not the most technically challenging aspect, we’re especially proud of how we leveraged Craft’s matrix field to standardize the content management experience for administrators. Most pages on the site are built on the same, versatile template, but made unique by a wealth of customization options. While reviewing designs with Spoke, we were able to distill a variety of layouts into a handful of flexible modules.

Despite the complexity and depth of the site, we were able to keep pages light and fast. A single Linode VPS running PHP7 and MariaDB serves about a thousand unique visitors per day, with an average response time of just 400 milliseconds, even with 57% of traffic coming from mobile devices.