Ally Urqel arrives at her Central Coast college wearing a promise ring from her high-school boyfriend, Jarrod, who wants "everyone to know she's his." She throws herself into a brutal engineering curriculum alongside a tight, odd-duck study group — Trey, the Russian-accented Ivan, car-obsessed Alonso, ex-surfer Steve, and homebrewer Drew — while Jarrod's control tightens at the same pace: he vets her friendships, edits her wardrobe, and eventually makes her promise not to spend time with the guys in her study group at all.
Trey, Ivan's roommate and Ally's climbing-gym rescuer, refuses to act on his feelings out of loyalty — he won't be a homewrecker — even as everyone around him, including Ivan, tells him he's a fool for waiting. Then, on the eve of his own graduation, Jarrod puts the relationship "on hold" so he can "play the field," promising to "come back and take her as his wife" if she doesn't "burn any bridges." Ally throws the ring.
Trey pulls her out of the spiral (a storm at Pirates Cove, a surprise PSL at anime club), but Ally's first instinct once she's ready to date again is Alonso — charming, attentive, and, she slowly realizes, running the same possessive playbook as Jarrod. She breaks it off ("I am no one's woman") and starts asking, out loud, why she keeps choosing this.
Ally and Trey's friendship deepens into something neither will name until a drunken birthday dinner, where Ally accidentally "proposes" over sushi, and a 21st-birthday kiss in front of Jarrod that Trey later insists wasn't a real kiss at all — and then makes good on that claim. Years later, both building careers, Trey works up the nerve to buy a ring and finally ask — only for Ally to beat him to it again, inviting him into a new home before he can get the question out. He proposes anyway. They end the film exactly where the story always pointed: unremarkable, domestic, and entirely chosen.