Have you ever been in a meeting and asked yourself - "What was that thing I was going to talk about?", or "I wonder what this meeting is all about"? Let's look at it from a different perspective. Have you ever found yourself reading a cool article or have a fleeting idea and then making a mental note to yourself: "I should totally bring this up in my 1:1 with my boss!" or "I need to talk about this at my interview with Microsoft!"?
What if you could create smart reminders that were tied to specific people you meet with or topics you meet on in the future? In other words, what if you create conversationally-savvy notes that would automatically pop-up not based on a specific time / day, but instead the context I was in. Imagine - this means you could create reminders that pop-up before a particular interview, a 1:1 with your boss, a product meeting or even personal events you have created for yourself.
This is the inspiration behind Sustain.
What it does
Sustain is chatbot that focuses on the idea of contextual reminders. More specifically, the work-life context that stems from our Calendar.
Here's how it works:
- You add the Sustain chatbot to Skype (more platforms coming soon!) and connect to your Microsoft Graph. Sustain needs access to read your calendars, files, emails and people (contacts and connections!).
- Then, you tell Sustain to create reminders for when you meet with a certain contact or on a certain topic. Don't worry, you can be as broad as you want - our AI does some savvy context matching behind the scenes.
- Sustain keeps on tracking your calendar - who you're meeting and what's you're meeting about. If you've saved a reminder tied to a person/topic, Sustain will simply message you minutes before a relevant meeting!
- In addition, you can quickly do research on work-focused websites (via custom search using Bing APIs) and your Office 365 account (email, notes and files)!
- Uber Mode: Nowadays, we often take Uber to our meetings. With Sustain's Uber integration, you get notified of relevant reminders and research right when you sit in your Uber ride - automagically!
Context & Calendar
Sustain can help you create smart reminders and research 'nudges' for calendar events like (but not limited to):
- 1:1 meetings with specific people
- Topic-focused meetings (like marketing meeting)
- Group meet-ups (like Blockchain).
- Professional Development (like goals pushed to your calendar from HR!)
- and anything that finds a place on your calendar.
How I built it
Built using Microsoft's Bot Framework (NodeJS), Azure, Microsoft Graph APIs (Calendar, Mail, OneDrive/OneNote), NLP and Uber API.
Challenges I ran into
- AI/Fuzzy detection of context from a user's calendar was the biggest challenge.
- Authentication workflow for a bot-user to be able to connect Microsoft Graph and Uber in a central bridge.
- Bot communication: proactive messaging and conversational flow for various scenarios (researching web v/s reminders)
Accomplishments that I'm proud of
- Context awareness: Sustain's reminders are designed to understand an evolving context. For instance, meetings can shuffle and you may run into people you're 'tracking' sooner than you anticipate. Sustain's reminders track context, not the time-of-day (traditional reminders). So you get appropriately notified based on events and attendees that shuffle around in your calendar.
- Building a completely conversational (bot) experience - and for an enterprise/work-focused hook!
- Utilizing the Graph as a source of 'context', rather than just a search endpoint!
- Seeing it used in my daily life - saving me tons of stickies and 'emails to self'!
What's next for Sustain
- Launch and grow: Publishing the bot via the BotFramework to additional channels (beyond Skype)
- Context & AI: We are looking to build on the calendar as the key context - e.g. adding a social component to the reminders (i.e. other people in your network can suggest actions/automated-tasks/notes based on triggers on your calendar!).
- Scaling the platform: Raising funds and resources (servers, tech-stack and team) to launch this platform publicly.