Quantifying opportunity cost with a deliberately "simple" web app
Details
- External ID
- 47138631
- Source
- HN
- Company
- —
- Product
- Quantifying opportunity cost with a deliberately "simple" web app
- Website domain
- shouldhavebought.com
- Launched
- Feb. 24, 2026
- Cohort
- —
- Upvotes
- 28
- Upvotes percentile
- 0.7371967654986523
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:25 p.m.
- Updated at
- Sept. 7, 2026, 9:25 p.m.
Description
Hi HN,A while ago I had a mildly depressing realization.Back in 2010, I had around $60k. Like a "responsible" person, I used it as a down payment on an apartment. Recently, out of curiosity, I calculated what would have happened if I had instead put that money into NVIDIA stock.I should probably add some context.For over 10 years I've worked as a developer on trading platforms and financial infrastructure. I made a rule for myself - never trade on the market.In 2015, when Bitcoin traded about 300 usd, my brother and I were talking about whether it was a bubble. He made a bold claim that one day it might reach $100k per coin. I remember thinking it sounded unrealistic - and even if it wasn't, I wasn't going to break my rule.That internal tension - building systems around markets while deliberately staying out of them is probably what made the "what if?" question harder to ignore years later.The result was uncomfortable. The opportunity cost came out to tens of millions of dollars.That thought stuck with me longer than it probably should have, so I decided to build a small experiment to make this kind of regret measurable: https://shouldhavebought.comAt its core, the app does one basic thing: you enter an asset, an amount, and two dates, and it gives you a plain numeric result - essentially a receipt for a missed opportunity.I intentionally designed the UI to feel raw and minimal, almost like a late-90s terminal. No charts, no images, no emotional cushioning - just a number staring back at you.What surprised me wasn't the result, but how much modern web infrastructure it took to build something that looks so simple.Although the app is a single page with almost no UI elements, it still required:- Client-side reactivity for a responsive terminal-like experience (Alpine.js)- A traditional backend (Laravel) to validate inputs and aggregate historical market data- Normalizing time-series data across different assets and events (splits, gaps, missing days)- Dynamic OG image generation for social sharing (with color/state reflecting gain vs loss)- A real-time feed showing recent calculations ("Wall of Pain"), implemented with WebSockets instead of a hosted service- Caching and performance tuning to keep the experience instant- Dealing with mobile font rendering and layout quirks, despite the "simple" UI- Cron and queueing for historical data updatesAll of that just to show a number.Because markets aren't one-directional, I also added a second mode that I didn't initially plan: "Bullet Dodged". If someone almost bought an asset right before a major crash, the terminal flips state and shows how much capital they preserved by doing nothing. In practice, this turned out to be just as emotionally charged as missed gains.Building this made me reflect on how deceptive "simplicity" on the web has become. As a manager I know says: "Just add a button". But even recreating a deliberately primitive experience today requires understanding frontend reactivity, backend architecture, real-time transport, social metadata, deployment, and performance tradeoffs.I didn't build this as a product so much as an experiment - part personal curiosity, part technical exploration.I'd be very interested to hear how others think about:Where they personally draw the line on stack complexity for small projects?Whether they would have gone fully static + edge functions for something like this?How much infrastructure is "too much" for a deliberately minimal interface?And, optionally, what your worst "should have bought" moment was?Happy to answer any technical questions or dig into specific implementation details if useful.
Enrichment
- Theme
- payments, billing, and wallet infrastructure
- Vertical
- Horizontal
- Function
- Analytics & BI
- Audience
- B2B
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- opportunity cost calculator
- Manually corrected
- False
Could you build this?
Yes It is a simple web calculator that fetches historical price data via an API and calculates percentage returns with a basic frontend.
Discussion
20 comments analyzed.
Competitors mentioned: S&P 500, MSCI World, Low cost index funds
Concerns raised: Survivorship bias makes the site have no value, Doesn't account for worldwide market factors and economic busts, Requires counterfactual scenarios to be different to produce meaningful results, Only works during stable economic periods
Feature requests: Add comparison with MSCI World or similar benchmarks, Include more diverse market indices as comparison baselines
Competitors
Other products that read as similar to this one — 253 launches clear the similarity bar, closest 8 shown.
Attention rank: #74 of 254 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 117 days after the earliest competitor.
- I was laid off, so I built a NerdWallet for startup equity liquidity · hn · 2026-03-16 · 9 upvotes · similarity 0.50
- We charge $10/mo for wealth management that costs $100 elsewhere · hn · 2025-11-13 · 7 upvotes · similarity 0.49
- I built a tool to show how much ARR you lose to FX fees · hn · 2026-04-05 · 5 upvotes · similarity 0.48
- Analyst Index · hn · 2026-09-13 · 15 upvotes · similarity 0.48
- I built an AI that knows my net worth: 3 countries, 6 currencies · hn · 2026-07-06 · 6 upvotes · similarity 0.47
- The Bitcoin Ticker · ph · 2026-09-30 · 2 upvotes · similarity 0.47
- I licensed $50k of stock market data to do analysis Claude can't · hn · 2026-09-10 · 7 upvotes · similarity 0.46
- I quit coding years ago. AI brought me back · hn · 2026-01-19 · 314 upvotes · similarity 0.44
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a analytics & bi tool for Legal yet.