20/09: The Current State of Aphex CMS
A look at the current state of Aphex CMS. A SvelteKit-native CMS inspired by Sanity & PayloadCMS, and where it's going.

First thing's first, I would like to welcome all the new people discovering Aphex through my valiant attempt at Marketing. Much thanks, to those that have given very valuable feedback! We've reached 250 stars on GitHub! Relatively not that much, compared to other open source projects BUT a HUGE milestone for me personally!
Although, there were a few bugs and quirks that have come up. For simple use cases, I'm happy to say that Aphex is actually more than capable enough! Mainly due to a lot of testing in the past few months BUT also because we rely on other open source libraries that have already been tried and tested. Here are some of my favourites that we built upon: better-auth, postgresql, s3mini, drizzle,
Just to clear the air, a Sanity alternative that's Svelte-native was actually a big motivation behind this project but as it evolved throughout the months.. It's become more of a PayloadCMS alternative for SvelteKit instead. The whole idea is to actually run a CMS within a Svelte Kit app.
The dilemma
So, when I was working on Aphex CMS - from the start I wanted to keep it SvelteKit-native (make it feel like a native Svelte Kit app, for certain routes - create the actual +page.svelte and +page.server.ts, and then just re-export ready made route functions..
This was the same with components. Have it actually in the app level.. or rather within the template as an actual component. BUT... that comes with it's drawbacks. For example, making updates to certain components are not as simple as bumping up a version of aphexcms/cms-core. You'd have to literally copy and paste the component code to update it.
This definitely has it pros and cons and I've been battling with myself on keeping it flexible or keeping it easy to upgrade.. I've come to a conclusion that keeping it easy to upgrade is the better way to do things. Most people probably won't even want to update certain parts of the admin panel, but it comes with the drawback of abstracting more things.
What's Next for Aphex CMS
The next more major update (outside of general bug fixes and improvements), would actually be to refactor and abstract all the custom pages, server routes and adapters - and have it all come via the cms-core package. Obviously, this comes out to be more abstraction in the app level BUT.. we get the added benefits of making version bumps cover more bases AND... being able to do something like.. converting an existing SvelteKit project into using AphexCMS. (shoutout to Cristoph on discord !!)
For a better visual, ideally it would look something like:
- Import some stuff into hooks.server.ts
- Have an admin/[...catchAll] route that imports an <AphexStudio/>
- Create aphex.config.ts and pass it into <AphexStudio/>
- Profit $$$
Okay, I've used enough of my brain juice for this post. Let me just list down the other stuff I'm planning to work on / look into:
- Different frontend helper clients (Potentially)
- Internationalization
- Compatibility with Serverless environments (Cloudflare pages + Vercel)
- Moar templates & potentially walkthrough videos (???)
- eCommerce use cases
Have any feedback? Let me know through our contact form, discord OR GitHub!
Cheers!
- Ben
