mrkeyoor.com_
Fri 18 Sept 02:54 UTC
AI Toolsevaluationupdated 26 Aug 2026

onlook review

Onlook is a visual editor for creating and changing Next.js and Tailwind applications while keeping code in the loop. It runs a project in a browser container, maps rendered elements back to source, and lets designers edit the page directly or ask an AI chat to change it.

+39stars / 7d
Verdict

Our Onlook install pulled 2,522 packages and 2,547 MB, then the build stopped on a missing Supabase key and the overall test command exited 1. Try the hosted product if a designer needs to work directly on a Next.js and Tailwind codebase. Treat self-hosting as an engineering project until environment setup, current Supabase migrations, and multi-user authorization have been verified on your own deployment.

We ran it

Lab card: what happened when we ran onlookScreenshot of onlook (onlook.com)
Install✓ · 86s2522 packages · 2547 MB
Build✗ · 41s
Tests✗ · 60sran, no count parsed
Repo1695 files~151,847 lines of source · 26.7 MB · 3 CI workflows · Dockerfile

Answers from our run

Does onlook build from source?

Dependencies installed in 86 seconds (2522 packages), and the build failed. We cloned commit 423e2e9 into a clean Debian container with 3 CPUs and no project-specific setup.

Do onlook's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use onlook?

Vue, Svelte, plain HTML, or non-Tailwind projects: the README marks non-Next.js and non-Tailwind support as unfinished.

What are the alternatives to onlook?

Plasmic, Penpot, GrapesJS. Our Onlook install pulled 2,522 packages and 2,547 MB, then the build stopped on a missing Supabase key and the overall test command exited 1.

Setup2/52.5 GB install; build and overall tests failed in a fresh container
Docs3/5Clear product scope and architecture, but local prerequisites are substantial
Community5/526,561 stars with active August 2026 issue and pull request work
Maturity2/5Early-access transition with current setup and authorization concerns

Discussed on

  1. hnShow HN: Onlook – Open-source, visual-first Cursor for designers408 points
  2. hnShow HN: Open-sourced Webflow for your own app336 points
  3. hnShow HN: An open-source, local-first Webflow for your own app227 points
  4. hnOnlook: The Cursor for Designers5 points

Who it’s for

Designer-developer teams working specifically with Next.js and Tailwind.
Frontend developers who want visual DOM editing tied back to source code.
Product teams willing to try the hosted early-access product or operate a multi-service local stack.
Contributors comfortable with Bun workspaces, Supabase, containers, and several outside service integrations.

Who it’s NOT for

Vue, Svelte, plain HTML, or non-Tailwind projects: the README marks non-Next.js and non-Tailwind support as unfinished.
Teams needing comments or a component drag-and-drop panel today: both remain unchecked in the published feature list.
Buyers assuming the public repository is the current hosted product: the README says this code is the visual editor that started Onlook, while the next hosted product is in early access.
Self-hosters who need a verified fresh setup on current Supabase: issue 3133 reports migration 0008 failing with SQLSTATE 42501 before the backend starts.
Security-sensitive multi-user deployments until authorization work is resolved: open pull request 3127 says many project-scoped tRPC procedures lacked membership checks.

Setup reality

Our sandbox installed 2,522 packages in 86 seconds and consumed 2,547 MB. The build failed after 41 seconds because NEXT_PUBLIC_SUPABASE_ANON_KEY was undefined. Tests exited 1 after 60 seconds; the visible @onlook/scripts subset passed 43 of 43, but the supplied log did not identify the failing workspace.

The repository uses Supabase for authentication, database, and storage, plus OpenRouter and fast-apply providers for AI. Its sandbox and hosting integrations name CodeSandbox and Freestyle. Local setup therefore needs real environment configuration, not merely a Bun install.

This is a 1,695-file workspace with Docker and Compose support. The editor, web client, backend, migrations, browser containers, provider keys, and storage must agree. A hosted trial is much easier than proving the self-hosted multi-user stack.

Onlook edits a running Next.js page and writes back to code

Onlook loads a project into a web container, serves it, displays the result in an iframe, and indexes the source. Instrumentation maps browser elements to their code locations. A designer can select an element, adjust Tailwind styles, move it within a parent, or open the relevant source. AI chat uses the same code access and tools. This is closer to editing a live application than exporting a static mockup from a design canvas.

The current boundary is narrow and useful. Onlook targets Next.js with Tailwind, while support for other frameworks and styling systems remains unchecked in the README. It can create projects from text, images, or templates, manage pages and assets, edit code, save checkpoints, branch experiments, and generate shareable deployments. Comments, a component drag-and-drop panel, MCP use, and some image-reference behavior are still listed as unfinished.

