Begin deploys Function Web Apps (FWA) which are dynamic web applications composed entirely of pure functions. Enhance on Begin gives you the ability to build a frontend completely in basic HTML, and browser native custom elements, and the backend completely in pure cloud functions. No messy build steps. No servers to scale or maintain.


Install the Begin CLI by opening your terminal and entering the following command:

  • Mac, Linux: curl -sS | sh
    • Then follow the printed instructions to add Begin to your $PATH.
  • Windows: iwr -useb | iex

Generate a new project

npx "@enhance/cli@latest" new my-enhance-project

Preview in your browser

cd my-enhance-project
npx enhance dev

Add a new HTML page

npx enhance generate page --path hello/world

Creates app/pages/hello/world.html

Add a dynamic page

npx enhance generate page --path boom --type js

Creates app/pages/boom.mjs

Back that page with an API route

npx enhance generate api --path boom

Creates app/api/boom.mjs

Generate CRUDL routes

Create a real HTML form for CRUDL (create, read, update, destroy, and list) backed by DynamoDB.

npx enhance generate scaffold Cat name:string birthday:date email:email



The new version of Begin is under active development and not yet generally available. Account registration and deploy features will not work. In the meantime, you can still use the begin CLI, dev Sandbox, and generators.

Sign up for early access at

begin deploy

Community Resources

Visit Enhance on GitHub.
Join our Discord server to chat about development and get help from the community.
Follow Enhance in the Fediverse. We're huge fans of the IndieWeb!