Modulify

What Modulify does not have

Things people reasonably expect to find, that are not there, and what to do instead.

On this page

Modulify works differently from a traditional website builder in a few places, and the differences are deliberate. This page lists the ones people look for most often, so you stop hunting.

At a glance

You are looking for It does not exist Do this instead
A Forms feature There is no forms builder or submissions inbox Ask chat for the form, and have it store submissions in your database or storage and email them to you
An SEO tab There is no SEO tab Attach the SEO skill to the project
An image library There is no shared media library Attach images to chat, or upload to the project's Storage
A new chat or a chat switcher There is one conversation per project Keep talking in the same chat
Naming a code backup, or a diff Code snapshots are automatic and unnamed Read the backup list and restore
Taking a code backup by hand Code is snapshotted for you as the site changes Use Export .zip in the File Explorer tab's Settings for a copy of the code
Restoring a database backup Database backups are download only Download the backup and add the rows you need again
Downloading a backup through chat, MCP or the API Chat, MCP and the HTTP API browse and restore a storage backup, but never download one, and never browse or restore a database backup Use Download on the row in the Backups tab
Delete all in a backups list The list only deletes one row at a time Use Delete all storage backups in Storage configuration or Delete all database backups in CMS settings
A deploy hook that takes options A hook is a plain GET with no branch, body, auth header or queue Send a plain GET, and call again once a running build has finished
Submitting a site to Templates You cannot list your own site Share or clone the project directly
A trash for deleted projects Deleting a project is permanent, with no trash or undo Archive a project you might need again instead of deleting it

There is no Forms feature

There is no form builder, no field designer and no submissions inbox anywhere in the product.

Forms are just part of the site the AI builds for you. Ask for one in chat and describe where the data should go, and who should hear about it. Every project can have a real database, its own file storage and its own outgoing email, and those are where a submission belongs.

  • The CMS is where you read and edit the rows afterwards.
  • Storage holds uploaded files.
  • Emails sends you the submission as it arrives, and confirms it to whoever filled the form in.
  • Webhooks push events out to another service.

There is no SEO tab

SEO is not a panel you fill in. It is a Skill: a named set of instructions you attach to a project, which the AI then follows on every message.

Attach the SEO skill and the metadata, structured data and crawl files are written as part of normal building. See SEO and AI search.

There is no image library

Modulify has no shared media library or asset manager for site projects. There is nowhere to browse images you used earlier and drop one into a page.

Two things replace it. Attach the image to chat and say where it goes, which handles almost every case. Or put the file in the project's Storage as a public file, which gives it a permanent CDN link the site can use. A private file has no link, see Public and private files.

There is no new chat button

Chat is one continuous conversation per project. There is no chat switcher, no chat history list and no way to start a second thread on the same site.

That is the point: context you have already given carries forward, so you do not re-explain your site every time. When the conversation grows too long, Modulify compacts the older part in place and marks where it happened, rather than making you start over.

If you want a genuinely clean slate, delete the transcript from Danger zone in the Settings tab. That wipes the conversation for everyone in the project and leaves the site untouched. See Site chat.

You cannot name a code backup, and there is no diff

Code backups are taken automatically. You cannot create one by hand, you cannot give one a name, and there is no side by side view of what changed between two of them.

Each entry reads v12 by Sam with a badge, a timestamp and the first characters of its commit. The only action on a code backup is Restore.

If you want a marker you can find later, say what you are about to do in chat. The message before the snapshot is your label. See Backups.

There is no manual code backup button

The Backups tab holds three tabs, Code, Storage and Database, and they do not work the same way. Everything under Code was recorded for you as the site changed. There is no button that snapshots your code on demand and no upload of one from elsewhere.

Storage and Database are the exceptions. On a paid plan the files in your Storage bucket are archived once a day, unless daily backups are turned off for the site, Backup at the end of the tab strip archives them on demand up to 10 times a site in twenty four hours, and each archive can be browsed, restored in whole or in part, downloaded as a .zip or deleted. Database works the same way for the site database of a site on the newer database, with its own 10 manual backups a site in twenty four hours and its own daily switch, except that a database backup can only be downloaded or deleted. See Backups.

Chat, MCP and the API cannot download a backup

A backup is downloaded only from its row in the Storage or Database tab of Backups, with Download for the whole archive and Download file inside Browse files for one file out of a storage backup. Chat, a connected MCP client and the HTTP API never download either and never hand you a link to one. read_storage_backup_file reads a text file out of a storage backup into the conversation, which is not a download, and none of them is allowed to build you a download or export link for your site's contents.

Everything else about a storage backup is open to them. They list, take and delete backups, browse an archive folder by folder, read a text file out of it up to 32 KB, and restore it whole or in part, always in two steps: the plan first, which changes nothing, then the restore once you have said yes. A restore they start needs the same paid plan and Delete projects permission as the button, and the Restore on the Code tab still puts back source files only, never storage. See Backups from chat and MCP.

When a restore is not open to you, because the workspace is on the free plan or you do not have the permission, get lost storage files back by hand: download single files from Browse files or the whole archive, and upload the files you need again in the Storage panel. A backup taken in an older format cannot be browsed or restored by anyone, so download the whole archive instead. See Get files back from a storage backup.

There is no restore for database backups

A database backup has no Restore, unlike a storage backup, and it cannot be browsed. Its menu holds Download and Delete, the Restore on the Code tab puts back source files only, never database rows, and chat and a connected MCP client can list, take and delete database backups but never restore or download one.

To get lost rows back, download a backup that still holds them, find the rows in its database.sql file, and add them again from the CMS or by pasting them into chat. See Get data back from a database backup.

A deploy hook takes no options

A deploy hook is one secret URL and a plain GET. There is nothing to configure on the call:

  • No branch or version. A call always publishes the latest saved version of the site, exactly like Publish.
  • No body and no parameters. A query string, a body or a header sent with the call changes nothing.
  • No auth header. The URL itself is the secret. To lock a caller out, rotate the URL or turn the hook off.
  • No POST. Only GET starts a build, and HEAD only checks that the URL exists. A service that can only send POST cannot call a hook directly.
  • No queued second build. A call while a build is running is logged as Already building and starts nothing, even if you saved changes after that build began. Call the hook again once the running build has finished.

You can browse the Templates gallery and clone anything in it into your own workspace. You cannot list your own site there. What appears in the gallery is curated.

To hand a site to somebody else, share or clone the project directly.

Deleting a project is permanent

There is no trash and no undo on the dashboard. Read the confirmation before you accept it. See Delete a project.

To take a project off your lists without losing it, archive it. An archived project keeps its site and its content, still counts toward your plan, and comes back with Unarchive. See Archive projects.

Next