2
3 Comments

Show IH: LeadEdge — Cross-exchange ETH lag API (validated at 90.7% follow-through)

TL;DR: Built LeadEdge (leadedge.dev), a cross-exchange ETH lag detection API. Before writing the product, I spent 7 days analyzing real crypto exchange data to validate the core thesis. Result: 90.7% follow-through on lag signals. Then shipped the full SaaS in 7 days. Here's the methodology.


The Problem I Was Trying to Solve

I'd noticed something weird while running crypto trading bots: when Binance Futures moved, Coinbase Spot seemed to follow. Anecdotally, it looked like there was a measurable, predictable lag between the two exchanges.

If true, this was the kind of cross-exchange asymmetry that could be productized. But "anecdotal" doesn't pay the bills, and I've watched too many friends ship SaaS products based on gut feel that nobody wanted.

So I made a rule: validate before build. If the data didn't back up the thesis, I'd kill it and move on.


The Validation Setup (7 Days)

I built a minimal data collection pipeline first — no product, no UI, just raw measurement:

  • WebSocket connections to Binance Futures and Coinbase Spot for ETH/USDT
  • Timestamp normalization (this turned out to be the hardest part — exchange clocks vs receive timestamps create subtle drift)
  • Storage: Postgres for the raw event log
  • Analysis: Pandas + custom scripts to detect lead/lag relationships

The goal was answering one specific question: "When Binance Futures moves >X%, what % of the time does Coinbase Spot move in the same direction within Y milliseconds?"


What I Found

After 7 days of continuous data collection:

  • Median lag: ~150ms (Binance Futures leads Coinbase Spot)
  • Follow-through rate at 0.1% threshold: 90.7%
  • Direction prediction accuracy: Held across multiple market regimes (trending, choppy, high vol)
  • Out-of-sample testing: Validated on a fresh 24-hour window

This was the green light to build.

If the follow-through had been below ~60%, the thesis would've been noise. Above 80%, there was real signal — and at 90.7%, it was a clear edge worth productizing.

Full methodology writeup: leadedge.dev/blog/validation


The Build (Another 7 Days)

With validation done, I shipped the full SaaS in 7 days:

Stack:

  • Frontend: Next.js 14 + Tailwind (Vercel)
  • Backend: Python signal detection engine (Railway)
  • WebSocket Server: Real-time signal pushes to subscribers
  • Auth + DB: Supabase (handles OAuth, RLS, and Postgres in one)
  • Payments: Stripe + webhooks back to Supabase
  • Email: Resend for transactional + drip campaigns

Claude Code did a lot of heavy lifting on the Next.js side — particularly the dashboard components and chart rendering. What used to take a week of UI work was 1-2 days.


Lessons Learned

1. Data collection ≠ product. Don't conflate them.
The temptation is huge to start building the product while you're validating. Resist it. The validation infrastructure is throwaway code; the product is what you'll maintain for years. Mixing them early creates technical debt before you've even confirmed product-market fit.

2. Timestamp normalization is harder than the algorithm itself.
"Exchange timestamp" and "message received timestamp" create subtle alpha leakage everywhere. NautilusTrader's "monotonic across replay and live" design philosophy is genuinely solving a real problem most people don't realize they have until they've burned a strategy on backtest-live drift.

3. The "validation methodology" is more defensible than the "algorithm."
Anyone with a CCXT install can detect cross-exchange lag — that's not the moat. The moat is the rigor of how you measure, validate, and continuously monitor that the signal still works. The methodology is what customers are actually paying for.

4. Silent WebSocket staleness is more dangerous than connection drops.
Connection stays "alive" (TCP keepalive is fine) but messages stop arriving. Took down my pipeline for 40 minutes before I noticed during validation. Now I run message-level heartbeats from day one.

5. Validation BEFORE build = faster build.
Because I'd already debugged the data pipeline during validation, the production version was 60% pre-solved when I started building the product. The Postgres schema, the WebSocket handling, the timestamp normalization — all of it was battle-tested already.


Where I Am Now (Day 3 Post-Launch)

  • Live at leadedge.dev
  • 2 early signups in week 1 (free tier — first paid conversions still pending)
  • $0 MRR — focused on building distribution + nailing the conversion funnel before optimizing pricing
  • Early conversations with respected algo trading practitioners and infrastructure builders in the space
  • Reddit + Twitter presence building organically
  • Working on Freqtrade integration to lower adoption barrier

Long road ahead, but the validation rigor up front meant I started from a place of confidence, not hope.


A Note on the Approach

This is my second SaaS — first was jsvisible.com (JavaScript SEO scanner). I shipped that without rigorous pre-validation, just gut feel, and the post-launch growth was slower than expected. That experience is what made me commit to the "validate before build" rule for LeadEdge.

