Show HN: Draw a fish and watch it swim with the others

Overall reaction

  • Many commenters found the site delightful, nostalgic, and “what the internet should be about.”
  • People reported unexpectedly long sessions browsing others’ fish and called it wholesome, funny, and oddly revealing about their drawing skills.

Comparisons to real‑world exhibits

  • Multiple users compared it to teamLab installations (Tokyo, Singapore, etc.), aquariums, and museums where kids draw sea creatures that are scanned and then projected into a virtual tank.
  • Several noted that this digital version captures a similar sense of wonder.

Fish classifier, moderation, and human behavior

  • The author built a CNN to recognize “fishiness” and to filter out penises and swastikas; users were impressed by how few obscene drawings got through.
  • Many tried to beat the filter with phallic fish, obscene text, flags, or symbols; most were blocked, but some racist/antisemitic content and swastika‑decorated fish still appeared.
  • Some legitimate fish (eels, sunfish, lionfish, catfish) scored very low probabilities, leading to complaints that the model is too strict and biased toward simple cartoon fish.

Drawing experience and meta‑games

  • Users joked about how hard it was to get above ~50–60% “fish probability” and how simple stick‑fish often scored higher than detailed art.
  • A meta‑game quickly emerged: maximize phallic features while still passing as a fish.
  • One anecdote described a child who could only draw fish facing one direction, prompting discussion about motor patterns vs. shape understanding.

Voting, leaderboard, and abuse

  • Leaderboard fish amazed many; suspicions arose about bots or scripts, and people shared code to import images or automate voting.
  • Voting is effectively unlimited (rate‑limited per session), making political “flag fish” and controversial entries accumulate huge, manipulable scores.
  • Commenters recommended better ranking algorithms and stricter voting controls.

Technical and UX discussion

  • Site was “vibe‑coded,” leading to debate about unsafe string interpolation, client/server sanitization, CORS choices, and exposed Firebase keys (clarified as non‑secret).
  • Many reported issues on Firefox and mobile (model not loading, 40MB download, “Fish model not loaded” error).
  • UX suggestions: clearer highlight of your own fish, better tank rendering, fill tool, canvas color tweaks, improved fish stretching.

Security and hijacking

  • The site was briefly hijacked after being shared on “heinous websites,” exploiting a weak admin password; a rollback and fixes were underway.