An experimental IndieWeb site built in Go.

update README with postmortem

+26 -5
+26 -5
README.md
··· 5 Space is an attempt at building an IndieWeb-capable personal site, before I 6 started looking into AT Protocol. It uses [Chi](https://go-chi.io/#/), 7 [Templ](https://templ.guide/), and [TailwindCSS](https://tailwindcss.com). 8 9 - Media files are stored in an S3 backend of your choice, and any unrecognized 10 - or unsupported [post types](https://indieweb.org/posts) are be rendered as raw 11 - JSON until support was added. 12 13 Notably, the Tailwind pipeline is not checked into the project, as this was 14 built before Go Tool support. 15 16 If you want to take it for a test-drive, you can check the `.env.example` file 17 - for all required configuration values. At the time, I was quite pleased with 18 - how this turned out. 19 20 ## Supported Specs 21 ··· 24 - [ ] [h-card](https://microformats.org/wiki/h-card) 25 - [ ] [Webmentions](https://www.w3.org/TR/webmention/) 26 - [ ] [Microsub](https://indieweb.org/Microsub-spec)
··· 5 Space is an attempt at building an IndieWeb-capable personal site, before I 6 started looking into AT Protocol. It uses [Chi](https://go-chi.io/#/), 7 [Templ](https://templ.guide/), and [TailwindCSS](https://tailwindcss.com). 8 + Data is stored using SQLite, and your DB is continuously backed up to S3 via 9 + [Litestream](https://litestream.io/). 10 11 + Any unrecognized or unsupported [post types](https://indieweb.org/posts) are 12 + rendered as raw JSON until they are explicitly supported. Media files are 13 + stored in the same S3 backend that Litestream uses, so all your data is 14 + replicated off-machine. 15 16 Notably, the Tailwind pipeline is not checked into the project, as this was 17 built before Go Tool support. 18 19 If you want to take it for a test-drive, you can check the `.env.example` file 20 + for all required configuration values. 21 22 ## Supported Specs 23 ··· 26 - [ ] [h-card](https://microformats.org/wiki/h-card) 27 - [ ] [Webmentions](https://www.w3.org/TR/webmention/) 28 - [ ] [Microsub](https://indieweb.org/Microsub-spec) 29 + 30 + ## What happened? 31 + 32 + At the time, I was quite pleased with how this turned out. I think I nailed the 33 + aesthetics, and I hit my requirement for data durability and replication. I was 34 + targeting Fly.io for deployment, and Fly+Tigris was an excellent combo. 35 + 36 + Day-to-day, though, I couldn't make a habit of using this. IndieWeb is a lonely 37 + place when you don't have any connections and you're not a social creature by 38 + default. Implementing support for different post types over time felt like it 39 + was going to be a drag, and my heart just wasn't in it. 40 + 41 + I have my hopes up with AT Protocol, however. AppViews remove the need for 42 + implementing display logic for each "post type" manually, and Lexicons allow 43 + for myriad post types contributed by different services. It's an easier place 44 + to live for a lurker such as myself. 45 + 46 + Maybe at some point, I'll take a stab at implementing my own PDS, but until 47 + then--here's the thing I already built.