<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: rdoneill</title><link>https://news.ycombinator.com/user?id=rdoneill</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 18 May 2026 09:12:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rdoneill" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: VisiSign – $0.10 per envelope e-signatures with no monthly fee]]></title><description><![CDATA[
<p>Most e-signature platforms charge: per seat, per envelope, API access fees, enterprise contracts<p>We built VisiSign with a different pricing model: $0.10 per envelope via API, no monthly minimum, no contracts, no seat pricing<p>Or $49/month for the hosted team platform: unlimited users, unlimited sends, API included<p>The reason this pricing works is simple:<p>E-signatures are infrastructure now.<p>Twilio doesn’t charge per employee. Stripe doesn’t charge per seat. Cloudflare doesn’t charge by company size.<p>But most e-signature platforms are still priced like 2000s enterprise SaaS.<p>It should work more like payments or email infrastructure: API-first, automation-friendly, embedded into workflows, usage-based when appropriate<p>Real signature infrastructure is more than rendering a PDF: audit trails, timestamps, signer event history, tamper evidence, completion certificates, webhook workflows<p>So we built VisiSign around that assumption.<p><a href="https://visisign.app" rel="nofollow">https://visisign.app</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48154654">https://news.ycombinator.com/item?id=48154654</a></p>
<p>Points: 7</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 15 May 2026 22:17:11 +0000</pubDate><link>https://visisign.app/</link><dc:creator>rdoneill</dc:creator><comments>https://news.ycombinator.com/item?id=48154654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48154654</guid></item><item><title><![CDATA[New comment by rdoneill in "Show HN: VisiGrid CLI – Git-diff for financial reconciliation"]]></title><description><![CDATA[
<p>Hi all — I’m the author.<p>A quick clarification on intent, since “Git diff for reconciliation” can sound broader than it is:<p>VisiGrid CLI is deliberately narrow. It’s not a BI tool, not a data warehouse, and not trying to replace Excel or pandas. It’s a deterministic comparison primitive: given two datasets, it answers what matches, what differs, and what’s missing, with explicit numeric tolerance and machine-checkable output.<p>The main design constraints were:<p>same inputs → same outputs (no ambient recalculation)<p>explicit exit codes so it can run in CI<p>stable JSON output for downstream automation<p>runs fully local (no accounts, no network)<p>I’m pre-v1.0 and very interested in feedback on diff semantics, tolerance handling, or edge cases you’ve hit in reconciliation workflows.<p>Happy to answer questions or go deep on implementation details.</p>
]]></description><pubDate>Tue, 03 Feb 2026 17:11:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46873780</link><dc:creator>rdoneill</dc:creator><comments>https://news.ycombinator.com/item?id=46873780</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46873780</guid></item><item><title><![CDATA[Show HN: VisiGrid CLI – Git-diff for financial reconciliation]]></title><description><![CDATA[
<p>Most financial reconciliation fails silently.<p>A stale Excel filter. A CSV export with reordered rows. A tolerance mismatch that looks “close enough” until it isn’t. By the time a number looks wrong, the mistake is already baked into downstream reports.<p>VisiGrid CLI is a local-first tool that treats reconciliation like Git diff: deterministic, auditable, and safe to run in CI.<p>The recurring failure mode in financial models isn’t bad math — it’s undetected drift. Spreadsheets rarely fail loudly. This tool is designed to make drift explicit.<p>The core primitive visigrid-cli diff answers one question reliably:<p>What matches, what differs, and what’s missing — with numeric tolerance handled explicitly.<p>Think Git diff, but for datasets:<p>- Schema-aware row matching (--key)
- Tolerance-aware numeric comparison
- Deterministic output (no hidden state or background recalculation)
- CI-grade exit codes<p><pre><code>  * 0 = reconciled
  * 1 = material drift detected
</code></pre>
Example:<p>textvisigrid-cli diff vendor.csv internal.csv \
  --key invoice_id \
  --tolerance 0.01 \
  --out json<p>The output is a versioned JSON contract (contract_version = 1) meant for machines, not eyeballing.
Supporting tools<p>The CLI also includes focused primitives that support reconciliation workflows:<p>- convert — pipeable XLSX / CSV / TSV / JSON conversion (stdin/stdout)
- calc — evaluate spreadsheet formulas headlessly
- replay — record structural spreadsheet edits as Lua, replay and verify with deterministic fingerprints<p>Everything runs locally. No accounts. No network.<p><i>Why it’s different</i><p>Deterministic by design — same inputs, same outputs, every time
Machine-checkable contract — stable schema and explicit exit semantics
Built for automation — CI, cron jobs, and reconciliation checks<p>If a reconciliation passes today, it will pass tomorrow for the same inputs.<p>The GUI
VisiGrid started as a native spreadsheet GUI (built with GPUI/Zed). Over time, it became clear the GUI shouldn’t do reconciliation — it should explain it.<p>When the CLI flags drift, the GUI acts as a debugger: visualize dependencies, trace formulas, and see exactly where a number came from.<p>CLI finds the problem. GUI explains it.<p>I’m pre-v1.0 and would love feedback from people dealing with:<p>- financial reconciliation
- audit trails
- data pipelines where correctness matters more than convenience<p>GitHub: <a href="https://github.com/VisiGrid/VisiGrid" rel="nofollow">https://github.com/VisiGrid/VisiGrid</a><p>Docs & downloads: <a href="https://visigrid.app" rel="nofollow">https://visigrid.app</a><p>Happy to answer questions about diff semantics, tolerance handling, or the Rust internals.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46873757">https://news.ycombinator.com/item?id=46873757</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 03 Feb 2026 17:09:53 +0000</pubDate><link>https://visigrid.app</link><dc:creator>rdoneill</dc:creator><comments>https://news.ycombinator.com/item?id=46873757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46873757</guid></item><item><title><![CDATA[New comment by rdoneill in "Balanced payments is shutting down"]]></title><description><![CDATA[
<p>I contacted forte a while ago when i was considering switching from balanced - Their prices were higher than balanced offered:<p>$19.95 a month for ACH/E-Check
$.24 per check verification
$.25 per ACH transaction
$2.00 Per rejected item fee for ACH
Customer Support & Training Included
Free Recurring Transaction Manager</p>
]]></description><pubDate>Sat, 14 Mar 2015 23:38:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=9204682</link><dc:creator>rdoneill</dc:creator><comments>https://news.ycombinator.com/item?id=9204682</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9204682</guid></item></channel></rss>