Turn my app into a business
Point your agent at the app you already built and get a Startup around it, with an Offer, a Site, terms, Roles and a claim link for Stripe.
For developers
Give your agent the app's address. Startup.import reads it into a new Startup, and Startup.build builds the business around it while the app keeps running where it runs.
For developers
What you get
- 1business wrapped around your app, in testStartup
- 1product that points at your app, which keeps running where it runsProduct
- 1name, logo, colors and voice, read from the appBrand
- 1Offer drafted from the price on your app, a draft until you publish itOffer
- 1site with pricing, sign-up, terms and privacySite
- 10Teams, from Product to LegalTeam
- 38Roles, an agent named in eachRole
- 67Systems: billing, ledger, CRM, support and the restSystem
- 1claim link: connect Stripe and own the businessStripe's connected Account
Nothing moves. The app keeps its code, its host and its sign-in, and the Product points at it. What the business adds sits beside it: checkout, invoices, terms, books, support and an agent in every Role.
Your agent does
Turn my app into a business.
I already built the app. Make it a real business.
Put a company around leaseline.app so it can sell.
# 1. Startup.import
STARTUP= $(curl -X POST https: //api.sb/ leaseline.app/ startups/ import \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"source": "https: //leaseline.app", "template": "solo-saas"}' | jq -r '.startup["$id"] | split("/ ") | last')
# 2. Startup.build
curl -X POST https: //api.sb/ leaseline.app/ startups/ $STARTUP/ build \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
import { $ } from 'startup-builder'
const startup = await $.Startup.import({ source: 'https: //leaseline.app', template: 'solo-saas' })
await $.Startup.build({ startup: startup.$id })
STARTUP= $(npx startup-builder do Startup.import --json '{"source": "https: //leaseline.app", "template": "solo-saas"}' | jq -r '.startup["$id"] | split("/ ") | last')
npx startup-builder do Startup.build --json '{"startup": "'"$STARTUP"'"}'
{
"name": "do",
"arguments": {
"code": "const startup = await $.Startup.import({ source: 'https: //leaseline.app', template: 'solo-saas' })\nreturn await $.Startup.build({ startup: startup.$id })"
}
}
The agent reads the app's pages, prices and copy, then maps them onto the closest Startup Template. It asks one question when the app shows no price.
Change it
- Charge $49 a month instead.
- Call it Renewly.
- Connect leaseline.com.
- Hire an agent to answer my customers.
Under the hood
- Systems
- Sites, Billing, Ledger, CRM, Support
- Nouns
- Startup, Product, Brand, Offer, Site
- Events
Startup.imported,Startup.built- Stripe objects
Account
Import reads the app and never writes to it. Every imported fact keeps its source, so a price read from the app's pricing page says so until you change it.