You are browsing as a guest. Sign up (or log in) to start making projects!

huncikoma

@huncikoma

Joined June 15th, 2026

  • 23Devlogs
  • 3Projects
  • 2Ships
  • 42Votes
Hi! I am a 14 years old from Romania from a little village, I am interested in programming and Physics , when I saw the Stardance Challenge I was very happy and I started my first hackathon.
Ship

I made a real BlackHole simulation using python, Nvdia Cuda accelaration, It was very challenging to write the code plus understand the physics behind it as a 14 years old, the idea came from the Interstellar scene in the Black Hole simulation that the IBM supercomputer simulated. This is my version but this simulation is very power consuming, my 5070 hitting 2.2fps in the highest quality, I beg you dear reader to download and test it, because the demo site is just a demo not a real simulation, not Cuda and python like the real one if you download, and you can’t acces the settings that i made in the real so please download and try it not just the demo site because it is not the same feeling. Enjoy your trip at my simulated Black Hole.
(Note: this is only works with Nvdia graphics card because of the Cuda (Sorry AMD))

  • 13 devlogs
  • 99h
  • 14.93x multiplier
  • 1426 Stardust
Try project → See source code →
Open comments for this post

4h 40m logged

Devlog#13 Finally, I finished the project, it is working, I created an install and a run batch file, and it is working, EVERYTHING!!! here a demonstration video (Sorry for the quality i have to shrinf from 201mb to 49mb) in the max level i’m getting 2.2 fps with a 5070!!!

1
0
26
Open comments for this post

7h 42m logged

Devlog#12 Finally!!! I finished the main code, however I must do some bugfixes, and write a batch file to automaticly download python libaries, extensions , drivers to work. In the next devlog I can finally show you simulation footage.

0
0
9
Open comments for this post

6h 53m 24s logged

Devlog#10 Today I almost finished the Application part, doing some bug fixes, collecting the requirements, and I also did the rotating camera function and the orbit function as well

0
0
8
Open comments for this post

7h 42m 13s logged

Devlog#7 Finally I’m ready with the quality part, and I am working now on the Apllication and the Cuda drivers, In this section the Ai hellped me with the Cuda accelaration part because as I mentioned in my devlogs I didn’t work with Cuda before and I’m learning in the meantime with the help of Ai.

0
0
8
Open comments for this post

14h 1m 13s logged

Devlog #1: Black hole raytracer, the GPU side New
project. This time it’s a real-time black hole renderer, including
gravitational lensing and the accretion disk. It’s in Python, which
feels familiar after working on the ISS tracker.The
main idea is to shoot a ray for every pixel and bend it according to
the Schwarzschild geodesic equation as it passes the black hole.

0
0
20
Ship

I make a real-time ISS tracker with a 3D globe. It shows the station’s live position, altitude, speed and whether it’s sunlit — plus it predicts when the ISS will be visible with the naked eye from your location in the next 6 days. It also shows who’s currently aboard. All the orbital math (SGP4) runs locally with satellite.js, the 3D globe is globe.gl.
What was challenging?-Pretty much everything — this is my first web project ever. I’m a Python guy, so I had to learn the whole thing from the ground up: HTML, CSS, JavaScript, all of it. None of this existed in my toolbox before this project. The hardest part by far was the pass prediction: look angles, ECI to ECF conversion, checking if the ISS is sunlit while your sky is dark. Actual orbital mechanics. I used AI as a tutor along the way, but I made sure I understood every part instead of just pasting code.
I am proud of that the pass prediction actually works — three conditions lining up (ISS above 10°, sun 6° below your horizon, station still in sunlight) and it tells you exactly when to look up. Also the “mission control” design, built from scratch with CSS variables. And honestly: that as a Python-only dev I had to learn an entirely new stack for this, and it actually came together. From barely knowing what a div is to this, in a few weeks.
To test it:
Just run start.bat (it starts a small Python webserver and opens the app) — or open the demo URL. Click “Use my location” or type coordinates manually, and the visible passes table fills in. Try the Follow/Rotate camera modes and the Day/Night texture toggle too. Details in the README.

  • 10 devlogs
  • 21h
  • 11.84x multiplier
  • 245 Stardust
Try project → See source code →
Open comments for this post

4h 33m 37s logged

