Feb 13, 2026

The thought of tiny flowers in a winter garden didn’t leave my head for some time, so today I vibed a wrapper around Mozilla Readability library (actually, a port by Giuliano Panzironi).

It fetches a page from a given URL, passes it through main content extraction and cleaning, and presents in a distraction free layout using Solarized Dark theme.

Here’s an example of what it looks like:

https://reader.demin.dev/?url=https://peter.demin.dev/life/feb-13-2026_0.html

The evening I spent openining random pages in full-screen mode and enjoying distraction free content.

In the spirit of minimalism I made this service a socket-activated Go binary. So it doesn’t take any of the precious RAM on my tiny VPS when idle, but also has a very small runtime footprint:

○ reader-api.service - Reader extractor API
     Loaded: loaded (/etc/systemd/system/reader-api.service; static)
     Active: inactive (dead) since Sat 2026-02-14 05:44:36 UTC; 3min 13s ago
   Duration: 68ms
 Invocation: 03e5cdeca63e4b60bc0d3c073ed2872a
TriggeredBy: ● reader-api.socket
    Process: 1325849 ExecStart=/opt/reader/reader (code=exited, status=0/SUCCESS)
   Main PID: 1325849 (code=exited, status=0/SUCCESS)
   Mem peak: 3.2M
        CPU: 45ms

Feb 14 05:44:36 demin-dev systemd[1]: Started reader-api.service - Reader extractor API.
Feb 14 05:44:36 demin-dev systemd[1]: reader-api.service: Deactivated successfully.
Feb 14 05:44:36 demin-dev reader[1325849]: 2026/02/14 05:44:36 listening on systemd activation socket

Can it get more minimal than that? I don’t think so.

Please don’t scrape whole internet through my proxy.

UPD: I quickly realized that in addition to being a public unauthenticated proxy, this service also exposed my VPN network in a limited way. I considered various ways to harden this setup, and decided to just move it inside of the VPN perimeter.

So, you can’t see it, but be consoled that I still use it and it’s going great.