AI features inside the software
you already sell.

Not a tool for your team. A feature your customers use, inside your own product, under your own name. We build it into your codebase, keep each customer's data separate, make sure the cost per customer is a number you know, and hand it over with the tests.

This is for you if

Where this is used

Six features software companies actually ship

These are the ones that survive contact with customers. The pattern they share is that each removes a specific task the user used to do by hand, rather than adding a chat box beside the work.

Onboarding

Getting a new customer's data in

The step that loses deals. Reading whatever spreadsheet or export the customer arrives with, mapping it to your fields, and flagging what it could not place. Often worth more than any feature. Removes: weeks of manual set-up.

Writing

Drafting the thing the user was going to type

The reply, the report, the description, the summary, prefilled from what your product already knows, for the user to edit rather than write. Removes: the blank page.

Search

Asking your product a question in plain words

Answers from that customer's own data, with their permissions applied and a link to the record it came from. Replaces the filter panel most users never learn. Removes: knowing where to look.

Data quality

Catching the mistake as it is made

Noticing the duplicate, the wrong category or the number that does not fit the pattern, at the moment of entry rather than in a report next quarter. Removes: cleaning up afterwards.

Documents

Reading what your customers upload

Invoices, contracts, forms and certificates turned into fields in your product, with the low-confidence ones sent for a person to confirm. Removes: retyping.

Actions

Doing the multi-step job on request

The user asks for an outcome and your product carries out the steps, within that user's own permissions, showing what it did. Removes: the ten click sequence.

Services

Everything we do, from choosing the feature to supporting it

Half of this list is not about AI. It is about shipping something into a product other people pay for, which has requirements a demonstration never has.

01

Pick the feature by what it removes

We look at your support tickets and your own usage data for the task users complain about or abandon. A feature that removes a named task gets used. One that adds a chat box beside the same work does not.

02

Design it as part of your product, not as a bolt-on

In your interface, in your patterns, with your components. If it looks like something bought and attached, users treat it as optional and it dies quietly in the analytics.

03

Keep every customer's data apart

The requirement that separates a product from a project. Every retrieval, every log and every stored result carries the customer it belongs to, enforced at the data layer rather than trusted to the code path. One leak here ends the feature.

04

Respect the permissions your product already has

If a user cannot open a record in your interface, the AI must not read it either. We use your existing permission model rather than building a second one that will drift away from it.

05

Work out what it costs you per customer

Measured per action and per account, before pricing is decided. Otherwise your heaviest customer becomes your least profitable one and nobody notices for two quarters.

06

Stop one customer spending everyone's budget

Limits per account, fair queuing, and a cheaper path once a plan's allowance is used. Standard product engineering, routinely forgotten on AI features because the demonstration had one user.

07

Design what happens when it is unsure or unavailable

A visible confidence signal, an easy way to edit or reject, and a product that still works when the model is slow or down. Users forgive a wrong suggestion they can correct. They do not forgive a page that will not load.

08

Let each customer turn it off

Some of your buyers will have a policy against AI processing of their data, and some will need it off for one department only. A switch per account, honoured everywhere, keeps those deals alive.

09

Prepare the answers your customers' security teams will demand

Where data goes, whether it trains anything, what is retained and for how long, which sub-processors are involved. Written once, properly, so it goes into questionnaires instead of stopping deals.

10

Test it like a feature, not a demonstration

A scored set of cases that runs in your pipeline on every change, so an improvement for one customer cannot silently break another. This is where our QA practice does most of the work.

11

Give your own team what they need to support it

Your engineers get the traces and the runbook. Your support team gets a way to see what a user was shown and why. Without that, every complaint escalates to whoever built it, which after handover is nobody.

12

Release it gradually and watch adoption

Behind a flag, to a few accounts first, measuring whether people accept, edit or ignore the output. The edit rate tells you more about the feature than any survey will.

Tell us what your users do by hand today, and we will tell you what is worth building.

Our stack

The tools, standards and methods we use

Most of this is ordinary product engineering. That is the point, and it is the half that demonstrations skip.

What we write it inWe work inside your codebase and your conventions rather than importing our own
TypeScriptReactNode.jsPython.NETLaravelYour existing framework
Talking to modelsOne internal endpoint your product calls, so a model can be swapped without touching feature code
Model gatewayLiteLLMStreaming responsesFallback modelsProvider failover
Keeping customers separateEnforced by the database rather than by remembering to add a filter
Row level securityNamespaced vector storagePer-tenant encryption keysIsolation tests in the pipeline
Answering from a customer's own dataThe retrieval layer, scoped to one account and to that user's permissions
pgvectorQdrantHybrid searchPermission-aware retrievalPer-tenant indexes
Controlling cost and loadSo one heavy account cannot degrade the product for everyone else
Per-account rate limitsUsage meteringPrompt cachingCheaper models for routine stepsBudget alerts
Shipping it safelyBehind a flag, to a few accounts, reversible in one click
Feature flagsStaged rolloutPer-account opt outA/B comparisonInstant rollback
Proving it works on every changeRuns in your own pipeline alongside your existing tests, not as a separate manual step
Evaluation sets in CIRegression testsPlaywrightGolden outputsHuman review sampling
What your buyers' security teams ask aboutPrepared in advance, because it arrives as a spreadsheet during a deal
SOC 2 style controlsGDPR and data residencySub-processor disclosureNo-training agreementsEU AI Act transparency

Example

The feature that was not the one they asked for

Example

A company selling scheduling software to maintenance teams asked for an assistant. A chat box in the corner, ask it anything about your jobs. Their board had asked what their AI story was.

Before building it we looked at where their users actually struggled. The chat idea was interesting but nothing in the data suggested people wanted it. What the data did show was that new customers took about six weeks to go live, and most of that was one person retyping asset lists out of whatever spreadsheet the customer had.

So we built that instead. Upload the customer's own file, whatever shape it is in, and the product maps the columns to its fields, flags what it cannot place, and asks about the rest. It is not the impressive feature. It is the one that shortened their onboarding, which is the number their sales team is measured on.

The chat box came later, once there was a retrieval layer to answer from. In that order it was two weeks of work rather than a project.

An example, invented to show how the feature gets chosen. What your usage data says will be different.

FAQ

Questions we get asked before starting

Do you work inside our codebase?

Yes, that is the normal arrangement. Your repository, your branch and review process, your release train. We are not building a separate service and handing you an API unless you specifically want that.

What happens when you leave?

Your team owns it. That means their code review from the first week, documentation as we go, the evaluation set in your pipeline, and a handover session with whoever will support it. If nobody on your side has touched it, we have done this badly.

How do we charge our customers for it?

We give you the cost per action and per account so you can decide. What we would advise against is giving it away on every plan before you know what your heaviest customer costs you, which is the mistake we see most.

Some of our customers will not allow AI on their data.

Then it has to be switchable per account, and that is designed in rather than added later. For some buyers a private model in their own region is what unlocks the deal, and that is a related piece of work we also do.

How long does a first feature take?

Six to ten weeks for something in front of real customers, if the feature is chosen well. Onboarding and document reading tend to be quicker than anything conversational, because success is easier to define.

Can you work alongside our own engineers?

Yes, and it is the better arrangement. Usually one or two of ours embedded with your team, so the knowledge stays with you rather than leaving with us.

Next step

Tell us what your users still do by hand.

The step they complain about, the one where they abandon your onboarding, or the export they always ask for. That is where a feature is worth building, and it is rarely the one the board asked for.

Ahmedabad, India. We work with teams in the US, UK, Europe, Singapore and the Gulf, and we are used to the time difference.