For some time it seemed that the darker and more downbeat a young adult film could be, the more ‘serious’ and ‘real’ it believed itself to be. Stargirl often feels like a deliberate reversal of that trend. Co-writer/Director Julia Hart’s adaptation of Jerry Spinelli’s novel is frothy and bright almost from start to finish, but that doesn’t keep it from hitting on some moments of genuine emotion.

Leo (Graham Verchere) moved to Mica, Arizona with his mother (Darby Stanchfield) not long after his father’s death. Wanting to not stand out, Leo blends into the background at high school, until the day Stargirl (Grace VanderWaal) arrives. Stargirl is colourful and quirky, and seems to have an immediate effect on the school, starting with their football team winning their first game ever after she steps up and sings at half time. She also takes an interest in Leo, and the two become a couple.

The weakest aspects of Stargirl come, I suspect, from the source. As written, Stargirl is definitely something of a manic pixie dream girl, whether she’s actually magic or not—something the film plays rather coy about—her main function in the plot is to facilitate Leo’s coming of age. It would be good to see her with a little more independent agency, and if it weren’t obvious that when she changes it’s to allow Leo to learn something. That said, the character works because of Grace VanderWaal’s performance.

A singer who came to prominence aged 12 through America’s Got Talent, this is her first acting role and she carries it off very well. The quirkier side of Stargirl: carrying her ukulele in her backpack, singing at any given occasion, doing little good deeds like feeding the meters as she walks along the road and another that gets her in trouble with her fellow students, comes more naturally to VanderWaal. This works well, because the more forced and acted feeling of scenes in which she reverts to her real name and sheds her bright clothes and attitude feels natural for the character. She’s no Elle Fanning, but her natural charm shines through, allowing us to buy into the way Stargirl affects the people around her.

Graham Verchere is well cast as the nervous wallflower brought out by this sudden new influence in his life, and he’s effective opposite both VanderWaal and Karan Brar, as Leo’s best friend. The dynamic works well in both pairings. With Brar, a few moments about that distance when one friend is in a new, and especially a first, relationship ring especially true, and the chemistry with VanderWaal works well.

Julia Hart paints with a broad brush when it comes to the effect Stargirl has on her environment, playing up the magical angle. Mica high school is initially a drab place, the colourful new arrival standing out against students dressed in greys and browns, but once the students accept Stargirl, the palette changes and everyone is dressing in brighter and bolder colours. The world itself seems more welcoming. The reverse is true in just as sudden and extreme a fashion later in the film, but felt even more because the drabness eventually envelops Stargirl as well. There is a nice touch in that we often speak of people bringing sunshine into the world to express a positive influence, but Stargirl is equated with rain, and Leo’s explanation of why that’s a wonderful thing is particularly well written and delivered. Music is also used notably well, with a cheerleader singalong of The Go Gos’ We Got The Beat particularly fun. However, the musical and emotional heart of the film lies in Big Star’s Thirteen and The Cars’ Just What I Needed. One connects Leo and Stargirl, another Leo and his father, and both are used beautifully to bring out the emotion of those connections.

Stargirl isn’t perfect, but the niggles about it arise later; it’s hard not to be caught up in it in the moment.

Stargirl is available now on Disney Plus Uk