The Good and Not So Good From Day 15 of 49ers Training Camp
![Jul 26, 2024; Santa Clara, CA, USA; San Francisco 49ers wide receiver Danny Gray (6) practices a blocking drill during Day 4 of training camp at SAP Performance Facility. Mandatory Credit: D. Ross Cameron-USA TODAY Sports Jul 26, 2024; Santa Clara, CA, USA; San Francisco 49ers wide receiver Danny Gray (6) practices a blocking drill during Day 4 of training camp at SAP Performance Facility. Mandatory Credit: D. Ross Cameron-USA TODAY Sports](https://images2.minutemediacdn.com/image/upload/c_crop,w_3903,h_2195,x_0,y_0/c_fill,w_720,ar_16:9,f_auto,q_auto,g_auto/images/ImagnImages/mmsport/all_49ers/01j595svjnqhf0nmj78w.jpg)
SANTA CLARA -- Here's who stood out on Day 15 of 49ers training camp. Keep in mind, Brandon Aiyuk made a cameo appearance.
THE GOOD
1. DT Javon Hargrave
Beat Aaron Banks to sack Brock Purdy during 11-on-11 team drills. Hargrave seems to be in much better shape than last year. He has had a terrific training camp with zero injuries.
2. DT Maliek Collins
Beat Jake Brendel to sack Purdy during 11-on-11 team drills. Collins might not be as good as Arik Armstead, but Armstead is injured. Meanwhile, Collins hasn't missed a practice since training camp began.
3. CB Darrell Luter Jr.
Broke up not one, not two but three passes during team drills. First, he nearly intercepted a horrendously underthrown deep pass from Brandon Allen. Next, Luter broke up a Joshua Dobbs pass that was intended for Cam Latu over the middle. Finally, Luter broke up a fade pass in the end zone to Danny Gray. Luter is making a push to beat out veteran Rock Ya-Sin as the fifth cornerback on the roster.
4. LB De'Vondre Campbell
Broke up a deep pass from Purdy that was intended for Tay Martin. Martin was running a deep crossing route and Campbell was in zone coverage. He ran stride for stride with the wide receiver and slapped the pass to the ground. Campbell is good in zone coverage.
5. Safety Jaylen Mahoney
Blitzed and batted down a short pass from Brandon Allen. Mahoney also nearly intercepted a deep pass that intended for Robbie Chosen. Mahoney won't make the 53-man roster, but he should make the practice squad.
THE NOT SO GOOD
1. QB Brock Purdy
Threw lots of passes to receivers he wouldn't normally target during games and completed just 6 of 12 throws. After a few of his incompletions, he turned away from the intended target in disgust. Purdy can't get Brandon Aiyuk back fast enough. Fortunately for Purdy, the 49ers recently upped their offer to Aiyuk, and he showed up to practice today wearing 49ers gear, which is a good sign.
2. WR Danny Gray
He's extremely fast, but he can't get open or catch the ball. Throwing to him is a waste of a play. Today he ran a back-corner fade in the end zone and barely reached his arms up when the ball arrived. He's hopeless.
3. WR Ricky Pearsall
Missed yet another practice with a shoulder injury. This guy is made of glass. What a disappointing first-round draft pick.
4. SS Talanoa Hufanga
Was supposed to return to practice this week but he hasn't yet. He's still recovering from an ACL tear. It's beginning to look like he will miss Week 1 at minimum.
5. RB Matt Breida
Fumbled during team drills just a few days after fumbling during a preseason game. Which means Breida is fumbling his opportunity to make this team while so many running backs are injured.
6. HC Kyle Shanahan
Called a reverse in which Deebo Samuel pitched the ball to Jauan Jennings who pitched the ball back to Purdy who was supposed throw the ball down the field. It was the slowest-developing play in the history of plays. And when Jennings lateralled the ball to Purdy, the ball flew over his head, Nick Bosa recovered it and returned the ball for a touchdown. Scrap that play, Kyle.