zlacker

Show HN: Non.io, a Reddit-like platform Ive been working on for the last 4 years

submitted by jjcm+(OP) on 2023-06-12 16:54:38 | 1943 points 589 comments
[view article] [source] [go to bottom]

Heya HN, I've been working on a reddit-like platform as my primary side project for the last few years. Doing a (very) soft launch today, mainly because I want to use it to encourage discussion of alternatives.

How non.io works:

1. Free to browse, paid to interact.

2. Minimum subscription is $2 (though you can choose more). I take $1 to run the servers, everything left gets split evenly between everything you upvote that month.

It's a simple model, but I hope it's a better one than the freemium model we've been relying on for the last few years. Fundamentally I feel like any ad-supported network doesn't have alignment between the needs of the users and the needs of the platform, which is what drove me to make this.

Because this is a soft launch, if you do subscribe I'd encourage you not to pay for the time being. I'm still testing the distribution algorithm for returning funds - you won't get overcharged or anything, but I just want to guarantee your funds are properly distributed at the end of the month. I've opened up free accounts to post and interact in the meantime. If you want to try a test account, use this login:

login: hackernews pw: helloworld

Edit: Loginless browsing here: https://non.io/#all

If you want to browse the code or the api:

https://api.non.io

https://github.com/jjcm/nonio


NOTE: showing posts with links only show all posts
◧◩
7. jjcm+J7[view] [source] [discussion] 2023-06-12 17:17:46
>>darkst+T2
Fair. I removed login requirements for browsing. You should be able to see all posts here: https://non.io/#all

As a disclaimer, this is truly me just launching today, there's only 4 posts currently.

8. jshred+T9[view] [source] 2023-06-12 17:24:01
>>jjcm+(OP)
I like the idea and am curious to see how well / if this gains traction. Nice UI, although I'm having trouble actually subscribing on the financials page, and it seems to show demo data?

Great job launching something!

https://pasteboard.co/eRp2eCMwkExq.png

◧◩
10. jjcm+1d[view] [source] [discussion] 2023-06-12 17:32:06
>>jshred+T9
Yep, still working through the financial aspects. The financials page is definitely demo data!

This link should let you subscribe: https://non.io/admin/first-time-signup if you're really keen. That said, I've allowed all functionality on the free tier for the time being until I get things like that financials page complete.

11. cryoz+3e[view] [source] 2023-06-12 17:35:39
>>jjcm+(OP)
You should post this on /r/RedditAlternatives/ as well if you haven't already. Also, clickable link: https://non.io/#all
◧◩
17. jjcm+9f[view] [source] [discussion] 2023-06-12 17:38:23
>>unshav+Zc
I have, but I think the two of these feel like different models. I want to encourage people to contribute back to creators, and doing that across the fediverse is a very difficult problem to solve. A few platforms are trying to do it, but it does come with performance/payout barriers.

I wrote up about reddit alternatives here https://non.io/reddit-has-platform-user-misalignment , and one of the things I call out is that what we need is a better fundamental model. Federated approaches may very well be that, and if one "wins", I think we'll end up in a better spot. I personally prefer a standard hosting architecture along with aligning user and platform demands, as this comes with some benefits over a federated architecture. I may be wrong here though - each definitely has pros and cons.

◧◩
23. jjcm+sg[view] [source] [discussion] 2023-06-12 17:41:41
>>cryoz+3e
I did, but they weren't a fan of the paid model for interaction: https://www.reddit.com/r/RedditAlternatives/comments/147qzfb...
◧◩
26. jjcm+Jg[view] [source] [discussion] 2023-06-12 17:42:45
>>f1shy+og
Sorry I don't have a mobile css yet. Working on some designs here however: https://www.figma.com/file/DStwulDd9Vd3TLjrMuxZ9y/nonio-desi...
◧◩
47. SkyMar+aj[view] [source] [discussion] 2023-06-12 17:51:02
>>root_a+Ih
Mostly agree. The screenshot in the top right looks good, like professional app I might actually use. But I want to actually browse the site and check it out without first slogging through a registration process. If it’s free to view/browse anyway, then enable doing that without registering. Register and pay if you want to post.

Edit: You can browse without registering after all, here’s the link: https://non.io/#all (didn’t see it on the landing page or OP post).

70. EGreg+Ql[view] [source] 2023-06-12 18:00:16
>>jjcm+(OP)
Make it costly for creators to actually post something. They can recoup in upvotes. That's the proper incentive structure ... by posting you're imposing on other people actually, and their attention. If what you posted recoups and goes on to get you a lot of points, great! But if you posted crap, make that be costly.