Same solo founder, same stack, same hustle — but a much more disciplined approach to confirming demand before pouring engineering effort in. So far, the difference is showing.


Tools I Used

  • CCXT — unified exchange API (saved weeks)
  • Claude Code — Next.js dashboard + chart components
  • Supabase — auth + Postgres + RLS in one
  • Railway — backend deployment, simpler than AWS for a solo founder
  • Stripe — payments + webhooks
  • Resend — emails
  • Recharts — time series charts
  • Postgres + Pandas — the validation analysis stack

Happy to answer questions about the validation methodology, the tech stack, or the "validate before build" philosophy. Curious if other indie hackers here have used a similar approach for B2B SaaS — would love to hear what worked vs didn't.

posted to Icon for group Show IH
Show IH
on May 12, 2026
  1. 2

    The strongest part here is not just the 90.7% follow-through number. It is the discipline around validation before build, timestamp normalization, and continuous signal monitoring. That makes LeadEdge feel less like a crypto “signal tool” and more like trading infrastructure for people who care about whether the edge survives live conditions.

    I’d probably lean harder into that infrastructure angle. The methodology is the trust layer here, because algo traders will assume every signal decays or gets overfit unless the measurement process feels serious. Your best positioning may be less “ETH lag API” and more “validated cross-exchange latency intelligence.”

    One naming thought: LeadEdge is clear, but also a bit generic and easy to confuse with sales/lead-gen tools. If this becomes a broader market microstructure or execution-intelligence layer, a harder technical .com like Davoq.com would carry the infrastructure feel more cleanly than a descriptive .dev name.

    1. 1

      Genuinely appreciate the depth here - this is the kind of feedback most early-stage founders never get.

      The positioning shift you're suggesting (infrastructure vs tool, validated latency intelligence vs ETH lag API) is the more impactful insight. The "ETH lag API" framing locks me into a narrow signal-product market. The "validated cross-exchange latency intelligence" framing positions LeadEdge alongside Databento, Kaiko, or Amberdata - which is honestly closer to where I want this to land long-term. I'm going to test this messaging in the next iteration of the landing page copy.

      On the name: you're right that "LeadEdge" has lead-gen connotations and a .dev TLD doesn't carry the same weight as a hard technical .com. But at Day 4 post-launch with the domain established, the codebase shipped, validation blog published, and outreach in motion, the cost of rebrand is unrecoverable. Customers who searched "LeadEdge" today won't find the new name tomorrow. The Reddit/Twitter presence I've built loses its accumulating authority.

      Where I think the leverage actually is: keep the name, shift the positioning. The methodology IS the trust layer - you nailed that. So I'll lean into "validated latency intelligence for systematic crypto traders" rather than fighting the brand asset I've already built.

      Thanks for thinking this through with rigor. Happy to return the favor if you're building something.

      1. 1

        That makes sense, and I agree the positioning shift is the first lever.

        But I’d push back on one thing: Day 4 post-launch is probably not too late to change. It is probably the cheapest moment you’ll ever have.

        Right now, the authority around LeadEdge is still small enough to redirect. But if the product starts getting real trader or infra attention under a name with lead-gen connotations and a .dev extension, the cost of fixing that later becomes much higher.

        That is the part I’d take seriously.

        If this stays a narrow ETH lag API, LeadEdge can probably carry.

        But if your real direction is validated cross-exchange latency intelligence for systematic traders, then the brand has to signal infrastructure, seriousness, and trust from the first touch.

        That is why Davoq.com is the name I’d seriously compare against LeadEdge before the current name gets more locked in.

        It feels harder, more technical, and closer to market infrastructure than a signal-tool name. It also removes the .dev trust gap if you’re aiming closer to Databento, Kaiko, or Amberdata territory.

        I own Davoq.com, so if that direction feels worth considering, I can keep it founder-friendly and make the transfer simple.

        I wouldn’t rename casually. But if you already see the long-term category as bigger than the current name, this is exactly the moment to secure the stronger .com before momentum makes the decision harder.

      2. 1

        This comment was deleted 18 days ago.

Trending on Indie Hackers
I built a WhatsApp AI bot for doctors in Peru — launched 3 weeks ago, 0 paying customers, and stuck waiting for Meta to approve my app User Avatar 57 comments Your build-in-public audience is not your market. I learned the difference the slow way. User Avatar 50 comments How to see revenue problems before they get worse User Avatar 30 comments From broke and burned out as a PM, to launching my SaaS and optimizing my health User Avatar 28 comments I kept starting projects and dropping them. So I built a system that wouldn’t let me User Avatar 23 comments We built Shopify themes to $20k/month. Now we have to pivot. User Avatar 20 comments