<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://alienware-1.tailb5c716.ts.net/index.php?action=history&amp;feed=atom&amp;title=KYM</id>
	<title>KYM - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://alienware-1.tailb5c716.ts.net/index.php?action=history&amp;feed=atom&amp;title=KYM"/>
	<link rel="alternate" type="text/html" href="https://alienware-1.tailb5c716.ts.net/index.php?title=KYM&amp;action=history"/>
	<updated>2026-11-06T01:25:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://alienware-1.tailb5c716.ts.net/index.php?title=KYM&amp;diff=851&amp;oldid=prev</id>
		<title>Eleutherious: Plainer prose: fewer quotes, project claims attributed, glosses folded in</title>
		<link rel="alternate" type="text/html" href="https://alienware-1.tailb5c716.ts.net/index.php?title=KYM&amp;diff=851&amp;oldid=prev"/>
		<updated>2026-11-04T23:27:08Z</updated>

		<summary type="html">&lt;p&gt;Plainer prose: fewer quotes, project claims attributed, glosses folded in&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:27, 4 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| verified_against = README and commit of 10 October 2026&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| verified_against = README and commit of 10 October 2026&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;KYM&#039;&#039;&#039; (Know Your Money) is a household envelope budget that syncs between its users&#039; own devices over [[Logos Messaging]] (Logos Delivery, also called Waku)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, with &lt;/del&gt;a [[Basecamp]] module for the desktop and an Android app&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. It is published by &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GitHub user vpavlin&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;KYM&#039;&#039;&#039; (Know Your Money) is a household envelope budget &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;by the GitHub user vpavlin &lt;/ins&gt;that syncs between its users&#039; own devices over [[Logos Messaging]] (Logos Delivery, also called Waku)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. It has &lt;/ins&gt;a [[Basecamp]] module for the desktop and an Android app&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, and the README calls it an alternative to &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;budgeting app YNAB (You Need A Budget)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What it does ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What it does ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It keeps a zero-based envelope budget, which gives every unit of income a spending category. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The &lt;/del&gt;README &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;says &lt;/del&gt;it has no server and no cloud custody of the finances&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. The README calls it an alternative to the budgeting app YNAB (You Need A Budget)&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It keeps a zero-based envelope budget, which gives every unit of income a spending category. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;By the &lt;/ins&gt;README&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;s account, &lt;/ins&gt;it has no server and no cloud custody of the finances.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It syncs a household&amp;#039;s budget directly between its devices over Logos Delivery. The README says the sync is end-to-end encrypted.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It syncs a household&amp;#039;s budget directly between its devices over Logos Delivery. The README says the sync is end-to-end encrypted.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It holds several budgets at once. Each &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;budget &lt;/del&gt;is its own household&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;with its own secret, topic and event log, and is shared by showing its QR code or pairing code.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It records money as an append-only ledger&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. An &lt;/del&gt;edit is a new event and a delete is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;recorded as &lt;/del&gt;a marker event (a tombstone)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, so two &lt;/del&gt;people editing offline end up with the same budget after sync.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It records money as an append-only ledger&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, in which an &lt;/ins&gt;edit is a new event and a delete is a marker event (a tombstone)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Two &lt;/ins&gt;people editing offline &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;therefore &lt;/ins&gt;end up with the same budget after sync.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It runs a &lt;/del&gt;desktop view in Basecamp (&amp;lt;code&amp;gt;kym&amp;lt;/code&amp;gt;) over a core module (&amp;lt;code&amp;gt;kym_core&amp;lt;/code&amp;gt;)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. The &lt;/del&gt;same core can run headless &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(&lt;/del&gt;with no interface&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) &lt;/del&gt;under &amp;lt;code&amp;gt;logoscore&amp;lt;/code&amp;gt; as an always-on hub.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Its &lt;/ins&gt;desktop view in Basecamp (&amp;lt;code&amp;gt;kym&amp;lt;/code&amp;gt;) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;runs &lt;/ins&gt;over a core module (&amp;lt;code&amp;gt;kym_core&amp;lt;/code&amp;gt;)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, and the &lt;/ins&gt;same core can run headless&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;with no interface&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;under &amp;lt;code&amp;gt;logoscore&amp;lt;/code&amp;gt; as an always-on hub.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It has an &lt;/del&gt;Android companion app &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for logging &lt;/del&gt;an expense quickly&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;with on-device &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;receipt &lt;/del&gt;OCR &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(reading the text of a photographed receipt)&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Its &lt;/ins&gt;Android companion app &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;logs &lt;/ins&gt;an expense quickly &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and reads photographed receipts &lt;/ins&gt;with on-device OCR.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It includes a command-line budget with accounts, categories, targets, bank import, reconciliation and reports.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It includes a command-line budget with accounts, categories, targets, bank import, reconciliation and reports.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Stage: Almost done. The README&#039;s status ends with &quot;Needs real hardware to finish&quot;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;followed by &lt;/del&gt;the phone&#039;s receive path and OCR accuracy on real receipts&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. It says the engine, contract, crypto, merge and both module builds &quot;are green and cross-checked&quot;&lt;/del&gt;. It adds that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;The &lt;/del&gt;mobile Delivery transport is still being stabilised on real hardware.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; &lt;/del&gt;The README does not say whether it is an official Logos project.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Stage: Almost done. The README&#039;s status &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;says the engine, contract, crypto, merge and both module builds &quot;are green and cross-checked&quot;. It &lt;/ins&gt;ends with &quot;Needs real hardware to finish&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;naming &lt;/ins&gt;the phone&#039;s receive path and OCR accuracy on real receipts. It adds that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;mobile Delivery transport is still being stabilised on real hardware. The README does not say whether it is an official Logos project.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Use it ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Use it ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l31&quot;&gt;Line 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Build it ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Build it ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;npm install&amp;lt;/code&amp;gt; sets up the packages. &amp;lt;code&amp;gt;npm test&amp;lt;/code&amp;gt; runs the engine and sync tests and &amp;lt;code&amp;gt;npm run demo&amp;lt;/code&amp;gt; shows two partners editing one budget offline and then syncing.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;npm install&amp;lt;/code&amp;gt; sets up the packages. &amp;lt;code&amp;gt;npm test&amp;lt;/code&amp;gt; runs the engine and sync tests&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;and &amp;lt;code&amp;gt;npm run demo&amp;lt;/code&amp;gt; shows two partners editing one budget offline and then syncing.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The Android APK is built and signed locally with &amp;lt;code&amp;gt;scripts/build-apk.sh&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The Android APK is built and signed locally with &amp;lt;code&amp;gt;scripts/build-apk.sh&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Releases are cut by pushing a &amp;lt;code&amp;gt;module-v*&amp;lt;/code&amp;gt; tag&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. &lt;/del&gt;CI &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;then &lt;/del&gt;builds the portable &amp;lt;code&amp;gt;.lgx&amp;lt;/code&amp;gt; and refreshes &amp;lt;code&amp;gt;repo/index.json&amp;lt;/code&amp;gt;. The only tag so far is v0.8.0.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Releases are cut by pushing a &amp;lt;code&amp;gt;module-v*&amp;lt;/code&amp;gt; tag&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, after which &lt;/ins&gt;CI builds the portable &amp;lt;code&amp;gt;.lgx&amp;lt;/code&amp;gt; and refreshes &amp;lt;code&amp;gt;repo/index.json&amp;lt;/code&amp;gt;. The only tag so far is v0.8.0.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Releases ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Releases ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Eleutherious</name></author>
	</entry>
	<entry>
		<id>https://alienware-1.tailb5c716.ts.net/index.php?title=KYM&amp;diff=813&amp;oldid=prev</id>
		<title>Eleutherious: Second check: fixes to facts, dates (UTC), glosses and attribution</title>
		<link rel="alternate" type="text/html" href="https://alienware-1.tailb5c716.ts.net/index.php?title=KYM&amp;diff=813&amp;oldid=prev"/>
		<updated>2026-11-04T21:00:56Z</updated>

		<summary type="html">&lt;p&gt;Second check: fixes to facts, dates (UTC), glosses and attribution&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:00, 4 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What it does ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What it does ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Keeps &lt;/del&gt;a zero-based envelope budget &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;with &lt;/del&gt;no server and no cloud custody of the finances. The README calls it &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/del&gt;YNAB &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;alternative&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It keeps &lt;/ins&gt;a zero-based envelope budget&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, which gives every unit of income a spending category. The README says it has &lt;/ins&gt;no server and no cloud custody of the finances. The README calls it &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an alternative to the budgeting app &lt;/ins&gt;YNAB &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(You Need A Budget)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Syncs &lt;/del&gt;a household&#039;s budget directly between its devices over Logos Delivery&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;end-to-end encrypted.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It syncs &lt;/ins&gt;a household&#039;s budget directly between its devices over Logos Delivery&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. The README says the sync is &lt;/ins&gt;end-to-end encrypted.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Holds &lt;/del&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It holds &lt;/ins&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Records &lt;/del&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It records &lt;/ins&gt;money as an append-only ledger. An edit is a new event and a delete is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;recorded as a marker event (&lt;/ins&gt;a tombstone&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;, so two people editing offline end up with the same budget after sync.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Runs &lt;/del&gt;a desktop view in Basecamp (&amp;lt;code&amp;gt;kym&amp;lt;/code&amp;gt;) over a core module (&amp;lt;code&amp;gt;kym_core&amp;lt;/code&amp;gt;). The same core can run headless under &amp;lt;code&amp;gt;logoscore&amp;lt;/code&amp;gt; as an always-on hub.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It runs &lt;/ins&gt;a desktop view in Basecamp (&amp;lt;code&amp;gt;kym&amp;lt;/code&amp;gt;) over a core module (&amp;lt;code&amp;gt;kym_core&amp;lt;/code&amp;gt;). The same core can run headless &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(with no interface) &lt;/ins&gt;under &amp;lt;code&amp;gt;logoscore&amp;lt;/code&amp;gt; as an always-on hub.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Has &lt;/del&gt;an Android companion app for logging an expense quickly, with on-device receipt OCR.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It has &lt;/ins&gt;an Android companion app for logging an expense quickly, with on-device receipt OCR &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(reading the text of a photographed receipt)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Includes &lt;/del&gt;a command-line budget with accounts, categories, targets, bank import, reconciliation and reports.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It includes &lt;/ins&gt;a command-line budget with accounts, categories, targets, bank import, reconciliation and reports.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Stage: Almost done. The README says the engine, contract, crypto, merge and both module builds &quot;are green and cross-checked&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, and &lt;/del&gt;that &quot;The mobile Delivery transport is still being stabilised on real hardware.&quot; The README does not say whether it is an official Logos project.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Stage: Almost done. The README&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;s status ends with &quot;Needs real hardware to finish&quot;, followed by the phone&#039;s receive path and OCR accuracy on real receipts. It &lt;/ins&gt;says the engine, contract, crypto, merge and both module builds &quot;are green and cross-checked&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. It adds &lt;/ins&gt;that &quot;The mobile Delivery transport is still being stabilised on real hardware.&quot; The README does not say whether it is an official Logos project.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Use it ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Use it ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot;&gt;Line 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;npm install&amp;lt;/code&amp;gt; sets up the packages. &amp;lt;code&amp;gt;npm test&amp;lt;/code&amp;gt; runs the engine and sync tests and &amp;lt;code&amp;gt;npm run demo&amp;lt;/code&amp;gt; shows two partners editing one budget offline and then syncing.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;npm install&amp;lt;/code&amp;gt; sets up the packages. &amp;lt;code&amp;gt;npm test&amp;lt;/code&amp;gt; runs the engine and sync tests and &amp;lt;code&amp;gt;npm run demo&amp;lt;/code&amp;gt; shows two partners editing one budget offline and then syncing.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The Android APK is built and signed locally with &amp;lt;code&amp;gt;scripts/build-apk.sh&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The Android APK is built and signed locally with &amp;lt;code&amp;gt;scripts/build-apk.sh&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Releases are cut by pushing a &amp;lt;code&amp;gt;module-v*&amp;lt;/code&amp;gt; tag. CI then builds the portable &amp;lt;code&amp;gt;.lgx&amp;lt;/code&amp;gt; and refreshes &amp;lt;code&amp;gt;repo/index.json&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Releases are cut by pushing a &amp;lt;code&amp;gt;module-v*&amp;lt;/code&amp;gt; tag. CI then builds the portable &amp;lt;code&amp;gt;.lgx&amp;lt;/code&amp;gt; and refreshes &amp;lt;code&amp;gt;repo/index.json&amp;lt;/code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. The only tag so far is v0.8.0&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Releases ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Releases ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 48:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [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&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [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&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://github.com/vpavlin/kym/tags kym tags], GitHub&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://github.com/vpavlin/kym/tags kym tags], GitHub&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [https://github.com/vpavlin/kym/blob/master/.github/workflows/release-module.yml release-module.yml] workflow, GitHub&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Page status|Stub}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Page status|Stub}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Eleutherious</name></author>
	</entry>
	<entry>
		<id>https://alienware-1.tailb5c716.ts.net/index.php?title=KYM&amp;diff=785&amp;oldid=prev</id>
		<title>Eleutherious: New tool page, source-checked against the project README</title>
		<link rel="alternate" type="text/html" href="https://alienware-1.tailb5c716.ts.net/index.php?title=KYM&amp;diff=785&amp;oldid=prev"/>
		<updated>2026-11-04T19:09:51Z</updated>

		<summary type="html">&lt;p&gt;New tool page, source-checked against the project README&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox tool&lt;br /&gt;
