Show HN: Koi.rest – watch some fish and regain your balance (koi.rest)
This last part, along with everything else this past year, has caused me a great deal of stress.
While our balcony zen garden project is yet to be completed, I had an idea to create a virtual one that everyone can use.
It's an idea that, unfortunately, I’ve been postponing for a while now, mostly because I have no fucking idea how to do it as I don’t know JavaScript, and I don't have the capacity to learn it right now.
So I let perfect be the enemy of good and, well... just kept the idea to myself.
Then I said "fuck it" and used AI to make the thing I really wanted to make.
I realized I didn't want "perfect". I wanted "good enough".
I tweaked, added, removed, drew, researched, questioned, tested... I just wasn't the one coding it.
So now, instead of occupying my brain, it now lives on the internet for others to enjoy.
Yes, there’s something noble about making something entirely on your own, but what good is an idea that just sits in my head?
So here I am. I made the thing. The weird, little, quiet koi pond.
The silly project of passion. The little corner of the internet to let strangers watch fish quietly, together.
I hope this pond helps you as much as it helped me.
65 comments
[ 0.59 ms ] story [ 42.6 ms ] threadThat said, I'm not sure how real the "koi you see are other people visiting the pond together with you" bit is. I only ever saw 3 swimming koi. Maybe that's the base.
In essence, when you someone joins the counter goes up and another koi will spawn locally.
It’s a bit nerfed from my initial idea to sync the movement of each koi, but I might do that in the future.
It looks like the way I deployed (Railway) it causes `429 Too Many Requests` to be returned, so I’ll definitely have to look into that. But it’s 1:21 AM so tomorrow.
Thank you for letting me know!
So far the options I thought of were to fade or scale the koi as they enter or leave the pond. I will try to see what will work visually here.
It might be some other combination that might contribute to whether there is or isn’t lag, and I’m going to try and find what it is :)
I'd love a version without the multiplayer and just zen
That’s not to say “it’s a you problem”, but rather that I currently don’t know under which circumstances the lag appears.
Then actually entering took a few seconds and it was quite laggy looking at all the fish.
Once those things are fixed I think the idea is neat. It would be cool to be able to interact with the pond in some way (click lily pads, drop food in the water, click the water to make it splash) but that might not be what you're going for with this
During my work on it I’ve been testing it on both my Linux box as well as my MacBook and haven’t encountered lag. I’m not meaning to say “it works on my machine” by this, but simply that I couldn’t have caught this before.
I will definitely address the lag issue, and find a more “graceful” way for koi to enter and leave the pond.
About interactivity – I was thinking about this both during the development as well as just when I had the idea and the intention was always to not have any, simply because in my own experience we are always doing “something”, and this was a way to get a little bit of the opposite – to do nothing.
But I can see how some micro-interactions could be useful. A sort of a “popping bubblewrap” action.
If you knew what you were doing you could have reasoned about what your code did, though. Such is the danger of trial-by-error vibe coding. I personally stopped using it because the music kept cutting off arbitrarily after some minutes. Not to criticise you unduly because this was a cute concept, but I hope you might take away that LLMs are not only not perfect, but are also only "good enough" if your standards for "good enough" are particularly low, and use this as motivation to learn more in the future instead of always relying on them.
I think no interaction is good for an offline pond, but I do think some tiny little bit of interaction would be nice online since it adds a touch of humanity, being able to see other people and interact with them in some small way.
Similarly it's not unusual for one website to behave differently across browsers.
Testing on a single device, or two devices, is not enough. I'm on a laptop with 96 GB ram and a Ryzen AI 9 HX PRO 370, and it's running at 3 FPS.
The crucial part is browser performance and network latency. You need to test across multiple browsers, but also evaluate frame times, CPU load, GPU load, etc. so you can make a reasonable estimate whether it's fast or not.
Then, when you realize that its not good enough, e.g. on firefox, you use firefox's profiler to see which parts are slow. LLMs would guess, probably, but you have to measure.
Welcome to software engineering.
I have always felt ultra minimalism is partly a way of fighting bugs. Why can't we put more effort to make every site a great experience in of itself?
Been experimenting with going way beyond my usual frontend work for something truly special. This made me think if it. It's 10x the effort but that's about the same effort I put in before manually making a minimal one.
I want more koi fish swimming around my saas.
After the first few weeks, it just soldiered on with minimal algae or intervention needed. It's a lovely thing to have, I can recommend it. (That said, I also have a small aquarium problem according to the wifey)
https://youtu.be/PprsZgA-kxs?si=waSpdI4J323fNNGh
https://www.pcgamer.com/gaming-industry/a-former-air-force-p...
Keep going.
Also, please talk to a lawyer before slapping a Copyright on anything you didn't make. Machine-made products cannot be Copyrighted in the US and most Berne Convention countries, and you cannot own the output of an LLM, nor can you legally shield yourself from the consequences.
At the end of the day, I have tools that are helping with screen-printing (and stereo photography, and other hobbies). I don't care if Brownies gathered around my computer when I was sleeping and wrote the software (to my specification).
I suppose that puts me in that group of programmers that are focused on the end-product, agnostic as to how the thing was made. I have truly never enjoyed the plumbing part of the job—just want clean tap water.
(Well, the algorithms have always fascinated with a mathematical appreciation: matrix transforms, Bloom filters, etc. Aspects like robustly handling multi-threading has always been a kind of painful Sudoku puzzle I try to do in my head—while a challenge, I sometimes would rather not hurt my brain that way. The tedium of stubbing in functions, filling them in to make a boiler-plate image cache–never very interesting.)
I don't copyright anything I do. I had some software published 36 years ago and the publisher slapped a copyright on it, but I have never done so.
Where did you get the idea that anyone was talking about trying to copyright vibe-coded tools for personal use?