Show HN: I built a space travel calculator using Vanilla JavaScript

52 points by captainnemo729 14 hours ago on hackernews | 34 comments

widforss | 13 hours ago

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.

[OP] captainnemo729 | 13 hours ago

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!

reconnecting | 13 hours ago

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.

[OP] captainnemo729 | 13 hours ago

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.

reconnecting | 12 hours ago

STARFIELD is nice. Reminds me of DOS screensavers.

[OP] captainnemo729 | 12 hours ago

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.

arendtio | 13 hours ago

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

[OP] captainnemo729 | 13 hours ago

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.

arendtio | 10 hours ago

Pretty cool, thank you :-)

anileated | 12 hours ago

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

[OP] captainnemo729 | 12 hours ago

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

netsharc | 12 hours ago

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

[OP] captainnemo729 | 12 hours ago

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.

croisillon | 12 hours ago

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

[OP] captainnemo729 | 12 hours ago

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.

DaveJorg | 12 hours ago

Did you consider representing on a logarithmic scale?

[OP] captainnemo729 | 12 hours ago

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.

croisillon | 9 hours ago

            fr: {
                title: "Odomètre cosmique",
                subtitle: "Compteur de voyage dans l'espace depuis la date de naissance",
                copied: "Lien copié !",
                latitude: "Latitude",
                mission_duration: "Durée de la mission",
                rotated: "1. Rotation de la Terre",
                orbited: "2. Révolution autour du Soleil",
                solar_travel: "3. Revolution dans la Voie Lactée",
                galactic_travel: "4. Déplacement de la Voie Lactée dans l'Univers",
                total_distance: "DISTANCE TOTALE",
                traveling_at: "Vitesse :",
                displacement_title: "Déplacement en ligne droite",
                displacement_desc: "Distance parcourue par rapport à votre emplacement à la naissance en ligne droite (sans tenir compte des rotations et révolutions circulaires).",
                moon_trips: "Allers-retours vers la Lune",
                moon_desc: "Distance jusqu'à la Lune et retour à la Terre.",
                passed_pluto: "Passages par Pluton",
                pluto_desc: "Tours complets du système solaire.",
                light_year_prog: "Progression jusqu’à 1 année-lumière",
                you_are: "Tu as voyagé à",
                ly_away: "d'une année-lumière.",
                manual_title: "Manuel de vol",
                faq_1_q: "1. Qu'est-ce que la \"rotation\"?",
                faq_1_a: "La distance parcourue en raison de la rotation de la Terre sur elle-même. À l'équateur : ~1.600 km/h (1,000 mph). Aux pôles : 0.",
                faq_2_q: "2. Qu'est-ce que la \"révolution autour du Soleil\"?",
                faq_2_a: "La Terre tourne autour du Soleil à ~107.000 km/h (66,000 mph). C'est ton tour annuel.",
                faq_3_q: "3. Qu'est-ce que la \"Revolution dans la Voie Lactée\"?",
                faq_3_a: "Le Soleil entraîne les planètes du Système Solaire dans une révolution autour de la Voie Lactée à ~792.000 km/h (490,000 mph).",
                faq_4_q: "4. Qu'est-ce que le \"déplacement dans l'Univers\"?",
                faq_4_a: "Notre galaxie se déplace à 2.1 million km/h (1.3 million mph) par rapport au fond cosmologique.",
                faq_5_q: "Distance totale?",
                faq_5_a: "La somme de toutes ces vitesses combinées en une longueur totale parcourue depuis ta naissance.",
                privacy: " Note de confidentialité : Ce site fonctionne entièrement côté client. Votre date de naissance est traitée localement et n'est jamais envoyée à un serveur.",
                unit_y: "y", unit_m: "m", unit_d: "d", unit_h: "h", unit_min: "m", unit_s: "s",
                welcome: "Bienvenue"
            },

netsharc | 12 hours ago

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"...

[OP] captainnemo729 | 12 hours ago

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.

redmattred | 12 hours ago

This is great, well done.

[OP] captainnemo729 | 12 hours ago

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

dalton_zk | 12 hours ago

Awesome!!!

[OP] captainnemo729 | 12 hours ago

thanks! glad you liked it

DmitryO | 10 hours ago

Its vibecoded, I can see this shitty borders and neon that Gemini and other AI tools like so much

[OP] captainnemo729 | 10 hours ago

i was just going for a synthwave/tron aesthetic. the glowing borders are a deliberate style choice, not a GPT artifact.

potluri | 10 hours ago

Just want to comment on the star background. I did something similar for my own site (link in bio). I ended up rendering the stars in a three.js scene because drawing them on a 2D canvas did not look like a satisfying effect. CPU usage was lessened as well, at least on my mobile and two desktops (can't verify your site's CPU utilization since I'm on mobile atm). It also fixed the issue where resizing the viewport would mess with the rendering of the stars, like it occurs in your app currently.

[OP] captainnemo729 | 10 hours ago

nice. i debated using three.js but didn't want the overhead/imports for a simple background. wanted to keep it raw canvas to stay zero-dependency.

you're totally right about the resize jank though. the math definitely breaks when the window dimensions change. on the todo list.

Love it and the fact it’s lean. No back-end slop.

[OP] captainnemo729 | 10 hours ago

Thanks! glad you liked it

Tiberium | 10 hours ago

New account, vibecoded demo (the style gives it away, plus the comments in source), author using LLM to write comments, yet this reached the top page.. HN is certainly interesting nowadays.

I'm not against vibecoded stuff, but the author said it's a "deliberate design choice" in one of the comments, clearly not being open about the use of LLMs.

> https://web.archive.org/web/20260124143216/https://cosmic-od...

/* FIXED: Changed cursor from 'help' to 'default' to avoid confusion */

/* --- UPDATED MOON LOGIC --- */

croisillon | 9 hours ago

i noticed this from the product and from the comments, but if it's well done and satisfying, what's wrong with it?

Tiberium | 9 hours ago

LLM comments are not allowed on HN, plus the author is being dishonest in another comment saying that the style is a "deliberate style choice" and not because it's vibecoded.

Perhaps it's not immediately obvious, but an LLM like Gemini 3 Pro can give you a demo like this in just a few minutes. Is it really worth a "Show HN"?

croisillon | 9 hours ago

well i don't have Gemini Pro and even if i did it would not by default offer this, so it's an idea this person has got, realized it whether he paid someone or a computer to, and presented, it's not like they're showing a blog-cms