Current Roadmap

Howdy!

This site is officially launched now, but there's still a ton of work ahead. So, here's a rough roadmap of the items I'd like to tackle.

Near-Term Goals

I'm planning to tackle these items during the next week or so.

Polish the UI/UX

It doesn't look that bad, right? 😬

In all seriousness, though: this is the first time I've created a site from scratch without following somebody else's design template. Well... not counting the horrendous sites I created during the early 2000s... 😅

Fortunately, CSS has come a long way since then, so it's a lot easier to make layouts work properly now.

Codify Common Links and References

I don't want to hunt down the same stupid link whenever I reference something like Next.js! Plus, just imagine how long it would take to fix broken links if one of these references moved? No thanks! 😤

So, my near-term plan is to begin compiling a library of common references. Eventually, I also want to have a way to verify internal references at build time, although this will probably be more challenging.

Medium-Term Goals

These are items that I want to tackle during the next month or so.

Document Technical Hurdles

I had to overcome a number of esoteric challenges before I could get this site running the way I wanted it to. These struggles would probably make some decent blog posts! Some highlights include:

  • Granting my CMS content full access to the rest of my Next.js code.
  • Constructing relative paths in Webpack without __dirname.
  • Dynamically importing modules in Webpack via a string interpolation hack.
  • Figuring out why my Tailwind CSS mysteriously stopped working.
  • Fixing CloudFront's handling of Next.js's internal URLs.

Expand the CMS Entities

Blog Posts are currently the only CMS Entity that this site implements. I want to introduce several additional CMS Entities, including:

  • Tag
  • Category
  • Project
  • Interest

Of course, this is complicated by the fact that I'm largely implementing my own CMS from scratch... 😅

(I have good reasons for this, I swear!)

Long-Term Goals

These items are on my radar, but they don't have a specific timeline yet.

Figure out GDPR Compliance

GDPR is short for "General Data Protection Regulation". It's a data protection law that was enacted throughout the European Union back in 2018 or so. However, if I want my site to be accessible throughout Europe, then I need to ensure that my site abides by this law!

The short version is that this site cannot utilize cookies until after it has received the end-user's consent. As of today, this site doesn't even use cookies, and therefore it's compliant! Woohoo! 🥳

Unfortunately, many of the things I want to integrate into the site do require cookies, such as:

So, I need to figure out how to handle GDPR consent before I can move forward with any of these integrations.

Introduce Image Optimization

I was disappointed to discover that Next.js's Image Optimization Pipeline is currently incompatible with static site generation! Consequently, this site's image files are probably much larger than they should be.

I'm hoping that I can address this by implementing some custom Webpack Loaders, but I still need to determine the feasibility of this approach.

Revisit the CMS Lifecycle

As I mentioned earlier: I'm largely implementing my own CMS from scratch. 😬

I did an initial round of scalability testing on my approach, and I found that it could easily handle several thousand blog posts without any performance degradation. More specifically:

  • Production builds are still fast!
  • Production builds still produce tiny Webpack bundles.
  • The Development Server still serves pages quickly.

However, I'm concerned that the Development Server will eventually become slow due to the way I'm utilizing getStaticParams(..). Consequently, Next.js is effectively rebuilding the entire CMS whenever a CMS-backed page is loaded. 🙀

I believe I can sidestep this problem by implementing some custom Webpack Loaders, but this will entail some further research.

... Is that it?

That's everything I can remember off the top of my head, at least! 😅

I think it's more than enough to keep me busy for the next few weeks!

Previous Post

And We're Live!

Next Post

Suspicious...

Tagged with