fwatch: watch your files change live in your browser

Live demo. A real fwatch interface driven by a fictional project. Drag the timeline, click a star, flip the server reads on, or switch to 2D.
Live filesystem activity, in your browser

Watch your files change, live.

fwatch points at any folder and turns it into a living mosaic. Every file is a tile, ordered by what changed last, colored by type. Edits flash, diffs stream in, and you can scrub back through the whole history.

Python 3.8+ Standard library only Runs on localhost Windows, macOS, Linux
What you get

A clearer picture than a scrolling terminal

fwatch is built around one idea: whatever just changed should be the easiest thing to see.

Recency-sorted mosaic

Every file is a tile sized to its name and colored by type. A fresh edit jumps its file to the top, and ties fall back to code-first so source never hides under images and archives.

Real diffs, even for atomic saves

Editors that save by renaming a temp file or recreating the original would normally look like noise. fwatch folds those back into the real content diff with adds and removes.

A change log that stays

The right column keeps a scrollable, newest-first log of git-style diffs. It never auto-clears, so you can scroll back through history, including changes to files that were since deleted.

3D universe view

Flip to a navigable galaxy where files are stars around your repo at the center. Same-folder files cluster, the camera flies to whatever changed, and each dot recolors by action.

See reads, not just writes

On Windows, fwatch shows which files are opened and by which process and user, with a distinct blue glow. Reads by the local web server are grouped on their own toggle so you can include or hide them.

Speed control and time travel

Slow a burst of edits down to a few per second to watch it play out, or scrub the time-based timeline to replay any moment. Hit LIVE to snap back to the present.

Under the hood

How it works

One Python process watches the folder, computes diffs, and pushes them to the browser. All the playback logic lives client side.

1

Watch

Native filesystem events through watchdog, or a fast polling fallback when it is not installed.

2

Diff

fwatch reads the changed file and builds a structured diff, coalescing temp-rename and recreate saves.

3

Push

Changes stream over Server-Sent Events. Plain HTTP, no extra library, low latency to the browser.

4

Render

The browser lays out the mosaic, draws diffs, and runs the speed and timeline controls with no round trips.

Because speed and time travel run entirely in the browser, scrubbing the timeline or changing playback speed never costs a server round trip. If a slow client drops events, sequence numbers and a history endpoint let it resync without losing its place. Port 80 is usually taken by Apache or similar, so fwatch defaults to 7878.

Optional, Windows

See what gets read, from any program

A filesystem watcher cannot see reads, since opening a file changes nothing on disk. Windows can report them through Security auditing, so fwatch picks them up from there.

  • Reads glow blue and lift just below the edited files while they linger, then fade.
  • Edits glow amber and pull a file to the very top of the mosaic.
  • New files appear in place and flash as they are created.
  • Deletes are shown in the log, and the diff stays even after the file is gone.

Server reads, on their own toggle

When a local web server like Apache, Nginx, PHP, or IIS serves your project, it reads files constantly. fwatch groups those reads separately and hides them by default. Flip the server toggle in the demo to watch the web server fetch assets as you browse.

Reads arrive over a generic endpoint, so a Linux or macOS producer can feed the same data. Only the Windows producer ships today. Common noise like the search indexer and antivirus is filtered by default.

# 1. once, in an elevated PowerShell
.\enable_audit.ps1 -Path C:\path\to\project

# 2. start the visualizer
python fwatch.py C:\path\to\project --open

# 3. start the read watcher, alongside it
.\fwatch_audit.ps1
Quick start

Point it at a folder and go

One file, one command. fwatch opens your browser and starts watching.

:: watch a project folder and open the browser
fwatch.bat C:\path\to\your\project

:: or just watch the current folder
fwatch.bat
./fwatch.sh /path/to/your/project

# or call Python directly
python3 fwatch.py /path/to/your/project --open

Then open http://localhost:7878/. fwatch skips noisy folders like .git, node_modules, and __pycache__ by default, plus editor scratch files. Add your own with --exclude, change the port with --port, or see everything with --no-default-excludes.

Requirements

Almost nothing to install

Python 3.8 or newer

That is the only hard requirement. fwatch uses only the standard library, so there is nothing else to pull in.

watchdog, optional

Install it for instant native filesystem events. Without it, fwatch falls back to fast polling and tells you which mode is active.

A modern browser

The mosaic is plain JavaScript with no CDN. The 3D view uses WebGL, with three.js vendored locally.

Questions

Frequently asked

What is fwatch?

fwatch is a local tool that watches any folder and draws every file as a tile in a live mosaic in your browser. Tiles are ordered most-recently-changed first and colored by file type. When a file changes, its tile flashes and the real diff lands in a scrollable change log.

Does it work with any editor or tool?

Yes. fwatch watches the filesystem, so it shows changes from any program touching the folder: editors, build steps, scripts, formatters, and coding agents. It is not tied to a single tool.

Do I need anything besides Python?

No. fwatch runs on Python 3.8 or newer using only the standard library. The optional watchdog package gives instant native events instead of polling, but it is not required.

How does it diff files saved atomically?

Many editors save by writing a temp file and renaming it over the original, or by deleting and recreating the file. fwatch detects these patterns and folds them back into a normal modify diff, so you see the real content change instead of an opaque moved or deleted event.

Can it see file reads, including the web server?

On Windows, yes. The OS reports reads through Security auditing, so any program or user that opens a file shows up with a blue glow and the reading process and account on hover. Reads by the local web server, such as Apache, Nginx, PHP, or IIS, are grouped separately and hidden by default behind a server toggle.

Is my code sent anywhere?

No. fwatch is a local dev tool. It binds to 127.0.0.1 and serves the interface to your own browser. Nothing leaves your machine.

Give it a folder it has never seen.

Run it against a repo mid-build, or while an agent is editing, and watch the activity surface in real time.