Experimental non-line-of-sight sensing

Wallhack

Your camera has a blind spot. Fix that. Track an object hidden around a corner using light reflected off a visible relay wall.

Live demo

SIMULATION — not physical evidence

This runs the real tracking pipeline on a cloud instance in simulation mode — synthetic data, no hardware. It is the same particle filter the app uses, streamed to your browser over WebSocket. It is a demo of the software, not evidence of physical sensing.

Want it in the app? In Connect, set host wallhack.isstudios.net, port 443, TLS on, token wallhack-demo — then open Track to watch the same cloud simulation.

target—
signal quality—
fps—
connectionconnecting…

How it works

A histogram-capable SPAD sensor illuminates a relay wall. A faint third bounce — wall → hidden object → wall → sensor — arrives slightly later than the direct return. Its timing encodes where the hidden object is.

A particle filter scores that timing against a forward model and tracks the object in real time. The pipeline re-implements MIT's consumer-nlos research (Nature 2026).

What the phone does: visible geometry (ARKit), relay-wall framing, calibration guidance, and visualization.

What it does not do: ARKit depth is processed depth, not photon-timing histograms — it cannot, by itself, see around a corner. The hidden-object signal comes from the external SPAD sensor.

Set up the sensing service

The free, open-source service runs on a Mac or Raspberry Pi. It drives the SPAD sensor (or simulation/replay) and exposes a local API the iPhone app connects to.

git clone <your Wallhack repo> && cd NLOSiOS/service
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# localhost, prints a pairing token:
python -m wallhack_service

# try it with no hardware (streams a moving simulated object):
python -m wallhack_service --autostart simulation --no-token

# reach it from the phone (same Wi-Fi), token required:
python -m wallhack_service --host 0.0.0.0 --allow-lan --token "$(openssl rand -hex 16)"

Then in the app's Connect tab, enter the host, port (8787), and token. Tap Start simulation, or connect a SPAD for live tracking.

Hardware

Physical NLOS tracking is an experimental research milestone — results depend heavily on scene geometry. Simulation and replay are clearly labeled everywhere and are not evidence of physical sensing.