Inspiration

I wanted to create an application users could connect to, interact with, and then drop out when they want to, but leave a mark that they had been there. The purpose of Virtuoso is to remember where users have been, where they started, and where they ended up and show this to the users that may come after them.

What it does

It transmits accelerometer data to a Node.JS server at 10 ticks per second. The server tracks all users that connect and translates the acceleration data it receives into 3D positional data. It stores the current position of all users and sends it off when requested by clients.

How I built it

The hack is composed of 3 parts: The android app that transmits data to the server, the server that tracks user positions, and the browser based client that downloads and visualizes the positional data.

Challenges I ran into

The Android accelerometer has some issues with background noise, which makes it difficult to discern the user's actual position in 3D space without large inaccuracies. The physics on the server are simply an approximation that makes for a better visualization than the raw accelerometer data would.

Accomplishments that I'm proud of

Most of the frameworks I worked with were fairly new to me, but I was able to finish a project without too much prior knowledge of them.

What I learned

I learned a lot about sever protocol and Javascript. This is my first attempt at making anything real in terms of server and web development.

What's next for Virtuoso 3D Painter

Getting a prettier visualization and an Android app that doesn't crash every five minutes.

Built With

Share this project:

Updates