Hello World! Welcome to the New Learn Mongo.
I've been working on this for a while now; but I couldn't quite get things the way I really wanted. Today I'm happy to press the merge button and ship this new site into production.
What's New, What's Better and the Future!
First and foremost, this site is now fully powered by MongoDB. Kinda makes sense right? Its not so much that this site uniquely needs MongoDB to work, but rather a site about MongoDB should probably use its own tech!
You can find all about how I built things in a brand new How it's built guide.
How it's built
For years this site lived in WordPress. The articles were fine. Themes, plugins, and a CMS that never cared whether a MongoDB code sample looked right were not.
In short, the whole site is built as custom, dynamic site just for Learn Mongo, not a whole CMS, not WordPress replacement, but rather just Learn Mongo. I chose Next.js mostly just because I've built number of things with it lately.
I also added an extensive Fundamentals section, based off my book MongoDB for Jobseekers. It's a bit like an abridged version of the book, and written more in the voice of the articles on this site. That's another thing, I've shifted from Posts to Articles, minor but I think articles are more timeless and that's the general goal most of the time with this content.
Along with that is the Watch section, the goal going forward is to produce the occasional videos & in-depth guides as I have time, and keep the articles going (those being more frequent than the former).
Wanting to Make it Right
The biggest issue wasn't content, I can usually think of a post (or article as I'll now call them) ... or something I want to share but the actual sharing took so much effort to make it right, to present it the way I wanted. I was constantly fighting the system (in this case WordPress). Now I don't mean to bash that platform, it's great for a lot of things ... but even a simple change seemed to break something else, and it never quite looked right and ... I could go on.
Instead I really wanted to focus on what I needed and, in turn put that focus on making those things more amazing. Thing is this is very much a side project, a side project I care a lot about but one that I do for free. Having the proper things I wanted like a custom site, with halfway decent design, and tests, and CI/CD, etc. felt out of reach even for me, a software developer.
LLMs, the Good, the Bad, and the Slop
I've been working with "AI" coding for a while now, which I'd much rather (and more pedantically) refer to as LLMs ... with very mixed results.
My current take (which, with the current progression of LLMs will no doubt will be out of date next Tuesday) is they are fantastic tools for trying new things, doing boring things, and setting up things I don't really want to bother (or don't have the time) to setup. I used "things" there a lot because its true and also because that's the other side of the equation.
LLMs can get "things" started, but really honing the thing ... is the important piece of the puzzle. That actually goes both ways in my experience. The better initial instructions and guide rails you can give the better, and then on the other side actually checking and understanding the code is still important. Otherwise you'll end up with buggy slop. Codewise, Designwise, and Everythingwise.
I know I somewhat made up those three words, that's why its funny.
Making the Things I Wanted
Now for me, this is where the "boring" vs "exciting" comes in ...
I wanted this site to have all the proper things: A Design System, Storybook, Playwright tests, Next.js, React, MongoDB at the core, GitHub Actions, CI/CD, etc.
Setting that all up used to take a lot of effort, but this is an area I feel LLMs can really help if you know what to ask of them, and also don't trust them (in a good way). First I started with really clear markdown docs for the agent to understand the what, how, what not, phases, etc. Pretty normal stuff
