π World Clock App
Release: version 1.0.1+2 β Last updated January 20, 2026
A beautiful Flutter app to check the time in any city worldwide
Developed with the assistance of Claude AI by Anthropic
β¨ Features
- π Search 11+ Million Cities - Find any city in the world instantly using the GeoNames API
- β Favorite Locations - Save your preferred city and the app will open directly to it
- π Beautiful Vintage Analog Clock - Stunning clock face with Roman numerals and classic design
- π Automatic Geolocation - Detects your local timezone automatically, with Greenwich Time fallback
- π± Responsive Design - Works perfectly in both portrait and landscape orientations
- π
Date Display - Shows the date with ordinal numbers (e.g., β17th October 2025β)
- π¨ Clean Interface - Simple, elegant design with smooth animations
π± Screenshots
π οΈ Tech Stack
- Framework: Flutter 3.35.6
- Language: Dart
- APIs:
- GeoNames - City search and timezone data
- Packages:
geolocator - Location services
timezone - Timezone management
http - API calls
shared_preferences - Local data persistence
intl - Date/time formatting
π Getting Started
Prerequisites
- Flutter SDK (3.0 or higher)
- Dart SDK
- Android Studio / VS Code with Flutter extensions
- A GeoNames account (free) for API access
Installation
- Clone the repository:
git clone https://github.com/YOUR_USERNAME/world-clock-app.git
cd world-clock-app
- Install dependencies:
- Configure GeoNames API:
- Create a free account at GeoNames
- Enable web services in your account settings
- Update
lib/services/city_service.dart with your username:
static const String _username = 'YOUR_GEONAMES_USERNAME';
- Run the app:
ποΈ Project Structure
lib/
βββ main.dart # App entry point and main logic
βββ models/
β βββ city.dart # City data model
βββ services/
β βββ city_service.dart # City search functionality
β βββ favorites_service.dart # Favorites management
β βββ location_service.dart # Geolocation handling
βββ widgets/
βββ city_search.dart # Search bar widget
βββ world_clock.dart # Analog clock widget
π¨ Design Highlights
Vintage Analog Clock
- Custom-painted clock face using Flutterβs
CustomPainter
- Roman numerals for classic aesthetic
- Three hands: hours (thick), minutes (medium), seconds (thin red)
- Bronzed border with gradient background
- Real-time updates every second
Adaptive Layout
- Portrait mode: Vertical stack with city name, clock, date, digital time
- Landscape mode: Horizontal layout with clock on left, time info on right
- Automatic keyboard dismissal for better UX
Favorite System
- Persistent storage using SharedPreferences
- Yellow star indicator for favorite cities
- Beautiful popup notifications with custom animations
π€ Development with AI
This project was developed with the assistance of Claude AI (Anthropic). The AI provided:
- β
Complete Flutter architecture and code structure
- β
API integration with GeoNames
- β
Custom analog clock implementation with
CustomPainter
- β
Geolocation services and timezone handling
- β
Responsive UI design for multiple orientations
- β
Local data persistence for favorites
- β
Debugging and problem-solving throughout development
- β
Best practices for Flutter app development
The collaboration between human creativity and AI assistance enabled rapid development while maintaining code quality and learning opportunities.
π Privacy
- Location data is used only to determine your local timezone
- No personal data is collected, stored, or shared
- All data remains on your device
π License
This project is open source and available under the MIT License.
π¨βπ» Author
Paolo Zanini
π¨ Email: paolodevapp@gmail.com
πΌ LinkedIn: linkedin.com/in/paolo-zanini-7z