It is almost never the feature work. An internal tool stalls because it cannot pass review, cannot be maintained, or cannot
reach the systems it needs. Six versions of the same week we keep having:
IT or security will not approve it
The tool works and the department wants it, and it still cannot go live. Usually it is credentials in the source, no audit trail, permissions that do not distinguish an admin from an intern, or data sitting somewhere with no backup. We fix the substance and write the document your security reviewer is asking for.
The person who built it has moved on
Someone in operations or finance built something genuinely useful in Lovable or Cursor, and now they have their real job to do — or they have left. Nobody else can safely change it. We take ownership of the code, document it, and hand it to your team in a state they can maintain.
It cannot see your other systems
A tool that does not talk to your ERP, CRM, or directory is a second place to type things. We build the integrations and the sync, so it stops being an island.
Everyone shares one login
Almost every AI-built internal tool starts with a single shared password and no roles. We add real authentication against your identity provider, proper role separation, and a log of who changed what.
It only runs on one laptop
Getting it onto infrastructure you control — your cloud account, your network, your backup policy — is usually a few days of work that nobody in-house has time to own.
Nobody can say whether it is compliant
If it holds personal data, GDPR applies whether or not anyone has thought about it. We map what it stores, where it goes, and what has to change, and put it in writing.