Inspiration
You step away from your computer or decide to take a day off. While you are at the dentist or having a Saturday, you come back to find an email thread with 30 messages piled in your inbox. What if we could consolidate that thread into something more manageable that can be read in a few minutes instead of spending all day with the fear of missing out by not participating or anxiety of catching back up with where the rest of the team is in the email discussion.
What it does
This web application provides a custom email inbox. Whenever there is an email thread, you can click the Summarize Message Thread button.
This returns:
- Thread Summary: an Abstractive Text Summarization that uses the content from all the messages to build a single consolidated summary in just a few sentences.
- Thread Insights: summary statistics of the thread to help decide whether the summary is good enough or based on the word count, number of messages, participants, and time period of the overall thread whether it is worth continuing. The time since last active can also help determine whether some action still needs to be taken or if the thread has likely concluded.
How we built it
The Nylas Quick Start provides a convenient downloadable bundle that includes keys and credentials. There are a few options for stack.
- Back-end: Node.js with the Nylas JavaScript SDK
- Front-end: React with the Nylas JavaScript APIs
Additionally, there is an integration with the Hugging Face Inference API. Specifically using the Summarization method to use the facebook/bart-large-cnn model.
Challenges we ran into
Time Time constraints are part of the point of hackathons.
Node Version Initially I was using Node.js v20.6.0 which has a build issue with vite. This tripped me up as a first-time user of Nylas because I wasn't sure if it was a uniquely Nylas problem or something else. Fortunately, I used nvm and backed up to v18 which was documented as a requirement and then everything worked beautifully.
AI Tool There are so many to choose from. Experimented with a few others, but resorted to using Hugging Face because there was a great sample already provided. I also had briefly worked on an NLTK solution of sentiment detection for threads / participants but a) wasn't sure if that would fit the spirit of the AI element to the competition and b) would require a lot more sample data since I didn't want to utilize my actual email inboxes.
Accomplishments that we're proud of
Finishing something that I'd find value from in my day-to-day work.
What we learned
- How to use the Nylas APIs for Messages and Threads
- How to use Hugging Face to run an AI model
What's next for Long Thread; Didn't Read
This was primarily a learning opportunity to experiment with Hugging Face and Nylas.
If I win, will need to decide how to share the prize with others (such as those contributing to open-source projects this month).
Log in or sign up for Devpost to join the conversation.