Local teacher Richie Floyd defeated former City Council member Jeff Danner Tuesday night in a narrow win for the District 8 seat on the St. Petersburg City Council, just outside recount territory.

Floyd collected 51% of the vote, while Danner brought in 49%. Floyd will succeed Council member Amy Foster, who faces term-limits. The race was a tight one, with about 2,000 final mail-in votes delaying the call until just before 10 p.m. 

With a final dump of late-counted mail ballots, Floyd led by 1.4%, with only the only ballots remaining those still undergoing the cure process through the Pinellas County Supervisor of Election's office. A machine recount is triggered if the vote is within 0.5 percentage votes.

Floyd ran a campaign centered on progressive platforms, with goals like expanding and improving public housing and increasing investment in community land trusts, as well as strengthening protections in the city's Tenant Bill of Rights to protect renters from discrimination. He works as a local educator for Pinellas County Schools. 

Foster endorsed Floyd as her successor, despite being Danner's successor herself eight years ago. Floyd also brought in endorsements from Council member Lisa Wheeler-Bowman, as well as backing from the Sierra Club and a bevy of unions.

Floyd ran an impressive grassroots campaign against Danner that ultimately won him the seat. 

The first-time candidate's average campaign finance report boasted dozens, and sometimes hundreds, of small donations. His progressive bent also led to heavy support from local unions, and he has led in the fundraising race.

Danner, on the other hand, relied more on establishment donors, including political action committees and developers.

Floyd's early entrance into the race helped him build momentum in funding, while Danner's late start in May left him with little time to build a war chest. Since Oct. 15, Danner has raised nearly $39,000 since he started campaigning, and Floyd has collected more than $109,000.

The two entered a runoff after garnering the highest number of votes in the four-candidate Primary Election. Floyd earned the largest chunk of the districtwide vote at 51%, followed by Danner, who collected 27%, according to official results with the Pinellas County Supervisor of Elections office.

Despite his success in the Primary Election, which restricts votes to district residents, Floyd's win was not a guarantee in the citywide General Election, where Danner held the advantage of name recognition.

Danner served two terms on City Council, elected in 2005 and 2009. Two terms have passed since he left office, making the former Council member eligible to run again.

Floyd will take office on the January 6, and will hold a four-year term.