Talal Siddiqui
FeedbackSync.ai
A central place for all your product feedback. Turn scattered customer feedback into strategic insights for the entire organization with Feedback Sync, an AI-driven app for Slack.
Responsibilities
I am hired as Full-Stack MERN Developer and have to develop the Slack Application along with Web App. Client has provided me the designs in Figma, which i have developed using Ant-Design.
A proposed architectural diagram with technologies and languages
Project Scope:
Phase 1
a.) Basic Slack app that sends user text into a database. Basic example attached as Slack development portal here: https://api.slack.com/apps/A050QKPA2LQ/general?.
b.) Allow users to attach custom fields to that text.
c.) Three simple outputs from the DB that will be presented in a basic WebUI + Slack automated message
Phase 2
a.) Zendesk API to add tickets to DB
b.) ChatGPT API to provide search query within above WebUI & slack interface
Frontend & Backend
I have designed the application using the following stack
Next.js
Ant-Design
OpenAI - LLM
MongoDB
Node.js with Express.js
OpenID Authentication - Slack Login
Slack App using Bot Framework
GraphQL for APIs
Redux Toolkit
Slack App
I have used the Slack Bot Framework to developed the application. The app is designed to use the shortcuts, commands and Forms in Modal. Slack App also integrates in multiple channels in order to read the data of channels and push the data in the database.
I have created the Modal Forms in Slack App. The user fill out the form for each feedbacksync. The turning point is to handle the slack feedbacks in to an pipeline of channel messages. All messages are being processed and saved in the database.
I have enabled Token Rotation to make it secure and also fulfillment the slack app submission requirement.
Weekly notifications is being send using Slack App using Cors method.
Integrations
I have spent a large portion of time in handling the multiple integrations. such as
Jira
Fogbender
Zendesk
G2
HubSpot
Weaviate
I have used the Direct API for Zendesk and G2. The rest is being integrated using slack app.
I have used GraphQL for APIs. It is very good for listening subscriptions and fetching specific data from the database.
LLM - Weaviate
All the embeddings of the feedback data is being stores in Weaviate. I am handling the API request to perform the similar functions.
Stripe
Stripe is being used as a payment gateway.
I have used Stripe extensions of Firebase. This help us to sync the data between the stripe and Firebase.
I managed Stripe subscriptions, customer portal using their pre-builtin pages.
Create Stripe customer during the signing process.