Inspiration
I faced this problem multiple times at work. We use slack to communicate, and even though slack threads exist, we always end up communicating updates regarding the same topic in a different thread or even in the DMs because it's easier than coming back to a thread we started a week or two ago.
What it does
- Track all communications for a business organization
- Reorganize based on topic & construct a structured record of these communications
- Provide a single source of truth for users to track updates regarding topics, no matter where these updates were shared
How we built it
I really just built the backend to demo the concept. Here's the stack:
- Neo4j as a graph db. The reason a graphdb is good for this project is that we need to handle arbitrary search queries from the user, so we need to do query rewriting with an LLM, and relational query rewriting can get pretty complex, but Cypher is simple enough that it guarantees the LLM stays accurate when generating a complex/multi-hop query.
- Modus as the development framework. The idea behind modus is cool in the sense that they are a high-performance web framework. Think about the needs of our app: we need to handle KG-update & search by multiple simultaneous users across multiple potential organizations. Modus makes it pretty fast to do so, which enables us to do KG search in near-real-time after an insertion at scale!
- Hypermode for IaaS. I gotta say, coming from a GCP background, it was damn easy to set this one up!
Challenges we ran into
- AssemblyScript: I understand the point behind it for performance, but please for the love of God, sometimes more community support trumps performance, so I'd suggest providing a TypeScript or Python client.
- Lack of HTTP endpoints in Modus: when I initially wanted to build the complete solution, I would have had to build a middleware to translate HTTP requests from the Slack API to GraphQL queries -> unnecessary complexity.
Accomplishments that we're proud of
First time with a Graph DB & I think I like the concept!
What we learned
What's next for defrag
Add the actual Slack integration Provide a frontend for users Scale to handle multiple businesses
Log in or sign up for Devpost to join the conversation.