🌍 Inspiration

We often need to know the time in different parts of the world — whether for virtual meetings, travel planning, or just curiosity. Many apps use APIs to get this data, but we wanted to create a beautiful, offline-friendly solution that runs entirely in the browser using local data and intelligent time calculation. The idea of seeing the time around the world on a 3D globe, with real-time updates, sparked the creation of World Clock.


🕒 What it does

World Clock is a web app that shows:

A 3D interactive Earth 🌐 (built using Globe.gl or Three.js).

Real-time clocks for selected cities around the world.

A sidebar that holds a list of user-selected cities with live-updating time.

All done without using any external time APIs — powered only by JavaScript and Luxon with a static timezone database.


🔧 How we built it

Frontend: Built with React and styled using Tailwind CSS for a clean, modern UI.

3D Earth: We used Globe.gl (Three.js under the hood) for rendering an interactive Earth model.

Time Handling: Used Luxon, a powerful JavaScript library for date/time handling. We matched clicked globe coordinates to the nearest city from a local static city-timezones.json file.

State Management: Managed selected cities and their clocks using React hooks.


🚧 Challenges we ran into

Finding a way to accurately map coordinates (from globe clicks) to the closest known city and its timezone.

Handling real-time clock updates efficiently for multiple cities at once.

Ensuring smooth performance with 3D rendering + real-time clocks on lower-end devices.

Making it look good and still keep the design responsive and minimal.


🏆 Accomplishments that we're proud of

We built a full world clock system without relying on any APIs — a rare approach!

Implemented aesthetic and interactive globe-based UI that users enjoy rotating and exploring.

Designed a scalable system: new cities can easily be added to the JSON file.

Got it to work 100% offline after initial load, including time updates.


📚 What we learned

How to use Luxon for timezone-aware time calculation.

How to build and manage 3D visualizations with Globe.gl and Three.js.

How to work with geospatial data and map it to real-world applications.

How to make a web app fully functional without backend or APIs.


🚀 What's next for World Clock

Add a search bar to manually search for and add cities.

Support for sunrise/sunset times, and possibly weather info for each city.

Implement day/night shading on the globe in real time.

Enable export/share feature so users can save their favorite clock panels.

Make it a PWA (Progressive Web App) so it works perfectly offline.

Share this project:

Updates