What it does
Our application is a heart rate monitor for your email, showing high level statistics about how many new/response emails you are sending/receiving on a weekly basis. You can create teams and measure performance against peers.
Check it out
Register to see your statistics http://statusbot.azurewebsites.net/Account/Login
How I built it
Asp.net, RestSharp, Bootstrap, Morris charts, Azure. The application currently queries the Context.IO API whenever a user's dashboard is viewed and we cache those statistics within our DB. The architecture is setup such that background processing can easily be enabled for a more responsive UI.
Challenges I ran into
Making a video is hard work.
Data caching creates some interesting challenges for Thread based metrics. In order to analyze an inbox and provide metrics we have to be able to do background processing and store results in a DB. This is straight forward for pure statistics like emails sent or received. For more interesting metrics, like the number of threads which never got a response, this is much harder. Because the metric relies on future activity in the account we can't just process and store. We need to create some kind of watch list to monitor for updates to these kind of metrics. Ultimately we chose to move this kind of feature into a V2 list due to the caching requirements.
What I learned
Great exposure to the Context.IO set of APIs.
What's next for Status Bot
Level 2 - Thread Statistics
- Number of in depth conversations
- Response rate / Average time to first response
- Threads about to expire (no activity after x days)
Level 3 - Gamification/Awards
- Quick Responder
- Conversation Starter
- Always on call
Level 4 - Message Analysis / Content analysis.
- Catchy Subject line
- Use of openend questions
- Short and direct vs thourough and detailed
Beyond... Integrate other forms of communication to have a larger picture of user communications.