Niching down on Astro
I’ve been thinking if Darkmatter should work with other frameworks like Next.js, Gatsby or Jekyll. Writing website content in Markdown comes with the same set of problems and Darkmatter is solving these problems. So why don’t I expand to other platforms and increase the number of people who can use Darkmatter?
1. Giving Astro community the best, instead of pleasing everyone with average
To edit the content of any Astro project in Darkmatter, you need to click “New Project”, point to a project folder and start writing. There are no follow up questions or tutorials on how to set it up.
This is only possible by deeply integrating with Astro. Darkmatter knows where the content is, what frontmatter fields are there to fill out and where to store the assets.
I can’t deliver the same one-click experience for all Markdown-based websites without asking you to read through the configuration and set it up yourself. What would be the point of Darkmatter anyway then?
2. Astro offers the building blocks that others don’t
Astro is the first tool I’ve tried for statically generated websites that has conventions and building blocks for organizing and writing your content.
Content collections require writers to put content in src/content
folder and describe the available collections in src/content/config.js
file. Each collection can define the fields of each entry via a Zod schema.
It sounds simple, and yet other tools leave these up to you to figure out and set up.
The presence of content collection conventions makes it possible for Darkmatter to work with any Astro project out of the box, with zero setup.
3. It’s easier to market
Astro is a rising tool with a growing and passionate community. I’d be lying if I said it’s irrelevant. I believe it’ll be easier to market and spread the word about Darkmatter by making a laser focused product for a very specific audience.
Astro is amazing on its own, but it gets even better with Darkmatter.
Developers can build a website with native Astro APIs, without hosting the content offshore in a headless CMS hosted in the cloud and pulling it via an API. At the same time, copywriters, marketers, customer success teams can jump in and edit any content with zero technical knowledge of how the website works.
It’s a win-win situation for anyone on your team.
Darkmatter can become a significant advantage over other tools and tip the scales in favor of Astro for your next project.
4. My bandwidth
I’m the only one working on this, so I need to carefully choose what’s worth spending time on.
If I were to build Darkmatter in a way that would somehow work with other frameworks, here’s what would happen:
- Darkmatter wouldn’t be as attractive, if it’d require a configuration to set it up for each project.
- I’d need to test every release with multiple frameworks.
- I’d need to monitor the breaking changes in these frameworks and ensure Darkmatter still works.
- I’d be constrained by limitations of each framework when adding new features.
- The maintenance and support burden would be unsustainable.
It all boils down to a simple truth. Either Darkmatter does one thing really well or it does many things good enough.
I don’t like “good enough” and I’m sure neither do you.