Manage web and mobile content together.
Journey AI removes problems web teams know well: a half-finished page in front of visitors, a campaign that has to start at midnight, form messages that never arrive… Scroll down: next to each problem you'll see how Journey AI solves it.
Start with the first sceneWhy does changing a headline take three days?
Marketing writes the text, a developer changes the code and someone else handles the release. Even a small fix turns into a long email chain.
Everyone does their own job in their own place.
Journey AI is made of three parts. The editor prepares content in the admin panel. The Delivery API serves published content as JSON, by language and path. The Next.js site turns that JSON into components.
A headline is a content field you edit in the panel. You don't have to wait for a software release to change it.
Do you have to change a menu link on every page one by one?
If every page is one big text box, the header and menu sit on each page as a separate copy. Forget to update one and the pages show different menus.
A page is a tree of nested components.
Hero, Section and Text Block are building blocks you can nest as deep as you like. The header, footer and navigation are kept in a template. A change approved in the template appears on every page that uses it.
Recurring content such as news, announcements and team members is managed with lists.
Visitors see the page before it's finished.
If every save goes straight to the live site, half sentences and placeholder text stay in front of everyone.
HEADLINE GOES HERE
Lorem ipsum dolor sit amet, consectetur adipiscing… Örnek Şirket helps organisations run their web
The live site never shows a half-finished change.
On a published page, the first time you press Save a preview copy is created. Every later save is written to that copy; the published record stays as it is.
When the change is approved, the two records swap: the approved copy goes live and the old record becomes the new preview copy. You can try it with the button in the scene.
We have stood by organisations for more than twenty years.
Örnek Şirket helps organisations manage their websites quickly and securely.
Anyone can press the publish button.
An unchecked price, a wrong date or a typo in a campaign headline is already live by the time someone notices.
Publishing needs its own permission.
The editor sends the page for review with Send for approval. A user with approval permission sees the changes colour-coded, then clicks Approve or Reject.
A rejected page moves to Changes requested; the editor fixes it and sends it again. You can try both decisions in the scene.
The campaign starts at 00:00. Nobody on the team is awake.
Someone has to set an alarm and publish the page at midnight. At the end of the month, someone also has to remember to take it down.
The campaign goes live at midnight on its own.
In the Publishing section of the page settings you enter the Publish Start and Publish End dates. A task that runs every minute publishes the approved page on its start date and takes it down on its end date.
The Redirect when publishing ends option sends visitors who arrive after publishing ends to another address. The dates also show up in the Agenda. The live site shows the change within 5 minutes at most.
/kampanyalarThe page went live without its translation.
The Turkish page is ready, but the English one was forgotten. A visitor who clicks EN in the language switcher sees an error page and leaves the site.
A missing language is spotted before publishing.
If a page has no variant in an active site language, the panel shows the Missing language warning. From the Language Variants section you create a new variant: With components copies every component, Without components opens an empty page.
Once the translation is done, you can send all of the page's languages for approval in one go.
Your page shows up as "Untitled" in search results.
The page has no description and no structured data. Someone who asks an AI assistant about your company gets a vague answer, too.
Every page has three layers for each language.
Meta carries what appears in search results, Schema (JSON-LD) the page type, and Entity (GEO) the description AI systems read. These layers are published independently of page approval.
AI (OpenAI or Gemini) can suggest content for all three layers. Its output always stays a suggestion and never blocks publishing.
"Your message has been received." Received by whom?
The form thanks the visitor, but the message goes to an address nobody checks anymore. On top of that, bots fill the form with spam.
Every submission goes through a defined flow.
Submissions collect in the Inbox and can be exported to Excel. The Submission Flow is made of email and webhook steps. Steps can run on a condition, and there are 16 themes for emails.
Against spam you can use reCAPTCHA or Cloudflare Turnstile. You can start from ready-made forms: Contact, Newsletter and Meeting Request.
You have to guess how the content is structured.
The fields aren't documented and every page comes back with a different structure. When your guess is wrong, the site shows a blank white screen.
const res = await fetch(url).then(r => r.json()); // what was the field called? content or blocks? const title = res.content.blocks[0].text;
The Delivery API gives you a clear component tree.
Published content arrives as JSON, by language and path. You map the component slugs from the panel to your own components. An unmatched slug shows a blue debug card on the site, so you see what's missing right away.
The preview site uses no cache. The live site updates with ISR (300 s) and with revalidation triggered by the panel; you can also do it by hand with Refresh Cache.
{
"data": {
"title": "Kasım fırsatları",
"path": "kampanya",
"components": [{
"uniqueId": 4711,
"slug": "hero-banner",
"children": [{
"slug": "title",
"data": "Kasım fırsatları"
}]
}, {
"slug": "geri-sayim"
}]
}
}slug: "geri-sayim" · all fields shown here
All part of the same system.
Each solution you just saw comes from a part of Journey AI. Put them together and you get a system in three parts.
Admin panel
Editors prepare; users with approval permission review and publish.
Delivery API
Serves published content as JSON, by language and path.
Three partsEveryone in their own placeNext.js site
Turns the component tree into its own components. It runs as two separate sites: one for preview, one live.
Component mappingISR and Refresh CacheWhere should your journey start?
The guide is split into sections by role. Start with the section closest to your work; you can switch to the others at any time.