The public repository and hosted early access are different bets

The README says this repository contains the open-source visual editor that started Onlook. It separately describes the next hosted product as early access and points readers to a waitlist. That distinction matters when evaluating roadmap, support, and deployment. A polished hosted experience may include operations or services that are harder to reproduce from the repository, while a source checkout gives teams control at the price of integration work.

GitHub's latest tagged release was v0.2.32 from July 17, 2025, yet the repository was pushed on August 25, 2026. The stale release tag alone does not imply abandonment. Recent pull requests covered agent cost controls, Docker environment setup, Supabase migrations, provider initialization, authentication queries, path handling, and security. The project is active, but packaged release history no longer describes the whole pace of development.

What happened when we ran it

Our sandbox cloned commit 423e2e9 into an unprivileged container with 3 CPUs and 8 GB of RAM. The checkout had 1,695 files, about 151,847 lines of source, and occupied 26.7 MB. Bun installed 2,522 packages in 86 seconds. Dependencies then occupied 2,547 MB, which is a heavy contributor footprint before any local database or project sandbox starts.

The build failed with exit code 1 after 41 seconds. The web client rejected an undefined NEXT_PUBLIC_SUPABASE_ANON_KEY, failed to load next.config.ts, and ended with Error: Invalid environment variables. The log establishes a required configuration value. It does not show whether the build would pass after valid Supabase settings are supplied.

The overall test command also exited 1 after 60 seconds. The visible tail showed the @onlook/scripts workspace running 43 tests across 3 files, with all 43 passing and 0 failing. The supplied log did not name the workspace or check that caused the root command to fail, so assigning a cause would be guesswork. The repository had 3 CI workflow files, Docker and Compose files, workspace configuration, and no tests directory.

Supabase and provider services make local setup a system job

Onlook names Supabase for authentication, Postgres data, and storage. Drizzle supplies the application ORM. AI calls flow through the AI SDK and providers including OpenRouter, Morph, and Relace, while CodeSandbox SDK and Freestyle cover project sandboxes and hosting. A serious self-hosted evaluation must decide which of those outside services remain external, how credentials are stored, and what behavior is available without them.

Current issue 3133 reports a fresh self-host failing during Supabase migration 0008 because newer Supabase storage tables reject direct deletion. The reporter reproduced it with a current CLI and proposed an upsert. Pull request 3134 addresses the same failure, but it was open when checked. Pinning a known compatible toolchain may get farther; a production operator should still test clean installation and restoration against the versions it will support.

Multi-user authorization needs an independent review

Open pull request 3127 reports missing membership checks across project, chat, branch, settings, frame, invitation, and other tRPC procedures. The author says the database client uses a Postgres superuser role exempt from Supabase row-level security, leaving authorization to application procedures. The proposed patch was open and its author had not run the complete suite against a local Supabase stack. This is a report and proposed fix, not our lab finding.

A private single-user trial has a different risk profile from a shared hosted deployment. Before admitting multiple users, verify every project identifier path, sandbox operation, invitation flow, and storage object against an account that should not have access. Also confirm whether the deployed commit contains the proposed checks. Apache-2.0 licensing permits modification, but operators become responsible for carrying any local security patches.

Onlook is promising for one frontend stack, not yet a casual self-host

The product idea is concrete: designers manipulate a real rendered application while code remains editable and traceable. For a Next.js and Tailwind team, that is more useful than a canvas whose output must later be rebuilt. The 2,547 MB install and configuration-dependent failures show that the repository is not a small desktop design tool.

Start with the hosted early access if the goal is to evaluate the editing experience. Choose the repository when source control, private deployment, or contribution justifies owning Supabase, migrations, credentials, containers, and authorization testing. The visual workflow may earn that effort, but our failed build and root test make a clean local proof the first gate.

Alternatives

ProjectWhat it isPick it when
PlasmicA visual builder and design system that can integrate with React applications.pick this instead when a mature visual content workflow matters more than Onlook's direct browser-to-source editing approach.
Penpot gh↗A self-hostable interface design and prototyping platform built around open web standards.pick this instead when collaborative design and handoff are the job, without expecting the canvas to rewrite a Next.js codebase.
GrapesJSA framework for building drag-and-drop web editors inside another product.pick this instead when you are building your own visual editor and need an embeddable framework rather than a finished AI workspace.

Sources

  1. Onlook README
  2. Onlook v0.2.32 release
  3. Onlook issue 3133
  4. Onlook pull request 3127

More ai tools reviews

OpenBitFun · rowboat · skills · superpowers-zh · yolov5 · eve · the whole board →