There's no data when I tried it on a windows 11 PC. It seemed to install all deps front end is served but dossier says intel unavailable.

No planes etc.

No helpful output in the command window.

Seems fun but doesn't seem to be working.

Ah, that's my fault for not making the error handling clearer in the UI. If the map is blank, it usually means the backend is missing the .env file with the free API keys (AISSTREAM_API_KEY and N2YO_API_KEY), so it's silently failing to fetch the streams.

Did the terminal throw any Python FastAPI errors, or did it just serve the Next.js frontend? I'm going to push an update later today to show a prominent "Backend Disconnected / Missing API Keys" warning on the UI so it doesn't just look dead. Thanks for testing it!

On the topic of API Keys, for Opensky it's OPENSKY_CLIENT_ID and OPENSKY_CLIENT_SECRET, the readme has OPENSKY_USERNAME and OPENSKY_PASSWORD

The perils of vibe coding.

Looks like I had to use python-3.11 and install a few dependencies.

Change the requirements.txt in the backend to the following

fastapi==0.103.1

uvicorn==0.23.2

yfinance>=0.2.40

feedparser==6.0.10

legacy-cgi==2.6.1

requests==2.31.0

apscheduler==3.10.3

pydantic==2.11.0

pydantic-settings==2.8.0

playwright>=1.58.0

beautifulsoup4>=4.12.0

sgp4>=2.22

cachetools>=5.3.0

cloudscraper>=1.2.71

reverse_geocoder>=1.5.1

lxml>=5.0

python-dotenv>=1.0

and be on python 3.13 and it should get you up and running

Thanks, it helped some, but I'm still having an error:

  [1] node:internal/modules/cjs/loader:1368
  [1]   throw err;
  [1]   ^
  [1] 
  [1] Error: Cannot find module '/home/user/shadow/start-backend.js'
  [1]     at Function._resolveFilename (node:internal/modules/cjs/loader:1365:15)
  [1]     at defaultResolveImpl (node:internal/modules/cjs/loader:1021:19)
  [1]     at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1026:22)
  [1]     at Function._load (node:internal/modules/cjs/loader:1175:37)
  [1]     at TracingChannel.traceSync (node:diagnostics_channel:322:14)
  [1]     at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
  [1]     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)
  [1]     at node:internal/main/run_main_module:36:49 {
  [1]   code: 'MODULE_NOT_FOUND',
  [1]   requireStack: []
  [1] }

This is fun, Playwright is a python wrapper for a node lib. So we have Next.js (full stack js/ts), with a Python backend (???), that uses a wrapper for a js/ts lib, all we need now is to shell out to node from inside that script and we have peak inception lol.

And it's not complete until it runs in an emulation layer.

lol

Same on a Mac

Yeah this doesn't work on Mac either. This is just broken and nonfunctioning.

Apparently, I had a bunch of front end developmental scripts that were calling the Windows version of python. Working on it now.