<story><title>Show HN: Radiopaper – Troll-resistant public conversations</title><url>https://radiopaper.com/explore</url><text>Hi HN! We&amp;#x27;re a bootstrapped team of 4 and have been building Radiopaper for around 16 months alongside other full-time, part-time, and consulting jobs.&lt;p&gt;I wanted to highlight a couple of the unique characteristics of Radiopaper that may not be immediately apparent when browsing &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;explore&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;explore&lt;/a&gt;&lt;p&gt;* It&amp;#x27;s possible to interact with Radiopaper entirely by email, and never log-in interactively. The notification emails contain context that explains that if you reply to the email, your message will be published on &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;radiopaper.com&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;radiopaper.com&lt;/a&gt;&lt;p&gt;* The key mechanism that makes Radiopaper different from other social networks, and more resistant to trolling and abuse, is that messages are not published until the counterparty replies or accepts your comment. You can read more about this in our manifesto at &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;about&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;about&lt;/a&gt;&lt;p&gt;The technical stack is a Vue&amp;#x2F;TypeScript app talking to an API backend written in Go, running on Cloud Run, and using Firestore for persistence, Firebase Auth for authentication.&lt;p&gt;Email processing is handled through the Gmail API hooked up to a Cloud Pubsub notification which triggers another Cloud Run service. Outbound emails go through SendGrid.&lt;p&gt;The whole stack &amp;quot;scales-to-zero&amp;quot;, and on days that we have a few hundred active users, we&amp;#x27;re still under the free limits of Firebase Hosting, Cloud Run &amp;amp; Firestore, so this has allowed us to operate for a long time without funding or revenue. Our overall burn rate is around $40&amp;#x2F;month, mostly from the smattering of other SaaS offerings we use: Sentry, Mixpanel, Github &amp;amp; SendGrid.&lt;p&gt;Dave &amp;amp; I discuss our tech stack in a little more detail in this  conversation:
&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;conversation&amp;#x2F;4PsvfxLX2Q5NHLBs8nuN&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;conversation&amp;#x2F;4PsvfxLX2Q5NHLBs8nuN&lt;/a&gt;&lt;p&gt;The team (myself, daave, davidschaengold, youngnh) will be around to answer any questions!</text></story><parent_chain><item><author>taspeotis</author><text>It is simple and I do like it, but I also worry that the counterparty can simply not accept your comment and always have the last word.&lt;p&gt;So there is a reduced incentive to invest your time in writing a reply.</text></item><item><author>linkdd</author><text>&amp;gt; The key mechanism that makes Radiopaper different from other social networks, and more resistant to trolling and abuse, is that messages are not published until the counterparty replies or accepts your comment.&lt;p&gt;My mind is blown at how simple and elegant this solution is!&lt;p&gt;Great work there.</text></item></parent_chain><comment><author>davidschaengold</author><text>Once a conversation is published, you can no longer choose not to accept your counterparty&amp;#x27;s messages. However, if you choose not to respond to further messages in that conversation, your counterparty&amp;#x27;s additional messages will be considered &amp;quot;post-scripts,&amp;quot; which do not cause a conversation to rise to the top of the Explore page. The effect is that, while no user can claim the last word from a counterparty, you can make it unlikely for a conversation to be seen by simply allowing the other user to have the last word.</text></comment>
<story><title>Show HN: Radiopaper – Troll-resistant public conversations</title><url>https://radiopaper.com/explore</url><text>Hi HN! We&amp;#x27;re a bootstrapped team of 4 and have been building Radiopaper for around 16 months alongside other full-time, part-time, and consulting jobs.&lt;p&gt;I wanted to highlight a couple of the unique characteristics of Radiopaper that may not be immediately apparent when browsing &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;explore&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;explore&lt;/a&gt;&lt;p&gt;* It&amp;#x27;s possible to interact with Radiopaper entirely by email, and never log-in interactively. The notification emails contain context that explains that if you reply to the email, your message will be published on &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;radiopaper.com&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;radiopaper.com&lt;/a&gt;&lt;p&gt;* The key mechanism that makes Radiopaper different from other social networks, and more resistant to trolling and abuse, is that messages are not published until the counterparty replies or accepts your comment. You can read more about this in our manifesto at &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;about&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;about&lt;/a&gt;&lt;p&gt;The technical stack is a Vue&amp;#x2F;TypeScript app talking to an API backend written in Go, running on Cloud Run, and using Firestore for persistence, Firebase Auth for authentication.&lt;p&gt;Email processing is handled through the Gmail API hooked up to a Cloud Pubsub notification which triggers another Cloud Run service. Outbound emails go through SendGrid.&lt;p&gt;The whole stack &amp;quot;scales-to-zero&amp;quot;, and on days that we have a few hundred active users, we&amp;#x27;re still under the free limits of Firebase Hosting, Cloud Run &amp;amp; Firestore, so this has allowed us to operate for a long time without funding or revenue. Our overall burn rate is around $40&amp;#x2F;month, mostly from the smattering of other SaaS offerings we use: Sentry, Mixpanel, Github &amp;amp; SendGrid.&lt;p&gt;Dave &amp;amp; I discuss our tech stack in a little more detail in this  conversation:
&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;conversation&amp;#x2F;4PsvfxLX2Q5NHLBs8nuN&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;radiopaper.com&amp;#x2F;conversation&amp;#x2F;4PsvfxLX2Q5NHLBs8nuN&lt;/a&gt;&lt;p&gt;The team (myself, daave, davidschaengold, youngnh) will be around to answer any questions!</text></story><parent_chain><item><author>taspeotis</author><text>It is simple and I do like it, but I also worry that the counterparty can simply not accept your comment and always have the last word.&lt;p&gt;So there is a reduced incentive to invest your time in writing a reply.</text></item><item><author>linkdd</author><text>&amp;gt; The key mechanism that makes Radiopaper different from other social networks, and more resistant to trolling and abuse, is that messages are not published until the counterparty replies or accepts your comment.&lt;p&gt;My mind is blown at how simple and elegant this solution is!&lt;p&gt;Great work there.</text></item></parent_chain><comment><author>mrandish</author><text>Good point. Perhaps they could implement a feature that indicates there has been a response submitted but not yet approved. Possibly it could include when it was sent, who the reply is from, whether the approver has seen it (and when they saw it). That would at least make it apparent when someone is withholding approvals for an unreasonable time.</text></comment>