In fact, make "upvotes" be zero-sum transfers from the user to another. They have a limited amount and their upvotes will mean something. If you have downvotes then I guess the person is willing to lose that amount, just so the other guy does also.

Here is the full tokenomics: https://community.qbix.com/t/preventing-spam-and-sybil-attac...

◧◩
79. janals+om[view] [source] [discussion] 2023-06-12 18:01:48
>>root_a+Ih
On the flip side, the fact that this is a crowded space means that there’s a demand for it. And this isn’t a Reddit clone, it has a business model which is pretty close to the best anyone could hope for in my opinion. In any case, I applaud any efforts that could unseat Reddit or make them reconsider their greedy hard line.

I encourage the creator of Non.io to identify the key shortcomings of Reddit and improve upon them. Don’t just try to clone Reddit beyond the basic image/link board, otherwise you’ll just be playing their game. Change the game. There is a Folding Ideas video on this topic which has some great insights with respect to YouTube: https://youtu.be/r3snVCRo_bI

◧◩
87. jjcm+ln[view] [source] [discussion] 2023-06-12 18:04:55
>>afterb+jl
Going directly to a tag view will let you browse without logging in: i.e. https://non.io/#all or https://non.io/#dog

I've still got plenty of work to do on the UX of the site!

◧◩
98. jjcm+No[view] [source] [discussion] 2023-06-12 18:10:09
>>dom96+5o
Thank you! A lot of sweat went into those. The frontend is pure vanilla js, and all of those animations are hand coded.

Backend is in go.

Source is here: https://github.com/jjcm/nonio

104. Flying+7p[view] [source] 2023-06-12 18:11:14
>>jjcm+(OP)
I've spent enough time [Edit: on HN] to remember App.net¹ which was launched with similar fanfare but was shut down after few painful years of trying to find a PMF. The lesson I learned from that saga was HN might not be the best place to validate your product. We're too smart to diss even good ideas like DropBox.

Go and talk to your potential customers and I hope the App.net story gives you some inspiration.

1: >>4372985

2: >>13387723

106. Aicy+vp[view] [source] 2023-06-12 18:12:42
>>jjcm+(OP)
I just created a new account using the free tier, and then afterwards decided I would like to play.

I went to my profile, clicked on "view financials", but when I press "Change Subscription Amount" the page just freezes. Why won't you let me give you my money?

Having a look in the console... Every time I press the "Change Subscription Amount" button there is a 500 API error from https://api.non.io/stripe/subscription and this is printed: {error: 'no customer for the user'}

116. jazzyj+kq[view] [source] 2023-06-12 18:15:26
>>jjcm+(OP)
Reminds me of retroshare, which is fully peer to peer and anonymizing. Anyone here try it before? Meant for closed communities and not open/global so a different niche I suppose

https://retroshare.cc/

◧◩
118. Aicy+Bq[view] [source] [discussion] 2023-06-12 18:16:34
>>Aicy+vp
I also tried paying at this link https://non.io/admin/first-time-signup

I entered my card details, and now it is stuck on a loading system where the "Subscribe" button used to be

◧◩
119. jjcm+Kq[view] [source] [discussion] 2023-06-12 18:16:58
>>chillb+Xh
100%. I'm still working on it. I announced today without it purely because of what's happening with Reddit. Mobile designs are here: https://www.figma.com/file/DStwulDd9Vd3TLjrMuxZ9y/nonio-desi...

Probs will be another month before I get the branch merged however.

◧◩◪
168. nomel+JB[view] [source] [discussion] 2023-06-12 18:53:07
>>jjcm+J7
I just went to http://non.io and see something that is/looks like an ad "a platform for supporting creators", and some documentation/sales pitch, rather than content. This is not remotely like reddit.com, or hacker news. Why don't I see content?

This is a very bad user experience, for a main page to go directly to, what should be, http://non.io/about. Don't give me a long pamphlet explaining mundane details that I can't comprehend who would care about, let me see what it actually is, and test drive it, without having to know/type some magic url.

I suggest sitting someone new down, who isn't excited to be there, and have them type http://non.io, and carefully observe what happens.

◧◩
171. lanza+jC[view] [source] [discussion] 2023-06-12 18:54:38
>>idiots+oh
Ditto. I hate this idea. We all know the type of content that revenue drives: https://www.youtube.com/watch?v=rE3j_RHkqJc. I want a site that rewards quality, not view counts.
174. goncal+tC[view] [source] 2023-06-12 18:54:56
>>jjcm+(OP)
So posts need to have a unique/custom path directly under the main domain?

