My investing strategy
My previous post showed the math: a Seattle engineering income at ~7% real returns reaches the rat-race escape zone (FIRE) in about a decade. This is the operating manual that turns that math into a portfolio.
The ticker list is the smallest part. What actually decides whether you escape is the system around the tickers — which account a dollar belongs in, how you spend, how you sit on your hands during a 30% drawdown. The portfolio is the visible 10%; cash flow, tax structure, and behavior are the 90% underneath.
Not financial advice. Copy the reasoning, not the percentages. Several assumptions baked into this allocation — including U.S. tax residence and a no-state-income-tax state — are spelled out just below.
What this portfolio is not for
Before any of the mechanics below, the most important thing to be honest about: this is an equity-heavy portfolio — about 95% stocks. That means it can fall 30–50% in a single year, and it will, more than once over a multi-decade horizon. The whole plan only works if you can sit through a drawdown like that and keep buying through it. None of the tax-engine cleverness below matters if you panic-sell at the bottom and lock in losses that take a decade to recover. That backbone — keep contributing, don’t sell, ignore the headlines — is the actual prerequisite. The mechanics are a distant second.
A few other things worth being explicit about, so this isn’t treated as a one-size-fits-all template:
- Multi-decade horizon assumed. If you might need the money within five years, get far more conservative.
- U.S. tax resident during accumulation. QDI / 0% LTCG mechanics are U.S.-specific; international cousins (Japan’s NISA, the UK’s ISA, etc.) have their own optimal portfolios.
- No-state-income-tax state (WA, TX, FL, NV, TN, …). In CA, NY, OR, or anywhere that taxes gains and dividends as ordinary income, asset-location math shifts — VTEB’s federal exemption matters less, and high-QDI taxable holdings lose part of their edge to state tax.
- Moderate-to-high income. The 401(k) + Roth + HSA + taxable stack only fills the way described if you’re saturating the tax-advantaged buckets and overflowing into taxable.
- Does not include 529, real estate, or self-directed retirement accounts. Each is its own essay.
If any of the above is a hard no, the rest of this post is interesting reading but not your operating manual. If you’re still in — and especially if you’ve held through at least one real drawdown without selling — keep going.
The whole portfolio, in one diagram
flowchart LR
subgraph EQ["Equity (~95%)"]
direction TB
CORE["US large-cap core (~70%)<br/>VOO + FXAIX"]
INTL["International core (~15%)<br/>VEA · FNDF · etc."]
HEDGE["Roth hedge (~15%)<br/>AVUV · AVDV · DXJ · TSM"]
end
subgraph SH["Cash shield (~5%, fixed $)"]
SHIELD["VTEB + SPAXX<br/>1 yr essential expenses"]
end
CORE --> TX["Taxable + 401(k) + HSA<br/>(calm, high-QDI)"]
INTL --> TX
HEDGE --> RO["Roth IRA only<br/>(quarantine tax-ugly stuff)"]
SHIELD --> CMA["CMA<br/>(separate from brokerage)"]
Eight funds plus one stock (pick one of the developed-market international options below — the rest are interchangeable). Allocations are percentages of equity except the cash shield, which is a fixed dollar amount equal to one year of essential expenses.
| Sleeve | Tickers | Account | Allocation | At $1M |
|---|---|---|---|---|
| US large-cap core | VOO / SPYM, FXAIX | Taxable + 401(k) + Roth + HSA | ~70% | $700k |
| International core | VEA / SCHF / EFA / EFV / FIVA / FNDF | Taxable | ~15% | $150k |
| International + small-cap hedge | AVUV, AVDV, DXJ, TSM | Roth (equal-weighted) | ~15% | $150k |
| Cash shield | VTEB, SPAXX | CMA | fixed ~$40–50k | ~$40–50k |
Scale linearly: at $100k, divide by ten; at $2M, double — except the shield, which stays fixed. Essential expenses don’t scale with net worth, so the shield’s share shrinks as the portfolio grows. Exactly right.
Under ~$100k: don’t read the rest. Just buy VOO.
flowchart LR
A[Total invested?] -->|"< $100k"| B["100% VOO / FXAIX everywhere.<br/>Focus on income + savings rate.<br/>Come back at $100k."]
A -->|"≥ $100k"| C["Keep reading.<br/>Asset location starts to move the dial."]
Below ~$100k, the dominant lever is your income and savings rate, not your allocation. The trap is diworsification — buying half a dozen “interesting” ETFs that are 70–90% overlapping with the S&P 500 underneath. Same exposure, more tax-reporting complexity, urge to tinker every month, meaningful underperformance versus just buying VOO on day one and never touching it.
Under $100k, do exactly this:
- Fill tax-advantaged accounts in order: 401(k) to match → HSA (if HDHP) → 401(k) pre-tax limit → Roth IRA (backdoor if needed) → taxable.
- Hold 100% VOO (or FXAIX in 401(k) / Roth / HSA) across all of them.
- Right-size the cash buffer. A $40–50k / one-year shield is overkill at this stage — it’d be half your net worth sitting in cash and bonds. Hold ~6 months of essential expenses instead (roughly half the steady-state target), then put every additional dollar into stocks immediately. Scale up to the full one-year shield as the portfolio crosses ~$200k.
- Spend real attention on income and spending efficiency — they move the timeline far more than allocation does.
- Come back at ~$100k — diversification layers on top, it doesn’t substitute.
The core: the S&P 500 (~70%)
A boring, market-cap-weighted index of the American corporate engine, held as the cheapest available S&P 500 vehicle in each account:
- An S&P 500 ETF in taxable — VOO (0.03%) or the slightly cheaper SPYM (SPDR Portfolio S&P 500, 0.02%); interchangeable vehicles for the same index.
- A zero-fee S&P 500 index fund in tax-advantaged accounts — e.g., FXAIX (Fidelity 500 Index) in the 401(k), Roth IRA, and HSA.
Same exposure at near-identical expense ratios. Holding a mutual fund in tax-advantaged accounts and an ETF in taxable is purely operational: the mutual fund is whatever your provider offers fee-free inside the wrapper; the ETF buys a small tax-efficiency edge in taxable.
The thesis: rather than guess which tech giants dominate the next two decades, buy the whole index and capture top-heavy growth automatically. If Apple or Nvidia stalls, something else will be 12% of the index in five years — that’s the index’s job. The S&P 500 has beaten the average actively-managed equity fund over every long horizon for fifty years. Or as Warren Buffett put it in his 2020 Berkshire letter: “Never bet against America.”
Expense ratios are non-negotiable for the core (VOO 0.03%, SPYM 0.02%, FXAIX 0.015%). A 0.50% fund here silently costs six figures over thirty years on a seven-figure portfolio. Outside the core, fee tolerance rises with what you get — a developed-market intl ETF runs anywhere from ~0.03% (VEA) to ~0.25% (FNDF, FIVA) depending on whether you want plain market-cap or a fundamental/value tilt; DXJ (~0.43%) buys currency hedging. Know what the fee is buying. Don’t pay it on the core.
The international core: developed-market only, in taxable (~15%)
Global market-cap-weight fluctuates over time, but it is roughly 60–65% U.S. / 35–40% international (the Bogleheads three-fund default). I run ~75% / ~25%, close enough. The bigger divergence is what kind of international goes in which account — and the dividing line is developed markets (DM) vs. emerging markets (EM):
- Taxable = developed-market only. Companies in Europe, Australasia, and the Far East (the EAFE universe) sit in countries with U.S. tax treaties — their dividends can qualify as QDI, and foreign taxes withheld are claimable as a foreign tax credit (FTC) on your 1040. Both reasons make a DM fund more tax-efficient in taxable than in a Roth.
- Emerging markets → Roth only. EM dividends don’t qualify for QDI (those foreign corporations don’t meet the IRS criteria), so they’re taxed as ordinary income in taxable. That’s why funds that mix EM into a single ticker (VXUS, VEU) cap out around 70–80% QDI even in good years — the EM slice mathematically drags the headline down.
The reason this split matters at all is the bridge — the years between FIRE and age 59½ when retirement accounts unlock:
timeline
title When each account funds your spending
Today → FIRE date : W-2 + RSUs fill every account
FIRE → age 59½ : Sell from taxable only ("the bridge")
Age 59½ → end : 401(k) · Roth · HSA all unlock
Taxable is what funds the bridge years, so that bucket has to be calm and tax-efficient. EM, international small-cap, and currency hedges are volatile and tax-ugly — exactly wrong for the bridge, exactly right for the Roth.
Several developed-market funds work for the taxable slot. Any of these does the job — pick one and do your own research on weighting, expense ratio, and recent QDI:
| Ticker | Provider | Weighting | Note |
|---|---|---|---|
| VEA | Vanguard | Market-cap | Cheapest of the bunch; broadest DM coverage (FTSE — includes Korea + Canada) |
| SCHF | Schwab | Market-cap | Schwab’s market-cap DM ETF; same low-cost tier as VEA (0.03%); also FTSE-based (includes Korea + Canada) |
| EFA | iShares | Market-cap | The original EAFE ETF — but EAFE excludes Korea and Canada |
| EFV | iShares | Value | EAFE value tilt — same EAFE gap (no Korea, no Canada) |
| FIVA | Fidelity | Fundamental | Fidelity’s fundamental-weighted DM fund |
| FNDF | Schwab | Fundamental | Fundamental/value weighting; higher fee than a market-cap index |
For the taxable sleeve I lean toward a plain, broad market-cap developed-market index — the cheapest, simplest exposure. One methodology detail worth knowing: MSCI EAFE funds (EFA, EFV) exclude Korea and Canada — whereas FTSE-based funds (VEA, SCHF) count both as developed and include them. That makes the FTSE funds a bit broader for the same low fee. Do your own tax-implication homework before committing to a ticker in taxable — once you have years of unrealized gains, switching becomes a tax event.
The Roth hedge: equal-weighted (~15%)
The other ~15% of equity is a hedge sleeve, split equally across four positions ($37.5k each at $1M; equal weighting reduces rebalancing to one target number):
- AVUV — U.S. small-cap value (Fama-French size + value tilt)
- AVDV — international small-cap value
- DXJ — broad Japan, currency-hedged
- TSM — Taiwan Semiconductor (the one direct single-stock position)
The hedge is capped at that ~15% — it does not expand to fill the Roth. The Roth IRA is usually larger than 15% of the whole portfolio (years of backdoor contributions plus tax-free growth add up), so once each of the four positions hits its target, every additional Roth dollar goes into the same S&P 500 index fund (FXAIX) that anchors the core. The four hedge positions live entirely inside the Roth, but they are a bounded slice of it; the remainder of the Roth is plain S&P 500. That pins total hedge exposure near 15% no matter how big the Roth grows.
Why hold international at all? Common pushback: VOO is already ~40% foreign by revenue. True for revenue, not for returns — an S&P 500 share is priced in U.S. dollars by U.S. investors reacting to U.S. policy. Dedicated international adds three things VOO can’t:
- Currency — direct exposure to non-USD currencies. If the dollar weakens (or you eventually spend in yen / euros / baht), local-currency assets protect purchasing power in a way that a multinational’s foreign revenue does not.
- Valuation — U.S. trades at a CAPE premium to developed/emerging markets. Starting valuation is one of the strongest long-horizon return predictors; international’s lower starting point hedges U.S. mean reversion.
- Sector mix — non-U.S. is heavier in financials, industrials, materials, energy, lighter in mega-cap tech. A different return stream, not a redundant one.
Why all four are in the Roth, not taxable. They’re the highest-expected-return, highest-volatility positions on a multi-decade horizon — small-cap value premium (AVUV / AVDV), Japan structural reform (DXJ), single-stock AI supply-side (TSM). Every dollar compounding inside the Roth is tax-free forever, so the Roth gets the steepest growth curves. And they’re explicitly wrong for taxable for the symmetric reason: taxable is the bridge, and the bridge has to be calm.
On the individual holdings:
- AVUV / AVDV capture the size and value premiums from Fama-French. Small-cap value has outperformed over multi-decade horizons with more volatility and a rough fifteen-year recent stretch. Whether the premium is alive or arbitraged out by factor-investing’s popularity is genuinely debated — big enough to matter if it reasserts, small enough not to hurt if it doesn’t. Roth-only because factor turnover produces annual capital-gains distributions the Roth absorbs tax-free.
- DXJ is currency-hedged — strips out yen/dollar movement and isolates Japanese equity return. Matters because the yen is historically weak right now; DXJ lets me hold Japan without doubling down on the weak-yen bet.
- TSM is the one direct stock. The global semiconductor supply chain is concentrated in one company in one geography to an unusual degree; whatever the next decade of AI demand looks like, TSMC is structurally on the supply side. At ~3.75% of the portfolio, under the 5% concentrated-position cap.
The tax engine: QDI + asset location
This is what turns a generic equity portfolio into something engineered for early-retirement withdrawal.
The prior post showed long-term capital gains in the 0% LTCG bracket make withdrawals tax-free below ~$65k single / ~$131k MFJ of gross income (2026). The same 0% bracket applies to QDI. Non-qualified dividends (REITs, most foreign dividends, bond-fund interest) are taxed as ordinary income.
In plain English: if your retirement income is QDI + realized long-term gains and you stay under the bracket ceiling, your entire federal tax bill is zero. In WA, state too.
That drives the asset-location decisions:
flowchart LR
subgraph Taxable["Taxable brokerage"]
direction TB
VOO[VOO<br/>S&P 500]
INTL[DM intl ETF<br/>VEA · FNDF · etc.]
end
subgraph Roth["Roth IRA"]
direction TB
AVUV[AVUV<br/>US small value]
AVDV[AVDV<br/>Intl small value]
DXJ[DXJ<br/>Japan hedged]
TSM[TSM<br/>Semis]
end
subgraph K["401(k)"]
FXAIX_K[FXAIX<br/>S&P 500]
end
subgraph HSA["HSA"]
FXAIX_H[FXAIX<br/>S&P 500]
end
subgraph CMA["CMA (cash mgmt)"]
direction TB
VTEB[VTEB<br/>Munis]
SPAXX[SPAXX<br/>Money mkt]
end
Taxable -. QDI + LTCG<br/>tax-free in 0% bracket .-> W[Withdrawal:<br/>$0 federal tax]
Roth -. all distributions<br/>tax-free, no 1099 .-> W
K -. ordinary income<br/>later in life .-> W
HSA -. tax-free for<br/>medical expenses .-> W
CMA -. SORR buffer<br/>+ operational cash .-> W
style W stroke:#2e7d32,stroke-width:2px
The rule in one sentence: hold tax-efficient assets where you will be taxed (taxable), and tax-ugly assets where you won’t (Roth, HSA).
- Taxable = QDI generators. VOO is ~100% QDI; a developed-market intl ETF (VEA / EFA / EFV / FIVA / FNDF) lands in the ~70–84% range. Dividends pre-qualify for the 0% bracket.
- Roth = the tax-ugly stuff. AVUV / AVDV produce annual capital-gains distributions; DXJ’s currency-hedge mechanics produce ordinary-income distributions from rolling futures; TSM (Taiwan ADR) has foreign dividend withholding. Inside the Roth, none of it hits a 1099. The noisiest tax citizens are quarantined.
- 401(k) = boring core (FXAIX). Pre-tax in, ordinary-income out — a different tax regime from the 0%-LTCG plan above. Intentional cross-regime diversification in case brackets change in thirty years.
- HSA = FXAIX — the only U.S. account with a triple tax advantage, so it gets the highest-expected-return liquid asset.
- CMA = cash shield (VTEB federally tax-exempt; SPAXX is money-market cash).
The cash shield: sized for SORR, not “balance” (fixed ~$40–50k)
Sequence-of-returns risk (SORR) is why the safe withdrawal rate (~3.5%) is far below the long-term real return (~7%). The shield exists for exactly one purpose — defusing SORR in the early withdrawal years:
flowchart LR
C[Market drops 30%] --> S[W-2 income stops on the same day]
S --> N[Need cash for rent + groceries]
N --> BAD["❌ Without shield:<br/>sell equity at the bottom →<br/>permanent capital loss"]
N --> OK["✅ With shield:<br/>drain VTEB / SPAXX instead →<br/>equity recovers untouched"]
style BAD stroke:#c62828,stroke-width:2px
style OK stroke:#2e7d32,stroke-width:2px
- VTEB — Vanguard Tax-Exempt Bond ETF (federally tax-free muni bonds)
- SPAXX — Fidelity government money market (~3–4% yield as of 2026, tracks the Fed rate)
Both live in the CMA, not the brokerage. Equities are bought, held, and rebalanced in the brokerage; spendable cash and the near-cash buffer live in the CMA, ready to fund withdrawals without selling anything.
Together they hold roughly one year of essential living expenses — rent / mortgage, utilities, groceries, insurance, healthcare, transportation. Essential = zero discretionary. No travel, restaurants, subscriptions you wouldn’t pay for in a crisis, gifts, hobbies, upgrades — those all flex down in a crash. Just the floor that keeps the lights on while equities recover.
Fixed dollar, not a percentage. A percentage-based shield grows with the portfolio — backwards, because a fixed shield already covers proportionally more years as the equity sleeve grows. Re-mark the target once a year against trailing-twelve-month essential spending.
This is not a “balanced 60/40” portfolio. There’s no portfolio-theory reason to hold bonds for “balance” over a multi-decade horizon — that’s advice written for retirees with much shorter remaining horizons. One-year sizing is the low end of the SORR research range (1–3 years covers most bad sequences); I stay low because every extra year of cash is ~7% of real return forgone, and the cross-border retirement scenario offers other levers (relocating to a lower-cost geography, sabbatical contracts) that extend the buffer beyond its dollar value.
The cash flow: paycheck to portfolio
Owning the right funds in the right accounts only matters if the money reaches them in the right order. The plumbing:
flowchart TD
P[Paycheck] --> K["401(k)<br/>pre-tax + match + after-tax"]
P --> HSA["HSA<br/>pre-payroll-tax"]
P --> CMA["CMA cash mgmt<br/>holds SPAXX + VTEB"]
K -->|in-plan Roth conversion| RothK["Roth 401(k)<br/>mega backdoor"]
HSA -->|invest, do not spend| HSAINV["FXAIX in HSA<br/>save receipts"]
CMA -->|monthly autopay| CC["Credit card<br/>all spending"]
CMA -->|quarterly manual buys| TBX["Taxable brokerage<br/>VOO + DM intl ETF"]
CMA -->|annually| TIRA["Traditional IRA<br/>non-deductible $7k"]
TIRA -->|same-week conversion| RIRA["Roth IRA<br/>AVUV + AVDV + DXJ + TSM"]
Each new dollar’s priority order:
flowchart TB
D[New dollar] --> M[401k to employer match]
M --> H[HSA to limit]
H --> K[401k pre-tax to ~$23k limit]
K --> MB[Mega-backdoor Roth<br/>after-tax + in-plan conversion]
MB --> BD[Backdoor Roth IRA<br/>only if no mega-backdoor]
BD --> T[Taxable brokerage<br/>overflow]
style M fill:#e8f5e9
style H fill:#e8f5e9
style K fill:#e8f5e9
style MB fill:#fff3e0
style BD fill:#fff3e0
style T fill:#f5f5f5
A few mechanical pieces unlock most of the tax-advantaged space.
Inside the 401(k): the mega-backdoor Roth. The headline $23,000 pre-tax limit (2026) is the floor. The IRS total annual limit — employee + employer + after-tax — is ~$70,000:
flowchart TB
L1["Layer 1: pre-tax deferral<br/>up to ~$23k"] --> L2["Layer 2: employer match<br/>(typically 3–6% of salary)"]
L2 --> L3["Layer 3: after-tax contributions<br/>fill the rest up to ~$70k total"]
L3 -->|immediate in-plan conversion<br/>ideally automated, daily| ROTH["Roth bucket<br/>tax-free forever"]
style L3 fill:#fff3e0
style ROTH fill:#e8f5e9
The third layer is where the magic happens. On its own, after-tax 401(k) money is the worst of all worlds: post-tax in, but gains taxed at ordinary-income rates out. The fix is to immediately move it to the Roth bucket via an in-plan Roth conversion — ideally automated, ideally daily. Big-tech plans almost always support both after-tax contributions and in-plan conversions. Tens of thousands of extra Roth dollars per year, six figures over a decade.
Outside the 401(k): the backdoor Roth IRA (only if you need it). If your mega-backdoor works, you can stop here — it alone fills more Roth space than the IRA contribution would add, with none of the moving parts below. Run the backdoor only when you don’t have mega-backdoor access, or when you want every last dollar of Roth space on top.
If you do run it:
- Contribute the annual limit ($7,000 for 2026) to a Traditional IRA, non-deductible. No income cap on a non-deductible contribution itself.
- Convert to Roth IRA the same week.
- Buy AVUV / AVDV / DXJ / TSM with the now-Roth dollars.
The pro-rata rule is the trap. If you have any pre-tax money in any Traditional / SEP / SIMPLE IRA on December 31, the conversion is treated as proportionally pre-tax and you owe ordinary income tax on the pre-tax fraction. Cleanup: roll old rollover IRAs into your current 401(k) before December 31.
Always max the HSA — the only triple-tax-advantaged U.S. account. Every other account here is double-advantaged. The HSA stacks three:
- Contributions deductible (and through payroll, dodge FICA too — a ~7.65% bonus on top of the income-tax deduction).
- Growth tax-free.
- Qualified medical withdrawals tax-free, with no time limit on when the expense was incurred.
Limits are modest (~$4,400 single / ~$8,800 family for 2026, plus $1,000 catch-up at 55+), but multi-decade compounding inside the wrapper is staggering. No income phase-out — anyone enrolled in a qualifying HDHP is eligible.
The single most important HSA rule: do not spend it. Pay current medical bills out of pocket from the CMA, save digital copies of every receipt forever, and let the HSA compound undisturbed in FXAIX. Decades later, reimburse yourself for those old qualifying expenses tax-free against a balance that has been compounding against S&P returns the entire time. A $400 doctor’s bill in 2026 becomes a $3,000+ tax-free reimbursement in 2056. Two preconditions: a qualifying HDHP, and an HSA provider with real investment options (Fidelity is the gold standard).
Quarterly manual buys, dividends off. Every paycheck (net of 401(k) and HSA) lands in the CMA; every credit-card statement is autopaid in full from the CMA; surplus accumulates there. Roughly once a quarter — usually right after an RSU vest, since that’s the big lump that needs deploying anyway — I manually buy the S&P 500 core and the developed-market international sleeve in taxable at whatever ratio brings the consolidated portfolio back toward target. Combining “deploy new cash” and “rebalance” into one quarterly action removes a moving part rather than adding one.
Dividend auto-reinvestment (DRIP) is off across every account. Dividends land in cash, accumulate, and the next quarterly buy directs them into whichever sleeve is underweight. No selling, no realized gains, no tax event — rebalance happens entirely with new dollars. With DRIP on, every dividend re-buys the same fund that paid it, locking the allocation in place and forcing you to sell something to rebalance later.
There’s no market-timing here. The window is “whenever the RSU clears” — not “wait for a dip.” Over thirty years, entry-price noise averages out; the only thing that mattered was whether the money got invested at all.
One investment bank, one traditional bank. Run essentially everything through one investment bank (Fidelity; Schwab works equally well). The CMA sits in the middle of the diagram because it solves a real problem: a normal checking account pays zero on idle cash, while a CMA sweeps it into a money-market fund yielding ~3–4% (tracking the Fed rate) and issues a debit card with bill-pay. One login, one tax package, one cost-basis system, ~95% of what a traditional bank does, and a real yield on every idle dollar.
A second account at a traditional bank exists only for the gaps:
- Zelle — most investment banks don’t support sending Zelle, so a traditional checking account is the path for splitting rent and paying friends.
- In-branch services — notary, medallion signature guarantee, safe deposit box, certified cashier’s check.
That traditional account holds the minimum (a few hundred to ~$1k), topped up monthly from the CMA, otherwise dormant. Stop at two relationships; resist the urge to open a third for a sign-up bonus.
Cash shield, operationally
The earlier section explained the why. The how is straightforward with a fixed-dollar target.
During accumulation, build it once (a few months of aggressive saving) and hold flat. After hitting ~$40–50k, new contributions skip VTEB and SPAXX entirely and go to equities. Rebalance once a year to track inflation in essential expenses.
In retirement, the buffer refills passively. The S&P 500 core and the developed-market international sleeve spin off ~1.3–2.5% in dividends; distributions land in the CMA, top off the spending bucket, surplus reinvests. Normal years: equity sleeves are never sold. The shield is drained only in bad years — exactly when you’d otherwise be forced to sell stock at a loss.
Spending: budget every transaction
The other half of the rat-race-escape equation is the denominator. The math in the prior post used $58k of annual expenses — observed, only knowable if every transaction over the previous twelve months has been categorized.
- Two or three credit cards, at most. All discretionary, all subscriptions, all travel run through those few cards. A second card for a high-spend category (groceries, travel) is fine if it materially raises cash-back on a real pattern; a third for a narrow niche, sure. Stop there. Opening five or six cards to chase sign-up bonuses hurts your credit score (lower average account age, more hard pulls) and fragments the transaction feed across multiple statements — the real cost. Investing well moves the needle by tens of thousands per year; an extra 0.5% cash back on $30k of annual spend is $150. Don’t optimize the small number at the expense of the big ones.
- A budgeting tool that captures every transaction. YNAB, Monarch, Copilot Money — any of them work if you actually reconcile. I keep a Google Sheet I’ve maintained since day one of full-time work, one row per transaction, augmented with a Gemini-based script that ingests each bank’s export and auto-fills the sheet. Daily work is reviewing categories. Pick whatever matches how you think — the discipline is in the reconciling, not the tool.
- A monthly cap, not a per-category cap. $X for groceries / $Y for restaurants / $Z for entertainment falls apart the first month a birthday or flight deal lands. A single ceiling — “$X,000 of total monthly spend, full stop” — survives reality.
- Trailing-twelve-month review. Spending is seasonal (insurance, travel, holidays, tax). The honest expense number is trailing-twelve-month, recomputed monthly. That feeds the rat-race-escape math — not the artificially low number from a quiet January.
If the cap is breached two months running, something structural has changed (lifestyle creep, new subscriptions, higher fixed costs) and the cap gets re-examined explicitly. The default failure mode isn’t one spectacular bad month — it’s a quiet 3% upward drift every year that nobody notices until the savings rate has been halved.
That savings rate — (gross − taxes − total spending) / gross — is the single number that drives the timeline. Moving from 30% to 50% cuts roughly a decade off the years-to-escape figure, more than any plausible improvement in investment returns can.
The hardest part is not touching it
Investing itself is the easy half. The hard half — the one that determines whether real-life returns match the spreadsheet — is behavioral. Pick a reasonable portfolio, automate contributions, do nothing for thirty years. The discipline of not acting beats almost any optimization done by acting.
- Rebalance quarterly or bi-annually, at most. Daily checks induce action. Calendar reminder, look at the allocation table, redirect new contributions to the most underweight sleeve, close the tab. Selling existing positions in taxable just realizes gains; rebalancing with new dollars does the same job for free.
- Do not performance-chase. “AI is up 80% this year, let me rotate into a thematic AI ETF” is the most reliable way to buy at the top of a cycle. The fund that just made other people rich is, by definition, the one whose returns are in the rear-view mirror.
- Cap single-name, thematic, and crypto positions at 5% of the portfolio — total, not per-position. TSM is the one direct stock here, sized at ~3.75%, under the cap. Any concentrated or high-volatility bet counts against the same 5% bucket: single stocks, thematic ETFs (SOXX, SMH, ICLN), leveraged products, crypto (Bitcoin, ETH, anything on-chain). Broad regional or country-value funds like DXJ don’t count — they’re hundreds of names across an entire economy. When something runs above 5% (common with crypto, which can double in months), trim the profit back into the core. Don’t let a 3% side bet silently become 12% just because it had a good year. If it drops below 5%, do not add — let it shrink.
- Never sell because of war or politics. Every decade has at least one geopolitical event that feels like the one that breaks the system. The pattern, across every one: the market reprices quickly, recovers, and makes new highs while the people who sold lock in the loss and miss the recovery. Stay invested through every headline. The plan was built knowing crises happen; the plan does not change because one is currently happening.
- Do not tinker with tickers. Early on I rotated across near-identical ETFs, convinced each switch was a small optimization. Actual result: years of capital-gains drag, a complicated tax return, meaningful underperformance versus simply buying one of them on day one. The cost of being wrong is paid every year in tax friction; the upside is in basis points.
- Trust your research and strategy. Ignore the noise. There will always be a louder strategy — a friend who’s been sitting in cash for years waiting for the crash (crashes always come, but the cost of being uninvested for a decade dwarfs any single drawdown), an influencer pushing the next thematic ETF, an uncle who’s all-in on gold, an article calling the top of the market. None of them know your tax situation, your horizon, your risk tolerance, or your spending. Do the research once, pick a strategy you can defend to yourself on paper, and stay with it for three decades. The discipline to keep contributing month after month while the noise rotates around you is the single hardest part of this — and the single thing that most reliably separates the people who reach the exit zone from the people who don’t.
A portfolio you check daily is one you’ll eventually wreck. A portfolio you check once a quarter compounds quietly while you live your life.
Ruthless simplicity as a feature
The most underappreciated property of this portfolio is what’s not in it:
- No actively-managed mutual funds
- No concentrated bets above the 5% cap (single stocks + thematic ETFs + crypto combined; TSM at ~3.75% is the one pick)
- No commodity ETFs, managed-futures, or alternatives sleeve
- No leveraged or inverse products
- No 0.5% micro-positions picked up from Reddit
- No overlapping ETFs (no holding both VOO and VTI, or both VYM and SCHD)
Eight funds plus one stock. New contributions go to whichever bucket is most underweight. Whole portfolio takes maybe thirty minutes a quarter to maintain.
Every extra position is one more line to monitor, rebalance, and report at tax time, and one more chance of an unforced error: forgetting to rebalance, double-allocating after a job change, holding overlapping funds without noticing, picking the wrong cost basis on a partial sale. The plan you actually follow for thirty years beats the optimal plan you abandon in year three. A portfolio is a system that has to survive its operator — build it boring, build it short, and build it to require zero attention during weeks when life has more important things going on.
The framework underneath: an index core, a small academic tilt in the Roth, an explicit dollar hedge for the cross-border path, a tax engine that exploits the 0% bracket, a fixed cash shield against SORR, and the behavioral discipline to leave it alone. Copy that, and the specific tickers are interchangeable. If you’ve already worked through the prior post and decided you want this path, the structure above is what turns the math into a portfolio you can run for the next thirty years on autopilot.