After almost two years worth of work, the beta is finally over! Let’s talk about the steps that brought us to where we are today.

In March 2024, I started working with @astrojs/db and Astro Studio. What started as curiosity, a chance to learn, and a challenge has become something so much more. StudioCMS began as a typical Astro project with a fairly simple interface, built on top of Astro’s Blog theme. At the time, Astro’s community Discord had weekly community showcase calls, where maintainers of the Astro project would sit down and review projects on video with members of the community. I made a video of my project and gave it to one of the Astro maintainers, Elian, and asked him to share it on the next call.

The community’s immediate reaction: “Hold up, what am I seeing? Wait… WHAT?” - Jack. “This is exciting! Needed this like 6 months ago.” - Hunter. But that was only the beginning. StudioCMS quickly grew and started expanding. We created an actual dashboard page, API endpoints, and added full user management. By the release of Beta.7, things were looking quite a bit different, and significant progress had been made.

New Design Anyone?

Then came Louis in October 2024 and his proposal for a complete dashboard redesign. This redesign took us months, but was well worth it, as it’s the design that has cemented our branding. This resulted in the release of Beta.8.

With the complete redesign of our dashboard, we took the time to rebuild just about everything, working to make it function as well as we possibly could. After that, we continued working on performance optimizations, plugin system features, rendering, dashboard translations, and more. We even added support for email and set up custom server caching to prevent too many database reads and speed up rendering.

Effect, What!?

After struggling with standard TypeScript and trying to get things to not only work correctly but also be well optimized, we turned to Effect and redesigned our entire API, SDK, middleware, and utilities. This provided us with an amazing addition to our ecosystem and workflows: increased speed, better performance, an improved caching system, and much better error handling. These changes were part of what triggered us to investigate alternatives to the @astrojs/db database client we were using at the time, leading us to develop our @withstudiocms/kysely and dedicated @withstudiocms/sdk packages.

These packages contain the heart of the StudioCMS database layer and have become an essential part of our ecosystem. We even have plans to build an Astro DB-like integration for non-StudioCMS applications to integrate with the database system we developed. With the ease of working with basically any database dialect using the same client interface, Kysely makes it easy to use MySQL, PostgreSQL, or LibSQL without having to make a bunch of very specific code changes to your client usage or schema.

Today and Moving Forward!

Today, after almost two years of development—surviving the sunset of Astro Studio, redesigning our dashboard, integrating Effect, deciding to move from @astrojs/db to our own in-house database client, integrating a new Storage API, and then finally adding taxonomy support—we are finally leaving the -beta.x versioning behind!

StudioCMS v0.1.0 is the first non-beta release of StudioCMS, meaning we’ve decided our API, SDK, plugin system, and other features are starting to reach the point where they could be considered “production ready.” While we opted not to go to v1.0.0 versioning yet, we are extremely happy with the progress so far and are excited to hear from the community.

As always, check our documentation for the latest migration guides and examples.


Want to contribute to StudioCMS? Check out our GitHub repository and check out our Discord to join our growing community of developers building the future of content management!



Back to Blog