i have a bromine tub, give me simple instructions for what to do since i just filled it up w fresh water
1. Add 1 tablespoon of water to the water bath.
2. Place the tub into the water bath and let it sit for about 5 minutes.
3. After 5 minutes, remove the tub and let it cool down.
4. Now, fill the tub with water and let it sit for about
> 3+3? 4+4? 5+6? 7+8?
> Reply ~18000 0 ~10 min 2 By : 1-1: I'm a beginner. 3x2 is my best option, but if you're not sure about the other options then just go for it and try again
GPT-2 is an interesting one because it is a February 2019 model. (You can see some information about it below the card if you click on the card.)
That was 2-3 years before the big "ChatGPT moment" (the highly coherent ChatGPT research preview was released in November 2022, I think it was ChatGPT 3.5). Back in 2019 the models really were not producing very coherent output. Now you can see it for yourself right in your browser :) Everything has come a really long way since then!
I've been playing with it for a bit, and I'm a tiny little bit surprised that they decided to continue pursuing that direction of research at all. What I'm getting from it looks like it could just be arbitrary sentence and paragraph fragments from the Internet, pasted together Markov-chain like.
I'm not sure I would have ever believed that something useful would come out of it, yet here we are.
Not sure how you're prompting it but remember that it's not trained for chat or instruction following, it simply takes the text given to it and tries to continue it. Give it the right prompt structure, and it can (at least sometimes) output coherent completions, far more often than you'd see in a Markov-chain. Also, this version is more or less equivalent to the smallest version of GPT-2; the largest version was 1.5 billion parameters and was much more likely to generate impressive (at the time) output.
The assumption that LLMs would always need sophisticated inputs to generate useful outputs is where the term "prompt engineering" came from. Now that idea is basically dead. Absolutely wild how far these models have come in less than a decade!
I built something like this just last month, using a few of the same models, but I used ThreeJS's Three-Shading-Language abstraction to do it: https://three-llm.ben3d.ca/?model=qwen3.5-0.8b
I would recommend adding the MiniCPM5-1B model. Surprisingly coherent for a 1B model and performs well. On my pixel 9 I get 33 tok/s on CPU. On GPU I get about 26 tok/s but prefill jumps to nearly 500.
Cool project, but I'd really suggest looking at the UI.
The text is too small and it's way too dense with information in general. Considering how simple this product is to use, it's kinda crazy that I have to scroll through over a page length of (mostly useless, AI-generated) information before getting to the actual interface.
Also what is going on with the footer (why does it link back to the site itself, why is it telling me to "serve over HTTP").
We didn't have this kind of sloppy UI. Putting in an extra text field is work, so we mostly had blocks of text and misaligned fields and text in the wrong place.
AI has no trouble churning out code, so AI-generated sloppy UIs have text fields everywhere.
It's clear that this was vibecoded. I'm antivibecoding, but here's a tip.
Don't focus on the actual code or the actual UI. You need to give your model a way to see its output. If it just pumps code, it looks at the code. If you let it look at the rendered UI, whether by manually taking screenshots, or making it so that the agent looks at the browser output automagically (with a webdriver or selenium or puppeteer or a skill or whatever), it will fix whatever issues it sees on itself, and it will never be content with delivering something that looks as bad as this.
>Since this submission has been on the front page of HN for hours now, clearly people like it as it is. I don't think I need to change anything about it.
That's not really how it works. People like it in spite of the bad vibe coded UI. That doesn't mean that the UI is good. The criticism was clearly correct. I don't feel bad about publicly criticizing the UI to your face, either, because it's not like you were the one who designed/created it anyway--by the same reasoning, I don't see any reason to get defensive about it, since you have not invested very much of yourself into it either.
This has become a bit of a pet peeve of mine in general. Over the last six months or so I've been inundated with all kinds of lazy, bad vibe-coded UIs via my normal internet usage. It feels paradoxical in a way, because AI tooling should make it easier than ever to fix obvious problems, and yet UIs have gotten worse.
I have two theories for why this is: (1) usage of AI tooling conditions people into engaging with their creations in a certain hands-off, uninvolved, low-attention surface level way; or perhaps (2) those who care about their UIs were the people who were already creating UIs pre-AI, and so the marginal effect of AI tooling has been to increase UI creation amongst precisely the population who cares the least about what they are putting out.
I've also been developing a very strong personal revulsion towards the Claude default design language, including and especially the gold-on-black color scheme, although I admit that this is entirely by association and not because of its inherent qualities per se.
In this particular case it used to not have any text at the top. Just click a model, chat.
I decided that that wasn't very user friendly. It doesn't tell people what it is. Or how to use it. It doesn't explain any of the concepts or vocabulary.
So I asked it to add those things, above the main interface, including the steps people need to take to use it. I think it did great, and I think the small text sizes with a clear title let people who need it, read it, and people who don't can just scroll down. Even with the text it's 600 words.
I like the effect of what it's done. It's better than I would have done if I had written those intro words myself.
Clearly it resonates with people, this thing has been on the front page of HN for 4 hours and with 110 points is by far the most popular thing I've ever posted here.
They probably flagged it because they thought an LLM wrote my comment, perhaps because of the disconnect between my initial reply and the edit. Together with the whole comment, the first part of my reply sounds like it could have been written by an LLM.
It isn’t about how small the text is or how easy it is to skip. Humans are not transformers with multiheaded anttention. Human brains do not process one million tokens in parallel. Humans have caloric constraints and will be annoyed if you ask them to process irrelevant information.
Therefore, when showing something to humans, the first thing they see should be the first thing you want them to see. And since this is a demo, the first thing they see should be the demo, with sane defaults, above the fold.
Also, it is likely that no one (including the author) has read this “fine print” because it includes incorrect information. GPT-4 isn’t a frontier model anymore.
I've thought some more about your feedback, since other replies gave the same feedback. At the same time, I didn't want to remove the "mostly useless" information since clearly it was useful for a lot of people! The submission was on the front page of HN (often in the #3 or #4 spot) for 12 hours and last I checked generated more than 300,000 requests from 36,000 unique IP's (on an ordinary 2-day period there are around 1,600 unique IP's) and people downloaded 600 GB of models, including 8.5k downloads initiated for the first model (3,000 of which were completed and 5.5k of which did not wait for it to complete, since download was a little slow due to the high number of concurrent users.)
So, clearly, the presentation format resonated with a lot of people. Therefore, I kept the presentation but put a tl;dr in enormous can't-miss-it shimmering font at the top. I marked all the "dense information" you mentioned as "Optional reading" (it's a lab after all, there should be a reading for it) and increased the font size.
I removed the parts of the footer that you said didn't make sense. The page isn't on the front page anymore so I don't know if people would like the changes or not, but I've changed the page layout in response to your feedback.
I should preface this by saying it is a cool demo. I love SLMs and I think they will become even more popular in the future as capability per byte improves and hardware improves to support my bytes.
So I think this post performed well in spite of the annoying parts, not because of it.
> I didn't want to remove the "mostly useless" information since clearly it was useful for a lot of people
The information was not “clearly” useful. It had obviously incorrect information that no one even noticed. In my opinion that is strong evidence for the opposite conclusion, that people ignored it because it was noise.
Why would people ignore this information? Demos are a show, don’t tell thing. For example, you don’t have to tell people that the latency is low. They should be able to see it from the demo.
I tried the Python and SQLite modules on desktop Chrome and got similar errors for both. For Python:
Error: CPython engine could not load (Failed to fetch dynamically imported module: https://sonistellar.com/lab/vendor/pyodide/pyodide.mjs). Check the network, then close this tile and re-boot to retry. — press reset or back to menu
Really cool project. Giving web apps direct access to on-device models is something I’m excited about, and it’s cool to see the different approaches.
I’ve been working on a related proposal called the Web Models API, which explores a browser standard for an API that runs open-weight models on-device. Would love your thoughts: https://www.webmodels.dev
I read your proposal, I think it's great! Where will the navigator get the model if the user agrees to download it? For this demonstration I just serve the models on my own server, but for larger models it may be an issue as they may not have direct download links even if they are open weights.
Great question. Right now there isn’t a definitive answer, but it’s something that needs to be worked out. There would likely be a registry. The question is how to keep model IDs consistent: does each browser manage its own registry, or is there one shared across browsers?
Since you're asking for some kinds of permissions anyway, you could ask if the user is willing to also seed the model, p2p. (However, seeding files is not as popular as it used to be, many residential Internet connections don't have good upload.) If you have the capacity for it, your site webmodels.dev could act as a tracker and initial seed for any models. Then it could be the one central registry. It might get to be too much for you though, a lot of the open weights models are huge.
I tested it on Firefox on windows, version 156.0.1 and didn't get that error.
What version of Firefox are you using and what is your operating system and graphics card, please? Can you also try it without WebGPU? (Reload the page and uncheck "Prefer WebGPU" and try a prompt.)
I like it as I'm vibecoding an (airgappable) browser AI workspace myself, but in terms of putting the models to use, just exposing the chat interface feels a bit limiting to me.
And after loading it, with an NVidia 1060 GPU (6 GB RAM) on Windows it failed with "Failed to load: No supported WebGPU variant for com.xenova.gemma4.DenseGemv; rejected sgma".
In Safari on a 2026 Mac Mini M4 with 24 GB of RAM it failed with "Failed to load: JSON Parse error: Unexpected EOF".
Huh, weird! It doesn't work in Firefox, but I test on Safari (M5 Max) and Chrome (Linux, Arc B580). I don't have access to NVidia or AMD hardware myself unfortunately, though friends confirmed both as working.
What browser are you using? I tested it on Windows, Mac, and iPhone. I tested it in Chrome, Firefox, Edge, and Safari. Everything works on the three machines and phone I tested it on.
(It's a little bit slow at the moment - you have to wait a few seconds for the models to load - as it's currently on the HN front page. The server is on a 1 gigabit unmetered network connection so it can serve all the weights - around 600 megabytes - to one person every few seconds, there are several concurrent users now.)
> how would you compare your capabilities to that of claude fable 5.1 by anthropic
> Comparing your capabilities to that of claude fable 5.1 would be very similar. Both are stories about a clown who is a cunning and manipulative animal. They both have problems and challenges, and they face challenges to overcome them. However, they have different goals and approaches. The clown
Small LM trained on Tiny Stories. My first goal was to get people to see tokens from the model ASAP, the second was to demo Tiny Stories for those who may be unfamiliar. Oh and play with ternary models. https://arxiv.org/abs/2305.07759
"California is the third-largest state in the United States, with a population of around 153 million people. It is also the most populous state in the United States, with a population of around 325 million people. The state is also the most populous in terms of GDP, with a GDP of $1"
Prompt for PetitGPT research-v1: "How much wood would a woodchuck chuck if a woodchuck could chuck wood?"
Response: "A woodchuck would chuck wood if it could chuck it. The woodchuck's chucking action is a form of "chucking" or "chucking in" which is a behavior that allows it to extract nutrients from wood. The woodchuck's chucking action is a form of "chucking" because it is a form of "chucking" that allows the woodchuck to extract nutrients from wood."
Sorry. That shouldn't happen. It doesn't use a lot of memory and only uses WebGPU in the normal way. What version of macOS and Safari did you use, and what is your hardware, please?
121 comments
[ 4.3 ms ] story [ 97.1 ms ] thread1. Add 1 tablespoon of water to the water bath. 2. Place the tub into the water bath and let it sit for about 5 minutes. 3. After 5 minutes, remove the tub and let it cool down. 4. Now, fill the tub with water and let it sit for about
uhmm completely unusable ?
Useful applications include sentiment analysis, text classification, entity extraction, etc.
They certainly can be useful, but you shouldn't compare them with LLMs such as Opus or Fable.
>What is 2+2?
Answer
> To find 2 + 2, we need to add 2 to both sides of the equation.
> 2 + 2 = 4
> So, 2 + 2 = 4 + 2.
Brilliant
LLMs produce semantically correct sentences, not factually correct statements. Have we forgotten this so soon?
> Give me a recipe for soup.
> Here is a recipe for soup:
> Saffa-Cake-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-Sweet-
That was 2-3 years before the big "ChatGPT moment" (the highly coherent ChatGPT research preview was released in November 2022, I think it was ChatGPT 3.5). Back in 2019 the models really were not producing very coherent output. Now you can see it for yourself right in your browser :) Everything has come a really long way since then!
I'm not sure I would have ever believed that something useful would come out of it, yet here we are.
The assumption that LLMs would always need sophisticated inputs to generate useful outputs is where the term "prompt engineering" came from. Now that idea is basically dead. Absolutely wild how far these models have come in less than a decade!
And I now tried using it more as a “text completer”, and results are much better.
https://ai-attacks.neal.codes/
The text is too small and it's way too dense with information in general. Considering how simple this product is to use, it's kinda crazy that I have to scroll through over a page length of (mostly useless, AI-generated) information before getting to the actual interface.
Also what is going on with the footer (why does it link back to the site itself, why is it telling me to "serve over HTTP").
It’s verbose with a layer of looking legit play first glance sloppy UI.
I don’t mind vibe code ui but at least some ui efffort would be nice. Not just 1 shot.
AI has no trouble churning out code, so AI-generated sloppy UIs have text fields everywhere.
Don't focus on the actual code or the actual UI. You need to give your model a way to see its output. If it just pumps code, it looks at the code. If you let it look at the rendered UI, whether by manually taking screenshots, or making it so that the agent looks at the browser output automagically (with a webdriver or selenium or puppeteer or a skill or whatever), it will fix whatever issues it sees on itself, and it will never be content with delivering something that looks as bad as this.
That's not really how it works. People like it in spite of the bad vibe coded UI. That doesn't mean that the UI is good. The criticism was clearly correct. I don't feel bad about publicly criticizing the UI to your face, either, because it's not like you were the one who designed/created it anyway--by the same reasoning, I don't see any reason to get defensive about it, since you have not invested very much of yourself into it either.
This has become a bit of a pet peeve of mine in general. Over the last six months or so I've been inundated with all kinds of lazy, bad vibe-coded UIs via my normal internet usage. It feels paradoxical in a way, because AI tooling should make it easier than ever to fix obvious problems, and yet UIs have gotten worse.
I have two theories for why this is: (1) usage of AI tooling conditions people into engaging with their creations in a certain hands-off, uninvolved, low-attention surface level way; or perhaps (2) those who care about their UIs were the people who were already creating UIs pre-AI, and so the marginal effect of AI tooling has been to increase UI creation amongst precisely the population who cares the least about what they are putting out.
I've also been developing a very strong personal revulsion towards the Claude default design language, including and especially the gold-on-black color scheme, although I admit that this is entirely by association and not because of its inherent qualities per se.
I decided that that wasn't very user friendly. It doesn't tell people what it is. Or how to use it. It doesn't explain any of the concepts or vocabulary.
So I asked it to add those things, above the main interface, including the steps people need to take to use it. I think it did great, and I think the small text sizes with a clear title let people who need it, read it, and people who don't can just scroll down. Even with the text it's 600 words.
I like the effect of what it's done. It's better than I would have done if I had written those intro words myself.
Clearly it resonates with people, this thing has been on the front page of HN for 4 hours and with 110 points is by far the most popular thing I've ever posted here.
Therefore, when showing something to humans, the first thing they see should be the first thing you want them to see. And since this is a demo, the first thing they see should be the demo, with sane defaults, above the fold.
Also, it is likely that no one (including the author) has read this “fine print” because it includes incorrect information. GPT-4 isn’t a frontier model anymore.
The Claude special.
So, clearly, the presentation format resonated with a lot of people. Therefore, I kept the presentation but put a tl;dr in enormous can't-miss-it shimmering font at the top. I marked all the "dense information" you mentioned as "Optional reading" (it's a lab after all, there should be a reading for it) and increased the font size.
I removed the parts of the footer that you said didn't make sense. The page isn't on the front page anymore so I don't know if people would like the changes or not, but I've changed the page layout in response to your feedback.
So I think this post performed well in spite of the annoying parts, not because of it.
> I didn't want to remove the "mostly useless" information since clearly it was useful for a lot of people
The information was not “clearly” useful. It had obviously incorrect information that no one even noticed. In my opinion that is strong evidence for the opposite conclusion, that people ignored it because it was noise.
Why would people ignore this information? Demos are a show, don’t tell thing. For example, you don’t have to tell people that the latency is low. They should be able to see it from the demo.
Error: CPython engine could not load (Failed to fetch dynamically imported module: https://sonistellar.com/lab/vendor/pyodide/pyodide.mjs). Check the network, then close this tile and re-boot to retry. — press reset or back to menu
For SQLite:
Error: SQLite engine could not load (GET https://sonistellar.com/lab/vendor/sqlite/sql-wasm.js -> HTTP 404). Check the network, then close this tile and re-boot to retry. — press reset or back to menu
FreeDOS loaded though, Snake and Tetris were fun!
> "2+2 is 2."
Otherwise, a very neat demo. As others have said, the UI is VERY confusing, way too much stuff going on.
Other questions and answers were mixed:
How many cards in a deck? > A deck of cards contains 52 cards.
How many cards in a deck if I remove all Queens from the deck? > If you remove all Queens from the deck, there are still 52 cards in the deck.
I’ve been working on a related proposal called the Web Models API, which explores a browser standard for an API that runs open-weight models on-device. Would love your thoughts: https://www.webmodels.dev
What version of Firefox are you using and what is your operating system and graphics card, please? Can you also try it without WebGPU? (Reload the page and uncheck "Prefer WebGPU" and try a prompt.)
Unticking the WebGPU checkbox and reloading didn't do anything.
Adding a warning about it could help.
My take on this concept: https://github.com/willaaam/gemma-4-E2B-webgpu-vision
https://willaaam.github.io/gemma-4-E2B-webgpu-vision/
And after loading it, with an NVidia 1060 GPU (6 GB RAM) on Windows it failed with "Failed to load: No supported WebGPU variant for com.xenova.gemma4.DenseGemv; rejected sgma".
In Safari on a 2026 Mac Mini M4 with 24 GB of RAM it failed with "Failed to load: JSON Parse error: Unexpected EOF".
The idea is pretty cool though!
Going to debug tomorrow!
(It's a little bit slow at the moment - you have to wait a few seconds for the models to load - as it's currently on the HN front page. The server is on a 1 gigabit unmetered network connection so it can serve all the weights - around 600 megabytes - to one person every few seconds, there are several concurrent users now.)
> Comparing your capabilities to that of claude fable 5.1 would be very similar. Both are stories about a clown who is a cunning and manipulative animal. They both have problems and challenges, and they face challenges to overcome them. However, they have different goals and approaches. The clown
I think that tells you all you need to know.
Small LM trained on Tiny Stories. My first goal was to get people to see tokens from the model ASAP, the second was to demo Tiny Stories for those who may be unfamiliar. Oh and play with ternary models. https://arxiv.org/abs/2305.07759
There's larger QA model on the same page too.
"What is the population of California?"
It replied
"California is the third-largest state in the United States, with a population of around 153 million people. It is also the most populous state in the United States, with a population of around 325 million people. The state is also the most populous in terms of GDP, with a GDP of $1"
But very fast, despite the lack of a decent GPU.
Response: "A woodchuck would chuck wood if it could chuck it. The woodchuck's chucking action is a form of "chucking" or "chucking in" which is a behavior that allows it to extract nutrients from wood. The woodchuck's chucking action is a form of "chucking" because it is a form of "chucking" that allows the woodchuck to extract nutrients from wood."
I chuckled.