By connecting users with events and experiences they might never have sought out on their own, we want to encourage them to embrace serendipity and discover a new side of their city.
What it does
Tonite is an event recommendation app that allows users to use Alexa to find an event going on today for a spontaneous outing.
Feel like going out tonight, but have no idea what to do? Just ask, "Alexa, open tonite and find events in _______" if you have a specific category in mind, or simply "Alexa, open tonite" to leave it completely up to destiny. Tonite will return the most popular event (according to Eventful's popularity ranking) that hasn't started yet, and the results also includes all-day events if you're asking before 6 PM. We'll even let you know how long you have to get ready if the event has a designated start time. Tonite will also send details for the top 10 relevant events to your Alexa companion app, in case the top event doesn't appeal to you.
If you're traveling and want to know what's going on locally, tell Alexa to "open tonite and set my city to ____." Tonite will return events in this city and time zone until you set it again.
How we built it
Tonite was developed over 7 days by 4 full-stack student engineers from Dev Bootcamp. Our event search results were powered by the Eventful API. We used Ruby on Rails to interface with Alexa and to filter in the most relevant events for our users. Our engineers coordinated builds with the help of Travis CI. We tested our code with Rspec, and used Codecov to ensure that our code was at or near 100% test coverage at all times. We used Heroku to deploy Tonite live.
Challenges we ran into
Timezones are a finicky business. In particular we were learned not to assume that the timezone of a server is going to match our test environment.
This was our first project where performance was a significant issue. In some scenarios Alexa would time out before our server's response. To address this we upgraded our hosting, reduced the scope of our API queries, and refactored our code to eliminate redundant calculations.
Accomplishments that we're proud of
As a student team that has only been studying coding for a few months, we are most proud of how quickly we were able to jump into a totally new tool and produce results. In less that two weeks we have created a live tool that is genuinely useful and worth releasing.
What's next for Tonite
- Implement a companion restaurant skill or app to find food to go with the event.
- More sophisticated dialog options that remember the context of the conversation thus far.
- User testing and feedback