"I also had someone grabbing my hair from the back, struggling and breathing heavily," Zuo said. "A girl in front of me held me desperately and said, 'Help me, help me, please. I can't make it anymore.' There was also a girl completely motionless underneath."
Zuo was one among many people caught up in the stampede on the Bund, an area along the Huangpu River in China's most populous city that draws big crowds for New Year's Eve festivities. He described his traumatic experience on Weibo, a Chinese social media platform on which he's a verified user.
The stampede, which began roughly 25 minutes before midnight, killed 36 people and injured 47 others, the Shanghai city government said. Many of the victims were female students, state media reported.
"I was surrounded by the sounds of girls crying and shouting for help with their last strain of effort, and of people fighting and throwing curses at each other," said Zuo, who works in the media sector.
Another witness, 28-year-old Tian Ye, who works in import-export logistics, told CNN how he'd gone down to the waterfront to enjoy the festivities because he lives nearby.
Instead, he found himself only about 30 meters (about 100 feet) from the scene of the deadly crush.
"When me and other young men saw people had fainted, we rushed there to do CPR and carried them to the ambulance and police cars," he said.
The stampede lasted only about 30 seconds, he said, but it took about 10 minutes to carry everyone out.
"There were way too many people stuck down there without a clear entrance or exit; people got stuck and panicked. A lot of police gathered in that central area, but more police could have eased the consequences," he said.
"When someone fell down, people behind would think the crowd is moving, so more people were moving forward and falling."
He blamed what happened on overcrowding, people's lack of awareness of how to protect themselves, and on heavy traffic that blocked ambulances from getting to the scene sooner.
"But I'm happy to see everyone around me fighting to help others after the tragedy," he added.
"No conspiracy, no predesign, it's a tragedy triggered by multiple factors. We tried our best, wish them rest in peace."
A third witness, Xiao Ji, said he was at the side of the mass of people as a night of celebration turned into scenes of horror.
"I stared for a while and then started pulling people out of the crowds," Xiao, who works at a technology company, said on Weibo. Exhausted after hauling two people out of the crush, he said all he could do was "hold their hands and try to cheer them up a little bit."
In the chaos described by Xiao, some people were trying to revive unconscious victims and others were simply wailing. Police officers were also trying to help. After he regained strength, Xiao says, he joined in again.
A photo from China's state-run news agency Xinhua showed people receiving treatment as they lay in the middle of a crowded street.
Cause under investigation
The terrifying crush left a grisly aftermath.
"People lying on the ground were a complete mess," said Zuo. "Their faces became unrecognizable."
It remains unclear what caused the stampede. Authorities are investigating what happened.
Xinhua cited one unidentified witness as saying that people started scrambling after coupons that looked like dollar bills were thrown from the third floor of a building.
But the Shanghai police said their investigation had ruled out this possibility.
Police said that based on surveillance camera footage, the items were tossed about 10 minutes after the stampede and did not cause much commotion. They were coupons from a bar on the Bund.
Zuo, Xiao, Tian and other witnesses also made no mention of the coupons in their accounts. And the English-language newspaper Shanghai Daily cited witnesses as saying that the stampede started "when a large number of people trying to move up to the riverfront esplanade were blocked."
CNN reached out to Zuo and Xiao for further comment, but Zuo didn't immediately respond and Xiao declined to talk to the media.
Event moved after problems
Local officials had this year moved a popular New Year's Eve light show from an open area of the Bund to a more enclosed area, citing safety concerns, Shanghai Daily reported.
"Last year, officials were caught off-guard when nearly 300,000 people turned up for the New Year countdown at the Bund, which led to traffic chaos," the newspaper said.
Officials canceled another New Year's celebration late Wednesday in front of Beijing's tallest skyscraper, citing safety concerns.
Even with the light show and official countdown called off, many revelers remained at the location and had their own countdown there.
Flowers laid at the scene
The Shanghai stampede prompted scenes of anger and grief.
Video from the Reuters news agency showed people sobbing in a hospital waiting room. One woman told state broadcaster CCTV that relatives had been waiting for hours for information about their loved ones.
A photo from Agence France-Presse showed people facing off with security guards at a hospital.
Dozens of people gathered at the scene of the stampede Thursday, laying bouquets of flowers on the ground. Police cars lined an intersection near where the deadly chaos took place.
Chinese President Xi Jinping requested "an immediate investigation" into what happened and said "a profound lesson should be learned" from the events, Xinhua reported Thursday.
Zuo spelled out what he learned from the terrible end to 2014: Don't attend big gatherings like that ever again.