One route per page
Each page of the site becomes app/page-name/page.tsx, and the home page is app/page.tsx. The app/layout.tsx file holds the header, the footer, the language and the structured data.

Create, edit and publish, then run your website and your app from their own dashboard. Every feature shown in real screenshots.
See the features
A Next.js project in React and TypeScript, sent to your GitHub repository. A spec change made in the repository comes back to Eqlo.
See the developer page
Paste a URL. In thirty seconds you see exactly what Google receives before any JavaScript runs.
Check a URLEqlo is an AI React code generator that works in two steps. First the AI writes a specification of the site from your description; then a compiler turns that specification into a Next.js project in React and TypeScript. The project goes to your GitHub repository, where you read it, review it and take it over like any other codebase.
The AI never writes the site’s files directly. It produces a structured specification: the pages, their sections, the copy, the theme, the navigation and the forms. A compiler then turns that specification into a Next.js project, the same way every time, so two close versions produce two close projects and the diff stays readable in review.
Every generation is checked against quality rules: one H1 per page, unique titles and descriptions, valid internal links, a description on every image and no third-party script. When a rule fails, the site is repaired automatically before you see it. Pages render without JavaScript, and forms work without it too.
The engine itself is tested whenever the product changes. It must hold a mobile Lighthouse score of at least 95 for SEO and accessibility and 85 for performance, and get at least 18 generations out of 20 right on the first attempt. On the model side, Claude Haiku classifies and drafts, Claude Sonnet generates and edits, and a fallback tier steps in when an edit fails twice.
The project follows the layout of a Next.js app using the App Router. After cloning, npm install and npm run dev start it locally, and npm run build produces a production build.
Each page of the site becomes app/page-name/page.tsx, and the home page is app/page.tsx. The app/layout.tsx file holds the header, the footer, the language and the structured data.
The copy and sections of each page live in content/pages as JSON, and shared elements in content/site.json. The components in the components folder read those files, so fixing a typo never touches a component.
The theme lives in a theme.css file, with variables for colors, fonts and corner radius. Fonts are installed as Fontsource packages and served by the site itself, with no call to Google, and icons come from lucide-react.
The public folder holds sitemap.xml, robots.txt and llms.txt. For an app, it adds the manifest, the icons and a service worker that caches the pages for offline reading.

Versions read from the engine on October 10, 2026. They are pinned in the exported package.json, with no version ranges.
You set up GitHub on the project’s Connections screen, like Slack or Notion. It is included on every plan, the Free plan too.
You create a fine-grained token limited to the repositories you select, with Contents set to read and write. Eqlo checks it, then stores it encrypted with AES-256. The target branch is main unless you choose another.
Each push creates a single commit titled “Eqlo: version N”, holding the specification and the compiled project. Files that no longer exist in the project are deleted from the repository, and history is never force-pushed.
Once the webhook secret is pasted into the repository settings, a push that changes eqlo/spec.json becomes a new version in Eqlo. Every other file is recompiled on the next push, so a lasting change goes through the specification or onto a branch you keep for yourself.

Eqlo has no command-line tool and no public API with keys. The GitHub repository is where code changes hands, and data leaves through other routes.
Form submissions can go to your own server, Make, Zapier or n8n through a signed webhook, and each delivery is logged with its retries. Admin automations can also call a secure webhook on the trigger you pick: a row created, a status reached, a date or a form received.
Data tables export as CSV or SQL, the whole workspace as a JSON file with no secrets in it, and the activity log as CSV up to 50,000 rows. Keys for connected services are encrypted with AES-256 and masked in error messages. While the project runs on Eqlo, that data resides in the region selected at creation: EU, US or UK.
Every site has an admin at its address followed by /admin. Workspace owners and admins get a chat that edits that admin’s code, with safeguards a developer will recognize.
The AI proposes a change, Eqlo checks and compiles it, then lists the files it touched. You apply it or drop it, so nothing lands blind.
You can undo a change, restore a known good version or go back to the starting template. If a version crashes for users, the previous one comes back automatically.
The exported project builds and runs on any host that supports Next.js. Before you cut the cord, check every feature that sends data: forms, for instance, post to the project’s Eqlo endpoint, and you will need to point them at your own server.
For the mobile app, the Expo and React Native source can be downloaded on every plan. It shows the published site inside a native shell, which is why a content change reaches the app without a new store review.
A reviewer first notices the split between content and components: most diffs touch JSON files and rarely the React code. That is by design, and it is what keeps versions comparable from one push to the next.
They also notice what is missing. No tests are generated, no database ships with the project, and the components are generic rather than written for your domain. Calculation rules, fine-grained permissions and server-side validation are yours to write.
The approach that works best is to treat every push as an outside contribution: a dedicated branch, a review, your tests, then the merge. Since the code is standard Next.js, it fits your existing CI without changes.
Eqlo fits when the deliverable is a website, a store, a booking site or a content app, with an admin for the client and code you want to be able to read. It saves you the repetitive groundwork: pages, technical SEO, forms and hosting.
It fits poorly with a business application full of custom logic, a database you want to design yourself or an existing component library you must follow. In those cases, start from your own repository and keep Eqlo for the public pages.
Where to go next, depending on what you are building.
No. The repository holds a standard Next.js project in React and TypeScript, content as JSON and a CSS theme file. The eqlo/spec.json specification is the only Eqlo-specific file, and it is what carries changes back to the studio.
Yes, but only changes to eqlo/spec.json come back into Eqlo. Other files are recompiled on the next push, so for a lasting takeover, work on a branch that Eqlo does not push to.
No. Code moves through GitHub, forms and automations through signed webhooks, and data through CSV, SQL or JSON exports.
Partly. You choose from 21 styles and 44 fonts, and set the palette, the button shape and the spacing in the Design tab, which uses no AI. An existing component library cannot be imported.
It stays yours, with its full history. The project builds and runs elsewhere once you rewire the forms, which post to the Eqlo endpoint by default.
The address of a site you like works as inspiration: Eqlo picks up its look, meaning the colors, fonts, corner shapes and amount of animation. The copy, images and brand are never copied.
No. The studio works in English and French, and each site is generated in one of the two languages. Standing instructions of up to 2,000 characters are reread with every request.
Nothing extra: connections and code export are included on every plan. The Free plan has five active projects and one seat, Plus is $19 a month and Team is $49.
Start on the Free plan with no card. Connect GitHub from the first version and read the code before you decide what to do with it.