Inspiration

I dislike videochats and feel they are a poor substitute for real conversations, specifically because the audio contains a lot of noise caused by aliasing of the signal. Real conversations involve background noise, reverberation of the audio signal in the environment, and signal decay. Conversations with multiple individuals are made worse by the fact that all participants are heard "equally" well. Holding the equivalent of a party on a conference call or video call is simply chaotic.

I wanted to find the simplest interface that could allow me to simulate the way sound defines our experience at a venue with multiple individuals talking at once. I wanted this simulation to take into consideration the distances between individuals (in this case, avatars of users logged in), and walls or obstructions that increase signal decay by absorbing certain frequencies. After building a simple prototype of the app, I realised that it could be useful for businesses such as coffee shops, pubs and restaurants, which serve as community spaces where people meet to have discussions "in parallel".

What it does

The app has "venues" which are replicas of physical spaces, shops, offices, or conference centres. These venues are similar to chat rooms. Once a user connects to a specific venue, they are linked by browser P2P (using WebRTC) to other users in the venue. The position of their avatar within this space defines how they hear other users and sound sources.

Using the app I could visit my local teashop and "meet" friends there, while hearing the usual background chatter of the place. While I am there, I am exposed to the teashop brand and products, and am probably more likely to order some of their tea as a result of this "visit".

How I built it

The app is serverless, using WebRTC to transmit data between users, AWS API Gateway as the signalling mechanism for establishing connections, and EC2 instances as STUN/TURN servers. The app interface is hosted as a static site on AWS S3 via AWS CloudFront. All data and files are stored statically, meaning that the only significant cost of the project is the TURN server, which requires a number of EC2 instances to serve as relays (depending on usage).

Challenges I ran into

I had intended to make the project as low-budget as possible, and the TURN server is the real snag here. However, given that audio data is relatively compact (compared to video), the cost could be covered by a small commission on sales made through businesses.

Accomplishments that I'm proud of

All the solutions I implemented are relatively simple. I'm glad that I was able to build the prototype in two days and get things moving.

What I learned

Especially when you work on a not-for-profit project, it is crucial to consider your business model so as to be sustainable. In addition, from initial user feedbacks I have learned that the main challenge of allowing parallel conversations on a chat app is echo cancellation and reducing feedback.

What's next for Auxshift

Auxshift has some initial pilot businesses that are trying it out as a way to hold virtual meetings or running a virtual (interactive) business presence. Next is to bring in more businesses and get more feedback. My goal is to encourage businesses to be proactive in maintaining customers during this challenging period, and also to create new opportunities for social interaction we are all missing at present.

Built With

Share this project:

Updates