Portfolio
Loading Shiham's portfolio
Preparing the latest projects, skills, and contact paths with a quiet production-ready polish.
Initializing portfolio
Projects · Skills · Contact
Portfolio
Preparing the latest projects, skills, and contact paths with a quiet production-ready polish.
Initializing portfolio
Projects · Skills · Contact
A multi-page GSAP learning playground for frontend learners to practise tween methods, easing patterns, and interactive motion through focused browser demos.
GSAP Playground is a solo frontend learning project created to practise browser animation through focused, standalone examples. It is aimed at learners who want to study individual GSAP concepts without navigating a large application, using a card-based dashboard to open each lesson or challenge.
The repository contains 20 linked lesson and challenge pages. Implemented demos cover animated CSS properties, tween controls, Sine, Back, Elastic and Expo easing, plus gsap.to(), gsap.from(), gsap.fromTo() and gsap.set(). Interactions include playback controls, a scroll-to-top button, a moving tab indicator, an animated chart, a floating action menu, a toast, card entrances and a wave loader.
The project uses a Vite multi-page build with one HTML entry per demo, shared Tailwind-based base styles, and page-specific HTML, CSS and JavaScript. Several planned pages remain incomplete: Power and Bounce easing, four later challenge scripts, the timeline script, and parts of the Apple Dock experiment. This is therefore best presented as an in-progress learning playground.
Related projects
Jan 2026 – Jun 2026
A multi-vendor commerce platform connecting buyers, sellers, and administrators through dedicated storefronts, dashboards, payments, chat, and personalized discovery.
Static multi-page frontend built with Vite. A root dashboard links to 20 standalone HTML lessons, each combining shared Tailwind-based styles with page-specific CSS and JavaScript; Vite registers every page as a separate Rollup input. GSAP is loaded through the npm package on most pages and via CDN on the first two.
A hands-on GSAP animation learning playground built with Vite, Tailwind CSS, and JavaScript. This project was developed as a practice workspace to learn GreenSock Animation Platform concepts through small, focused animation examples and challenges.
The project includes multiple standalone lesson pages covering basic tweens, animation properties, control methods, easing functions, GSAP utility methods, and timeline-based animation concepts.
GSAP Playground is a frontend learning project created to explore how modern web animations work using GSAP. Instead of building one large application, the project is organized as a collection of small animation demos. Each page focuses on one concept, making it easier to understand, test, repeat, and improve animations step by step.
The main landing page works as a lesson dashboard where each card links to a separate animation topic.
gsap.to(), gsap.from(), gsap.fromTo(), and gsap.set()| Technology | Purpose |
|---|---|
| HTML5 | Page structure |
| CSS3 | Custom styling and page-specific styles |
| JavaScript | DOM interaction and animation logic |
| GSAP | Web animation engine |
| Tailwind CSS | Utility-first styling |
| Vite | Development server and build tool |
| No. | Page | Concept |
|---|---|---|
| 01 | Your First Animation | Basic GSAP tween animation |
| 02 | Basic Challenge | Pulsing glow animation challenge |
| 03 | Understanding Properties | Animating transform, color, scale, radius, and timing properties |
| 04 | Understanding Methods | Controlling animations with play, pause, resume, restart, reverse, repeat, kill, and yoyo |
| 05 | Power Easing | Introduction to power easing |
| 06 | Sine Easing | Smooth scroll-to-top floating button animation |
| 07 | Back Easing | Animated tab indicator with overshoot motion |
| 08 | Bounce Easing | Bounce easing practice page |
GSAP_PlayGround-main/
├── index.html
├── style.css
├── package.json
├── vite.config.js
├── public/
│ ├── logo.svg
│ ├── arrow.svg
│ ├── repeat.svg
│ ├── cover1.png ... cover20.png
│ └── apple-dock/
│ ├── arc.png
│ ├── chatgpt.png
│ ├── photos.png
│ ├── settings.png
│ ├── vscode.png
│ └── wallpaper.png
└── pages/
├── 01a_your-first-animation/
├── 01b_challenge/
├── 02a_understanding-properties/
├── 02b_understanding-methods/
├── 03a_power-easing/
├── 04a_sine-easing/
├── 05a_back-easing/
├── 06a_bounce-easing/
├── 07a_elastic-easing/
├── 08a_expo-easing/
├── 09a_apple-dock/
├── 10a_learn-to/
├── 10b_challenge-to/
├── 11a_learn-from/
├── 11b_challenge-from/
├── 12a_learn-fromto/
├── 12b_challenge-fromto/
├── 13a_learn-set/
├── 13b_challenge-set/
└── 14a_learn-timeline/
Make sure you have Node.js installed on your machine.
Recommended:
node -v
npm -v
Clone the repository:
git clone https://github.com/theShihamAhamed/GSAP_PlayGround.git
cd GSAP_PlayGround
Install dependencies:
npm install
Run the development server:
npm run dev
Open the project in your browser:
http://localhost:5173
npm run dev
Starts the Vite development server.
npm run build
Builds the project for production.
npm run preview
Previews the production build locally.
Through this project, I practiced and explored:
duration, delay, repeat, yoyo, and easegsap.to() animates from the current state to a target stategsap.from() creates entrance animationsgsap.fromTo() gives control over both start and end statesgsap.set() prepares elements before animationThe project starts with simple GSAP tweens where an element fades, scales, and moves using a few lines of animation code.
The property lessons explore how GSAP can animate values such as:
The methods lesson demonstrates how an animation can be controlled after it is created using methods such as:
play()pause()resume()restart()reverse()repeat()yoyo()kill()The easing pages show how different easing functions change the personality of an animation. Some animations feel smooth and natural, while others feel playful, snappy, elastic, or dramatic.
The project includes examples for:
gsap.to()
gsap.from()
gsap.fromTo()
gsap.set()
gsap.timeline()
These are important GSAP methods for building both simple and advanced animations.
This project includes examples such as:
Possible improvements for the project:
This project was created for learning and practice. The main goal was to understand GSAP animation fundamentals by building small, focused examples instead of only reading documentation.
Developed by Shiham Ahamed as a GSAP learning project.
This project is for educational and learning purposes.
The case-study preview is collapsed. Activate the button to make the full content available.
Aug 2025 – Oct 2025
A marketplace for verified Sri Lankan homestays, supporting guest bookings, host onboarding, admin approval, and test-mode payments.
Oct 2025 – Nov 2025
A full-stack developer Q&A platform where programmers can ask, answer, vote, save questions, explore tags, and generate AI-assisted responses.
| 09 | Elastic Easing | Animated bar chart using elastic motion |
| 10 | Expo Easing | Floating action button menu animation |
| 11 | Apple Dock | Apple Dock-style hover interaction experiment |
| 12 | Learn gsap.to() | Toast notification animation |
| 13 | gsap.to() Challenge | Sequential toast animation challenge |
| 14 | Learn gsap.from() | Card entrance animation |
| 15 | gsap.from() Challenge | Card flip animation challenge |
| 16 | Learn gsap.fromTo() | Wave loader animation |
| 17 | gsap.fromTo() Challenge | Emoji reaction bubble animation challenge |
| 18 | Learn gsap.set() | Setting initial animation state |
| 19 | gsap.set() Challenge | Initial state and visibility challenge |
| 20 | Learn GSAP Timeline | Timeline sequencing concept page |