Khoi Vinh’s review published on Letterboxd:
The reason first-time director Sean Wang’s semi-autobiographical “Didi” works as well as it does is the soulful, searching performance from newcomer Izaac Wang. The director is right to anchor almost exclusively on his star, but that comes at a cost to the supporting roles, virtually none of which are afforded the same depth of characterization. This is frustrating, because the younger Wang is able to channel quite a bit of emotional truth for long stretches of the movie's run time. But that dramatic goodwill runs up repeatedly against paper thin characters with seemingly little inner lives of their own. Their only purpose seems to be to set up more moments of self-flagellating awkwardness for the main character.
You can almost chart how the movie runs out of ideas as a forty-five degree decline from the opening scene, which depicts a wild, ecstatic handheld video taken by the titular character that suggests the following hour and a half will be a raucous, unpredictable foray into early 2000s suburban life, downward to the plodding, emotionally pro forma reckoning in the final scenes. Rife with tinkly, manipulative piano music and sappy soliloquies, those closing moments drag themselves over the finish line feeling almost devoid of energy or life.
Saw it on a Friday night at Alamo Drafthouse Brooklyn. They screened it in one of their smaller theaters but it was sold out.
' ].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_83c6dad0-95f4-4404-96e6-b4a63404f367" }; 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-83c6dad0-95f4-4404-96e6-b4a63404f367'; 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-83c6dad0-95f4-4404-96e6-b4a63404f367'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-83c6dad0-95f4-4404-96e6-b4a63404f367'));
' ].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_51a1e427-9d17-46ec-9bd0-d929f2c0d1e1" }; 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-51a1e427-9d17-46ec-9bd0-d929f2c0d1e1'; 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-51a1e427-9d17-46ec-9bd0-d929f2c0d1e1'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-51a1e427-9d17-46ec-9bd0-d929f2c0d1e1'));