Guide

The Emergent AI app builder alternative with no signup and a 15-second TTFT ceiling.

Every page on the SERP for emergent ai app buildertells you about Emergent's multi-agent pipeline and its pricing tiers. None of them publish a boot time, a latency ceiling, or a path to a working app that does not start with an email field. mk0r does. Here is how.

m
mk0r
7 min
4.8from 10K+ creators
0 signups required
2.5s sandbox boot
15s TTFT ceiling

What everyone else writing about Emergent misses

Read the top results for emergent ai app builder and you get the same five things: Emergent is a YC company, it raised $100M, it runs a multi-agent pipeline covering planning, frontend, backend, testing, and deployment, and it has three plans. Those articles are accurate. They are also interchangeable.

What they do not answer is the question you actually have when you land on an app builder: how long until I see my app. Nobody publishes a number. Reviews hedge with "a few minutes". The quality of the tool may be real, but the TTFT is opaque.

mk0r picks the opposite approach. The boot time, the model, and the abort timer are all set in the repo, and you can find them without an account.

Anchor fact

const ttftMs = 15_000; lives at line 347 of src/app/api/chat/route.ts. If the agent has not emitted a token in 15 seconds, your session is evicted and a warm VM is claimed for you.

You can open the file on GitHub and check. That number is not a marketing claim; it is a constant the server reads on every chat request.

The numbers that the SERP does not publish

Four hardcoded values define how fast and how forgivingly the system behaves. All four live in the repo, all four are checkable.

0sPre-baked E2B boot
0sTTFT watchdog ceiling
0 vCPUPer sandbox
0 MBRAM per sandbox

Sources, in order: src/core/e2b.ts line 7; src/app/api/chat/route.ts line 347; docker/e2b/e2b.toml lines 16 to 17.

How a prompt becomes a running app

The pipeline is short on purpose. There is no queue, no plan selection, no "choose your stack". Six things happen, most of them in parallel.

Prompt in, running app out

Your prompt
Anonymous Firebase token
Model selector
mk0r chat route
E2B sandbox
Live preview
Playwright MCP
signInAnonymously()template 2yi5lxazr1abcs2ew6h8ttftMs = 15_000E2B_TIMEOUT_MS = 3_600_000FREE_MODEL = "haiku"--remote-debugging-port=9222@playwright/mcppause() + Sandbox.connect()cpu_count = 4memory_mb = 4_096

mk0r vs Emergent, line by line

I picked features that actually change the experience, not wish-list items. Everything on the mk0r side is a value you can grep for in this repo.

FeatureEmergentmk0r
Signup required before buildYes, account + plan selectionNo, anonymous Firebase session
Default modelUndisclosed multi-agent stackClaude Haiku (src/app/api/chat/model/route.ts)
Sandbox boot timeNot published~2.5s from pre-baked E2B template
Time-to-first-token ceilingNot published15,000 ms hard watchdog
In-VM browser testingAgent-side automationChromium + Playwright MCP on CDP port 9222
Code ownershipPlatform-bound projectExportable HTML/CSS/JS or full Vite project
Pricing to startPaid plan to deployFree, no credit card
15s

TTFT is hard-capped at 15,000 ms in the chat route, and the E2B template is pre-baked so boot runs around 2.5 seconds.

src/app/api/chat/route.ts, src/core/e2b.ts

The five steps between your first keystroke and a live app

1

Anonymous sign-in fires on page load

src/components/auth-provider.tsx calls Firebase signInAnonymously the moment the app mounts. The chat API accepts the resulting token as long as decoded.firebase.sign_in_provider equals "anonymous". No modal, no redirect, no email.

2

A warm E2B sandbox is claimed from the pool

src/core/e2b.ts maintains a Firestore-backed pool of pre-booted sandboxes built from template 2yi5lxazr1abcs2ew6h8. The pool avoids cold boot by keeping a small reserve of warmed VMs. A fresh boot from the pre-baked template runs in about 2.5 seconds if the pool is empty.

3

Claude Haiku starts streaming code

The default model is pinned to haiku via FREE_MODEL in src/app/api/chat/model/route.ts. Tokens stream into the preview as they arrive. The 15-second TTFT watchdog (src/app/api/chat/route.ts line 347) runs alongside the stream and aborts if the first delta is late.

4

Chromium + Playwright MCP wake up inside the VM

docker/e2b/files/opt/startup.sh launches Chromium with --remote-debugging-port=9222, then starts @playwright/mcp with --cdp-endpoint http://127.0.0.1:9222. The agent now has a real browser to click, type, and screenshot the app it is building.