https://non.io/avo-jump

Sounds like a recipe for disaster. At least it should be in a sub-path (/post/?), and probably include some sort of unique id.

210. Zamico+pI[view] [source] 2023-06-12 19:18:10
>>jjcm+(OP)
I'm concerned about the `#` character in the URL.

# means fragment and that's kept local and not sent to the server unless client side Javascript sends it to the server. I would use an identifier that doesn't already mean something to the URL.

See the URL spec here: https://www.rfc-editor.org/rfc/rfc3986#section-3.5 We are using this in a lot of our projects, like https://github.com/Cyphrme/URLFormJS#query-parameters-fragme... (and https://github.com/Cyphrme/Path)

For an example where this is relevant: https://cyphr.me/ed25519_tool/ed.html#?msg_encoding=Text&msg...

◧◩
214. jjcm+5J[view] [source] [discussion] 2023-06-12 19:21:00
>>vinnym+yg
Definitely problematic. I have a local branch that has mobile css that's ~60% complete. Designs for it are here: https://www.figma.com/file/DStwulDd9Vd3TLjrMuxZ9y/nonio-desi...

Aiming to have mobile css in a couple weeks time. Apologies for the poor experience!

227. leeoni+CL[view] [source] 2023-06-12 19:32:36
>>jjcm+(OP)
on a desktop display i would expect some kind of limit on content width, plus centering. right now the content is left-aligned to about 15% of the full page width: https://non.io/#all
◧◩◪
236. mburns+oO[view] [source] [discussion] 2023-06-12 19:44:50
>>googlr+cm
Saidit has a (mostly) compatible API by running a fork from when Reddit was still open source. It isn't a drop-in replacement but most of the core API endpoints are the same. Things like modmail, live threads, collections are exclusive to Reddit, for example.

Not sure the community is welcoming or even interested in the potential growth, tbh. But it exists.

https://saidit.net/dev/api

◧◩◪◨⬒⬓
240. jjcm+TP[view] [source] [discussion] 2023-06-12 19:51:09
>>moffka+Ix
The html upload is my favorite part and the one I'm most scared about. This post is actually an html upload: https://non.io/reddit-has-platform-user-misalignment

One issue though is automatically resizing the iframe for the frontend. I have a protocol for iframes to request their own size, which this script leverages: https://html.non.io/nonio-embedded-page.js

I'll likely create a setting to automatically inject that script into html uploads.

244. gpmcad+7R[view] [source] 2023-06-12 19:55:02
>>jjcm+(OP)
First of all thanks for sharing this!

Secondly, not sure if anyone has mentioned this before but in Safari on macOS there's something odd happening. On the page I see a small '1Password' popup and when I click it, it asks me to to unlock 1Password.

However I don't see any login form on the page and I don't see any other text input fields so I'm not sure why this would be.

I'm sure it's a perfectly innocent bug but it's probably something you want to address otherwise maybe it might put some people off.

See screenshots: https://imgur.com/a/3CcDFcg

Best of luck with the app!

◧◩◪
252. ctenb+oS[view] [source] [discussion] 2023-06-12 19:59:50
>>digita+En
https://non.io/#all
◧◩◪
254. ctenb+zS[view] [source] [discussion] 2023-06-12 20:00:50
>>98code+Pj
There is https://non.io/#all
282. phendr+301[view] [source] 2023-06-12 20:29:07
>>jjcm+(OP)
There's no way to get from https://non.io/#all back to https://non.io without manually editing the browser URL?

Is this a real project or another collect-HN-users-IP-addresses scheme?

300. double+241[view] [source] 2023-06-12 20:43:49
>>jjcm+(OP)
So, I signed up, paid and I am already concerned by the financial information page.

1: Within the financial page, I have a wallet of $844.33 -- Can you elaborate on what this is?

2: https://non.io/admin/financials appears accessible by all.

a: I selected $7 for my monthly subscription, however the financial page displays as $9.

b: I can't amend the amount nor can I cancel my subscription. The UI buttons are not working on Chromium & Firefox on FreeBSD.

c: What are all these other contributions?

3: Your support page leads me to GitHub, I don't own a GitHub account.

4: Text editor is so very broken: https://non.io/itsverybroken

Maybe maintenance mode is required? Good for the first stress test and I've learnt a lesson of maybe not paying for something that's not a final product ;) Although hope to see these improvements.

◧◩◪◨
302. kraftm+a41[view] [source] [discussion] 2023-06-12 20:44:09
>>bardak+CZ
I took a stab at this a long time ago and I came up with two solutions,

