Getting Started with Ekit¶
This guide takes you from zero to a live, data-driven, multilingual website, without backend code. Pick the path that suits you:
Start from a templateNo code. Your site is online in about two minutes, then you adapt its content. Build it yourselfFor developers: tables, a datasource and a Handlebars view, step by step (about 15 minutes).
Both paths lead to the same thing: your content in tables, and a website that displays it. You can start with a template and open its code later.
1. Create an account¶
- Go to studio.ekit.app
- Sign up with Google, GitHub, or your email address (you then confirm it with the link you receive)
- You land on your dashboard
Every account starts on the Free plan. See Plans & limits for what each plan includes.
Path A — Start from a template¶
2. Pick a template¶
On the dashboard, choose a template — simple CRM, SaaS landing page with a blog, restaurant or portfolio — and click Use this template, then Create the project.
The project is created in a few seconds with its tables, sample content and a bilingual website. The languages are pre-filled; click Change if you need others (they can't be changed afterwards).
3. Your site is online¶
The project opens on its dashboard. The Your website card shows the site's address (for example my-bakery.preview.ekit.app): click View the site.
4. Edit the content¶
Click Edit the content: each table opens like a spreadsheet (for a restaurant: dishes, menu categories, opening hours). Change an entry — a price, a description, a photo — and reload your site: it is already up to date, in every language.
5. Go further, still without code¶
- Change the look: in the site editor, ask the AI assistant (“Change the site colors to forest green”, “Add an About page with our story”)
- Collect requests: table ⋯ → Add a form, and every submission becomes an entry — see Site forms
- Answer your visitors: table ⋯ → Site assistant, so visitors can ask questions about your content — see Site assistant
- Use your own domain (Pro and Team plans) — see Custom domain
Curious about how it works under the hood? The template's site is ordinary code: open it with Open the editor, or follow path B.
Path B — Build it yourself¶
2. Create your first project¶
- Click New project
- Choose a project name
- Select the languages of your site and the main one (the language you write in)
- Click Create project
You now have an empty project, ready to be configured.
3. Create your first table¶
In Ekit, tables store your content. A table can represent articles, pages, products, or any custom content type.
Already have your data in a spreadsheet or in Airtable?
Import CSV or Excel files instead of creating the table by hand: Ekit creates the tables, the fields and the links between them. See Import data.
Example: an articles table¶
- Create a new table named
articles - Add the following fields:
title(text)content(rich text)image(file)- Save the table
Add content¶
Create one or two records in the table: - Add a title - Add some text content - Upload an image
Your data is now ready to be displayed.
4. Create your first page (template)¶
Templates define how your content is displayed. Open Sites → New site, then open its editor.
Create a view¶
- Open the views folder
- Create a new file called
index.hbs
Declare a datasource¶
At the top of the file, add a YAML frontmatter:
Display content¶
Below the frontmatter, add:
<h1>Latest articles</h1>
{{#each ekdata.articles}}
<article>
<h2>{{this.title}}</h2>
<img src="{{ekdbasset this.image}}" alt="">
<div>{{{this.content}}}</div>
</article>
{{/each}}
This template:
- fetches data from the articles table
- loops through the records
- renders text and images
5. Preview your site¶
- Open the live preview
- Modify a record (title, image, content)
- See the page update instantly
Your site is already dynamic and multilingual-ready.
6. URLs and languages¶
Ekit uses clean, SEO-friendly URLs with optional language prefixes and slug-based routing.
URL examples:
Routing rules:
- The language segment is optional
- If present, the first segment defines the active language
- The first page segment maps to the current view
- If no view is present, index is used by default
- The second page segment is used as the slug
- Query parameters can be used for filtering or dynamic behavior
Example:
Using query parameters:
Query parameters are optional and can be used for filtering or dynamic pages.
Example:
In templates: You can access routing values directly in your templates:
7. What you just built¶
You have created: - a project - structured content (tables and records) - a dynamic site powered by data - a clean, multilingual URL structure
All without writing backend code.
8. Next steps¶
Now that your site is working, you can explore:
- Template syntax and helpers
- i18n static translations with
ektrans— see Languages and parameters - Reusable components with partials — see Project structure
- Datasources: filters, sorting and pagination
- Server logic: call external APIs with Methods
- The public API, to use Ekit headless
Final note¶
Ekit is designed to let you focus on content and structure, while the platform handles data, rendering, and multilingual routing.
You are now ready to build real websites with Ekit.