coderoftime

Independent apps & open-source libraries

Software that stays yours.

No accounts with me, no ads, no tracking — your data stays on your device, your server, or between you and your bank.

 The work

Projects

Two apps, and the open-source libraries one of them will use for bank sync.

  1. Nº 1Household book · two editions

    Ledgerly

    Every account, every budget — one household book.

    The web app’s dashboard in a desktop browser: a sidebar, the total balance, account cards, budgets, upcoming recurring bookings and debts.
    Home screen with the total balance, money in and out this month, account cards and budgets.
    Plate IThe web app on a desktop, and the app’s current design on a phone.

    One household book for bank accounts, credit cards, cash and savings jars, in two editions: a native app for your phone and Mac, and a web app you host yourself. The web app already syncs German bank accounts over FinTS, sorts transactions with your own rules and watches your budgets; the app is catching up.

    1. The app

      Flutter, for Android, iPhone, iPad and Mac. Your book stays on your device.

      In development · Coming to Google Play

    2. The web app

      Nuxt and Vue, in one Docker container on your own server, for the whole household.

      Runs self-hosted · Not published yet

    Languages
    English, German
    Your data
    On your device, or on your own server
    Price
    Free; Open source at release
  2. Nº 2Wine cellar, self-hosted

    Cellarly

    Your cellar, actually mapped.

    A wooden wine rack drawn in 3D, with red bottles in their slots, inside Cellarly’s storage view.
    The cellar list on a phone, in the light theme.
    Plate IIA rack in 3D on the desktop, and the cellar list on a phone.

    Every bottle you own at an exact row and position, in a rack you can spin around in 3D, on a server that’s entirely yours. It tracks drink windows, what the cellar is worth and every bottle in or out.

    Status
    In development; Self-hosted web app
    Runs on
    Docker, your own server; In any desktop or phone browser
    Languages
    German, English
    Your data
    A SQLite file on your own disk
    Price
    Free; Open source at release
  3. Nº 3Libraries for Dart & TypeScript

    FinTS

    Talk to German banks directly.

    final client = FinTs3Client(
      config: FinTsConfig(
        url: bankUrl,
        bankCode: '12345678',
        userId: login,
        productId: productId,
      ),
      pin: pin,
      options: FinTsClientOptions(
        tanCallback: askForTan,
      ),
    );
    
    final accounts = await client.getAccounts();
    final balance =
        await client.getBalance(accounts.first);
    await client.close();
    Plate IIIReading accounts and a balance with the Dart package.

    A pure Dart FinTS client that lets any Flutter app read accounts, balances and transactions from German banks: FinTS 3.0 and 4.1, PSD2 strong customer authentication, chipTAN, photoTAN and app approval. Its TypeScript port is on npm.

    Dart
    fints on pub.dev; BSD-3-Clause
    TypeScript
    @coderoftime/fints on npm; Zero runtime dependencies
    Your data
    Only between your app and your bank

 Principles

How I build

The same few rules run through every project, and through this site.

  1. No account with me

    Nothing to sign up for with me. The Ledgerly app needs no sign-up at all; the accounts of Ledgerly’s web app and of Cellarly live on your own server.

  2. No ads, no tracking

    Not in the apps, and not here: this site sets no cookies of its own, runs no analytics and loads nothing from third parties.

  3. Your data, your side

    On your device, on your own server, or travelling only between you and your bank.

  4. Free and open

    All of it is free. The code that talks to your bank, fints, is open source already, on pub.dev and npm under BSD-3-Clause; Ledgerly and Cellarly follow when they’re released.

 Updates

What’s new

Releases and progress across the projects. Follow them in any feed reader, with no account and no tracking.

  1. This site is online

    coderoftime.dev now gathers my projects in one place, in English and German, with their privacy policies and a support page for Ledgerly.

  2. FinTS

    @coderoftime/fints 0.1.0 on npm

    The TypeScript port of fints: the same FinTS 3.0 client for Node.js, Deno and Bun, with no runtime dependencies.

  3. FinTS

    fints 0.1.0 on pub.dev

    The first release of fints, my FinTS client for Dart: accounts, balances and transactions from German banks, with PSD2 strong customer authentication and app approval.

 Contact

Write to me

Questions, ideas, bug reports — or a bank that won’t connect.

coderoftime@gmail.com

coderoftime is one independent developer in Germany. I build these apps and libraries in my spare time, mostly because I wanted them myself.