Show HN: I built a real-time OSINT dashboard pulling 15 live global feeds (github.com)

312 points by vancecookcobxin ↗ HN
Sup HN,

So I got tired of bouncing between Flightradar, MarineTraffic, and Twitter every time something kicked off globally, so I wrote a dashboard to aggregate it all locally. It’s called Shadowbroker.

I’ll admit I leaned way too hard into the "movie hacker" aesthetic for the UI, but the actual pipeline underneath is real. It pulls commercial/military ADS-B, the AIS WebSocket stream (about 25,000+ ships), N2YO satellite telemetry, and GDELT conflict data into a single MapLibre instance.

Getting this to run without melting my browser was the hardest part. I'm running this on a laptop with an i5 and an RTX 3050, and initially, dumping 30k+ moving GeoJSON features onto the map just crashed everything. I ended up having to write pretty aggressive viewport culling, debounce the state updates, and compress the FastAPI payloads by like 90% just to make it usable.

My favorite part is the signal layer—it actually calculates live GPS jamming zones by aggregating the real-time navigation degradation (NAC-P) of commercial flights overhead.

It’s Next.js and Python. I threw a quick-start script in the releases if you just want to spin it up, but the repo is open if you want to dig into the backend.

Let me know if my MapLibre implementation is terrible, I'm always looking for ways to optimize the rendering.

61 comments

[ 3.1 ms ] story [ 74.5 ms ] thread
(comment deleted)
Yoooo this is amazing... can you add rss feeds like feeder.co aggregating subreddits and groundnews articles embedded in here too?

And add chronological feeds of govtrack.us along with all politicians social media feeds

[flagged]
This is actually really good. Like this kind of app built before AI everyone would praise it.

It's only slop because anyone can make it now and we're all sick of clones.

The app is good, but the effort required to make it is not impressive at all. I think calling this slop is a misnomer. It's not slop. It's better than what most of us can do and done in a significantly faster amount of time. Calling it slop implies you can do better... which you can't.

@dang - HN tearing itself apart over use of AI isn't conducive to a strong cohesive community.

Nobody here is at fault, we're in very trying times - we need to adjust with patience and consideration.

Use of AI to launch rapid prototypes is like breadboarding a new product. It has a place but it's moving so fast that it's hard to lock down at the moment.

No point everyone throwing excess cortisol in this direction. <3

Lol please at least clean up the markdown diagram -- claude has a real hard time aligning the borders in ascii art for some reason.
dont give these OSINT quality signals away ... that's one of the indicators that allow you on first scan to id (potentially) low quality content. Ie: fully llm gen; the author doesnt look over the docs or doesnt care for 'details'.
“The first Matrix I designed was quite naturally perfect, it was a work of art, flawless, sublime; a triumph equaled only by its monumental failure. The inevitability of its doom is apparent to me now as a consequence of the imperfection inherent in every human being. Thus I redesigned it, based on your history, to more accurately reflect the varying grotesqueries of your nature. However, I was again frustrated by failure. ”
Optimizing some of that geojson into realtime tiles is a really fun and engaging project.

Have you seen these projects?

https://github.com/protomaps/PMTiles

https://github.com/maplibre/martin

They are definitely on the horizon! I am a HUGE fan of both of those projects and they are definitely on the roadmap for the architecture...

Right now, ShadowBroker is really optimized for 'blinking blip' real-time radar tracking (streaming the raw GeoJSON payload from the FastAPI backend directly to MapLibre every 60s), so we get as close to as smooth 60fps entity animations across the map.

Moving to something like Martin would be incredible for handling EVEN MORE entities if we start archiving historical flight and AIS data into a proper PostGIS database, but the trade-off of having to invalidate the vector tile cache every few seconds for live-moving targets makes it a bit overkill right now....

Protomaps is really cool also when you just want maps for a country and to serve them without too much of a hassle, their CLI has pretty much everything you need: https://docs.protomaps.com/pmtiles/cli

I set that up for an agricultural project a while back.

I've seen so many of these in the last week alone.

I need a realtime OSINT dashboard for OSINT dashboards.

Reminds me of all the Covid data trackers in mid 2020
It's pretty interesting to see. My very first real software job was working on ground processing algorithms for the US Navy's Maritime Domain Awareness system, which is the "real" version of something like this that actually gives centimeter scale live activity detections of basically the entire world. The engineering effort that goes into something like that is immense. Bush announced in like 2004 or something and we didn't go into full operational capability until 2015. Thousands of developers across intel, military, commercial contractors, for over a decade, inventing and launching new sensor platforms, along with build outs of the data centers to collect, process, store, and make sense of all this.

I wish these weekend warriors would work on a project like that someday, to see what capabilities truly take. You want to know what's happening in the world, you need to place physical sensors out there, deal with the fact that your own signals are being jammed and blocked, the things you're trying to see are also trying to hide and disguise themselves.

The attention to detail is something I've never seen replicated outside. Every time we changed or put out a new algorithm, we had to process old data with it and explain to analysts and scientists every single pixel that changed in the end product and why.

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.

Yeah this doesn't work on Mac either. This is just broken and nonfunctioning.
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!

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

Really cool thanks for sharing. What are the API costs like if i ran this for a couple hours a day for a month? Is it affordable?
cool idea.

first llm to stop using those damn colors for every single transparent modal in existence is going to be a big step forward.

You leaked `./frontend/.env.local` & `./backend/.env` inside `ShadowBroker_v0.1.zip` in the first commit.
Whole thing feels very vibe coded. Even OP's post here.
This looks really cool..

Let me ask a dumb question. Can this be run on a public server (I use dreamhost) with a web interface for others to see? Or is this strictly something that gets run on a local computer?

> Do not use this tool for any operational, military, or intelligence purpose.

How long before we see this UI in some Iran related news story

I'd be interested in just the data layer of this being extractable - will poke around at that. (frontend is fun, though!).
i wish someone could deploy this somewhere so we can try it out without having to build it first
I'm excited to see tooling of this nature and scope. Looking forward to seeing similar tooling oriented around all human needs so we can start tracking the meeting of needs to better meet needs, particularly in ways that don't require money.
Does it show locations of datacenters?
What's with so many people creating new accounts to promote LLM generated projects? Are they people who don't care about HN and just trying to self promote? Existing users creating new accounts? Lurkers?
Did I see this on X first?
(comment deleted)
I’ll admit I leaned way too hard into the "movie hacker" aesthetic for the UI

Nothing wrong with that. Beats a boring corporate dashboard any day. Video game and similar interfaces work for a reason.