Skip to content

dankoster/mux

Repository files navigation

⨳ tinyplanet chat

This project is just me tinkering.
Because learning and building is fun.
All from scratch. No dependencies. No AI.


The goal is...

A virtual space with all the serious communication features of Slack
... in a tiny 3D world that is game-like, but not gameified.

People shouldn't just be items in a list!
In this virtual space, people are 3d avatars.
You don't have to solve a puzzle to communicate with friends,
but you may need to go find them.

Inspired by Gather


Proof of concept: https://tinyplanet.chat/

production deploy

POC features

  • a tiny 3d planet!
  • user avatar - drag the planet to move around
  • multiple users all share the same planet
  • proximity video call - get close to another avatar to start a call (try it from your phone and computer at the same time!)
  • screen sharing - start a video call then hit the screen button
  • github auth - click the login button
  • domain name, linux server, database, etc.

Up next

There's so much potential for building fun features! Own your own planet and build it out however you want. Travel to other planets, share files as 3d objects, e2e encrypted chat, push notifications, voice only calls, shared whiteboards, funny sounds, avatar customization.


New-to-me learning for this project:


Mux? Naming things is hard. This repo started out on my laptop with the short but arbitrary name "mux", but that domain is taken. tinyplanet.chat is descriptive of what the project became and the domain was cheap, easy to say, and easy to spell correctly.

About

Peer to peer video chat in a 3D environment to learn about webRTC, SSE, websockets, threeJS, SolidJS, and web cryptography. Inspired by https://gather.town/

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages