Show HN: Atari Missile Command Game Built Using AI Gemini 2.5 Pro
missile-command-game.centminmod.comA modern HTML5 canvas remake of the classic Atari game from 1980. Defend your cities and missile bases from incoming enemy attacks using your missile launchers. Initially built using the Google Gemini 2.5 Pro AI LLM model.
One question I continue to ask myself when I see impressive AI examples like this, (because it is impressive) is "are we solving the right problems"? Instead of training an AI to produce a tonne of JS to create something that's been done before, should we not be engineering better tools to allow people to precisely craft software without the need for AI.
I worry that because we are now able to instantly produce a bunch of JS to do X thing, we will be incentivized not to change the underlying tools (because one, only AI's are using it, and two AI's won't know how to use the new thing)
I worry this will stall progress.
Yes and no. It's very impressive, in that it would take a human with no coding knowledge a very long time to learn how to write it. It's not impressive if you know the anatomy. But it's only as good as asking the "programmer" to make those stars in the background stop running around wildly, or make it scrolling, or something. Then what. Well geez, I have no idea how this works so I better ask the AI to do that for me?
It's not really that different from taking your 2022 car to a shop to adjust your camless engine, and assuming everything's fine, but not having a clue what they did to it or how to fix it if the engine explodes the next day. You can't even prove it had something to do with what the shop did, or if they actually did anything at all. They probably don't even know what they did.
It won't stall progress for clever people who actually want to figure things out and know what they're doing. But it will certainly produce lots more garbage.
That said, the game is impressive for something stitched together by an LLM.
AI is the bulldozer for building ever bigger piles of rocks, like the pyramids. Impressive in their way, but unsustainable.
You still need paradigmatic shifts in architecture to enable delivering scale and quality from a smaller amount of materials, and it has not made a dent there, yet.
An evil timeline is the construction of frameworks in the future that are only grokkable by AI.
The standard for new frameworks won't be "does this make humans more productive using new concepts". It will be "can I get an LLM to generate code that uses this framework".
The world you describe is about how I feel about Law.
Valid point about whether AI generating piles of JavaScript might lock us into outdated tools. Isn't what you're describing though a form of advanced prompting? The ideal tool could act as a layer that takes a prompt and builds exactly what's needed to deliver the outcome, without humans or AI wrestling with traditional code. This is similar to what OpenAI initially aimed for with function calling, where AI writes and executes code in a sandbox to fulfill a prompt but it was clunky so they shifted to structured tool calling. The reason we still need program code like JavaScript, rust, assembly, ... is that current computing architectures are built for it. That’s changing, though, with initiatives from NVIDIA and other startups exploring inference as the main computational primitive, which could reduce/remove the need for conventional programming.
In my experience, AI is quite good at picking up new tools and techniques. In the sense that the models only need to be provided some documentation for how the new tool or framework works to instantly start using that new framework
Gemini in particular is really good at this
Agreed, for example you can give it a sample FastHTML app, and it will basically review that app pretty much learn/pick up FastHTML (a new Python web framework ~8-9 months old) on the fly without even giving it https://docs.fastht.ml/llms-ctx.txt
Obviously it will do even better if you give it the full documentation but it doesn't do that badly in general with the language when you provide a sample app where it can basically just pick up the patterns of the language/framework.
That's why Gemini 2.5 Pro was so helpful too with 1 million token context window, easily feed it docs for stuff to be more accurate
This is impressive honestly.
I also find it interesting that the ai code submissions like this one are generally vague about the process.
This seem to be created using Cline on VsCode, prompting to Gemini 2.5 Pro using OpenRouter.
The commit history implies that a crude version was created by the LLM using an initial prompt and then gradually improved with features, fixes etc. Assuming ongoing conversations with the AI agent.
All code in a single index.html file which might not be great for human coders but who cares to be fair.
All in all, a prompt history would be really educational if anyone thinks about doing something similar.
> All in all, a prompt history would be really edicational if anyone thinks about doing something similar.
As we start to develop AI first programs, I believe we will need to start connecting LLM conversations to code, not only for educational purpose but for maintenance as well. I'm currently experimenting with what I call Block-UUIDs, and they are designed to make it easy to trace LLM generated code. You can see what I mean in the link below, which contains a simple hello world example.
https://app.gitsense.com/?chat=7d09a63f-d684-4e2c-97b2-71aa1...
Something worth noting is, you can't expect the LLM to properly generate a UUID. If you ask the LLM, it'll says it can, but I don't trust it to do it correctly all the time. Since I can't trust the LLM, I instruct the LLM to use a template string, which I can replace on the server side. I've also found LLMs will not always follow instructions and will generate UUID and how I handle this is, when the LLM stops streaming, I will validate and fix if needed, any invalid UUIDs.
How I see things playing out in the future is, we will alway link to LLM conversations which will give use the Block-UUIDs generated and by looking at the code, we can see what Block-UUID was used and how it came about.
Full Disclosure: This is my tool
Why not just put the conversation / prompt at the end of the commit/PR message? That way you have everything in one consistent database and don't run the risk of losing it.
Additionally, you get more directly usable text out of a 'git blame'
> Why not just put the conversation / prompt at the end of the commit/PR message?
This might be something I would do. My only concern is, the conversations can be quite long and mean very long. My "Chat Flow" right now is to discuss what needs to be done. Produce the code, which can span multiple chats and then have the LLM summarize things.
What I think might make sense in the future is to include detailed chat summaries in commit messages and PRs. Given that we get a lot of text diarrhea from LLMs, I think putting them in a LLM as is, may do more harm than good.
Capturing the prompt is probably a good idea. But if I think about the goal of "reproducible builds" and "supply chain security," the use of LLMs in a vibe-coding mode looks like a step backward.
Ultimately the code needs to stand alone, but if you discover that a specific version of an LLM produced vulnerable code, you have no recourse but to try again and read the generated code more carefully. And reading code carefully is the opposite of vibe-coding.
When dealing with prompts, there is no such thing as reproducible builds, since we are dealing with a non-deterministic system. The purpose for connecting prompts and conversation to code is to aid in debugging and developing new features. I also believe by connecting code to conversations, we will produce better LLMs in the future.
I would say AI has generated about 98% of my code for my chat app in the last 3 months and it was definitely not vibe coding. Every function and feature was discussed in detail and some conversations took over a week.
My reasoning for building my chat app wasn't to support vibe coding, but rather to 10x senior developers. Once you know how things work, the biggest bottleneck to a senior developers productivity is typing and documentation. The speed at which LLMs can produce code and documentation cannot be matched by humans.
The only downside is, LLM don't necessary produce pretty or more readable code. The more readable code is something I would like to tackle in the future, as I believe post-processing tools can make LLM code much more readable.
[dead]
I've experimented with making it more explicit in one project I'm working on where 99% of it is written by AI, but the chat logs from Roo Code are way too verbose. Ideally, I could export a version of the chat with my prompts and metadata about which lines were changed, then I could commit that with the rest of the changes. I have every chat associated with changes made solely with AI in a chat folder named similarly to the commit, but the chats themselves are just impossible to read, so I haven't committed any of them.
I also find Roo Code chats add way too much stuff. I'd would like something that only includes to the context exactly the files I want, and only calls the model when I want. Using AI Studio with custom system prompt works, but is not as fast, but with Roo / Cline the costs can explode if you are not careful to create new tasks.
I think putting prompts into the commit log, mixed with manual edits, would be a great way to document the evolution of LLM assisted engineering.
I wonder if there is some tool support yet that supports that.
That would be one long commit description. I have had prompts in 1000s of word lengths!
oh wow. were those context files? or did you write the multi page prompts by hand?
At later stages of development i use Gemini 2.5 Pro for brain storm sessions to formulate what I want and once I have it fleshed out, I ask it to summarize it into AI actionable prompt that is very detailed that I can copy and paste into a new chat session with any AI llm model that would have everything needed to implement what I want
That's actually brilliant and a great idea, as I'm often LLM-hopping as I run out of free credits from platform to platform!
Same I have paid subs with ChatGPT Plus, Claude Pro and Gemini Advanced and utilise them for brainstorming part without fear of token usage billshock as they are fixed monthly subscriptions.
TIL
thanks for sharing!
> but who cares to be fair
i.e. who cares when the LLM starts giving up when the file is too big and confusing?
i.e. who cares when the LLM introduces bugs / flaws it isn't away of?
I mean I don’t think these projects will be maintained by humans anyway because they are not structured by humans.
If the AI fucks up then its a lost cause. And maybe you’ll better off create a new version from scratch instead of trying to maintain one when LLM starts to fail. Just ask Gemini 3.5 this time around.
The AI can write obfuscated code. Name all variables from a to z. Even emit binaries directly. Who cares if it works?
Unfortunately I think this will the the future of vibe coding. Minified blobs of code that only the AI is able to edit. We don't usually review the compiler's use of registers or memory allocation after all.
> If the AI fucks up then its a lost cause. And maybe you’ll better off create a new version from scratch instead of trying to maintain one
So how does it save time? Do I also tell customers we're blowing things up and redoing it every few months with potential risks like data loss?
I guess the idea is that the customers are the ones interacting with the LLM and we are homeless if this thing goes that way. Probably saves a lot of their money in exchange for some of their time..
I personally do not think any of this is a good idea but here we are.
And I was making fun of AI images with the weird fingers and shit just a year ago, now it's hard to identify AI generated images. The code gen now can create a single file space invaders which is impressive but shitty according to all coding metrics.
They are getting better. At some point the single file shit stew will be good enough cause the context windows and capabilities of LLMs will be able to handle those files. That's when nobody gonna care I guess.
> if this thing goes that way
IF...
> weird fingers and shit just a year ago, now it's hard to identify AI generated images
It's still easy and it's never been about the fingers. Things like lighting are still way off (on the latest models).
> At some point the single file shit stew will be good enough
At some point we'll be living in Mars too.
Would a prompt history even be useful? This is all non-deterministic. the same prompt could result in wildy different code?
Would that actually matter if the result code ends up running a similar, working game?
> All code in a single index.html file which might not be great for human coders but who cares to be fair.
AI won't cope well as that file gets larger, or best hope that experimental diff feature is working well. I find stuff really breaks if you don't refactor it down.
Gemini works with large files surprisingly well, but from my limited experience, the token usage (and cost) explodes and I'm not not sure it's worth it. I try to keep my file lengths fairly small because of it, so I have more control over what is pulled into the chat context.
already broke up index.html so no longer an issue
Any chance you could reveal your entire initial prompt, or even your later-down-the-line detailed portable prompt that you mentioned you could utilize from one LLM chat to another?
I am getting the following error when running the AI analysis: AI analysis received, but failed to parse structured advice. Raw content: "```json {"summary": "The player, LIGMA, demonstrates a high rate of missile usage, firing all 170 missiles by wave 4. Despite destroying a significant number of enemies, including two shield bombs and 23 planes, LIGMA lost a substantial amount of cities and bases, indicating potential issues with defense coverage or target prioritization.", "advice": ["Prioritize city defense. Focus on intercepting missiles and bombs headed directly for the cities, as losing four cities by wave 4 significantly hinders the score potential.", "Increase accuracy for bonus points. With only 11 accuracy bonus hits out of 170 missiles fired, practice aiming closer to the incoming targets to maximize the accuracy bonus and the score multiplier.", "Consider purchasing and using special weapons like the mega bomb or sonic wave, as the click data doesn't reflect any usage of these options which can become invaluable in later waves.", "Improve resource management by not firing more missiles than is needed to destroy any given incoming attacker. The player fired all 170 missiles indicating a poor kill/shots ratio."], "improve target evaluation speed and accuracy."} ```"
Could not parse specific advice due to formatting issues in the AI response content.
Yeah that sometimes happens as LLM model didn't like the generated JSON format for some reason.
Why would it not like json? These models are supposed to be reasoning, that would imply it could reason that there's an error and fix it or interpret around it like a reasoning human could.
deferent models handle JSON slightly differently, Gemini handles it better other models as does OpenAI GPT4/o1/o3 but they cost a lot more so I don't use them for AI gameplay analysis
> These models are supposed to be reasoning
They don't "reason" - they're just AutoComplete on steroids
If this is too stressful, I created my own star based relaxation game yesterday before boarding a plane. Sadly did not get much traction. Its basically the travelling salesman in space
https://news.ycombinator.com/item?id=43648528
I want to start from any star and make the whole route without lifting my finger.
implemented the second part and its is now much cooler / smooth, thx a lot
Did you implement that using ai or manually?
ai of course - not a single line of code written by hand, just an ever rotating wheel pf gemini 2.5 (for high quality code), claude (for beauty in audio and graphics), chatgpt o1 pro for quality assirance, bug reports and diguring oit the edge cases and for DRY and KISS refactoring, and cursor for incremental improvements in between)
Your post makes it sound like you wrote it yourself.
“I had a long flight today, so in the airport I coded something”
coded / code directed
we cam start the discussion now i.e.: is using cursor still coding ?
is a senior team lead coding when the only thing he does is code reviews and steering the team?
If you didn’t write the code then, no, you didn’t “code” it.
You didn’t even mention AI.
I have been building a "realistic" but simplified 2D universe simulator since GPT3.5 was first introduced, it has slowly grown to become a 1000loc Python file that uses Pygame. I think it represents a good mix of what might appear in training as code examples and physics understanding. Aside from occasionally "playing" the game, its a zero-player game... I mainly use it to test new models. Can the model handle 1000 lines of complex physics code? Can the model make improvements to areas that I already know are poorly optimized or incorrect?
Gemini 2.5 has enormous context and has one-shotted 1500loc programs for me.
Congrats to "Kitten" for being the first to cheat the high score.
Sorry - couldn't find a security.txt but thought I should alert you your API is currently vulnerable to prompt injection on at least a few of the fields in the structured JSON you send when analysing the game.
Happy to give more details if there's any way to get in touch outside this thread.
I've added security.txt now. I appreciate the heads-up.
does it also run in less than 128 bytes of ram, with half a scanline as a "framebuffer"?
Had a great conversation today with Gemini today where it told me 90000us is 9ms
I got up to level 8 before I decided to go to the store.
I had something like $500,000. I bought up the entire inventory (at least, until the Buy buttons stopped working - there were still items available).
It then became a 'click as fast as you can and don't care about strategy' game, so I stopped.
Well if you play longer at higher levels, you will see you need that cash and upgrades as it gets harder
Could be, but the game play doesn't encourage me to continue.
Again, the first time I went to the store I could max out with everything, so there wasn't the accumulative build-up, or decision to prioritize one purchase strategy over another.
There wasn't any sign there would be new things to buy which I couldn't yet afford.
There was no hint that future game play would be anything other than clicking madly, with no need to conserve or focus resource use.
Part of Missile Command is to wait until just the right point so a single missile can do a chain reaction to take out several incoming warheads; to watch if your strategy was effective, not simply twitch-fire; and even the slow dread of watching an incoming warhead come towards a city after you've depleted your missile supply.
Here's an example from the novelization of WarGames, from https://archive.org/details/wargames00davi/page/n45/mode/2up... :
> David Lightman hovered over the controls of the Atari Missile Command tucked neatly between the Frogger machine and the Zaxxon game. ...
> Goddamned Smart Bombs! he thought as a white buzzing blip snuck through his latest volley of shots and headed for one of his six cities at the bottom of the screen. He spun the control ball, stitched a neat three-X line just below the descending bomb with the cursor, and watched with immense satisfaction as his missiles streaked white lines to their targets, blowing the bomb right out of the phosphor-dot sky.
I didn't get the same sense of satisfaction playing this version.
Cheers I updated the gameplay logic a bit for this so it is better including chain reaction explosions :) Work in progress to dial in gameplay logic. But thanks for suggestions.
The chain reaction made it more fun.
Glad to hear!
Curious... if anyone can read the source fast...
Are the game state updates and input coupled with the frame rate, as in most beginner game development tutorials out there, or did the "AI" do the right thing and decouple them?
Currently it's coupled. But thanks to your question, will look at decoupling it at a later time :)
Using `Tab` out of all the keyboard keys is such a weird option!
What was the idea behind this choice?
Is a lossy compressed game extracted with lossy error correction
What prompt did you use and how much did you have to code on your own?
Probably quite a few prompts.
Should we be checking in our prompt history into version control as a kind of source code or requirements spec? Seems prompt revision and improvement would be valuable to keep a history of.
It's not even that. Those showcasing the power of LLMs to code up a whole project should be disclosing their prompts. Otherwise it's quite meaningless.
The responses to those prompts are not independently reproducible without the weights, the seed and software used to run the LLM, and in many cases, none of those are available.
So that's all part of the "source code" for projects like this.
It's amusing that on one hand, there's been a push for "reproduceable builds", where we try to make sure that for some set of input (source code files, configuration, libraries), that we can get an identical output. On the other hand, we have what we see here where, without a huge amount of external context, no two "builds" will ever be identical.
Unless the ai model is being run at build time to generate inputs to the build I disagree that the model, its prompts or its weights and seeds constitute part of “the build” for reproducibility purposes. Static source files generated by an AI and committed to source control are indistinguishable from a build perspective by source files generated by a human and committed to that same source control. We (reasonably) dont consider the IDE, the auto-complete tools or the reference manuals consulted to be requirements for a “reproducible” build and I don’t think the AI models or prompts are any different in that respect. They might be interesting pieces of information, and they might be useful for documenting intent of a given piece of code but if you can take the same source files and run them through the same compile process and get the same outputs, that’s “reproducible”.
Not OP, but if you are asking for your own reference or projects, I've found this "prompt flow" to be very effective:
https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm/
The reasoning models seem to respond quite well to the "ask me one question at a time, building on my previous answer" for the sake of coming up with a solid blueprint for the project, then build from there. I used this method to make a nice little inventory/rma tracker for my job using Rails 8, and it got me MVP in a matter of hours, with most delays being just me refining the code on my own since some of it was a bit clunky. I used o3 mini to generate the initial prompts, then fed those to Claude.
The hallucinations/forgetfulness was relatively minor, but if I did not have prior Ruby/JS knowledge, I doubt I would have caught some of the mistakes, so as much as I was impressed by the method outlined in the blog post, I am not at all saying that someone with no knowledge of the language(s) they wish to use is going to create a great piece of software with it. You still have to pay attention and course correct, which requires a working understanding of the dev process.
Not the OP but I did something similar for a breakout style game. I just interactively provided details specifications like there is a ball, paddle, bricks, powerups, what they look like and behave, how collision is handled, etc. For example, if you get a multi-ball powerup, it will add additional two balls in flight. If you get a shooter power up, the paddle will be able to shoot bullets for 10s. I didn't even have to write any code to get exactly what I thought up.
Did same but for Asteroids. Had a working wireframe version after only a couple of prompts! I think using the term "Asteroids" in my original prompt was a bit of cheat/shortcut.
My lessons learned for prompting were to have project broken down into clearly defined modules (duh...), and to constantly feed the latest module source back in as context along with the prompts. This helps ground the responses to only adjust the code related to the prompt, and to not break stuff that was already working.
> Initially built using the Google Gemini 2.5 Pro AI LLM model.
What does this mean?
Used https://gemini.google.com Gemini 2.5 Pro canvas mode for Gemini Advanced subscription account to ask it to build Atari missile command game in HTML5. Tweeted about it at https://x.com/George_SLiu/status/1906236287931318747 almost one shotted but after I passed level 1, it jumped to level 182 and pulverised my cities and bases LOL
my guess: they started with some code generated by Gemini, but they had to modify it in order to get what they wanted.
After some levels I could just press sonic wave 3 times and win without even doing the clicking. Had enough money to replenish. After winning level 29 nothing more happened.
Does missile command not have friendly fire? Can you really detonate missiles directly over your own bases? Currently, it seems pretty easy.
As someone who grew up with an Atari, the difficulty was coming from you having to rotate the turret for target priority. Turning it into a touch and shoot (I only tested it on my phone) removes that portion of the game.
The background is animating far too fast and is very noisy to look at. Win/Chrome/9950x3D/RTX5090.
fixed :)
How/why are random sites/apps hosted on the centminmod.com domain?
Because the game is hosted on Cloudflare Pages/KV/Workers and domain is already using paid Cloudflare Workers so no additional subscription costs :)
Ok sure, but/so you are the centminmod dude then? Eg the WordPress cli stack thingy? I guess I'm just confused lol
Yes, same dude. I develop the Centmin Mod LEMP stack :)
Got it! Ok makes sense now, I thought it was just some random person using your domain to publish a webpage:)
That was fun, thank you!
When you get old enough, you realise the cycle turns around and around
A new dev tech shows up. Old devs say: That's not real programming. Real programmers use the old ways. You take all the skill out of it. You'll never learn to do it the "right way". And then, it becomes standard, an no-one wants to go back but a few hobbyists.
It's been this way with switching from assembly to more human-readable languages.
It's been this way with syntax highlighting.
... and with IDEs.
I remember when we scoffed at IntelliSense over the Water Cooler because them kids didn't have to memorise stuff anymore.
I kept cursing at Docker and npm insanity, having colourful languages for people who hid behind abstraction because they did not understand basic functionality.
And today, it is AI. Right now, it divides. Those who love it, those who consider it 'cheating' or 'stealing other people's code'. In reality, it is just another level of abstraction in the development stack. Tomorrow, it'll just be 'the standard way to do things'.
I wonder what comes next.
I don't know how impressive this is, since the exact or very close variations of these games certainly can be found in the model's training data.
This is neither innovative nor showing creativity IMO and reminds me more of twitter hype-bro posts, than something truly HN front-page worthy.
>This is neither innovative nor showing creativity IMO
Ya'll are gonna be blindsided by AI if you don't turn around and see what is happening.
Programming is getting democratized. People who have never written a CLI command in their life will get the ability to tell a computer what they want it to do. Instead of having to get bent over with a stupid feature-packed $9.99/mo app, they can say "Make me a program that saves my grocery list and suggests healthier alternatives via AI analyses." And get a program that is dead simple and does exactly the simple task they want it to do.
Keep in mind that Excel '98 probably covers 90% of excel uses for 90% of users. Yet here we are in 2025 with society having spent billions over the years to upgrade and now subscribe to msoffice so Amy in HR can add up columns of payroll.
You have completely lost sight of reality if you think seeing a program like this is dumb because "anyone can just go and copy the git from a million different clones, load it into their choice programming enviroment, get the relevant dependencies, compile it and be playing in no time!". Maybe you live in a bubble where those words are English to everyone, but it is not reality.
For SWE's, I have great sympathy and the comradery for engineers solving hard problems all day.
But for the software industry as a whole? I hope it burns hell. The tolls to cross the moat of "telling the computer what to do" have been egregious and predatory for years.
> Programming is getting democratized
I have no idea what that is supposed to mean but I keep hearing the same about art, music and other creative fields and it sure sounds like contempt for creative people.
I personally don't lose any sleep over LLMs being powerful wizards for getting started on new projects.. that's what LLMs are good at.. pulling together bits of things they've seen on the internet. There's a chasm between that and maintaining, iterating on a complex project. Things that require actual intelligence.
It feels to me like it's getting democratized in the same sense as to what happened to professional photography in the early 2000s with the introduction of digital cameras and high quality color inkjet printers. The barrier to entry becomes so much lower.
Instead of dealing with the costs associated with using, developing and printing from film, as well as the skills associated with knowing what a photo would look like before it was developed, digital cameras allowed new photographers to enter the industry relatively cheaply and shoot off a few thousand photos at a wedding at a relatively negligible cost. Those photographers rapidly developed their skills, and left studios with massive million dollar Kodak digital chemical printers in the dust. I know because I was working at one.
If you remember, this was in the time where the studio owned your negatives ostensibly forever, and you had to pay for reprints or enlargements. What were amateur photographers could enter this high-margin market, produce images of an acceptable quality, charge far less and provide far more.
I'm not able to say whether this will happen to software development, but the democratization of professional photography absolutely shook the somewhat complacent industry to its core.
In that case it had nothing to do with contempt for creative people, it was the opposite, anyone who wanted to be creative now could be.
Digital cameras didn't change the need to go out and actually shoot the photos, however. They didn't change the fundamentals of lighting and color and what a good photo looks like. It was a more convenient and cheaper process compared to film, so more people could participate in photography, but it maintained a lot of the creative process.
It means that you no longer need to go through an intermediary to get the result you want. You have the end product in your mind, you just don't have the ability to translate it into reality.
I can give you the real example of recently needing to translates ancient 90's era manufacturing files into modern ones, while also generating companion automation files from it (which needs to by done manually but with tooling to facilitate the process).
I found a company that sells software capable of doing this. A license is $1000/yr/usr.
The next day I was able to get claude 3.7 to make a program that does all that, translate the files, and then have a GUI that renders them so an engineer can go through and manually demarcate points, which then are used to calculate and output the automation file. This took about 45 minutes and is what the department is using now. We have thousands of these files that will need to get modernized as they get used.
I see this everywhere now, and I have been building bespoke programs left an right. Whether it be an audio spectrum analyzer that allows me to finely tune my stereo equalizer visually based on feedback for any given track, or an app on my phone that instantly calculates futures prices and margin requirements for given position sizes and predicted market movements.
People think LLMs will be a paradigm shift, I can tell you the shift has already happened, it's just a matter of awareness now.
> an app on my phone that instantly calculates futures prices and margin requirements for given position sizes and predicted market movements.
That sounds like something for which one should be spending the money on professionally developed and well-tested software. What's the expression? Penny wise, pound foolish.
Not really, because the equations are straight forward and not particularly difficult. Most people could model it in excel no problem. Is it a guarantee that it is robust? No. But I'm also only using it myself instead of ball parking like I previously would.
My sister who has never coded in her life is building mini apps to do things at work.
It’s taken her a month to get up and running.
Everyone needs to realize this is not a matter of AI stealing dev jobs but the supply of low skilled developers exploding and eating into the market.
In this case, "democratized" means "enshittified".
https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys
I don't doubt that LLMs can make programmers more productive. It's happening today, and I expect it will continue to improve, but it requires knowing what code they should generate, what the actual goals are, and how it should be tested. It can generate standard solutions to standard problems with standard bugs. That's fine they're a tool.
What the inexperienced expect them to do is read their mind, and implement what they want without testing (other than did it crash the first time I used it). Unfortunately, knowing the questions to ask is at least half of the problem, which by definition the inexperienced don't know how to do. You can already see that with vibecoding prompts to "write clear comments", "don't write bugs", and "use best practices".
So why does it lead to the enshitification of the programming experience? Because regular folks will be led to believe (Startrek movie Wargames hacker style) that this is how things are done. The will accept and expect rehashed garbage UI and implementations without security or corner case checking, because that's what they always get when they press a button and wait a minute. Now, why can't YOU stupid programmer, get the same results faster? I told you I wanted a cool game that would make me lots of money fast with no bugs!
I do have hope that some people will learn to be more clear in their descriptions of things, but guess what, english isn't really the language for that.
I'm not talking about programmers using LLMs.
I'm talking about people talking in english to an AI on one screen, and compiled functioning programs appearing on the other. An "app playground" where you just tell your phone what you need an app to do, and a new bespoke app is now in your app draw.
Forget about UIs too. They won't be that important. You don't need a tree of options and menus, tool bars and buttons. You would just tell the program what you want it to do..."Don't put my signature on this email"..."wrap the text around this image properly"(cough msword cough)..."split these two parts and move the red one to the top layer"...or even "Create a button that does this and place it over there".
I'll accept that you could get an IfThisThenThat implementation that might let you get some home automation done. Of course, if you can't build an ITTT to start with, you'll have a horrible time debugging it, or even remembering to turn it off. The create a magic button thing though is exactly the terrible UI I'm talking about.
I think part of what you want is voice applications, because deleting your signature by hand is probably easier than trying to build a program that does it. Maybe the app could just search help and tell you what feature already does what you're asking for. Certainly, context sensitive voice recognition has gotten a LOT better with the latest LLMs. Not sure I'm looking forward to the guy on the train narrating to his laptop for an excel page, though.
But when art is getting democratised, it is stealing, like we learnt from Ghiblification incident lask week.
AI isn't democratizing art. Art has always been democratized. If you want to draw something in the Ghibli style, go ahead, no one is stopping you. I saw plenty of great Ghibli style non-AI art on my timeline in response to that, some by people who just spent a few days teaching themselves. The means have never been more accessible.
But using AI to generate something in that style doesn't make you an artist. It isn't art, it's just a product.
Pretty much my exact sentiments. The Internet for a long time has contained more than enough information and connections to other people for anyone to learn nearly any skill they want. Anyone who wants to put in the work has the opportunity.
Celebrating the 'democratization' of these skills is just showing adversity to basic learning and thinking. I'm not gonna celebrate a billion dollar corp trying to replace fundamentals of being human.
>Celebrating the 'democratization' of these skills is just showing adversity to basic learning and thinking.
The reality is that you cannot become an expert in everything. I have songs I'd love to compose in my head, but it would be totally impractical for me to go through the hundreds/thousands of hours of training that would be needed to realize these songs in reality. Nor am I particularly motivated to pay someone else to sit there for hours trying to compose what I am telling them.
This is true for hundreds of activities. Things I want to do, but cannot devote the time to learn the intermediate steps to get there.
>I have songs I'd love to compose in my head, but it would be totally impractical for me to go through the hundreds/thousands of hours of training that would be needed to realize these songs in reality. Nor am I particularly motivated to pay someone else to sit there for hours trying to compose what I am telling them.
So the alternative is that you'll pay a tech company instead -- to use their model trained on unlicensed and uncredited human works to generate a mishmash of plagiarized songs, the end result of which nobody will ever want to listen to?
> you cannot become an expert in everything
You don't have to though. Anyone who's spent a decent amount of time in a creative hobby will tell you they sucked when they started but they enjoyed the process of learning and exploring. I think you're depriving yourself of the mental benefits of learning a new skill and being creative. It flexes your mind in new ways.
If you just want something to exist, sure, but when you can press buttons and have a magic box spit out whatever you want with no effort, how much are you actually going to value it?
If you only knew how many hobbies I have already lol
> But using AI to generate something in that style doesn't make you an artist. It isn't art, it's just a product.
This is probably how people felt at the advent of calculators
Equating the process of creating art with adding numbers together is a very HN answer. Unsurprising that so few people here see value in human expression, when their only concern is efficiently generating a minimum viable product as quickly as possible.
But... using a calculator doesn't make you a mathematician either. And one could argue that society has born real negative consequences from the inability of most people to do even basic math because of the ubiquity of calculators. There is a big difference between using a tool and having the tool do everything for you.
Do you really believe that society will benefit when most people don't know how to express themselves creatively in any way other than asking the magic box to make a pretty thing for them?
Calculators, abacuses etc are tools that let you do math easier than in your head. People have done original math on all sorts of things.
Generative AI forces us to reconsider what original means because it's producing a "remix" of what it has seen before with no credit going to those who created those original works.
It's not stealing when the original still exists. And art style is not copyrightable.
Our current laws are made to handle AI
> There's a chasm between that and maintaining, iterating on a complex project.
The can for sure maintain and iterate on smaller projects -- which millions of people are happily feeding into them as training data.
Going from a project with 1,000 to 1,000,000 lines of code is a tiny leap compared to going from 0 to 1000. Once your argument is based on scale then you pretty much lost to the robots.
I'm not saying they are going to invent some free energy source (other than using humans as batteries) anytime soon but when the argument is "you're going to be blindsided" and the response shows, and I'm not trying to be insulting or anything like that, willful ignorance of the facts on the ground I'm going to say you probably will be blindsided when they take your app writing job or whatever.
I'm not attacking you at all just saying that there's a bunch of people who chose to keep their heads in the sand and hope this all just goes away.
> Going from a project with 1,000 to 1,000,000 lines of code is a tiny leap compared to going from 0 to 1000.
Are you sure the leap is tiny? It's a much easier problem to get only 1,000 lines of code to be correct, because the lines only have to be consistent with each other.
Right, and projects that are millions lines of code usually aren't even one codebase or one app or service.
I'm sure there are lots of engineers who don't want to change but I don't feel I'm one of those. I use copilot every day. I'm leading integrating our product with different LLMs and playing with those regularly.
And yet I feel more secure in my job today than I did a year ago because I'm constantly hitting the limits of what a language model can do. I've realized that the decisions I make every day as a senior engineer aren't mostly about what lines of code usually come after each other.
> Ya'll
Can you please explain this contraction?
It's a misspelling of Y'all by someone not from the south
That's like saying your'e not understanding how contractions work with a hand wavy reason
Smart response! It's a contraction of you and all, the spelling of which is likely not important.
I do'n't understand how contractions work. Is that more clear?
90% of business software is a copy of something else. So a model that is good at modifying code that exists somewhere is quite valuable. Basically, any significant incremental progress in an LLM's ability to mash up ideas/code (that it has seen previously) is getting upvoted - because there are many makers on HN and these new abilities can be applied to whatever they're working on.
You just made that number up, didn't you?
And 90% of what in business software? Ideas? Features? Implementation? I doubt 90% is the number for any of that, or LLM is good at any of those. Based on my own recent experience of LLMs (yes, switching between several different models) and seeing their disastrous performance on writing code for business logic that is just a little bit more specific, I am not convinced.
[dead]
Even if that is true, a lot of business software is not public and not in the training set.
And another thing to consider, is if you are copying software from another business you need to compete in some way. Yours needs to have more polish (LLMs are bad at this), or a unique feature, or a different focus. LLM copying another business will only allow you to compete on price, but not those other things.
I think the premise of the argument is you don't need to compete in the marketplace because you can just tell the robots what you want and they will happily produce it.
The fallacy that people are making is they look at the current state of things as 'the way it'll always be' while the AI companies, and I mean all the AI companies, are looking to corner the market so have no moral issues with taking out a whole swath of skilled jobs.
The cost to compete with another business's software is a high-end GPU.
It would be more impressive if the AI could make it as a real 2600 ROM, since the programming model is much different than what it was likely trained on, and requires more knowledge of how the hardware works (and is just much harder to do in general).
I think that the other question is "what do we mean that Gemini 2.5 built it" - was it with a prompt like "build me a missile command game with a reward system that will enable me to buy upgrades"? Or was it interactively with the dev?
Gist of it was
1. Used https://gemini.google.com Gemini 2.5 Pro canvas mode for Gemini Advanced subscription account to ask it to build Atari missile command game in HTML5. Tweeted about it at https://x.com/George_SLiu/status/1906236287931318747 almost one shotted but after I passed level 1, it jumped to level 182 and pulverised my cities and bases LOL
2. Iterations in subsequent chat sessions in Gemini web to fix it up, add in-game store, leaderboard and end-hame AI analysis and when Gemini 'something went wrong' messages, jumped over to Claude 3.7 Sonnet via Claude Pro subscription web interface to finish off the task
3. A few days ago, I tried Cline with VSC for the first time with Openrouter AI API key and Gemini 2.5 Pro free LLM model has helped me with further development. Also now trying out Google Firebase for more Gemini 2.5 Pro access https://studio.firebase.google.com/ ^_^
How are you liking firebase studio?
> than something truly HN front-page worthy.
The bar is not that high though, and is not the same for everyone depending on the content.
sometimes here I miss the downvote of reddit. it could be useful for not letting this type of things on front page. maybe a little too harsh but I've had enough of vibe coding and this sort of projects that are copies of a old GitHub repo of the Programming-101 project from some freshman in Minnesota
I started playing with Gemini 2.0 Pro and 2.5 is another level. It's my goto for coding over Cursor. I just wish they put more effort into the VSCode plugin/agent.
I've had the opposite experience when using it in windsurf. I get, for my use cases, worse results using it vs. Claude Sonnet 3.7
I started playing with vim, but neovim is another level. It's my goto for coding over vim. I don't expect them to put more effort into anything, because it just works as a editor/IDE.
No offense here, but I am wondering what's the relation between the topic being discussed here and vim/neovim?! I also checked your profile and again, wondered why you are putting this: "Only admins see your email below. To share publicly, add to the 'about' box." as your bio!
> I am wondering what's the relation between the topic being discussed here and vim/neovim?!
It's a similar religious matter?
> I also checked your profile and again, wondered why you are putting this: "Only admins see your email below. To share publicly, add to the 'about' box." as your bio!
Why not? I have "Error retrieving about text" in my "About" field on a certain sms replacement chat app...
Ha, it's another story on HN right now. They probably had both tabs open like I do at this very second.