CLEVELAND — For those who have lived, sweated and sworn through even half of the Cleveland Browns’ now 19 seasons of at least 10 losses in the franchise’s post-1999 era, Sunday’s 31-29 loss to a one-win Tennessee Titans team might be gutting. But it was in no way shocking.

For those who can remember the hopes and subsequent crashes of even half of the 42 starting quarterbacks of this era, Shedeur Sanders’ performance in bringing the Browns back lies somewhere between interesting and inspiring. It was imperfect, too, but Sanders, making his third start, showed growth. And poise. And touch. And guts.

When it was over, it all felt familiar. But in looking back at the Browns’ refusal to quit when down by two touchdowns, maybe they found something. Maybe Sanders, 14 quarters into his career, is trending upward.

Sanders threw a beauty of a touchdown pass to Harold Fannin Jr. with 1:03 remaining to bring Cleveland within two. On the sideline, there was no hesitation from Browns coach Kevin Stefanski in sticking with a decision that had previously been made.

Despite the rookie quarterback sparking a rally when all seemed lost in the fourth quarter, the Browns chose to take the ball out of Sanders’ hand for the final two-point conversion and go to their jumbo wildcat package. They snapped it to running back Quinshon Judkins, who probably should have pitched the ball on a reverse to Gage Larvadain. But Judkins hesitated and kept the ball. With Titans defenders swarming, the play was doomed.

The Browns lost despite their Sanders-led rally, ultimately sunk by him dropping the snap on a two-point try with the Browns down by eight, and then the unsuccessful trick play, which failed to account for Sanders’ hot hand.

But it feels like Sunday’s game might have been a launching pad for Sanders. His first half was the best one he’s delivered yet, and though the third quarter was starkly different, he rebounded. A bad interception in the third quarter came after Sanders got impatient and greedy, and the Titans turned that into a lead they wouldn’t relinquish.

Sanders said he forced the pass down the middle that Titans safety Xavier Woods intercepted because the offense felt “stagnant” and the Browns needed a spark.

“I would say as time goes on, those decisions and those things will slim down,” Sanders said. “And we won’t be in situations where I have that feeling like I’ve got to make something happen.”

The Browns were all sorts of bad through large stretches of Sunday’s game. After a Dylan Sampson fumble set up a touchdown, and a Tennessee blocked punt led to a field goal and a 31-17 lead, the game felt over with 6:17 left. The Browns stayed alive by answering in just 1:50 with a Sanders 7-yard keeper for a touchdown, then the defense got the stop it needed to set up one final chance.

Everyone in the stadium knew Sanders would go to Fannin in the biggest moments, but the Titans couldn’t keep the tight end in check. The last drive started and ended with Sanders throwing to Fannin, who had the first 100-yard receiving game by a Browns rookie tight end in 43 years.

Sanders became the first Browns player to throw for at least 300 yards and have at least three touchdown passes and one rushing score in the same game. Sanders also became Cleveland’s first 300-yard passer this season. It was only the Browns’ ninth 300-yard passing game in the last four years.

The bar is low, for certain. But the accuracy and ability to find receivers on the second and third levels of the defense that Sanders has shown in small glimpses since the summer were on display Sunday. He only took two sacks despite being under near-constant pressure, and the whole offensive operation seemed crisper and better at avoiding disaster than it did in the previous week.

Small steps. Small victories, even in another crushing loss. A small window of hope?

“Young players, (they) learn from every turn that’s out there,” Stefanski said. “With (Sanders), there’s some great stuff that you can coach off of. I thought some of his pocket movement was outstanding. Some really, really good throws, especially late in the (game), I thought he was really good there. But always going to learn from our mistakes.”

After Sanders’ worst throw of the day, the interception, there was no indication that Cleveland would recover.

But it was Sanders’ best quarter of action that brought the Browns back, even when things felt bleak. He ended up completing passes to eight different pass catchers. Fannin caught eight of his 11 targets for 114 yards, and a week after Sanders missed Jerry Jeudy on what might have been an improvised touchdown over the middle, the two connected on a pass over the middle in the first half that Jeudy turned into a 60-yard touchdown.

“I thought it was a really good decision by Shedeur to get through his progression there (and) get to Jerry on that in-cut (for the touchdown),” Stefanski said. “Felt good about that play, really throughout the game. Ran that play earlier, got it to (Fannin). Second play, second time, Shedeur got it to Jerry. He did a really nice job moving in the pocket.”

The Browns went for two following Sanders’ touchdown with 4:27 left because they were trying to win the game. Stefanski always plays that way, believing that a successful two-point conversion would give Cleveland a chance to win if it scores again. Sanders bobbled the snap on the first two-point try and took the blame for it.

But given one more chance by a usually staunch Cleveland defense that uncharacteristically got gashed by the run Sunday, Sanders guided another drive with a series of short passes and then the well-placed floater to Fannin toward the back corner of the end zone. Stefanski said he wouldn’t get too far into details about why the Browns settled on the Judkins play and what looked like it should have been a pitch to Larvadain coming back the other way, but he said the Browns felt good about that as their two-point attempt.

When it’s over — and it feels like it will be soon for a lot of people currently holding prominent positions — Stefanski might most be remembered as a creative offensive mind who too often was guilty of overthinking the simple in big moments.

Sanders had handled two critical drives to keep things alive, and he didn’t get to touch the ball on what became the Browns’ last snap. An ensuing onside kick was unsuccessful, and the Titans ran out the clock to move to 2-11.

Sanders deserved a shot to tie the game. The Titans, for sure, would have double-teamed Fannin. They would have tried to confuse Sanders with a pre-snap look and subsequent blitz. Maybe Sanders would have been able to beat the rush, and maybe he wouldn’t have. But to have that game end with Judkins retreating before sending a desperation heave across the field doesn’t seem right.

The Browns lost again Sunday, something that’s become too much of a habit. But while much about both the franchise’s immediate and long-term future remains uncertain, the rookie class offers a sense of hope. And with Sanders now getting the opportunity for an extended tryout, longtime observers can at least say the final four games bring some intrigue because of him.

Maybe, just maybe, the Browns have a quarterback worth more development.