The U.S. tax code is an algorithm. And it is badly broken.
I have spent twenty years building software. A guiding principle of elegant software design is to resist complexity. Keep the codebase simple, to enable maintainability, reduce regression risk, and mitigate security vulnerabilities. Keep the user interface simple, so customers can learn on their own and reduce training and support costs.
A tax code is a form of technology - basically a collection of algorithms. And yet, how is it that the far more sophisticated capabilities of other technologies in our life (iPhone, Google, AI etc) are so easy to use but understanding and completing one’s taxes - what could and should be way simpler - is so hard? Some of us spend hours wading back and forth between screens in TurboTax: uploading PDFs, typing in numbers from a stack of papers on your desk…and watching numbers flip red to green like a slot machine. Some of us just pay someone a lot of money to…basically do an esoteric form of data entry. And after all that, we still aren’t sure if it’s right.
What a terrible “customer” experience, attached to what, for most of us, is the single largest expense of our lives and the most important “product” that we use: our citizenship. Americans spend 6.5 billion hours and over $500 billion annually just complying with the tax code, or 1.9% of GDP in pure deadweight loss. Not building products, not funding factories, not making anyone healthier. Just navigating the system. If I was in charge of a product with metrics like that, let’s just say I would not be looking forward to my next performance review.
I’ve surprised myself this past year with just how fascinated I’ve become with tax policy. That is not a typo! Our tax system should encode our fundamental values as a society into a clean specification and ultimately a simple user interface. This kind of thinking echoes what I’ve done my whole career building products: starting by asking ‘what problems are we solving?’ followed by ‘what system most efficiently solves them?’ And I can’t think of a more important ‘product’ problem to focus on right now.
And, at the risk of a wee bit of hyperbole: the U.S. tax code is the most consequential piece of ‘technical debt’ in the country.
The Tax Refactor is a proposal to overhaul our tax code, built upon four key tenets: simplicity, fiscal durability, economic mobility and innovation (all detailed below). The approach I outline is radical in its means, but pragmatic in its result. There are aspects of what I propose that the political right and left will each like (and not like). I’ve gotten promising early feedback from policy researchers and several politicians.
I don’t have the usual bonafides to propose detailed tax policies. I’m not an economist, a tax lawyer, a CPA, or a politician. But at this point in my life, I’ve paid taxes from many different angles: low-paid W-2 teacher, high-paid W-2 software executive, independent consultant, startup employee with options, large tech company employee with options, angel investor, founder with an exit, single filer, married-filing-jointly with dependents…I have seen the good, the bad, the ugly…and the uglier.
And I have shipped high impact software for almost twenty years: software used by tens of millions and generating something around a billion dollars of enterprise value. Eesh that sentence is treading dangerously close to doucheyness—I’m sorry—it’s the last one like that, I promise. And to be clear, the last thing I want to do is “Tech-Splain” how to do government. But I do contend that there are principles of good software design and product management that can be applied to tax policy. Experienced product thinkers (like me!) should be in the room when we’re designing 21st-century tax infrastructure.
Shipping software is the discipline of asking “what’s the simplest system that does the job?” and ruthlessly cutting everything else. The tax code has never been subjected to that discipline.
Three converging dynamics make the current approach to federal taxation unsustainable.
A dire fiscal trajectory. Servicing the national debt now exceeds the federal defense budget and is the fastest-growing major category of federal spending. It consumes roughly 18 cents of every dollar of federal tax revenue, up from about 8 cents a decade ago. The annual deficit is roughly 6% of GDP, well above the 3% threshold commonly cited as a target. Meanwhile, hundreds of billions in taxes owed go uncollected every year, enabled in large part by the very complexity that makes enforcement impossible. If the trajectory doesn’t change, we eventually hit what economists call a debt death spiral: a country borrowing to pay interest on what it already owes, with each rollover demanding higher rates and weaker demand. (For the range of calamitous scenarios, see CBO’s long-term budget projections.)
An economic mobility problem. Only 50% of Americans born in 1984 earn more than their parents did at the same age, down from 92% for those born in 1940. The tax code isn’t the sole cause of this slide (technology, globalization, education gaps all matter), but it’s a major engine that perpetuates it: stepped-up basis, a feckless estate tax, infinitely preferential capital gains rates, to name a few. The deeper problem is structural: a tax code designed around constituencies rather than citizens. (More on that in a future piece.)
The AI transition. Over the next decade, AI will drive structural economic shifts at a pace the tax code was not built to handle. AI is already doing work once reserved for stable, well-paid professionals, and the pace of layoffs, skill shifts, and retraining will outrun any policy built for the labor market we used to have. Worse: AI’s owners are overwhelmingly already-wealthy, so the productivity gains risk pooling exactly where concentration is worst. The system needs the dexterity to respond to those shifts and harness AI’s productivity without further exacerbating the previous two challenges.
One more conjecture, more speculative than the others: the complexity of our tax code is also a quiet driver of our toxic political culture. Most of us have just written off the capacity to really understand how our take-home pay is calculated and what our tax bill will be. When citizens can’t follow the math, they can’t meaningfully debate the trade-offs. So “debate” about the tax code becomes a Rorschach test where everyone retreats to partisan clichés. The first step toward better debate is a tax code we can actually see.
No amount of incremental tinkering (aka “hotfixes”) will address these challenges. We need a bold approach. A refactor.
In software, you refactor a codebase when it still kind of does its job, but has grown so messy that every change is risky and every new contributor needs a month just to untangle how a specific component works. The focus of refactoring is to add lots of new features or rewrite project from scratch. You go in and restructure it: collapse the duplication, delete the dead code, simplify the logic, so the system does the same thing it always did, just on clean foundations that anyone can read and maintain. What the user experiences doesn’t change. The mess underneath does.
A refactor is necessary because software accrues what engineers call “technical debt”: teams under deadline keep shipping quick fixes and new features and never go back to clean up, until the accumulated shortcuts make the whole thing brittle and unsafe. The tax code is technical debt at national scale. The Alternative Minimum Tax was a sensible fix in 1969 to stop 155 wealthy households from paying zero; decades later it had curdled into a trap for millions of upper-middle-class families it was never meant to catch. Almost every provision has a story like that — a well-meaning patch for a real problem, left in place long after the world moved on. The uncomfortable truth underneath all of it, and the reason this project exists, is that we are far better at adding well-meaning fixes than at removing the ones that curdled. Adding a provision is a press release; removing one is a fight. A refactor is the discipline of finally doing the removing.
Often, executives aren’t all that excited about devoting resources to a refactor because, initially, there aren’t any new shiny features to announce. But once a refactor is complete, you can a) move faster because it’s easier because the code is easier and b) there are fewer potential exploits because you’ve reduced the code paths and use cases.
That’s the right word for this project, though it comes with two honest caveats. First, unlike a pure code refactor, I am overhauling the interface, not just the guts underneath — and that’s the whole point. The problem this project starts from is that paying taxes is a miserable user experience; making it legible isn’t a side effect, it’s a goal. Second, a few changes go beyond cleanup into genuine redesign: one Universal Savings Account in place of fifteen, one universal capital-gains exemption in place of a dozen carve-outs. But swapping a tangle of redundant tools for a single well-built one is the most satisfying kind of refactor there is. What I am not doing is changing what the system is fundamentally for — collecting revenue and encoding a few shared priorities. “Reform” implies bolting on new features; “tax cut” and “tax hike” argue about the dials. A refactor is about the architecture: same purpose, far simpler structure, and finally an interface a normal person can use.
A quick note before the list: none of these four is novel, and none is partisan. It’s hard to find anyone who is genuinely against a tax system that’s simpler, more fiscally responsible, fairer to the people still climbing, and friendlier to risk-taking. That’s the point. The radical part of this project isn’t the values — it’s the willingness to actually implement them in code, even when that means deleting provisions with powerful constituencies behind them. The fight is almost never about these goals; it’s about the wiring.
And the guiding set is deliberately tiny: four tenets, full stop. That’s pretty much it. These aren’t the spec — they’re the principles the spec answers to. Every detailed choice that follows from them — every rate, every exemption, every account — should trace back to some combination of these four, and anything that can’t be justified by them has no business existing. That’s a discipline the current code has never had: it optimizes for nothing in particular and everything in general, which is exactly how it sprawled past four thousand pages. Writing the objectives down, keeping the list to four, and holding every provision against them is itself an act of simplification — a kind of meta-simplicity.
Every citizen should be able to understand how they’re taxed. The system itself should be as automated as possible. Simplicity reduces compliance costs, evasion, and the broader economic deadweight loss they create — and enables meaningful debate about national priorities.
Reform must measurably reduce the structural deficit. Closing today’s ~6% of GDP gap toward a sustainable 3% will require revenue, spending discipline, and growth. This project will make a meaningful contribution toward this goal, primarily on the revenue side. Revenue-positive reform is essential.
Building new wealth should be easier than compounding dynastic wealth. The system should not create structural advantages that entrench existing fortunes at the expense of economic mobility.
Risk-taking and entrepreneurship have genuine social value. The framework must preserve strong incentives to start companies, build businesses, and allocate capital productively, particularly where individual risk is highest and social returns are greatest.
The first two tenets (Radical Simplicity, Fiscal Durability) are design constraints. The last two (Fuel the Climb, Reward Innovation) are in productive tension, a quintessentially American one. Anti-dynastic policy, pushed too far, becomes punitive to creative enterprise. Pro-innovation policy, pushed too far, becomes a shelter for inherited wealth, undermining the chance for the next generation to build something of their own. The framework holds this tension in balance.
Essays 2 - 5 are coming soon, fleshed out more fully with details, and linked here once they are released:
Income Tax Reform: Eliminate all deductions (including the mortgage interest deduction and SALT), replace the standard deduction with a 0% bracket. Filing statuses drop from five to two. Nobody earning under $250K sees a tax increase.
Child benefits consolidation: Consolidate the CTC, EITC, and education tax credits into a single universal monthly payment per child.
FICA reform: Ensure long-term solvency of Social Security and Medicare.
Universal Savings Account (USA): Replace 15+ tax-advantaged account types (401(k), IRA, Roth, SEP, SIMPLE, 529, HSA, FSA, and more) with a single universal account.
Together, these five components eliminate an estimated 80% of what an individual filer ever has to deal with: the estate tax, the AMT, the NIIT, roughly a dozen capital gains preferences (QSBS, 1031 exchanges, stepped-up basis, carried interest, and more), three of the five filing statuses, the entire itemized deductions stack, the fifteen-plus tax-advantaged account types, and the alphabet soup of child and education credits.
A free country ought to be able to read the system that taxes it. Let’s build one we can.
By Matt Sly. I’m a software entrepreneur with twenty years of experience building products used by millions of people.
This project is not affiliated with a political party, campaign, or institution. It is an attempt to apply systems thinking, real-world experience, and honest tradeoffs to a problem that sits at the intersection of economics, equity, and long-term national health.
This is meant to be work-in-progress to invite collaboration and critique, similar to an open source software project.
This is a structural proposal, not a fully calibrated legislative bill.
Primarily a revenue-side project, with some modest adjacent cost-cutting (most notably in Social Security). It targets reforms that close roughly half of the targeted deficit reduction, on the assumption that spending discipline and economic growth do the rest.
All figures are directional ranges developed with Claude AI, not point estimates. Formal scoring by JCT/CBO would be needed for legislative purposes.
Corporate taxation (corporate income tax, international tax, transfer pricing) is out of scope. Corporate tax reform is deeply intertwined with global competitiveness, trade policy, and entity structure decisions that deserve their own treatment.
Healthcare tax treatment (including the employer health insurance exclusion, the largest single tax expenditure at ~$300B/yr) is out of scope. Reforming how we tax health benefits is inseparable from healthcare delivery policy, and this project stays focused on the tax system’s structural architecture.
Feedback, critique, and collaboration are welcome: me@mattsly.com