NOTE: This spoiler was submitted by Jeremy

The film starts with Ashley Ratcliff (Storm Reid) calling her detective uncle Jack (David Oyelowo) to pick her up from the movies since her father forgot and her mother is too busy. Jack gets her and takes her to a diner for a meal. They discuss Ashley’s father/Jack’s brother Garret (Brian Tyree Henry), an aspiring musician/drug dealer whom both of them see as a screw-up. Jack promises to set Garret straight.

The next day at work, Jack gets a phone call from Ashley, who says that Garret appears to be trying to do better after Jack apparently reamed him for neglecting his daughter. Hours later, Jack gets what sounds like a frantic call from Ashley. He rushes to her house and finds Garret dead, along with his wife Susan (Shinelle Azoroh) lying on the floor in her own blood. Their dog Wilco is dead too. Jack then tensely walks up to the bathroom, and to his horror, he finds Ashley dead in the shower. The case is ruled a murder-suicide, and Jack feels responsible for what he told Garret. Jack is supported by his partner Bobby (Mykelti Williamson)

Two weeks later, Jack is still shaken from the scene. He then receives a strange phone call coming from Ashley’s phone. He checks the evidence room for her phone and finds it there, meaning it can’t be some kind of prank. He takes the phone and goes back to Garret’s house where he starts speaking to what sounds like Ashley’s voice. Jack is in utter disbelief.

Bobby visits Jack to let him know that Internal Affairs is considering Jack as a suspect in his family’s deaths. He is interviewed by IA agent Roger Lee (Byron Mann), who presses Jack with questions on what motivation he could have had to get rid of his family, like perhaps he was attracted to Susan and wanted Garret out of the way.

Jack gets another call from Ashley. She starts repeating the same conversation she had with him right before she died (mentioning how Jack gave Garret an “ear-full” and ordering a garlic chicken dish Jack always recommended). As he walks around her house again, Jack asks Ashley to walk to the shed outside and tell him what she sees. She mentions a spray paint can and he tells her to paint a big red X on the shed’s doors. Moments later, Jack closes the doors outside and sees the big X, to his surprise. Jack soon realizes that Ashley is calling him from two weeks in the past, days before her murder. He then hears Ashley saying she sees her father talking to someone that pulled up in a white car. Jack tells Ashley to try and make out the license plate, but she can’t.

At work, Jack starts to obsessively go over the case files and crime scene photos to try and find some kind of clue as to how to prevent his family’s deaths. This brings the attention of his boss, Howard (Alfred Molina), who is growing concerned with Jack’s behavior and suggests that he try to move on. Meanwhile in the past, Ashley tries to look into what her father is involved with per Jack’s requests. She gets him the name “Georgie”. Jack brings it up to Howard, who says that “Georgie” is a mysterious crime figure that has evaded capture for a long time. It is believed that Garret had drug dealings with Georgie that went bad, which led to the murders. Jack continues to investigate and realizes the murders were staged.

Ashley calls Jack again and says she found Garret’s day planner with Georgie’s address. She tells him that she and Wilco are walking toward Jack’s house, but Jack urges her to turn around due to Past-Jack not having any idea what is going on. When Jack gets back to his house, some gangsters drive by and shoot at him. He is shot in the side, but is otherwise fine. Jack takes himself to the police station and goes back into the evidence storage room with Bobby, who tries to send him to the hospital. Jack gets called by Ashley again, but he continues to dodge the truth to her and only tells her to call the cops and tell them to arrest Garret because someone is coming to kill him. He also mentions drugs that were found under the bed from the crime scene. Jack gives her Bobby’s number to let him know that she needs help just as he passes out from blood loss. Medics show up to revive him.

Ashley goes to Jack’s house and asks him questions that he has no idea about. She becomes angered due to her belief that Jack is messing with her and keeping something from her. She tells him to leave her alone. When she returns home, she sees Garret playing the guitar while Susan watches. Ashley tries talking to her parents. It later leads to her and her family’s murders again, only it happens a day earlier than it originally happened, and Ashley is found dead in her bedroom as she tried but failed to escape from there. This erases the current timeline that Jack was in.

Jack remembers what has happened and he and Bobby arm themselves as he thinks Georgie’s thugs are going to come after him again. In the past, Ashley (still alive) rides her bike to the warehouse where Garret is meeting with Georgie. She is spotted and then flees on her bike while being followed by a man. As she crosses the barrens, her backpack falls and gets wet, which is something Jack recognizes from a crime scene photo in which Ashley’s bag was found wet. Ashley manages to evade the thug and she calls Jack, who is attacked and shot at again. He tells her to go to a diner, which he also goes to and sits in the same booth she is in. He tests her by having her chew gum and stick it under the table, which he then pulls off and describes to her. He tells her that they are communicating two weeks apart from each other, and he tells her that she and her family will be murdered if they don’t stop her father’s involvement with Georgie.

Jack goes back to the police station to look inside the evidence room. Howard and Bobby confront him as he tries looking for Ashley’s backpack. After he tells them some information he learned from Ashley, Bobby chimes in that Roger Lee’s license number matches the one that Ashley gave Jack, meaning that Lee might be Georgie. Howard then states that “Georgie” isn’t one person, but a whole group of dirty cops involved in major criminal activities.

The three drive off outside of town to continue an investigation. Just when it appears that Howard might be involved with Georgie, Bobby shoots him dead and reveals himself as the one who killed Garret, Susan, and Ashley. In the past, Bobby becomes aware that Ashley has been snooping around, and he goes to take care of her and her family. Present-Bobby is getting ready to kill Jack as he is trying to get in touch with Ashley. Garret tries reasoning with Bobby, as it becomes clear that the two were involved in the drug trade, but Bobby shoots him in the face before killing Wilco and then going after Susan and Ashley. He kills Susan, but Ashley makes it out of the house after smashing her bedroom window since Jack told her she couldn’t get it open. She runs to Jack’s house for protection, and Bobby follows her. Ashley gets Jack’s attention and he sees what Bobby is up to. Before Bobby can kill Jack in the present, Jack shoots him dead in the past. The bad timeline is erased. Jack comforts a crying Ashley.

Brought to you by

Jack Ratcliff's brother Garret and his wife Susan and daughter Ashley are all killed in what appears to be a murder-suicide. However, Jack gets a call from Ashley from two weeks in the past just before her death. Jack does what he can to prevent her death by finding out who really killed her and her family, but he hides the truth from her.

From Ashley's own investigation into her father's dealings, she gets the name "Georgie", whom Jack's boss Howard says is a mysterious crime figure that has evaded capture for a long time. When Ashley starts questioning things and Jack can't answer her, she stops talking to him, and her death happens a day earlier than before.

In the new timeline, Ashley escapes one of Georgie's thugs after she discovers their meeting place. She and Jack soon learn that Jack's partner Bobby was the true killer involved with Georgie, which is really an entire organization of dirty cops. Bobby kills Howard in the present timeline while his past self goes to kill Ashley and her family. He kills her parents, but she escapes and runs to Jack's house. Just before Bobby kills Jack in the present, Jack kills him in the past, which erases the bad timeline and prevents Ashley's death. Now that she is orphaned, Jack is most likely going to look after Ashley.