v2.4 — Bubble adapter, rebuilt

Export, cleanly.

Then stop thinking about it.

We convert no-code apps into the TypeScript monorepo your engineers would have written. Bubble, Framer, WordPress — out, in 6 to 14 days, with full source ownership.

6–14
days, end-to-end
100%
source ownership
41
shipped exports
Supported platforms
.bubbleFramerWordPressWebflowSoftr· soon
01 — Workflows

Workflows become typed modules.

Every Bubble workflow is rewritten as a TypeScript function. Conditionals become real branches. Loops become real loops. The output is something an engineer can read, test, and extend.

repo/src/workflows/checkout.tsGENERATED
export async function checkout(input: CheckoutInput) {
  const cart = await loadCart(input.userId);
  if (cart.items.length === 0) {
    throw new EmptyCartError();
  }
  return stripe.charges.create({
    amount: total(cart),
    currency: "usd",
  });
}
02 — Data

Data types become a real schema.

Your Bubble data types map onto a Postgres schema with foreign keys, indexes, and migrations. We hand you a Prisma client and the SQL we ran to get there.

repo/prisma/schema.prismaGENERATED
model Order {
  id        String   @id @default(cuid())
  userId    String
  items     Item[]
  total     Decimal
  createdAt DateTime @default(now())

  user User @relation(fields: [userId], references: [id])
  @@index([userId, createdAt])
}
03 — Tests

A test suite, generated against the original.

We replay your production workflows against the new code and assert byte-equivalent outputs. The test file ships with the repo. You can run it on every commit.

repo/tests/checkout.spec.tsGENERATED
describe("checkout", () => {
  it("matches Bubble for the empty cart case", async () => {
    await expect(checkout({ userId: "u_empty" }))
      .rejects.toThrow(EmptyCartError);
  });
  it("charges Stripe for a 3-item cart", async () => {
    const out = await checkout({ userId: "u_3items" });
    expect(out.amount).toBe(8400);
  });
});
The estimator

Point us at your app. Get a real number back.

We inspect the workspace, count workflows and data types, then quote a price and a date. No call required. Most exports come back in under 9 days.

1
Connect
2
Inspect
3
Estimate
Platform
Workspace URL

“We'd been on Bubble for two years. KodExport handed us a TypeScript repo on a Tuesday. We shipped from it on Friday.”

RT
Renata Tao
Founder, Loomline · 1,400 workflows exported
Pricing

One number. Paid once. Yours forever.

No per-seat, no per-workflow, no maintenance subscription. The repo is yours; we just made it.

Single export
$4,000+

One project, one repo, full source. Priced by workflow count.

Up to 100 workflows
TypeScript monorepo
Postgres schema + migrations
Generated test suite
30 days of fixes
Studio
POPULAR
$2,000/mo

For agencies. Run as many exports as you can sell. We handle the back-end.

Unlimited exports
White-label deliverables
Slack-shared review
Priority queue
Quarterly model updates
Embedded
Custom

On-prem or VPC. For teams with code-leaving-the-building concerns.

Self-hosted runners
SSO + audit log
Signed SBOMs
Named export engineer
MSA + DPA on file