← Home

One codebase to rule them all

@date=2021-05-25
@tags=web-dev, react, seo, adhd

A little over a decade ago, I went on a binge and made a bunch of web apps of various sorts:

Since then, I have built up a huge list of projects I would like to build, I get started on some of them, but then fail to get them off the ground.

Issues that I blame on this:

The first of these bullets is "resolved", the middle ones aren't really resolvable, but that last one, I think that is tackle-able, and able to be handled with my scattered mind.

So I created a website called neverall.com (the domain name was from a domain name generator I created called mixmatch.com that helps you find short domain names). I also created a single create-react-app repo for neverall.com, and am using it for a rebuild of the godot asset store. Instead of creating a bunch of domain names and a bunch of git repos and separate projects, I am going to build one site to rule them all, and everything will just be basically a "subdirectory" of neverall.com. This will have a few benefits:

This last point is an interesting one, as it is nice to tell people, check out someCoolWebApp.com instead of neverall.com/someCoolWebApp.

The thing is, both are things that can be done at the same time. Using nginx, I can point all of the domain names to the same code base, but when you go to someCoolWebApp.com, it will show you the same content as neverall.com/someCoolWebApp, and this can all be handled in the React router code (I use reach router, which is awesome).

Now, duplicate content on the internet is a big SEO no-no, and google will ding you hard for it. Also, all that SEO juice flowing to someCoolWebApp.com doesn't benefit the collections of other apps that I am building. ... except it can!

Canonical URLs are things you can put in the head of your site documents. They tell google where the "real" original content is, and so that real content gets the SEO page ranking rather than wherever people are linking to. So I can tell everyone all about someCoolWebApp.com, and they can all be lining to it, but really neverall.com/someCoolWebApp.com gets all the benefits.

Another side benefit is that since everything is in one repo, I can bounce around between directories, reuse components, and work on whatever I feel tickles my fancy any day without having to decide what repo to work on and just being stuck on that. I can start writing code anywhere for anything and it will be useable without needing to start up much or even finish anything at any time.

All in all, an experiment into ADD programmer side project productivity. Maybe I will update you here on the progress... or maybe I will just be creating things.