Homepages
Files: src/pages/[...lang]/index.astro, src/content/homepage/english/ · Skill level: Beginner to edit, light code to reorder
Kivo has four homepages. They use the same sections with different content and layouts, so each one also shows which layouts suit a kind of product.
| Homepage | URL | Route file | Content file |
|---|---|---|---|
| Developer cloud (main) | / | src/pages/[...lang]/index.astro | src/content/homepage/english/-index.md |
| API product | /home-api/ | src/pages/[...lang]/home-api.astro | src/content/homepage/english/home-api.md |
| AI product | /home-ai/ | src/pages/[...lang]/home-ai.astro | src/content/homepage/english/home-ai.md |
| Data or analytics product | /home-analytics/ | src/pages/[...lang]/home-analytics.astro | src/content/homepage/english/home-analytics.md |
Main Homepage

Sections, top to bottom:
- Hero (
hero-saas.md) - Customer logos (
clients.md, overridden byclientsSectionin-index.md) - Steps (
steps-section.md) - Stack, a marquee of technologies (
stack-section.md) - Platform, an animated product grid (
platform-section.md) - Metrics (
metrics-section.md) - Testimonials (
customer-quotes-section.md) - Code tabs (
code-tabs-section.md) - Features (
feature-grid-section.md) - Regions map (
regions-section.md) - Templates (
templates-section.md) - Security features (
security-section.md, drawn by the feature grid) - Pricing (
plans-section.md) - FAQ (
questions-section.md) - Latest changelog (
changelog-section.md) - Call to action (
call-to-action.md, added by the page shell)
All section files are in src/content/sections/english/ (and french/). The main homepage keeps every section on its default layout, except the logo strip, which uses plain.
API Product Homepage

Hero (code: typed API requests with streamed responses and a test/live key switch), logos, features (tabs), code (compare), pricing (usage, with the usage estimator), testimonials (metrics), FAQ, and call to action (split with an install command).
AI Product Homepage

Hero (screenshot with an animated agent run), logos, features (alternating), steps, testimonials (marquee), pricing (usage), FAQ, and call to action.
Data Or Analytics Homepage

Hero (screenshot with an animated dashboard), logos, features (sticky), metrics, testimonials (spotlight), pricing (compact), FAQ, and call to action (newsletter).
How The Demo Homepages Get Their Look
The three demo homepages don’t use different components: their content files override each section with a named block and a layout. For example, in home-api.md:
featureGridSection: enable: true title: "Everything around the request, handled" # ...list of features... options: layout: "tabs"That means you can copy any block from a demo homepage into the main homepage’s -index.md to borrow its look.
Edit A Homepage
- Change text on every page that uses a section: edit the section file in
src/content/sections/english/. - Change text on one homepage only: edit its block in the homepage content file. If there is no block for that section yet, add one with only the keys you want to change.
- Reorder or remove sections: move or delete the lines in the route file. In
index.astro, each line like<LayoutVariants section="faq" content={questionsSection} />is one section. Keep the<LayoutVariants>wrapper when you move a line: it draws the section in the layout set in its content file. It also connects the section to the demo Change layout button, which is off by default ([settings.layoutSwitcher]inconfig.toml).
Use A Demo Homepage As Your Main Homepage
-
Open the demo route, for example
src/pages/[...lang]/home-api.astro, and copy the section lines between<Base ...>and</Base>. -
Paste them into
src/pages/[...lang]/index.astro, replacing the lines there. Copy theimportlines at the top that the new sections need, and the names in theconst { ... } = homepageContent?.datalist. -
Copy the frontmatter blocks from
src/content/homepage/english/home-api.mdintosrc/content/homepage/english/-index.md. Do the same forfrench/. -
Delete the demo homepages you don’t need: their route files in
src/pages/[...lang]/and their files insrc/content/homepage/english/andfrench/. -
Remove the deleted homepages from the Pages menu in
src/config/menu.en.jsonandmenu.fr.json.
Do It With AI
Make the [API | AI | analytics] demo the main homepage. Copy the sections ofsrc/pages/[...lang]/[home-api].astro into src/pages/[...lang]/index.astro (imports and thedestructured block names too), and copy the frontmatter blocks ofsrc/content/homepage/english/[home-api].md into -index.md, and the same for french/. Then deletethe three demo homepage routes and content files, remove them from the "Pages" menu insrc/config/menu.en.json and menu.fr.json, and run npm run astro-check.