Launch HN: Marblism (YC W24) – Generate full-stack web apps from a prompt
We are Cyril & Ulric and are building Marblism (https://marblism.com), an LLM-based dev platform to generate and iterate on full-stack web apps.
Here’s a demo video that goes from a comment on Twitter to a working app in 10 minutes: https://www.youtube.com/watch?v=TapOPO-Gv20.
Marblism started when we realized that much of the code we write for web apps is just slightly modified boilerplate: similar login flows, dashboards, API integrations, CRUD operations, etc. While AI tools are helpful, they fall short in delivering a well-architected codebase. The idea of Marblism is to combine the best of both worlds: a solid boilerplate, customized and enhanced with AI.
Here's how it works:
Generate your app - Describe your product, and the AI will build your data model. We create a NextJS app with auth, custom CRUDs, permissions, payment, emails. The AI then generates your front-end pages.
Test and improve your app - Now that your app is set up, use our online workspace to test your app and add more complex features via an AI Chat or directly yourself in the VSCode editor.
Go live - Once you’re happy with your app, deploy it in production in one click.
Here are some examples of apps generated on Marblism in couple of hours of prompting:
Find and validate startup ideas: https://www.muckbrass.com/
A design system directory: https://awesomedesignsystem.app.io
AI-Personalized candle: https://www.scent-a-scene.com/
Marblism currently generates web apps like SaaS, marketplaces, and social networks. It doesn't support Chrome extensions or mobile apps, and it’s not really for small games like Snake/Tetris.
The vision is to add more tech stacks later this year and enable people to create their own templates/tech stack that the AI can customize.
We’re really excited to share this with you and we'd love to hear your thoughts on the potential directions we can take this product.
92 comments
[ 3.2 ms ] story [ 165 ms ] threadThe first "startup idea" on that page[0] is... an "AI-Powered Startup Idea Generator". I don't know if Singularity is near, but we certainly have attained Circularity.
[0] https://imgur.com/a/H3oNUeB
* Laughs in UI Dev *
Accessible components are far from an afterthought. LLM generated FE code will never be sufficient without some kind of base component library to pull from for things like selects, inputs, modals, etc. that are hand built and tested.
I can't find anything around ToS or even a privacy policy.
It's better to give up on security and tell the users that they're generating code at their own risk.
Given the acceptability of "saying the quiet part out loud" anymore, I'm sure you could find a famous tech guy expressing such sentiments.
Though, I'm sure those same people will throw a fit if they end up on the losing side of AI generated startups. Imagine an AI prompt that replaces and entire Oracle cluster with a self-hosted postgres one for a fraction of the cost.
There are two reasons why this is predictable with high confidence. None of the more accurate predictions rest upon the trendiness of AI, but instead are vested in the current capabilities of the people primed for replacement and prior employment trends.
Reason 1. Most, certainly not all, full stack developers are paid far too much for what they deliver. Over the past year I have been seeing many interview referrals for just under $200k even though I live in a very low cost of living area of the US. I have turned all of these down despite currently making far less. The high compensation is not enough to make up for working in a team that has no hope deliver to expectations (more on that in the second point) and is hostile to radical change.
Reason 2. Prior employment trends suggest that many employers prioritize hiring and candidate compatibility over ability to deliver. Its a valid business decision that makes sense in the short term, but results in catastrophic debt over the long term. You have to understand that developers are a cost center and not sales people. This means they cost money and do not generate profit, so it makes sense to lower the costs of acquiring these people as much as possible.
Starting about a year or two after I started doing full time JavaScript programming in the corporate space employers started looking at solutions to turn developers into commodities because they were spending too much on hiring with disappointing results. I can remember the entire industry trying to do this on both the front end and back end, but the movement received far less penetration on the back end, which was more entrenched. It received overwhelming success on the front end with tool suites like prototype.js and YUI before jQuery formed a dominating cult of personality. Then once Node got popular and the browsers got faster those front end libraries were largely replaced by large MVC frameworks like Angular and React.
Before the strong focus on external tool libraries JavaScript developers had to do it all themselves. At that time the browsers were too slow for things like Photopea, but the first large browser apps were already rolling out. These were some really excellent developers, but it was really hard to find people who could perform at that level, and of course the pay was ridiculously low. Moving to these external libraries really opened up hiring to people who could not perform otherwise, and that really lowered the cost of candidate selection. Unfortunately, these external libraries were generally slow and sometimes broke when they were just expected to work, but now you had an entire work force that could not live without them.
Reliance upon external tools to keep your job creates insecurity. It limits the availability of design options to what a given set of tools allow, and developer's first priority at work is to retain employment. That insecurity grows over time as applications grow larger, solution delivery slows, developers get further and further more reliant upon solutions in conflict with the desires of the business's profit generators. Its why a lot of people I have talked to over the past year moved on to other things and refuse to go back despite the far higher compensation.
So developers are definitely not dead but will be empowered by the new tools and maybe their work will shift from solving problems+writing code to only solving problems.
Usually a client or employer does not want write original software. I can code in C++/Rust/$LANGUAGE and am able to write you a high performance backend for some very specific, custom use case, but in 99% of the cases that isn't necessary because the underlying business is either 1) too generic or small to need something like this or 2) doesn't want the hassle of having to maintain something in-house.
Most companies that hire typical web/full stack devs value speed over anything else for the nth crud app they churn out. But I also don't see the value in these companies either.
Where employers in the past really cared is in the speed of delivery. Typically speed of delivery was faster using a framework solution only if the exact solution were already written and available as an extension. In absolutely every other case software originally written in house was always faster to deliver back to the business. This is because with original software the developers are not limited by prior existing conventions. It always comes down to the prior experience and confidence of a given set of developers.
The business knows this before assigning the tasks to the development team, and that awareness (more than anything else) determines the opportunities for developers to identify their own speed of delivery. Most development teams are entirely unaware of just how thoroughly their performance is measured from a business perspective. That should be painfully obvious, because developers only cost money, and those costs go straight to the bottom line.
Does this mean they just copy paste solutions? Otherwise I’m not sure how they’re writing anything but (albeit it might be very similar to code written at some other point in time, but do that often enough and you turn into an AWS service).
It sounds like this originality should be slow and of great challenge. It isn’t. With practice the words just appear in the correct order as fast as they are typed.
In the overwhelming majority of full stack jobs that level of originality does not exist. Most of these jobs, and the developers filling them, are utterly reliant upon large tool sets of prior formulated architectures. These large frameworks rob the developers of the practice necessary to become faster in their solution delivery and cripple their ability to consider answers of their own design.
As an example consider state management. That is an astonishingly simple problem to solve, essentially saving a result of modification for later artifact generation. With these large frameworks, however, the solution becomes a complex science to compensate for modularity considerations introduced by the frameworks that do not otherwise exist. For developers that have never written an original application without one of these large frameworks the simplicity of the solution is almost impossible to fathom, thus resulting in solutions of complexity outside their control and no ability for consideration of alternatives.
https://leyton.com/us/insights/articles/senate-blocks-tax-re...
This tool may be the solution for businesses struggling with 174...Replace developers with calculus and machine learning.
In my world, clients come to me with a web site and a problem (or no web site and the problem of "I don't have a web site"), we agree on contract terms, and I solve their problem. If I do a good job at it (and I want to do a good job at it, because solving problems and making clients happy feels good while failing at that feels really bad), the client finds value in my work and they will come back to me the next time they have another problem that needs solving. It's that simple. Nobody's hiring me because of "candidate compatibility" and then throwing a bunch of money at me to do nothing.
At least in the short term, I'm not too worried about AI taking my job, because, as stated elsewhere, it's not yet good enough to do more than the least complex of tasks, and as one tries to get it to do more complex things, the odds that it will hit a brick wall due to a bug it can't code its way around or a creative understanding it can't unravel increase - so these sorts of tools might actually end up creating more work for more experienced professionals like myself (although I don't necessarily look forward to the days where I'm regularly being hired to unravel a plate of ChatGPT spaghetti). But even more than that, I feel like a good deal of the value I provide is in being able to talk to a client about what they want the site to do, how it will earn them money, and foresee potential problems or offer better solutions based on my experience - to answer questions that they didn't think to ask, and ask questions of my own to make sure we're on the same page on things. A client just giving me a description of what they want built followed by me just building it? That never happens. There's always discussion and back-and-forth to nail down details and make sure the site is as good as it possibly can be. So long as clients see the value in that, and until AI can do that sort of thing, I'm not sweating it.
As a general rule profit is 10% of revenue and revenue is 10% of sales. Sales are the money paid by outside parties. Revenue is money left over after spending associated with sale acquisitions, for example after: marketing, merchandising, and advertising. Profit is money left over after accounting for internal expenses.
As such software never directly contributes toward sales unless software is a product directly sold to an outside party. The developers responsible for that software are virtually never responsible for sales generation even when that software product is directly sold to outside parties. The exception occurs when developers introduce a solution to a business problem into that software product and that solution becomes a direct point of merchandising.
As for the current capabilities of AI the LLM approach does not seem capable of writing original software. Most full stack developers are not writing original software though. The LLMs are already writing superior output with use of large frameworks to the extent that they can generate more efficient products and write the documentation sufficient to teach humans the approach to these large frameworks. Whether you should be worried then becomes a consideration of your employer’s perception of software authorship.
As for "original software," how are you defining that? Is software only original if it doesn't use any pre-existing frameworks? Okay, is it all right if I use a pre-existing programming language with a pre-existing standard library, or do I need to build my own? Is it all right if I host on a pre-existing VPS provider, or do I need to start my own hosting company? Can I host in pre-existing datacenters or do I need to build my own? Can I use pre-existing server hardware, or… At the end of the day all programmers who are getting anything practical done are using pre-existing tools at some level to solve their problems, often building new tools along the way. If I use the right tools for the job, build what my client wants, and keep end user experience in mind as much as possible (and I always do), then what's the problem?
Are you actually a web developer? Are you not passionate about it?
As for advertising that is what's considered transactional revenue, or revenue generated upon the traffic from some other unrelated engagement. Nobody goes looking for advertisements intentionally. They just happen to appear on a site a user visits and eyeballs on that site thus generate revenue in consideration of some contracted term.
Transactional revenue is interesting because it generally has very low associated expenses which all associated revenue is far more closer aligned to profit. It is also insidious in that it tends to get in the way of what users actually want and will over time tank an associated product/brand unless the product/brand is so compelling that it drives substantial repeat traffic. That is the fundamental distinction between media and e-commerce. In media they can throw as many advertisements at you as they want because repeat traffic is deterministic and you are the product. With e-commerce, on the other hand, there exists actual products users must purchase. That purchase process is called conversion and over time advertisements erode the frequency of conversion. As conversion tanks over time users have less reason to access the associated website and so then advertising revenue also tanks.
With regards to sales and revenue developers still have no role in that relationship even in respective to advertisements and transactional revenue. Sales are literally money paid by an outside party directly to your business. Transactional revenue is indirect so it does not qualify as a sale. Even if it did quality the sales people are the ones negotiating the corresponding contracts and revenue terms, which is still not the developer.
I once wrote an advertising pop under for Travelocity from the homepage. The change in presence increased ad click-through impressions upon that placement from 0.3% to approx 14% at approximately 1.1 million page impressions per day. That is a massive revenue boost, but the customers hated it. Part of the massive traffic increase was change of visibility and part of it was content intentionally shifting low quality traffic off site. Stuff like that really killed the business.
It is all about the numbers you like, it seems. Developers sell too, a good % of successful software is created and marketed by a single person. It seems like you can't or couldn't sell while developing. Your achievement was to be a cost center for 15 years and it shaped your vision of the whole profession.
What definition of cost center are you using? If a developer makes a widget that generates my company more money, they’re not a cost center.
> Starting about a year or two after I started doing full time JavaScript programming in the corporate space employers started looking at solutions to turn developers into commodities because they were spending too much on hiring with disappointing results
This has been the case in tech since…forever? What can be automated is, with the end result being more tech work for a broader market. If the market is finally at capacity (or AI is capable of doing everything a human dev does, but then most white collar jobs are gone) then dev jobs are gone. Otherwise, it’s just new tools that enable more work to get done.
Like with most boilerplates the focus is too much on the landing page, but less on the actual application.
I'd be interested to know if you could integrate my boilerplate https://achromatic.dev somehow into the generation to be able to generate web apps. Would be absolutely fanstastic - endless customizations.
What are those generated components based on? Is there a component registry?
Also, typo on homepage - 'Authentification' (per our error report: https://triplechecker.com/s/t2ryxA/marblism.com?v=M0bXQ)
If you know where to look and how the code is structured, or in your case, have developed an AI to generate apps.
I'm extremely skeptical that a layman could debug and produce a polished app solely through AI prompts, but maybe that's not your audience.
One use case that occurs to me is to build personal SaaS apps. It's the sort of thing a lot of people use spreadsheets or Notion for.
I just made a simple little app with Marblism to help me keep track of whether I took my medication on a given day.
I couldn't tell you why, but I prefer this to little mobile apps and it's less upkeep than the spreadsheets I've tried to make in the past.
The start to Web3.0 AIs making Web 2.0 applications to take over the world.
Cool tool, hope it takes off.
Telling Joe Random "describe you app in a prompt and press deploy!" guarantees that isn't happening. This sort of service is great for non-dev people who want to launch something but it's a pretty big threat to my data.
I'm under no illusion that these services are going to be huge, and no doubt someone will sell an app built with one to a service that puts data about me into it. I suspect that means one day an attacker is going to learn something I'd rather they didn't. That sucks.
I think that the liability will just travel a layer of indirection. So in your example, I would think that the company that made the elevator would still be liable for any harm that their product causes -- if it can be established that it is their fault that a 12 year old's finger got bruised because of a poor design for the elevator.
the elevator example, the poster was giving chatbots the same excuse for mistakes as a person.
imagine if elevators could just make mistakes and damage people, because well, a human would too, never minda that its very much trivial to design elevators with sensors in the correct place once and then they are accident free! this is the ridiculous world ai apologists must rely on...
Compare: probabilistic methods of primality checking (which is where I first understood this idea). Theoretically, they can give you the wrong result sometimes; in practice, they're constructed in such a way that you can push the probability of error to arbitrarily low levels.
See also: random UUIDs, hashing algorithms - all are prone to collisions, but have knobs you can turn to push the probability of collision to somewhere around "not before heat death of the universe" or thereabouts.
This is the kind of approach we'll need with ML methods: accepting they can be randomly wrong, but developing them in ways that allow us to control the probability of error.
--
[0] - In theory, you can ensure your operating envelope is large enough to cover pretty much anything that could reasonably go wrong; in practice, having a clear-cut operating envelope also creates a pressure to shrink it to save money (it can be a lot of money), which involves eroding what "reasonably" means.
we cannot get close to 100pct on elevator safety. we can get 100pct, and cheaply! the exceptions are because of 1) criminal incopetence, and/or 2) patents forcing people to do things worse and/or 3) malice.
because I would rather those fill-in-the-blank-forced-prompts that just add form fields and obviously broken business logic to a generic template they curate.
The software world is way bigger than most of us realize.
Are you considering adding other languages in the future ? I would like to try but not with NextJS. I have a special hate for JavaScript so I try to avoid it as much as possible except for Frontend.
Unfortunately, it tends to generate outdated types (e.g. `List` instead of `list`, `Optional[T]` instead of `T | None`, import `Iterable` from `typing` instead of `collections.abc`), so you always need to tell it to use the right one.
Edit: there is pyupgrade which can do this: https://github.com/asottile/pyupgrade#pep-585-typing-rewrite...
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
The fact that this whole AI fuzzy controlled thing builds on top of Javascript fuzzy controlled thing is really messy.
Tools that gives the power to allow anyone to become a developer or create their own apps without the need to spend $$$ consulting with a developer is amazing
I hope we get more startups like yours that lower the barrier to entry for tech for everyone and we get quality software at the same time.
This is the best and most exciting time to create and build startups.
I evaluated this a while back. While the app is impressive, I couldn't figure our who'd use it. A developer will feel restricted by it, a non-technical person will feel overwhelmed by it since code is at the center of it.
Here are my reviews:
- The tech stack selection is exceptional. It comes with batteries included, backend, auth, permissions etc.
- I love the ability to view the database, auth, in one place.
- The LLM itself gets stuck once the APIs and their interactions become slightly complex and deviates from the happy path. (likely because even the starter code is closer 10K lines of code across different files and frameworks)
- I wonder if instead being very opinionated, just a cloud LLM environment with a slightly less "fat" template would be optimal. because after all, people who would be twiddling with generated code are going to be developers who can (most likely) decide what they want.