A beautiful, real-time visualization of time passing through interactive progress bars. Watch as seconds, minutes, hours, days, weeks, months, years, and even your lifetime tick away—quantified and visualized in an elegant web interface.
- Real-time Progress Tracking: Updates every 100ms for smooth, live visualization
- Multiple Time Scales: Track progress across:
- Minutes
- Hours
- Days
- Weeks
- Months
- Years
- Decades
- Lifetime (based on 70-year life expectancy)
- Birthday countdown
- Personalization: Set your birthday to:
- Track time until your next birthday
- Calculate your lifetime progress
- Get a special birthday greeting on your special day! 🎉
- Persistent Settings: Your birthday is saved in local storage
- Clean UI: Modern, minimal design with a responsive layout
- Time Remaining Display: See exactly how much time is left in each period
- Percentage Display: Visual progress bars with precise percentage indicators
The live demo is available here.
-
Clone the repository:
git clone https://github.com/Atlas7005/passingQuantified.git cd passingQuantified -
Open in browser:
- Simply open
index.htmlin your web browser - No build process or dependencies required!
- Simply open
- Click the ⚙️ settings icon in the top-right corner
- Select your birthday from the date picker
- Click "Apply Settings"
- Watch as your birthday countdown and lifetime progress bars update!
Each progress bar shows:
- Title: The time period being tracked
- Time Left: Remaining time in that period (e.g., "2d 5h 30m 15s left")
- Progress Bar: Visual representation of elapsed time
- Percentage: Exact completion percentage
The project uses CSS variables for easy theming. Modify css/global.css to customize:
- Colors (
--primary-color,--background-color,--text-color) - Border styles
- Font sizes
- Spacing
timeProgressBars/
├── index.html # Main HTML file
├── css/
│ ├── global.css # Global styles and CSS variables
│ └── index.css # Component-specific styles
├── js/
│ └── index.js # Core logic for time calculations and updates
└── README.md # This file
- Time Calculation: The JavaScript calculates the start and end times for each period (minute, hour, day, etc.)
- Progress Computation: Elapsed time is divided by total duration to get percentage
- Real-time Updates: A
setIntervalruns every 1s to update all progress bars - Local Storage: Birthday data is persisted using browser's localStorage API
- Dynamic Rendering: Progress bars and time remaining text update smoothly in real-time
Works on all modern browsers:
- ✅ Chrome/Edge (latest)
- ✅ Firefox (latest)
- ✅ Safari (latest)
- ✅ Opera (latest)
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Dark/Light theme toggle
- Custom life expectancy setting
- Share progress snapshots
- Multiple birthday tracking
- Custom time periods
- Sound notifications
This project is open source and available under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later).
Atlas7005
- GitHub: @Atlas7005
- Repository: passingQuantified
- Font Awesome for icons
- Inspired by the desire to visualize and appreciate the passage of time
Remember: Time is the most valuable resource we have. Use it wisely! ⏰
