Flutter Create's big winner is a self-taught "beginner"
When Zebiao Hu found out he won the $10,000 Flutter Create grand prize, he didn't even tell his own wife. She learned about it through his posts on social media. He says he didn’t boast about his big win because he still sees himself as a beginner: He taught himself Flutter just weeks before the deadline, and created a compass app that won him the big prize.
Flutter is Google's toolkit for building beautiful apps that run on your mobile phone, laptop and web browser from the same code (instead of having to write a different app for each device, as is common today). When Google announced Flutter Create, the contest attracted attention from developers all over the world. We received nearly a thousand submissions from 60+ countries and regions, including entries from both first-time coders and Flutter experts. The contest challenged developers to build something interesting, inspiring, and beautiful with Flutter using five kilobytes or less of Dart code. That’s a tiny amount of space: to put it into perspective, that’s less than half a second of a typical digital music file.
As a coder working in Shenzhen, China, Zebiao decided to learn about mobile development, because the industry was heading in a “mobile-first direction.” He bought books about Flutter and Dart in Chinese, and started to learn during the spring of 2019. Flutter Create was less than one month away.
Zebiao is no stranger to teaching himself how to code, though. In high school, he spent days and nights in the computer room, taking up coding because of his love of video games. After becoming an accomplished player, he began to wonder, "How are these games developed? Could I make one myself?"
Zebiao in the park where he usually jogs.
But, at that time, information about programming was hard to get and, for a high school student, difficult to learn. Luckily, Zebiao discovered a box of CDs, with one called “Programming.” His hobby turned into a career. As an early adopter, he became well known in local software circles, and was often approached to collaborate on projects. Customers became frequent customers, and then friends, bringing even more projects to him.
Eventually, Zebiao got married and became the father of two children. Every day, he sends his children to school, and goes home to work. In the evening, he ends his work day and picks the kids up.
He says when he’s not working, he’s “running, drinking tea, and spending the weekend with my children at the amusement park.” And he’ll still take time to play the video games he played 15 or 20 years ago.
The compass app did not feature a globe at first.
When he set out to build his compass app, Zebiao found useful materials on Flutter’s official website, Flutter’s Youtube channel and from Flutter Chinese online communities. He didn’t aim for the prize because he hadn’t been using Flutter for long, but instead entered to test his knowledge.
He started the new project on March 15, only three weeks from April 7, the final submission date for Flutter Create. After the first version of the app was completed, the code was less than 5KB, but Zebiao was not satisfied, because it lacked an interesting visual. "It was boring to read the latitude and longitude in text form," he says. So he decided to upgrade the design to display the data using an interactive globe.
There was only one small problem: he had never programmed an animation before.
“Honestly, I learned everything from scratch,” Zebiao says. “After all, I had never used these tools before.”
Finally, two days before the deadline, Zebiao successfully submitted his compass application.
Zebiao learned how to make his app from scratch.
Zebiao says he doesn’t want to give advice to Flutter beginners, because he sees himself as a beginner, too. But he urged people to keep learning, even if their projects don’t use Flutter yet, and to find their own community of developers to share resources. And he says it’s important to stay open to whenever an idea strikes. “Keep a notebook with you,” he says. “Write down your thoughts, ideas or problems whenever possible. And try to solve them later.”