From: 13 Mar 2026, 17:21 , updated: 14 Mar 2026, 01:54

About __frgmnt

__frgmnt is the content management system behind this website.

A content management system is software that lets authorized users create, edit and manage content without having to manually rebuild the whole site every time. In this case, it is the backend that powers dstwre.sh.

It is intentionally pretty bare bones without massive abstraction layers or much overhead. It only does what I needed or wanted it to do for this project while keeping it extendable.

__frgmnt page management view showing the site tree on the left and editable content blocks for the selected page on the right.
Page controller in __frgmnt.

Why I built it

Pretty early on I knew that I did not only want to make games, but also needed a place on the web for all of this. And I did not want that place to run on a system that felt disconnected from the rest of the project.

I also work full time in web development, where I got used to existing CMS structures and the amount of abstraction that often comes with them. Building my own system was a way to understand those inner workings better by doing them myself.

And maybe, just like other people's work pushed me into finally making my own things, this can someday push someone else to stop sitting on their ideas and just build the thing already.

Why it is called __frgmnt

Just like .dstwre/ uses file system language on purpose, __frgmnt (spoken fragment) does the same. The leading underscores are something you often see when naming files that should appear near the top when sorted alphabetically.
This CMS was the first thing I made for the project, so having it sit "near the top" felt fitting.

The idea is that every page, section or entry is a fragment that contributes to the whole project. The CMS is what manages those fragments and gives them structure.

What it does

Right now, __frgmnt is usable, but still pretty compact.

It can create, route, render, rename, reorder and delete pages. It can automatically redirect when a page has subentries. It can manage content through different element types and switch partials depending on what kind of content is being rendered.

It also has a basic file abstraction layer for uploads, so images can be referenced through IDs instead of being handled manually all the time. There is also a settings system. Things like debugMode, cookie lifetime or custom project-wide sections can be configured there and exposed to the frontend when needed.

So while it is still relatively small, it already covers the actual core of what I need for this site.

__frgmnt file management view with uploaded images displayed in a grid and a file tree shown in the sidebar.
Basic file abstraction layer inside __frgmnt.
__frgmnt settings view showing editable configuration entries such as site title, template paths, debug mode and authentication lifetime.
Project-wide settings in __frgmnt. Configuration values can be edited through the backend.

Stack and current state

PHP without a framework, Latte as the template engine, SCSS compiled to CSS, and JavaScript where needed.

I would currently call it usable, but still experimental.
It works, and it powers this site, but I would not call it stable yet. It is still easy to break things if you do not use it the way it was intended. That is fine for now as I am still actively developing it.

What comes next

There are still a few things I want to add. A proper logging controller and logging service would help a lot, so that not everything has to be checked through server logs. I also want some smaller quality-of-life features like optional image compression or resizing on upload.

And beyond that, I want to keep building project-specific extensions for the site itself, like news or a guestbook.

Source and self-hosting

The full source code is public, including the frontend and the extensions that belong to the project.

Self-hosting is already possible, but I would still consider it experimental. I included a preconfigured DDEV setup so it should be possible to spin it up and explore it locally without too much friction.

So yes, you can already play around with it if you want. Checkout self-hosting to get started. I would genuinely be happy about feedback.