A modern, interactive Timezone Clock application built with React + TypeScript, allowing users to track multiple timezones, customize clock themes, and reorder clocks using a custom drag-and-swap system.
This project focuses on front-end performance, clean UX, and scalable state management.
- 🔍 Async city search using a custom backend (
/cities?query=) - 🕒 Real-time clocks for multiple timezones
- 🔄 Custom drag-and-swap logic (no drag-drop libraries)
- 🔢 Customize clock face
- 🔔 Confirmation popups & notifications
- 💾 Settings persisted using
localStorage
- React 19
- TypeScript
- Tailwind CSS
- React-Select (Async)
- Moment.js & moment-timezone
- React Context API (theme & clock settings)
- React hooks (
useCallback,useMemo,React.memo) - Redux
- Node.js
- Express
- Timezone & city data API
- Vite
- ESLint
- LocalStorage persistence
Clone the repository:
git clone https://github.com/amandee27/timezone-clock
cd timezone-clock