wervt
New: deploys from GitHub Actions

Tell your agent what to build. wervt ships it.

A self-hosted platform for small Nuxt apps. Each one gets a URL, its own Postgres, live data, sign-in and logs, and runs in an isolate that costs nothing while it's idle.

Get started
The wervt dashboard: an app's deployments with commit, branch and author

01 / From prompt to production

One sentence in, one URL out.

With the wervt skill installed, your agent scaffolds the app, writes the schema, the API and the pages, deploys it and reads the logs until it's clean. You get a link. Apps start private, so only you can open it until you say otherwise.

✓ no Dockerfile✓ no database to set up✓ no auth code

~/code

❯ claude "build a habit tracker and ship it on wervt"

◇ wervt whoamiadmin

◇ pnpm create wervt habitsNuxt 5 · Drizzle · valibot

◇ server/db/schema.tshabits, checkins

◇ pnpm db:generatedrizzle/0000_init

◇ pnpm exec vp check0 problems

◇ wervt deployextract · migrate · activate

◇ wervt logs habits 'level:error'no entries

✓https://habits.wervt.app · private, you're allowed

02 / The platform

Everything a small app needs. Nothing it doesn't.

The parts every small app ends up rebuilding, done once, on your server. Apps stay plain Nuxt, so nothing locks them in.

01

Isolates, not containers

Every app runs in its own V8 isolate on Supabase Edge Runtime. It starts on the first request and stops when idle, so a hundred apps cost what one does.

02

Postgres per app

Its own role and schema, Drizzle ORM v1, migrations on deploy. An app can only ever see its own data.

03

Live by default

useShape() renders rows on the server and keeps them live with Electric. Write through an API route, every open tab updates.

04

Sign-in built in

Apps are private until you open them. wervt signs people in and tells the app who they are, with no auth code in the app.

05

Logs as wide events

One event per request with evlog, plus boots, crashes and limits from the runtime. 14 days, searchable with LogsQL, from the CLI too.

06

Deploys with history

From your machine or GitHub Actions with a per-app token. Every release records its commit; roll back in one click.

03 / Just Nuxt

Plain Nuxt, one module.

Apps are regular Nuxt 5 apps with @wervt/nuxt. Server routes from nuxt/server, validation with valibot, Drizzle for queries and useShape() for live data. Nothing to learn that your agent doesn't already know.

  • Migrations on deploy, run as the app's own role.
  • Live without WebSockets in your code: write rows, shapes sync them.
  • The signed-in user on every request, from wervt.
server/api/habits.post.ts
import { useDb, useValidatedBody, useWervtUser } from '@wervt/nuxt/server'
import { defineEventHandler } from 'nuxt/server'
import * as v from 'valibot'
import { habits } from '../db/schema'

export default defineEventHandler(async (event) => {
  const user = useWervtUser(event)!
  const { name } = await useValidatedBody(event, {
    name: v.pipe(v.string(), v.trim(), v.nonEmpty()),
  })
  const [habit] = await useDb()
    .insert(habits)
    .values({ name, owner: user.email })
    .returning()
  return habit
})

04 / The dashboard

See what your agents shipped.

Every app, its releases and commits, its logs, its data. Browse tables and run read-only SQL, set access and secrets, roll back. Or do all of it from the CLI.

The database browser with a read-only SQL query and its results
Database: tables and read-only SQL, as the app's own role
The apps overview of the wervt dashboard
Apps: every app, its release and its URL

05 / Under the hood

One compose file. No container per app.

wervt is a handful of services next to your others. The runtime routes <app>.your.domain to the app's isolate, starting it when needed.

Edge

*.your.domain
TLS proxy

Runtime

main worker: routing, sign-in, assets
habits
bingo
planner
control plane: deploys, migrations

Data

Postgres, a schema per app
Electric, live shapes
VictoriaLogs, 14 days

06 / Made for agents

Your agent knows wervt before it writes a line.

The wervt skill

From an empty folder to a URL: scaffold, build, deploy, check the logs.

npx @wervt/cli skill install

AGENTS.md in every app

The APIs to use, the rules of the isolate, and how to debug.

pnpm create wervt my-app

Production logs

With a read-only token, agents debug from evidence, not guesses.

wervt logs my-app 'level:error'

Docs for machines

An MCP server, llms.txt and llms-full.txt next to these docs.

https://wervt.app/mcp

Your server. Your agent's apps.

Run the stack, install the skill, and ask for the app you've been meaning to build.

Copyright © 2026