CASE STUDY 04 · FREELANCE · CMS / AI
A CMS matters more in the AI era
In 2022-2023 I built the website of BOR-KUR, a family-run broiler farm, in Polish and English. All of its content came from a CMS. The same split of content from design and logic is worth more now that AI agents edit websites.
- 2 languages
- Polish and English, one layout
- 1 source
- the 2022-2023 build pulled all of its content from the CMS
- 15 months
- freelance engagement, Sep 2022 - Nov 2023
The problem
BOR-KUR is a family-run broiler farm. I built its website as a freelance full stack developer between September 2022 and November 2023.
It isn’t a shop. Nothing is sold on it. It’s a company website: who the farm is, what it values, how to contact it and where to find it.
A site like that is mostly content. It runs in Polish and English, so every headline, every paragraph and every form label exists twice.
If that text lives inside components, every new language multiplies the files you have to touch.
The split
I took the content out of the code. The 2022-2023 build pulled all of its content from the CMS, Contentful. The design and the logic lived in Next.js, React and TypeScript.
The CMS had one job: it held the content.
With the content in one system, a new language is more content, not more code.
What the site is
One page that says who the farm is
The home page has a headline, an about section, 3 values (people, growth, quality), a contact form and the address. A second page shows the farm on a map, with a button for directions.
2 languages, one layout
Polish is at /, English is at /en.
One button in the header switches between them.
Everything you can read changes with the language: the navigation, the headings, the form labels and the alt text of the images. The layout stays where it is.
Why it matters more now
The AI era puts more and more weight on separating a site’s content from its design system and its logic. That’s why a CMS matters more now, and why the split is worth making.
You can see all the content in one place
It’s simply better to know and see all of a site’s content in one place, for example in one file. You can change the copy freely, without jumping from file to file.
Not every model writes well
Some language models are good at copywriting, some aren’t. When the copy is separate, the model that writes well can work on the copy and leave the code alone.
Agents use fewer tokens
Agentic systems find and fix what you care about more easily when the content has its own place. It works the other way too: when a task is about logic, the agent can skip the content and leave it alone. Every file an agent doesn’t have to read is tokens saved.
Clean boundaries help the code too
When the boundaries between modules are clean and clear, LLMs work better with the code.
The same boundaries make it easier to generate documentation and files like llms.txt.
I expect files like that to be checked in the future, in the context of PageSpeed Insights and Core Web Vitals.
The same goes for design systems
A design system, together with noindex pages, can guarantee a consistent brand. Noindex pages built from the design system produce whole social media profiles and posts, so the marketing content comes from the same source as the website: the design system.
The CMS can be one file
In the AI era a “CMS” doesn’t have to be a product with a login. It can be one i18n JSON file in one language.
You can always copy that file to an agent.
The proof
bor-kur.pl runs in 2 languages from one layout.
This site follows the same rule.
Each case study is one MDX file in a content collection, and one layout renders all of them.
The copy for my LinkedIn and GitHub profiles is one TypeScript file, and noindex profile pages render it.
The build writes /llms.txt from the text of the public pages.
How it went
-
A company website in 2 languages
A website for a family-run broiler farm: who they are, what they value, how to reach them. In Polish and English.
-
Content out of the code
The whole site pulled its content from Contentful. Next.js, React and TypeScript held the design and the logic.
-
AI agents start to edit websites
A clean content boundary lets an agent find the copy fast, or leave it alone.
-
The CMS can be one file
One i18n JSON file in one language does the same job, and you can always copy it to an agent.
Working on something similar?
Book a 30-min call → (opens in a new tab)