aiplang

aiplang

AI-first web language. One .aip file = complete app.

$ npx aiplang init my-app
~620
tokens per app
1
file
~2%
error rate
0
config

aiplang vs. the rest

Build the same app with fewer tokens, fewer files, fewer errors.

MetricaiplangNext.js + Prisma
Tokens (avg)~620~8,200
Files112-20+
Error rate~2%~15%
Config neededNone5+ config files
Learning curveMinutesWeeks

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.

aip
# 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.