Build it. Use Go. Maybe nknorg/nnet for P2P. Signed HLS segments. Have Go also serve the web front-end with a WASM web worker. Public nodes can run on a very lightweight VPS/server with an autocert ___domain. Viewers browser join the swarm with WASM-- this way people can just type in a web address so it's very user friendly but the ___domain doesn't actually have to serve any data. I would just use a trusted pubkey to sign P2P updates so nodes can block naughty IP addresses. Should get you very friendly user experience, easy node deployment, pretty low latency, and bittorrent level of legal resilience.
Been running Cool for about a year. Drop a couple thousand on a 1U and throw it on a $100/mo colo and it's crazy bang for the buck. It makes it so easy to spin up new projects it's hard not to like it. Definitely when launching some containers and open source projects it's not as seamless as it could be-- can require fiddling with vars and compose files-- but on the whole very stable, lightweight, fast deploys, and conceptually pretty simple.
One thing I've noticed is I've starting using much more open source software for various things. When you can just jump into the UI, paste in the github link, and have it running on a wildcard ___domain in 60 seconds I find myself giving OSS a try more often before looking elsewhere.
Somebody should just scrape all the most popular images from getty then setup a pipeline to regenerate them with flux/controlnet/loras. Charge $10/mo for unlimited licensing or find ancillary way to generate revenue. If most of revenue comes from editorial images start there-- most people won't even care if it's a bit off.
There is a video of Zuck denying they "recording peoples microphone" -- but how he said it with a smirk I took him to mean "we do on-device transcription and only send back keywords"
I love the go+alpine+htmx+templ GAHT stack as long as I have defined and limited interaction needs. Things get tricky when you need more complex interaction because there isn't much example/LLM code out there for complex situations. Then you end up having your view code split between the server and some random JS on the front end and it kinda kills the simple GHAT fun.
reply