To Atlas customers,
This is the first of what I intend to make a quarterly note. I stole the format from Buffett. Whether it survives contact with the work remains to be seen, but the intent is simple: write down, plainly, what Atlas did this quarter, what it cost, what worked, what didn’t, and what I’m building next. The audience is you — not investors, not press. If something on the product isn’t working for you, this letter should make it harder for me to pretend I didn’t notice.
What got built
The headline addition this quarter was the tools surface. Atlas now ships eight focused calculators: Black-Scholes options pricing with the full Greek set; Monte Carlo (10,000 stochastic paths over your horizon); the retirement-number tracker; Kelly position sizing with full / half / quarter Kelly outputs and sensitivity to win-probability; bond YTM and duration (Newton-Raphson solver with bisection fallback, Macaulay and modified duration, convexity, ±50/100/200bp price-sensitivity); 2026 federal tax brackets with LTCG stacking; an RMD projection using the IRS Uniform Lifetime Table (post-SECURE 2.0); and a Social Security claiming-age comparison with breakeven crossover analysis. The philosophy behind each is the same: a tool that does one thing, shows its math, and refuses to make a recommendation. Atlas is not an adviser. The tools surface the numbers; you make the call. All eight are public — no sign-up required to play with them.
The stress-test engine grew from a handful of canned scenarios to fifteen historical episodes (Black Monday 1987, LTCM 1998, Dot-com 2000, GFC 2008, COVID March 2020, the 2022 rates-and-tech selloff, and so on) plus twenty-one parametric shocks. The bigger move was the custom-scenario sandbox: eight independent macro shocks (broad equity, 10Y yield, HY credit spread, USD index, oil, gold, BTC, VIX) plus six sector-specific overlays (tech, financials, energy, healthcare, consumer discretionary, real estate). You can layer “S&P down 5% but tech down 25% within that” — the AI-bubble pattern — and see your portfolio P&L decomposed by asset class. Twenty-two named story presets (Stagflation 2.0, Soft Landing, China-Taiwan Flashpoint, AI Bubble Pops, Black-Swan Liquidity Event, etc.) fill every slider in one click. Compare-mode lets you put scenario A next to scenario B side-by-side. Every slider state encodes into the URL hash, so you can paste a link to your CFA buddy and have him open your exact dial-in. The math is the same shorthand institutional risk desks use — beta on the equity side, duration on bonds, sector betas where they matter — but the UX makes it feel less like homework.
On the inputs side, manual entry grew a per-lot mode. The default is still average cost — type a symbol, shares, and average price and you’re done. But if you bought a position on multiple dates (DCA’ing into VOO every two weeks, say), one click flips the row into a per-lot panel where each buy keeps its own date and price. Atlas treats each lot as a separate BUY transaction, so long-term/short-term term classification, wash-sale flags, and tax-loss-harvesting candidates all match what your broker shows. The Excel template was already lot-aware; the manual path was the friction we hadn’t fixed.
The asset-location commentarygot its first serious overhaul. The old version produced sentences like “Conventional placement. US Large-Cap in Taxable Brokerage is the textbook home for this asset class” — accurate, but boilerplate. The new version is keyed by (account category × asset class) and has specific reasoning for each pair: that broad US equity in a taxable account carries roughly 20-25 bps of annual tax friction at qualified dividend rates and benefits from step-up at death, so spending Roth contributions on it is a high opportunity cost; that high-yield bonds in taxable produce 2-3% of annual ordinary-income drag at a 32% bracket and are among the highest-value uses of tax-deferred space; that international equity in an IRA permanently forfeits the foreign-tax credit (worth 15-25 bps a year via Form 1116); that holding munis in a Traditional IRA is actively destructive because you accept the lower yield without keeping the federal exemption. Roughly forty specific (category, asset class) cells now have CFA-level reasoning rather than a one-size template. This is the kind of detail a paid adviser would charge you to write up; Atlas just shows it next to the affinity score.
We also shipped three new public pages that I think do the heavy lifting on trust: /trust (who runs Atlas, where data lives, who we use as sub-processors, bootstrapped status, no SIPC/FDIC, how we make money — all plain English, all dated); /value (interactive ROI calculator showing the math on whether a $240/year subscription pays for itself given your tax bracket, harvest cadence, wash-sale prevention, and rebalance-discipline alpha — the default inputs put a $500K taxable account at roughly 10x); and /letter, which you’re reading.
Smaller wins worth listing: a print view that actually fits on a piece of paper (tighter typography, real page breaks); a Morningstar-style style box that finally renders in dark mode (the old version inherited a CSS variable that was a light blue in dark mode); a quantity formatter that trims trailing zeros (50, not 50.0000); a confirm dialog on the dashboard’s “Clear” button (one customer rage-clicked it before we had it); the legal pages strengthened with explicit brokerage-comparison language — Fidelity, Schwab, Vanguard, Robinhood, Merrill Edge, E*TRADE, Interactive Brokers, plus the robo-advisers and full-service firms — making it unambiguous that Atlas is not and is not affiliated with any of them; and the ticker bar at the top of the page that no longer rendered as a glaring light-blue band against the dark theme.
What didn’t work for me
Atlas exists because the existing tools didn’t work for me. I’m an Excel guy. For years my real portfolio lived in a single workbook on my laptop — positions on one tab, a transaction log on another, a hand-built equity curve on the third. It was honest, it was mine, and it was offline. The brokerage dashboards I had access to never came close. Merrill’s “Total View” gave me pretty headlines and almost no insight; Fidelity’s reporting was better but boxed in by what they wanted to upsell; Robinhood was designed to make me trade more, not think more; the robo-adviser tools were so locked-down they wouldn’t even let me look at lot-level cost basis without three clicks and a popup. Every one of them treated the customer as a flow to be monetized.
The Excel version had the opposite problem: it was rigorous but it didn’t scale. Adding a stress test meant another tab. Adding factor analysis meant another tab. Per-lot tax accounting meant a tab full of nested IF statements I had to rebuild every time I added a new account. Six years in, the workbook was 11MB and crashed on cold open. I was spending more time maintaining the spreadsheet than reading what it was telling me.
Atlas is what I built for myself when both ends — the brokerage dashboards and my homemade workbook — broke down. A serious analytics layer that runs on the data I already keep in Excel, doesn’t care which broker I’m using, and isn’t trying to sell me anything on the side. Eight focused tools. A real stress engine. A tax-aware rebalancer. An IPS that the product actually checks you against. A thesis journal that compounds. The kind of rigor a wealth-management platform charges 1% of assets for, owned by the customer instead of the brokerage.
I use Atlas every week to manage my own book. That’s the whole pitch. If you’ve been an Excel investor too, or you’ve been frustrated that your six-figure brokerage account gives you a worse view of your own holdings than I get out of three Python files, this is for you.
The economics
Atlas is bootstrapped, profitable on a per-customer basis, and has no investors to answer to. Annual subscription is $240. Per-user cost runs about $3.50/month in inference (Anthropic), $0.80/month in market data (Polygon plus the Yahoo Finance fallback), and a thin slice of Vercel compute. Gross margin is roughly 78% at current usage. Median user runs the Brief about four times a month and the What-If simulator twice; a small power-user cohort runs both daily and is the binding constraint on inference cost. We monitor it; we do not throttle it.
The /value page makes the customer-side math explicit: one avoided wash sale at a 32% marginal rate pays for three years of Atlas. One mid-sized harvest pays for four. The point isn’t alpha — markets are efficient and we don’t pretend otherwise. The point is not making mistakes: catching a wash-sale window before you sell, noticing your tech weight crept to 52%, writing down why you bought something so you remember when to sell. If the math doesn’t work for you, cancel. There’s no commitment, no clawback, no guilt. The product should pay for itself by an order of magnitude or it shouldn’t exist.
I’ve resisted the temptation to add a usage cap. Caps are how SaaS companies signal they don’t trust their unit economics. If a power user is uneconomic, the right answer is either a higher tier (which we do not yet have) or to fix the margin upstream — not to throttle the people who get the most out of the product.
What’s next
Five things I want done by the next letter:
- Tier-1 notifications.Email alerts on four conditions: thesis exit-trigger breaches (you wrote “sell NVDA below $800,” it just happened), first-time IPS band breaches (equity crossed the 75% max), a quarterly stale-thesis digest (theses unreviewed in 180+ days), and a single November TLH-window email with harvest candidates above $500. The discipline is not to send anything else. Three notifications a quarter, each worth opening.
- A cohort retention dashboard, published on /trust. Once we have six months of data, the chart goes up. If month-12 retention is below 75%, the product needs to change, not the marketing.
- Multi-account households — the scaffolding is in place; the UX of rolling up his/hers/joint/IRA into a single tax-aware picture is not. This is the most-requested item from existing customers.
- An exportable thesis journal. The thesis feature is, in my view, Atlas’s real moat — once you have two years of written-down reasoning to look back on, leaving means leaving that record behind. The least we can do is let you take it with you in a clean format.
- Direct broker linking via SnapTrade or Plaid, behind a feature flag, on a paid tier. Atlas committed to the upload-only path early because OAuth integrations cost money and add support burden — but the friction is real, especially for customers with five accounts and quarterly statements. We will offer it as an opt-in, never a default.
Closing
Atlas exists because I wanted a tool I couldn’t buy: a serious analytics layer over my own portfolio, owned by me, not tied to a brokerage that wants me trading more. If you got this far, you probably wanted the same thing. Tell me what’s missing.
— Matt