Inspiration

We all play a lot of Beat Saber, and we originally set out to make “Beat Saber, but on the web.” Somewhere along the way, that idea spiraled into something much more chaotic. We realized the most fun part wasn’t rhythm accuracy but it was using your hands in a playful, physical way. From there, palmistry was born

What it does

Palmistry is a multiplayer VR creation sandbox inspired by Infinite Craft. Players physically combine items using their hands to discover new, emergent creations. Every five minutes, a fully voiced talking toilet head delivers a quest to keep things unpredictable. Players can also send items they’ve created directly into other players’ worlds. The game tracks unique discoveries and player scores in real time, with live leaderboards updating in-game as chaos unfolds.

How we built it

The frontend is built with React Three Fiber (R3F) and three.js to handle VR interactions and physics. The backend runs on Next.js, backed by PostgreSQL, and is hosted on DigitalOcean. We used Gemini to generate item names dynamically based on player combinations with response caching to keep things somewhat consistent, and ElevenLabs to power the voiced talking toilet quest-giver. Real-time updates keep player scores and leaderboards synced live during gameplay.

Challenges we ran into

VR interaction is unforgiving, small bugs instantly feel terrible when they’re attached to your hands. Managing real-time multiplayer state, live leaderboards, and item transfers without desyncs or duplication was a major challenge. Balancing AI-generated creativity so results felt funny and meaningful required a lot of careful attention. Lastly, R3F is pretty outdated and not nice to use at all

Accomplishments that we’re proud of

We’re proud that Palmistry feels genuinely good to play in VR, especially the hand-based interactions. Getting real-time leaderboards and player scores updating live in-game was a big technical win. The talking toilet head delivering timed quests ended up being the perfect chaos catalyst, and watching players compete to discover the most unique items was incredibly satisfying.

What we learned

We learned that VR lives or dies by interaction feel, not feature count. We also learned how powerful AI can be when used as a creative amplifier rather than a replacement for design. Building real-time systems taught us a lot about synchronization, scalability, and making multiplayer feel alive instead of fragile.

What’s next for Palmistry

Next, we want to expand multiplayer features, add more quest variety, and deepen the leaderboard and progression systems. We’d love to introduce shared spaces, reactive items, and more NPCs, because one talking toilet is clearly not enough.

Share this project:

Updates