A tool for ephemeral single-keyboard conversations, ready to share with alt text. Basically offline PluralKit in your browser. https://utter.y2k.diy
  • Handlebars 73.5%
  • JavaScript 16.4%
  • CSS 8.3%
  • Shell 1.8%
Find a file
Una 9633470fec
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
allow editing system tag and name format, fix #22
2026-03-22 14:35:00 -04:00
doc PWA? I dunno if data URIs are valid here 2025-11-12 13:49:04 -05:00
hooks [ci skip] whimsy, commit hook 2025-11-12 14:02:45 -05:00
src allow editing system tag and name format, fix #22 2026-03-22 14:35:00 -04:00
.gitattributes [ci skip] mark index.html as generated to suppress diffs 2025-11-17 16:32:40 -05:00
.woodpecker.yml rcloneeeeeeee 2025-11-12 15:13:34 -05:00
build.env allow editing system tag and name format, fix #22 2026-03-22 14:35:00 -04:00
build.sh overengineer the build script for minification and then remove it because it doesn't save a meaningful amount of space 2025-11-12 16:07:14 -05:00
index.html allow editing system tag and name format, fix #22 2026-03-22 14:35:00 -04:00
LICENSE.md license, queen? 2025-11-11 01:12:11 -05:00
README.md let the prepare screen text breathe, readme updates 2025-11-13 00:01:53 -05:00

Utter

Originally created for making "utterances" posts that look like chat logs rather than emoji soup, with ready-to-use alt text. Has become a general-purpose tool for ephemeral single-keyboard conversations.

Pretty minimal. Contains a GUI system editor, that's kinda neat.

Exists as a single HTML file that runs entirely client-side and offline in the browser.

Official deployment

Building

index.html is an up-to-date copy of the built code, ready to use as-is.

To build the tool from its mildly-convenient mixed sources, you need bash and a POSIX-y environment. Only Linux has been tested, but macOS and WSL should work. You need a way to encode base64 (any of the base64 utility, openssl, or python), bash, and coreutils (POSIX sed will do).

Just run ./build.sh, variables you may want to edit are in build.env.

License

AGPLv3.

Terrible Demo

Autogenerated alt text:

A chat log generated by utter.y2k.diy.

Kryn: We're out now. You can get rid of that terrible example "Breaded Eggs" screenshot.
Una: that's true
Una: i am unfortunately a little attached to it???
Kryn: Why? How.
Una: idk. it's a particular kind of absolutely terrible joke
Kryn: -# Sort of your specialty, I guess.
Una: hey. i can make good jokes too
Kryn: Is *this* a joke?
Una: n-no? i don't *think* so, at least.
Una: it's a _really_ stilted demo of markdown though. like jeez
Kryn: Eh. It's better than what we had.
Kryn: -# Which is not saying much.