Tiny Earth
Spatial Social Media






Tiny Earth is a collaborative project I worked on with Jo Berns and Sam Shorr from John, Rick & Fritz.
It's a spatial content aggregation and voice chat room system.
I was the lead developer of the project and I programmed it mostly in Javascript.
To build the front-end, I used Three.js, with a DOM using Vue.
For the back-end, I ran a node and web socket server hosted in a DigitalOcean droplet with a secure HTTPS domain.
I also used WebRTC to add the voice chat features.


You start the Tiny Earth experience by choosing a name and customizing a character.


You can chat with other users using text or voice. You can also upload content either locally or from a url. Images, audio files, and voice messages can all be posted on Tiny Earth and stored on our servers. All content can be edited, moved, or deleted afterwards as well.








You can also add portals that send you to other areas of the world, and you can create seperate rooms and populate them with their own content.




Earlier Iterations of Tiny Earth
We are still working on optimizing and improving Tiny Earth, but even bringing it to the level it is right now took a lot of trial and error and a lot of experimenting. I thought it might be worth it to share with you some earlier versions of the project.



