Hi HN! Kam here. I’m the founder of Linen.dev <a href="https://linen.dev" rel="nofollow">https://linen.dev</a>, 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.<p>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.<p>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” <a href="https://www.google.com/search?q=seeing+a+weird+issue+with+flyte" rel="nofollow">https://www.google.com/search?q=seeing+a+weird+issue+with+fl...</a> or
“replace beast http with proxygen” <a href="https://www.google.com/search?q=replace+beast+http+with+proxygen" rel="nofollow">https://www.google.com/search?q=replace+beast+http+with+prox...</a>.<p>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.<p>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.<p>Here are a few communities on Linen right now:<p><a href="https://osquery.fleetdm.com/" rel="nofollow">https://osquery.fleetdm.com/</a><p><a href="https://discuss.flyte.io/" rel="nofollow">https://discuss.flyte.io/</a><p><a href="https://calendso.linen.dev/" rel="nofollow">https://calendso.linen.dev/</a><p><a href="https://community-chat.infracost.io/" rel="nofollow">https://community-chat.infracost.io/</a><p><a href="https://community-chat.signoz.io/" rel="nofollow">https://community-chat.signoz.io/</a><p><a href="https://airbytehq.linen.dev/" rel="nofollow">https://airbytehq.linen.dev/</a><p>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.<p>You can sign up for free today at <a href="https://www.linen.dev" rel="nofollow">https://www.linen.dev</a>. 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>p.s. I’m actively working on supporting Discord on Linen so would love to hear from anyone that is interested
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.
How does this not breach Slack’s TOS? I thought they specifically prohibited tools like this?<p>We used slackarchive before but it got disabled because of the ToS. The 10k message limit is specifically imposed by slack to get people to upgrade so they very much don’t want it subverted.
How does this handle privacy? Assuming these Slack conversations were originally in private communities, I'm scratching my head a bit that they are now appearing in Google results.<p>I'm guessing that essentially it is up to the Slack admin to ensure all participants have agreed to their conversations being made available to the world?
Can you see yourself offering a migration path off of Slack in the future?<p>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.
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!<p>Neat idea :)
Has anyone considered building something like this for Matrix?<p>There are lots of open-source communities there, I imagine it would be helpful for debugging (and discovery of Matrix itself).
Ugh, this is a guaranteed way to drive me out of any service that uses this. If it’s your intent to create an unsafe environment, you’re succeeding admirably. Google indexing is the biggest contributor to making the web unsafe for communities, and I’ve been dreading someone coming up with this for years.
Congratulations on the launch! It looks helpful and easy to use.<p>Two bits of feedback:<p>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.<p>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: <a href="https://osquery.fleetdm.com/t/5378/Anyone-can-point-me-to-some-good-tutorial-guide-docs-about-h" rel="nofollow">https://osquery.fleetdm.com/t/5378/Anyone-can-point-me-to-so...</a>).
If you could add GitHub-like Notifications, where the user has to explicitly mark a message as read, that would be golden.<p>I can't count how many messages I have missed on Slack because Slack assumed that I read them when in fact I did not.
This is a nice looking product and looks valuable. It pains me to watch all these communities exist in such ephemeral places like slack or discord though. Forums still work and are awesome!
Is this GDPR compliant? Because both porting user data around to what I assume is American servers as well as maintaining the ability of users to delete personal data seems to not be possible if slack channels are being scraped by this. Honestly it also looks like this just breaks Slack's TOS.