aiplang
aiplang
AI-first web language. One .aip file = complete app.
$ npx aiplang init my-appaiplang vs. the rest
Build the same app with fewer tokens, fewer files, fewer errors.
| Metric | aiplang | Next.js + Prisma |
|---|---|---|
| Tokens (avg) | ~620 | ~8,200 |
| Files | 1 | 12-20+ |
| Error rate | ~2% | ~15% |
| Config needed | None | 5+ config files |
| Learning curve | Minutes | Weeks |
Everything built-in
No packages to install. No boilerplate. Just describe what you want.
Full-stack ORM
Define models with types, validations, and relations. Auto-generates database, migrations, and REST API.
Auth & JWT
Built-in authentication with JWT tokens, role-based guards, and session management via ~auth directive.
Stripe Payments
Accept payments with a single ~stripe directive. Subscriptions, one-time charges, webhooks included.
WebSockets
Real-time features with the socket block. Rooms, events, and broadcasting out of the box.
feature.storage
feature.storage_desc
feature.admin
feature.admin_desc
Quick start
A complete todo app in one file.
# saas.aip ~db postgres ~auth jwt ~stripe sk_live_xxx ~s3 bucket:uploads model User id uuid pk email email unique name text plan enum:free,pro,enterprise model Project id uuid pk title text required owner ref:User created datetime auto model Invoice id uuid pk user ref:User amount float status enum:pending,paid created datetime auto api Project ~guard auth GET /projects => list POST /projects => create DELETE /projects/:id => delete api Invoice ~guard auth GET /invoices => list socket /notifications ~guard auth on "update" => broadcast page "/dashboard" ~guard auth nav "MySaaS" links:"Projects,Billing,Settings" hero "Welcome back" sub:"Manage your projects" sect "Your Projects" table Project -> title, created form Project -> title btn "New Project" action:create sect "Billing" list Invoice -> amount, status, created foot "MySaaS v1"
Why LLMs love it
Fewer tokens
A full app in ~620 tokens vs 15,000+. LLMs generate faster and cheaper.
Lower error rate
~2% error rate vs ~28%. One unified syntax means fewer mistakes.
Zero config
No package.json, tsconfig, or build config. Just one .aip file.