Build apps for your business.
Describe what you want, agents build the rest.
Purchase orders
New order| Order | Vendor | Amount | Status |
|---|---|---|---|
| PO-1046 | Vale Catering | $2,300 | Approved |
| PO-1045 | Bright Logistics | $12,900 | Pending |
| PO-1044 | Nordic Paper | $1,120 | Pending |
| PO-1043 | Lumen Hardware | $640 | Draft |
| PO-1042 | Harbor Supply | $8,400 | Approved |
This week
New ticketStarting this month
Add hireKeep the vibes. Lose the risk.
Vibe coding is great for prototypes and risky for the business. Dreamy fixes what goes wrong.
| Concern | Dreamy | Lovable | Bolt |
|---|---|---|---|
| Testing"It worked when I clicked it" | End-to-end tests must pass in your development environment before anything reaches production. | Preview it and click around. | Preview it and click around. |
| SecurityWho can see what, and where the data lives | Sign-in, roles, and a private database per app. Nothing is visible until a role grants it. | Auth and data live in a backend you connect yourself. | Auth and data live in a backend you connect yourself. |
| Consistent stackEvery app a different stack | One buildpack: Rust API, PostgreSQL, shared admin UI, your branding. | A new codebase per project. | Whatever stack the prompt picks. |
| IntegrationsApps that can't talk to each other | Apps and SaaS connect the same way, so apps talk to each other. | Each app wired up by hand. | Each app wired up by hand. |
| CostPer-seat plans and credits add up | One agent serves the whole team, on your own infrastructure. | Per-seat plans and credits. | Per-seat plans and tokens. |
| Open source, any cloudLocked to one vendor's hosting | Open source. Runs on AWS, GCP, Railway, or your own machine. | Hosted service, their cloud. | Hosted service, their cloud. |
From a sentence to a running app.
End-to-end tests must pass in your development environment before anything reaches production.
A failed test or review goes back to the agent for another round. Production only ever gets a build that passed.
Bring your own coding agent.
Point Dreamy at the agent you already use.
A single Python CLI with no dependencies.
Rotate or revoke it, and the worker stops at once.
Each worker sees only its own projects.
Light for routine changes. Thorough for risky ones.
One agent serves the whole team. No seats, no credits.
Every app arrives finished.
Every app on the same stack: a Rust API, a private PostgreSQL database, and a branded UI. The sign-in page here is the one your team gets.
Nothing is visible until a role grants it.
Apps and SaaS connect the same way.
Two environments, two databases. Only tested builds are promoted.
Dashboards
Ask a question. Get a chart or a saved view.
Usage
Where each request is, and what it cost.
Your domain
Publish a passing release to a hostname you own.
Runs on your cloud.
Open source. Bring your own account and Dreamy deploys there.
Run your own Dreamy.
One server, as many agents as you like. Open source, anywhere Docker runs.
$git clone --recurse-submodules https://github.com/aleontiev/dreamy.git
Run the server
Set two hostnames in .env and start. PostgreSQL, the API, and HTTPS come up together. Install guide.
$ docker compose up -d
Install the CLI
On any machine with your coding agent, with a worker's key from Workspace settings.
$ curl -fsSL https://dreamy.so/install.sh | sh -s -- --api https://your-api --key KEY
Run an agent
It claims requests and ships approved work.
$ dreamy agent --harness claude
What the CLI installer does
Exactly this
- Downloads the
dreamyCLI (a single Python 3 file, standard library only) to~/.local/bin/dreamyand verifies it before installing. - Adds
~/.local/binto your shell's PATH file (.zshrc,.bashrc, fish config, or.profile) once, if it isn't already on PATH. - Never runs as root, never touches system directories, and never prints the worker key.
Install and connect in one step
Open Workspace settings → Workers in your Dreamy instance and create an Agent worker, or rotate an existing worker's key. Dreamy shows the key once, with a setup prompt and an agent command that include it.
$ curl -fsSL https://dreamy.so/install.sh | sh -s -- --api https://your-api --key KEY
With --api, the installer downloads the CLI version served by that instance and runs dreamy connect, which stores the key in ~/.config/dreamy/ (mode 0600). The CLI sends it with every request, so rotating or revoking the key stops the worker at its next request.
Run a coding agent
$ dreamy agent --harness claude --model sonnet
The agent claims queued requests, checks out each workspace, hands it to Claude Code, Codex, or Gemini, runs tests and a verifier agent, and uploads only approved work. Add --once for a single task or --project / --priority to filter.
Work manually
$ dreamy task claim $ dreamy task <id> download ~/dreamy/app $ dreamy task <id> upload ~/dreamy/app $ dreamy task <id> complete --summary "..." --content-file reply.md
Options
--dir DIRorDREAMY_INSTALL_DIR: install somewhere other than~/.local/bin.--source URL: download the CLI from another location; your API also serves it at/agent/tools/dreamyand this script at/agent/install.shfor offline use.- Prefer to read first? View install.sh · View the CLI · Agent setup guide.