Salt Bank

Document Generator

A document platform with two halves: a template editor the bank maintains itself, and an API that turns the bank's own data into a finished document.

Live
Servicii
Software intern & tool-uri de business
Tehnologii

Frontend => Vue 3, GrapesJS, TailwindCSS
Backend => NodeJS

A generated bank statement next to the template editor used to build it
Sector
Banking
System
Document generation
Environment
Regulated

Clientul

Salt Bank is a bank operating in Romania. The documents a bank produces for its customers are not marketing material: what the software generates has to be correct the first time, and has to still be explainable a year later.

Problema

The documents a bank sends its customers — statements, contracts, notices — are produced from templates that legal and compliance have to approve, and that change more often than anyone plans for.

When those templates live inside application code, every change is a developer ticket and a release. The people responsible for the wording are not the people who can edit it, and the gap between the two is where the delay sits.

Privire de ansamblu

The platform has two halves.

A template editor, where the bank builds and maintains its own document layouts, with control over both the design and the variables that get filled in. And an API: it takes a request carrying the data for one document and returns the finished file.

It runs on serverless infrastructure with the services in containers, so capacity follows demand instead of being provisioned for the busiest day of the year. It connects to the systems the bank already runs, so the data behind a document is not entered a second time.

Architecture diagram: client systems call the bank API, which calls the generation API and returns a PDF

Constrângeri

The platform runs inside a regulated banking environment. That shapes the software rather than sitting beside it: who may see which data, what gets recorded each time a document is produced, and the requirement that the same input still produces the same document later.

Execuția proiectului

  1. 01
    Separating layout from data

    We went through the documents the bank produces and drew the line between what is layout and what is data. That split is what decides whether a template can later be maintained without a developer, so it was settled before anything was built.

  2. 02
    The template editor

    A visual editor where a document is built once and the variable parts are marked as placeholders. The people who own the wording change it themselves, and a change does not wait for a release.

  3. 03
    The generation API

    One endpoint: it receives the data for a single document and returns the finished file. How the document looks comes entirely from the template, so the system calling the API never has to know anything about layout.

  4. 04
    Into the bank's environment

    Deployed on serverless infrastructure with the services in containers, connected to the systems the bank already runs, and handed over with the documentation needed to operate it.

Rezultate obținute

[figure]
Time to publish a template change

DRAFT - replace with the real figure, or delete this metric, before the page goes public.

[figure]
Document types live on the platform

DRAFT - replace or delete.

[figure]
Documents generated since launch

DRAFT - replace or delete.

The bank's own people maintain the document templates. A change to wording or layout is made in the editor and applies to the next document generated, instead of waiting for a release.

On the other side, a document is produced from data the bank already holds. Nothing is re-entered anywhere to make one.

Echipă și durată

The engineers who scoped the platform are the ones who built it and took it into production. There was no account management layer between the bank and the people writing the code.

[DE COMPLETAT: câți oameni, ce roluri, în câte faze și pe ce perioadă.]

Colaborarea noastră cu MVP Solution a fost excepțională. Au construit de la zero o soluție personalizată, adaptată nevoilor noastre de neo banking, dând dovadă de profesionalism și flexibilitate pe tot parcursul. Contribuția lor a fost valoroasă la fiecare pas, iar platforma scalează acum la milioane de cereri pe minut. Comunicarea a fost fluidă, iar termenele au fost respectate de fiecare dată.
Răzvan Șoneriu Head of IT, Salt Bank
Salt Bank