dan’s review published on Letterboxd:
This review may contain spoilers.
At no point do I think that 'Beetlejuice Beetlejuice' is a bad film, just it felt like it didn't know what it wanted to be there are so many different plots going on accumulating with super fast conclusions that none of them felt satisfying. When your family comes out the screening and was disappointed and they are not really huge cinema fans I think Tim Burton and his writing staff could have done better with this sequel.
I was actually quite excited for the start of this film, the flying shots of the town with the actors and actresses names popping up was a real throwback to 80's and 90's movies and was a really nice touch. I didn't even know that Willem Dafoe was actually in this so it was a really nice surprise seeing his name pop up.
I really enjoyed the parody of ghost shows that Lydia was presenting to start with and was quite surprised to see Beetleguese pop up that early in the film. Although this is where the problems started for me, why was she seeing him so early on even before his wife had broken out? She clearly has not seen him before this considering her reaction to seeing him. I know he is obsessed with her but why has she never seen him until now?
We then meet some more characters Rory, who was one of the more interesting characters in this movie as he has a clear manipulative side to him but no one can see that seemingly. And Astrid Deetz which Jenna Ortega plays in her normal bland but charming way.
The two standout actors in this film has to be Willem Dafoe who seemed like he had a lot of fun in this film and of course Michael Keaton, although it felt like he got limited screentime.
The band returns to Winter River after finding out that Charles had died, although after researching it was understandable why he was not asked back.
This is where we are introduced to the first strange sub-plot of the film with Betelgeuse's wife who seemingly has the power all of a sudden to break out and can piece herself back together. This has got me asking more questions, why hasn't she done that sooner, does that store room not get cleaned often? And even though she seemed to keep powering up even killing Bob on the way she seemed to put up no fight at all against the sandworm, literally no point in her character at all.
On top of that two more subplots are then woven into the story with Astrid meeting Jeremy and her finding her dad. These two plots get resolved so quickly with Jeremy being killed off so easily and her dad popping up and leaving in about 5 minutes, honestly pointless.
It feels like Burton wanted to create more iconic moments using the soundtrack but they fell pretty flat, the Soul Train sequence was fun in the moment but not rememberable and the church scene was just the same.
Overall, while 'Beetlejuice Beetlejuice' is a fun movie there was just huge potential but it was just rushed. Maybe if the movie could of stayed in one direction than straying off in so many different paths it wouldn't be so meh. There could have been still so much of the afterlife that could have been explored.
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_5adc03b9-d9a4-46ef-9562-387f04b82a8c" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-5adc03b9-d9a4-46ef-9562-387f04b82a8c'; adUnit.className = 'pw-div -tile300x250 -alignleft -bottommargin'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'med_rect_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-5adc03b9-d9a4-46ef-9562-387f04b82a8c'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-5adc03b9-d9a4-46ef-9562-387f04b82a8c'));
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_5ef7db09-ec37-4aa5-8a38-b4355b6ebc97" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-5ef7db09-ec37-4aa5-8a38-b4355b6ebc97'; adUnit.className = 'pw-div'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'sky_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-5ef7db09-ec37-4aa5-8a38-b4355b6ebc97'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-5ef7db09-ec37-4aa5-8a38-b4355b6ebc97'));