David Pierce Software Engineer

Projects

Eversound

Eversound is an exploration in distributed personal amplification using WebRTC.

The inspiration for this project came from a failure to plan well. At an event where I was supposed to speak, the organizing team realized we would not have a PA system available. I ended up having to yell for most of the evening.

I looked at the room and noticed everybody in the room had a laptop or an Internet-connected device with speakers in them. The month before, I learned about WebRTC:

WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs.

This project allows a broadcaster to open a named channel that peers can connect to given the appropriate URL. The platform streams the audio input from the broadcaster's microphone to the speakers of all connected devices.

Technologies Used

  • WebRTC
  • JavaScript and HTML5
  • Require.js
  • Socket.io
  • Node.js

Known Issues and Future Plans

This is still very early technology. I'm tracking known bugs and incomplete implementations among desktop and mobile browsers.

There are also potential latency issues I need to explore given network quality and computation required for visual processing.

Once those are ironed out, I will work on making the publish and subscribe workflow easier.

What's for Dinner

What's For Dinner is a simple tool to help friends and family plan meals together. It pushes changes to people working on a given meal plan in real time to build the final shopping list.

The inspiration is primarily how my wife and I plan our weeks. We realized that planning our meals together led to healthier diet, less wasted food, and smarter spending. However, it was difficult to plan while we were both at work without better tools.

What's For Dinner lets us plan together, even when we can't be in the same room.

Technologies Used

  • Angular.js
  • Angular Material
  • Socket.io
  • Node.js
  • MongoDB