Back to browse
ShouldISwap – Compare crypto pair rates against historical averages

ShouldISwap – Compare crypto pair rates against historical averages

by Herbyg·Feb 25, 2026·3 points·0 comments

AI Analysis

●●SolidSolve My Problem

Crypto pair comparison with 52-week percentile context, but Coingecko + spreadsheet already do this.

Strengths
  • Signal strength calculation (deviation percentile across full year) adds real analytical depth
  • Three-tier in-memory caching + zero database shows clean, stateless architecture
  • Multi-timeframe signal view (1W/2W/1M/3M/6M/1Y) gives traders useful perspective switching
Weaknesses
  • Purely informational—no alerts, no automation, no integration with exchanges
  • Coingecko already provides historical data; this is a UI layer on existing APIs
Category
Target Audience

Crypto traders, retail investors monitoring pair exposure

Similar To

CoinGecko · Kraken Charts · TradingView

Post Description

Hey HN,

I built ShouldISwap (https://shouldiswap.com) — a free tool that compares the conversion rate between any two cryptocurrencies against their historical average. Pick two coins, pick a timeframe (7-365 days), and it tells you whether today's rate is above, below, or near the mean, plus where it sits in the 52-week range as a percentile.

How it works: Fetch 365-day price histories for both coins from CoinGecko, compute the pairwise conversion rate per day, calculate the mean for the selected period, and compare. A sliding window across the full year computes the historical best/worst deviations to give a "signal strength" — not just "above average" but how significant the deviation is relative to what's been seen all year.

Stack: Node.js + Express 5, React 19 + Vite 7, Tailwind CSS 4. No TypeScript. No database — fully stateless with three-tier in-memory caching (60s/5min/1hr). Each comparison makes 4 CoinGecko API calls (down from 6) by fetching 365-day history once and slicing per timeframe. Chart.js lazy-loaded (~173KB on demand). 66KB gzipped initial load. Single Docker container on Google Cloud Run.

Lighthouse: 99 Performance, 100 Accessibility, 100 Best Practices, 100 SEO.

Honest limitations: Depends entirely on CoinGecko's API. In-memory cache means no horizontal scaling without Redis. Signals are statistical comparisons against history, not predictions — it tells you where you are, not where things are going.

Would appreciate feedback on the architecture, the signal calculation, or the UX. Source isn't public yet but happy to discuss implementation.

Similar Projects