AR Development
Spatial Design
Interaction design
AR asteroids
AR Asteroids is a small AR game built to run natively on Snapchat using Lens Studio and JavaScript.
Year :
2025
Industry :
Tech (Augmented Reality)
Client :
SnapChat
Project Duration :
6 weeks
1 week
overview
This project is a lightweight Asteroids-inspired game built natively for Snapchat using Lens Studio and JavaScript. My goal was to design a playful, accessible Augmented Reality (AR) experience that feels natural inside Snapchat’s interaction patterns, while still exploring real-time game systems like spawning, scoring, and state management.
Rather than simply shipping a visual effect, I wanted to build a complete, interactive game that runs smoothly as a Lens, something users can instantly understand and play within seconds.



the idea
I set out to recreate the classic “destroy the asteroids” arcade mechanic, but adapted for AR and mobile-first interaction.
Because Snapchat users expect fast, intuitive experiences, I focused on:
Minimal learning curve
Tap-based interaction
Lightweight performance
Clear visual feedback
The challenge was balancing game logic with Lens Studio’s AR environment while keeping everything responsive inside the camera view.
SCENE & SYSTEM SETUP
Camera Architecture
I started by structuring the hierarchy inside Lens Studio.
Created an AR Camera as the base scene
Attached a UI Camera for interface elements
Added a Canvas to house all UI components
This separation allowed me to keep gameplay visuals and UI logic independent while ensuring consistent layering and performance.


UI & Feedback
Using the UI Canvas, I designed:
Instructions
Score counter
Life counter
These values update dynamically during gameplay, giving players immediate feedback when they collect or destroy asteroids.
Keeping the UI simple was intentional, Snapchat lenses need to communicate quickly without cluttering the screen.

asteroid system
For the asteroids, I used Lens Studio AI to generate the base asset.
Instead of creating multiple asteroid types, I deliberately used one clean, reusable model to keep the experience lightweight and focused.
Rather than duplicating objects manually in the editor, I handled everything through code.
How it works:
An Asteroid Spawn script duplicates instances at runtime and controls where and when asteroids appear
Objects are recycled to maintain performance
This made the game scalable without bloating the scene hierarchy.
Game Logic & Architecture
I structured the project using modular scripts:
Game Manager → controls overall state, score, and lives
Spawner → handles asteroid generation
Asteroid Behavior → movement + collision
UI Controller → updates text dynamically
Keeping these systems separate made debugging easier and allowed me to iterate quickly.



Design Decisions
Originally, I experimented with a traditional shooting mechanic using bullets.
However, during testing, it felt unnatural for Snapchat.
So I pivoted.
Instead of forcing a classic control scheme, I adopted tap interaction, something users already understand inside the app.
This made the experience:
More intuitive
Faster to learn
More aligned with platform behavior
It reinforced an important lesson:
good design isn’t about complexity, it’s about context.
Originally, I experimented with a traditional shooting mechanic using bullets.
However, during testing, it felt unnatural for Snapchat.
So I pivoted.
Instead of forcing a classic control scheme, I adopted tap interaction, something users already understand inside the app.
This made the experience:
More intuitive
Faster to learn
More aligned with platform behavior
It reinforced an important lesson:
good design isn’t about complexity, it’s about context.

what i learned
This project helped me understand:
Real-time spawning systems
Scene architecture in AR
Performance considerations on mobile
Designing mechanics around user habits, not personal preference
More than anything, it strengthened my ability to think like both a developer and a product designer.
final result
The final Lens runs smoothly inside Snapchat, with responsive gameplay and minimal setup for the user.
Tap, play, compete — instantly.
👉 Try it here: https://snapchat.com/t/7dAsLsTi
AR Development
Spatial Design
Interaction design
AR asteroids
AR Asteroids is a small AR game built to run natively on Snapchat using Lens Studio and JavaScript.
Year :
2025
Industry :
Tech (Augmented Reality)
Client :
SnapChat
Project Duration :
6 weeks
1 week
overview
This project is a lightweight Asteroids-inspired game built natively for Snapchat using Lens Studio and JavaScript. My goal was to design a playful, accessible Augmented Reality (AR) experience that feels natural inside Snapchat’s interaction patterns, while still exploring real-time game systems like spawning, scoring, and state management.
Rather than simply shipping a visual effect, I wanted to build a complete, interactive game that runs smoothly as a Lens, something users can instantly understand and play within seconds.



the idea
I set out to recreate the classic “destroy the asteroids” arcade mechanic, but adapted for AR and mobile-first interaction.
Because Snapchat users expect fast, intuitive experiences, I focused on:
Minimal learning curve
Tap-based interaction
Lightweight performance
Clear visual feedback
The challenge was balancing game logic with Lens Studio’s AR environment while keeping everything responsive inside the camera view.
SCENE & SYSTEM SETUP
Camera Architecture
I started by structuring the hierarchy inside Lens Studio.
Created an AR Camera as the base scene
Attached a UI Camera for interface elements
Added a Canvas to house all UI components
This separation allowed me to keep gameplay visuals and UI logic independent while ensuring consistent layering and performance.


UI & Feedback
Using the UI Canvas, I designed:
Instructions
Score counter
Life counter
These values update dynamically during gameplay, giving players immediate feedback when they collect or destroy asteroids.
Keeping the UI simple was intentional, Snapchat lenses need to communicate quickly without cluttering the screen.

