Inspiration

I really wanted to simplify asking question in a team. Asking question should be promoted in a company. I think a lot of people shy away from asking question specially if you are new in the organisation . That's when i thought i should make something which would help people to ask question in a large organisation.

Three things were important

  1. Questions should be organised by tags or categories.
  2. People should be able to reply to it.
  3. Other's can react to the replies. ( it reward the people who reply to the questions)

User flow and design

Anyone can ask a question using the /ask command. You can add a tag with the tag: format followed by the question. If a tag already exists that will be included or a new tag is created.

If you don't add a category. It will be added to general tag. (still to implement). ( Updated the app it works now.)

You can reply in the input box and your reply will appear when you enter/submit. Your reply will have your one upvote.

Upvote and downvote features are very important. If someone agrees with your reply they can upvote it else downvote to disagree. The user flow is very simple and similar to platforms like reddit, or quora.

You can get all the asks in the home view by categories. You can create an ask or a category. I think i have done a pretty good job with the home screen. I love the design there. Also slack block builder is pretty amazing. I was going to use the block builder kit npm package but i haven't.

Development

Tech stack includes boltjs, postgres , heroku, and express. I did use figma to create the app icon. I really like the app icon I must say. Block builder was heavily used to build the ui. I really love it. There should be some way that i can publish some templates.

After some trial and error ( I mean i did read the documentation as well). I was really worrying how to do something and how will i be able to complete this. It really come easy when i started building it. Took me a 1-2 week to come up with a good scheme for the database models. I really like using Prisma ORM with postgreSQL.

I think the most difficult feature to implement was the voting system. How should i connect the user data, how should voting work??? etc questions..

I was able to figure it out after a while. So, a user data is added to the database when he/she ask or replies. When upvoting there userId is saved with the upvote/downvote value to the reply. Everything is configured to the workspace id for differentiation of data. Everyone in the workspace will be able to create categories. This categories can be used by anyone in the workspace.

What it does

🖖🏻 hey,

It simplifies asking question to a group of people, people can upvote or downvote to replies.

Features

  • You can create /ask with tags/ categories.
  • Anyone can reply to the ask.
  • Others can upvote or downvote to the replies.

Commands

  1. /ask *tag: *create question to ask.

    example

    /ask help: Do you guys need help with anything.

    help ⇒ category

    Do you guys need help with anything ⇒ question.

How we built it

I am using the boltjs framework by slack to built this.

Challenges we ran into

  1. Took me some time to understand the slack platform
  2. Creating a better User Interface.

Accomplishments that we're proud of

  1. App is simple, minimalistic and well organised
  2. Using postgres as database of choice.
  3. Creating the home screen.

What we learned

  1. Building a slack app
  2. boltjs framework.

What's next for Subask

Upcoming Features
  1. Add it to slack
  2. Add oauth
  3. Close an ask
  4. Edit/delete options
  5. Awards to ask ( let' me know about this)
  6. Store user image_url in the database and use it in the UI

I have already brought the domain name subask.in here as the landing page for the app. The project is in its testing phase. I also wanted to create subscriptions for the app. I would love to add new people to this.

If you like the app and would love to complete it with me. you can email me at sharma.pratik2016@gmail.com.

User Research and Experience

When I was building slack, I never really thought about the use case and if there was any. Do people really face this problems or even my app is even good enough to solve their problems. That's when i talked to a lot of people from my linkedIn network. After talking to a lot of people who use slack regularly. I have found some use cases, problems where Subask can win as a solution/ usage.

AMA's ( suggest by slack managers, community people)

A lot of companies use slack as their community platform and they would regularly have this AMA's in their slack platform.
Common problems in AMA's

  1. Repeated questions from the people who are asking questions.
  2. Mixup of answers and questions in a channel. The Answerer has to go through each question and create a thread to reply, leading too much work for both the one's asking and answering.
  3. AMA's should be doable with one person but mostly will lead to 2 or 3 people organising the questions usually the community managers.

Subask like reddit or quora are more of a forum based interface which can succeed in AMA's. When one want's to communicate to many.

No way to ask Open questions - (suggested by Junior Developers, )

Most companies try to promote Open questions but they don't have a framework for that. They want to float to their destination of desire, ignoring the questions that even employees would have. Like why to do something.

Subask can become that framework at least in slack.

ASKING FOR HELP - (suggested by HR)

"No one is trying to help each other in this company. And the problem is that I don't even know a way to do that. Since no was is asking for help, now people are afraid to ask for help".

Built With

Share this project:

Updates