Skip to main content
WebCompleted

WinterRa

An interactive year-end holiday platform with a 3D experience, budget calculator, and packing checklist.

  • Vue
  • Vue Router
  • Vite
  • Tailwind CSS
  • Three.js
  • GSAP
  • Pinia
WinterRa homepage with a snow-themed title and 3D particle effects

Overview

WinterRa is a year-end holiday platform that replaces static travel articles with an immersive 3D experience. Every feature runs entirely in the browser with no backend a budget calculator, a packing checklist, and a New Year countdown with a 3D fireworks animation.

Problem

End-of-year holiday planning is usually scattered across several separate tools (budget notes, packing lists, countdown apps), and the digital experience around the new year tends to be monotonous just a number ticking down with no sense of celebration.

Solution

WinterRa brings all of that into a single page: a budget calculator that breaks down estimated costs for transportation, accommodation, food, activities, and souvenirs; a categorized packing checklist whose progress is saved automatically on the device; and a real-time New Year countdown with a 3D fireworks background and falling snow across the page.

Features

  • Holiday budget calculator broken down by spending category
  • Packing checklist with locally persisted progress tracking
  • Real-time New Year countdown with a 3D fireworks animation
  • Falling snow effect across the whole page
  • Rotating daily inspirational quotes

Tech Stack

Vue 3 (Composition API) and Vite were chosen as the foundation for their speed and low overhead in a purely client-side app. Three.js renders the 3D fireworks animation, while GSAP drives reveal and scroll animations for smooth transitions between sections. Pinia holds centralized state (checklist progress, budget calculations) persisted to localStorage so user data survives a page reload.

Challenges

Keeping performance smooth while a 3D fireworks animation and a Canvas 2D snow effect run simultaneously was the main challenge, since everything executes entirely client-side with no server to offload work to.

What I Learned

This project deepened my understanding of running a real-time 3D animation (Three.js) alongside timeline-based animation (GSAP) within a single Vue app, and reinforced the value of local storage for backend-free apps so the user experience still feels persistent.

Result

WinterRa runs fully client-side and is accessible directly from the browser with no installation, making it a lightweight option for holiday planning from any device.

Gallery

WinterRa About page explaining the concept and project timelineHoliday budget calculator with a per-category cost breakdownCategorized packing checklist with a progress indicatorNew Year countdown with a starfield and 3D fireworks background

Links

Related Projects

  • NearBy Balikpapan homepage with SME search and featured business cards
    WebIn Progress

    NearBy Balikpapan

    A location-based directory for discovering nearby small and medium enterprises in Balikpapan.

    • vue
    • vue-router
    • typescript
    • vite
  • SafeRoute homepage showing the local risk panel and real-time weather status
    WebCompleted

    SafeRoute

    A disaster preparedness platform with an interactive risk map, real-time weather, and evacuation routing.

    • vue
    • vue-router
    • vite
    • pinia
  • DisasterSense AI homepage with a risk-check button and feature summary
    WebCompleted

    DisasterSense AI

    An early-warning system that calculates automatic disaster risk levels from real-time, location-based weather data.

    • react
    • react-router
    • typescript
    • vite

© 2026 Christian Imanuel Admojo