We were inspired to build this by the fictional service of the same name portrayed in The Office, when we realized that despite being a joke on TV, it actually solves a problem that we have.
What it does
WUPHF.ME (pronounced "woof me") is a system that aggregates users' contact methods, and allows you to contact somone via every single method all at once, to get their attention. This saves you from having to hope they are looking at their email right now, or banking on their phone being near them to get a phone call. Instead, you can send a message to everything all at once.
How we built it
WUPHF.ME makes heavy use of AWS in order to facilitate unbounded unsupervised application scaling. Requests come through Route 53 and are provisioned into an auto scaling EC2 group that powers the front end user interface. Then Wuphf requests are routed to Lambda Functions to actually make the backend requests to all the diffrent APIs we work with. They automatically pull user info and auth credentials from DynamoDB, enabling us to easily scale from tens of requests to millions of requests.
Challenges we ran into
We wanted to utilize Amazon SES (Simple Email Service) to power our email service, but we found out there was a lengthy process to get to the point where we could actually send messages through it. So, we had to switch to Gmail at the last minute. We also ran into challenges with the number of APIs we wanted to implement vs. the very limited time we had available. We had lots of trouble getting Alexa to recognize and invoke our skill.
Accomplishments that we're proud of
Creating a high performance backend that was both easily scalable and easy to use.
Creating a responsive web frontend which stores all the session, authentication, and other information in DynamoDB, allowing for unparalleled scalability and flexibility.
What we learned
Every API has there own special way of doing things, and accommodating all of them can be tough to do in a seamless fashion.
I learned new design patterns using Laravel and DynamoDB to create structured, scalable applications.
What's next for WUPHF.ME
We didn't get around to creating a scheduling system that would allow users to schedule their preferred method of contact with us, so that you are not blasted every time your friend thinks it's funny; the logic to power such a system ended up being somthing that took much longer than expected.