I've been thinking about how I want my site to work (and additionally how I'd like to share it with other people so they can get it running for their own use cases) over the last few weeks as I had my head down working on [Fortress](https://indieweb.org/Fortress). It's been some time (it'll be 5 years this October 17th!) since I've joined the IndieWeb - and began exploring more people-centric social networking systems in general so it's about time.

I’ve went from a Jekyll site to working on my newer site project. This is what cloc shows for the site currently:

     595 text files.
     583 unique files.
      55 files ignored.

github.com/AlDanial/cloc v 1.74  T=1.35 s (410.3 files/s, 48459.7 lines/s)
Language                      files          blank        comment           code
Elixir                          336           4509            552          22526
HTML                              2           6009              0          13872
JSON                             43              0              0          13300
EEx                              44              3              3           1265
liquid                           78             16              8           1166
Sass                             12            144             17            727
Vuejs Component                   5             12              7            264
YAML                              3             23             45            257
Bourne Shell                     17             82             19            225
JavaScript                        4             32              7            185
Cucumber                          4             20              0            107
PO File                           1             21             19             57
make                              4              8              0             32
Bourne Again Shell                1              1              0              2
CSS                               1              0              1              1
SUM:                            555          10880            678          53986

And now, to be honest, I’m thinking about blowing all of it away!

Hear me out - I’ve learned a lot about the IndieWeb by working on this and even more so about the general space of things and now I want to try out something different. Koype works as a ‘monolith’, it has the support for things like Webmentions, IndieAuth and what not. But currently, I haven’t given myself a lot of room to consider other things like templating or making it easy to extend. This is potentially an issue with the framework I chose to work on this project with but blaming the tools doesn’t really fix the problem.

As I’ve continued to work on my site, I’ve seen other projects from people grow and flourish. I envy the flexibility that others have as I kept rushing to cobble more features into my site without taking other parts of it seriously enough. I do have a plan though!

I want to see if I can refactor my site down to a point where it’s truly just a set of “parts”:

  • a flexible Micropub server
  • something like silo.pub to handle syndication
  • finishing up Lwa to act as a Webmention hub (as well as a WebSub hub, contacts manager, and mention feeds)
  • getting Fortress ready with AutoAuth and provisioning protected content (feeds, posts, etc)

I think that once the basis of the above is in place, I can think more on how I want to handle other things like actually showing the site. I really don’t want to go back to static site generation because the build times for Jekyll really frustrated me and was only justified when I was only writing like blog posts. Since I plan to have my website be my identity, place and hub on the Web, that doesn’t work for me anymore. By refactoring Koype down to just the Micropub server (with some extra kicks, of course), I can go and use the same file storage for content as the backing for a very thin server that can act as the ‘front-end’ for my site. Having two apps running to work as my site is a bit weird but it gives me a bit of power in decoupling how I work on my presentation layer of my site without worrying about breaking how things in the background.

I can imagine this sounding so complex but oddly enough, it’s a lot simpler than the general state of Web development (React! ‘Serverless’! Service Workers! oh my! Offload-all-of-the-work-on-client-devices-because-why-not!). I am excited to start working on this too because it’ll be a lot easier to make progress with things too.