initial launch

April 25, 2022 on Eric Bower's blog

I’m excited to announce a new product I’ve been working on over the past few months:

It’s a microblog for lists.

After seeing a few months ago, I’ve been enamored by the idea of SSH apps. I decided that a blogging platform focused on developers could be the perfect use case for an SSH app.

Also, I love writing lists. I think restricting writing to a set of lists can really help improve clarity in thought. The goal of this blogging platform is to make it simple to use the tools you love to write and publish lists. There is no installation, signup is as easy as SSH’ing into our CMS, and publishing content is as easy as copying files to our server.

Check it out and let me know what you think!

How it’s built

The app relies on two different servers: ssh and web. The entire stack is written in golang.


The SSH app leverages the charm toolset:

These three technologies make it possible to build SSH apps that behave very much like a traditional web app. The user doesn’t need to install anything besides SSH in order to use our content management system. All they have to do is ssh and from there they can create an account.

SSH apps are a relatively new and exciting concept and I couldn’t wait to build something leveraging it.

Under the hood I used wish which leverages golang’s implementation of the SSH protocol but provides us with the flexibility to do something more than simply logging into a remote computer and seeing a shell. It allows us to construct a TUI app – using bubbletea and lipgloss that the user interacts with.

Once the user creates an account and has some blog posts to upload to the platform, all they have to do is use scp to send the files to us.

In order for scp to work, there needs to be a client and a server with the command installed. In the case of, we actually reimplemented the scp and retooled it for our purposes. When a user runs scp ~/blog/hello-world.txt, they don’t actually copy a file onto our server root directory. Instead, we read that file and save it into our postgresql database.

Web app

The web app simply uses net/http and templates/html to construct a minimally designed, html+css only website. Some interesting features of the website:

Because we are using an SSH app and leveraging public-key cryptography, we don’t need to worry about authentication inside the website. The website is effectively just a read-only portal.


I’ve been using for my own lists the past week while I was testing the functionality. It’s hard not to get excited because the workflow is painless. Whenever I need to make a change to a list, I just open vim, edit the file, and then call scp to publish the changes.

Because I’m leveraging SSH and public-key cryptography, there are a lot of technical considerations that I don’t have to worry about. Authentication is handled for me, I don’t have to implement an online editor, or worry about draft states.

This is just the first of many ideas I have leveraging SSH apps and I’m excited to build them!

Source code

Articles from blogs I read

Generated by openring

The Fediverse can be pretty toxic

Mastodon, inspired by GNU social, together with Pleroma, form the most popular components of what we know as the “Fediverse” today. All of them are, in essence, federated, free software Twitter clones, interoperable with each other via the ActivityPub protoc…

via Drew DeVault's blog July 9, 2022

Spearphishing: it can happen to you too

Image generated by MidJourney -- The Fool in a woodcut tarot card style For some reason, LinkedIn has become the de-facto social network for professionals. It is viewed as a powerful networking and marketing site that lets professionals communicate, find new…

via Xe's Blog July 9, 2022

SourceHut is committed to making IRC better

Internet Relay Chat (IRC) is a wonderful protocol with a 34-year history of helping free software, there at every step alongside the rise of the internet. Many real-time chat empires have risen and fallen during its tenure, some of them leaving behind lesson…

via Blogs on Sourcehut July 6, 2022