My wife has a routine when we watch TV. She sees an actor, guesses their height, and immediately opens Google to see if she was right.
So, just for fun, I decided to build a web app to automate and track actors’ height for shows we watch. Let’s be honest, it’s still probably just as fast to search “Brad Pitt height” on Google, but where’s the fun in that?
OK, so I started with literally this prompt in Claude and wasn’t sure if this was the best approach, but we powered through it and got to a decent result.
I have an idea for a fun project to work on. My wife is watching TV and she always tries to guess the height in the weight of celebrities or actors and actresses on the show that she’s watching.
The final deliverable will be website. We can host it on my web server that’s running PHP and MariaDB for a fun interactive tool that she can use while watching TV...so she can easily look up celebrity height and weight
I did find this tool was interesting. Maybe this is a good place to pull information into a database maybe? https://www.scribd.com/doc/63810855/Weight-Height-Celebrities
But I’m not quite sure that’s even correct. Or possibly the best information that we can find for data is coming from IMDB?
A picture the landing page for this webpage would have an alphabetical list with a search bar on top that could predictive search based on just a few letters that you type in. It would also be ideal to have a celebrity headshot so just to make sure that this is the person that we’re looking for as well as their most popular shows to reference making a list of 3 to 4 shows or movies that they’re known for.
Quick background
I have always been interested in making and building things, whether that means working with my hands or trying to build something digital like a website for example. Over the years, I picked up some experience with HTML, CSS, JavaScript, and PHP. I’ve built a bunch of WordPress websites but I definitely couldn’t build a web app from scratch on my own; at least not without the help of Stack Overflow and 100+ Chrome tabs open with searches like “javascript for mouse hover to pause slick slider” or “how to WordPress show featured image conditionally for a specific category type”.
The Stack
Claude did the the heavy lifting, I wanted a lightweight architecture. No bloated frameworks, no unnecessary dependencies. Here is the actual breakdown of what my BFF Claude and I built:
The app lives in a single vhost directory on a Plesk-managed server. It runs PHP 8.4 behind an Apache web server. Because everything sits together in one directory, an .htaccess file handles the routing and file restrictions.
This is just PHP. No framework like a Laravel or similar. Real simple endpoint scripts sharing a common config.php and auth.php kinda like coding in 1999. Files like search.php, person.php, update.php, and browse.php each handle one job…and function as REST-ish JSON endpoints.
Database
Standard out-of-the-box MariaDB database consists of only two tables: people and titles. To make sure everything is safe from SQL injection, the PHP code accesses the database using PDO (PHP Data Objects) with prepared statements throughout.
Authentication
Security is handled via native PHP sessions (session_start and $_SESSION). Zero OAuth libraries mostly because I don’t know how to implement ’em. It uses a single shared password stored in the configuration file, utilizing hash_equals for constant-time comparison and session_regenerate_id to protect against session refresh.
APIs
To get the data, the backend makes server-side requests via cURL to two places – Claude walked me through the below, I legit didn’t even know these two websites even existed.
- TMDB (The Movie Database) API v3: Authenticated with a v4 Bearer token to pull the actor’s profile, photos, biography, and “known-for” credits.
- Wikidata: Originally we used the basic MediaWiki API, but we upgraded it to the SPARQL query endpoint. It matches the actor’s TMDB ID to pull their exact recorded height.
Progress Report
The current iteration is live and fully functional at howtall.moops.app.
Next steps: Instead of just recreating a boring search tool, I want to play with a few ideas on how to gamify the experience. Since the whole point of this project stemmed from my wife trying to actively guess the heights before looking them up, it only makes sense to build a system that rewards or tracks those guesses, amirite?
Don’t sit on your hands for a Part 2. I’ll get to it eventually.
Stay curious,
Jon