Whispering Pines  Apple-Style Scroll Animation Website | HTML CSS JavaScript Final Year Project

Whispering Pines Apple-Style Scroll Animation Website | HTML CSS JavaScript Final Year Project

A scroll-controlled forest animation built with plain HTML, CSS and JavaScript — no React, no build step, no npm install. Open index.html and it just runs.

Technology Used

HTML5 | CSS3 | Vanilla JavaScript | Canvas 2D API | IntersectionObserver | Python (OpenCV frame extraction)

codeAj
codeAjVerified
🏆5K+ Projects Sold
Google Review
1991999

Get complete project source code + Installation guide + chat support

Project Files

Get Project Files

What This Project Actually Does

You scroll. A forest animation plays. That's the whole idea, and it's the same trick Apple uses on their AirPods and MacBook product pages.

Under the hood there's no video playing. A source clip was chopped into 192 separate JPEG images beforehand, and as you scroll down the page, JavaScript works out how far you've come as a number between 0 and 1, converts that into a frame number, and paints that exact image onto an HTML <canvas>. Scroll faster, frames flip faster. Scroll backwards and the animation runs in reverse. Stop halfway and it freezes on frame 96.

The rest of the page is a proper single-page website built around that hero — an about section, animated counters, feature cards, a parallax quote panel, and a call-to-action block. Everything sits inside one index.html file.

Key Features

  • 192-frame scroll-scrubbed canvas hero. Every pixel you scroll maps to a frame that's already loaded in memory, so there's zero lag between your thumb and the screen.
  • All frames preloaded before scrolling unlocks. You never hit a blank canvas mid-scrub because the page waits for the full set of frames/frame_0001.jpg through frame_0192.jpg before it lets the effect start.
  • Redraws throttled with requestAnimationFrame. Scroll events fire dozens of times a second on a trackpad. This one repaint-per-frame limit is exactly why the animation doesn't stutter.
  • Manual cover-crop maths inside drawImage. The canvas fills a 13-inch laptop and a 6-inch phone without squashing the trees.
  • Four count-up stat numbers that start ticking only when they enter the viewport, using IntersectionObserver — not a setTimeout hack.
  • Fade-and-slide reveals on every content section via a single shared .reveal class, completely separate from the canvas logic so one can't break the other.
  • Sticky-positioned viewport pinning. A 300vh tall spacer section decides how long the animation runs — change that one CSS value and the whole scrub gets slower or faster.
  • Python + OpenCV extraction script included so you can swap in your own video, re-run the loop, update FRAME_COUNT, and have a completely different animation.

Real-World Applications

This isn't a to-do list app pretending to be a product. Scroll-driven storytelling is what agencies actually charge lakhs for.

Where you'd genuinely see this pattern

  • Product launch microsites — phone rotating as you scroll, watch strap unwrapping, car doing a 360
  • Tourism and hospitality landing pages, which is literally what Whispering Pines is dressed up as
  • Real estate walkthroughs where a drone shot advances with the scroll instead of a play button
  • Annual report and campaign pages for NGOs and brands
  • Your own portfolio — this single page will get you more freelance replies than five CRUD dashboards

Who Should Buy This

If you're a BCA or BSc IT student with a mini-project deadline in eight days and a guide who keeps saying "kuch different karo," this is your shortcut. It looks expensive. It's actually plain HTML, CSS and JavaScript, which means you can explain every single line in your viva without pretending to understand a framework you installed yesterday.

It's also solid for BTech CSE students who want a front-end heavy submission, or for anyone building a portfolio piece that makes a recruiter stop scrolling. Not the right pick if your syllabus demands a database, login system and admin panel — there's no backend here at all. Be honest with yourself about that before you buy.

Browse more browser-based builds in our HTML CSS JavaScript projects with source code collection, or check the full web development final year projects category if you need something with a server behind it.

One thing that's genuinely hard

Performance. The frames/ folder is around 23 MB for 192 JPEGs, and every one of them loads before the animation starts. On college wifi that first load can feel slow, and if you deploy this as-is to a free host, your examiner might be staring at a blank hero for a few seconds. Fixing it means converting to WebP, dropping to every second frame, or serving 960px-wide versions. Doable, but it's real work and you should budget an evening for it.

One thing that's easier than it looks

There is nothing to install. No npm install, no virtual environment, no Node version mismatch at 1 AM. Double-click index.html and the whole site opens in Chrome. That's it. Most students expect a scroll animation like this to need GSAP or Three.js — it needs neither.

