Skip to content

About

No description, website, or topics provided.

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

πŸš€ Progress Counter

Interactive 10-Day AI Model Training Tracker

HTML5 CSS3 Keyframes JavaScript iSchool Challenge License: MIT

πŸ”— View Live Demo / LinkedIn Post β€’ ✨ Key Features β€’ πŸ“… 10-Day Matrix β€’ πŸš€ Quick Start


πŸ“Œ Project Overview

Progress Counter is an interactive, animated web application built to visually track the 10-day training progression of an Artificial Intelligence model.

Created during an exciting challenge in the Web Development Course at iSchool, this project highlights how complex timeline transitions, state changes, and celestial day/night cycles can be built entirely using pure HTML, CSS, and Vanilla JavaScriptβ€”without heavy external frameworks.

πŸ“’ Challenge Spotlight

"πŸš€ I just completed an exciting challenge during a session of the Web Development course at iSchool! πŸŽ‰"

"🎯 The task was to create a 10-day progress tracker for an AI model using only HTML, CSS, and JavaScript. I aimed for a unique and innovative approach. πŸ’»"

"βœ… This experience truly deepened my skills in animating with CSS keyframes. ✨"

"πŸ§ͺ It enriched my understanding of animations, timelines, and interactive design in the browser. πŸ“ˆ"

β€” Adel Noufal β€’ Check it out on LinkedIn πŸ”—


✨ Key Features

  • πŸŒ“ Dynamic Celestial Sky Box: 360Β° orbital rotation system with realistic sun & moon movement that smoothly transitions the entire application between Day and Night modes as you advance.
  • 🎨 10 Handcrafted SVG Character Animations: Each day features a distinct vector character performing a custom CSS keyframe animation reflecting that phase of AI development.
  • ⚑ Pure Vanilla Architecture: 100% framework-free HTML5, CSS3, and ES6+ JavaScript for 60 FPS performance and zero bundle bloat.
  • πŸŽ‰ Celebratory Confetti Explosion: Integrates Canvas Confetti API to deliver a celebratory reward animation when the AI model reaches 100% completion (Day 10).
  • πŸ“± Modern Glassmorphism Design System: Built with CSS custom variables, smooth easing functions, responsive card layouts, and sleek typography.

πŸ“… 10-Day AI Model Training Matrix

Day Training Milestone SVG Avatar Activity Keyframe Animation Mechanics Celestial Mode
Day 1 Initializing Neural Weights πŸ’» Typing on Laptop Arm rotation on laptop keyboard β˜€οΈ Day
Day 2 Code Structure & Syntax Learning ✍️ Writing Documentation Hand writing keyframe oscillation πŸŒ™ Night
Day 3 User Interaction Pattern Training πŸ“ž Phone Consultation Arm tilt to ear β˜€οΈ Day
Day 4 Speech & Audio Processing πŸ“– Reading Documentation Floating book translation πŸŒ™ Night
Day 5 Vision Transformer Dataset Training πŸ“Š Presenting Charts Arm elevation & pointer presentation β˜€οΈ Day
Day 6 Creative Text & NLP Generation πŸ€” Deep Thinking Head rotation & tilt πŸŒ™ Night
Day 7 Refining Context & Semantics πŸ™† Stretching Arms Shoulder & arm expansion β˜€οΈ Day
Day 8 Simulating Real-world Conversations 🎧 Listening to Music Rhythm head nodding πŸŒ™ Night
Day 9 Evaluating Test Cases & Edge Cases 🀦 Facepalm / Debugging Hand to forehead transform β˜€οΈ Day
Day 10 Model Fully Trained & Deployed! πŸŽ‰ Celebrating Milestone Dual arm celebration & confetti blast πŸŒ™ Night

πŸ› οΈ Tech Stack & Engineering Highlights

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    PROGRESS COUNTER                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚    Frontend     β”‚    Animations     β”‚   State Engine    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β€’ HTML5         β”‚ β€’ CSS Keyframes   β”‚ β€’ ES6 JavaScript  β”‚
β”‚ β€’ CSS3 Variablesβ”‚ β€’ Orbital Math    β”‚ β€’ DOM API         β”‚
β”‚ β€’ Google Fonts  β”‚ β€’ SVG Vector Propsβ”‚ β€’ Confetti API    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

1. Advanced CSS Keyframe Mechanics

Each SVG character state leverages precise transform-origin positioning and smooth @keyframes curves. For example, the Day 10 celebration animation uses dual arm rotation keyframes with alternating direction loops:

.person.day10 .arm-left {
  animation: celebrate 0.7s infinite alternate ease-in-out;
  transform-origin: 40px 90px;
}
.person.day10 .arm-right {
  animation: celebrate 0.7s infinite alternate-reverse ease-in-out;
  transform-origin: 80px 90px;
}
@keyframes celebrate {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(-55deg); }
}

2. Trigonometric Orbital Sky System

Rather than abrupt background changes, the celestial engine calculates sun and moon positions along a circular orbit path via JavaScript requestAnimationFrame:

function setOrbitPositions(sunDeg, moonDeg) {
  sunOrbit.style.transform = `rotate(${sunDeg}deg)`;
  moonOrbit.style.transform = `rotate(${moonDeg}deg)`;
  
  const isNight = (sunDeg % 360) >= 180;
  sky.classList.toggle("night", isNight);
  document.body.classList.toggle("night-mode", isNight);
}

πŸ“‚ Project Structure

Progress-Counter/
β”œβ”€β”€ .github/
β”‚   └── ISSUE_TEMPLATE/
β”‚       β”œβ”€β”€ bug_report.md       # Standardized bug reporting format
β”‚       └── feature_request.md  # Template for suggesting features
β”œβ”€β”€ .gitignore                  # Clean git ignore configuration
β”œβ”€β”€ CONTRIBUTING.md             # Community contribution guidelines
β”œβ”€β”€ LICENSE                     # MIT License
β”œβ”€β”€ README.md                   # Project documentation & overview
β”œβ”€β”€ Style.css                   # Modular stylesheet, themes & keyframes
β”œβ”€β”€ index.html                  # Semantic markup & SVG character states
└── script.js                   # Orbital physics, DOM controller & state engine

πŸš€ Quick Start

No build tools or installation dependencies required! Simply open the project in any web browser.

Option 1: Direct File Open

  1. Clone this repository:
    git clone https://github.com/adel-noufal/Progress-Counter.git
  2. Open index.html in your favorite web browser.

Option 2: Live Local Server

If using VS Code, launch using the Live Server Extension or run:

npx serve .

πŸ’‘ Key Learnings from iSchool Challenge

  • CSS Timeline Control: Gained deep hands-on mastery over @keyframes, transform-origin, bezier easing curves, and CSS variables.
  • SVG Animation Dynamics: Learned how to manipulate individual SVG child nodes (<rect>, <ellipse>, <path>) dynamically via CSS classes.
  • Interactive UI Architecture: Implemented smooth state transitions, audio-visual feedback loops, and dynamic day/night theme synchronizations.

πŸ“„ License

Distributed under the MIT License. See LICENSE for more details.


Created with ❀️ by Adel Noufal during the iSchool Web Development Course

If you found this project creative or helpful, give it a ⭐ on GitHub!

About

No description, website, or topics provided.

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages