Skip to content

ECHOES OF LIGHT is an experimental, concept-level website that transforms user presence into art. Every cursor movement, scroll, click, and moment of stillness creates unique visual responses from liquid light trails to particle vortexes, from rippling distortions to aurora-like effects.

Notifications You must be signed in to change notification settings

OwaisZakir/Echoes-Of-Light

Repository files navigation

Created by Owais Zakir

โœจ ECHOES OF LIGHT โœจ

React TypeScript Framer Motion Tailwind CSS Vite Canvas API

๐ŸŒŒ An Awwwards-level interactive experience where your presence paints the digital canvas with light

Live Demo โ€ข Features โ€ข Installation โ€ข Tech Stack โ€ข Performance


๐ŸŽฏ About

ECHOES OF LIGHT is an experimental, concept-level website that transforms user presence into art. Every cursor movement, scroll, click, and moment of stillness creates unique visual responsesโ€”from liquid light trails to particle vortexes, from rippling distortions to aurora-like effects.

This project explores the boundaries between user interface and digital art, creating a mesmerizing experience that feels alive and responds uniquely to each visitor.

"Your presence becomes art. Every gesture leaves traces of luminescence."

Created by Owais Zakir | ยฉ 2024-Present


โœจ Features

๐ŸŽจ Multi-Layer Visual System (Optimized)

Layer Effect Interaction
0 Deep Space Gradient Ambient backdrop
1 Liquid Glow Effect Mouse-following glow
2 Liquid Metaballs Organic blob attraction
3 Particle Vortex Galaxy spiral following cursor
4 Fluid Wave Lines Velocity-reactive flow
5 Aurora Particles Idle-triggered emergence
6 Light Trails Cursor painting
7 Click Ripples Tap/click bloom
8 Liquid Cursor Multi-layered glow cursor

๐Ÿ–ฑ๏ธ Interaction Modes

  • Movement โ€” Creates flowing light trails and attracts particles
  • Hover โ€” Text characters morph and glow individually
  • Click/Tap โ€” Sends ripples through the visual layers
  • Scroll โ€” Triggers parallax transformations and wave effects
  • Idle โ€” Awakens dormant aurora particles

โšก Performance Optimized

  • No WebGL dependencies โ€” Pure Canvas 2D API for maximum compatibility
  • Throttled animations โ€” 24-30fps target for smooth experience without battery drain
  • Device pixel ratio optimization โ€” Capped at 1.5x for performance
  • Memoized components โ€” React.memo for all canvas components
  • Passive event listeners โ€” Non-blocking mouse tracking

๐Ÿ” Full SEO Implementation

  • Semantic HTML5 structure with proper landmarks
  • Dynamic meta tags with react-helmet-async
  • JSON-LD structured data
  • Open Graph & Twitter Card meta
  • Accessible ARIA labels
  • Dynamic year in copyright

๐Ÿš€ Installation

# Clone the repository
git clone https://github.com/owaiszakir/echoes-of-light.git

# Navigate to project directory
cd echoes-of-light

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

๐Ÿ› ๏ธ Tech Stack

Core Framework

Technology Version Purpose
React 18.3.1 UI Component Library
TypeScript 5.x Type-Safe Development
Vite 5.x Build Tool & Dev Server

Styling & Animation

Technology Purpose
Tailwind CSS Utility-First Styling
Framer Motion Declarative Animations
Canvas 2D API High-Performance Graphics
Custom CSS Glow Effects & Gradients

Performance & SEO

Technology Purpose
react-helmet-async Dynamic Meta Tags
React.memo Component Memoization
requestAnimationFrame Optimized Animation Loop

UI Components

Technology Purpose
shadcn/ui Accessible Components
Radix UI Headless Primitives
Lucide React Icon System

โšก Performance

Optimization Techniques Used

โœ… Canvas 2D instead of WebGL โ€” Better compatibility, no shader overhead
โœ… Throttled to 24-30fps โ€” Smooth visuals without battery drain
โœ… Device Pixel Ratio capped at 1.5x โ€” Prevents excessive canvas size
โœ… Passive event listeners โ€” Non-blocking scroll & mouse events
โœ… React.memo on all canvas components โ€” Prevents unnecessary re-renders
โœ… useCallback for event handlers โ€” Stable function references
โœ… useMemo for static data โ€” Prevents recalculation
โœ… Reduced particle counts โ€” Fewer objects, same visual impact

Lighthouse Scores Target

Metric Target
Performance 90+
Accessibility 100
Best Practices 100
SEO 100

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ AuroraParticles.tsx      # Idle-triggered floating particles
โ”‚   โ”œโ”€โ”€ BackgroundAurora.tsx     # Ambient background effects
โ”‚   โ”œโ”€โ”€ FluidDistortion.tsx      # Canvas-based wave lines (optimized)
โ”‚   โ”œโ”€โ”€ FloatingElement.tsx      # Generic float animation wrapper
โ”‚   โ”œโ”€โ”€ GlitchText.tsx           # Subtle text glitch effect
โ”‚   โ”œโ”€โ”€ GlowingText.tsx          # Stroke-reveal text animation
โ”‚   โ”œโ”€โ”€ InkReveal.tsx            # Scroll-triggered ink wash reveal
โ”‚   โ”œโ”€โ”€ LightTrailCanvas.tsx     # Cursor light trail painter
โ”‚   โ”œโ”€โ”€ LiquidBlobs.tsx          # Organic metaball shapes (optimized)
โ”‚   โ”œโ”€โ”€ LiquidCursor.tsx         # Multi-layered custom cursor
โ”‚   โ”œโ”€โ”€ MagneticButton.tsx       # Cursor-attracted buttons
โ”‚   โ”œโ”€โ”€ MorphingText.tsx         # Character-level hover effects
โ”‚   โ”œโ”€โ”€ ParticleVortex.tsx       # Galaxy spiral particles (optimized)
โ”‚   โ”œโ”€โ”€ RippleEffect.tsx         # Click bloom effect
โ”‚   โ”œโ”€โ”€ ScrollWaves.tsx          # Scroll-driven light waves
โ”‚   โ””โ”€โ”€ WebGLDistortion.tsx      # Lightweight liquid glow (optimized)
โ”œโ”€โ”€ hooks/
โ”‚   โ”œโ”€โ”€ useMousePosition.ts      # Global mouse tracking
โ”‚   โ””โ”€โ”€ useIdle.ts               # Idle state detection
โ”œโ”€โ”€ pages/
โ”‚   โ””โ”€โ”€ Index.tsx                # Main experience page (SEO optimized)
โ””โ”€โ”€ index.css                    # Design tokens & global styles

๐ŸŽจ Color Palette

Color HSL Usage
Midnight Deep hsl(250, 40%, 4%) Background base
Glow Teal hsl(170, 70%, 55%) Primary accents
Glow Rose hsl(340, 80%, 70%) Secondary accents
Glow Violet hsl(270, 60%, 60%) Tertiary accents
Aurora Gold hsl(45, 90%, 65%) Highlight accents

๐ŸŽฎ Interactions

Mouse/Touch

๐Ÿ–ฑ๏ธ Move       โ†’ Light trails follow cursor
๐Ÿ–ฑ๏ธ Hover      โ†’ Text morphs, buttons attract
๐Ÿ–ฑ๏ธ Click      โ†’ Ripples expand outward
๐Ÿ–ฑ๏ธ Fast Move  โ†’ Increased trail intensity

Scroll

๐Ÿ“œ Scroll Down โ†’ Parallax transformations
๐Ÿ“œ Scroll Up   โ†’ Reverse parallax
๐Ÿ“œ Into View   โ†’ Ink reveal animations

Idle (3+ seconds)

โธ๏ธ Stop Moving โ†’ Aurora particles emerge
โธ๏ธ Stay Still  โ†’ Ambient light breathing

๐ŸŒŸ Inspiration

This project draws inspiration from:

  • Bioluminescent ocean phenomena
  • Aurora Borealis light shows
  • Liquid light art installations
  • Award-winning experimental websites on Awwwards & FWA

๐Ÿ“œ License

MIT License โ€” feel free to use, modify, and distribute.


Created with ๐Ÿ’œ by Owais Zakir

An experiment in presence โ€ข Dynamic Year: Auto-updated

Made with Eren Jeager

Made with Shaikh Muhammad Raheem

About

ECHOES OF LIGHT is an experimental, concept-level website that transforms user presence into art. Every cursor movement, scroll, click, and moment of stillness creates unique visual responses from liquid light trails to particle vortexes, from rippling distortions to aurora-like effects.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •