Lenovo Clock

Create a beautiful clock face UI

Build a beautiful clock face UI with Flutter for the Lenovo Smart Clock for a chance to win an iMac Pro, Lenovo Smart Display, or Lenovo Smart Clock.

Submissions period has ended on January 20, 2020. Please scroll down to see the results.

Flutter Clock Highlight Reel

Flutter Clock contest is brought to you in partnership with Google Assistant and Lenovo.

All Winners

Check out this article to read more about this year's results.

Grand Prize Winner

Particle Clock by Mickel Andersson

Category Winners

Visual Beauty

Cloom Clock by Filipe Barroso and Francisco Frutuoso

Code Quality

Creative Creator Or Maybe Not Clock by Hubert Henkemeier

Overall Execution

Humanbeans Clock by Boris Brestnichki


Sunset Reflections Clock by Victor Morilla

Honorable Mentions

(In alphabetical order)

Entries were judged by a panel of Google experts against the following criteria:


Novelty of


Overall execution


Flutter Clock is a skills-based contest offered by Google, including participation by the Flutter, Google Assistant, and Lenovo teams. Flutter Clock challenges you to use Flutter to build a beautiful and innovative clock face application.
Each entry will be rated against the following rubric: Visual beauty, Novelty of idea, Code quality, and Overall execution (including accessibility).
Entries will be judged by employees of Google and/or individuals from the Flutter open source community that are experienced developers and designers.
You need to have your clock submitted via the Google form by January 20th, 11:59pm PST (GMT - 8), and published publicly on Github by February 5th, 11:59pm PST (GMT - 8).
Yes, as long as your changes occur before January 20th, 11:59pm PST (GMT - 8).
Winners will be selected around February 10th and announced around February 25th.
1 Grand prize winner receives:

A loaded Apple iMac Pro valued at ~$10,000 USD (detailed specifications may vary based on availability and applicable law in the potential winner's country of residence).

4 Winners each receive:

A Lenovo 10" Smart Display with the Google Assistant valued at ~$249.00 USD (based on availability and applicable law in the potential winner's country of residence).

Up to 25 Winners each receive:

A Lenovo Smart Clock with the Google Assistant valued at ~$79.00 USD (based on availability and applicable law in the potential winner's country of residence).

In addition, all participants who submit complete and valid entries will receive a digital certificate of completion when their code repository is made public by February 5th, 2020. Also, some submissions may be integrated into the Lenovo Smart Clock's lineup of clock faces, or may be used as inspiration for future clock faces.

See the submission instructions in the 'Getting Started' section, and the Official Rules for more details.
We limit entries to one per participant. We encourage you to submit your best entry! In the event of multiple submissions from a single participant, we'll only judge the most recent.
Unfortunately, no. Only new clock faces built after November 18th, 2019 can be submitted for consideration.
No, you must submit a new clock face started for this contest to qualify.
The viewer should be able to tell the time. Whether that be with digits, clock hands, a sundial shadow, or colors flashing in Morse code, there should be some way for a user to reliably determine the time. (It's OK if telling the time requires some thinking.)
No, this will not be considered by the judges when determining winners.
No. We provide the ClockModel mockable API for system-level information on the Lenovo Smart Clock. This API is available to you in your clock face, but using it is not required.
No, to both questions. The Lenovo Smart Clock has a feature that animates a clock between dark and light mode based on the room's brightness. You can use it to determine a dark and light theme, but it's not required. You can also animate between themes using, for example, an AnimatedBuilder or ValueListenableBuilder, but it's also not required.
No. We provide the ClockModel, a mockable API including weather information on the Lenovo Smart Clock. You don't have to display or use any of this information.
Tap the sample clock face to show/hide the settings cog in the top right corner, and then tap on the settings cog.
Google values accessibility, and it will be a consideration in your submission as part of the "overall execution" criteria. Check the Flutter accessibility page for details.
No. See the judging criteria in the Official Rules for more details.
Take a look at Flutter performance profiling, and enable the performance overlay feature in the Flutter Inspector to see whether frames are being drawn redundantly.
You must not be a minor (per your country of residence) to be eligible for the contest.
Yes, you can use Flare animations in your submission.
Yes. Make sure to include such files as assets in your submission.
Yes. This ensures more consistent and readable code. You can do this from your IDE or at the command line.
Check out Effective Dart. (Note that the Flutter codebase has its own formatting guidelines and doesn't adhere to Effective Dart.)
A team of people can work on a single clock, but the person submitting the clock through our form should be authorized to submit the clock (including all code and assets) on behalf of every person in the entire team, and each winning clock is only eligible for 1 prize.
All assets must comply with our Official Rules for submissions, and participants must either create or have permission to use (e.g. via a license) and submit all parts of their submission.
By submitting, you are agreeing to release the app under an open source license, and are giving Google a license to the app. Please see the Official Rules for more details.
We will not be judging your clock on web. Web is currently in technical preview and is missing some features, but is a great way to share your app with others.
Take a look through our Official Rules and, if you still have questions, please file a Flutter Clock GitHub issue.
We're glad you asked! Flutter's web support is in technical preview and you can use to share your clock face online. Once you enable web support, test your app by selecting Chrome as the target device in your IDE, or at the command line with flutter run -d chrome. Build a web version of your app for deployment using flutter build web. Then, you can host it using GitHub Pages, Firebase, or any other web hosting solution. If you share a link to your app on social media, be sure to include the #FlutterClock hashtag!