Samantha Kingston (Zoey Deutch) wakes up on Valentine’s Day and is taken by her girlfriends Lindsay (Halston Sage), Ally (Cynthy Wu) and Elody (Medalion Rahimi) who make fun because she lost her virginity with her boyfriend Rob (Kian Lawley) the night before. During classes, Sam receives a bouquet of roses with a note. The note suggests that the rose bouquet comes from another boy named Kent (Logan Miller) who later invites her to a party of her. While I’m having lunch, the girls are joking about Juliet (Elena Kampouris), a girl outside their social circle that she thinks is “psychopathic.” Juliet also appeared at the party, though she did not appear to have been invited. Linsay takes Juliet and the two quarrels, and the latter leaves the party in tears. As they return home, their car hits something and overturns. The next day, Sam wakes up again in her room and is Valentine’s Day. Believing that the events of the previous day were just nightmares, Sam continues his day as if nothing had happened, but realizes that these events are repeated and now the end is the same. She wakes up again the same day. Realizing that she is in a time loop, Sam tries to persuade her friends to stop going to the party and sleep instead to avoid the accident. They really manage to avoid the accident, but they find out later that night that Juliet committed suicide.