Inspiration

We started with a simple question: what if an online social space was not built around profiles, feeds, and follower counts?

Instead, we wanted each person to have a small world of their own. Other people could discover it, visit it, learn about the person through the space, and gradually build a relationship with them.

Because the hackathon theme inspired us to think about the Moon and space, we developed this idea into a small social universe where relationships are represented through physical changes in orbit.

What it does

New Moon is a playable 3D social universe where every user has their own planet and personal island.

Users first create a character and customize their planet. Different personality settings directly affect the planet's visual appearance, including its color, surface texture, and surrounding rings.

Once inside their island, users can walk around and interact with different objects. They can use a telescope to observe the surrounding universe, upload photos, save personal memories, and customize the space to reflect themselves.

Users can also scan nearby space to discover other planets and travel to another person's island.

When two users are close to each other, they can use lightweight interactions such as waving and nearby chat. Visiting another person's private space can also require permission from the owner.

One of our main mechanics is Share Gravity. When two people choose to form a closer connection, their planets enter a shared orbital state and begin moving as a binary system. The relationship therefore becomes visible in the structure of the universe itself.

For the hackathon demo, the second player is simulated locally so that the entire interaction flow can be demonstrated reliably.

How we built it

We built New Moon as a browser-based 3D experience using JavaScript, Three.js, WebGL, and Vite.

Three.js handles the 3D universe, planets, characters, camera movement, particles, orbital motion, and interactive environments.

The interface combines the 3D scene with lightweight HTML and CSS UI for onboarding, customization, scanning, chat, requests, and other interactions.

We also built a small state system to preserve customization and interaction progress locally in the browser.

For the playable hackathon prototype, multiplayer interactions are represented through a simulated peer. This allowed us to design and test the complete social interaction flow without making the demo dependent on a live multiplayer server.

Challenges

One of the biggest challenges was making the project feel like an actual world rather than a normal website with a 3D background.

We had to think carefully about camera movement, scale, orbital motion, navigation, and how users move between their personal island and the larger universe.

Another challenge was connecting social interactions to the spatial system. We did not want features such as friendship or messaging to exist only as buttons or menus, so we experimented with ways for relationships to physically affect the environment.

We also had to balance visual quality with performance and development time. Since this was built during a hackathon, we simplified some systems while keeping the main interaction loop fully playable.

What we learned

We learned that 3D interaction design requires a different way of thinking from traditional web UI.

Small details such as camera distance, movement speed, object scale, visibility, and interaction range can completely change whether a space feels intuitive.

We also learned that prototyping the full user journey early was extremely useful. Instead of building every system as production infrastructure first, we created a playable vertical slice and used it to test whether the social mechanics actually felt understandable and interesting.

What's next

The next step would be replacing the simulated second player with real-time multiplayer and cloud persistence.

We would also like to expand planet customization, allow users to build more detailed personal islands, and make relationships between multiple users create increasingly complex orbital systems.

Share this project:

Updates

Submission history