The first is an account setting for the user that allows them to hide all comments from people that arent part of any community that the post shows up in: https://github.com/kraftman/TenTags.io/blob/bc6f3046dda4815b...

The second is to allow filtering all of the comments by the communities the comments came from: https://github.com/kraftman/TenTags.io/blob/dev/api-cdn/view...

◧◩◪◨⬒
313. mrtran+871[view] [source] [discussion] 2023-06-12 20:56:30
>>Zetice+u21
To be clear, that’s not how I use the platform (I’m not sure I’ve ever searched that way). But it’s a common enough pattern that there have been widely read articles referencing it:

> This means you’ll no longer have to add “Reddit” to your searches when you’re looking for thoughts from actual humans, not empty answers from websites just trying to get clicks.

https://www.theverge.com/2022/4/20/23034024/brave-search-fea...

> It turns out that almost 70% of polled readers add 'Reddit' to their search results at least sometimes.

https://www.androidauthority.com/reddit-web-search-queries-p...

I can’t say that it’s a substantial portion of Reddit’s traffic, of course. But clearly it’s not just a mrtranscendence idiosyncrasy.

363. sepbot+Do1[view] [source] 2023-06-12 22:17:57
>>jjcm+(OP)
https://html.non.io/.well-known/Motherfucking%20Website.html
378. highma+Es1[view] [source] 2023-06-12 22:38:30
>>jjcm+(OP)
In concept very similar to https://steemit.com/
379. subles+Ns1[view] [source] 2023-06-12 22:38:59
>>jjcm+(OP)
Title seems oddly similar to another “Reddit-like” post from today!

