Software Engineering in WordPress, PHP, and Backend Development

Tag: Where Can I Watch

Keep Looking For Titles on Where Can I Watch? It’s Updated.

A month ago, I launched and shared Where Can I Watch?

The original version of Where Can I Watch?

When I first shared this online, I described both its impetus and purpose like this:

A few months ago, one of my kids was asking where should could watch a specific show.

Coincidentally, I was also looking for a small project to work on on the side so I took her question, where can I watch whatever-the-show-is, and turned it into a simple app.

If you read the initial post, you know I described it as:

A mobile application that makes it easy to find where to watch a show or movie.

The thing is, it’s not a mobile application. Instead, it’s a web app that runs in the browser so it’s available on as many devices as platforms as possible. But over the past few weeks, I’ve been working on seeing how feasible it would be to begin converting it to an actual mobile application.

Before moving full into the Apple economy, purchasing the developer license (of which I’m still unsure is something I want to do), and trying to port the web app into an iOS app, I’ve been refining the web app to follow standards that more closely align with mobile user interface and user experience patterns.

So, four weeks later, I’ve another version of Where Can I Watch that’s available here.


Where Can I Watch: New Features, Improvements, and Reductions

At first glance, it’s obvious the UI has been overhauled:

The current version of Where Can I Watch?

If you’re interested in using the app to find where you can watch any given show or movie, then go ahead and visit the site. If you’re interested in more of the technical details of this version, read on.

But there’s been a lot of stuff I’ve done on both the frontend and the backend of the app to both add features, improve performance, and bring greater parity to what we’re used to seeing within actual mobile apps.

New Features

The most significant change is a complete visual and interactive overhaul to match native iOS patterns. This includes everything from the typography and color standards, as well as the grid system. I’ve also added the spring physics animations we’re used to seeing in our mobile apps.

The dark mode and light mode toggles have been removed in favor of the full dark mode. This is something that could eventually be restored especially when the mobile app is done (if it’s ever done), but I’m partial to this aesthetic so I’ve stuck with it.

Each show and movie also includes a link to the IMDB page for the title in case you’re interested in a synopsis, run time, trailer, and all of the other stuff that is outside the scope of the app.

Finally, I separated out the services where a title can be streamed versus where it can be bought or rented.

Improved Performance

The search functionality was overhauled (which was triggered when I saw how long it took to load a franchise – for example, searching for superman or batman brings back a high number of titles which was taking far longer than it should). The new implementation handles searching in a way that’s more performant and that’s easier to making API requests to conserve data when doing so over a cellular connection.

Where possible, I implemented GPU acceleration animations for better performance and reduced motion affects for accessibility. Further, I tried to add aria labels across components to play well with accessibility.

Finally, I introduced a caching mechanism using Redis on Vercel so that if someone searches a title and then another person searches the same title within a reasonable time window, those results can be pulled from the cache without having to initiate yet-another-API-call.

For those interested, the changes to the API ultimately resulted in the following:

  • Before: Individual API calls per result (100+ requests for large searches)
  • After: Batched requests with chunking (2-3 requests maximum)
  • Impact: 95% reduction in API calls, dramatically faster loading

What Was Removed

In addition to removing light mode, I also stripped out all of the emojis as I’m not a big a fan of them. Further, they aren’t part of typical mobile app design language nor are they part of the iOS human interface guidelines.

For those that caught an intermediary version of the app from last month, I’d introduced a feature where if a title wasn’t playing in the United States or wasn’t available for streaming, I’d add it to a ‘Not Streaming’ tab; however, this tab negatively impacted the UI so I’ve hidden that functionality for now.

Further, adding international support for titles is also something that I’d eventually like to incorporate. First, though, I’d like to get a stronger foundation of the service completed.

Conclusion

Though the app is still built using Next.js and running on Vercel, I’m currently working on trying to build a shared backend and create one front-end for the web that maintains what’s available today and another front-end using React Native that will allow for an iOS version of the app.

As I’ve done with the last two posts, I’ll continue to document the progress.

That said, I appreciate the notes for those who’ve used this incredibly simple app so far. It’s always fun to hear that it’s something useful for someone else. And for as basic as it is, it’s been a lot of fun and to put it together and to stretch into areas that I don’t normally work

Easily Find Where Your Shows and Movies Are Streaming With Where Can I Watch?

For I don’t know how long, I’ve used Television Time to track the shows I watch (or have watched) because it’s easy. It’s one of those apps that’s helpful but also aims to primarily do one thing and do it well (something I was also writing about 12 years ago).

Obviously, I’m a fan of those types of projects.

A few months ago, one of my kids was asking where should could watch a specific show. A fair question given the amount of streaming services available and since shows and movies are available on one, a couple, some, or all, and are available for rent and/or purchase depending on one, some, or all of those services.

Coincidentally, I was also looking for a small project to work on on the side so I took her question, where can I watch whatever-the-show-is, and started working on an iOS app using React Native. And while I was working on it, I thought I’d go ahead and make sure it’d work on Android, too.

But that was a false start.


Where Can I Watch?

Suffice it to say, the cost of an Apple Developer License and the need to have as much parity as possible between iOS and Android especially when you’re trying to maintain the same design language as well as the various dependencies required to get the emulators set up locally quickly exceeded what I consider to be territory for a side project. Given all of that, I went back to the most ubiquitous platform we have: The web.

Even still, the goal of Where Can I Watch? was simple:

A mobile application that makes it easy to find where to watch a show or movie.

And I started working on the project again. And now here’s Where Can I Watch? It’s a simple app that returns results for exactly where you can watch a given show or movie:

And that’s it: Nothing to download, no accounts, no social aspects, no links, nothing else. Enter a title you want to watch and then see where you can find it.

You can add this bookmark to your browser or to the home screen of your iPhone, iPad, or Android, obviously.

Finally, this is one of those projects that lends itself to constant tinkering so, as time and desire allow, I’ll make changes. As I do, I’ll talk about them here and potentially add a small page on the site that tracks what was rolled out and when.

Tech Stack

And for those of you who are interested, here’s a high-level explanation for what was used to build this:

You can view all of the source code for the project on GitHub. There’s a single doc that outlines some of the technical details of the project, too.

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