Show HN: Reddit clone built in no-code in two weeks
reggit.bubbleapps.io
reggit.bubbleapps.io
As an engineer:
- I'm constantly handed shitty (or a complete lack thereof) requirements from non-technical people. No code lets people figure out that they haven't thought something out nearly as much as they think they have. I no longer am the bearer of bad news.
- I constantly see business people undervalue the design process or skip it all together. No code is making non-technical people realize that they have to plan out before they just throw engineers at a problem.
No code is changing the dialog around this. I see that as a net positive. Of course us software engineers know the problems around no-code - we'll deal with them as we deal with all problems.
It kinda sucks we need to develop products to convince people that hired us that we might know a thing or two about building software
The imagined problem no-code addresses is business people thinking that their requirements are simple, and the source of their problems are expensive software developers and programming languages. Just get a junior business analyst to drag some boxes around, and job done. They are wrong.
This pattern has been repeated for decades now.
The other issue is that it seems doubtful the product could scale beyond a certain level in terms of traffic and also employees collaborating to add features
Access to the code base - it's hard to build on top of, or around the platform
Long-term viability - if i build my company on top of your product, how can I be sure you'll always be around?
For transparency, I am the cofounder of Budibase: https://github.com/Budibase/budibase
However, you end up with two sorts of problems if you start letting people just build solutions to whatever they like with Lego:
1. The solutions may work, but they aren't really that good. You can only do what there's Lego bricks for. When it comes time to solve the problem at the next level, the Lego stuff can be less helpful than it looks even as a prototype, as even at small scales a lot of the engineering in the Lego was solving around the limitations of Lego in the first place, rather than solving the problem per se.
2. Eventually you get people trying to build sheds and houses out of legos, struggling to put up shelves, all kinds of silly things that the solution isn't really suitable for. And there's a variety of pathologies here, too, like how they don't understand why their Lego solution isn't good enough, and why you can't just buff up their shelf since it's just that the shelf is falling over, and explaining to them that they basically just built a shed that is made out of code violations may not be very easy, etc.
There are advantages, too, like letting them get their hands on some engineering and stuff, and there are a lot of problems in the world where a Lego solution is no big deal. I don't know if I've got anything right now, but I've done it before; I had a lego setup for holding tablets & phones for charging that was better than anything I've bought, because it actually had the correct sizes for things, for instance. But there's limits.
My all time favourite was when I made a news portal for a trader who wanted to create a hub around the commodity he was trading.
It was mostly customized drupal with a few tweaks he desired, and roles for writing/reviewing/members.
Come demo time he was upset there were no news articles in his "news portal". At first I thought he wanted more lorem ipsum content to see what it would look like. But no, he really expected that I would also have written the initial news articles for his website.
I'm in a smaller org and yea, the product team definitely skimps on plenty of details. When i have to point out drastic UX flaws or impossibilities it is definitely frustrating. However i legitimately think that is what they hired for. They wanted someone (well, a team of devs) to deal with this stuff. To be the architect of their general direction.
The bigger question to me is if the positions we have that more traditionally handle a more complete design.. are they being overpaid in our org? I don't think i'm being _underpaid_ for my architect + dev hat, but i do wonder if someone else is also being paid for architect but i'm cleaning up for them lol.
I've also found that the designers seem to.. for better or worse, take what you give. I notice they give me a far more loose definition than they give less experienced devs. I suspect this is because they expect/trust me to follow through, and i do - but this also effectively takes "advantage" of what i offer. I use quotes because i also get paid much more than the other devs i speak of, so i go back to what i said earlier, i think i get paid for this.
It's frustrating. But i also enjoy it a bit. If they laid everything out perfectly i'd be left with just writing the correct design patterns in code, using the right data structures, etc. Worse yet i wouldn't have the ability to shape the UX for better performance. I dunno, all the companies i've been at have been like this. I don't feel it's unique, but maybe it's just how i put myself out there.
Probably, depending on the size of the org. There are lots of places for semi technical people who sort of know what they’re doing, but don’t really provide value, to hang out in a large and growing enterprise sales org. They can collect what I believe are reasonable salaries and just route between the engineers on the customer side who actually know what they want, and engineers on the provider side who can actually provide it.
Any giant coupling between an application and platform ends up looking like this, I.e. pick your favorite Fortune 500 company and their cloud provider, security engagements, hardware vendors etc.
> I don't think i'm being _underpaid_ for my architect + dev hat, but i do wonder if someone else is also being paid for architect but i'm cleaning up for them lol.
Yep. I made a joke recently that in companies that have a formalized promotion process, if you apply for promotion and are denied, one of the consolation prizes should be that you get to apply for someone else to be demoted. I jest, but sometimes it feels like that would be just as helpful and fulfilling.
You don't have to. The no-coder is building a prototype, safely sandboxed away from your precious CI/CD pipeline. The benefit of building a robust prototype is that the idea-haver person doesn't bother developers with unfinished requirements, and the developers don't have to write a damn thing until they look through the prototype and start mapping out some changes.
If no-code tools are used in production, that implies that it will have to pass QA and code review, just like anything else.
But the definitions for both "production" and "application" are not so black and white. Take a super simple no-code app like a Google form survey. Some people would argue that that is not an app, others would say it is. Is it production? If I send that around to my team of 10 people, there will be no code review or QA. If I send it to 200 customers, then of course I let someone else review it.
Personally I find this to be part of the Job. The way I look at it i'm the one looking at sites all day, I'm the one caught up on all the latest trends, I'm the one who knows what looks good and what doesn't. My client on the other hand, they will likely know what they want, but when it comes to describing it, they may offer a nebulous response.
My job here is to take that nebulous response and form it into requirements. One thing I do all the time is if a client asks me to do something on the site and I can't discern what they want me to do, I will usually ask them where they go the idea. They will say something like "Oh pinterest, instagram, facebook, etc have something like this", we pull up that site and they show me, and from there I adjust requirement accordingly.
I don't hold this against any of my clients, it's ok if they don't quite know what they want, I'm the professional and it's my job to figure that out.
What I don't find enjoyable is when clients don't have the budget for their grand poorly thought out ideas and refuse to accept a solution which will get them 90% there with 1/10th of the effort.
My solution to that is that for every missing requirement I will make own personal decision and fill the gaps as I see fit. If that’s not what they want then the development window is extended to incorporate changes and refactoring. I am not going to work late or stress over deadlines because that isn’t my failed delivery and it is working as designed.
And as the "app too busy" error message proves, there is a lot more to a site than it's front end alone and cloning a front end does not clone performance. Good for proof of concepts or low use, non-critical apps but I would hesitate to build a business on one.
I had an internet outage that left me with a few kilobytes/s upstream/downstream. Most of the modern web was plainly unusable, often requests got terminated before all data was transmitted.
But reddit among few other sites did work quite well. Of course not for pictures and media, but the text and comments were quickly displayed. In hindsight I am not sure if that was better than a complete outage, but that is a content problem.
If they take that away, I will kill my account. My account is 15 years old on Reddit, with near daily use.
I get at least monthly "our servers are busy" messages when accessing Reddit, and their (redesigned) website is so bloated that it takes great effort to replicate such bad performance in a simple clone.
Reddit is the one site where you really can't make this argument, it's bloat incarnate.
It could serve even more traffic if it was less bloated of course.
EDIT: Some random stats from 2019 suggest that they're handling ~1000 pageviews a second on average over a month, and a view can take >100 requests to load. Combine with surge load and you're dealing with some serious requests per second.
Basically they had a 10 request component. Only one on the page so even though it wasn't that efficient, they didn't care.
But then their PM wanted 20 of them on a page. It was a Scrum team so velocity mattered, so they just had a for loop generate 20 of them.
No-code is still in it's very early days, and I think that a lot of its capabilities will improve over time. Also, it's very possible that a lot of the inefficiencies in no-code apps are a result of the builder not the platform (i.e. me in this case). I've been building with Bubble only for a few months, and this is only the second app I've built. I'm sure there are a number of inefficiencies in my workflows, but I'll also improve on that over time as well.
Tangent: who names these things? XD? Where did that come from? It looks like a laughing emoticon…
This is simply not true. WYSIWYG is no code and has been around since long before people had catchy names for it. Dreamweaver and FrontPage were early examples of it, the benefit they provided was they attempted to let you design by a GUI first, then they'd let you peak the code underneath. Usually, no-code or low-code these days does not come with the source, which makes it especially useless to anyone who wants to do anything meaningful with it.
Of course, maybe someone will solve that problem. (Or computers will get so powerful efficiency ceases to matter). It also doesn’t change that things like no-code could be great for people less programming focused to prototype ideas, or create scripts to run over data much like people have used excel for ages. It might just remain necessary to eventually pass the implementation onto a non-visual programmer when scaling the solutions up for production.
Thanks for everyone who has tried to visit the site. The surge in traffic was unexpected, and I realize that it slowed down the load time, so I've added a 'boost' to the site.
Besides that, I should also clarify that this site was built to be 'web first'. It currently does not work on mobile (I didn't design it to work on mobile since I was only working on it for 2 weeks).
Hope the site loads better now. Will try to respond to other comments below
It makes me wonder if there will be a new segment of programmers that specialize in superfast no-code app creation.
Also, I think there are a lot of opportunities for coders/programmer to to improve the space and come up with ways to support non-technical folks like myself.
I think those folks will do pretty well.
Rapid prototyping has been a valuable skill forever and I think this falls squarely under that.
Isn't this the typical application you don't want to run as nocode? High loads, viral growth.
Though the fact that it grinds to a halt under high load is also interesting.
There's obviously been a lot of effort put into this, and there's so much to be learned from what's being presented both from the perspective of a seasoned developer and those who aren't. The discussion above and below your comment is proof of that.
So it looks like they nailed it.
Could even do twitter too.
But as for this site, I've added a boost to the site which should help somewhat with the surge in traffic. My bad for not being prepared for that
It was completely my bad for not being prepared for a surge in traffic. Should be less slow now since I added a boost to the site. But, yeah, it's definitely not perfect I'll admit.
If you do try again, check it out on desktop not mobile, and let me know.
Maybe it could also be a result of a bunch of people using the test acct, so feel free to create your own test acct.
Thanks for at least giving it a shot :)
As far as an experiment though, it's good to know what the current limitations of no-code are. This was never meant to be anything serious. Just a learning opportunity.
Remember the Linux kernel was introduced to the world with pretty much those exact words.
Does bubble also handle deployment/infra?
That said, and I feel a bit old for saying this, but I still prefer to write the code myself.
In every instance (so far) I’ve found I can produce the exact outcomes required faster by writing code (Rails is still crazy fast to scaffold solutions and install libraries) than trying to force a no-code/low-code platform to produce an equivalent outcome in a similar time frame.
Anyone else feel this way?
We'd have an mvp reddit in a day, scalable as needed (right now on K8s in any cloud).
Working on open source!!
It is pretty amazing what you can accomplish with nocode tooling (like Bubble, that is being used here), but I think this demonstrates that we have a long way to go before production applications can be built with it. It is a pretty good starting point though, and with a little optimizations to Bubbles backends (and probably the way they render stuff/deal with the DOM) we can be pretty close to shipping nocode apps for average users.
None the less, nice work! The UI itself is pretty close which is inspiring to see, although the new reddit UX leaves plenty to ask for.
Wasn't there some IDE like that in the past where non technical people could build data driven apps visually? I don't remember then name of that application. Wasn't it related to Microsoft Access or something? Hmm, the name eludes me...
edit: It's back now, but I notice this happening a lot more than it used to. folks, for pete's sake if you find something inaccurate or unsupported in a post that causes you to want it gone, at least support your point with a comment for folks like me. Clueless people like myself end up wondering what the hell I just walked in on when it's dead comment after dead comment that otherwise seem like rational points in an interesting discussion.
Also, I'm not technical so I am probably not the best equipped to answer technical comments.
Thanks for all the feedback, both positive and negative. This has been quite the experience.
It's likely never going to produce production quality web UIs for sites that have millions of consumer users where everything has to be optimised by hand but that's not really most use cases or the case for NoCode/LowCode.
I can see a near future where no code offers the ability to take the model as built and start hand optimizing the code once things start to get off the ground.
I guess it's to do with their pricing tier. At $115/mo you get "3 units of server capacity", I assume you get 1 below that since they don't say. So the free tier has Bubble branding and insufficient hardware for the apps you can build, which seems a bit of an awkward marketing situation I guess.
To be fair their "Production" tier at $475/mo has "10 units of server capacity". So maybe they do empower entrepeneurs who want to spend $475/mo on hosting to build production-ready web apps. Which is certainly cheaper than a dev team if their code and 10x server capacity works for most apps.
If anything it forces them to think about their problems and recognise where complexity exists.
But since it relies on SEO to succeed, I'm now considering coding it from scratch because it's a huge limitation in Bubble.
OP: why did you build it? practice? hn points? hate on the nocode haters? work for bubble? consulting sales? all the above?
i think it's strange that folks are using the "but it's good for rapid/throwaway prototyping/design!" argument.
is it?
if rapid prototyping is the argument for no code, well i get it -- but it's not the marketing i've seen for at least 10 years.
outside of that, the biggest drawback is the cost, with the ever-looming threat that you're going to get pandora'd by the rent-seeking no-code platform (anything you potentially make will just be siphoned off).
i know there are successful no code businesses -- even ones that are not just landing pages for no-code lessons, or no-code consulting, or no-code marketing, or no-code no-coding -- no-code tools really are a blessing for helping to democratize technology a tiny bit.
but if you want to do something that no code tools _should_ be designed for, imo -- namely, prototyping ideas very quickly with an actual fair shot of beating out the big boys -- you can't do it without tons of expertise and money and influence and connections and all the stuff you usually need.
you can't do it, in part, because branding / functionality / performance / etc. is all severely limited.
want to try a new idea?
sure - please go ahead - learn our 'no code' stack, give us $50/mo for your 'hello, world', and if you want to try Idea II, that will be anotehr $50/mo, thanks.
working moms? poor/working class teens? 99% of the population?
getoutttaaheeeere.
Is anyone else annoyed by these terms?
A web application has application logic of some kind, maybe like a retirement calculator. That kind of application will accept user input (e.g. "age", "monthly savings amount", "exp. rate of return"), and apply that data to a model of some kind. That results in an output "You need to save $X to retire at age Y, assuming ROR is Z%"
Bubble is a full no-code app-builder. There are other no-code tools like Zapier, but they're not used to build full apps, but rather to connect two different apps without writing API queries yourself. For example, let's say you're running a virtual conference. Your tickets are sold on Platform X, and your videoconferencing solution happens on Platform Y.
When someone buys a ticket using X, you want to auto-send an email from Y with their videoconference link. You do that by connecting the two services visually via Zapier.
Internal apps in companies around processes, etc.
It was a bit slow but getting things loaded but choosing to log in as a test user I was able to load things to desktop and post a great video. Kinda took me back a few years. Very nostalgic.
I like it. Reddit is like your sink drain sometimes, clogged with all the hairy goo that no one wants to see or deal with. This feels like a new lavatory just waiting for content to start flowing.
Good job.
I tried to view the video link but received an error. I posted the error contents in another post for you. I couldn't find a way to post a screenshot of the error bubble so I just posted all the text from the message.
I also think that while logged in as testuser I was able to upvote my own post. Is that allowed? Perhaps there are a few others also logged in as testuser and one of them upvoted it.
Anyway, I like this. With faster load times this could be as fun as Reddit used to be.
It's made of other people's code!
I would ideally like a solution that builds it all out, and then allows me to download a docker container etc to deploy on my own...
Essentially a builder that i can then deploy on my own (cloud or local) infrastructure.
If I need to make code changes, I would come back to the website, make changes (version them with git) and build an updated docker container to roll out...
There was a badly documented plugin for twitter and it could do a subset of what the API was capable of, but I didn't see how I could extend it meaningfully.
I really wished API usage and low-code would get a bit more love.
Maybe that's the final stage because there is no-code, so nothing will be shown.
We focus on users with un-used domain names and try to spin up a news site like Reddit quickly with various features built in.
Second attempt loaded a header and some elements but no content. I tried to click every element that looked interactable but nothing responded.
Click login, go to the bottom of the login page, and click 'log in as test user'
And the platform I used to build it is bubble.io
Message: Operation timed out -- app too busy Code: 1628248706218x559231799994115000
The purpose of this post is more about the potential of no-code. Just trying to illustrate that it's possible to build a web app like Reddit using no-code.
The goal really isn't to build a new Reddit.
I'm not sure how to draw comparisons between the two.
I think this shows one problem of no-code. The underlying code and data structures are probably horribly bad.
Every $5/month box should handle HN traffic easily for a reddit style application.
With the right indexes on the DB tables, an out of the box Debian LAMP stack is insanely fast for this type of use case.
Sounds like a fun hackday to me.