Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: I built a space travel calculator using Vanilla JavaScript (cosmic-odometer.vercel.app)
44 points by captainnemo729 3 hours ago | hide | past | favorite | 22 comments
I built this because measuring my age in years felt boring—I wanted to see the kilometers.

The first version only used Earth's orbital speed (~30km/s), but the number moved too slowly. To get the "existential dread" feeling, I switched to using the Milky Way's velocity relative to the CMB (~600km/s). The math takes some liberties (using scalar sum instead of vector) to make the speed feel "fast," but it gets the point across.

Under the hood, it's a single HTML file with zero dependencies. No React, no build step. The main challenge was the canvas starfield—I had to pre-allocate the star objects to stop the garbage collector from causing stutters on mobile.

Let me know if the physics makes you angry or if the stars run smooth on your device.





Geez, gotta love that you have to reach the bottom of the page and read the small print to realize that the date input on the top is supposed to be for your birthday... and then to figure out that the site is a calculator of "this is how far you've travelled relative to [the center of the universe?] since birth"...

fair point. classic case of 'dev blindness'—i've tested it so many times i forgot it's not obvious to a new user.

pushing a label fix now so it's not a guessing game. thanks.


It's really odd that we're stuck in this fish tank with zero idea where we're flying now, or where we were before. I believe this is vital information for every journey.

Life looks much easier when realising that we're all flying at least ~30 km/s through dark space every second of our lives.

Thank you so much! I was just thinking about how to create something similar a month ago for my birthday, but didn't succeed like you did.


The fish tank analogy is perfect. It feels illegal that we're moving this fast without a dashboard.

And definitely give yours another shot. Since this is just vanilla JS, feel free to view source on mine to see how I handled the frame loop if you get stuck.


STARFIELD is nice. Reminds me of DOS screensavers.

thanks. i love those old screensavers because they were so efficient. tried to keep this one lightweight too just a simple canvas loop so it doesn't spin up the fans.

Nice job!

It's interesting to see how little effect the orbit and rotation had on the straight line. A proposal is to align the numbers for the different movement categories so that it's easier to see the magnitudes of them.

It took me a couple of seconds to understand the concept, from the title I though it was going to be a planner to show gravity assists etc.


Yeah the scale difference is crazy. Once you add the Galaxy/CMB velocity, the earth's rotation basically becomes a rounding error.

Good call on the number alignment. I'm using a variable-width font which makes comparing them messy. I'll switch to monospace or tabular-nums in the next push so the magnitudes scan better.

And fair point on the title-'calculator' implies mission planning. Maybe 'travel visualizer' would have been safer!


Even if you remember the times of iPod, you can safely say you're less than one light year old.

yeah it's actually depressing. based on the odometer's math (~850km/s), you hit the 1 Light Year mark around your 353rd birthday.

You're measuring time using a unit of distance...

fair point. i'm taking some poetic license with spacetime.

treating 'distance traveled' as a proxy for age since we're all stuck on the same rock moving at the same speed.


it's cool but i was expecting some kind of visualization, how do my 1.2 trillion km look on a map?

also there are some cursors with question marks but they don't espatially ;) call the FAQ, do they? firefox on win10


valid point on the visualization. i tried to map it initially, but the depressing reality is that even at 1.2 trillion km, we're basically a stationary dot on a galactic scale. a map just looked like a blank screen, so i went with the starfield to try and convey speed instead.

re: the cursors that's definitely my bad UX. they are just hover tooltips (standard title attributes), but setting the cursor to help (?) makes them look like clickable buttons. i'll swap that out so it's less confusing. thanks for the firefox check.


Did you consider representing on a logarithmic scale?

that's a really interesting angle.

i thought about it, but i was worried a log scale might abstract away the 'feeling' of the distance (making a light year look deceptively close to a kilometer). i want the user to feel small, and log scales tend to make things look manageable.

but you're right it's probably the only way to fit the solar loops and galactic arc on the same screen visually. might be worth a prototype for v2.


So, how much does the galaxy's travel affect the speed of time?

I actually ran the numbers on time dilation! At 600km/s (0.2%), the effect is surprisingly small. We basically 'save' about 63 seconds a year compared to a stationary observer relative to the CMB. Not enough to live forever, but enough to be late for a meeting.

This is great, well done.

thanks! it was a fun weekend hack to put together. glad you liked it.

Awesome!!!

thanks! glad you liked it

[deleted]




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

Search: