[HN Gopher] Show HN: Linen - Make your Slack community Google-se...
       ___________________________________________________________________
        
       Show HN: Linen - Make your Slack community Google-searchable
        
       Hi HN! Kam here. I'm the founder of Linen.dev https://linen.dev, a
       website that makes your public Slack community Google searchable.
       Linen will sync your Slack threads and make it SEO friendly so your
       community can find Slack content that was previously hidden.
       Previously I worked on a popular open source project which had a
       sizable Slack community. Slack was great for engaging with
       community members and with early sales. However as community scales
       Slack becomes this black hole where context becomes lost. Most
       public communities can't afford to pay for several hundred/thousand
       members so they are limited to 10,000 free messages. You run into
       the problem of people asking repeat questions and not searching in
       Slack. It also doesn't help that the Slack UX encourages posting
       and not searching. We experimented with Github discussions and
       Discourse but didn't want another channel to maintain and split the
       community on.  With Linen I wanted to build a tool that is very low
       maintenance without changing my current workflow. By making it
       search engine friendly and putting it on a website the community
       members can find answers to repeat questions before ever getting
       into your Slack channel. Linen is the first result that comes up on
       Google if you search for "seeing a weird issue with flyte"
       https://www.google.com/search?q=seeing+a+weird+issue+with+fl... or
       "replace beast http with proxygen"
       https://www.google.com/search?q=replace+beast+http+with+prox....
       As a side effect of syncing conversation to a website you end up
       with a very long tail of unique and relevant content for your
       community. Linen is free to use and get setup but I offer a paid
       version (I am still figuring out the pricing model for it) where
       you can get the content redirected to your own subdomain where your
       domain gets all the SEO benefits.  Linen is built with Nextjs,
       Node, Typescript, React, Prisma for the ORM and using AWS aurora
       for the Postgres db. I chose Nextjs for the server side rendering
       capabilities and wanted to share types between client side with
       Typescript. I've also enjoyed working with Prisma as the ORM since
       you don't have to write a lot of boilerplate with other ORMs. I've
       also been pretty happy with Vercel and Nextjs especially with the
       server side rendering and client side caching it provides.  Here
       are a few communities on Linen right now:
       https://osquery.fleetdm.com/  https://discuss.flyte.io/
       https://calendso.linen.dev/  https://community-chat.infracost.io/
       https://community-chat.signoz.io/  https://airbytehq.linen.dev/
       The product is very simple right now but I want to add features
       like related questions detection with semantic similarity,
       integrating with Github to notify the thread when it is finished,
       auto thread detection for conversations that aren't in thread form.
       You can sign up for free today at https://www.linen.dev. I am doing
       manual onboarding at the moment to get better feedback and to
       manually walkthrough some of the less polished parts of the
       boarding flow.  p.s. I'm actively working on supporting Discord on
       Linen so would love to hear from anyone that is interested
        
       Author : cheeseblubber
       Score  : 50 points
       Date   : 2022-04-26 15:40 UTC (7 hours ago)
        
       | forgotmypw17 wrote:
       | Can you see yourself offering a migration path off of Slack in
       | the future?
       | 
       | Your interface is much more accessible not just to Google, but
       | also to this human. I would love to have an option to migrate off
       | Slack with continuity.
        
         | cheeseblubber wrote:
         | Thanks! Not sure of the migration path off of Slack at least in
         | the near term since there is a lot of pull in to Slack since
         | most people in professional setting already is familiar with
         | the UX. I do think there is something there for a layer on top
         | of Slack or Discord where information gets moved.
         | 
         | I want to explore making this tool available for internal teams
         | once I have more features around productivity like related
         | questions, summarization and confluence/docs integration. These
         | seem useful for internal teams but need to assess whether
         | people actually want this.
        
           | avivo wrote:
           | I'd be interested in chatting about this at some point. What
           | you are considering re. meaningful aggregation and
           | summarization is connected to my thesis here:
           | https://medium.com/@aviv/when-we-change-the-efficiency-of-
           | kn... (contact info from my profile/website)
           | 
           | Also, this is very useful! Thanks for building it. (Ideally
           | it's bundled with clear info that everything people are
           | writing will be publicly searchable. Perhaps an invisible bot
           | message every month or so.)
        
       | blue_cookeh wrote:
       | I love stuff like this. With so many communities congregating on
       | Discord, Slack etc. we lose a lot of valuable information that
       | would previously have been on something publicly searchable like
       | StackOverflow. A lot of OSS has fallen into this pattern and it
       | can be truly infuriating at times.
        
         | tomwheeler wrote:
         | And not only is Slack harder to search, free Slack instances
         | limit history to 10,000 messages, so older messages effectively
         | disappear.
        
         | cheeseblubber wrote:
         | Yes! This is the exact problem I was hoping to solve with
         | Linen. I felt frustrated that there was so much good
         | information being hidden in Slack and Discord communities. I
         | also was annoyed at slack links in Github issues that leads no
         | where because it was archived historically.
        
       | [deleted]
        
       | yurishimo wrote:
       | If you can share, how do you retrieve data from the Slack group?
       | Scraping as an invited user? A public slack app? For some
       | communities, that could be a massive amount of webhook traffic!
       | 
       | Neat idea :)
        
         | cheeseblubber wrote:
         | Sure! Right now a community admin that adds Linen to your Slack
         | workspace. I have webhooks listening for any message events
         | which gets mirror and saved to the Aurora postgres DB. On
         | install I also have a cronjob that hits the Slack api and pulls
         | the old Slack conversations.
         | 
         | For scaling wise the I host the webapp on Vercel where it is
         | backed by lambda functions. I also am using AWS aurora for
         | postgres which in theory should help a ton with scaling the DB.
         | I've done Heroku db hosting before but found that AWS tends to
         | be much cheaper.
        
           | treis wrote:
           | Is there a how to or any documentation you followed to do
           | this? I wanted to do something where I consumed all the
           | messages but didn't really see how in my brief documentation
           | reading.
        
           | maxmcd wrote:
           | Since your data is append-only have you considered something
           | like just sticking all of the data in s3?
           | 
           | Might be awkward to deal with things like updating threads,
           | but just editing the s3 file containing the json response for
           | a given thread might work, and then you can skip having a
           | database entirely.
        
       | bag_boy wrote:
       | Supporting Discord would be really neat.
        
       | tomwheeler wrote:
       | Congratulations on the launch! It looks helpful and easy to use.
       | 
       | Two bits of feedback:
       | 
       | 1. The threading seems off in places. I looked at the linked
       | osquery site, and there were some top-level items that seemed
       | like replies. Maybe that's just a result of people replying in a
       | channel instead of a thread, though.
       | 
       | 2. I see character entities in code sections, instead of their
       | corresponding characters. For example, an XML snippet has tag
       | names surrounded by &lt; and &gt; instead of < and > (example:
       | https://osquery.fleetdm.com/t/5378/Anyone-can-point-me-to-so...).
        
         | cheeseblubber wrote:
         | 1. Yes it's because someone posted the reply in the channel
         | instead of a thread. I only sync threads at the moment. I have
         | some plans on tweaking the UX to fix that issue and potentially
         | some heuristics to figure out if it is talking about the same
         | subject.
         | 
         | 2. Oh good catch. We just rewrote our message rendering so
         | there is some bugs we have to fix.
        
       ___________________________________________________________________
       (page generated 2022-04-26 23:00 UTC)