asteroid system
For the asteroids, I used Lens Studio AI to generate the base asset.
Instead of creating multiple asteroid types, I deliberately used one clean, reusable model to keep the experience lightweight and focused.
Rather than duplicating objects manually in the editor, I handled everything through code.
How it works:
An Asteroid Spawn script duplicates instances at runtime and controls where and when asteroids appear
Objects are recycled to maintain performance
This made the game scalable without bloating the scene hierarchy.
Game Logic & Architecture
I structured the project using modular scripts:
Game Manager → controls overall state, score, and lives
Spawner → handles asteroid generation
Asteroid Behavior → movement + collision
UI Controller → updates text dynamically
Keeping these systems separate made debugging easier and allowed me to iterate quickly.



Design Decisions
Originally, I experimented with a traditional shooting mechanic using bullets.
However, during testing, it felt unnatural for Snapchat.
So I pivoted.
Instead of forcing a classic control scheme, I adopted tap interaction, something users already understand inside the app.
This made the experience:
More intuitive
Faster to learn
More aligned with platform behavior
It reinforced an important lesson:
good design isn’t about complexity, it’s about context.
Originally, I experimented with a traditional shooting mechanic using bullets.
However, during testing, it felt unnatural for Snapchat.
So I pivoted.
Instead of forcing a classic control scheme, I adopted tap interaction, something users already understand inside the app.
This made the experience:
More intuitive
Faster to learn
More aligned with platform behavior
It reinforced an important lesson:
good design isn’t about complexity, it’s about context.

what i learned
This project helped me understand:
Real-time spawning systems
Scene architecture in AR
Performance considerations on mobile
Designing mechanics around user habits, not personal preference
More than anything, it strengthened my ability to think like both a developer and a product designer.
final result
The final Lens runs smoothly inside Snapchat, with responsive gameplay and minimal setup for the user.
Tap, play, compete — instantly.
👉 Try it here: https://snapchat.com/t/7dAsLsTi
AR Development
Spatial Design
Interaction design
AR asteroids
AR Asteroids is a small AR game built to run natively on Snapchat using Lens Studio and JavaScript.
Year :
2025
Industry :
Tech (Augmented Reality)
Client :
SnapChat
Project Duration :
6 weeks
1 week
overview
This project is a lightweight Asteroids-inspired game built natively for Snapchat using Lens Studio and JavaScript. My goal was to design a playful, accessible Augmented Reality (AR) experience that feels natural inside Snapchat’s interaction patterns, while still exploring real-time game systems like spawning, scoring, and state management.
Rather than simply shipping a visual effect, I wanted to build a complete, interactive game that runs smoothly as a Lens, something users can instantly understand and play within seconds.



the idea
I set out to recreate the classic “destroy the asteroids” arcade mechanic, but adapted for AR and mobile-first interaction.
Because Snapchat users expect fast, intuitive experiences, I focused on:
Minimal learning curve
Tap-based interaction
Lightweight performance
Clear visual feedback
The challenge was balancing game logic with Lens Studio’s AR environment while keeping everything responsive inside the camera view.
SCENE & SYSTEM SETUP
Camera Architecture
I started by structuring the hierarchy inside Lens Studio.
Created an AR Camera as the base scene
Attached a UI Camera for interface elements
Added a Canvas to house all UI components
This separation allowed me to keep gameplay visuals and UI logic independent while ensuring consistent layering and performance.


UI & Feedback
Using the UI Canvas, I designed:
Instructions
Score counter
Life counter
These values update dynamically during gameplay, giving players immediate feedback when they collect or destroy asteroids.
Keeping the UI simple was intentional, Snapchat lenses need to communicate quickly without cluttering the screen.

asteroid system
For the asteroids, I used Lens Studio AI to generate the base asset.
Instead of creating multiple asteroid types, I deliberately used one clean, reusable model to keep the experience lightweight and focused.
Rather than duplicating objects manually in the editor, I handled everything through code.
How it works:
An Asteroid Spawn script duplicates instances at runtime and controls where and when asteroids appear
Objects are recycled to maintain performance
This made the game scalable without bloating the scene hierarchy.
Game Logic & Architecture
I structured the project using modular scripts:
Game Manager → controls overall state, score, and lives
Spawner → handles asteroid generation
Asteroid Behavior → movement + collision
UI Controller → updates text dynamically
Keeping these systems separate made debugging easier and allowed me to iterate quickly.



Design Decisions
Originally, I experimented with a traditional shooting mechanic using bullets.
However, during testing, it felt unnatural for Snapchat.
So I pivoted.
Instead of forcing a classic control scheme, I adopted tap interaction, something users already understand inside the app.
This made the experience:
More intuitive
Faster to learn
More aligned with platform behavior
It reinforced an important lesson:
good design isn’t about complexity, it’s about context.
Originally, I experimented with a traditional shooting mechanic using bullets.
However, during testing, it felt unnatural for Snapchat.
So I pivoted.
Instead of forcing a classic control scheme, I adopted tap interaction, something users already understand inside the app.
This made the experience:
More intuitive
Faster to learn
More aligned with platform behavior
It reinforced an important lesson:
good design isn’t about complexity, it’s about context.

what i learned
This project helped me understand:
Real-time spawning systems
Scene architecture in AR
Performance considerations on mobile
Designing mechanics around user habits, not personal preference
More than anything, it strengthened my ability to think like both a developer and a product designer.
final result
The final Lens runs smoothly inside Snapchat, with responsive gameplay and minimal setup for the user.
Tap, play, compete — instantly.
👉 Try it here: https://snapchat.com/t/7dAsLsTi