Design Philosophy
A lot of this can be summarized as: Renn is a novice hobbyist programmer with a short temper, and his web design reflects that.
About This Website
This website is designed to be as simple and easy to manipulate as possible. The CSS uses as few custom classes as possible and is completely unobfuscated, with the intent that users browsing can manipulate it to their heart's content with an extension like Stylus. Currently, this site does not use any JavaScript, and I do not intend to add any.
It does not embed external features such as comment boxes or chat widgets. It does not have a native comments section. It doesn't even have an actual database. All site information used to populate templates is pulled from manually edited files. There are no pre-made frameworks or templates in use here. It is as simple as simple can be.
I did not want something with an admin panel, so it does not have an admin panel. It cannot be edited through an on-site interface.
Semantic HTML is natively accessible, so I strive to include as much semantic HTML as I can, though I am limited by my own understanding of the language. I have done my best to make it compatible with Firefox's reader mode on art, character, and writing pages so users without extensions like Stylus can view it in the manner they prefer through there.
This website uses the prefers-color-scheme preference to show a light or dark mode, since I do not want to use JavaScript to provide this functionality. Yet another reason reader mode compatibility is important to me: it's a built-in manual override.
All images and fonts served by this website are hosted on this website. I do not hotlink. You never know when an image will disappear, forever to be replaced by a placeholder, or when it will have an ugly watermark forced onto it. Some users block external fonts, and loading embedded fonts (ex: fonts directly from Google Fonts) means an outside connection to the font host, so I prefer to keep them here.
Images have alt text provided whenever possible. Some, such as character refs, are given full alternatives in the text of the page itself. Lazy loading and image compression are utilized to make pages load more quickly, take up less space, and to be kinder to those with slow connections or less powerful devices. Webp is currently my image format of choice due to its compression abilities, but if a superior format comes along, I am willing to change. Character references are compressed PNGs for maximum compatibility with art programs.
This website was coded in a manner that does not store any information about its viewers. I do not count views. I do not want any information about you. I provide an RSS feed so I can notify viewers about updates without asking for any information about them. I don't want your email, or any other bits of your information: I just want you to enjoy my art unhampered by ads or login walls.
Sidenote: I would like to provide a version of my website's code publicly somewhere at some point, when I am confident that most bugs are squashed. I feel the sharing of code and resources is important and builds community. I would love to see other people using my stuff, if only for the ego boost.
The Why
I prefer simple interfaces. My tastes are stuck back in the heyday of virtual pet browser games, at least in UI behavior. I like clean, minimalistic styles with few to no animations. I've attempted to customize many sites to my liking, and found the endless, nearly-human-unreadable CSS class names very frustrating, so I endeavored to make mine as easy to understand as possible. I reuse colors and classes whenever possible so that modifications have the maximum possible impact.
I started off with a simple static site in Neocities in 2022 (though before that, I had something even simpler on Glitch, but I can't find a date for that because Glitch is gone now). I used JavaScript to inject a footer on every page, but found it didn't always work. JS tends to implode whenever I try to use it, though I'm sure that's a skill issue. Still, it was frustrating, so I left it alone for a couple of years.
Just before the summer of this year (2025), I decided to make my site a more central art hub. The decision was influenced by multiple factors: the increased enshittification of every platform under the sun, watching others get harassed off of Tumblr, and watching others get their art removed or wrongly restricted. I decided I couldn't rely on others' platforms to preserve my art, and hey! I already had a website.
So, I set to work on a revamp. I wanted to put everything on here. I bought a domain after realizing how cheap they were and set it up with my site. I got a good chunk of pages done, but my process stalled very quickly.
Turns out, manually creating over 30 character pages is tedious, especially when you're modifying the template as you go. Who'da thunk? I made around 40-50 pages before I gave up, remade about 30 of them, then gave up again. Enter: Static Site Generators.
I didn't really want to use an SSG, but it seemed like the only option. So, at random, I picked Hugo, installed Go on my computer, and started trying it. The whole process ran counter to how my brain worked, and I spent three months making absolutely zero progress when I could've made almost 30 pages manually in that time.
Someone recommended Astro, so I took a look. I didn't get very far before the little worm in my brain whispered, "Hey! You could probably do this in PHP."
A very strange thought for someone who has never used PHP to think.
I had a book on PHP from several years ago when I was in the peak of my virtual pet phase and the limit of my ability to create things in Scratch and RPG Maker. I never ended up actually using it, but I had originally received it because I found a framework, KittoKittoKitto, that I wanted to try. So, I was familiar with PHP and the basic concepts of programming, despite never actually doing anything with it.
With every failed attempt, the temptation lingered, until I gave in after attempting to do basically the same thing with JavaScript imploded. I opened up my programs, created a few pages, and it just worked. Yay!
I decided to stay away from frameworks, since I wanted to learn the vanilla language first. Turns out, for a project this simple, you don't need much more than that.
I had to move hosting providers to one that supported PHP, but I'd already found one within my budget, so that wasn't too much trouble.
So, now we're here!