Retrace
reverse debugging for production CPython applications
Details
- External ID
- 48107362
- Source
- HN
- Company
- —
- Product
- Retrace
- Website domain
- github.com
- Launched
- May 12, 2026
- Cohort
- —
- Upvotes
- 14
- Upvotes percentile
- 0.6704361873990307
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:26 p.m.
- Updated at
- Sept. 7, 2026, 9:26 p.m.
Description
Nathan here, one of the people who built Retrace. Happy to answer technical questions. Retrace records a CPython application's interactions with the nondeterministic outside world i.e. network, DB, filesystem, time, randomness, subprocesses, and lets you replay that execution locally and deterministically. The goal is to take a production failure and open the same execution in VS Code, with the ability to step forwards and backwards through the replay.The core idea is to record boundary crossings rather than tracing every Python line in production. External calls are recorded as calls/results/errors, and replay stubs return the recorded results so the original application code runs again deterministically.The preview today covers Python 3.11/3.12 on macOS and Linux, with Flask, Django, requests, psycopg2, and threading/forking covered. There is a compatibility table in the README.This is a preview, not a finished product. Things we know are missing: async support is partial, FastAPI is not in the table yet, Windows is not supported, and free-threaded 3.13 is detected and refused.Happy to go deep on: - how we get determinism on real Python stacks (threads, async, third-party libraries, C extensions) - recording overhead, what it depends on, and what we have actually benchmarked vs claimed - what works and what does not yet - how this differs from rr, Replay.io, pdb time-travel forks, and APM toolsBlog post (longer write-up): https://retracesoftware.com/blog/introducing-retrace/
Enrichment
- Theme
- utilities for Claude and Claude Code
- Vertical
- —
- Function
- Observability & eval
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Commercial product
- Normalized one-liner
- reverse debugging for python
- Manually corrected
- False
Could you build this?
No Building record-and-replay deterministic reverse debugging for CPython requires deep internals knowledge of Python bytecode, C extensions, syscall interception, and nondeterminism capture.
What it would actually take: Deterministic execution recording requires intercepting all sources of nondeterminism (wall clock, PRNG, socket I/O, file reads, threading/GIL switches, signals) via CPython C-API hooks, LD_PRELOAD, or low-level runtime monkeypatching. It requires a dedicated snapshot/delta storage format to serialize memory and I/O streams with minimal overhead in production, and an engine to mock those inputs during local replay. This demands specialized systems programming and CPython internals expertise.
Discussion
4 comments analyzed.
Competitors mentioned: Time-travel debugging tools, APM (Application Performance Monitoring), Event sourcing, Tracing tools
Concerns raised: Replay diverges when code changes, including logging statements, Determinism challenges - many edge cases that can cause different execution results, Production replay capture and local reproduction at scale unproven in practice, Currently only supports Python
Feature requests: Retroactive logging/performance instrumentation on replays, Support for additional programming languages beyond Python, Code adaptation to allow what-if reasoning on replays
Competitors
Other products that read as similar to this one — 85 launches clear the similarity bar, closest 8 shown.
Attention rank: #37 of 86 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 193 days after the earliest competitor.
- Seapie · hn · 2026-01-12 · 22 upvotes · similarity 0.43
- mcp-recorder · hn · 2026-03-06 · 6 upvotes · similarity 0.43
- RePlaya · hn · 2026-06-02 · 50 upvotes · similarity 0.41
- Tusk Drift · hn · 2026-01-15 · 33 upvotes · similarity 0.40
- Memory Graph · hn · 2026-01-05 · 7 upvotes · similarity 0.40
- Persistent Jupyter kernel execution and live output streaming in VSCode · hn · 2026-09-09 · 7 upvotes · similarity 0.40
- Copy-and-patch compiler for hard real-time Python · hn · 2026-02-11 · 65 upvotes · similarity 0.40
- Tusk Drift · hn · 2025-11-11 · 56 upvotes · similarity 0.39
Other launches for this product
- No other launches for this product.