The leaderboard is fascinating. Some people are clearly putting a lot of time into this, while the rest of us are trying to sneak phallic shapes past your CNN.
After seeing it in action, my second thought (first was just watching my fish) was that I was amazed at the good behavior of the users because I would have expected a lot of penises floating around. Now I understand. Nicely done!
Somewhat interesting thing with my 9yo. She's a pretty good artist, she can draw various characters and objects pretty well.
With this she clearly just wanted to do the standard stick fish shape, but it turns out she only knows how to do it facing left. Facing left, looks typical, facing right, almost a figure 8. So after like 6 attempts being judged by the computer she's getting frustrated, and I'm like how about this, turn the phone upside down to have her draw facing left. But now she can't do it left either!
At least on Firefox/Mac, sometimes while dragging it "picks up" the image to drag it. This should prevent that.
rafram
> exercise in vibe-coding
The code shows it... Your escaping routine seems OK, but you really __should not__ be building HTML and JS(!) using raw string interpolation. Or letting the client decide whether the submission needs moderation.
show comments
volkk
I did this on a trip to Japan but can't remember for the life of me where. Some museum. My wife and I drew fishes and then they were uploaded and we went to a room and watched them swim across walls/ceilings. Really cool experience
show comments
evan_
I couldn’t get it to go above 50% and then I wrote “fish” on it and it went up 5 points
> I built a basic CNN trained against penises and swastikas
Isn't this how some Lego MMO died? They spent too many resources on "moderation" and too few on the actual game.
If you post that more proeminently, maybe you'll get a bunch of kids on summer holidays finding ways to make penises pass your filter...
boje
I tried my damnedest to give my fish a ballsack. That's a real good fishiness detector.
show comments
throwanem
What a fun game! Especially on a Note 10+, and I have to say, seeing the dongnet keep up with each pen stroke on a 2019 device is really impressive! Possibly still a little generous, though, I think. Writing "FISH" on a rectangle shouldn't hit 50%, but this does explain why SSN-69 didn't have much of a chance :D
productme
This is the most wholesome thing I saw on the internet for a long time. Thanks for the effort!
quantummagic
That is fun. And it's nice to know that everyone else on HN is about as artistic as I am.
Small changes if make:
- Change the background colour of the drawing canvas to match the water background
- Add fill tool? So folks can color this fish white? Bonus points if you automatically color the inside part of the fish white
- Fix the discontinuity of how the fish swim by stretching the pixels of the fish that you draw
pimlottc
I drew a fish but I couldn't find it anywhere when it switched to the tank. Perhaps you could highlight the user's own fish, at least initially?
EDIT: Tried again and now I see there is a highlight, but it's pretty hard to see a in a busy tank, the color contrast is not very high
show comments
sometimes_all
I keep getting this error on both Safari and Firefox:
Edit: Never mind, I had to wait till the model loaded. Took some time though. Fun project nevertheless!
show comments
MikeHartman
Fun, but really frustrating to spend a ton of time making a detailed fish, get a fish probability of 67.2%, submit it successfully with no note about it needing moderation, and it still never shows up.
And I don't mean "I never noticed it show up in the public tank". I mean my profile says "8 fish created", but if I "view my fish" there are only two in the list. If I go to my default fish tank I see all 8, but if I click on one of the missing ones and try to add it to a different tank or vote on it I get "Failed to <do whatever>: Fish not found".
They exist but they don't exist. This isn't a tank, it's a window into purgatory.
AnonHP
This doesn’t work for me on Firefox Focus on iOS, even with all the ad and tracker blocking disabled. Tapping on the make it swim button does nothing. I’m able to see the tank with the tank button though.
There used to be something like this at the Boston Museum of Science, where you created a fish (don’t remember if you drew it freehand and/or selected from different fish parts) and released it into the tank with other fish and predators.
salamanderman
Nice, I got my upside down penis fish past the filter! Although, once it was swimming it did look very much like a fancy guppy. I don't think anyone would recognize it, but I still feel smug about "beating" the machine.
show comments
droidHZ
It's so interesting. A large number of strange fish are swimming around.
whoamii
As Bret would say, please stop drawing dead fish.
show comments
evansjp
Some of you are wayy too bored at work - some of these are too realistic
veidelis
Does not work for me on desktop Firefox. When I press the "make it swim!" button, there's an error in console: "Uncaught (in promise) Error: Fish model not loaded"
show comments
distalx
This is fantastic, the leaderboard is really nice! It reminds me of Paper Planes.
My initial fish likelihood score was 7% and I couldn't get it past 12% without looking up what a fish looks like. I learned a lot about myself via this app, so thank you.
danesparza
What a fun, whimsical idea. I love this.
Also: When you release something like this to the public, I'm amazed at how quickly humans race to the bottom. That bit can be awful to watch.
umvi
> Frontend is HTML5 hosted on github pages, backend is Node.JS on GCP.
So this means it's doing CORS? Why not just have GCP serve everything?
exasperaited
Kudos to the person who managed to sneak a tiny fish, in a fish tank, on a table, with a plant in a plant pot, past the detector.
Naracion
I'm glad we've stopped drawing dead fish (beautiful talk by Bret Victor, 12 years ago): https://vimeo.com/64895205
This is my feeling of vibe coding this kind of stuff so far. It's never really good, it's just kind of acceptable because it was vibe codeded.
The way the fish are stretched where they gets sliced into bands is not something I think most humans would generally choose to do. With a few characters of code change you could at least stretch each column so it scales to the next column.
I know vibe coding will continue to get better. There's a bunch of people at my work that have a vibe-coding chat where they show off their latest creation. Most of them they'd done in Gemini Canvas. The prompts are usually 1 or 2 paragraphs like "Make a 3d tower defense game with joypad input where you move a character using the joypad and can place towers by pressing the button. ....." And it spits out a working game but it's only interesting because it was vibe coded, not because the game is actually in any-way-shape-or-form interesting, good, pretty.
Also, I appreciate that this game had a fish recognizer but I also found it super scary. I tried to make to make a sunfish and it was like "not a fish". I don't want bad AI judging what is and isn't acceptable.
Jemmeh
This is so cool!
I did just about spit out of coffee reading the words vibe coded fish tinder though. But a smart thing to implement.
michaelmior
Locally we have the National Museum of Play. One of the exhibits right near the entrance is a virtual aquarium where you can color in a picture of a fish. Then you take it to a scanner and press a button and your fish starts swimming in a huge screen that serves as a virtual aquarium.
lwansbrough
Show me a tank of the leaderboard fish!
pamelafox
This is my favorite thing today! I only saw one penis fish (with the penis nestled inside the face, as a facial feature of sorts). That's pretty good for a drawing app on the internet, well done! I've given up on running public apps that accept user contributions.
hajrice
Would love to hear more info on how you actually vibe coded this as the fishbowl seems incredibly cool
rendall
I drew a 100% fish but it was classed only 58% a fish.
This is the same thing I did when going to teamLab Borderless in Japan, very cool.
ash_091
I recently went to an aquarium in Exmouth, Western Australia, which had a giant wall mounted display with a tablet which allowed kids (of all ages!) to draw a fish and "release" it into the tank.
mehphp
I’m so bad at drawing it only had a 46% confidence level that it was a fish
susiecambria
I realized that my drawn with a mouse fish looks a lot like the fish quilt block I made. Neither were very good. But I enjoyed making them both :-)
Now to share with my grandkids.
drzzhan
This is so fun. I wonder if there is a similar page for other animals,
Waterluvian
I love that the common styles of fish are a function of what tools people were given.
For example, if a fill tool was available I bet we would see far far fewer hollow fish.
show comments
dgrin91
Very fun. My only suggestion would be a small highlight when you submit your fish so you can easily see which fish is yours - at least for a few seconds.
show comments
littlekey
Very cool! NN seems too focused on precision over recall (not allowing enough false positives) but trying to get stuff past it is also part of the fun.
rl_for_energy
There’s a museum in Tokyo that has this but for physically drawn fish and is then projected on a large wall. Cool to see a digital version
show comments
tuesdaynight
I love these kind of websites. After finishing my drawing, I spent way more time than I expected looking through other people drawings.
[deleted]
mfalcon
I know you tried to hack it the same way as I did.
_Algernon_
Fun to try to draw a fish that passes the looks like a fish test, while having as many penis-like features as possible.
parpfish
you can upvote your own fish as much as you want
Lewton
I'm hard stuck on fish probability 59% fml
exabrial
Well the first thing I did was submit a good ole CNB (use your imagination) and it put it under review.... so nice job hah!
haolez
No obscene fishes observed. Well done! :)
mosburger
i love frivolous stuff like this. it's art that reminds me of the internet's early days, well done.
blindstitch
Please approve my anglerfish. Thank you.
rtpc
My eel didn't qualify as a fish :(
show comments
techterrier
its got nazi fish (one with a swastika on it) in the tank already, hooray for the internet
andrewstuart
This is what the internet should be all about.
Now, make a man and we will make him adventure in the forest?
debrisapron
If vibe coding means more silly fish-drawing apps in the world then I’m 100% for it.
Timsky
Tell me why my fish just died!? Just went through a little loss and now feel sad
show comments
rezmason
How do I eat the other fish?
flufluflufluffy
This is the only type of thing people should actually vibe code. I love it
mads_quist
Very nice work. You could improve the tank rendering performance though...
stockhorn
"Built with hate"...?
Too bad. Love the rest of the project.
arealaccount
In firefox I'm able to vote for the same fish over and over.
countfeng
I can't find the fish l drew swimming there
show comments
ArcaneMoose
Asking ChatGPT Agent to try doing this is hilarious
constantinum
Reminds me of Team Lab Borderless in Tokyo, Japan
sw030695
It looks like this has been hijacked by some edgy online communities.
Is there some sort of overlap between HN and cesspits like 4chan? Or did this get posted elsewhere?
show comments
tantalor
Getting that fishmax is really hard, any tips?
nothinghere789
is it normal to expose API key and App ID on Github? I don't use firebase but figured I should ask
show comments
skeptrune
This is who I want to be when I grow up
HaZeust
Haha this is good times - solid site
bix6
Can you add search by fish name?
masterpos
I get neal.fun vibes from this
show comments
dyarosla
Missed opportunity to call it
Fish or no fish
UncleOxidant
It did not like my fish :(
the__alchemist
No worky (Android/FF)
932939293
hi kiwifarms is drawing offensive images please ban them
sorrythanks
Start drawing live fish
DerPozilist
sorry, i accidentally broke it by giving 500 in the url-param
tamimio
Cool, just made nemo!
camillomiller
I saw my fish die :(
bix6
10/10 love it!
Feathercrown
No mobile support?
show comments
indigodaddy
This is ingenious
doriancodes
that's so random and fun! I love it!
introvert1622
Great project!
bravesoul2
Great capcha!
HereIGoAgain
Cool
cancerboi
I waited for my fish. But it never came. Made me sad.
show comments
shutupnerd0000
Now I want to see the adult version of this project: same thing with no CNN.
Inundate me with penises and swastikas!
curiouser3
RS HN crossover didn't expect to see this lol
fHr
omg best shit that happened in 2025 yet, well done
The leaderboard is fascinating. Some people are clearly putting a lot of time into this, while the rest of us are trying to sneak phallic shapes past your CNN.
1. https://drawafish.com/rank.html?userId=1753510318634_cdeh6a4...
The website is great!
> I built a basic CNN trained against penises
After seeing it in action, my second thought (first was just watching my fish) was that I was amazed at the good behavior of the users because I would have expected a lot of penises floating around. Now I understand. Nicely done!
https://imgur.com/a/Vtoxc7p
35% for this masterpiece? Rigged
Somewhat interesting thing with my 9yo. She's a pretty good artist, she can draw various characters and objects pretty well.
With this she clearly just wanted to do the standard stick fish shape, but it turns out she only knows how to do it facing left. Facing left, looks typical, facing right, almost a figure 8. So after like 6 attempts being judged by the computer she's getting frustrated, and I'm like how about this, turn the phone upside down to have her draw facing left. But now she can't do it left either!
Suggestion: canvas.addEventListener('dragstart', (e) => { e.preventDefault(); } );
At least on Firefox/Mac, sometimes while dragging it "picks up" the image to drag it. This should prevent that.
> exercise in vibe-coding
The code shows it... Your escaping routine seems OK, but you really __should not__ be building HTML and JS(!) using raw string interpolation. Or letting the client decide whether the submission needs moderation.
I did this on a trip to Japan but can't remember for the life of me where. Some museum. My wife and I drew fishes and then they were uploaded and we went to a room and watched them swim across walls/ceilings. Really cool experience
I couldn’t get it to go above 50% and then I wrote “fish” on it and it went up 5 points
https://i.imgur.com/SADe8kn.png
6.3%??????
> I built a basic CNN trained against penises and swastikas
Isn't this how some Lego MMO died? They spent too many resources on "moderation" and too few on the actual game.
If you post that more proeminently, maybe you'll get a bunch of kids on summer holidays finding ways to make penises pass your filter...
I tried my damnedest to give my fish a ballsack. That's a real good fishiness detector.
What a fun game! Especially on a Note 10+, and I have to say, seeing the dongnet keep up with each pen stroke on a 2019 device is really impressive! Possibly still a little generous, though, I think. Writing "FISH" on a rectangle shouldn't hit 50%, but this does explain why SSN-69 didn't have much of a chance :D
This is the most wholesome thing I saw on the internet for a long time. Thanks for the effort!
That is fun. And it's nice to know that everyone else on HN is about as artistic as I am.
We visited the St Louis Aquarium a couple years ago and they have a similar set up. It's pretty awesome and great for kids. It's simply called "Fish Draw" https://www.stlaquariumfoundation.org/education/conservation...
This is too much fun! If anyone missed it, you can also rank the fish here: https://drawafish.com/rank.html
Fun!!!
Small changes if make: - Change the background colour of the drawing canvas to match the water background - Add fill tool? So folks can color this fish white? Bonus points if you automatically color the inside part of the fish white - Fix the discontinuity of how the fish swim by stretching the pixels of the fish that you draw
I drew a fish but I couldn't find it anywhere when it switched to the tank. Perhaps you could highlight the user's own fish, at least initially?
EDIT: Tried again and now I see there is a highlight, but it's pretty hard to see a in a busy tank, the color contrast is not very high
I keep getting this error on both Safari and Firefox:
Uncaught (in promise) Error: Fish model not loaded verifyFishDoodle https://drawafish.com/src/js/app.js:514 <anonymous> https://drawafish.com/src/js/app.js:170 EventListener.handleEvent* https://drawafish.com/src/js/app.js:168
Edit: Never mind, I had to wait till the model loaded. Took some time though. Fun project nevertheless!
Fun, but really frustrating to spend a ton of time making a detailed fish, get a fish probability of 67.2%, submit it successfully with no note about it needing moderation, and it still never shows up.
And I don't mean "I never noticed it show up in the public tank". I mean my profile says "8 fish created", but if I "view my fish" there are only two in the list. If I go to my default fish tank I see all 8, but if I click on one of the missing ones and try to add it to a different tank or vote on it I get "Failed to <do whatever>: Fish not found".
They exist but they don't exist. This isn't a tank, it's a window into purgatory.
This doesn’t work for me on Firefox Focus on iOS, even with all the ad and tracker blocking disabled. Tapping on the make it swim button does nothing. I’m able to see the tank with the tank button though.
OP has a clear bias against angelfish.
This is brilliant. Checkout my [Anatomically Correct Fish Tank](https://drawafish.com/fishtank-view.html?id=gYCWJ24lhxSvR4lG...)
Shocking no one has mentioned Jian Yang's hotdog app :) [1]
[1] https://www.youtube.com/watch?v=tWwCK95X6go&ab_channel=Felix
Love the simplicity of this.
There used to be something like this at the Boston Museum of Science, where you created a fish (don’t remember if you drew it freehand and/or selected from different fish parts) and released it into the tank with other fish and predators.
Nice, I got my upside down penis fish past the filter! Although, once it was swimming it did look very much like a fancy guppy. I don't think anyone would recognize it, but I still feel smug about "beating" the machine.
It's so interesting. A large number of strange fish are swimming around.
As Bret would say, please stop drawing dead fish.
Some of you are wayy too bored at work - some of these are too realistic
Does not work for me on desktop Firefox. When I press the "make it swim!" button, there's an error in console: "Uncaught (in promise) Error: Fish model not loaded"
This is fantastic, the leaderboard is really nice! It reminds me of Paper Planes.
https://paperplanes.world/
My initial fish likelihood score was 7% and I couldn't get it past 12% without looking up what a fish looks like. I learned a lot about myself via this app, so thank you.
What a fun, whimsical idea. I love this.
Also: When you release something like this to the public, I'm amazed at how quickly humans race to the bottom. That bit can be awful to watch.
> Frontend is HTML5 hosted on github pages, backend is Node.JS on GCP.
So this means it's doing CORS? Why not just have GCP serve everything?
Kudos to the person who managed to sneak a tiny fish, in a fish tank, on a table, with a plant in a plant pot, past the detector.
I'm glad we've stopped drawing dead fish (beautiful talk by Bret Victor, 12 years ago): https://vimeo.com/64895205
Also inspired by that: https://drawdeadfish.com/
Cool but ......
This is my feeling of vibe coding this kind of stuff so far. It's never really good, it's just kind of acceptable because it was vibe codeded.
The way the fish are stretched where they gets sliced into bands is not something I think most humans would generally choose to do. With a few characters of code change you could at least stretch each column so it scales to the next column.
I know vibe coding will continue to get better. There's a bunch of people at my work that have a vibe-coding chat where they show off their latest creation. Most of them they'd done in Gemini Canvas. The prompts are usually 1 or 2 paragraphs like "Make a 3d tower defense game with joypad input where you move a character using the joypad and can place towers by pressing the button. ....." And it spits out a working game but it's only interesting because it was vibe coded, not because the game is actually in any-way-shape-or-form interesting, good, pretty.
Also, I appreciate that this game had a fish recognizer but I also found it super scary. I tried to make to make a sunfish and it was like "not a fish". I don't want bad AI judging what is and isn't acceptable.
This is so cool!
I did just about spit out of coffee reading the words vibe coded fish tinder though. But a smart thing to implement.
Locally we have the National Museum of Play. One of the exhibits right near the entrance is a virtual aquarium where you can color in a picture of a fish. Then you take it to a scanner and press a button and your fish starts swimming in a huge screen that serves as a virtual aquarium.
Show me a tank of the leaderboard fish!
This is my favorite thing today! I only saw one penis fish (with the penis nestled inside the face, as a facial feature of sorts). That's pretty good for a drawing app on the internet, well done! I've given up on running public apps that accept user contributions.
Would love to hear more info on how you actually vibe coded this as the fishbowl seems incredibly cool
I drew a 100% fish but it was classed only 58% a fish.
https://drawafish.com/rank.html?userId=1754072603630_i0f8iw6...
I carefully drew a lion fish. Turns out only 37% odds of being a fish. (https://en.wikipedia.org/wiki/Lionfish)
Fun idea, fun site!
This is the same thing I did when going to teamLab Borderless in Japan, very cool.
I recently went to an aquarium in Exmouth, Western Australia, which had a giant wall mounted display with a tablet which allowed kids (of all ages!) to draw a fish and "release" it into the tank.
I’m so bad at drawing it only had a 46% confidence level that it was a fish
I realized that my drawn with a mouse fish looks a lot like the fish quilt block I made. Neither were very good. But I enjoyed making them both :-)
Now to share with my grandkids.
This is so fun. I wonder if there is a similar page for other animals,
I love that the common styles of fish are a function of what tools people were given.
For example, if a fill tool was available I bet we would see far far fewer hollow fish.
Very fun. My only suggestion would be a small highlight when you submit your fish so you can easily see which fish is yours - at least for a few seconds.
Very cool! NN seems too focused on precision over recall (not allowing enough false positives) but trying to get stuff past it is also part of the fun.
There’s a museum in Tokyo that has this but for physically drawn fish and is then projected on a large wall. Cool to see a digital version
I love these kind of websites. After finishing my drawing, I spent way more time than I expected looking through other people drawings.
I know you tried to hack it the same way as I did.
Fun to try to draw a fish that passes the looks like a fish test, while having as many penis-like features as possible.
you can upvote your own fish as much as you want
I'm hard stuck on fish probability 59% fml
Well the first thing I did was submit a good ole CNB (use your imagination) and it put it under review.... so nice job hah!
No obscene fishes observed. Well done! :)
i love frivolous stuff like this. it's art that reminds me of the internet's early days, well done.
Please approve my anglerfish. Thank you.
My eel didn't qualify as a fish :(
its got nazi fish (one with a swastika on it) in the tank already, hooray for the internet
This is what the internet should be all about.
Now, make a man and we will make him adventure in the forest?
If vibe coding means more silly fish-drawing apps in the world then I’m 100% for it.
Tell me why my fish just died!? Just went through a little loss and now feel sad
How do I eat the other fish?
This is the only type of thing people should actually vibe code. I love it
Very nice work. You could improve the tank rendering performance though...
"Built with hate"...? Too bad. Love the rest of the project.
In firefox I'm able to vote for the same fish over and over.
I can't find the fish l drew swimming there
Asking ChatGPT Agent to try doing this is hilarious
Reminds me of Team Lab Borderless in Tokyo, Japan
It looks like this has been hijacked by some edgy online communities.
Is there some sort of overlap between HN and cesspits like 4chan? Or did this get posted elsewhere?
Getting that fishmax is really hard, any tips?
is it normal to expose API key and App ID on Github? I don't use firebase but figured I should ask
This is who I want to be when I grow up
Haha this is good times - solid site
Can you add search by fish name?
I get neal.fun vibes from this
Missed opportunity to call it
Fish or no fish
It did not like my fish :(
No worky (Android/FF)
hi kiwifarms is drawing offensive images please ban them
Start drawing live fish
sorry, i accidentally broke it by giving 500 in the url-param
Cool, just made nemo!
I saw my fish die :(
10/10 love it!
No mobile support?
This is ingenious
that's so random and fun! I love it!
Great project!
Great capcha!
Cool
I waited for my fish. But it never came. Made me sad.
Now I want to see the adult version of this project: same thing with no CNN.
Inundate me with penises and swastikas!
RS HN crossover didn't expect to see this lol
omg best shit that happened in 2025 yet, well done
[dead]
Recently, https://news.ycombinator.com/item?id=44670499
[dead]
[dead]
[flagged]