Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Flight-Viz – 10K flights on a 3D globe in 3.5MB of Rust+WASM (flight-viz.com)
80 points by coolwulf 21 hours ago | hide | past | favorite | 41 comments
I built a real-time flight tracker that renders 10,000+ aircraft on an interactive 3D globe, entirely in the browser using Rust compiled to WebAssembly.
 help



Why is there almost no traffic in places like South America (other than Brazil) and Africa? Data set or reality? Not much in China/Russia either.

The current data is from OpenSky, mainly north america and EU.

Zooming on a mouse wheel on windows is nearly unusable, it goes from whole of europe to town level in one mouse wheel notch.

im on a mac and had the same issue.

other bugs: when i pan around (while zoomed far in), the planes arent in a fixed position on the map, they shift with the pan

ux bug: when i zoom in, it zooms into the middle of the browser window instead of where my cursor is.


I just modified zooming algo a lit, now it should improve your user experience.

I will take a look to fix these bugs.

also fixed the parallelex problem of route trail vs. the plane icon

I am on Mac. Will try to get on a Windows box to test this

There's something a little off about the projection logic when you drop into the Leaflet view, you'll notice that when you pan around after zooming the planes shift their location.

Very cool demo though!


Need to check my calculations. Thanks for noticing it.

This is fixed now.

For people having problems navigating, you can search flifht number on the left search bar. When click on the flight number, the view will jump over.

How are you getting that real time flight data from . Is there a free source for this ?

you can check OpenSky, they have API with free tier.

Impressive. The planes should probably scale up a bit as you zoom though, they become impossible to spot.

I'm surprised all the flights in the world can be represented in a <500KB api call


try change to satellite view it will be more visible

Makes the divide between the developed and developing world very clear.

Edit: can’t be right. I think this is a dataset problem. China and Brazil should have more dots.


opensky database is limited. I need to find some data source for China and south America

When you zoom in to the street map level, the planes are practically invisible with their color and thin borders. Pretty neat though, that's a lot to load and keep smooth.

If you switch to satelite view, the planes will be very visible.

When zooming in and it switches to the lighter color tiles, the icons basically become invisible.

the airline flight number attached to the icon is in dark color and should be visible, also could switch to satelite view when zoom in, which is dark color

Wow. I won't give you a feature request :) just appreciation.

It really puts into perspective the magnitude of air traffic when you have this visualization.


Did you pay for flight api? Getting comprehensive real time flight data is quite a monetary challenge

I registered on OpenSky and using their API

Could probably extrapolate positions based on heading and speed, to do some fake "real time" positions.

It seems there is very little flight data from China.

That's the limitation of current OpenSky api. Most of Chinese airlines data are not in it.

Really cool! Curious to know how you made it render everything so fast with barely any loading.

Good work.


:P just optimize to the extreme

It render extremely fast on my side (firefox, macOS). Which UI stack are you using? Is it egui?

It's mainly eGui + WebGPU

The wasm file (flight_viz_bg.wasm) was 10.94 MB as reported by firefox.

I changed a higher resolution image and that is why now it is a little bigger...

If it's just the image, you could try using more aggressive compression?

Can you add pinch zoom?

Currently I developed this for desktop browser, so it might not work well on mobile. But I will improve and update it.

You should be able to do pinch zoom support for laptops with a trackpad, too. I think it would be

window.addEventListener('wheel', ... )

Fantastic work!


Ok, I'm on desktop now. And I notice another "issue". When I use my mouse wheel to zoom, the point that my mouse cursor is on is not stationary. This makes it hard to zoom in on e.g. a specific aircraft or landmark.

I can take a look. The current zoom is zooming to screen center. Maybe I should change it to cursor location.

Yes, that will definitely be an improvement.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: