Back to Blog

How to Add AI Features That Do Not Feel Like a Wrapper

The first AI feature most teams ship is a chat box. Users notice. There is a better pattern, and it starts with refusing to treat the model as the product.

Adapter Team

The default way to add AI to a product is to put a chat box in the corner. Users type questions. The model answers. The feature launches, gets used for a week, and then retention drops. Reviewers call it a wrapper. Internally, no one can tell whether it worked.

The problem is not that the chat box is bad. It is that the chat box is not actually a feature. It is an escape hatch for engineering teams who have not decided what the AI is supposed to do inside their specific product.

What makes a feature feel like a wrapper

A few signals show up every time:

  • The AI lives on a page that exists only for the AI
  • The user has to explain their own data back to the model
  • The output is text the user has to act on manually
  • The experience is identical to what the user would get from the underlying model directly
  • Removing the AI does not degrade any other part of the product

If all five are true, the feature is a wrapper. Users who already use ChatGPT have no reason to use it inside your app.

What makes a feature feel native

The AI features that users adopt permanently share the opposite properties.

The AI has access to the user's data without being asked. It already knows who they are, what they have done, what is in their account, and what state they were in when they triggered the action. The user does not paste context in.

The output is an action, not a paragraph. A draft email that sits in the outbox. A proposed transaction that can be approved with one tap. A flagged row in a table. Something the user can accept, edit, or discard without leaving the surface they were already on.

The AI triggers from where the work happens. A button next to the line item, a suggestion inside the form, a banner on the page that is already open. Not a separate chat tab.

The feature degrades gracefully when the model is wrong. The user can always see what the AI proposed, why, and how to undo it. There is a fallback path that does not depend on the model.

The feature is measured against the job it replaces. Minutes saved per invoice. Fields auto-completed versus manually typed. Draft replies accepted versus rewritten. Not tokens served or sessions started.

Two examples from recent work

A support tool we worked on replaced a "summarize this ticket" button with an inline panel that drafted the next reply, pre-filled with the account's context, recent history, and the three most relevant macros. The same model. Different surface. Acceptance rate went from under ten percent to over sixty.

A property management app had a chat assistant that nobody used. We removed it and added AI to three specific places: lease anomaly detection on upload, auto-categorization of maintenance requests, and draft responses to tenant messages. Weekly usage of AI features tripled, and the chat box was not missed.

The test that catches wrapper features early

Before building, we pressure-test the feature with a single question. If the user did not know this product used AI, would they still notice the feature was valuable?

If the answer is no, the feature is leaning on the novelty of the model. Once novelty wears off, usage collapses.

If the answer is yes, the AI is doing real work inside a real workflow, and the feature has a chance of being used six months after launch.

The pattern

AI features that stick are indistinguishable from good product work that happens to use a model. The model is invisible. The value is visible. The wrapper version inverts both.

That inversion is the single most common reason AI features underperform in production, and it has almost nothing to do with which model you chose.