← All writing

How Kaliits started after I left Smatch Digital

After resigning from Smatch Digital, I began turning a document workflow into something bigger: OCRAgent, a shared technical core and the commercial idea behind Kaliits.

Kaliits started after I resigned from Smatch Digital. The technical work that became OCRAgent began much more simply: an n8n workflow that picked up documents from inboxes, ran OCR on them and compared information across the documents.

There was a practical idea in that sequence. Documents arrive, somebody reads them, and then somebody checks whether they agree. I wanted to connect those steps and reduce the paperwork around them. At that stage, the starting point was a workflow rather than the architecture I would eventually try to build.

The first version connected inboxes, OCR and comparison

n8n gave me a way to connect the operations. The workflow could take documents from an inbox and move them through reading and comparison. It helped me give the idea a concrete form: information from separate files could be brought together instead of being checked in isolation.

That beginning matters to me because it was small enough to try. I did not start by designing a universal document-intelligence platform. I started with a sequence of work that I could assemble and then question.

A conversation made the product idea bigger

The idea grew after I met Jawad Zoumi of TEDI Services. He wanted the OCR work to become a product that could be sold to other companies. That pushed me to think beyond one connected workflow.

I am describing the role that conversation played in my thinking, rather than presenting it as a customer testimonial or a sales result. The important shift was the question it introduced: how could the same underlying work support different companies and different requirements?

I rebuilt it with a different structure in mind

I rebuilt the application from scratch, trying to give it a hexagonal architecture. The aim was to separate the central processing logic from the tools and connections around it. I wanted changes in a particular integration to have less influence over the rest of the system.

Then requirements changed suddenly. That made me question the structure again. If every new request reshaped the same central application, adapting the work would keep becoming harder. I began thinking about a shared core with a plugin system around it.

Different workflows, a shared foundation

One company might need purchase-order, receipt and invoice matching. Another might need import-dossier checks. Another might need reviewed information inserted into an ERP, or an email prepared from document evidence.

Those requests should not be treated as the same workflow. They involve different fields, rules, permissions and next actions. The idea was to reuse the document-processing foundation while giving each workflow its own behavior and boundaries.

The technical idea became Kaliits

I developed that direction further, put the repository on GitHub for people to inspect and learn from, and continued shaping the commercial work. Kaliits became the startup I wanted to build around document intelligence.

My ambition is to make Kaliits a leading document-intelligence solution in Morocco and remove a substantial amount of repetitive paperwork from logistics and finance. That is the goal I am working toward. It is not a claim that we have already reached that position or measured that impact.

What stayed the same through the changes

The architecture changed, and the scope became broader, but the practical thread stayed recognizable: receive documents, understand their information, compare what matters, and help someone take the next step.

The more I work on it, the more that last step matters. Reading a document is only useful if the result fits the person's process. Kaliits is my attempt to turn that technical capability into work a team can actually use.

Read how OCRAgent evolved toward a shared core

Explore the technical architecture

Discuss a document workflow with Kaliits

All writing ↗