Last year, I announced the launch of a project called JSFoundry. At the time, my objective was to build a place to put all of my tutorials, courses, and other teaching-related materials with a goal of separating those materials out into their own "brand", so that (eventually) I could tap into other educators and begin building up a community.
Today, I'm announcing that I'm shutting it down.
Well... :gestures_wildly: a lot of things. The pandemic might be one (small) factor, but it was certainly not the only one.
On top of a couple of job changes, being a dad, and working on a long-running freelance retainer; the simple truth is that pretty much as soon as I launched the site I lost sight of the core objective. I was exhausted by trying to figure out "if I write this blog post, where should it go?" or "do I want to spin up a separate YouTube channel for new tutorials?" and all of the other strategic questions that, honestly, I should've thought through before building out the site.
I had analysis paralysis. For no real reason.
It was a good learning experience, but not exactly time well-spent.
As I continued to stew on the strategic questions, I realized that ultimately my goal is and always has been to build a SaaS business, not necessarily an info product business. I have always wanted to build my own company — and eventually work for myself — and, at the end of the day, I feel that building software is a better fit for what I envision that work to be. I love teaching, but I've always enjoyed the work of actually writing code more than writing blog posts or recording and editing tutorials.
At the same time, though, I have always felt — and continue to feel — strongly about the value of teaching and developer education work. I honestly believe it has the power to change peoples lives. Helping people along their journey, particularly towards their first developer jobs, is one of the most rewarding feelings ever. So, it's something that I absolutely plan to continue doing... just without the pressure of trying to build up some brand or business.
Well, what now?
First off, while this site may look the same as it has for a while, I've migrated it over from Gatsby to Next. I've moved all of my blog and course-related code into a Turborepo, where I can more easily manage everything.
I took a bit of time to tear apart my course platform and trim it down to only the absolute essentials, improved those features deemed essential, and relaunched the LMS at its original location: courses.jonbellah.com.
The migration and cleanup process was actually quite fun: I migrated from Mongoose to Prisma, MongoDB to MySQL (hosted on PlanetScale), from PassportJS to next-auth with magic link sign-in, and from a custom Stripe Elements implementation to a very hands-off Stripe Checkout process. I also finally moved all my remaining projects over to Vercel.
I also took a little bit of time to redesign and relaunch LearnStateMachines.com as its own standalone course site again. There's been a lot of movement on the XState V5 PR and I still intend to release a new version of the course when that lands. I'm quite happy with how the design turned out and am looking forward to dusting off that course again soon.
In the end, the best part was being able to delete so. much. code.
Now things are much more clear and everything has its place. No more distractions. No more clutter.
Finally making the decision to throw away all that work actually feels pretty great. There was an immediate feeling of clarity, like a dam had been broken.
As for what's next, I'm going to continue putting work into the same projects that I have been... now just with more precise focus around the goals, objectives, and motivations.
BugCatcher is still in its early days — having taken about a year of real time to do ~3 months of work, due to the aforementioned juggling of a freelance project — but I'm very excited about the problem space and the people we're solving the problem for. We've got a lot of interesting work on the roadmap.
As for writing and teaching, I'm hesitant to promise that I'll be any better about publishing content more regularly. The truth is that I've always been terrible at building a habit of writing or recording tutorials. I will say that it's something I'm keen to improve on, though. One idea that I'm kicking around is to share some of the under-the-hood work I'm doing on BugCatcher, either as pre-recorded videos or as a livestream. And, of course, releasing a new version of Learn State Machines once XState V5 lands.
Lastly, I've got some pretty exciting career-related news that I'll be talking about more soon!