The Bygones Collective

Devlog #1: Introduction to plots.club

As I've mentioned in this blog already, I miss the bygone days of the Internet. I yearn for more new spaces that are driven by individual efforts and not a corporation with an agenda. By passion and not profit. In short, by humans being humans. That's what inspired me to start developing plots.club.

plots.club (read plots dot club) is what I'm considering a "comfy community web site." Usage of the phrase "web site" over something more modern like "app" is a cheeky nod to the original terminology of the World Wide Web in the days of auld. I see plots.club as a space that will harken back to your days hopping between friends' Xangas or Livejournals (or their self-hosted Angelfire site, if they were truly 1337). For a gaming analogy, think of plots.club like UFO 50, but for the Internet.1 Imagine the Kagi Small Web but contained in a single site. A space to intentionally cultivate our own online garden and visit others while intentionally eschewing any elements that would make it feel like capital-S capital-M Social Media.

From a UX standpoint, users will create their own plots, which are little more than a single webpage with their name stamped on it. Users will be able to develop their plots using markdown or basic html if they choose, but they'll be constrained to a single page. When a plot is claimed, it will be generated within a virtual grid, always next to at least one pre-existing neighbor plot. Users can visit neighbors by manually traveling from plot to plot, e.g. if a user has developed a plot to the east of you, your plot will automatically show a link that there is a plot to the east of you. If you click the link to travel east, you'll be sent to your eastern neighbor's plot.

To clarify further on moving across plots, there will not be any sort of top-level navigation functionality. When you're in the plot space, you can only travel manually from plot to plot. I have plans to keep this fresh--for now, just know that while your immediate neighbors won't change, there will be ways to visit other groups of plots that aren't necessarily "physically close" to your plot without having to click hundreds of times to find a given person or neighbor. To encourage movement between plots near or far, each plot will also have a guestbook with which users can communicate with each other. Visiting plots and communicating with other users will be the lifeblood of plots.club, and while my hope is that I can encourage users to do these things organically, I also acknowledge that simply exploring the space without creating a plot or chatting with others is entirely valid as well, and will be allowed.

There's plenty more to come here from an ideation standpoint, but with all of that covered for now, let's move onto the technical side of things.

First, I start with a disclaimer: I backed into programming as a UI developer, and still consider JavaScript (and more narrowly, React) to be my most comfortable tech skillset. My only marginally-successful (and entirely mediocre) personal project is a React single-page app that I use to keep track of my products in the indie farming game Stardew Valley. It's meant for an audience of one, but it works fine and suited my needs at the time. It's also a horrible mess of overstuffed and cascading state crammed into an entirely functional application. I think I believed at the time of its creation that if I wrote the word "Class" in my code, I would be struck by lightning.

Ironically, the more time I spend in technical spaces as a developer, the more I resent that I'm a JS developer first, and everything else second. I know that the JS space is plenty powerful, and I don't subscribe to the idea that it's inherently bad or "not real programming," but I do think it's very easy to develop bad practices with JavaScript because it's so loosey-goosey, to use the technical term. And for better or worse, I believe that JS bloat is one of the reasons that the web is in the state it's in today. Thus began my very slow quest to pick up a separate backend-focused language. Like all middling developers, I hop from language to language (right about the time when I start to realize that their advanced concepts aren't easily explained in a single YouTube video from 2012), but one language that I always find myself coming back to is Python. I think it's fun to write in, easy to read2, and it's well-supported enough that I know that anything I run into, someone else will have almost certainly experienced before me.

Another disclaimer: I still suck at Python. But I'm incredibly grateful for the wealth of Python resources that folks like Dr. Chuck provide on the Internet for free(!), and am continuing to build out my skill set by using Python whenever opportunities outside of my actual job, which is still pretty heavily JS-leaning, present themselves.

So, again, I suck at Python. But now, I suck less than I used to. With all of that in mind, I'm choosing to build plots.club as a Django app. Django first caught my attention as a jazz musician who recognized the inspiration behind its name, Django Reinhardt, but I soon realized it was a really powerful framework on top of having a great name. Given that I hope for plots.club to be a very low-, almost-no-JS site, I see Django as a great way for the framework to do the UI lifting for me in a way that's intuitive and easily scalable. It also gives me an opportunity to leverage htmx, which is like the coding version of the cozy-Internet rabbit hole I've fallen into.

So, where does this leave us? plots.club is a very-much WIP Python application which utilizes the Django framework for its scalability and hands-off approach to security, and htmx for its UI flexibility without all of the bloat from other front-end libraries and frameworks. I have a lot to learn about every layer of what I'm doing here, but the journey has been fun so far.

At the end of this all, I hope to see plots.club as a space that might provide folks the sense of discovery they may have first felt when exploring the Internet 10, 20, or even 30 years ago. If all goes well, it will be a quiet, cozy patch of calm in an otherwise turbulent sea of attention-grabbing noise. You'll be welcome to stick around and stretch your legs, or just stop by and say "hello." And you won't feel like you're missing out if you happen to step away from it for weeks, months, or even years.

If this sounds interesting to you, I hope you'll join me as I share out more about my journey to develop it.

___________________________________


1Let me be clear - UFO 50 is a phenomenal game that manages to capture the spirit of an entire era in a way that very few pieces of media ever have, gaming or otherwise. I'm comparing plots.club to UFO 50 for the sake of the analogy, not to imply that it will be anywhere near as massive in scope or impressive in quality!

2he said, ignoring the single-line list comprehension abominations that folks love to swing around in online spaces

#devlog