5

You iterate in plain English

Each follow-up prompt hits the same session. The agent patches the existing app rather than starting over. If you pause for long enough the sandbox is paused; on your next message the session resumes from the same state with pause/resume semantics on the E2B SDK.

What the startup script actually does

This is the interesting bit that reviews of Emergent do not cover because reviews of Emergent cannot see inside the VM. You can see inside mk0r's VM because the startup script is in the repo.

/opt/startup.sh (abridged)

Try the 15-second path

Open mk0r.com in a new tab, type what you want to build, and watch the TTFT timer from the other side.

Open mk0r

When Emergent is the better fit

This page is not an attack on Emergent. Some users will prefer Emergent, and the honest answer is when.

You want a hosted, monetizable surface

Emergent leans hard into a managed deployment story: accounts, payments, a surface where your app lives under the Emergent brand. If that is what you are shopping for, that is the product.

You want multi-agent planning

Emergent pipelines explicit Planning, Frontend, Backend, Testing, and Deployment agents. mk0r runs a single Claude agent inside a VM with real tools.

You want it now, with no account

If you are still reading, this is probably why you are here. mk0r is the one with the anonymous sign-in and the 15-second TTFT.

You want to own the code

Quick mode outputs HTML/CSS/JS you copy. VM mode hands you a full Vite + React + TypeScript project you can export and self-host.

What you can actually verify without an account

Every claim on this page maps to a file in a public repo or a live request you can make from your browser:

  • src/app/api/chat/route.ts line 347: the 15,000 ms TTFT constant.
  • src/core/e2b.ts line 7 and line 33: pre-baked template comment and the 1-hour idle timeout.
  • src/components/auth-provider.tsx line 68: the signInAnonymously call on first load.
  • src/app/api/chat/model/route.ts line 5: FREE_MODEL = "haiku".
  • docker/e2b/e2b.toml lines 12 to 17: template ID 2yi5lxazr1abcs2ew6h8, 4 vCPU, 4,096 MB RAM.
  • docker/e2b/files/opt/startup.sh lines 25 to 45: Chromium on CDP port 9222 and Playwright MCP wired to it.

Frequently asked questions

Is mk0r the same as Emergent?

No. mk0r and Emergent are separate products. Both use AI agents to build web apps, but they take opposite stances on friction. Emergent requires account creation and plan selection before you see a first render. mk0r signs you in anonymously via Firebase the moment the page loads and starts streaming code immediately.

How fast does mk0r actually start building?

The chat route enforces a 15-second ceiling on time-to-first-token. If the agent has not emitted its first token within 15,000 ms, the session is evicted and a new one is claimed from the pre-warmed pool. The underlying E2B template is pre-baked and boots in roughly 2.5 seconds, so most sessions start streaming well under the ceiling.

What runs inside the sandbox?

A 4 vCPU, 4 GB RAM E2B VM (template ID 2yi5lxazr1abcs2ew6h8) with Vite, React, TypeScript, Chromium, and Playwright MCP pre-installed. Chromium is launched with remote debugging on port 9222, and Playwright MCP is wired to that CDP endpoint so the agent can click, type, and screenshot the running app in a real browser.

Do I need to sign up to use mk0r?

No. The auth provider calls signInAnonymously on first visit, and the chat API accepts anonymous tokens. You only attach a real account if you want to persist apps to a specific owner or connect a paid Claude Code subscription. Everything in the default flow works with zero credentials.

Can I see the code my app is made of?

Yes. mk0r has two modes. Quick mode streams complete HTML, CSS, and JavaScript into the preview using Claude Haiku; you can copy or publish the output directly. VM mode drops you into a full Vite + React + TypeScript project inside the sandbox, and the agent edits real files you can inspect, run, and export.

How is this different from other Emergent alternatives?

Most alternatives match Emergent's flow beat for beat: account, plan, then build. mk0r's differentiation is structural. There is no signup wall, the default model is Haiku (set in src/app/api/chat/model/route.ts), the TTFT is bounded by a server-side watchdog, and the VM is pre-baked rather than cold-built per session.

What happens if the 15-second watchdog fires?

The session is marked as TTFT-timeout, logged to PostHog with event chat_ttft_timeout, and evicted. The UI transparently claims a fresh sandbox from the pool and retries. You usually notice only a brief pause, not an error screen, because the pool has warm VMs waiting.

No account, no plan picker, no onboarding. Type the app you want and watch the TTFT timer from the other side.

Open mk0r