I run this site on software I wrote myself

This site runs on Chinaski, a content management system I wrote myself. Not WordPress. Not Squarespace. Software I built because I was tired of fighting a platform instead of using one.

It is the same system behind ROI Wire and Coppermont too. One piece of infrastructure, three sites, three very different audiences. I did not build it as a side project to show off. I built it because I kept hitting the same wall with everything else on the market: the tools were built for someone else's business, and I was expected to bend mine to fit them.

Why

Total control. I add the features I actually need and skip the fifty I don't. When I wanted a case-study system with its own layout and its own rules about what does and does not get published, I built exactly that, nothing more. No plugin marketplace to search through hoping someone already solved my problem in a way that half fits. No settings panel with four hundred options I will never touch, each one a future update that can break something else. If I don't need something, it does not exist on my server taking up space and creating a surface for something to go wrong.

Privacy. Nobody outside my own server can look at what is on it. No third-party analytics vendor collecting behavioral data I never agreed to hand over. No plugin author with silent update access to code running on my infrastructure. No SaaS company sitting on my content, my visitors' data, or my client-adjacent business information, with their own breach risk sitting between me and my own site. When something is private, I want exactly one entity capable of seeing it: me. Every third party I add to that list is a door I did not build and cannot fully audit.

No license risk. Anyone who has run a WordPress site knows the drill. You install a plugin because you need one specific feature. Eighteen months later the plugin author has stopped maintaining it, the license lapses, or a security patch never ships because nobody is minding it anymore. Then one day a security researcher, or worse, a customer, notices your site is serving pages promoting gambling sites to search crawlers, injected through a vulnerability in software you forgot you were even running. It happens constantly, and it happens to serious, well-run businesses, not just hobby blogs. That is not a risk I want sitting on infrastructure I do not fully control. The only real fix is not depending on someone else's abandoned code in the first place.

How it actually works

Chinaski is not a live application serving pages out of a database on every request. It builds the site: it takes the content, runs it through a set of templates, and writes out flat HTML files. What visitors actually load is static, no database call standing between a click and a page. That matters for speed, and it matters even more for security. A flat file cannot be exploited the way a live database-backed page can. There is no login form on the public site for someone to brute-force, no query string for someone to inject into. The entire attack surface most CMS platforms hand you for free simply is not there.

The tradeoff is that everything happens on the way in, not the way out. When I change something, I rebuild, and the new version ships as files, closer to compiling software than editing a live page. I like it that way. It forces me to know exactly what state the site is in, instead of trusting that a live system somewhere is behaving the way I think it is.

Downsides

I have to maintain it myself. When something breaks, there is no forum thread to copy a fix from, no Stack Overflow answer written by someone who hit the exact same bug in the exact same plugin. There is just me and the code. Every feature I have, I had to build, test, and be willing to be the one who fixes it at an inconvenient hour if it stops working. That is real weight, and I do not pretend otherwise.

I have to train anyone who touches it. There is no army of freelancers who already know Chinaski, no certification course, no marketplace of contractors who can pick it up in a weekend. If someone helps run this site, or ROI Wire, or Coppermont, I am the one teaching them how the system actually works, from the block structure to the content rules to the quirks only I know about because I wrote them. That is slower than handing someone a WordPress login and a getting-started guide.

Way more upside

I will take maintaining my own software over renting someone else's and hoping they keep it secure, keep it maintained, and keep their pricing reasonable once I am dependent on it. Total control, real privacy, and nothing that expires because I forgot to click renew on a plugin I barely remember installing.

It is also, honestly, the same argument I make to clients about their own operations. Rented systems are fine until they are not, and by the time they are not, you are usually locked in. Owning the infrastructure that actually matters to your business is not a technical preference. It is a decision about who is in control when something goes wrong, and I would rather that be me.