Show HN: FlingUp, a Reddit-like platform Ive been building for the last 2 years (https://flingup.com)

396. update+BA1[view] [source] 2023-06-12 23:20:39
>>jjcm+(OP)
Looks like the website has been overwhelmed with spam, and, possibly hacked/exploited [1]. It looks like someone has been able to create directories & upload scripts [2]?

I do bug bounty in my spare time so this was an interesting live find.

[1] https://non.io/expoity

[2] https://html.non.io/upload-demo.html

414. kyle-r+UI1[view] [source] 2023-06-13 00:17:18
>>jjcm+(OP)
Pretty cool! I would consider changing your URL patterns though. It's not ideal to change them after launch, but it will be harder to change them a year from now if/when you run into issues.

1. Using '#' in URLs is not great.

  - When requesting a page, the browser doesn't include anything after the hash, which means:
  - Tag pages rely solely on client-side routing — they'll never work with JS disabled. You might not support no-JS right now, but if you ever want to allow for it in the future, it's incompatible with hash-based routing.
  - SEO will probably be impacted; not sure how well crawlers deal with hash-based routing.
  - If someone links to non.io/#dog on social media, I think the opengraph preview will also ignore the hash.
If you want client-side routing, you should use a library or the JS history API[0]. That way you can use normal URLs and potentially support server-side rendering to allow for no-JS clients.

2. Putting user-generated URLs at the root of your site could be bad.

  - Keep that namespace for yourself: what if you want to make a page at non.io/support but someone already named their post 'support'?
  - Some stuff needs to be at the root (currently non.io/robots.txt 404s and seems to be trying to render a post).
  - There are other standards that look for specific URLs, or non-standards: e.g. BlueSky was authenticating domain names in a dumb way [1]
To be fair, Twitter does put usernames at the root (not sure if they regret that), but they have some careful exceptions (/home, /i/, etc). If you don't want to switch your post URLs away from the root, you should at least set aside some of the useful URL real-estate.

If you do decide to make these changes, you should try and set up redirects for any existing URLs, at least for a while.

[0] https://developer.mozilla.org/en-US/docs/Web/API/History

[1] >>35820368

443. mikema+pW1[view] [source] 2023-06-13 01:57:20
>>jjcm+(OP)
Awesome! I added a post about accessibility. Since the accessibility community is getting hit hard by the reddit API cost. Let's see a more accessible platform than reddit. https://non.io/a11y

For anyone not aware, read about r/blind here: https://twitter.com/rumster/status/1668004686610178048

◧◩◪◨⬒⬓
448. lonk11+lX1[view] [source] [discussion] 2023-06-13 02:06:23
>>z3t4+ZF1
I'm building https://linklonk.com which works this way - you get content ranked based on what you upvoted. This is to make the incentives for voting aligned and help prevent abuse.

I think the problem with karma/reputation systems is that the source of karma are fungible - anyone's upvote has the same effect on the reputation. And this makes it gameable.

A personalized system can solve this by replacing global reputation with user-to-user trust. Now it matters who upvoted - a random bot or a user whose past contributions have been useful to you.

463. temon+o92[view] [source] 2023-06-13 03:46:53
>>jjcm+(OP)
nice, https://ibb.co/w72r31d
◧◩◪
480. creesc+fp2[view] [source] [discussion] 2023-06-13 05:43:42
>>jjcm+sg
I don't mind A paid model for interaction personally, but as others have pointed out it is difficult to make the call when you can't view the content.

You already did open up your content, but personally I'd lead with that. Make lurking free and any interaction part of the subscription. This would include posting content, as it does remove the most blatant spam and gaming of the system.

Having said that, while I do think it is commendable that you want to reward the people that provide content, I am not sure if you should do so based on votes. Because that will just make it so people will try to game the system with clickbait and fluff content.

As we are on HN anyway:

"The Fluff Principle: on a user-voted news site, the links that are easiest to judge will take over unless you take specific measures to prevent it."

Source: Article by Paul Graham (the guy that started HN and funded reddit way back in the day) http://www.paulgraham.com/hackernews.html.

What this means is basically the following, say you have two submissions:

1. An article - takes a few minutes to judge. 2. An image - takes a few seconds to judge.

So in the time that it takes person A to read and judge he article person B, C, D, E en F already saw the image and made their judgement. So basically images will rise to the top not because they are more popular, but simply because it takes less time to vote on them so they gather votes faster.

Some things out the top of my head you can do to mitigate this are:

- Don't tie it to voting, make it a different action people have to explicitly give. Basically reddit gold, but then still with the monetary reward tied to it. - In addition to that, don't make it an infinite resource people but a monthly budget people can spend (this might already be the case? I didn't check too closely) - Technically a bit more challenging, but if you could tie it to engagement time in addition to votes it would mitigate the fluff content issue somewhat. Some metrics you might be able to use are time spend in comments, time between clicking on an outbound link and voting (don't count votes with no outbound interaction either), etc.

As a seperate thought, I am not sure if there are liability issues when you reward posted content with money. Not all posted content will be owned by the person posting it, but they are effectively being paid for it. So that might make you as a platform more liable for copyright claims and such. Not a lawyer though, just something I thought of.

485. vladst+2t2[view] [source] 2023-06-13 06:11:56
>>jjcm+(OP)
Can https://non.io/#all just become a part of https://non.io homepage? So that the marketing goes first, and #all goes after it.
498. janand+GB2[view] [source] 2023-06-13 07:18:26
>>jjcm+(OP)
There is a platform that has some similar ideas, it's called Stacker News. I especially like the idea of splitting income between the builers/hosters and posters and voters of posts.

Furthermore, each comment under a post can earn by being upvoted.

See: https://stacker.news/faq

◧◩◪◨⬒⬓⬔⧯
534. lonk11+183[view] [source] [discussion] 2023-06-13 11:40:18
>>pbhjpb+nw2
Yes, it requires keeping track of how much each user trusts each other user. And then when you rank content for user A, you use the trust table of user A as weights of upvotes.

This is more computationally intensive than sorting by the raw number of upvotes or weight upvotes by karma/popularity.

But I think this is a useful computation - the user can be more confident that the content they is is not astroturfed and comes from trustworthy users.

Details of how trust is calculated: https://linklonk.com/item/3292763817660940288

536. chriss+Bc3[view] [source] 2023-06-13 12:05:16
>>jjcm+(OP)
When I load the all page, I get an alert that just says "1", which feels like it's probably a successful XSS attack. Given that, I can't justify putting my credit card number directly into the site. If it took Paypal, Apple Pay, or similar I would absolutely give it a try for a few months.

Screenshot of the alert (imgur marked it as nsfw because it includes a thumbnail of a post that is mildly nsfw): https://imgur.com/a/TmwO1jg

The likely culprit: https://imgur.com/a/rJrLxfn

◧◩
544. Psycho+3i3[view] [source] [discussion] 2023-06-13 12:36:46
>>chriss+Bc3
It appears that it is the post at https://non.io/xss
◧◩◪◨⬒
555. jeremy+Sx3[view] [source] [discussion] 2023-06-13 13:59:37
>>Zetice+rs3
Paying the servers is not enough. For it to have a future, it really needs paid employees. See also: https://www.lesswrong.com/posts/ZpDnRCeef2CLEFeKM/money-the-...
[go to top]