KYM: Difference between revisions

From Local Area Network
New tool page, source-checked against the project README
 
Plainer prose: fewer quotes, project claims attributed, glosses folded in
 
(One intermediate revision by the same user not shown)
Line 10: Line 10:
| verified_against = README and commit of 10 October 2026
| verified_against = README and commit of 10 October 2026
}}
}}
'''KYM''' (Know Your Money) is a household envelope budget that syncs between its users' own devices over [[Logos Messaging]] (Logos Delivery, also called Waku), with a [[Basecamp]] module for the desktop and an Android app. It is published by the GitHub user vpavlin.
'''KYM''' (Know Your Money) is a household envelope budget by the GitHub user vpavlin that syncs between its users' own devices over [[Logos Messaging]] (Logos Delivery, also called Waku). It has a [[Basecamp]] module for the desktop and an Android app, and the README calls it an alternative to the budgeting app YNAB (You Need A Budget).


== What it does ==
== What it does ==
* Keeps a zero-based envelope budget with no server and no cloud custody of the finances. The README calls it a YNAB alternative.
* It keeps a zero-based envelope budget, which gives every unit of income a spending category. By the README's account, it has no server and no cloud custody of the finances.
* Syncs a household's budget directly between its devices over Logos Delivery, end-to-end encrypted.
* It syncs a household's budget directly between its devices over Logos Delivery. The README says the sync is end-to-end encrypted.
* Holds several budgets at once. Each budget is its own household, with its own secret, topic and event log, and is shared by showing its QR code or pairing code.
* It holds several budgets at once. Each is its own household with its own secret, topic and event log, and is shared by showing its QR code or pairing code.
* Records money as an append-only ledger. An edit is a new event and a delete is a tombstone, so two people editing offline end up with the same budget after sync.
* It records money as an append-only ledger, in which an edit is a new event and a delete is a marker event (a tombstone). Two people editing offline therefore end up with the same budget after sync.
* Runs a desktop view in Basecamp (<code>kym</code>) over a core module (<code>kym_core</code>). The same core can run headless under <code>logoscore</code> as an always-on hub.
* Its desktop view in Basecamp (<code>kym</code>) runs over a core module (<code>kym_core</code>), and the same core can run headless, with no interface, under <code>logoscore</code> as an always-on hub.
* Has an Android companion app for logging an expense quickly, with on-device receipt OCR.
* Its Android companion app logs an expense quickly and reads photographed receipts with on-device OCR.
* Includes a command-line budget with accounts, categories, targets, bank import, reconciliation and reports.
* It includes a command-line budget with accounts, categories, targets, bank import, reconciliation and reports.


Stage: Almost done. The README says the engine, contract, crypto, merge and both module builds "are green and cross-checked", and that "The mobile Delivery transport is still being stabilised on real hardware." The README does not say whether it is an official Logos project.
Stage: Almost done. The README's status says the engine, contract, crypto, merge and both module builds "are green and cross-checked". It ends with "Needs real hardware to finish", naming the phone's receive path and OCR accuracy on real receipts. It adds that the mobile Delivery transport is still being stabilised on real hardware. The README does not say whether it is an official Logos project.


== Use it ==
== Use it ==
Line 31: Line 31:


== Build it ==
== Build it ==
* <code>npm install</code> sets up the packages. <code>npm test</code> runs the engine and sync tests and <code>npm run demo</code> shows two partners editing one budget offline and then syncing.
* <code>npm install</code> sets up the packages. <code>npm test</code> runs the engine and sync tests, and <code>npm run demo</code> shows two partners editing one budget offline and then syncing.
* The Android APK is built and signed locally with <code>scripts/build-apk.sh</code>.
* The Android APK is built and signed locally with <code>scripts/build-apk.sh</code>.
* Releases are cut by pushing a <code>module-v*</code> tag. CI then builds the portable <code>.lgx</code> and refreshes <code>repo/index.json</code>.
* Releases are cut by pushing a <code>module-v*</code> tag, after which CI builds the portable <code>.lgx</code> and refreshes <code>repo/index.json</code>. The only tag so far is v0.8.0.


