Well, that did something.Keep going.Nothing is hidden on this page, but some Weblog pages have letters that burn brighter than others.Congratulations! Hope you enjoyed the fire! 🔥 The fire isn't everything, though. One more click starts it over. When you've found and solved the real puzzle, you'll know.
The comment section here is static HTML. Reading costs nobody anything.
#
Posting a comment does take a little more. It’s how I keep guard against bots and spammers, etc.
This blog is a Hugo site. It has a comment section. If you view source on
any post with comments, you will find them in the HTML, because they are
compiled into the page at build time like everything else. There is no
widget, no iframe, no tracker, and no third-party script, and loading a
post makes no request to any server but this one. The page does carry
some JavaScript (the site search, a few small comforts), but the
comments never need it: with JavaScript off you can read every comment
and post one.
The comments live on a small Phoenix server I run, called PopsicleBoat.
Each post has a companion thread there; publishing a post makes one API
call that creates the thread and writes its URL into the post’s front
matter. That URL is the only coupling between the two systems.
At build time, Hugo fetches each thread’s replies.json and renders the
replies as plain HTML once per post per build, cached, capped
indentation. If the server is unreachable, the build carries on and
renders no comments. The comment system cannot break the blog.
Below the replies is a plain HTML form: a textarea and a submit button,
POSTing to the boat. No script, no cookie, no request on pageview. The
boat walks you through signing in if needed, you confirm, and it sends
you back to the post with #just-posted on the URL. A hidden note
appears via CSS :target to say your comment is on its way. It is: the
boat pings my build hook, and about a minute later the comment is part
of the page. One of the small comforts is that it refreshes for you when it lands. A manual refresh does the same.
Reading is static. Writing is dynamic. That is the whole idea.
A reader costs nothing and depends on nothing. The page they get here is the
page I built, comments included. A writer touches the server once, at
the moment of writing, which is the point where a server is not just
useful, but like a moat: identity, spam defense, notifications. A comment writer is protected, a website owner (like me) is notified when written to.
The durability falls out for free. The comments are in my generated
pages, so they stay with the blog no matter what happens to the comment
server. Most comment systems get this backwards: the conversation lives
on their infrastructure and your page borrows it at read time, every
read, forever.
There is no captcha. Spam defense is the boat’s job and stays invisible:
a honeypot, time-to-submit checks, rate limits, and the sign-in step
itself. The boat is, to put it simply, the guard at the gate.
Comments lag by a build. About a minute here on this blog.
Commenting requires an account on the boat. That stops some people. I
keep it because a signed name is what makes the no-captcha posture
possible.
If the boat is down during a build, that build renders the affected
posts without new comments until a later build picks them up. I prefer a
page that sometimes forgets to a page that sometimes fails.
The API is written up in one page: create a thread, get replies as JSON, point a build
hook at your host. Documented at
https://www.popsicleboat.com/for-bloggers/api — you mint your own token,
shown once, to you. No one else sees it.
Replies from PopsicleBoat
Jack
·
It feels like a lot of this article was written by AI.
Reply
temporaryuser
· edited
No script, no cookie, no request on pageview
Most likely D:
Reply
snrt
·
At least they're honest about the costs.
I don't get why someone talking about "humanizing the small web" would be all in on LLMs, a fundamentally dehumanizing technology.
Reply
jake
·
I answered this on lobste.rs but basically I don’t see the two as mutually exclusive. LLMs are massively powerful, my whole team at my day job uses them to get the work done. I’m using them in my spare time to build something I believe supports the idea of offering a platform for small web content. I’m not a purist, I’m a builder. I use the tools available. Remember, this site is free. It’s here for anyone who wants it, and if someone doesn’t like how the sausage is made, well, don’t eat it?
Reply
jake
·
Fair. I do often get a draft from AI and I have not been shy about it here. There's a whole post called "I used AI - it was obvious". This post kept more of the draft's wording than I usually let survive, and "no script, no cookie, no request on pageview" is apparently what that sounds like. I guess I'm not as allergic to AI as others because this is not the first time I've heard that, hence I wrote the post I mentioned earlier. Also, I see that accusation all over the internet, like Reddit. Everyone seems to hate AI.
To me, humanizing the small web and embracing the new are not incongruous. Two things can be true at the same time. Yes, I use AI. It translates to other languages, it finds typos and grammatical issues. It's useful.
The system described is mine. I built it over about 7 years in my spare time. I just want to share it, and I do appreciate you testing it out.
Reply
JohnDoe
·
I don’t hate AI, I am a heavy AI user, but I hate your writing. Not because of the use of AI but because of your contribution. Your carelessness.
I am sure the article is much better than what you could have produced with your own mind. The problem is that I also have access to the same AI and I find the stuff I can generate with it more interesting.
Reply
jake
·
Ok, you don’t like my writing. Not sure what to do with that. I write the way I write, I mean plenty of people don’t like plenty of writers. To each their own.
Reply1 more reply
a former member
·
Removed by an admin. Reason: personal attack.
Reply
snrt
·
I believe you as much as I believe this line:
From here on out, you’ll never hear a word from me that didn’t come from my own brain. Including this.
Oh well.
Reply
jake
·
Ok fair. Maybe I wasn’t thorough enough, and maybe I should add an edit say I don’t intend stop using ai to draft late night thoughts and ai smells will probably leak through.
This is all free, remember. I’m just doing it for fun and hoping people like it.
You were curious enough to read and reply, so criticisms aside I appreciate you even looking at my work.
FWIW I don’t delete any comments or replies. I want the history here to stay completely honest.
Edit (2026-08-15): A reader quoted that last line back to me, and they were right to. It didn't survive. I still draft with AI sometimes, and sometimes more of the draft's wording survives my edit than I intend. The more honest version of the pledge is smaller: the ideas are mine, the editing is mine, and when the seams show I'd rather be caught than delete the evidence. The post above stays exactly as I wrote it. Signed, JVA(lol).
Reply
M
·
Everyone seems to hate AI.
And rightly so. The externalities alone are just horrible
Left one of the replies above? It stays yours. You can edit or delete it
in the thread, and this page follows on its
next build, which is automated. It can take about a minute.