<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Digital Speed</title>
    <description>The latest articles on DEV Community by Digital Speed (@digitalspeed).</description>
    <link>https://dev.to/digitalspeed</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F12284%2F28197457-c643-41ff-8927-b9c4848437cd.png</url>
      <title>DEV Community: Digital Speed</title>
      <link>https://dev.to/digitalspeed</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/digitalspeed"/>
    <language>en</language>
    <item>
      <title>Choosing Your Documentation Tooling: A Practical Guide</title>
      <dc:creator>Mike Elsmore</dc:creator>
      <pubDate>Tue, 27 Jan 2026 16:47:56 +0000</pubDate>
      <link>https://dev.to/digitalspeed/choosing-your-documentation-tooling-a-practical-guide-1po1</link>
      <guid>https://dev.to/digitalspeed/choosing-your-documentation-tooling-a-practical-guide-1po1</guid>
      <description>&lt;p&gt;In our &lt;a href="https://digitalspeed.co.uk/articles/the-differentiator-between-b2b-products-the-developer-experience" rel="noopener noreferrer"&gt;previous post on Developer Experience&lt;/a&gt;, we touched on documentation being one of the core pillars of great DX. We mentioned treating your docs as a product rather than a necessary evil, and pointed towards the docs-as-code approach. But we didn't dive into the specifics of what to actually build your documentation with. So let's fix that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Landscape 
&lt;/h2&gt;

&lt;p&gt;There's no shortage of documentation tools out there, and honestly, that can make the decision harder rather than easier. After working with various clients and our own projects here at Digital Speed, we've found ourselves reaching for a handful of tools repeatedly: &lt;a href="https://docusaurus.io/" rel="noopener noreferrer"&gt;Docusaurus&lt;/a&gt;, &lt;a href="https://vuepress.vuejs.org/" rel="noopener noreferrer"&gt;VuePress&lt;/a&gt;, &lt;a href="https://redocly.com/" rel="noopener noreferrer"&gt;Redocly&lt;/a&gt;, and &lt;a href="https://www.fumadocs.dev/" rel="noopener noreferrer"&gt;Fumadocs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Each has its strengths, and sometimes the best solution isn't picking one – it's knowing how they can work together.&lt;/p&gt;

&lt;h2&gt;
  
  
  Docusaurus 
&lt;/h2&gt;

&lt;p&gt;If you've spent any time in the open-source world, you've probably read documentation built with &lt;a href="https://docusaurus.io/" rel="noopener noreferrer"&gt;Docusaurus&lt;/a&gt;. Meta's documentation framework has become something of a default choice, and for good reason.&lt;/p&gt;

