TIFF 2026: Our Review of ‘Ah Girl’

Posted in Festival Coverage, Movies, TIFF 2026 by - September 19, 2026
TIFF 2026: Our Review of ‘Ah Girl’

I did research on Ah Girl‘s director Ang Geck Geck, apparently she had a job while making this. Directors are superheroes, putting heart and passion in films like this, in this case, something based on her life. The titular character (Xuan Jing Ong) and her sister Ah Tian (Sydney Wong) seem like well fed children. But most of the film reminds me of an adage about children’s lack of power, temporarily under iron fists. Sometimes, they come over to their Mummy’s (Carrie Wong) apartment, who basically feeds them cheese sticks as impromptu meals. But these Singaporean children growing up in the 1990s live with their father Kwee (James Seah), a gambling philanderer.

Ah Girl endures moments with her family, like her grandmother Ah Kiew (Doreen Toh) forcing haircuts on her. The film itself can make viewers ask questions, like Kwee and Mummy are bad but how did he manage to get custody? Living with a single father in the 1990s happens, but it feels so specific, reinforcing viewers’ suspension of disbelief. The scenes with Mummy are equally enlightening in that sometimes she’s alone, sometimes she has boyfriends. And those moments where Mummy feels distress while resenting a kid who turns her boyfriends away feel so real. That realism also exists in films with Kwee, reminding me of how both children and adults see their parents. There are moments where Kwee feels bad about temporarily losing Ah Tian or seeing Ah Girl hurt, humanizing him.

This post was written by
While Paolo Kagaoan is not taking long walks in shrubbed areas, he occasionally watches movies and write about them. His credentials are as follows: he has a double major in English and Art History. This means that, for example, he will gush at the art direction in the Amityville house and will want to live there, which is a terrible idea because that house has ghosts. Follow him @paolokagaoan on Instagram but not while you're working.
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-61364310-1', 'auto'); ga('send', 'pageview');