Skip to content
Jinnie

Wealth, in order.

Jinnie keeps your accounts, bills, budget, subscriptions and cards in one app that runs without a connection. Every record stays on your phone, and the one figure worth checking sits at the top.

mini apps, each released on its own
13
mini apps, each released on its own
servers holding your records
0
servers holding your records
number at the top of Home
1
number at the top of Home

One ledger under every app.

Wallet holds the ledger and Accounts holds the balances, so when you settle a bill in Bills the payment is already in Wallet, the paying account has already dropped, and the total on Home has moved before you get back to it. You don't reconcile anything, because there's nothing to reconcile.

  • Transfers stay neutral

    Moving money between two of your own accounts changes both balances and leaves cash flow alone.

  • Reversal is exact

    Edit or delete a record and its account and bill reconcile with it. An overdraft reads as a negative balance rather than a zero.

  • One privacy switch

    Hide every figure in every app with one tap, for the times you open the app on a jeepney.

  • Works without a signal

    Each store lives on the device, and the shell waits for all of them before it draws a total, so nothing renders at zero and then jumps.

Pay a bill once.

Settle a period in Bills and one record does the rest. It posts to Wallet with the bill and the period attached, the paying account drops by the same amount, and Home shows the new total. If you recorded it against the wrong account, edit the Wallet entry and the bill follows.

  1. 1Bills
  2. 2Wallet
  3. 3Accounts

Your records don't leave the phone unless you export them.

There's no Jinnie account and no Jinnie server. The app works with the network off; when it's on, the only thing it fetches is the code for each mini app.

How the data is handled
  • Offline first, not offline capable

    Every store persists on the device under its own key. Charts and conversions are computed there too.

  • Your phone's own lock

    Settings & Security can ask for the device passcode or biometrics before Jinnie opens. There's no separate PIN to forget.

  • A backup you hold

    Export everything as one JSON file through the share sheet. Restore validates the file and snapshots the current data first.

  • Community apps stay in their lane

    They never receive the ledger. Each gets key-value storage under its own id, and that's all.

Build an app for Jinnie.

One package, one registry entry, one exposed screen. The SDK hands you the bridge, the stores, the catalogs, the UI kit and the icons, while the host supplies the scroll view, the app bar, the safe area and an error boundary. What you return is content, not a screen.

import React from 'react';
import {Card, Body, useHost} from '@jinnie/sdk';

export default function HelloApp() {
  const host = useHost();
  return (
    <Card>
      <Body>
        Hello from {host.app.name}.
        {host.online ? ' Online.' : ' Offline.'}
      </Body>
    </Card>
  );
}

The whole picture, on your phone.

Android and iOS. Pesos first, any currency after.

Get the app