Introducing “The Tax Refactor”

The U.S. tax code is an algorithm. And it is badly broken.

I have spent twenty years building software. A guiding principle of good software design is to resist complexity. Keep the code simple, so it’s maintainable and secure. Keep the interface simple, so people can use it without a manual.

A tax code is software too: a collection of algorithms. And it has a terrible user interface. Some of us spend hours in TurboTax, uploading PDFs, typing in numbers from a stack of papers on the desk…and watching the total flip from red (owed!) to green (refund!) like a slot machine. Some of us pay someone a lot of money to do what is basically an esoteric form of data entry. And after all that, we still aren’t sure it’s right.

Americans spend 6.5 billion hours and over $500 billion a year just complying with the tax code: 1.9% of GDP. Not building products, not funding factories, not making anyone healthier. Just navigating the system. If I ran a software product with metrics like that, I would not be looking forward to my next performance review.

The Tax Refactor is my proposal to fix it, built on four tenets: simplicity, fiscal durability, economic mobility, and innovation. It’s radical in its means and pragmatic in its results, and there are parts the right and the left will each like (and not like). I’ve gotten promising early feedback from policy researchers and several politicians.

What Do You Mean by “Refactor”?

Software accrues what engineers call “technical debt”: teams under deadline keep shipping quick fixes and new features and never go back to clean up. After enough years, you get “spaghetti code,” so tangled that every change is risky and every new contributor needs a month just to figure out how one component works.

The tax code has accrued technical debt at national scale for decades. For example, 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.

A refactor doesn’t change what a system is fundamentally for (in this case, collecting revenue and encoding a few shared priorities). It collapses the duplication, deletes the dead code, and simplifies the logic, so the system still works, just on clean foundations that more people can read and maintain.

Executives are rarely excited about a refactor: it costs resources, and there are no shiny new features to announce. Politics has the same problem. We are far better at adding well-meaning fixes than at removing the ones we no longer need. But once a refactor is done, you can a) move faster, because the code is easier to work with, and b) sleep better, because fewer code paths mean fewer exploits.

The Design Tenets

At Amazon, where I worked for four years, teams write down a short set of tenets as guardrails for decisions. Good tenets are opinionated: they help decide what to do and, more importantly, what not to do. And they traditionally end with “unless you know better ones,” which leaves the door open for debate and keeps them from hardening into dogma.

These are the current tenets for the Tax Refactor. Every rate, exemption, and design choice in this project has to trace back to them.

1. Radical Simplicity.

Every citizen should be able to understand how they’re taxed. The system itself should be as automated as possible. Simplicity reduces the economic deadweight loss of compliance and evasion, and enables more focused and meaningful debate about national priorities.

2. Fiscal Durability.

Reform must measurably reduce the structural federal deficit. Closing today’s ~6% of GDP gap toward a sustainable 3% will require revenue, spending discipline, and economic growth. This project will make a meaningful contribution toward this goal, primarily on the revenue side.

3. Fuel the Climb.

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.

4. Reward Innovation.

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.

A note on Tenets 3 and 4.

The last two tenets (Fuel the Climb, Reward Innovation) pull against each other, on purpose. 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.

Where the Refactor Starts: Capital Gains

Anyone who has led a big refactor will tell you the same thing: don’t rewrite everything at once. Pick the module that’s most broken, fix it, ship it, and let it prove the approach.

For the tax code, that module is capital gains. It’s where the code is most tangled: stepped-up basis, QSBS, 1031 exchanges, carried interest, the estate tax, the AMT, the NIIT, each one a patch on a patch. It’s where the gap between what the law says and what people actually pay is widest. And it’s where Tenets 3 and 4 collide hardest: can new wealth still be built, and can old wealth keep compounding untaxed forever?

The first proposal is the Lifetime Gains Framework: a universal lifetime exemption on capital gains, with rates that rise as your cumulative gains do. It replaces today’s patchwork of capital gains preferences, raises more than $100 billion a year in net new revenue, and goes after what I think is the root cause of accelerating wealth disparity. Read the essay →

More modules will follow, built against the same four tenets. Capital gains comes first because it’s where getting it right matters most.

Why Now

A dire fiscal trajectory. Interest on the national debt now exceeds the defense budget and consumes roughly 18 cents of every federal tax dollar, up from about 8 cents a decade ago. The deficit runs about 6% of GDP, double the 3% commonly cited as a target. Meanwhile, hundreds of billions in taxes owed go uncollected every year, in large part because complexity makes enforcement so hard. (For the range of bad scenarios, see CBO’s long-term 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, and education gaps all matter), but it’s a major engine that perpetuates it: stepped-up basis, a feckless estate tax, and preferential capital gains rates, to name a few.

The AI transition. AI is already doing work once reserved for well-paid professionals, and its owners are overwhelmingly already wealthy. If the productivity gains show up as capital gains, a tax code that barely touches capital gains will let them pool exactly where concentration is already worst.

Why Is a Software Guy Writing about Taxes?

I’m not an economist, a tax lawyer, a CPA, or a politician. But I’ve paid taxes from a lot of angles: low-paid W-2 teacher, high-paid W-2 software executive, independent consultant, startup employee with options, big-tech 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’ve spent twenty years shipping software, some of it used by tens of millions of people. The last thing I want to do is “tech-splain” how to do government. But good product design comes down to asking “what’s the simplest system that does the job?” and ruthlessly cutting everything else. The tax code should be held to that discipline.

This project isn’t affiliated with any party, campaign, or institution. It’s one person applying systems thinking and real-world experience to a hard problem, in public, with the work shown.

If you read one more thing, make it the Lifetime Gains essay. It’s the piece I’m most confident in, so it’s the one I most want people to stress-test. This is version one. Tell me where it breaks.

A few disclaimers