<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dmytro Danylov</title>
    <description>The latest articles on DEV Community by Dmytro Danylov (@crazychief).</description>
    <link>https://dev.to/crazychief</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4056943%2F2262babd-032e-4e53-a4db-7fbdcb7b0db3.jpg</url>
      <title>DEV Community: Dmytro Danylov</title>
      <link>https://dev.to/crazychief</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/crazychief"/>
    <language>en</language>
    <item>
      <title>The spreadsheet that eliminated debt in five months — and what it taught me about system design</title>
      <dc:creator>Dmytro Danylov</dc:creator>
      <pubDate>Wed, 05 Aug 2026 13:56:39 +0000</pubDate>
      <link>https://dev.to/crazychief/the-spreadsheet-that-eliminated-debt-in-five-months-and-what-it-taught-me-about-system-design-jg5</link>
      <guid>https://dev.to/crazychief/the-spreadsheet-that-eliminated-debt-in-five-months-and-what-it-taught-me-about-system-design-jg5</guid>
      <description>&lt;p&gt;The spreadsheet had three columns: label, amount, balance. SUM formulas. No macros. No automation beyond basic arithmetic. It looked like a training exercise.&lt;/p&gt;

&lt;p&gt;In 2023, this spreadsheet ran a monthly rhythm that eliminated credit debt in five months. Not because it was clever. Because the habit underneath it ran without willpower.&lt;/p&gt;

&lt;p&gt;What followed is what I found.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;There was income and a credit balance. The standard developer response to debt: build a better tracker. Categorize everything, visualize the trajectory, optimize the payoff schedule.&lt;/p&gt;

&lt;p&gt;I did not do that. I built a progressive allocation system instead.&lt;/p&gt;

&lt;p&gt;Every income payment divided through three containers by fixed percentage: necessities, debt repayment, everything else. The percentages never changed. Month one: same as month two, month three, month five. Income arrives, percentages execute, debt receives its fixed share.&lt;/p&gt;

&lt;p&gt;No optimization. No decisions after setup. The spreadsheet tracked what was happening. That was all it did.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Worked
&lt;/h2&gt;

&lt;p&gt;The system required no daily attention. Income arrives, numbers go into the spreadsheet, allocation runs. Three steps. Same process every time.&lt;/p&gt;

&lt;p&gt;The feedback loop was the shrinking debt balance. Not gamification, not notifications. Just a number moving in the right direction. Month by month the balance fell. Month five: zero.&lt;/p&gt;

&lt;p&gt;The spreadsheet was the UI. The system was the behavior underneath.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Reveals About System Design
&lt;/h2&gt;

&lt;p&gt;The gap between the tool and the system is the gap between what you see and what makes it work.&lt;/p&gt;

&lt;p&gt;Most finance apps try to be better tools. Better categorization, smarter dashboards, fancier visualizations. They solve the wrong problem. The problem is not how to make money management more elegant. The problem is how to make it run without the user having to think about it.&lt;/p&gt;

&lt;p&gt;The spreadsheet worked because it encoded a behavior I had already proven could run without supervision. An app would have failed in the same way most apps fail: it would have asked me to start something instead of amplifying something already running.&lt;/p&gt;

&lt;p&gt;This is the same problem space as software architecture. You can build a system that requires constant intervention, or you can build one that runs. The difference is not the technology. It is the design decision about where the behavior lives.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Principle
&lt;/h2&gt;

&lt;p&gt;Build the habit first. Prove it runs without willpower. Then encode it.&lt;/p&gt;

&lt;p&gt;If you productize before the habit exists, you are building infrastructure for a behavior that has not yet been proven. The spreadsheet worked because the allocation behavior was already functioning. The tool held a shape that had been filled with something real.&lt;/p&gt;

&lt;p&gt;This applies to invoicing pipelines, deployment systems, content workflows. The principle is the same: products encode habits. When the habit comes first, the product amplifies it. When the product comes first, it holds a shape with nothing inside.&lt;/p&gt;

&lt;p&gt;The behavior is the code. The tool is just where it runs.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Cross-posted from &lt;a href="https://crazychief-ltd.com/blog/habit-not-spreadsheet-eliminated-debt" rel="noopener noreferrer"&gt;The System Builder blog&lt;/a&gt;. This is the first piece in a series on building systems that work without you.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>software</category>
      <category>systemdesign</category>
    </item>
  </channel>
</rss>