| name        = KYM&lt;br /&gt;
| what        = A local-first, peer-to-peer, zero-based budget on the Logos stack&lt;br /&gt;
| stage       = Almost done&lt;br /&gt;
| licence     = MIT or Apache-2.0&lt;br /&gt;
| code        = https://github.com/vpavlin/kym&lt;br /&gt;
| use         = https://github.com/vpavlin/kym#install--distribute&lt;br /&gt;
| build       = https://github.com/vpavlin/kym#try-it&lt;br /&gt;
| verified_on = 4 November 2026&lt;br /&gt;
| verified_against = README and commit of 10 October 2026&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KYM&amp;#039;&amp;#039;&amp;#039; (Know Your Money) is a household envelope budget that syncs between its users&amp;#039; 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.&lt;br /&gt;
&lt;br /&gt;
== What it does ==&lt;br /&gt;
* Keeps a zero-based envelope budget with no server and no cloud custody of the finances. The README calls it a YNAB alternative.&lt;br /&gt;
* Syncs a household&amp;#039;s budget directly between its devices over Logos Delivery, end-to-end encrypted.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Runs a desktop view in Basecamp (&amp;lt;code&amp;gt;kym&amp;lt;/code&amp;gt;) over a core module (&amp;lt;code&amp;gt;kym_core&amp;lt;/code&amp;gt;). The same core can run headless under &amp;lt;code&amp;gt;logoscore&amp;lt;/code&amp;gt; as an always-on hub.&lt;br /&gt;
* Has an Android companion app for logging an expense quickly, with on-device receipt OCR.&lt;br /&gt;
* Includes a command-line budget with accounts, categories, targets, bank import, reconciliation and reports.&lt;br /&gt;
&lt;br /&gt;
Stage: Almost done. The README says the engine, contract, crypto, merge and both module builds &amp;quot;are green and cross-checked&amp;quot;, and that &amp;quot;The mobile Delivery transport is still being stabilised on real hardware.&amp;quot; The README does not say whether it is an official Logos project.&lt;br /&gt;
&lt;br /&gt;
== Use it ==&lt;br /&gt;
# In Basecamp, open Settings, then Package Repositories, and add &amp;lt;code&amp;gt;https://apps.vpavlin.xyz/logos-repo.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Install the two packages &amp;lt;code&amp;gt;kym_core&amp;lt;/code&amp;gt; (the core module) and &amp;lt;code&amp;gt;kym&amp;lt;/code&amp;gt; (the view).&lt;br /&gt;
# For Android, install the APK from the F-Droid repository at [https://apps.vpavlin.xyz apps.vpavlin.xyz]. It is built for arm64 phones.&lt;br /&gt;
# To try it without Basecamp, run &amp;lt;code&amp;gt;npm install&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;npm test&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;npm run demo&amp;lt;/code&amp;gt; in the repository, then drive a budget with &amp;lt;code&amp;gt;node cli/kym.mjs&amp;lt;/code&amp;gt;.&lt;br /&gt;
The README does not name a Basecamp version.&lt;br /&gt;
&lt;br /&gt;
== Build it ==&lt;br /&gt;
* &amp;lt;code&amp;gt;npm install&amp;lt;/code&amp;gt; sets up the packages. &amp;lt;code&amp;gt;npm test&amp;lt;/code&amp;gt; runs the engine and sync tests and &amp;lt;code&amp;gt;npm run demo&amp;lt;/code&amp;gt; shows two partners editing one budget offline and then syncing.&lt;br /&gt;
* The Android APK is built and signed locally with &amp;lt;code&amp;gt;scripts/build-apk.sh&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Releases are cut by pushing a &amp;lt;code&amp;gt;module-v*&amp;lt;/code&amp;gt; tag. CI then builds the portable &amp;lt;code&amp;gt;.lgx&amp;lt;/code&amp;gt; and refreshes &amp;lt;code&amp;gt;repo/index.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
The latest tag is v0.8.0, dated 4 August 2026. &amp;lt;code&amp;gt;module/metadata.json&amp;lt;/code&amp;gt; gives the &amp;lt;code&amp;gt;kym&amp;lt;/code&amp;gt; view version 0.7.0, and &amp;lt;code&amp;gt;kym_core/metadata.json&amp;lt;/code&amp;gt; gives &amp;lt;code&amp;gt;kym_core&amp;lt;/code&amp;gt; version 0.8.1.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Basecamp]]&lt;br /&gt;
* [[Tools]]&lt;br /&gt;
* [[Logos Messaging]]&lt;br /&gt;
* [[Perun]]&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* [https://github.com/vpavlin/kym kym README], GitHub, last commit 10 October 2026&lt;br /&gt;
* [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&lt;br /&gt;
* [https://github.com/vpavlin/kym/tags kym tags], GitHub&lt;br /&gt;
&lt;br /&gt;
{{Page status|Stub}}&lt;/div&gt;</summary>
		<author><name>Eleutherious</name></author>
	</entry>
</feed>