I wrote a FancyClock app for fun: Fancy Clock

Problem โ†’ Solution โ†’ Impact

Problem: Default desktop clocks are boring, inflexible and lack meaningful utility.

Solution: FancyClock is a customisable desktop clock with additional display options and user-adjustable features.

Impact: Gives users a visually rich and practical desktop enhancement while demonstrating real-time UI design.

Rationale

I wanted to knock something up quickly to show off to a friend using AI but got diverted into making it fully featured when I started turning it into a better product.

Challenges along the way

This was quite the project but it turned out to be more complex the more I added.
Then I decided to add video skins - that was a fun challenge but I got there in the end. The REAL struggle was internationalising the app. Multiple languages and timezones throughout the world are HARD to support. Especially when you want to support regional numbering systems AS WELL!

Releases

Current release v1.5.3

  • Majorly refactored code to be OO, meet SOLID principles, PEP8 compliant, flake8/black compliant, TDD; all files < 350 lines.
  • Created proper flatpak for linux distros; buildable on debian distros such as Ubuntu/Mint or Debian itself.
  • Windows support.

Features:

  • Hour minute and second hands on analogue clock.
  • Digital clock including date and day.
  • Full internationalisation for all time zones throughout the world for natural language support.
  • As part of internationalisation, numeral types are supported such as Devanagari/Indic/Bengali/Hindi/Thai/Arabic.
  • Ability to search for a city to find your time zone.
  • Custom skins with many choices of animated video backgrounds for the analogue clock.

Screenshots

Fancy Clock

Fancy Clock