Skip to content
Case Study

Norca

A notarial platform where the parties, their property, the acts and the reports that follow all live in one record.

104Screens built 250+Fields on one person’s record 11Services behind it 4Notarial registers
What We Built

The people, their property, the registers, and what gets reported.

The people

Physical and juridical persons, each described across eight sections: identity and citizenship, personal capacity, civil status, identity documents, address, occupation, statistics, and anti-money-laundering. Civil status alone holds eighty-five fields — birth, parents, children, marriages and their dissolution, death, and every name the person carried before.

The property

Thirteen kinds of movable property and three of immovable. Vehicles, money, claims, shares, succession quotas, livestock — and land, buildings, rooms. Rights, servitudes, pledges, interdictions and the rank of a mortgage are modelled as themselves, not flattened into a note.

The registers and the archive

Four registers a notary keeps: notarial acts, succession procedures, consultations, and dissolution of marriage by consent. Behind them the whole archive — nomenclature, internal inventory, the permanent and the long-term inventories, and the fond, down to the act of destruction. Nothing there is ever deleted; it is marked.

Compliance and reporting

The special SPCSB form for notaries, built as fifty-four columns out of what the act already holds, and the conformity figures counted straight from the register — sixteen of them, computed at once.

How It Works

The party, the act, and the report that follows.

  1. 1

    The party is recorded once

    A notary opens the file of the person in front of them and fills what the law asks. Every change lands in an append-only history: the old value, the new one, who made it, and a timestamp the server sets — not the browser.

  2. 2

    The act enters its register

    The type of act decides the rest: which register it belongs to, which report will count it, under which index it will one day be archived. The number is composite — number and sub-number — so several acts can live under one entry.

  3. 3

    The report is written from the register

    When the reporting form is due, the data is already there. Fifty-four columns of the SPCSB form assemble from the act; the conformity figures are counted from the register itself.

The act a notary registers is the same data that fills the anti-money-laundering form and the year’s statistics. Nothing is typed twice.

Built With

Ordinary tools, kept the same for the whole build.

Interface

A hundred and four screens: the databases, the registers, the archive and the reports, in one application.

  • TypeScript
  • Next.js 14
  • React 18
  • Material UI
  • Redux Toolkit

Services

Eleven Go services behind a single gateway, talking to each other over typed contracts rather than loose JSON.

  • Go
  • gRPC
  • Protocol Buffers
  • Gin

Data

Documents for the records, an in-memory store for the sessions, object storage for the files a notary attaches to an act.

  • MongoDB
  • Redis
  • MinIO

Delivery

Every service builds into its own image, and the API describes itself, so the gateway and the front end never drift apart.

  • Docker
  • GitLab CI
  • Swagger
The Hard Parts

Where the platform gets difficult, and none of it is the paperwork.

One person, several national IDs

Identity does not sit on the person; it sits on the citizenship. The same human being holds one record per citizenship, each with its own national ID and its own spelling of the name, because passports transliterate differently. The uniqueness rule is a partial compound index on national ID and citizenship — partial, so that a stateless person is not blocked by a constraint written for someone else.

A cadastral number that builds its own hierarchy

A Moldovan cadastral number carries the hierarchy in its segments: two for a parcel, three for a building, four for a room. Register a room whose building was never entered and the platform reads the number, sees what is missing, and creates the parcel and the building in the same indivisible write. The hierarchy cannot be broken, because it cannot be half-written.

An audit trail nobody wrote twice

One engine takes whatever changed, walks the structure itself — nested objects, arrays of objects, index by index — and emits one history entry per field, with the old value and the new. It feeds one hundred and eighty-seven write points across the platform without a line of per-field code, and it runs alongside the request rather than in it, so the audit never slows the notary down.

The Build

Delivered, and counted.

Two years and eight months, and 4,894 commits. Twenty-three people touched it; twelve carried it.

3,000Hours of development

Built, delivered — and in use in notary offices.

Get In Touch

Have a project idea? Write down a quote!

Got a project? Drop us a line if you want to work together on something exciting. Or do you need our help? Feel free to contact us.