Education
keeplearnin: Learning Platform for Organisations and Instructors
Our learning product that brings courses, live classes, mentoring, certificates and corporate training into one platform. Built on MicroFrame; not live yet.
Bu sayfa Türkçe olarak da mevcut.
A multi-tenant custody banking platform that moves the whole custodian workflow between Portfolio Management Companies and their institutional banks off manual, file-driven handoffs and into one auditable system.
Custody services between Portfolio Management Companies and their institutional banks ran on manual, file-driven handoffs. Fund definitions, IBAN and account records, broker and commission parameters, and the transfer files themselves all passed through people rather than through a system — which made the work slow to execute, difficult to audit after the fact, and dependent on the operator getting every step right.
Rather than automate individual steps, we put the entire custodian workflow behind one portal with a single approval path. Every operation — parameter definition, file upload, transfer instruction — enters through the same Maker-Checker gate and leaves the same audit trail, and the integration layer absorbs the format differences between PMCs instead of pushing them onto the operations team.
The platform digitizes end-to-end custodian services between Portfolio Management Companies (PMCs) and institutional banks. Role-based access control with PMC-level authorization keeps each company’s users and data segmented, while fund definitions, broker and commission parameters, and IBAN and financial account configurations are all maintained from one central interface instead of being restated per counterparty.
Nothing reaches processing unreviewed. All uploaded data passes through a standard Maker-Checker (Uploader-Approver) workflow, so every change has a submitter, an approver, and a record. The integration layer handles EFT and wire transfer processing into core banking systems, converts PMC-sourced file formats automatically, and exposes financial account query services for balance and transaction data.
MicroCustody is in pilot. The list below is the capability set of the platform as designed; some parts are still being completed with the pilot.
The approval gate is enforced in the data model rather than in the interface, because the interface is only one of the ways data arrives — an uploaded file, an API call and a batch job all reach the same tables. A submission does not modify the live record. It writes a pending change carrying the submitter, the target record and the full before/after payload; approval is the transition that promotes it, and that transition is the only path that writes the live version. A rejected change stays in place with its reason attached rather than disappearing.
Two things follow. The audit trail is not assembled from logs after the fact — it is the same rows the workflow already runs on, so “who changed this broker commission, when, and who let it through” is a query rather than an investigation. And separation of duties is enforced at the service boundary: a submitter cannot approve their own change because the transition checks identity, not because a button was hidden from them.
RBAC and PMC scoping deliberately stay separate concerns. Roles decide which operations a user can invoke; the PMC claim decides which rows those operations can reach, applied as a mandatory predicate below the query layer rather than as a filter each screen has to remember to add. Collapsing the two into a single role matrix is the common shortcut, and it costs twice: every new PMC multiplies the number of roles that have to exist, and a forgotten filter stops being a missing menu item and becomes a cross-tenant disclosure.
Each PMC sends its own layout. Rather than a parser per counterparty living wherever it was first needed, a PMC’s format is expressed as a mapping definition and the pipeline normalizes everything into one canonical instruction record — validation, approval and dispatch downstream only ever see the canonical form. Validation runs per row with a reason attached, so a single malformed line does not reject an otherwise good file and the operator gets a list of what to fix instead of “upload failed”.
The file is retained exactly as received alongside the parsed result. Custody work is audited against what the counterparty actually sent, and a conversion defect is only diagnosable if the original bytes are still there.
An approved instruction and the intent to send it are written in the same PostgreSQL transaction, and dispatch to core banking is picked up from that record asynchronously. That outbox arrangement exists to rule out the two failure modes that matter here: an instruction approved in the platform that never reached the bank, and a dispatch that no approved instruction accounts for. Retries carry the original instruction reference so a redelivery is recognised rather than executed a second time, and a send whose outcome is unknown is resolved by querying status — never by sending again, because at the bank end a timeout and a rejection are not the same event.
Compliance and reporting views are read models over the same transactional data rather than a separately maintained export. A reporting copy drifts from its source eventually, and in custody a report that disagrees with the record is worse than no report at all.
Education
Our learning product that brings courses, live classes, mentoring, certificates and corporate training into one platform. Built on MicroFrame; not live yet.
Software Platform
MicroFrame is the ready-made foundation for software teams: identity, tenancy, payments, subscriptions, notifications and audit as ready components, in the cloud or on your own servers.
Consumer and Family
A baby page where memories, the family album, visitor notes and invitations collect, from pregnancy to first steps. Live on web, iOS and Android; built on MicroFrame and live about four months after the first commit.
Let's discuss how we can help bring your ideas to life.