Devlog #10 — Crew, startup & it’s doneLast pieces today.Crew
section first. Pulls from the Open Notify API — who’s on the ISS right
now. Had to route it through a CORS proxy because the API is http-only
and browsers block that from an https page. Filters for ISS crew
specifically, falls back to everyone in space if the filter comes up
empty. If the API dies, shows a graceful “unavailable” message instead
of breaking.Then the startup section — the part
that boots everything. Load saved observer location, fetch TLE, fetch
crew, then the intervals: tick() every second, orbit path refresh every
minute, fresh TLE every 2 hours, crew every 6 hours. Everything on its
own schedule.Finally made it actually easy to run.
Wrote a small Python server file that spins up a local webserver — this
is where my Python comfort zone finally got to shine in this project.
Plus a start.bat that launches the server and opens the app in the
browser in one double-click. And a README so anyone can figure out how
to run it.That’s it. The tracker is done. Live
position, 3D globe, pass predictions, crew list, one-click startup.
Started this barely knowing what a div was.

1
0
4
Open comments for this post

2h 31m 15s logged

Devlog #9 — Pass predictionThe part I was most scared of. Also the coolest.computePasses()
steps through the next 6 days in 30-second jumps, calculates the ISS
position at each step, and converts it to look angles from your
location. Elevation above 10° = pass starts. Drops below = pass ends.The
visibility check is the fun part. You can only see the ISS with your
own eyes if three things line up: it’s above 10°, the sun is 6°+ below
your horizon , but the ISS up there is still catching
sunlight. Basically a sunlit object against a dark sky. That’s what
you’re actually seeing.Also finished the
geolocation button, the reverse geocoding for your city name, and the
pass table — time, duration, max elevation, compass direction. Visible
passes get an orange dot.Deepest I’ve been in over my head this whole project. But piece by piece, it makes sense now.

0
0
3
Open comments for this post

3h 4m 43s logged

Devlog #8 — TLE age, observer location & localStorageShort but important session.First,
finished off the tick() function. Added TLE age display — shows how old
the orbital data is. Under an hour it shows minutes, over an hour it
shows decimal hours. Small detail but useful, stale TLE data means
inaccurate position.Then observer location. This
took a bit of thinking. The app needs to know where you are to predict
ISS passes — so setObserver() takes lat/lng, validates it (no infinite
values, lat within ±90, lng within ±180), converts to radians for the
math, and stores it.The localStorage part was new
territory for me. Never used it before. Basically the browser remembers
your location between sessions — so next time you open the app it loads
your saved coordinates automatically via loadObserver(). One line to
save, one line to load, JSON in between. Actually really simple once I
understood it.The observer marker gets placed on
the globe too — same system as the ISS marker but sits almost on the
surface (altFrac: 0.005).Input fields update to
show the saved coordinates. The location display shows hemisphere format
— 47.50° N, 19.04° E style — then “loading…” underneath while it
reverse geocodes the place name.Coordinates,
radians, localStorage, marker placement — a lot of small things that all
had to connect correctly. Felt good when it clicked.

0
0
2
Open comments for this post

3h 5m 9s logged

Devlog #7 — Camera, live updates & the tick loopThis session was the one where it started actually feeling alive.Camera
controls first. Three modes — follow, rotate, free. “Follow” mode
smoothly pans the globe to the ISS position every 2.4 seconds with a
900ms animation. Feels really clean, like the camera is actually
tracking something. “Rotate” just spins the globe on its own. “Free” is
hands-off, user controls everything. Also wired up the day/night texture
toggle — one click switches between the blue marble and the night
lights texture.Found a bug: setStatus() is missing
a space — “led” + cls produces “ledlive” instead of “led live”. The LED
will never change color because the class name is wrong. One character
fix.Then the tick() function. This is the
heartbeat of the whole app. Runs on an interval, calls stateAt(now),
updates the marker position, updates all the telemetry readouts — lat,
lng, altitude, speed, orbital period, illumination. Everything live.

0
0
1
Open comments for this post

55m 36s logged

Devlog #6 — Markers, orbit track & resizeShort session today but got a few important things done.Set
the globe’s starting view — looking down at lat: 20, lng: 0 from
altitude 2.4. Basically a nice “overview of Earth” angle when the page
loads. Auto-rotate speed set to 0.45, slow and smooth. Small detail but
it makes the whole thing feel alive even before any data loads.Then
the markers. Two functions — makeIssEl() and makeObsEl() — each just
creates a div with the right CSS class and inner HTML. The ISS gets the
orange ring, the observer gets a “You” label. Simple.Found
two HTML typos in there while writing this. makeIssEl() has </div
missing the closing >. makeObsEl() is missing the opening < on the
dot div — ‘div class=“dot”>’ instead of ‘’.
Both will silently break the markers in the browser. Need to fix those.The
orbit track was interesting. It loops from -25 minutes to +70 minutes
around now, samples a position every 1.5 minutes, builds a path array.
So you see where the ISS came from and where it’s going. Past 25
minutes, future 70. Felt like a very “Python” approach — just loop,
collect, feed into the renderer.Also wired up
resize handling. Globe redraws to fill its container whenever the window
size changes. One listener, one function.

0
0
1
Loading more…

Followers

Loading…