Based on the real-life murder of gay porn producer/director Bryan Kocis
Joe (James Franco) and Harlow (Keegan Allen) decide that, since Stephen (Christian Slater) won't relent on giving up the legal rights to Sean's (Garrett Clayton's) "Brent Corrigan" porn name, he deserves to die. Harlow shows up at Stephen's place, pretending to audition for a role and seduces him, so he can drop his guard. When Stephen even admits that "so what if I like to screw young boys", Harlow, overcome by rage and the self-loathe of his sexual abuse memories, pulls a knife and savagely stabs Stephen in the neck multiple times. Joe comes in and sets the house on fire, to cover up the incident.
It makes the news and an investigation starts. Sean comes forward to the police, to clarify that, even though he had been involved with Stephen, he had nothing to do with his murder and agrees to wear a bug to try and coerce a confession from Joe and Harlow. He successfully does while cavorting with the guys in the hot tub and "discussing the movie they'd make together" (the bug was hidden in his key holder, on his clothes by the hot tub). Shortly after, the two guys are arrested when they seemingly try to flee town. Sean also reconciles and makes amends with his mother Janette (Alicia Silverstone).
In the end, Sean became a producer and director of his own gay pornographic films and is shown enthusiastically working on one of them.