Yakooha

WorkMonarch

Start a project

    03 of 13

    Monarch

    A fintech that wanted to look as trustworthy as it is. We built the identity and the product surface it lives on — one voice, top to bottom.

    Year
    2026
    Disciplines
    Brand, Web
    Platform
    Web
    Brief
    Sample client

    Use Monarch now

    Monarch on desktop: Fintech identity and product, end to end

    01Context

    Monarch had the licence and the ambition but a look that undersold both. We built a complete identity — type, colour, voice — and the marketing product it needed to launch on.

    02Problem

    Money is trust. The brand had to feel established on day one without pretending to a history it did not have — confident, not costume.

    • An identity that reads as safe and modern
    • A system that scales from favicon to billboard
    • A site that converts without shouting
    • Motion that feels engineered, not animated

    03Strategy

    Identity and interface were designed by the same people, in the same weeks, so nothing was lost in a handoff.

    • A tight type and colour system, documented
    • A component library shared by brand and web
    • Copy and motion drafted together
    • A build fast enough to feel premium

    04Design

    Monarch, desktop layout
    Desktop, 1280 wide. Captured from the running build.
    Monarch, phone layout
    Phone, 430 wide. Same build, same data.

    05Engineering

    A NestJS core models ledgers double-entry style on PostgreSQL; Plaid links accounts, Stripe Issuing powers the card, and every money movement is an idempotent, audited command behind a Next.js front end.

    • Double-entry ledger — balances derived, never stored
    • Idempotency keys on all mutation endpoints
    • Plaid + Stripe webhooks verified and replay-protected
    • Terraform-managed AWS with least-privilege IAM

    Also considered. Firebase would have shipped faster; a relational ledger and typed migrations mattered more for money.

    06Details

    The mechanism underneath, as a working model. Press the buttons.

    lab / data / double-entry ledger

    Balances are derived from postings, never stored. Money can't be created or lost, only moved.

    NestJS · PostgreSQLOpen in the Lab

    Loading the model

    lab / reliability / idempotent money movement

    Every mutation carries a key. Retry the same request a hundred times, the transfer happens once.

    NestJS · RedisOpen in the Lab

    Loading the model

    Figures inside a model are simulated to show how the mechanism behaves. They are not production measurements.

    07What shipped

    9 modules are in the build below. Each one works.

    • 01Balance derived from postings, never stored
    • 02Idempotent send: spam the button, it moves once
    • 03Card controls and freeze
    • 04Budgets, scheduled payments and insights
    • 05CSV statement
    • 06Accounts and pots
    • 07Physical and virtual cards with limits
    • 08Payees, investments and SIPs
    • 09Support tickets and disputes

    08Technology

    • Next.js
    • NestJS
    • PostgreSQL
    • Plaid
    • Stripe
    • Terraform
    • AWS

    This is the kind of work we do under Websites & Web Apps.

    Now use it.

    This is Monarch, the whole application. Continue as the sample user, change things, reload. Your data stays in this browser and resets from Settings, then Data.

    yakooha.com/demo/monarch
    Open in a tab
    Monarch: Fintech identity and product, end to end

    A full application, not a recording. Sign in as the sample user; your data stays in this browser.

    Have a project like Monarch?

    Discuss your product See the work

    Tell us what you are building. We reply within one working day.

    Start a project

    Tell us in a minute.

    Your name, an email and a line or two. A person reads it and replies within one working day.

    What do you need? optional

    We store what you write so we can reply, nothing else. Privacy