Before You Migrate: Reviewing Your App's Features

Before you move an app built in Lovable, Base44, or Claude Code onto Knack, list every feature that sends, stores, or processes data, and decide what to keep, move to Knack, rework, or remove.

What You'll Learn

Before you move an app you built in a frontend builder onto Knack, review every feature that sends, stores, or processes data. This article shows you how to get a full inventory from your frontend builder, sort each feature into keep, move to Knack, rework, or remove, and catch exposure issues you should fix right away.

Why Features Don't Move on Their Own

Frontend builders make it easy to add texting, notifications, AI summaries, file storage, and connections to outside services. Many of these run on the builder's own backend, not in your screens.

When Knack becomes your backend, your data, sign-in, and access rules move. Those features don't move with them. Each one needs a decision, and some may be sending information you didn't know about.

It's common to find features you forgot you built, or that connect to services you didn't realize were involved. That's why this review comes before the migration, not after.

Step 1: Get an Inventory from Your Frontend Builder

Ask your frontend builder to list everything that touches data. This prompt is read-only and asks for names and behavior, not record values, so no personal information ends up in the chat.

Audit only. Do not change any code, data, settings, secrets, or connections. Do not create anything in Knack.

Do not show any record values, personal information, API keys, or secret values. Report names, structure, and behavior only.

1. SCREENS AND FORMS: every screen or form that creates or edits data, which tables it reads and writes, which roles use it, and whether it handles health or personal information (yes / no / unsure)
2. BACKEND LOGIC: every backend function, edge function, database trigger, or scheduled job, what starts it, what it does step by step, and what data it touches
3. EMAILS, TEXTS, AND NOTIFICATIONS: every message the app sends, what triggers it, who receives it, which service sends it, and exactly which fields are included
4. AI FEATURES: every feature that uses AI, what it does, which AI service it calls, and exactly which data is sent to it
5. OUTSIDE SERVICES AND SECRETS: every external service the app connects to and what data is sent to each, plus every stored secret or API key by name only, and what it's used for
6. FILES AND EXPORTS: every place users upload files, every PDF, export, or download the app creates and which fields it includes, and whether any file link or storage is publicly accessible
7. LOGGING AND ANALYTICS: any analytics, error tracking, or logging tools, and whether they could capture health or personal information
8. ANYTHING YOU COULD NOT CONFIRM: list it plainly. Do not guess.

Finish with "Audit complete. No changes made."

Step 2: Check the Inventory

Frontend builders can describe an app confidently and still miss what's running. Before you rely on the list, check it against what you know.

  • Spot-check two or three features you know well, like an email you receive or an AI summary you use
  • Ask about anything you remember building that isn't on the list
  • Put every "unsure" on a discussion list, not the migration list

If something is missing or unclear, ask your frontend builder to take a second look.

Audit only. Make no changes.

1. For every item you marked "unsure," explain in plain language what it does and what data it touches.
2. Check again for anything you may have missed: emails, texts, scheduled jobs, AI features, file storage, outside services, and logging.
3. I remember the app doing [describe the feature]. Where is it, and what data does it use?

Do not show any record values, personal information, API keys, or secret values.

Step 3: Decide What Happens to Each Feature

Sort every feature into one of four decisions.

DecisionWhen it fitsExample
Move to KnackKnack already does this jobRequired fields, notification emails, audit logs
ReworkIt's needed, but it sends or stores data it shouldn'tAn AI summary that sends full patient notes
KeepIt doesn't touch sensitive dataStaff training videos, links to a meeting tool
RemoveNobody uses it, or Knack makes it unnecessaryA custom login page, a duplicate activity log

Your frontend builder can suggest a starting point. You make the final call.

Read-only. Make no changes.

Using the audit you just completed, suggest a decision for each feature: keep, move to Knack, rework, or remove. Knack will be the backend for data, sign-in, and access rules.

For each feature, give me:
- The decision you suggest
- One plain-language sentence explaining why
- The data it touches, and whether that includes health or personal information

Present it as a table. Mark anything you're unsure about.

Record each decision in a simple list: the feature, the data it touches, the decision, and who will do the work. That list becomes your migration checklist.

Features Knack Can Take Over

Many features your frontend builder built have a Knack equivalent that runs every time a record is saved, including saves from your custom frontend.

What your app does todayKnack equivalent
Required fields and value checksValidation rules
Setting a value based on other valuesConditional rules
Emails or updates when a record changesKnack Flows
Reminders and jobs on a scheduleScheduled tasks
Tracking who created or changed a recordSystem fields and record history

Knack Flows are set up in your Knack account. Your frontend builder can't create them for you, so add them to your plan. See Where Your App's Logic Belongs: Knack or Your Custom Frontend for how each one works with a custom frontend.

📘

Your own activity log may not be needed

If your app keeps its own log of who changed what, Knack's record history may cover it, including changes made from your custom frontend. See Security Basics for a Custom Frontend.

Features That Send Data Somewhere Else

Emails, texts, AI features, and outside services all send data out of your app. For each one, look at exactly which fields it sends.

  • If it doesn't need sensitive information, leave that information out. "A new visit was added. Sign in to view it." works as well as a message full of details.
  • If it does need sensitive information, review your compliance requirements before you move it. Confirm the service is allowed to receive that data.
  • Stored secrets and API keys for outside services are a normal part of how these features work. Keep track of each one and what it's used for.

Rework a feature to send less

Use this prompt for any email, text, notification, or AI feature you're keeping but want to send less.

For the [feature name] feature, change what it sends so it includes only what it needs to work.

Remove these fields from what it sends: [list fields]. For a notification, send a short message that tells the person to sign in to see the details.

Before changing anything, show me exactly what it sends today and what it will send after the change. Wait for my approval.

Remove a feature you don't need

Remove the [feature name] feature completely, including its screens, backend functions, scheduled jobs, and any stored secrets it uses.

Before removing anything, list every file, function, and secret you plan to remove or change, and anything else in the app that depends on it. Wait for my approval.

Open your app after the change and confirm everything else still works.

📘

Building a HIPAA app?

Any feature that would send health information to an outside service, AI tool, or message provider needs a compliance review first. See HIPAA Compliance Overview.

Fix Exposure Issues Now

Some findings can't wait for the migration. If the inventory turns up either of these, fix them right away.

  • Public file links or storage. Anyone with the link can open the file.
  • Logging or analytics that capture personal information. Turn it off or remove the personal information.
Fix these issues found in the audit:
1. Make every public file link and storage location private, so only signed-in users with access can open files.
2. Stop logging and analytics tools from capturing health or personal information.

Before changing anything, list what you'll change and how it affects users. Wait for my approval. After the change, tell me how I can confirm a file link no longer opens when I'm signed out.

Then test it yourself. Copy a file link, sign out, and open it in a private browser window. It shouldn't load.

Pause New Features During the Migration

Once you start the migration, stop adding new features to the old app. Your team can keep using it day to day. A feature added mid-migration is one more thing to review, and it's easy to miss.

Common Mistakes

  • Trusting the inventory without checking it. Spot-check features you know, and ask about anything missing.
  • Moving every feature as is. Some are better handled by Knack, and some aren't needed at all.
  • Sending full records in notifications. Send only what the message needs.
  • Leaving "unsure" items for later. Decide on each one before you move data.
  • Building new features during the move. Pause until the migration is done.

Next Steps


Did this page help you?