Launch HN: Second (YC W23) – AI bots that add features to web apps
You can use Second to create a brand new web application, or you can connect it to an existing web application. They run in the cloud and connect directly to your Github, so you don’t have to install anything. Here’s a demo video: https://www.youtube.com/watch?v=IR9JUxznEC0.
Disclaimer! Second is still very much in alpha, so if you want to connect a Second bot to an existing repo, please only use test repos!
I’ve been building for the web for over a decade, including developing the Yahoo video player, architecting the LinkedIn homepage, and leading data visualization efforts at Workday. I’ve created several popular open source projects like KineticJS, BigOCheatSheet, and El Grapho. Most recently I was the co-founder and CTO of a no-code platform for enterprise companies.
Over the last few years, I’ve become obsessed with the idea of enabling developers to create large volumes of high quality software fast. Today, developers utilize libraries, frameworks, new languages, DSLs, no-code platforms, and most recently IDE code assistants like GitHub CoPilot. These are all great, but I think we can do better. Wouldn’t it be cool if you could just tell a bot to go off and implement a full-stack feature, sort of like having your own dedicated second developer up in the cloud?
There are too many things that humans are writing code for that they shouldn’t be. This includes commodity features and integrations like authentication, forgot-password flows, subscription billing, database setup, CRUD pages, collections, data tables, etc. Human developers should be focused on the code that is special to the product. Bots should take care of the gruntwork.
Moreover, the world needs more software than there are engineers to build it all. Web applications are complex enough that traditional no-code and low-code solutions, which output runtimes, are not viable. The output must be source code. Unlike no-code tools which try to offload software development onto non-programmers (which works ok, but only up to a rather low complexity ceiling), Second is a higher-level programming tool, meaning it raises the level of abstraction for engineers, which is how most gains in programming productivity have been achieved over the years. Second produces source code that can be modified at any time by developers, with no “special” parts of the code base that are off limits.
So how is it possible to create multi-file full-stack features using GPT-3 when token limits are still really small, i.e. 4k tokens? Well, we can lean on one of the most common strategies for complex problems in computer science—divide and conquer. Rather than trying to construct one giant prompt to get one giant response, I’m using imperative programming to model the general approach to each full-stack module, using GPT-3 to figure out what files should be created, modified, and where they should go, and then using a combination of compilers and GPT-3 to generate and modify each file piecemeal.
Thus far, five YC companies have used Second to build their initial web application foundation. Customers have used Second to set up ticket management systems, CRMs, workflow screens, interfaces on top of generative AI and LLMs, etc. The Starter plan is free and our paid plan is $299/project/month. I’m currently running a promotion and taking 50% off, which ends tomorrow. A project is tied to a specific Github repo.
I ...
204 comments
[ 2.1 ms ] story [ 298 ms ] thread- Starter Developer Bot - Pro Developer Bot - Enterprise Developer Bot
Also, the music on your demo video is a bit excessive, I don't really expect hype music when I'm looking at a demo. It would be more helpful to have someone talking explaining what's going on (or silence)
The Pro plan will give you access to a lot more feature modules, like subscriptions, forgot password flows, data tables, CRUD pages, etc. To be fully transparent, most of the Pro plans are not implemented yet (I just started building Second two months ago!). But I'm working with early customers and their use cases to build those out.
I want to commit my list of requirements in a well specified format and then generate a binary reproducible version of the site that is 100% stable for a certain version of the tool. If I don't like that output, I commit another requirement and the CI loop will take care of generating those .css etc., they are build artifacts not source files.
The cool thing about Second is that the handoff between bot and human is GitHub. In the tool today, changes are committed directly to the repo, however very soon the default behavior will be pull requests. This is great because it gives engineers the opportunity to see the diffs and make tweaks before merging in.
From here: https://platform.openai.com/docs/guides/completion
> Setting temperature to 0 will make the outputs mostly deterministic, but a small amount of variability may remain.
I will honestly say that there have been a couple of wtf file generations, where even with a temperature of 0, GPT-3 created something I did not expect. I'd like to enable engineers to run a retry on specific files right from GitHub, like making comments in the PR itself.
1. your video demo's music is way too loud. blasted my apartment in the early morning and added nothing to the demo. i'd take a shitty loom video with your narration saying whats happening over this.
2. you'll have to overcome quite a lot of skepticism that this works beyond an initial demo. your video shows a very standard greenfield setup that doesnt really need AI to do. how does it handle more interesting change requests of an existing app? how does it handle fullstack changes? how does it handle design? if you could include sample output (or links to generated diffs) on your landing page you might start to deal with that cynicism.
3. how are you thinking about defensibility? if this works it can be easily copied.
4. beyond this, the business model challenge i would fear for you is this is really a use-once-and-done tool. 299/mo is not really high enough to sustain a biz for that. i guess you're very focused on making it a recurring need but you have your work cut out for you. good luck.
2. Agree 100%! Second bots are becoming more sophisticated, but the truth is I am still pretty early. The video on this post, and on the website, is actually about a month old. I had planned on making an updated video with more interesting scenarios, but I ran out of time! I will have an updated video within the next two weeks. I also need to show screenshots of sample outputs, agree 100%
3. Defensibility - I wouldn't say this can be too easily copied. I am building custom compilers at the feature level (the high level plan), compilers for individual files, and piecing this together with GPT-3 queries on the code base, and using GPT-3 to generate new files, and modify files. Other than that, that's all I got!
4. You are 100% right. If Second becomes just a really fancy starter kit, it won't be a great business. However, I have found that my early customers do not know all of the features that they need up front, and tend to configure features in second, and then do a lot of BE work and some tweaks, and then do another feature a few days later. So I think Second can be integrated into a normal product delivery workflow. Also, I plan to add other capabilities like AI code reviews, and auto upgrades and maintenance via bots
http://www.paulgraham.com/startupmistakes.html
$299/project/month will sound expensive if you compare it to starter kits (usually free), templates (usually < $100), or no-code tools (around $100). But I believe Second will feel very close to having a dedicated developer that can build commodity features for you. I want engineers to use Second for the common stuff, so that they can focus on the stuff that special to the project.
Also, yea pricing is hard! It may change.
I believe that in the future, A.I. bots will be used to build large chunks of the codebase (like Second). And then human engineers will use A.I. bots in the browser to make low level tweaks and additions (Copilot)
The things that hurt software development are people/process related, and can't be fixed by software, IMO.
I'm planning on rebuilding Second with Second as soon as I have all of the appropriate modules in place!
A “developer” or a “grunt coder”? Or, to use the ~40+ year old terms that even the least trendy places have phased out [0], a programmer/analyst or just a programmer?
[0] Largely because one of the two didn’t really fit into modern development methodologies anymore, since it presumed too narrow of a skillset and responsibility area.
In a sense it's a metaphor for the whole problem of LLMs ... or AI in general. When unlimited compute lets you replace logical deduction with brute force heuristic reduction, it makes it impossible to trace routes and find bugs.
That's $3.6k/year.
You don't need to make up many development hours before you've paid that back.
And it seems like there's good opportunity to stratify billing via modules -- Using only the basic stuff? $. Using more advanced / larger modules? $$.
I also want to be more supportive of junior developers. Second can help scaffold and get large chunks of standard code in place for them to build on, rather than starting with empty files. This is especially useful when adding a new feature to an existing web application (in which case boilerplates and templates are a no-op)
Speaking of that issue, wasn't GPT-3 trained with data that doesn't go past 2021? Won't this be an issue for any AI assistant using GPT-3 to write code?
The biggest lesson to learn from Dropbox is that if you don't build a unique enough product, larger companies will eat your lunch. Microsoft already has Copilot patents, if Second ever threatens them then they have full control over the economics of GPT. Their business is built on the goodwill of a direct competitor.
My guess is that the profitability of ChatGPT is configurable enough to compete with SOTA competitors. Even if a better model crops up, out-pricing OpenAI will be a struggle. It might even require a hosting partnership with AWS or Azure.
Haha no. There is no future where OpenAI operates independently of Microsoft. OpenAI is functionally beholden to MS. 49% is a paper contrivance to present a facade that they're still in control. They're not. The tail is wagging the dog, and in this case the tail is a trillion dollar dragon that OpenAI lowered the drawbridge and invited inside.
At this point, Microsoft has partially acquired OpenAI and is extending their exclusivity deals to use their offerings.
But the only way to compete against them is with open source AI models that are good enough substitutes for OpenAI’s offerings.
With Stable Diffusion being open sourced, it completely ruined monetising options for DALLE-2 and threatened OpenAI to the point where they rushed out ChatGPT.
The same thing happened with GPT-3 and is going to happen again to ChatGPT and we will quickly see an open-source equivalent.
Once functional models get small enough, I think we'll see an absolute explosion in AI as anyone with a laptop will be able to freely tinker with their models.
So, big takeaway: AI text generation is legible and quick with smaller models, but "intelligence" a-la ChatGPT seems to scale directly with memory.
I've no clue how these would be wired together, but I have done ideas.
It seems like a stretch to say that would ever be true.
https://news.ycombinator.com/item?id=35086436
I have found that even without a fine-tuned model, the OpenAI code edit and code writing APIs are actually quite good at the file level. Fine-tuned models will just make it even better!
I'm pretty skeptical still as all your demo has shown is similar to what a boilerplate tool might do, but with more unknowns. You have to start somewhere, though, and I think you're on a decent path.
I've been experimenting with chatgpt to do similar workflows to what you're describing for your vision of Second. From my experiments, it seems your demo may be approaching close to the current limits of gpt models. Fine-tune training on my existing code base and requirements may help, but I still feel like we're a very long way away from your vision for Second. Maybe even far enough away that it won't ever be realized.
Still, you've already built a much better workflow than my experiments have yielded so far, and I think it is a very exciting proposition.
Feel free to disregard, but I think I'd approach the business differently than you have - raise your prices drastically and instead of a dev-facing tool to start, make your offering more like an agency. Hire devs and designers to build the client work and sales people to find more deals. Have devs and designers use your tool, providing feedback. Restrict modes of communication to AI-parseable docs between the client and devs/designers. Collect data as you iterate through as many projects as you can find and staff to deliver. Then train/fine-tune LLMs on that whole dataset. Iterate on your tool throughout this whole process. Even better if you could embed yourself/your tool into existing agencies and dev shop firms, but that seems like it could be difficult to navigate.
About agencies - yea some of my first customers are agencies, and the value prop is pretty great for them. Yea, pricing is super hard.
If you upgrade to Pro, and for whatever reason it's not for you, I'll give folks a 100% refund. I'm not going to charge anything if it's not delivering real value. The 50% promo ends EOD tomorrow.
Is it capable to generate microservices in a microservice based app? If yes, can it add endpoints to the gateway and generate helm charts for deployment in Kubernetes? Can it use the default inter service communication in the project, i.e. REST API, gRPC, AMPQ?
Is it capable of using an external identity provider?
Can it use Keycloak?
Can it cache data in Redis instead of just writing it to DB?
If my data layer consists in a repository that reads and writes to sharded databases can it do the same?
If I am using CQRS and event sourcing in the code, can it do the same?
But with enough demand, I plan to also support Vue (Nuxt) and Svelt.
It's possible that I may someday support .NET. I would like to eventually build bots that specialize in every framework and platform. Baby steps!
About identity providers - Yes! I've used bots to set up Auth0 for one customer, and I frequently get asks for other providers. These will be coming soon!
About Keycloak - looks really cool! I have not used it. At the moment, features are driven largely by customers and user requests. If there is some demand for it, then sure! https://second.canny.io/feature-requests
About caching in Redis - it absolutely could, but does not today
about read and writing to databases – the only thing that Second does is write code, it's not hosting the web application or managing DBs
About CQRS - I believe this could be possible, so long as GPT-3 understands that pattern
Maybe they'll make documentaries about it.
Projects like this are just going to cause economic harm to other software developers. It's punching down on others in the industry, and it's not good.
As a coder who also makes art, I feel like these companies wielding these new AI tools are screwing me twice over. Maybe it's time to retrain as a plumber or electrician, because any industry that has a large digital component is getting increasingly fucked.
1. Learn to drive the tractor
2. Be the person who can repair a tractor
3. Start a tractor company
4. Find a business application that previously was not possible without tractors, or that is now much cheaper with tractors
Why are you using a shovel when a spoon would do?
You’re in software. Surely you were aware that things can be automated.
No one can stop this anyway. Anyone trying will simply be left behind.
This sounds like it would bring huge maintenance and optimization challenges to any large effort.
What are you seeing so far and how are you planning to keep it under control? Or is the utility of this always going to be fundamentally bounded by the context size?
I have had good results so far feeding in things like directory structures, and asking the model a question, and getting good answers as to what files and folders should be added or modified for an outcome.
For example, a prompt might be "given the following directory structure, where should I put my prisma schema file?" and GPT-3 tends to answer this correctly
Seems nice, good luck!
Also, the video on this post and the homepage is about a month old! I had originally planned on making a new video last night, but I ran out of time. I'll have a better one up soon.
Are you seriously so desperate to ride this stupid AI hype that you couldn't do a better job at showcasing what the app can actually do?
I am sorry for being so critical, but I believe I am right. With a free account, you can do like two basic things, but if I click on one of the "Pro" features, there is no preview or nothing at all.
Why would I give you _$299_ to actually try the app only to end up going through the hassle to charge it back because the app didn't do what I thought it would? Is it even possible to get a refund?
Where is an example of a project/app/website you've built with this? I think you might've lost yourself some credibility and long-term customers by publishing it this way.
Right now, anyone who upgrades to Pro basically gets direct access to me so that I can build out the modules that are needed for their use case. 100% if anyone pays something and isn't getting value, or asks for a refund, I would give a complete refund no questions asked.
I’m not even sure if this even needs AI in the first place or how this is any different to a boilerplate generator using templates. An AI can hallucinate and generate a broken codebase which means it needs to be checked again for its correctness.
I guess if this was a web3 project template generator funded by YC, I would be seeing everyone including the mountains throwing heated exchanges at the founder.
You should apologize for being disrespectful. There's no reason to attack the founder personally with words like: pathetic, desperate, or insulting their critical thinking by saying "you haven't thought this through at all." You can write an equally critical comment without the vitrol.
Furthermore, "Backed by YC" is supposed to mean something, and this kind of a launch is simply watering it down. In fact, there are several YC "AI" backed startups that use lousy marketing terms - "We're better than ChatGPT", and lastly, Launch HN is not something you can do every other day because you forgot something the first time.
He should be able to take my feedback on the chin and correct his mistakes. Not taking care of basic UI principles is the actual disrespect towards me as a customer not me calling him out on it.
If yes, where has it been useful, and if not, what does it not handle well?
At some point I want to do a full rebuild of Second using Second to test out all of the modules together. But I'm not quite there yet!
Also, what kind of applications can Second generate? Is it limited to certain types of web applications, or can it handle a wide range of projects?
1) I can add more configuration options to the modules 2) you can tweak the results with code! After all, the generated code is yours to keep!