git404hub

what is shadowcat fr?

unprovable/shadowcat — explained in plain English

Analysis updated 2026-05-18

211HTMLAudience · generalComplexity · 2/5Setup · easy

tl;dr

A single offline HTML page that transfers files between two devices by flashing QR codes at a camera, for phones whose Bluetooth or NFC no longer works.

vibe map

mindmap
  root((ShadowCat))
    What it does
      QR code file transfer
      Fully offline
      For old phones
    Tabs
      Generate
      Scan
      Send file
      Receive file
    Tech stack
      HTML
      JavaScript
      Camera API
    Use cases
      Rescue old phones
      LAN file transfer
      No network needed

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Move a file between two old phones that have no working Bluetooth or NFC

VIBE 2

Send a small file to a device with no internet or LAN access, using only a camera and a screen

VIBE 3

Recover one specific missing chunk during a slow transfer without restarting the whole loop

what's the stack?

HTMLJavaScript

how it stacks up fr

unprovable/shadowcatkeyai/calculusmadeeasy-zhgiovapanasiti/active_canvas
Stars211215204
LanguageHTMLHTMLHTML
Setup difficultyeasyeasymoderate
Complexity2/51/52/5
Audiencegeneralwriterdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · easy time til it works · 5min

Camera access needs HTTPS or localhost, iOS Safari requires HTTPS even over a local network.

in plain english

ShadowCat is a single HTML file that lets you transfer files between two devices using only their cameras and browsers, with no internet connection, no Bluetooth, no NFC, and no cable required. The intended use case is old phones whose wireless radios have stopped working but whose cameras and screens still function. The way it works: the sending device breaks a file into small chunks and displays them one after another as a series of QR codes on screen, cycling through them repeatedly at a speed you set. The receiving device points its camera at the sender's screen, scans the QR codes as they appear, and pieces the file back together. A grid on the receiver shows which chunks have arrived and which are still missing, so you can wait for the sender to cycle around and fill in any gaps. Once all chunks have been received, the file's integrity is verified before a download button appears. The tool also has simpler tabs for generating and scanning single QR codes with short text, for quick copy-paste operations between devices. Because the HTML file needs camera access, browsers require it to be served over HTTPS or a local network address rather than opened directly as a file. The README explains how to serve it with a basic Python web server on your laptop, then visit it from the old phone on the same network. iOS Safari requires HTTPS for this to work cross-device. Transfer speed is slow by nature: roughly 0.8 to 1 kilobyte per second, so a 100 KB file takes about two minutes per loop of the QR cycle. The chunk size, frames per second, and error correction level are all adjustable to match what a given device can reliably scan.

prompts (copy fr)

prompt 1
Help me modify ShadowCat so it uses a different chunk delimiter than the pipe character
prompt 2
Show me how to set up a local HTTPS server so ShadowCat's camera scanning works on iOS Safari
prompt 3
Help me add a percentage counter next to ShadowCat's missing-chunks grid
prompt 4
Write a Python script that serves ShadowCat automatically over my local network on startup

Frequently asked questions

what is shadowcat fr?

A single offline HTML page that transfers files between two devices by flashing QR codes at a camera, for phones whose Bluetooth or NFC no longer works.

What language is shadowcat written in?

Mainly HTML. The stack also includes HTML, JavaScript.

How hard is shadowcat to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is shadowcat for?

Mainly general.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.