WishStar

WishStar

WishStar

WishStar

Role & Time:

Role & Time:

Role & Time:

Solo project, Jan. 2026

Scope:

Scope:

Scope:

Creative Coding, Gesture-Based Interaction, Real-Time 3D

Creative Coding, Gesture-Based Interaction, Real-Time 3D

Creative Coding, Gesture-Based Interaction, Real-Time 3D

Role & Time:

Solo project, Jan. 2026

Scope:

Creative Coding, Gesture-Based Interaction, Real-Time 3D

A gesture-driven web experience where a wish turns a shooting star into a WishStar forever in the galaxy.

A gesture-driven web experience where a wish turns a shooting star into a WishStar forever in the galaxy.

Built in the browser with real-time WebGL 3D and hand tracking, iterated quickly with Gemini-assisted vibe coding.

Built in the browser with real-time WebGL 3D and hand tracking, iterated quickly with Gemini-assisted vibe coding.

A gesture-driven web experience where a wish turns a shooting star into a WishStar forever in the galaxy.

Built in the browser with real-time WebGL 3D and hand tracking, iterated quickly with Gemini-assisted vibe coding.

Client

Client

Client

Content

Content

Content

Intent
Intent
Intent
Intent

I want to design an experience where a wish leaves a trace.

People have a tradition of wishing on a shooting star, but it passes so fast the wish can feel weightless and hard to hold onto.

Transforming a shooting star into a forever WishStar is an inner thought turned into a visible point of presence in the distance. My core design goal is to make a wish feel heard and anchored, not fleeting.

Key Interaction
Key Interaction
Key Interaction
Key Interaction
Design Principle:
gestures should read as “natural metaphors”
👊 fist = grasp/capture the shooting star
🖐️ open palm = approach/unveil the solidified star
👋 wave =pan/rotate the star
Key Challenges and How I Addressed Them
Key Challenges and How I Addressed Them
Key Challenges and How I Addressed Them
Key Challenges and How I Addressed Them

Many interactive behaviors could not be resolved through high-level prompts.

💡 Features often failed to meet my expectation, I'd request specific code or metrics and adjust based on my own judgment rather than Gemini.

✅ This way, I can

  • Maintain creative control

  • Bridge design intent with technical implementation

Meteor moved fast and randomly, making it difficult to catch

User frustration and potential drop-off at early stage

💡 I constrained the start and end points to a small range to make the trajectory more predictable, and set a medium speed so the interaction felt challenging yet achievable on the first try for most users.

In early versions, meteor could still be caught when it was partially off-screen

❌ Poor experience

💡 I set a safety margin near the screen edge so meteor couldn't be captured when close to flying out of view

When palm and fist gestures were detected in rapid alternation, the scene changed just as quickly

❌ Broke emotional continuity of the narrative

💡 I added a one-second buffer between scene changes so transitions felt smoother and less glitchy

A/B Testing
A/B Testing
A/B Testing
A/B Testing
Self-View Camera
Self-View Camera
vs
vs
No Camera
No Camera

"Even though it wasn’t recording, it made me more aware of being on camera."

"Even though it wasn’t recording, it made me more aware of being on camera."

👑 "the experience is immersive and focused."

👑 "the experience is immersive and focused."

Cinematic Center Instruction
Cinematic Center Instruction
vs
vs
Bottom Action Prompt
Bottom Action Prompt

👑 "this feels more emotional, the other one feels functional."

👑 "this feels more emotional, the other one feels functional."

"the instruction has a weaker presence."

"the instruction has a weaker presence."

Stay (Vocal Song With Lyrics)
Stay (Vocal Song With Lyrics)
vs
vs
Slow Summer Eve (Pure Pinao)
Slow Summer Eve (Pure Pinao)

"the singing is more noticeable and distracting"

"the singing is more noticeable and distracting"

👑 "it's calm and peaceful. It matches the starry atmosphere"

👑 "it's calm and peaceful. It matches the starry atmosphere"

What I Would Improve
What I Would Improve
What I Would Improve
What I Would Improve

📌 Save State

save a WishStar (local storage) so returning users see their prior created stars

-> so experience feels more realistic and wish does not feel fleeting

♿️ Accessibility

alternative input mode (keyboard /mouse)

-> to include more user groups.