How It Works
Share an article you like in the #reading-room Slack channel
Browse through the communally-curated list in a simple web-based reader
Read at your viewing leisure, with threaded Slack discussions preserved below each article
Everything renders in clean, readable typography without ads or clutter
Notes from Building
Keeping links up to date
The first version of Reading Room was straightforward: forward an email and we’d save it in our database. For the Slack version, we wanted it to feel a little more automatic. We learned a lot from Creative Differences, where we tried to pull just song and album links out of the constant river of Slack music chatter. There, speed didn’t matter too much, so we used a background job that ran every few hours.
Here, it felt like it does. When someone posts a link, you want to click in and read it right away. So we used a two-part approach:
Real-time updates make the app feel snappy. The fallback makes sure we never lose a link.
“It’s just rendering HTML… right?”
People share articles from everywhere: New York Times, Medium, personal blogs, Substack newsletters. Every site structures HTML differently. We had to take that chaos and convert it into a clean, consistent format.
You can’t just scrape content and drop it on a page. We needed to:
Fetch and parse the HTML
Clean and sanitize it
Style it (using Tailwind’s arbitrary variant syntax)
And most importantly, sanitize everything to prevent XSS attacks
And of course… some sites blocked us entirely.
Some required JavaScript to render content. Some had paywalls. Some nested the real article six divs deep. For blocked sites, we simply show a link and let users click through.
Once you realize you’re slowly rebuilding a web browser, it really makes you appreciate how well an app like Paprika works.
We’ve been testing Reading Room 2.0 internally, but if you have a Slack channel where people share articles or news, give us a shout. We’d be happy to set you up to test it out too.