Theater curation: screening a festival program 484 pages thick
🎭 Off Avignon, where theater blossoms and the completionist spirits come to die; The infinite website scroll and a single JSON file; how this experiment got much easier in the last 12 months
The Off Avignon festival is a feast of performing arts. Classical theater, improv, stand ups, dance shows, musicals, comedy, tragedy, lights and smoke and powder paint; whatever genre you can think of is probably playing in the ancient French town of Avignon this July.
There are well over a 1000 different shows playing every day. The printed program has 484 densely printed pages:
Wouldn’t it be nice to have an LLM read the program for us, screening for our preferences and recommending the shows that seem interesting? (We already did a similar experiment last year and it required a bit of a dance, let’s see if things got any easier in the last 12 months.)
The infinite scroll
For this year, the festival overhauled their website. I like the neat look of the digital program:
Unfortunately, the site displays the shows in an infinite scroll, with additional shows loading in chunks of 50. You need to scroll a lot (and wait many many times for the next chunk to load) to get to the bottom. Oh, and there is no way to save your position in the scroll – so if you ever lose the tab, you need to start over 🙃.
The data file
Fortunately, the API that the website uses to load the shows is quite clear, so I wrote a little program to download the show descriptions and assembled them in one neat JSON file:
With data in hand, we can now use an LLM to screen it.
Theater screening
When I was doing a similar experiment last year, I had to make an individual GPT call to screen every show individually, and then assemble the results. This was because the context windows (the maximum amount of data we can send to the model) of popular LLM-based tools were much too small to fit a file describing a 1000 shows in one go.
This part is much easier this year, as the context windows got bigger. Indeed, screening the file now works out of the box in the free (!) version of ChatGPT, no API calls required.
We just attach the file directly in the chat and describe our query (including theater preferences) in plain text:
And yes it works!
ChatGPT even includes the links associated with each show in the JSON file when generating the response:
Less work for me, more time to go see those shows :).
Conclusion
As of 2024, getting an LLM help in reviewing a big festival program is pretty easy: the only part that required some work was assembling the program in a single text file.
Of course, this experiment so far is just a demo of handling this use case by an LLM-based chatbot assistance. We did not actually evaluate the quality of the response. How to do this is an interesting question in and of itself → let’s take a deeper look in a future post 💫.
More on this
🔧 I published the JSON file with the program here
🫶 Scotland! by The Latebloomers was one of my favorites this year. A three-man, non-verbal, physical comedy about the 'spirit of Scotland!'
(🎭 The UK-Swedish-Australian trio ^ met in Paris at the famous clown-arts theater school of Jacques Lecoq. Small world!)
Postcard from Avignon
Off Avignon was a lot of fun !
And then my return train got delayed so bad we only made it back to Paris at 3h30 in the morning. It was a complicated day for the French railways in the South, with the entire branch of the network blocked for 6 hours. Kudos to the employees of SNCF who stayed up and managed to get the trains caught in this to their destinations.
Here’s to the artists and the railway workers 💫,
– Przemek
That's one thing about ChatGPT - it feels no intimidation or fear
as probably a human would.
Various applications and adaptations coming right up - like the Melbourne International Film Festival
and Comedy Festivals around the world.
Also I am remembering a Sydney Festival which had been happening the better part of 50 years.