Why CodeAj

You get the complete source — the single index.html with its markup, styles and script, all 192 extracted frames, the original MP4 for reference, and the OpenCV extraction snippet. The college-format project report comes with it, covering the frame-versus-video decision, the sticky positioning approach and the rAF throttling logic, so you're not writing methodology from scratch at 3 AM. And if something breaks or your guide asks you to swap the forest for your own footage, our project setup and mentorship support covers that till submission.

Frequently Asked Questions

You will get the complete source code along with an installation guide and chat support to help you set up and understand the project.
All our projects are thoroughly tested multiple times, so the code is completely error-free. But in case you still face any issue, you can reach out to us on WhatsApp (+91 8603862290) and we will fix it and provide you the updated code.
You can book a 1-on-1 Setup & Explanation Session where we connect via AnyDesk and Google Meet, set up the project on your laptop, and explain the complete code working and flow.
No, you cannot re-sell the project. This is completely illegal and a violation of our terms. If we find any such activity, we will take legal action.
Nope. No npm install, no pip install, no virtual environment. Unzip the folder, double-click index.html, and it opens in Chrome. That's the whole setup. Python and OpenCV only come into the picture if you decide to swap the forest clip for your own video later.
There's no video element on the page at all. The clip was chopped into 192 separate JPEGs beforehand, and JavaScript paints whichever frame matches your scroll position onto a canvas. The first version of this project did use a video tag with video.currentTime, and it stuttered badly on Safari because seeking a video is asynchronous. Images on a canvas are instant.
Yeah, and it's the most common change students make. Run the OpenCV loop that's included on your MP4, let it dump frame_0001.jpg onwards into the frames folder, then change FRAME_COUNT near the top of the script block in index.html to match your new total. That's it.
Depends on your college. If your department wants a database, login system and admin panel, this alone won't clear it — there's no backend here. But as a mini project, a front-end elective submission, or a portfolio piece, it's genuinely strong because the technique is what real product pages use.
They will ask, and yes you can. It's about 400 lines of readable JavaScript in one file. The logic is: figure out how far through the tall section you've scrolled as a number from 0 to 1, multiply that by 191 to get a frame index, draw that image. Everything else is styling and IntersectionObserver reveals.
Because all 192 frames download before the animation unlocks, and that's roughly 23 MB. On decent wifi it's a few seconds. Before your demo, convert the JPEGs to WebP or use every second frame instead of every frame — both cut the payload a lot and the motion still reads fine.
It does. Position sticky, IntersectionObserver and Canvas 2D all work in current mobile browsers including iOS Safari. The canvas does its own cover-crop maths so the forest fills a portrait screen without stretching.
The full index.html with markup, styles and script, all 192 frame JPEGs, the original forest-scroll.mp4 for reference, the OpenCV extraction snippet, and the college-format project report. Nothing held back, nothing locked.
Installation Guide

Extra Add-Ons Available – Elevate Your Project

Add any of these professional upgrades to save time and impress your evaluators.

Project Setup

We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).

Source Code Explanation

1-hour live session to explain logic, flow, database design, and key features.

Want to know exactly how the setup works? Review our detailed step-by-step process before scheduling your session.

999

Custom Documents (College-Tailored)

  • Custom Project Report: ₹1,500
  • Custom Research Paper: ₹1,000
  • Custom PPT: ₹800

Fully customized to match your college format, guidelines, and submission standards.

Project Modification

Need feature changes, UI updates, or new features added?

Charges vary based on complexity.

We'll review your request and provide a clear quote before starting work.

Project Files

GoogleReviews

What Our Students Say

4.9(38+ reviews)
Google review 1
Google review 2
Google review 3
Google review 4
Google review 5
Google review 6
Google review 7
Google review 8
Google review 9
Google review 10
Google review 11
Google review 12
Google review 13
Google review 14
Google review 15
Google review 16
Google review 17
Google review 18
Google review 19
Google review 20
Google review 21
Google review 22
Google review 23
Google review 24
Google review 25
Google review 26
Google review 27
Google review 28
Google review 29
Google review 30
Google review 31
Google review 32
Google review 33
Google review 34
Google review 35
Google review 36
Google review 37
Google review 38
⭐ 98% SUCCESS RATE
  • Full Development
  • Documentation
  • Presentation Prep
  • 24/7 Support
Chat with us