Tracking Local Showtimes
Tracking Local Showtimes

Among the many projects I've yet to blog about in the last few years, I got a TRMNL device for my desk (with an XL on the way). One of the plugins I planned on building was one to display showtimes at my local (and sole remaining) movie theater. I never did build that but, for the last few months, I've had a Github action periodically building JSON files with data from the theater's official website.

Their site is fine, but stock and has some accessibility issues that make it hard for me to quickly parse. And as a Director-tier member, I look at the site a lot. Further, I found that I had to do a lot of clicking around to get all the info I needed to decide on when to see what. So, one afternoon, at the end of a long and productive work week, I channeled what remaining energy I had left into building my own static site to display showtimes.

Thus births The Ohio Marquee.

What began as a new skin on The Lyric's showings data became a wider project encompassing all independent theaters in the state that run on Indy Cinema Group's platform. Because they all share the same underlying API calls, it was easy enough to include them for use by other movie-going Ohioans.

Again, I'm pulling the data and storing it statically, so it's not live. I haven't decided if I want to develop a live branch or not because spoofing the domain feels hinky enough. For now it's utlra-low-bandwith, updated just 4 times a day.

The interface is pretty neat though. In addition to the stats at the top, I'm showing some additional data that most theaters are not displaying. Namely, seat availability.

For a given movie, I display the total number of seats as well as the number of remaining seats. This is helpful for folks that are usually content to just wait until they get to the theater only to find their showing is sold out. It's also nice for those who might prefer to go during a low-traffic period. That's me during Oscar season or anytime theres a new Joachim Trier flick on offer. 🥲

The Now Showing section shows everything for the current week while Coming Soon shows all showings in the future (whether the movie is playing now or not). This makes it easy to make immediate plans, which was the point.

Ticket links open up directly on the theater's website.

Other fun bits include Letterboxd and TMDb links as well as some additional details that are accessed by flipping the movie posters over.

Showings can be sorted by time, title, or—if you decide to view all showings from all theaters—by theater as well. All sort options are reversible too. Additional options include showing films that are set to play at a theater, but do not yet have any announced showtimes. Additional showing information like theater number or seat types are toggleable as well.

After showing this to some movie-going friends, who in turn shared it with their other movie-going friends in other cities, I added the ability to share links with parameters that will match their loaded view to yours—filters and all.

https://movies.tender.wtf/?theater=the-lyric&sort=time&dir=asc&unscheduled=0&info=1

There's also local storage so it'll save your preferences in your browser.

And that's basically it. It was a fun afternoon of vibe coding and battling the machine to make things look and function how I liked. Obvious areas of improvement are live data and additional theater support, but I don't see it happening. This serves my purpose and if it helps someone else out, great.