Status on Lewdtropolis
In this post, I'm going to cover what the status of Lewdtropolis is. Lewdtropolis (codenamed "Sine Nomine") is a NSFW social network that Orga and I are making, you can think of it like Pornhub, but with the feature-set of Reddit where it's more oriented around posts and chats.
tl;dr
Basically, it's being worked on, but has been delayed due to various problems in my personal life as well as having to refactor the codebase for it to be more reliable and stable in the long term.
Full Story
Personal Life
The first major issue was my personal life, which ultimately caused me to have to take a break from coding it. I'm stuck in West Virginia due to various reasons and don't have the money to get out of here. WV is extremely rural, it's a good 1h 30min to get to any actually decent job, lots of jobs low-ball and price-gouge people here, and it has been literal hell trying to apply for anything. I had to take a really, really shit job in order to survive, which was back-to-back 12 hour shifts of complete hell for just barely enough money to not die of hunger.
Things have looked up and I found a better job, but I still got various issues in my personal life that I won't get into to spare you the sob story.
Refactoring the codebase
Another issue was having to refactor the codebase, aka changing the underlying technologies it used and rewriting a bunch of code.
The original plan was to use Python + Flask, which is what this personal website uses! However after getting started with it for Lewdtropolis, I ran into a ton of issues. Python completely lacks static typing, meaning the codebase becomes brittle over time. Flask's performance is also terrible, and is clearly designed for MPAs (Multi-page apps) where the page refreshes over time, rather than SPA apps (Single-page apps) that send everything at once and interact with a core API. MPAs are an ancient architecture that don't scale well.
So I switched to Node + Express, which I already knew how to code in albeit less familiar with it than Flask. I made good progress, but as I did I ended up switching to Node + Fastify. Why? The main issue is that Express is barely maintained anymore, not to mention Fastify has significant performance benefits as well as better optimized code.
Another issue was the actual client. The Lewdtropolis demo page uses React and that's what I intended to use for the final product. However, I recently learned Svelte and want to use that instead. Why? Well, React ships what's called a Virtual DOM, where as Svelte compiles your code directly to JavaScript. In a nutshell, this means that Svelte is faster and sends less data to your computer for the same feature set, not to mention it blows React out of the water in terms of code readability.
So yeah, a lot of hurdles, a lot of nonsense, but things are looking up and I'm back on track with coding Lewdtropolis! I wanted to get the project out sometime in December, but I don't think that's gonna happen sadly. Anywho, just stay tuned, I'm working on it.