== Releases ==
== Releases ==
Line 48: Line 48:
* [https://github.com/vpavlin/kym/blob/master/module/metadata.json module/metadata.json] and [https://github.com/vpavlin/kym/blob/master/kym_core/metadata.json kym_core/metadata.json], GitHub
* [https://github.com/vpavlin/kym/blob/master/module/metadata.json module/metadata.json] and [https://github.com/vpavlin/kym/blob/master/kym_core/metadata.json kym_core/metadata.json], GitHub
* [https://github.com/vpavlin/kym/tags kym tags], GitHub
* [https://github.com/vpavlin/kym/tags kym tags], GitHub
* [https://github.com/vpavlin/kym/blob/master/.github/workflows/release-module.yml release-module.yml] workflow, GitHub


{{Page status|Stub}}
{{Page status|Stub}}

Latest revision as of 23:27, 4 November 2026

KYM
What it does: A local-first, peer-to-peer, zero-based budget on the Logos stack
Stage: Almost done
Licence: MIT or Apache-2.0
Verified on 4 November 2026 against README and commit of 10 October 2026.

KYM (Know Your Money) is a household envelope budget by the GitHub user vpavlin that syncs between its users' own devices over Logos Messaging (Logos Delivery, also called Waku). It has a Basecamp module for the desktop and an Android app, and the README calls it an alternative to the budgeting app YNAB (You Need A Budget).

What it does

  • It keeps a zero-based envelope budget, which gives every unit of income a spending category. By the README's account, it has no server and no cloud custody of the finances.
  • It syncs a household's budget directly between its devices over Logos Delivery. The README says the sync is end-to-end encrypted.
  • It holds several budgets at once. Each is its own household with its own secret, topic and event log, and is shared by showing its QR code or pairing code.
  • It records money as an append-only ledger, in which an edit is a new event and a delete is a marker event (a tombstone). Two people editing offline therefore end up with the same budget after sync.
  • Its desktop view in Basecamp (kym) runs over a core module (kym_core), and the same core can run headless, with no interface, under logoscore as an always-on hub.
  • Its Android companion app logs an expense quickly and reads photographed receipts with on-device OCR.
  • It includes a command-line budget with accounts, categories, targets, bank import, reconciliation and reports.

Stage: Almost done. The README's status says the engine, contract, crypto, merge and both module builds "are green and cross-checked". It ends with "Needs real hardware to finish", naming the phone's receive path and OCR accuracy on real receipts. It adds that the mobile Delivery transport is still being stabilised on real hardware. The README does not say whether it is an official Logos project.

Use it

  1. In Basecamp, open Settings, then Package Repositories, and add https://apps.vpavlin.xyz/logos-repo.json.
  2. Install the two packages kym_core (the core module) and kym (the view).
  3. For Android, install the APK from the F-Droid repository at apps.vpavlin.xyz. It is built for arm64 phones.
  4. To try it without Basecamp, run npm install, npm test and npm run demo in the repository, then drive a budget with node cli/kym.mjs.

The README does not name a Basecamp version.

Build it

  • npm install sets up the packages. npm test runs the engine and sync tests, and npm run demo shows two partners editing one budget offline and then syncing.
  • The Android APK is built and signed locally with scripts/build-apk.sh.
  • Releases are cut by pushing a module-v* tag, after which CI builds the portable .lgx and refreshes repo/index.json. The only tag so far is v0.8.0.

Releases

The latest tag is v0.8.0, dated 4 August 2026. module/metadata.json gives the kym view version 0.7.0, and kym_core/metadata.json gives kym_core version 0.8.1.

See also

Sources

Page status: Stub. Stub · Outline · Usable · Guide · Star. Anyone can improve this page and change its status.