Solutions · Financial services
The application comes in online, passes through a decision flow, produces a contract and a payment schedule — and leaves a trace in audit, because someone will ask for it back.
A financial services application is judged by what happens at its edges: what is written in the log, what happens when the client asks for their data back, what is seen in the pre-contractual information, and what happens when a scheduled task does not run. We build the mechanics; the credit policy remains yours.
Already builtA lending platform in production, verifiable from the outside today: the public part is a statically compiled application with 50 screens, including four calculators — credit, eligibility, refinancing, payment schedule — pages by credit type, pre-contractual information and a route through which the client requests their personal data; the business part is a modular backend in TypeScript with 16 modules and 18 tables in the data schema, including contract, payment, audit log, request regarding personal data, uploaded document, daily snapshot of indicators and scheduled task run. The sitemap from production lists 227 addresses, and the Romanian and Russian routes both respond — checked by me on 06.09.2026. The reservation we state: the proof is from code and public responses, not from the internal behaviour of the server — I have not checked which version production is running, nor that all 16 modules are active on live.
A lending company does not need a website. It needs a complete chain: the application comes in online, passes through a decision flow, produces a contract, generates a payment schedule and leaves a trace in audit. Every missing link in the chain turns into a person copying data from one place to another, and in financial services every manual copy is also a compliance problem, not just a time problem.
The structure we build reflects this directly in the data. In the platform we cite, the schema has 18 tables, and the list says more than any architecture description: application, contract, payment, one-time code, session, appeal request, notification template, notification log, daily indicator snapshot, scheduled task run, article, address redirect, visibility setting, internal note, audit log, uploaded document, personal data request. The backend is split into 16 modules, including one dedicated exclusively to data subject rights.
The public side is not decoration: four calculators — credit, eligibility, refinancing and payment schedule — plus separate pages by loan type and the pre-contractual information. In consumer lending, pre-contractual information is not a page for appearance: it is the obligation to show the terms before the person commits. We treat it as a product requirement, not as legal text pasted at the end. Romanian routes remain without a prefix, while Russian ones run on a separate segment, with canonical labels and alternatives generated from the active route language.
And the limit that must be stated before the contract: the decision flow on applications — rules, thresholds, approval — is yours. We build the mechanics through which the application moves, is documented and becomes a contract. We do not write the credit policy and we do not take responsibility for assessing an applicant; these are decisions with legal consequences that belong to the authorised institution.