&lt;p&gt;Docusaurus is React-based, which means if your team already lives in that ecosystem, the learning curve is minimal. It handles versioning out of the box (a genuine lifesaver when you're maintaining multiple API versions), has solid search via Algolia integration, and the plugin ecosystem is mature enough that most common needs are covered.&lt;/p&gt;

&lt;p&gt;Several members of the team here at Digital Speed have used Docusaurus extensively, and what keeps us coming back is the balance it strikes between flexibility and convention. You can get something professional-looking deployed in an afternoon, but you're not boxed in when requirements get more complex down the line.&lt;/p&gt;

&lt;p&gt;The main consideration? It's opinionated about structure, which is actually a feature if you're starting fresh but can be friction if you're migrating existing docs with unusual organisation.&lt;/p&gt;

&lt;h2&gt;
  
  
  VuePress 
&lt;/h2&gt;

&lt;p&gt;For teams in the Vue ecosystem, &lt;a href="https://vuepress.vuejs.org/" rel="noopener noreferrer"&gt;VuePress&lt;/a&gt; is the natural counterpart to Docusaurus. It's lightweight, fast, and the Vue-powered theming system makes customisation straightforward if you know your way around Vue components.&lt;/p&gt;

&lt;p&gt;VuePress 2 (the current version) has matured significantly and offers a clean developer experience. The markdown-centred approach means your content stays portable, and the plugin architecture is sensible without being overwhelming.&lt;/p&gt;

&lt;p&gt;We've seen VuePress work particularly well for smaller documentation sites or teams who want something less heavyweight than Docusaurus. If you're documenting a Vue-based library or your team simply prefers Vue's patterns, it's worth serious consideration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Redocly 
&lt;/h2&gt;

&lt;p&gt;Now we're getting into more specialised territory. &lt;a href="https://redocly.com/" rel="noopener noreferrer"&gt;Redocly&lt;/a&gt; is laser-focused on API documentation, specifically OpenAPI-based docs. If you're building products with REST APIs (and let's be honest, most of us are), Redocly deserves a look.&lt;/p&gt;

&lt;p&gt;The open-source Redoc renderer produces three-panel API documentation from your OpenAPI spec. It's the kind of documentation that makes developers actually want to integrate with your API. We've used the open-source version at Digital Speed and found it does exactly what it promises with minimal fuss. The only issue with the open-source version is you're pretty much locked in to the limited out-of-the-box styling and theming options, so you can't expect to customise the design much.&lt;/p&gt;

&lt;p&gt;Beyond the renderer, Redocly offers a CLI for linting your OpenAPI specs and a broader platform for teams who need more – but the open-source tools alone cover a lot of ground.&lt;/p&gt;

&lt;p&gt;The key thing to understand about Redocly is that it's not trying to be a general-purpose documentation platform. It's purpose-built for API reference documentation, and it excels at that specific job.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fumadocs 
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.fumadocs.dev/" rel="noopener noreferrer"&gt;Fumadocs&lt;/a&gt; is the newer entrant here, built specifically for the &lt;a href="https://nextjs.org/" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt; ecosystem. If you're already running Next.js (and plenty of teams are these days), Fumadocs integrates naturally into your existing setup rather than being a separate concern. &lt;/p&gt;

&lt;p&gt;We've recently started using Fumadocs at Digital Speed and have been impressed by how it handles the basics. The search works well, the theming is highly customisable and clean, and it doesn't fight against Next.js conventions – it embraces them.&lt;/p&gt;

&lt;p&gt;It's worth noting that Fumadocs is younger than the other options, which means the ecosystem is smaller and you might occasionally hit edges that haven't been smoothed yet. Additionally, the documentation is directly tied to Next.js versions and isn't versioned itself, so you might not be able to find documentation for older versions of Next.js. But for Next.js teams, it's a compelling option that's maturing quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Tools in Concert 
&lt;/h2&gt;

&lt;p&gt;Here's where it gets interesting. These tools don't have to be mutually exclusive. &lt;/p&gt;

&lt;p&gt;A pattern we've seen work well is using Docusaurus (or Fumadocs, depending on your stack) as the primary documentation platform for guides, tutorials, and conceptual content – then embedding Redocly-generated API reference documentation within it.&lt;/p&gt;

&lt;p&gt;This gives you the best of both worlds: a flexible, customisable platform for your narrative documentation, paired with purpose-built tooling for your API reference. Your developers get a cohesive experience, but you're using the right tool for each job.&lt;/p&gt;

&lt;p&gt;The integration is typically straightforward. Redocly can generate static HTML that you host alongside your main docs, or you can embed the Redoc React component directly if you're in a React-based framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making the Choice 
&lt;/h2&gt;

&lt;p&gt;So how do you actually decide? A few questions worth asking:&lt;/p&gt;

&lt;p&gt;What's your team's existing stack? If you're React-heavy, Docusaurus or Fumadocs (for Next.js specifically) will feel natural. Vue teams should look at VuePress.&lt;/p&gt;

&lt;p&gt;Do you have OpenAPI specs to document? Strongly consider Redocly for that portion of your docs, even if you use something else for the rest.&lt;/p&gt;

&lt;p&gt;How much customisation do you need? All of these tools are customisable, but they sit on a spectrum from "works great with defaults" to "expects you to build on top." Know where your needs fall.&lt;/p&gt;

&lt;p&gt;What's your team's capacity? A smaller team might prefer something lightweight like VuePress or Fumadocs over Docusaurus's broader feature set.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion 
&lt;/h2&gt;

&lt;p&gt;There's no single "best" documentation tool – there's only the best tool for your specific situation. What matters more than the specific choice is that you make a choice and invest in your documentation as a proper product. &lt;/p&gt;

&lt;p&gt;We'll be covering more specifics around SDK development and API documentation in upcoming posts. In the meantime, if you're struggling with your documentation strategy or need help implementing any of these tools, &lt;a href="https://digitalspeed.co.uk/contact" rel="noopener noreferrer"&gt;we at Digital Speed are happy to chat&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;After all, great documentation is just another way of helping developers get things done.&lt;/p&gt;

</description>
      <category>documentation</category>
      <category>devex</category>
      <category>programming</category>
      <category>api</category>
    </item>
    <item>
      <title>The Differentiator Between B2B products: The Developer Experience</title>
      <dc:creator>Mike Elsmore</dc:creator>
      <pubDate>Wed, 21 Jan 2026 12:00:00 +0000</pubDate>
      <link>https://dev.to/digitalspeed/the-differentiator-between-b2b-products-the-developer-experience-1obd</link>
      <guid>https://dev.to/digitalspeed/the-differentiator-between-b2b-products-the-developer-experience-1obd</guid>
      <description>&lt;p&gt;Here at Digital Speed we are active users of AI within our day to day, a lot of us enjoy using Claude Code as part of our tool chain and we even use &lt;a href="https://digitalspeed.co.uk/articles/spec-driven-development" rel="noopener noreferrer"&gt;Spec Kit&lt;/a&gt; within some projects, and we can see how it has improved our pace and work.&lt;/p&gt;

&lt;p&gt;But the velocity created by the tools we have to hand mean that everything is starting to feel a bit samey when integrating products together. So that’s the biggest separator between the products we’ve used recently? The Developer Experience, otherwise known as DX or DevX. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is Developer Experience? 
&lt;/h2&gt;

&lt;p&gt;Most people see DX and think UX, which is close but not quite right. The dictionary definition of Developer Experience from Wikipedia is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Developer experience (DX) is a user experience from a developer's point of view. It is defined by the tools, processes, and software that a developer uses when interacting with a product or system while in the process of production of another one, such as in software development.[23] DX has had increased attention paid to it especially in businesses who primarily offer software as a service to other businesses where ease of use is a key differentiator in the market." &lt;br&gt;
Some people on Wikipedia - &lt;a href="https://en.wikipedia.org/wiki/User_experience#Developer_experience" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/User_experience#Developer_experience&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A much nice definition is this quote:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"DevX is about creating frisson with your product. It's about creating thrill, feelings of excitement, and enabling and empowering developers to believe, 'Hey, I can do that.'" &lt;br&gt;
&lt;a href="https://www.linkedin.com/in/whitep4nth3r/" rel="noopener noreferrer"&gt;Salma Alam-Naylor, @whitep4nth3r&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you want to watch a video covering the subject, our very own &lt;a href="https://www.wearedevelopers.com/en/videos/727/the-abc-of-dx" rel="noopener noreferrer"&gt;Mike Elsmore gave a talk at WeAreDevelopers&lt;/a&gt;. But what are the core things to consider when thinking about your product's Developer Experience? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Documentation &lt;/li&gt;
&lt;li&gt;Tooling &lt;/li&gt;
&lt;li&gt;Support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We’ll be covering some of these specific topics in follow-up posts, but for now here is a quick overview of the things to consider.&lt;/p&gt;

&lt;h2&gt;
  
  
  Documentation 
&lt;/h2&gt;

&lt;p&gt;When moving at speed, most organisations don’t have time to keep documentation up-to-date. The biggest advice that can be given here is treating your documentation as a product, rather than as a necessary evil.&lt;/p&gt;

&lt;p&gt;If you are a tech first organisation, then one of the best things that can be done is a shift to docs-as-code. An amazing article on this topic written by &lt;a href="https://www.linkedin.com/in/joannasuau/" rel="noopener noreferrer"&gt;Joanna Suau&lt;/a&gt; covers all this in greater detail: &lt;a href="https://medium.com/design-bootcamp/how-to-adopt-a-docs-as-code-approach-for-developer-documentation-59d63e822c5a" rel="noopener noreferrer"&gt;how to adopt a docs-as-code approach for developer documentation&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;As for what should be used for documentation, or what should be covered, this is very much dependant on the product. And we will cover this more in depth in a follow-up article. However, just as something to think about in the mean time if you are providing technology with an API interface that requires a complete reference and should follow a standard like &lt;a href="https://www.openapis.org/" rel="noopener noreferrer"&gt;OpenAPI Specification&lt;/a&gt;. On top of this a glossary of all possible errors from the API or tool should be available alongside it. &lt;/p&gt;

&lt;p&gt;And the last things on documentation, make sure it’s written from the perspective of someone that has no knowledge or prior skills. &lt;/p&gt;

&lt;h2&gt;
  
  
  Tooling 
&lt;/h2&gt;

&lt;p&gt;When it comes to how developers interact with your product, it can differ widely. But the common consensus is to provide a faster and smoother way to integrate your product with whatever they’re building in whatever language or system they are building it within. &lt;/p&gt;

&lt;p&gt;The most direct way, after documenting the basics for any interaction, is through an SDK. SDKs can consist of things such as API wrapper clients, to full CLI tooling, but they all contain the pieces to simplify integrating things such as authentication/authorization. We’ll cover more of the specifics of how to build out SDKs (primarily Client Wrappers) in a follow up post, but for now I’ll present some of the best examples. &lt;/p&gt;

&lt;p&gt;The &lt;a href="https://fly.io/docs/flyctl/" rel="noopener noreferrer"&gt;Fly.io CLI&lt;/a&gt; (otherwise known as &lt;code&gt;flyctl&lt;/code&gt;), is a great example of a command line interface that would allow someone to interact with the product directly or even script out into CI/CD flows. &lt;/p&gt;

&lt;p&gt;A great example of a full-service SDK has to be the &lt;a href="https://aws.amazon.com/sdk-for-javascript/" rel="noopener noreferrer"&gt;AWS SDK&lt;/a&gt; (in any language they build for). Considering how vast the product array is across the AWS portfolio, it’s consistent and easy to navigate with a lot of documentation and all sorts of helper functionality on top of the APIs. &lt;/p&gt;

&lt;p&gt;And now in the age of AI, it’s worth considering MCP servers and the likes, just as a means to allow developers to build agents to interact with your product. Or at the very least, for AI tooling to have a better understanding of the product when developers are doing research or solving a problem. &lt;/p&gt;

&lt;h2&gt;
  
  
  Support 
&lt;/h2&gt;

&lt;p&gt;Unfortunately, this one comes very much down to business and financial budgets. Support tooling and time to manage supporting your end users is a large part of great developer experience. No matter how much documentation you have, or tooling you provide, developers of different skill levels will have issues or edge cases to contend with. &lt;/p&gt;

&lt;p&gt;The only suggestions here are, if the product and budgets are small (or non-existent) then allow and enable the community of developers to support and help each other. Provide a place like Slack or Discord for developers to find other developers that may know what they don’t, and at the very least provide a searchable location for Q&amp;amp;A such as discourse or GitHub Wikis. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion 
&lt;/h2&gt;

&lt;p&gt;Developer Experience is more than just these three things, as it can include the onboarding process or even the marketing material that developers consume. But they’re less focused on the problem of solving how developers use the product day-to-day. Another quick quote about what DX is and why it’s great: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Helping developers get sh❤️t done." &lt;br&gt;
&lt;a href="https://www.linkedin.com/in/whitep4nth3r/" rel="noopener noreferrer"&gt;Salma Alam-Naylor, @whitep4nth3r&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you or your company need help with Developer Experience, we at Digital Speed are more than happy to discuss your needs and see how we can help. And if we can’t help you directly, we can recommend organisations to work with that could help. &lt;/p&gt;

</description>
      <category>devex</category>
      <category>documentation</category>
      <category>tooling</category>
      <category>resources</category>
    </item>
    <item>
      <title>Spec-Driven Development: The Future of AI Coding</title>
      <dc:creator>Taylor Lindores Reeves</dc:creator>
      <pubDate>Tue, 20 Jan 2026 12:35:56 +0000</pubDate>
      <link>https://dev.to/digitalspeed/spec-driven-development-the-future-of-ai-coding-1bk3</link>
      <guid>https://dev.to/digitalspeed/spec-driven-development-the-future-of-ai-coding-1bk3</guid>
      <description>&lt;h2&gt;
  
  
  Our Approach
&lt;/h2&gt;

&lt;p&gt;The engineering practices at Digital Speed have evolved over the years. But one thing that hasn't changed is our focus on writing high quality, maintainable code. And since the advent of AI and vibe coding, it's become far more important to ensure clean and maintainable code is being written.&lt;/p&gt;

&lt;p&gt;What is vibe coding I hear you say? Below is a quote directly from Merriam Webster:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Vibe coding is a recently-coined term for the practice of writing code, making web pages, or creating apps, by just telling an AI program what you want, and letting it create the product for you. In vibe coding the coder does not need to understand how or why the code works, and often will have to accept that a certain number of bugs and glitches will be present."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Vibe coding is inherently risky because, unless there's a significant amount of time invested in reviewing the AI-generated code, it's very likely to introduce issues. Not only that, but the code is harder to maintain and the transfer of knowledge is challenging at best. For those reasons, our team only used AI to write tedious refactors or edit inline code segments, as opposed to vibe coding full features. But times are changing.&lt;/p&gt;

&lt;p&gt;This is where GitHub's Spec Kit comes in. This is an open-source tool that allows any developer to swap vibe coding with Spec-Driven Development (SDD). Now why is this better than vibe coding? It's because it forces everyone in a team to establish shared context before any implementation begins, which means AI agents and teams build exactly what was intended. By separating intent from code, we can avoid the chaos of assumptions and ensure every decision is explicit, reviewable, and easier to evolve. Dive into more detail about SDD in this blog post by Den Delimarsky, Principal Product Engineer at Microsoft's CoreAI division.&lt;/p&gt;

&lt;p&gt;This fantastic tool is a game-changer. And it makes sense. We have learned a lot after building many products for our clients over the years here at Digital Speed. There's an industry best-practice behind every successful product launch, and it starts with creating detailed specification documents. This is what Spec Kit was designed to do.&lt;/p&gt;

&lt;p&gt;Spec-Driven Development with Spec Kit is a feature-based approach to writing code, and it all starts with generating detailed documentation. The core concept is to produce enough accurate detail about intent so that the AI has the contextual foundation to build the feature correctly. The idea is to produce a set of files based on pre-determined commands. Those files are generated as markdown files. It's important they're generated in the following order as each prior step gives context to the next:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Constitution&lt;/strong&gt;: defines the project constitutional guardrails. These are the non-negotiable principles that must be adhered to at all times.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Specification&lt;/strong&gt;: build a specification document and requirements checklist based on your prompt.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clarify&lt;/strong&gt;: asks 3 to 5 clarification questions on the spec to help prevent ambiguities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan&lt;/strong&gt;: create a technical plan for the specification.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tasks&lt;/strong&gt;: break down the technical plan and the spec into a set of individual tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analyse&lt;/strong&gt;: analyses the spec, plan, and task breakdown for any inconsistencies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Checklist&lt;/strong&gt;: create “unit tests for English” for your specification, enabling you to quickly find blind spots in your domain thinking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implement&lt;/strong&gt;: implement the project based on all of the combined artefacts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clarify, Analyse and Checklist are intermediary commands we can run between each doc generation step which helps us to clarify, analyse and update the generated artefacts. This is outlined in the diagram referenced above.&lt;/p&gt;

&lt;p&gt;Ultimately, you end up with a directory structure like this, alongside the rest of the files and directories for your project, in your codebase:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.specify
  memory
    constitution.md
  scripts
    bash
      check-prerequisites.sh
      common.sh
      create-new-feature.sh
      setup-plan.sh
      update-agent-context.sh
  templates
    agent-file-template.md
    checklist-template.md
    plan-template.md
    spec-template.md
    tasks-template.md
specs
  001-example-feature-one/
  002-example-feature-two/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And within the individual feature directories (which by the way, are also the name of the feature branch you are now working on - all executed because of Spec Kit) shown in the specs directory above, you'll have your generated files which typically look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;specs
  001-example-feature-one/
    checklists
      requirements.md
    contracts
      example.md
    data-model.md
    plan.md
    quickstart.md
    research.md
    spec.md
    tasks.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The final step is to run the implement command and let the LLM go to work implementing the tasks created in the &lt;code&gt;tasks.md&lt;/code&gt; file. But before that, we get our AI Agent of choice, we use Claude Code at Digital Speed, to use GitHub's CLI tool to create a Pull Request from our current branch &lt;code&gt;001-example-feature-one&lt;/code&gt; to &lt;code&gt;main&lt;/code&gt; with a detailed description, to make sure that the effort is properly tracked and our entire team can view the spec documentation before implementation.&lt;/p&gt;

&lt;p&gt;Once implemented, we're able to release this feature branch &lt;code&gt;001-example-feature-one&lt;/code&gt; onto our CI/CD pipeline to QA the results, and we've been having astounding results thus far.&lt;/p&gt;

&lt;p&gt;If you are looking to bring spec-driven development to life in your own organisation, our engineering team can help you move from idea to production with clarity, pace and confidence. Reach out to us and explore how we can accelerate your next build or check out our services to find out more.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
