Valerie Castile, mother of Philando Castile, looks at a photo button of her son during a press conference on the state Capitol grounds in St. Paul, Minn., on Tuesday. Philando Castile was fatally shot by police July 6. Eric Miller

Philando Castile's trouble with traffic stops began when he still had his learner's permit. He was stopped a day before his 19th birthday.

From there, he descended into a seemingly endless cycle of traffic stops, fines, court appearances, late fees, revocations and reinstatements in various jurisdictions.

Court records raise big questions: Was Castile targeted by police? Or was he just a careless or unlucky driver?

An NPR analysis of those records shows that the 32-year-old cafeteria worker who was shot and killed by a police officer during a traffic stop in a St. Paul, Minn., suburb, was stopped by police 46 times and racked up more than $6,000 in fines. Another curious statistic: Of all of the stops, only six of them were things a police officer would notice from outside a car — things like speeding or having a broken muffler.

The records show that Castile spent most of his driving life fighting tickets. Three months after that first stop, for example, his license was suspended and he went into his first spiral: Police stopped him on Jan. 8, 2003. They stopped him on Feb. 3 and on Feb. 12 and Feb. 26 and on March 4.

"What Mr. Castile symbolizes for a lot of us working in public defense is that driving offenses are typically just crimes of poverty," says Erik Sandvick, a public defender in Ramsey County, which includes St. Paul and its suburbs.

When he heard about Castile in the news, his name sounded so familiar that Sandvick looked up the records and saw his own name listed as Castile's public defender in a 2006 case. He vaguely remembers Castile, but his story is like that of many other clients he's had. They get tickets they can't pay, and then they are ticketed over and over for driving with a suspended license or not having insurance.

Nicole Gonzalez Van Cleve, a professor in the Department of Criminal Justice at Temple University and the author of Crook County, which documents the problems in the criminal justice system of Chicago, said Castile was the "classic case" of what criminologists have called "net widening," or the move by local authorities to criminalize more and more aspects of regular life.

"It is in particular a way that people of color and the poor are victimized on a daily basis," Gonzalez Van Cleve said.

Many times, both Gonzalez Van Cleve and Sandvick agree, the system leaves citizens with no good choices — having to pick, for instance, whether to pay a fine or pay for car insurance.

Larpenteur Avenue is a dividing line separating St. Paul from surrounding suburbs. Falcon Heights, where Castile was pulled over by St. Anthony police, is one of them. Maplewood, about 10 miles away, is another.

Maplewood Police Chief Paul Schnell said he couldn't comment about the Castile police stop, but he has seen the list of nearly 50 citations Castile received when driving through nearby communities.

"It seems like a lot," he said. "So it does prompt the question, what was the basis and why so many stops?"

Schnell says all of the communities along Larpenteur have policing priorities. He said many consider traffic enforcement good policing.

"Communities where they might not have demand for services, officers will be looking to take action, to do things, to produce, because that's one of the things that's being more and more expected," Schnell said.

In some ways, Schnell added, this is a cycle for everyone involved: Unable to dig themselves out, drivers may lose their licenses and police may run their plates.

"The registered owner pops up as driving after suspension or revocation, and that can often trigger the stop," Schnell said.

Castile's driving problems often appeared to be triggered by something small — a problem with his license plate or blocking an intersection. When he couldn't keep up with the fines, his license would get suspended, and he'd keep driving.

One six-year period in particular — from 2006 to 2012 — stands out. Castile was stopped 29 times. Sometimes he was fined $270, sometimes $150, but it kept adding up. He soon amassed more than $5,000 in fines.

"I am just baffled, and I've been pulled over in the same vehicle my brother died in," Castile's sister said. Allyza Castile thinks it was her brother's dreadlocks and the big sedans he loved to drive — like the Oldsmobile he was in — that made him stand out.

"I've been pulled over in that car for three or four times for the same exact reason — supposedly a broken taillight," she said. "When you run the plates, his name comes up, so I've been harassed driving his vehicle myself. So I know that they harass my brother."

Of course we don't know intent. Or if police knew something about Castile that's not in the public record. University of Minnesota Law School professor Myron Orfield says this doesn't really surprise him. Back in 2003, he studied racial bias in policing.

The state-commissioned study found that African-Americans and Latinos were more likely to be stopped than whites. That was especially true as they crossed into mostly white suburbs — or through the borderlands, as the Twin Cities locals call it — where they were up to seven times more likely to be stopped by police.

"When you see those stark residential differences between neighboring communities, it's often a sign that there's some underlying discrimination going on," Orfield said.

This week, the St. Anthony Police Department released statistics on its traffic stops. They show that officers issue citations at the same rate as neighboring suburbs, but police disproportionately arrest African-Americans.

About 7 percent of the residents in the area patrolled are African-American, but this year they make up about 47 percent of arrests. The data show that since 2011, African-Americans have been making up a larger percentage of arrests.

The head of the Minneapolis NAACP, Nekima Levy-Pounds, compared the situation in the Twin Cities to Ferguson, Mo.

In the aftermath of the police killing of a black man there, the U.S. Department of Justice found Ferguson was more concerned about raising revenue than public safety.

"Shame on Falcon Heights," Levy-Pounds said during a speech at a rally. "They should have known that something was wrong. Shame on the St. Anthony Police Department for that money-making scheme."

In a statement, St. Anthony City Manager Mark Casey said the data unfortunately show that St. Anthony and Falcon Heights face many of the same challenges that Minneapolis, St. Paul and other cities do.

"We do share concerns about the information and what it represents," Casey said. "Racial inequality, in terms of arrests, citations and incarceration, is a complex yet urgent challenge for all of us."

He said St. Anthony and other suburbs are continuing to review how officers are trained and engaged in activities addressing racism and bias issues. But he didn't say how and did not specifically address the issue of traffic fines.

During some periods of his life, Castile was sometimes able to emerge from a mountain of fines.

From 2012 to late 2014 — like clockwork — he paid off fine after fine, some of them more than $500 a month.

"He was trying to make it right," said Beverly Castile, Philando's aunt. "And it was right. He paid off all his tickets, got his license back and everything else. It was done right."

But about three months after he was done with probation, he was stopped again — for "improper display of original plate." By January of this year, his license was suspended, but he quickly paid $275 to get it back.

Last week, police stopped Castile once again.

Castile's girlfriend, who was in the car, said it was because of a broken taillight. But in scanner traffic audio obtained this week by Minnesota Public Radio, a nonchalant officer, yet to be confirmed as Jeronimo Yanez, told dispatchers a different story. "Two occupants just look like people who were involved in a robbery," he said. "The driver looks more like one of our suspects, just because of the wide-set nose."

Gloria Hatchett, an attorney for the Castile family, said that's racial profiling.

"How do you say, 'There's a robbery suspect with a broad nose, African-American?' " she said. "That's equivalent to saying there's a white woman with blond hair."

What happened next is unclear. Was Castile just reaching for his ID, or was he reaching for his gun?

What we know is that Yanez fired his weapon.

What we know is that throughout his life, Castile was stopped by police at least 46 times before that moment.

If there was anyone familiar with the routine and perils of a traffic stop, it was Philando Castile.

The July 6 stop was his last.

Alyson Hurt, Sarah Knight and Avery Lill contributed to this report. Copyright 2019 NPR. To see more, visit https://www.npr.org.