This is the V1 of my original product named adorable(v0)
AI-powered app builder: describe your idea in natural language, get a full-stack app generated and run in a sandbox, then deploy to the web.
Work in prpgress- Adding Database support for created apps, updating soon.
- Natural language to app — Describe what you want; a LangGraph-based agent generates the project (files and structure).
- Live preview — Generated apps run in isolated E2B sandboxes with a live preview URL.
- Code playground — Edit code in-browser with Monaco, chat to refine the app, and see changes in real time.
- One-click deploy — Deploy any project to Cloudflare Pages from the UI.
- Auth & projects — Sign up / sign in, persistent projects, and version history.
| Layer | Technologies |
|---|---|
| Monorepo | Turborepo, pnpm workspaces |
| Frontend | Next.js 16, React 19, Tailwind CSS, shadcn/ui, Monaco Editor, Three.js / React Three Fiber |
| Backend | Express, Prisma, PostgreSQL |
| AI | LangChain + LangGraph, OpenRouter (e.g. OpenAI models) |
| Runtime | E2B Code Interpreter (sandboxed execution & preview) |
| Deploy | Cloudflare Pages (via Wrangler in E2B) |
Adorable/
├── apps/
│ ├── web/ # Next.js app (landing, auth, playground, deploy)
│ └── backend/ # Express API (auth, projects, chat, deploy)
├── packages/
│ ├── database/ # Prisma schema, client, migrations
│ ├── config-eslint/
│ └── config-typescript/
├── docker-compose.yml
├── turbo.json
└── pnpm-workspace.yaml
Note: docker-compose.yml starts PostgreSQL 16 on port 5432 (user/password/db: adorable). Point DATABASE_URL at it for local dev, or use any other Postgres instance.
- Node.js ≥ 18 (recommended: 20)
- pnpm 10.x (
npm i -g pnpm) - PostgreSQL (see
docker-compose.ymlor your own instance) - API keys: OpenRouter, E2B, and optionally Cloudflare (for deploy)
git clone <your-repo-url>
cd Adorable
pnpm installCreate .env in the relevant apps/packages. Example for backend and database:
# Database (PostgreSQL recommended)
DATABASE_URL="postgresql://user:password@localhost:5432/adorable"
# AI (required for project generation and chat)
OPENROUTER_API_KEY="sk-or-..."
# Sandbox & preview (required for running generated apps)
E2B_API_KEY="e2b_..."
# Optional: deploy to Cloudflare Pages
CLOUDFLARE_ACCOUNT_ID=""
CLOUDFLARE_API_TOKEN=""
# Frontend URL(s) for CORS — comma-separated if you need more than one origin
FRONTEND_URL="http://localhost:3000,http://127.0.0.1:3000"For the Next.js app (apps/web):
NEXT_PUBLIC_BACKEND_URL="http://localhost:3001"pnpm run generate
pnpm run db:migrate:dev
pnpm run db:seed # optionalpnpm run dev- Web: http://localhost:3000
- Backend API: http://localhost:3001
| Command | Description |
|---|---|
pnpm run dev |
Start all apps in development |
pnpm run build |
Build all apps and packages |
pnpm run lint |
Lint the monorepo |
pnpm run format |
Format with Prettier |
pnpm run db:migrate:dev |
Run Prisma migrations (dev) |
pnpm run db:migrate:deploy |
Run Prisma migrations (production) |
pnpm run db:push |
Push schema without migrations |
pnpm run db:seed |
Seed the database |
pnpm run generate |
Generate Prisma client and turbo deps |
GitHub Actions runs on pull requests to main: installs dependencies with pnpm, runs pnpm run lint, then pnpm run build (see .github/workflows/ci.yaml).
MIT