My 8-year-old whispered to me in the bathroom at her dance recital: “Mommy, I’m not allowed to eat until the video gets a million views.” Then she pulled down her collar and showed me the bruise. “Tonight’s the big one,” she said. “Mackenzie says I have to stay underwater until she says stop.”

My daughter, Rylee, lives with me during the week and with her dad, Travis, every other weekend.

Two years ago, Travis married Brittany.

Brittany is twenty-nine, very pretty, and very online. She runs a family account called @BrittMomsBest.

2.1 million followers.

Matching outfits. Morning routines. “Day in the life of a bonus mom.”

I didn’t follow it. I didn’t want to.

Then, last month, a coworker showed me her phone at lunch.

“Isn’t this your daughter?”

It was Rylee.

Sitting in a bathtub full of ice cubes, crying, while a voice off-camera laughed and said, “Ten more seconds, baby! Do it for the followers!”

The caption said: My daughter is SO brave

My daughter.

Brittany had never once called Rylee her daughter in person.

I called Travis.

“It’s just content,” he said. “Kids love it. You’re just jealous because Britt’s a better mom on camera than you are in real life.”

Then he hung up.

I scrolled through the account that night until 3 a.m.

Rylee eating a ghost pepper. Rylee “surprised” by a fake spider. Rylee crying because Brittany told her the dog had died, then laughing, “Just kidding! Prank!”

Eleven million views.

The comments were full of hearts.

The next Saturday was Rylee’s spring dance recital. Travis had her for the weekend, but he’d agreed to bring her.

I got there early with flowers.

Brittany walked in with a ring light, a phone on a gimbal, and her own matching pink dress.

She didn’t say hello. She looked at my sneakers and laughed.

“Cute. Did you come from work?”

Then she filmed herself fixing Rylee’s bun backstage.

“Bonus mom duty! Somebody has to make her look presentable.”

Travis stood behind her holding a tripod.

Before the show, Rylee asked to go to the bathroom.

She grabbed my hand and pulled me with her.

As soon as the door closed, she started crying.

“Mommy, I’m so hungry.”

“Baby, didn’t you eat breakfast?”

She shook her head.

“I’m not allowed to eat until the video gets a million views. That’s the rule. Brittany says I’m getting too chubby for the camera.”

I knelt down in front of her.

My hands were shaking.

Then Rylee pulled down the collar of her costume.

There was a bruise on her shoulder. Dark purple. Four fingers wide.

“She holds me there,” Rylee whispered. “So I don’t come up too fast.”

“Come up from where, baby?”

“The bathtub. With the ice.”

I couldn’t breathe.

“Tonight’s the big one,” she said. “We’re doing it live. She says lots of people are going to watch. She says I have to stay underwater until she says stop. Even if it burns.”

She looked at me with huge wet eyes.

“Last time I swallowed water and threw up. She said that’s what makes it go viral.”

I held my daughter so tight her sequins scratched my cheek.

I could have walked out to the audience and screamed.

I didn’t.

I wiped her face and fixed her bun.

“Okay,” I said softly. “You’re going to dance your beautiful dance. And Mommy’s going to take care of tonight.”

She danced.

I filmed every second of it on my own phone, sitting in the front row and smiling.

After the show, Brittany swept into the lobby with her ring light.

“Say bye to Mom, Rylee! We’ve got a big night!”

Rylee looked at me.

I gave her the smallest nod.

I let them leave.

Then I sat in my car and opened the email address in the account’s bio.

Business inquiries: Kayla.

I typed one line.

Do you know what happens to my daughter after you stop recording?

She answered in four minutes.

At 8:58 p.m., my phone buzzed with a notification.

Can she beat 60 seconds??”

I opened it.

52,000 people were watching.

Rylee was kneeling next to a bathtub full of ice water in her swimsuit, shivering, with Brittany’s hand on her shoulder.

Right on the bruise.

“Ready, superstar?” Brittany said into the camera.

And then someone else walked into the frame.

It was Kayla.

PART 2

The Live Stream Brittany Couldn’t End

Brittany’s little sister. Twenty-four. The one who held the camera, edited every video, and answered the business emails.

She walked straight into the shot in a hoodie and pulled Rylee away from the tub.

“No,” she said. “Not tonight. Not ever again.”

Brittany laughed for the camera.

“Oh my gosh, guys, my sister’s here! Kayla, you’re crashing the live!”

“I know,” Kayla said.

Then she turned and looked directly into the phone.

“My name is Kayla Reeves. I’m Brittany’s sister. I edit every video on this account. This is Rylee. She is eight years old. She is not Brittany’s daughter.”

52,000 people were watching. The comments froze.

“Rylee,” Kayla said gently, “please show everyone your shoulder.”

Rylee looked at Brittany.

Brittany’s smile cracked.

“Okay, that’s enough, we’re ending the live…”

But Kayla was already holding the phone.

Rylee pulled down her swimsuit strap.

The bruise filled the screen.

“This is what happens off camera,” Kayla said, her voice shaking. “She has not eaten since yesterday afternoon. She has been held underwater for ‘challenges’ at least four times. I cut the worst parts out so nobody would see. I’m done cutting.”

Travis ran out the back door in his socks.

“Kayla! What are you doing?”

“What you should have done, Travis,” she said. “She’s your daughter.”

The comments exploded.

CALL THE POLICE.

Somebody is calling 911 right now.

I’m in Plano. I’m calling.

Within ten minutes, two patrol cars pulled into Travis’s driveway. Three different viewers had reported it. Then twelve. Then a hundred.

I was already parked down the street.

I ran inside behind the officers. Rylee saw me and launched herself into my arms, still dripping wet.

“Did I do good, Mommy?”

“You did perfect, baby.”

The police took the phone, the tripod, and the ring light.

Then they asked to see the account’s drafts folder.

Brittany refused.

They got a warrant.

Inside were forty-one unposted videos. Rylee crying. Rylee gagging. Rylee being dunked. Rylee being told her mom didn’t love her anymore.

And a spreadsheet.

A brand deal list. A swimwear company had offered $18,000 if the “breath hold challenge” passed one million views.

That was why Rylee wasn’t allowed to eat. Hungry kids cry more. Crying kids get more views.

Brittany was charged with child abuse and child endangerment. Texas Child Protective Services opened an investigation into Travis.

The swimwear company publicly canceled the deal and donated $18,000 to a children’s advocacy center instead.

@BrittMomsBest was taken down in two days.

The judge gave me full custody. Travis gets supervised visits on Sunday afternoons at a family center.

Kayla testified for me. Every video. Every draft. Every rule.

I asked her once why she didn’t say anything sooner.

“Because it paid my rent,” she said. “And because every time I edited out the crying, I told myself it wasn’t that bad. Then your email came in. One sentence. And I couldn’t lie to myself anymore.”

She shook her head.

“I’ll never forgive myself for how long it took.”

“You spoke up when it mattered,” I said.

Rylee still loves to swim.

But now there are only two rules in our house.

Nobody holds anyone under.

And nobody films anything.

Last week at swim lessons she did a cannonball, came up laughing, and yelled, “Mom! Did you see?”

We saw.

Nobody else needed to.