Ali Milani didn't speak English when he came to Britain from Iran at the age of five. Twenty years later, he's the biggest individual threat to Boris Johnson at this week's election.
The 25-year-old candidate for the main opposition Labour party is trying to unseat the prime minister in his Uxbridge and South Ruislip constituency in west London.
Young political hopefuls are often given campaigning experience in places where they stand little chance of winning. But Milani is not in it to make up the numbers.
Conservative party leader Johnson has a majority of just 5,034, which makes the seat a key marginal. No sitting prime minister has had such a small majority since 1924.
Defeat for Johnson is unthinkable.
Milani, who pitches himself as the "local candidate", knows it and has been campaigning relentlessly to claw as many votes away from his opponent as possible.
Few candidates in the high-stakes election can be as diametrically opposed as the front-runners in Uxbridge and South Ruislip.
As well as being young and born in Iran, Milani was brought up by a single mother on a social housing estate in the shadow of Wembley Stadium in northwest London.
Johnson, 30 years his senior is a former London mayor and foreign minister who attended the prestigious Eton school and read Greek and Latin at the historic Oxford University.
According to his sister, the charismatic Johnson, with his finely crafted persona as a bumbling stereotypical Englishman, harboured ambitions as a child of becoming "world king".
In contrast, Milani is a politics graduate from Uxbridge's modern Brunel University, a practising Muslim and a former senior figure in the National Union of Students.
Thursday's vote may be taking place against the backdrop of Brexit but local issues are still to the fore -- and Johnson's lack of presence in the constituency has been noted.
"It has always been a Conservative area but people are not happy with the local hospital," said Michael Freitas, 42, who works in IT.
"The young people situation is not good," he told AFP among the Christmas decorations of Uxbridge town centre, some 20 miles (30 kilometres) from central London.
Freitas, who said he was wavering between Milani and the smaller opposition Liberal Democrats, is unhappy at Johnson's inability to come to Uxbridge, which lies at the end of a branch of the Metropolitan underground line.
"Obviously he's neglected the local community," he added.
- Young people -
"On paper, turning round a 5,000-majority for the sitting prime minister is not the easiest of challenges to overcome," Milani said in an article for The Guardian last month.
"But the tide of opinion is turning against Johnson, who has regarded his constituents as a hindrance, and treated them with contempt," he charged.
Milani says he's seen an "anti-Johnson tactical vote" and an unprecedented mobilisation of students and young people, urging them to register to vote and make their voice heard.
"I truly believe we are on the brink of a historic victory," he wrote.
Even a right-leaning think-tank appears to back up his theory: in April, Onward assessed that the Tories were "vulnerable" in Uxbridge and South Ruislip because of its young demographic.
Catherina Knox, an actor and writer in her 30s, said Milani had "the local touch" and was more tapped into the thinking of younger voters. She has been canvassing on his behalf.
"I have been feeling quite depressed about the election. I worry about Brexit, about our public services, about lots of things," she said.
"I needed to do something, I thought it would be nice to try to unseat Boris Johnson in his own constituency. He (Milani) seems to care about this area, he is from here."
- Narrow win? -
Knox conceded a Milani win was "unlikely but possible". But one factor in his favour is the perception that Boris has been parachuted in.
Before becoming London mayor, he was Tory MP for the safe seat of Henley, near Oxford.
But primary school teacher Sharon Joyce said Johnson's personality -- and traditional allegiances in the area -- should win the day.
"Everybody likes him around here. They definitely don't want Labour," she said, outlining her election wish-list as "new hospitals, "tougher sentences" and "police stations".
Milani could also face a backlash about old tweets judged anti-Semitic. He has since apologised, blaming his age.
A YouGov poll last month put Johnson ahead of Milani by 50 percent to 37 percent. But a narrow Labour win wasn't ruled out.