Base44 AI app builder vs mk0r: 25 messages a month, or no counter at all?
Base44 is the AI app builder Wix acquired for $80M in mid-2025. The product is good. The pricing model is also the product: every chat message costs a credit, the free tier ships with 25 of those credits a month, and the iteration loop happens with one eye on the counter. mk0r takes the opposite stance. There is no signup, and there is no counter.
Base44 is an AI app builder, acquired by Wix for $80M in mid-2025, that turns a chat prompt into a hosted full-stack web app. The free plan gives you 25 message credits per month and 100 integration credits per month behind an account signup. mk0r is a no-signup alternative: anonymous Firebase sign-in fires on first visit and the free Claude Haiku model has no per-message counter.
Verified against base44.com/pricing and docs.base44.com.
The thesis: metered iteration is a different product than unmetered iteration
Read any Base44 review and you get the same five things. It was acquired by Wix for $80M. It hit roughly 250,000 users within months of launch. It builds CRUD-shaped apps with auth and a database baked in. It runs on a credit-based pricing ladder. There are alternatives called Bolt and Lovable and Replit and v0. Those reviews are accurate. They are also interchangeable.
The thing none of them sit with is the felt experience of the iteration loop. When every chat message decrements a monthly counter, your behavior changes. You compose longer prompts so you do not waste a credit on a clarification. You stop trying experimental ideas. You think twice before asking the AI to undo something. You start budgeting. The loop is still productive. It is not the same loop you have when the counter is gone.
That is the gap this page is built around. Not the price. The pricing ladder is fine, and the math has been written up by every other Base44 article on the internet. The gap is what disappears from your attention when there is nothing to track.
The Base44 ladder, with the actual numbers
Every Base44 plan is a different size of the same shape: a monthly cap on the number of times you are allowed to chat with the AI. Verified May 1, 2026 against base44.com/pricing.
The same shape repeats: pay more, get more chat allowance. Useful when you know your monthly volume. Strange when you are still figuring out whether the tool fits your problem.
What the loop actually feels like, on each tool
Walk both flows from the moment you decide to try the tool to the moment you have a working app in front of you.
Base44: prompt → metered iteration
- 1
Sign up
Email + password, then plan picker.
- 2
Use a credit
Each chat message decrements the 25/mo counter.
- 3
Edit, costs another credit
Bug fix, restyle, new field — each is one message.
- 4
Hit the ceiling
Around message 25 you upgrade or wait for the reset.
mk0r: prompt → unmetered iteration
- 1
Open mk0r.com
Anonymous Firebase sign-in fires on page load.
- 2
Type the prompt
Chat route accepts the anon token; sandbox claims a warm VM.
- 3
Iterate freely
No counter to deplete; Haiku streams the next change.
- 4
Export or attach an account
Keep the source, or sign in with Google to sync.
Same surface, different posture. Base44 is built around owning the runtime and amortizing it across paying accounts. mk0r is built around removing every step between “I have an idea” and “a real app is rendering.”
Iterating with a credit counter, then without
You compose long prompts so you don't waste a credit on a typo. You triple-check the spec in your head before sending. You skip the experimental version of an idea because it might cost a credit and not work. You eyeball the remaining-credits chip in the corner of the UI between every send. By message 22, you start saving the rest for emergencies.
- Every prompt is a budgeted decision
- Experiments feel expensive
- The counter sits in your peripheral vision
The anchor fact: where the no-counter claim comes from
Anyone can say “no signup, no metering.” Here is where to grep that claim in the public mk0r repo at github.com/m13v/appmaker.
- Anonymous sign-in fires on first paint:
src/components/auth-provider.tsxline 68 callssignInAnonymously(auth)inside the AuthProvider's effect. The chat API accepts the resulting Firebase token whosesign_in_providerequals"anonymous". - The free model is hardcoded:
src/app/api/chat/model/route.tsline 5 declaresconst FREE_MODEL = "haiku". There is no entitlement check that says “refuse this anonymous user past N messages.” - The 15-second time-to-first-token watchdog is also a constant:
src/app/api/chat/route.tsline 421 setsconst ttftMs = 15_000. If the agent does not emit a notification in 15 seconds the session is evicted and the next request claims a fresh sandbox from the warm pool. - The sandbox runs from a pre-baked E2B template:
docker/e2b/e2b.tomlpinstemplate_id = "2yi5lxazr1abcs2ew6h8", 4 vCPU, 4,096 MB RAM. Boot is roughly 2.5 seconds when the warm pool is empty.
You will not find equivalent grep-able numbers in a Base44 review. The Wix-hosted runtime is opaque to you on purpose; that opacity is part of the managed-platform promise.
“There is no entitlement check that says 'refuse this anonymous user past N messages.' The route just streams.”
src/app/api/chat/route.ts
The mk0r loop in five steps
Concretely, here is what happens between your first keystroke and a running app, with the file names you can open on GitHub to verify.
Anonymous sign-in
src/components/auth-provider.tsx mounts on first paint and calls signInAnonymously(auth) inside its useEffect. Firebase issues an anonymous token; onAuthStateChanged fires again with the new user. No modal. No email field. No redirect to a plan picker.
A warm sandbox is claimed
src/core/e2b.ts holds a Firestore-backed pool of pre-booted sandboxes built from template id 2yi5lxazr1abcs2ew6h8 (mk0r-app-builder), 4 vCPU, 4096 MB RAM. The pool keeps a small reserve of warmed VMs so most claims skip cold boot. Fresh boot from the pre-baked template runs in roughly 2.5 seconds.
Claude Haiku starts streaming
FREE_MODEL = "haiku" is hardcoded at src/app/api/chat/model/route.ts line 5. The chat route streams tokens into the preview as they arrive. There is no message counter, no daily ceiling, no remaining-credit chip in the UI to glance at.
A 15-second watchdog runs alongside
src/app/api/chat/route.ts line 421 declares ttftMs = 15_000. If the agent does not emit a single notification in 15 seconds, the session is evicted and the next request claims a fresh VM from the pool. You usually notice only a brief pause, not an error screen.
You keep iterating
Each follow-up prompt hits the same session. The agent patches the existing app rather than starting over. There is no message-credit charge per follow-up, so the cost of a bad first draft is one prompt of yours, not a credit you regret spending.
Side by side, on the parts that change behavior
| Feature | Base44 | mk0r |
|---|---|---|
| Account required to start building | Yes, email signup | No, anonymous Firebase sign-in |
| Free tier message limit | 25 / month, then paid | No per-message counter |
| Cheapest paid plan | $16 / month (Starter, 100 credits) | Free Haiku, no metering |
| Top paid plan ceiling | $160 / month (1,200 credits) | Bring your own Claude Code subscription |
| What runs the app | Wix-hosted runtime | E2B sandbox, 4 vCPU, 4096 MB |
| Code ownership | Editable inside Base44; readable if you fork | Plain HTML/CSS/JS or full Vite + React + TS project |
| Time-to-first-token ceiling | Not published | 15s hard watchdog (src/app/api/chat/route.ts:421) |
| Default model on free tier | Undisclosed | Claude Haiku (src/app/api/chat/model/route.ts:5) |
None of this is a knock on Base44. The Wix acquisition shipped real polish: stable deploys, a responsive editor, readable generated code if you fork. The point of this page is the iteration posture, not the platform quality.
Want to feel the difference on a real prompt?
Fifteen minutes. Bring an app idea you'd otherwise spend Base44 credits on. We open mk0r in a browser, watch the sandbox boot, and end the call with a working project you can take with you.
When Base44 is the better fit
This page is not an attack on Base44. There are real cases where it is the right tool, and pretending otherwise is dishonest.
- You want a managed platform end-to-end. Auth, database, deploy, custom domain, all bundled. If you do not want to think about hosting at all, the Wix-backed managed runtime is the right answer. mk0r hands you source code and expects you to host it.
- Your app is a CRUD app for internal use. Base44 is fast at the form-and-table-shaped builds because the platform has primitives for them. mk0r writes those from scratch in React, which is more flexible but slower for the canonical CRUD shape.
- You want predictable monthly cost.A $40 plan with 250 credits is a budget you can plan around. mk0r's free tier is unmetered Haiku, and if you want Sonnet you bring your own Claude Code subscription. That is more flexible but less neat.
- You like the chat-only edit surface. Base44 hides the code by default. If you do not want to read or own the source, that is a feature, not a limitation, and mk0r's VM mode is the wrong surface for you.
When mk0r is the better fit
The mirror image of the list above. If any of these describe you, opening mk0r.com in a new tab is probably a shorter path than reading the rest of this page.
- You want to try an idea right now without making another account. mk0r's anonymous sign-in is the whole pitch.
- You want to iterate without a credit counter in the corner of your eye. Half-formed prompts and undo requests are cheap when nothing is metering them.
- You want to read and own the code. Quick mode emits plain HTML/CSS/JS you can copy. VM mode hands you a full Vite + React + TypeScript project running inside a sandbox you can poke at on port 5173.
- You want to send a friend a link, not a referral code and a signup wall. The mk0r URL is the entire onboarding.
Frequently asked questions
What is Base44, in one paragraph?
Base44 is an AI app builder that turns a natural-language prompt into a full-stack web app with auth, database, and deployment baked into the platform's runtime. It launched in late 2024, hit profitability and around 250,000 users by mid-2025, and was acquired by Wix for $80M shortly after. The free plan gives you 25 message credits per month and 100 integration credits per month, with paid tiers at $16, $40, $80, and $160 per month billed annually.
Why does the free Base44 plan only allow 25 messages a month?
Every chat with the AI consumes one message credit. Generating a page, fixing a bug, rewriting a section, or adding a new feature each cost one credit. The 25-credit ceiling is a soft funnel toward the $16 Starter plan, which raises the cap to 100 credits a month. Iteration on a non-trivial app burns through 25 credits in one sitting; that is by design, not a complaint.
How is mk0r different in one sentence?
mk0r signs you in anonymously through Firebase the moment the page loads, so there is no signup wall, and the free model is Claude Haiku with no per-message counter to track. You can keep iterating without thinking about credits.
Do I need an account to use mk0r?
No. The auth provider in src/components/auth-provider.tsx calls signInAnonymously(auth) on first load and the chat API accepts the anonymous Firebase token. You only attach a real account if you want apps to persist to a specific owner across devices, or if you connect your own paid Claude Code subscription. The default flow needs zero credentials.
What is the catch with mk0r's free tier?
The honest catch is that mk0r runs Claude Haiku as the free model (FREE_MODEL = "haiku" at src/app/api/chat/model/route.ts line 5). Haiku is fast and cheap and good at single-screen apps, but for a hairy multi-screen build you will sometimes want Sonnet, which is gated behind sign-in plus a paid subscription. Base44's paid tiers do not gate the model in the same way, so if you want top-tier model quality on every prompt without thinking about it, paid Base44 is a more uniform experience.
Can mk0r build the same kinds of apps as Base44?
Roughly the same shape, with a different runtime. mk0r outputs either streamed HTML/CSS/JS in Quick mode or a full Vite + React + TypeScript project running inside an E2B sandbox in VM mode. Base44 generates a hosted full-stack app inside Wix's runtime with their managed auth and database. mk0r is the right call if you want to read and own the source code; Base44 is the right call if you want managed hosting, managed users, and managed deploys without setting up infrastructure.
Is the Wix acquisition relevant if I am just trying to ship a prototype?
Indirectly. The Wix acquisition shipped polish: stable deploys, a responsive editor, readable generated code if you fork it. It also pulled Base44 into Wix's pricing and account ecosystem, which is part of why the funnel-shaped credit caps feel native to the product. If your bias is toward owning the source and skipping the platform, Wix's involvement is a sign Base44 is increasingly a managed-platform play.
How fast does mk0r start, compared to logging in to Base44?
mk0r's chat route enforces a hard 15-second time-to-first-token watchdog (ttftMs = 15_000 at src/app/api/chat/route.ts line 421). The E2B sandbox is pre-baked from template id 2yi5lxazr1abcs2ew6h8 and boots in roughly 2.5 seconds; most sessions stream their first token well under the ceiling. Base44 publishes no equivalent number; the floor is whatever your signup, email verification, and plan-picker steps add up to.
If I already have a Base44 account, is there a reason to try mk0r?
If you are happy with Base44's runtime and your message budget, probably not. The interesting cases are: prototyping a quick idea you do not want to spend a credit on, generating something you can read and host yourself, or showing a non-technical friend an AI app builder without setting them up with an account first. The no-signup angle compresses 'I want to show you something' into one URL.
No account, no plan picker, no message counter. Type the app you want and let the sandbox boot.
Open mk0r