|
67067
|
PicoGame by @fedi41 | Stardance
|
fedi41
|
0
|
16.46
|
0
|
[]
|
[{"post_id": 77925, "ts": "202 [{"post_id": 77925, "ts": "2026-10-08T19:54:50Z", "hours": 1.705, "text": "YOU can try it out! The testing website is live! Try the latest version of PicoGame yourself :D @wilrakov made the website and the menu animations What is new The website better menu with animations scrolling background some technical changes (deltatime on pico)"}, {"post_id": 77577, "ts": "2026-10-07T15:01:08Z", "hours": 1.6758, "text": "Inputs and animations Today I made the inputs on pico, and yesterday I added the animations module! @wilrakov is currently making the new menu with animations and I let you know how it looks when its ready :D What I did made animation functions for later (just lerping between coordinates) made the inputs on pico (not completly finished, no way to detect when the button was just pressed) fixed the inputs in raylib (added the missing buttons) Animations are not showed in the video, I havent added them to the menu yet"}, {"post_id": 76843, "ts": "2026-10-04T19:58:45Z", "hours": 1.0703, "text": "Working on the menu… made some progress on the main menu :D Later, it will be used for choosing game categories. thats all actually"}, {"post_id": 76641, "ts": "2026-10-04T07:44:28Z", "hours": 12.0094, "text": "Hey guysss! This is the first my devlog on PicoGame ! PicoGame is a game console, that runs on the pico2 , pc and web . This project is a team project, I am making it with my friend @wilrakov :D What it is As said, PicoGame is a game console, later even a game engine - written in C. The coolest part about it for me is, that it also runs in the web and on the pc! Current progress currently, we already have some of the basics done. Graphics and Text rendering is working on all platforms perfectly. @wilrakov has even made a lua implementation for later game development. What I have made my part was to make almost everything on the pico2 , since I am not familiar with raylib. Recently I started making the Main menu of the game console. I will be making more devlogs, more recently, so stay tuned!"}]...
|
Title: PicoGame by @fedi41 | Stardance
Devlogs:
H Title: PicoGame by @fedi41 | Stardance
Devlogs:
Hey guysss! This is the first my devlog on PicoGame ! PicoGame is a game console, that runs on the pico2 , pc and web . This project is a team project, I am making it with my friend @wilrakov :D What it is As said, PicoGame is a game console, later even a game engine - written in C. The coolest part about it for me is, that it also runs in the web and on the pc! Current progress currently, we already have some of the basics done. Graphics and Text rendering is working on all platforms perfectly. @wilrakov has even made a lua implementation for later game development. What I have made my part was to make almost everything on the pico2 , since I am not familiar with raylib. Recently I started making the Main menu of the game console. I will be making more devlogs, more recently, so stay tuned!
Working on the menu… made some progress on the main menu :D Later, it will be used for choosing game categories. thats all actually
Inputs and animations Today I made the inputs on pico, and yesterday I added the animations module! @wilrakov is currently making the new menu with animations and I let you know how it looks when its ready :D What I did made animation functions for later (just lerping between coordinates) made the inputs on pico (not completly finished, no way to detect when the button was just pressed) fixed the inputs in raylib (added the missing buttons) Animations are not showed in the video, I havent added them to the menu yet
YOU can try it out! The testing website is live! Try the latest version of PicoGame yourself :D @wilrakov made the website and the menu animations What is new The website better menu with animations scrolling background some technical changes (deltatime on pico)...
|
1793105622.8496358
|
1793710422.8496358
|
|
33711
|
Voc to CSV by @aquafr0stbyte | Stardance
|
aquafr0stbyte
|
1
|
4.55
|
61
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T19:46:33Z", "hours": 4.0, "multiplier": 15.7, "payout": 61, "blessing": "neutral", "text": "It’s a simple website that can export your Vocab into an Excel file. I personally use it to digitise my stuff.", "repo": "https://github.com/AquaFrostByte/Voc/", "demo": "https://voc.lain.onl/"}]...
|
[{"post_id": 77926, "ts": "202 [{"post_id": 77926, "ts": "2026-10-08T20:11:42Z", "hours": 0.5542, "text": "Did some mew and summ prrrruuurrr (i fixed some backend stuff)"}, {"post_id": 63185, "ts": "2026-09-06T21:05:29Z", "hours": 0.8564, "text": "Added a button to copy for Google Sheets (or it should also work with other Spread Sheet software) and a reasource tab with the reasources i have used in the past to learn langueages!"}, {"post_id": 60841, "ts": "2026-09-03T13:53:19Z", "hours": 1.4639, "text": "Test version worked great. But its ugly so i changed some stuff to make it pretty!! Now we have a nice Wallpaper some Glass effects and now you can also import .csv files so you can add to a list :3"}, {"post_id": 60465, "ts": "2026-09-02T20:03:31Z", "hours": 1.5864, "text": "Whoa i started this project becuase i have to do Vocab tests in the 11th grade 😭 So here i am sitting around and uploading all my Vocab so i can processes easyer for anki or NoteBookLLM! This is the First quick wip up of the side. Took about 2~ hours."}]...
|
Title: Voc to CSV by @aquafr0stbyte | Stardance
D Title: Voc to CSV by @aquafr0stbyte | Stardance
Devlogs:
Whoa i started this project becuase i have to do Vocab tests in the 11th grade 😭 So here i am sitting around and uploading all my Vocab so i can processes easyer for anki or NoteBookLLM! This is the First quick wip up of the side. Took about 2~ hours.
Test version worked great. But its ugly so i changed some stuff to make it pretty!! Now we have a nice Wallpaper some Glass effects and now you can also import .csv files so you can add to a list :3
Added a button to copy for Google Sheets (or it should also work with other Spread Sheet software) and a reasource tab with the reasources i have used in the past to learn langueages!
Did some mew and summ prrrruuurrr (i fixed some backend stuff)
Ships:
It’s a simple website that can export your Vocab into an Excel file. I personally use it to digitise my stuff....
|
1793141744.647963
|
1793228144.647963
|
|
64689
|
personal website by @kratak | Stardance
|
kratak
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T09:41:06Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I added README and deployed it using github pages. The website itself is really simple just one page with 3 sections. about me my cats my hobbies and interests The project itself was pretty easy, though learning and making CSS was a bit of pain. As for ai usage I used it only to relearn HTML and CSS because I don’t really remember much of it, and also used it to help me fix the CSS when it didn’t work.", "repo": "https://github.com/Kratak78/my-website", "demo": "https://kratak78.github.io/my-website/"}]...
|
[{"post_id": 77930, "ts": "202 [{"post_id": 77930, "ts": "2026-10-08T20:24:44Z", "hours": 2.7644, "text": "I have been sick for a week sadly so I couldn’t work on the website sadly, but I have finally finished the CSS file. needed a bit of help from ai because I don’t really remember almost any of it, so I used it to learn it a bit even tho I’m pretty I’ll forget it soon anyway. I tried making the images clickable so they could be viewed in bigger size but my attempts with html and CSS didn’t work and I didn’t want to start with JS yet so i just gave up and left it as it is and just made it so it opens the images themselves in new tab when clicked on. Tomorrow I’m planning to ship the project and move on to another mission."}, {"post_id": 72585, "ts": "2026-09-23T09:02:16Z", "hours": 1.3364, "text": "I have started working on my personal website. The html is done, gonna start on css soon."}]...
|
Title: personal website by @kratak | Stardance
De Title: personal website by @kratak | Stardance
Devlogs:
I have started working on my personal website. The html is done, gonna start on css soon.
I have been sick for a week sadly so I couldn’t work on the website sadly, but I have finally finished the CSS file. needed a bit of help from ai because I don’t really remember almost any of it, so I used it to learn it a bit even tho I’m pretty I’ll forget it soon anyway. I tried making the images clickable so they could be viewed in bigger size but my attempts with html and CSS didn’t work and I didn’t want to start with JS yet so i just gave up and left it as it is and just made it so it opens the images themselves in new tab when clicked on. Tomorrow I’m planning to ship the project and move on to another mission.
Ships:
I added README and deployed it using github pages. The website itself is really simple just one page with 3 sections. about me my cats my hobbies and interests The project itself was pretty easy, though learning and making CSS was a bit of pain. As for ai usage I used it only to relearn HTML and CSS because I don’t really remember much of it, and also used it to help me fix the CSS when it didn’t work....
|
1793062046.127567
|
1793148446.127567
|
|
68681
|
the stupidest website OAT by @stellenium | Stardan the stupidest website OAT by @stellenium | Stardance...
|
stellenium
|
0
|
51.63
|
0
|
[]
|
[{"post_id": 77940, "ts": "202 [{"post_id": 77940, "ts": "2026-10-08T21:10:49Z", "hours": 51.6322, "text": "test devlog"}]...
|
Title: the stupidest website OAT by @stellenium | Title: the stupidest website OAT by @stellenium | Stardance
Devlogs:
test devlog...
|
1793123574.3718257
|
1793728374.3718257
|
|
68684
|
Lift Off YSWS Website by @RishitJain | Stardance
|
RishitJain
|
0
|
0.28
|
0
|
[]
|
[{"post_id": 77941, "ts": "202 [{"post_id": 77941, "ts": "2026-10-08T21:23:37Z", "hours": 0.2831, "text": "I made some art for the website!"}]...
|
Title: Lift Off YSWS Website by @RishitJain | Star Title: Lift Off YSWS Website by @RishitJain | Stardance
Devlogs:
I made some art for the website!...
|
1793123580.2640102
|
1793728380.2640102
|
|
2362
|
Keyboard Substitution Program by @MaybeMae | Stard Keyboard Substitution Program by @MaybeMae | Stardance...
|
MaybeMae
|
0
|
47.49
|
0
|
[]
|
[{"post_id": 77949, "ts": "202 [{"post_id": 77949, "ts": "2026-10-08T22:34:25Z", "hours": 10.8767, "text": "Devlog 11- Mae here! The wiring for all the inputs as gone through its first pass! . It doesnt work… . Somewhere, in that mess of wiring, was a short circuit. I had no idea where it could be or why it was happening. My current best theory is that I needed a diode between the main power bus and the power for the potentiometers on the joystick and throttle. . I am currently working on a fix for it, and once I have the primary flight inputs (joystick, throttle, stability assist) wired up it shouldn’t take nearly as long to wire the secondary flight controls, and the displays."}, {"post_id": 73761, "ts": "2026-09-25T21:34:32Z", "hours": 4.5992, "text": "Devlog 10- Mae again! The top cover is completely assembled (except for the displays)! Now, I can start the process of printing the bottom case and doing final integration to get the controller to talk to KSP. . Additionally, the second circuit board is finished! Unfortunately, now the first circuit board is broken… Im thinking about scrapping the circuit board idea entirely and connecting each button to its own pin on the arduino. . It’s the final strech now to get it done and shipped, but i think i can do it!"}, {"post_id": 71921, "ts": "2026-09-21T19:34:57Z", "hours": 3.1833, "text": "TW: Awful circuit design, electrical engineers beware . Devlog 9- Mae here! “I’ll post the next devlog tonight” she said, blissfully unaware of everything related to circuit design… . The good news is the first circuit board is finished! Below is the mess of wires and diodes that come together to let (some of) the buttons on the controller talk to the arduino! This board specifically lets the 10 individual SAS modes be controlled by their own buttons, while only needing 6 output wires! This saves on ports on the arduino, making the programming much easier. . Creating this board was a huge pain, but now that I know what to do, the next one should be quicker. After that, all thats needed is to print the outer shell, wire everything up. and do the last little bit of integration programming. I know I’m running very short on time, so I’ve laid out a schedule for myself, and as long as the next circuit board doesnt take 4 days I should be fine!"}, {"post_id": 69885, "ts": "2026-09-18T00:22:37Z", "hours": 5.1431, "text": "Devlog 8 - Mae here! The first real piece of the controller is “finished”! Below is the first revision of the top cover of the controller, fully CNCed, painted, and laser engraved! It doesn’t look so great (for reasons I’ll get into later), but it lets me start assembly, as the cover can be swapped out later! . Okay, so first things first, the text looks bad. I am (very) aware of this, and the issue stems from one mistake I made when planning. In my infinite wisdom, I decided it would be a good idea to laser engrave a perfectly white object….. As you can imagine, it failed to cut proper;y, so I had to do a very high power pass, making the text look sloppy. Additionally, between the first and second passes, I inadvertently bumped the laser head, making the text ofset from where it should be. . To fix this, the next version (already in the works) will engrave the text on the CNC mill. This should provide a much better color and better contrast for the text, as well as removing any issue with the text being offset. . Finally, while the second cover is being machined, I’ve started work creating the circuit boards which connect the buttons to the arduinos! I procrastinated on this devlog a little, so that devlog will be coming later tonight!"}, {"post_id": 64770, "ts": "2026-09-09T12:52:33Z", "hours": 9.1317, "text": "Devlog 7 - Mae here! My apologies for the (very) large delay, I was caught up in some other responsibilities. That doesn’t mean nothing got done, though. In fact, two huge parts have been finished! . First, all of the parts have arrived, and I have finished machining the top cover! Now, all the top cover needs is a coat of paint and some laser engraving of the text, then assembly can begin! . Second, I’ve FINALLY got the displays to work! Below is a video of one of the controller’s display “banks”, displaying the rocket’s altitude, and updating it in real time! There is just a small bit of code left to integrate the two other display banks."}, {"post_id": 25093, "ts": "2026-07-09T02:24:28Z", "hours": 2.7333, "text": "Devlog 6 - Mae here! I spent today implementing a slider for throttle control. In theory, it should have been an easy task, no more than 45 minutes. Unfortunately, unlike the potentiometers on the joystick, the slider’s potentiometer was not linear. That meant moving the slider half way increased the throttle to 75%, making using it very unintuitive. So i had to spend quite a bit of time figuring out how to work around it. . Below is a video of my first actual flight using the “controller”. It’s quite intuitive, but I’m not the best pilot lol. . Up next, I’m designing a small case to mount the throttle, stick, and a few buttons. Hopefully this should be the first actual prototype of the controller, which should be very nice to see."}, {"post_id": 24446, "ts": "2026-07-08T00:31:13Z", "hours": 3.2119, "text": "Devlog 5 - Mae here! I’m back! i’m sorry for my absence, it took quite a while for the parts to get here, and they arrived the day I left for vacation. But anyways… . IT WORKS!!! I have now successfully connected a joystick to the system, allowing actual control of a spacecraft in flight! Its actually quite simple too, the code just takes the values from 3 potentiometers mounted in the joystick, remaps the values to be in a range the game can read, and packages them into a message for the Kerbal SimPit mod. The message is then sent to the mod, where it reads it and commands the vessel to turn by the amount specified in the message. It took a while to understand how messages actually work, but i think i get it now. . Next up, I will be implementing data output using a 14 segment display module. Once that’s done, full scale prototyping can begin, using several arduinos at once to control most of the game. And then, once all the parts arrive, the final construction can happen. About half of the required parts have been ordered so afar, so this shouldn’t be too long from now."}, {"post_id": 2031, "ts": "2026-06-04T09:53:56Z", "hours": 3.1547, "text": "Devlog 4 - Mae here! I finished the layout for the controller! It has every button I use in KSP, including all 10 SAS modes, all 10 Action Groups, quick save and load, and so on. The joystick has a button next to it to transition between rotational and translational control, which should make docking so much more interesting. Next up: ordering the parts! . PS; sorry for not getting much work done yesterday, I got distracted playing ksp lol"}, {"post_id": 1199, "ts": "2026-06-03T01:42:42Z", "hours": 0.7453, "text": "Devlog 3- Mae here! IT WORKS! I can now register inputs from external “controllers” (if you want to call one button a controller). This was one of the biggest hurdles I foresaw when I was coming up with the idea for this project, so its success is a great sign for the future. It only took me 3 hours of coding (mostly staring at the docs)! . PS: I know it says I only logged 44 minutes. Guess who forgot to click record on lapse. (its me, i forgot to hit record :C)"}, {"post_id": 642, "ts": "2026-06-02T04:57:59Z", "hours": 3.55, "text": "Devlog 2- Hi again! Mae here! I realized this project cant continue if i cant get inputs and outputs from KSP, so i went ahead and spent about an hour and a half setting up all of the basic configs to get Kerbal Simpit to run. Below is a video of one of the basic test programs running on my arduino uno, receving altitude data from the game. It works! (it only took me till 1 am…) . PS: I’ve made some progress on the controller layout too, but its not in enough of a finished state to show it"}, {"post_id": 433, "ts": "2026-06-01T20:44:17Z", "hours": 1.1619, "text": "Devlog 1- Hi! I’m Mae, I absolutely love the game KSP (Kerbal Space Program), and have been considering making a custom controller for a while. This is gonna be kind of a yap session because I want to set the scene for later devlogs, so I apologize in advance. . I’ve already put together a basic parts list, and am finishing up 3d models of all the basic components (see below). Once all the components are modeled, I’ll start drafting a 3d model for the top cover based on some concept drawings (I seem to have misplaced them, sorry :C ), and then once I’m happy with it, I’ll order the parts and start with the programming. . To actually interface with the game, I’ll be using the Kerbal SimPit Revamped Mod, and the whole controller will be run off of several arduino boards (the details for this section will be worked out more once the controller is built). . The plan for the controller is pretty simple: . Construction- The base construction of the controller will be quite simple. It will be in a 3d printed PETG case. The top cover will be a black ABS sheet, with holes for the buttons and switches CNCed out. The sheet will then be spray painted white, and finally a laser cutter will do some quick passes over the sheet to burn away the paint and create labels for all the inputs. . Input- Use one joystick for rotation/translation, big button with covering for staging, probably the same button but red for abort, latching blue switches for toggles, keyboard keys for momentary switches, and keylock switches to lock out throttle/ joystick to prevent accidental input as well as act as the power switch (bc who doesn’t love the feeling of turning on a device with a switch) The lights in the latching switches are (thankfully) not controlled by the button itself. This gives them the added benefit of being able to update themselves when switching to a different vessel, with different settings enabled on it. . Display- Have 3-4 rows of 7 or 14 segment displays showing mission information (apoapsis, velocity, altitude, delta v remaining, etc.) The displays have different modes that show different information , swapped using buttons (ie. orbital, surface/landing, rendezvous/docking, and maneuver information) One or two additional displays would be nice to keep time warp info separate, but not strictly required. The coolest idea (but also the most expensive and difficult to program) would be to have a small display to show the navball and/or the current orbit visually. . Thanks for reading my first, and hopefully not my last, devlog!"}]...
|
Title: Keyboard Substitution Program by @MaybeMae Title: Keyboard Substitution Program by @MaybeMae | Stardance
Devlogs:
Devlog 1- Hi! I’m Mae, I absolutely love the game KSP (Kerbal Space Program), and have been considering making a custom controller for a while. This is gonna be kind of a yap session because I want to set the scene for later devlogs, so I apologize in advance. . I’ve already put together a basic parts list, and am finishing up 3d models of all the basic components (see below). Once all the components are modeled, I’ll start drafting a 3d model for the top cover based on some concept drawings (I seem to have misplaced them, sorry :C ), and then once I’m happy with it, I’ll order the parts and start with the programming. . To actually interface with the game, I’ll be using the Kerbal SimPit Revamped Mod, and the whole controller will be run off of several arduino boards (the details for this section will be worked out more once the controller is built). . The plan for the controller is pretty simple: . Construction- The base construction of the controller will be quite simple. It will be in a 3d printed PETG case. The top cover will be a black ABS sheet, with holes for the buttons and switches CNCed out. The sheet will then be spray painted white, and finally a laser cutter will do some quick passes over the sheet to burn away the paint and create labels for all the inputs. . Input- Use one joystick for rotation/translation, big button with covering for staging, probably the same button but red for abort, latching blue switches for toggles, keyboard keys for momentary switches, and keylock switches to lock out throttle/ joystick to prevent accidental input as well as act as the power switch (bc who doesn’t love the feeling of turning on a device with a switch) The lights in the latching switches are (thankfully) not controlled by the button itself. This gives them the added benefit of being able to update themselves when switching to a different vessel, with different settings enabled on it. . Display- Have 3-4 rows of 7 or 14 segment displays showing mission information (apoapsis, velocity, altitude, delta v remaining, etc.) The displays have different modes that show different information , swapped using buttons (ie. orbital, surface/landing, rendezvous/docking, and maneuver information) One or two additional displays would be nice to keep time warp info separate, but not strictly required. The coolest idea (but also the most expensive and difficult to program) would be to have a small display to show the navball and/or the current orbit visually. . Thanks for reading my first, and hopefully not my last, devlog!
Devlog 2- Hi again! Mae here! I realized this project cant continue if i cant get inputs and outputs from KSP, so i went ahead and spent about an hour and a half setting up all of the basic configs to get Kerbal Simpit to run. Below is a video of one of the basic test programs running on my arduino uno, receving altitude data from the game. It works! (it only took me till 1 am…) . PS: I’ve made some progress on the controller layout too, but its not in enough of a finished state to show it
Devlog 3- Mae here! IT WORKS! I can now register inputs from external “controllers” (if you want to call one button a controller). This was one of the biggest hurdles I foresaw when I was coming up with the idea for this project, so its success is a great sign for the future. It only took me 3 hours of coding (mostly staring at the docs)! . PS: I know it says I only logged 44 minutes. Guess who forgot to click record on lapse. (its me, i forgot to hit record :C)
Devlog 4 - Mae here! I finished the layout for the controller! It has every button I use in KSP, including all 10 SAS modes, all 10 Action Groups, quick save and load, and so on. The joystick has a button next to it to transition between rotational and translational control, which should make docking so much more interesting. Next up: ordering the parts! . PS; sorry for not getting much work done yesterday, I got distracted playing ksp lol
Devlog 5 - Mae here! I’m back! i’m sorry for my absence, it took quite a while for the parts to get here, and they arrived the day I left for vacation. But anyways… . IT WORKS!!! I have now successfully connected a joystick to the system, allowing actual control of a spacecraft in flight! Its actually quite simple too, the code just takes the values from 3 potentiometers mounted in the joystick, remaps the values to be in a range the game can read, and packages them into a message for the Kerbal SimPit mod. The message is then sent to the mod, where it reads it and commands the vessel to turn by the amount specified in the message. It took a while to understand how messages actually work, but i think i get it now. . Next up, I will be implementing data output using a 14 segment display module. Once that’s done, full scale prototyping can begin, using several arduinos at once to control most of the game. And then, once all the parts arrive, the final construction can happen. About half of the required parts have been ordered so afar, so this shouldn’t be too long from now.
Devlog 6 - Mae here! I spent today implementing a slider for throttle control. In theory, it should have been an easy task, no more than 45 minutes. Unfortunately, unlike the potentiometers on the joystick, the slider’s potentiometer was not linear. That meant moving the slider half way increased the throttle to 75%, making using it very unintuitive. So i had to spend quite a bit of time figuring out how to work around it. . Below is a video of my first actual flight using the “controller”. It’s quite intuitive, but I’m not the best pilot lol. . Up next, I’m designing a small case to mount the throttle, stick, and a few buttons. Hopefully this should be the first actual prototype of the controller, which should be very nice to see.
Devlog 7 - Mae here! My apologies for the (very) large delay, I was caught up in some other responsibilities. That doesn’t mean nothing got done, though. In fact, two huge parts have been finished! . First, all of the parts have arrived, and I have finished machining the top cover! Now, all the top cover needs is a coat of paint and some laser engraving of the text, then assembly can begin! . Second, I’ve FINALLY got the displays to work! Below is a video of one of the controller’s display “banks”, displaying the rocket’s altitude, and updating it in real time! There is just a small bit of code left to integrate the two other display banks.
Devlog 8 - Mae here! The first real piece of the controller is “finished”! Below is the first revision of the top cover of the controller, fully CNCed, painted, and laser engraved! It doesn’t look so great (for reasons I’ll get into later), but it lets me start assembly, as the cover can be swapped out later! . Okay, so first things first, the text looks bad. I am (very) aware of this, and the issue stems from one mistake I made when planning. In my infinite wisdom, I decided it would be a good idea to laser engrave a perfectly white object….. As you can imagine, it failed to cut proper;y, so I had to do a very high power pass, making the text look sloppy. Additionally, between the first and second passes, I inadvertently bumped the laser head, making the text ofset from where it should be. . To fix this, the next version (already in the works) will engrave the text on the CNC mill. This should provide a much better color and better contrast for the text, as well as removing any issue with the text being offset. . Finally, while the second cover is being machined, I’ve started work creating the circuit boards which connect the buttons to the arduinos! I procrastinated on this devlog a little, so that devlog will be coming later tonight!
TW: Awful circuit design, electrical engineers beware . Devlog 9- Mae here! “I’ll post the next devlog tonight” she said, blissfully unaware of everything related to circuit design… . The good news is the first circuit board is finished! Below is the mess of wires and diodes that come together to let (some of) the buttons on the controller talk to the arduino! This board specifically lets the 10 individual SAS modes be controlled by their own buttons, while only needing 6 output wires! This saves on ports on the arduino, making the programming much easier. . Creating this board was a huge pain, but now that I know what to do, the next one should be quicker. After that, all thats needed is to print the outer shell, wire everything up. and do the last little bit of integration programming. I know I’m running very short on time, so I’ve laid out a schedule for myself, and as long as the next circuit board doesnt take 4 days I should be fine!
Devlog 10- Mae again! The top cover is completely assembled (except for the displays)! Now, I can start the process of printing the bottom case and doing final integration to get the controller to talk to KSP. . Additionally, the second circuit board is finished! Unfortunately, now the first circuit board is broken… Im thinking about scrapping the circuit board idea entirely and connecting each button to its own pin on the arduino. . It’s the final strech now to get it done and shipped, but i think i can do it!
Devlog 11- Mae here! The wiring for all the inputs as gone through its first pass! . It doesnt work… . Somewhere, in that mess of wiring, was a short circuit. I had no idea where it could be or why it was happening. My current best theory is that I needed a diode between the main power bus and the power for the potentiometers on the joystick and throttle. . I am currently working on a fix for it, and once I have the primary flight inputs (joystick, throttle, stability assist) wired up it shouldn’t take nearly as long to wire the secondary flight controls, and the displays....
|
1792522409.2285023
|
1793127209.2285023
|
|
59515
|
Caelum by @jujharseehra | Stardance
|
jujharseehra
|
1
|
5.88
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T01:30:57Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finished with Caelum! The ML program is running currently, and the Streamlit application should update with the new ML training results soon, but overall, I am proud of my work, as well as the science fair project that begun this project! Will hope to do some scientific simulation with Caelum next year, so look forward to that! See you next year, Stardance!", "repo": "https://github.com/JujharSeehra/Caelum", "demo": "https://github.com/JujharSeehra/Caelum/releases/tag/v1.0.0"}]...
|
[{"post_id": 77956, "ts": "202 [{"post_id": 77956, "ts": "2026-10-08T23:21:01Z", "hours": 0.875, "text": "Been working on many changes. These changes have not only made my simulation more accurate and effective, but also allowed for me to find some critical simulation errors from last time. Also working on a research paper now. Wish me luck!"}, {"post_id": 69862, "ts": "2026-09-17T23:01:39Z", "hours": 0.3336, "text": "Added my last changes to Caelum! Training the ML results, and have already started work on the ML simulation. Time for my ship!"}, {"post_id": 67776, "ts": "2026-09-14T00:53:53Z", "hours": 0.7381, "text": "Been adding many changes to reactor physics! Still need to train another model, but so far, looking good!"}, {"post_id": 65139, "ts": "2026-09-10T02:18:56Z", "hours": 0.8133, "text": "Second Devlog! Been working on getting the Github Repo working, improving the Streamlit issues, and overall making the code more efficient and fixing calculation issues. Planning on publishing my work, so a better Github repo won’t hurt."}, {"post_id": 63943, "ts": "2026-09-08T00:57:33Z", "hours": 3.3189, "text": "Been working on my newest and last stardance project, Caelum! Caelum is a carbon capture simulation that utilizes Python to run physics calculations, and tests the effectiveness and optimizes certain given carbon capture processes. Worked on this project for a science fair, and haven’t let go since!"}]...
|
Title: Caelum by @jujharseehra | Stardance
Devlog Title: Caelum by @jujharseehra | Stardance
Devlogs:
Been working on my newest and last stardance project, Caelum! Caelum is a carbon capture simulation that utilizes Python to run physics calculations, and tests the effectiveness and optimizes certain given carbon capture processes. Worked on this project for a science fair, and haven’t let go since!
Second Devlog! Been working on getting the Github Repo working, improving the Streamlit issues, and overall making the code more efficient and fixing calculation issues. Planning on publishing my work, so a better Github repo won’t hurt.
Been adding many changes to reactor physics! Still need to train another model, but so far, looking good!
Added my last changes to Caelum! Training the ML results, and have already started work on the ML simulation. Time for my ship!
Been working on many changes. These changes have not only made my simulation more accurate and effective, but also allowed for me to find some critical simulation errors from last time. Also working on a research paper now. Wish me luck!
Ships:
Finished with Caelum! The ML program is running currently, and the Streamlit application should update with the new ML training results soon, but overall, I am proud of my work, as well as the science fair project that begun this project! Will hope to do some scientific simulation with Caelum next year, so look forward to that! See you next year, Stardance!...
|
1793155700.2980564
|
1793242100.2980564
|
|
66915
|
conway's game of life by @benMakesStuff | Star conway's game of life by @benMakesStuff | Stardance...
|
benMakesStuff
|
0
|
3.74
|
0
|
[]
|
[{"post_id": 77957, "ts": "202 [{"post_id": 77957, "ts": "2026-10-08T23:49:58Z", "hours": 3.7422, "text": "i did the basic conway’s game of life, its got all of the rules and it works pretty good. And i experimented with changing the rules’ parameters and if there is anything changed either the cells die really easly (for example reproduction to 4 neighbors instead of 3) or they never die (reproduction 2 neighbors) and its just not good. So the balance is perfect with the normal rules. And while brainstorming how to make it a game more like me and better. And i got this idea to make a multiplayer game that just grabs different players and gives them some space (a grid) where they can build some cell structures and whoever’s structure is last alive wins"}]...
|
Title: conway's game of life by @benMakesStuff Title: conway's game of life by @benMakesStuff | Stardance
Devlogs:
i did the basic conway’s game of life, its got all of the rules and it works pretty good. And i experimented with changing the rules’ parameters and if there is anything changed either the cells die really easly (for example reproduction to 4 neighbors instead of 3) or they never die (reproduction 2 neighbors) and its just not good. So the balance is perfect with the normal rules. And while brainstorming how to make it a game more like me and better. And i got this idea to make a multiplayer game that just grabs different players and gives them some space (a grid) where they can build some cell structures and whoever’s structure is last alive wins...
|
1793105387.7715547
|
1793710187.7715547
|
|
35776
|
dsc.archive by @Ciao287 | Stardance
|
Ciao287
|
1
|
30.81
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T21:13:47Z", "hours": 24.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "The main function of the library, fetchMessages() , is now complete. It allows you to easily fetch large amounts of Discord messages. It allows you to filter messages so that only the fields you need are returned. You can also choose whether to include additional data such as guild , channel , message authors ( authors ), interaction authors ( interactions ), and webhooks , making them easier to access. When enabled, authors , interactions , and webhooks store all the message authors in these maps along with an array of the IDs of the messages they sent (if the id field was selected), making it easy to access all the messages related to a specific author or webhook. To make handling large amounts of data easier, I added several methods and properties such as .get(\"ID\") for messages, even if it’s an array, .first(NUMBER) and .last(NUMBER) for messages , authors , interactions , and webhooks , allowing you to get multiple objects from the array/map. To improve readability in the console, if messages , authors , interactions and webhooks contain more than five entries, they will be replaced by [Messages] , [Authors] , [Interactions] , and [Webhooks] . You can access the entire array or map via the .raw property.", "repo": "https://github.com/Ciao287/dsc.archive", "demo": "https://discord.gg/UbV46Wqa3D"}]...
|
[{"post_id": 77960, "ts": "202 [{"post_id": 77960, "ts": "2026-10-09T00:03:05Z", "hours": 6.8133, "text": "v0.3.0 The dsc.archive version is now v0.3.0. Here is what has changed: Fixed an issue with options filtering where passing an object would incorrectly enable all options instead of enabling/disabling the selected options; Added package-lock.json to .gitignore ; Added the .toJSON() function to convert saved messages to JSON and save them to a file (optional); Updated README.md with this new feature and added an even faster quick setup guide. Demo As a demo, I created a Discord bot that allows you to test (in a limited way) the library. The bot is inside this Discord server: https://discord.gg/UbV46Wqa3D and can be used immediately, or you can invite it to your own private server: https://discord.com/oauth2/authorize?client_id=1394088761989533780"}, {"post_id": 42360, "ts": "2026-08-07T01:15:56Z", "hours": 4.4222, "text": "A few things have changed since the last devlog. dsc.archive has now reached v0.2.1 on npm: renamed fetchedTimestamp to fetchTimestamp to avoid cofusion; moved fetchTimestamp to the end of the FetchedMessages object, instead of after messages ; if now authors , interactions and webhooks are empty maps, they will be returned as null in the result; added new types in index.d.ts , such as DefaultFields and DefaultOptions , to better show the default values; added comments on almost every property in index.d.ts , to better explain what each one does; updated the README.md with the new documentation for the changes made."}, {"post_id": 40762, "ts": "2026-08-04T14:32:33Z", "hours": 10.0222, "text": "I spent a lot of time rewriting the output of fetchMessages() . Now, in addition to messages, it returns: fetchedTimestamp , a timestamp that shows when the fetch was performed; you can select whether to return: the guild where the channel is located; the channel ; the message authors, divided into: authors (those who sent at least one normal message); interactions (those who sent at least one message linked to an interaction); webhooks . For each message author, if you select the message id in the fields, an array containing all the messages they sent will be displayed. I also added some functions to better handle large fetches: get(id) for messages, even though it’s an array (this can be useful in certain cases); for both message authors and messages: raw which returns the original array/map without the custom wrapper; first(number?) and last(number?) functions, to return the first or last message(s). In the next devlog I’ll finish updating index.d.ts and the README.md, then I’ll release v0.2.0 on npm."}, {"post_id": 34103, "ts": "2026-07-24T16:09:49Z", "hours": 2.1778, "text": "v0.1.2 Now if fields contains only objects, it will be treated as a whitelist, showing only the selected properties of those objects. Now fetchMessages() also accepts a Promise as the channel parameter and waits for it to resolve before continuing. Added support for all discord.js v14 versions. Added a quick setup guide to the README.md and updated the documentation for the changes made by this release."}, {"post_id": 32660, "ts": "2026-07-21T23:13:21Z", "hours": 7.8619, "text": "v0.1.0 FetchMessages() I created the first part of the library, the fetchMessages function, which allows you to fetch a number of (integer) messages between 1 and Infinity within a channel, filtering which message fields you want to include in the result. For more information, see the README. v0.1.1 I added the GitHub Actions workflow for publishing to npm and updated the README to v0.1.1"}]...
|
Title: dsc.archive by @Ciao287 | Stardance
Devlog Title: dsc.archive by @Ciao287 | Stardance
Devlogs:
v0.1.0 FetchMessages() I created the first part of the library, the fetchMessages function, which allows you to fetch a number of (integer) messages between 1 and Infinity within a channel, filtering which message fields you want to include in the result. For more information, see the README. v0.1.1 I added the GitHub Actions workflow for publishing to npm and updated the README to v0.1.1
v0.1.2 Now if fields contains only objects, it will be treated as a whitelist, showing only the selected properties of those objects. Now fetchMessages() also accepts a Promise as the channel parameter and waits for it to resolve before continuing. Added support for all discord.js v14 versions. Added a quick setup guide to the README.md and updated the documentation for the changes made by this release.
I spent a lot of time rewriting the output of fetchMessages() . Now, in addition to messages, it returns: fetchedTimestamp , a timestamp that shows when the fetch was performed; you can select whether to return: the guild where the channel is located; the channel ; the message authors, divided into: authors (those who sent at least one normal message); interactions (those who sent at least one message linked to an interaction); webhooks . For each message author, if you select the message id in the fields, an array containing all the messages they sent will be displayed. I also added some functions to better handle large fetches: get(id) for messages, even though it’s an array (this can be useful in certain cases); for both message authors and messages: raw which returns the original array/map without the custom wrapper; first(number?) and last(number?) functions, to return the first or last message(s). In the next devlog I’ll finish updating index.d.ts and the README.md, then I’ll release v0.2.0 on npm.
A few things have changed since the last devlog. dsc.archive has now reached v0.2.1 on npm: renamed fetchedTimestamp to fetchTimestamp to avoid cofusion; moved fetchTimestamp to the end of the FetchedMessages object, instead of after messages ; if now authors , interactions and webhooks are empty maps, they will be returned as null in the result; added new types in index.d.ts , such as DefaultFields and DefaultOptions , to better show the default values; added comments on almost every property in index.d.ts , to better explain what each one does; updated the README.md with the new documentation for the changes made.
v0.3.0 The dsc.archive version is now v0.3.0. Here is what has changed: Fixed an issue with options filtering where passing an object would incorrectly enable all options instead of enabling/disabling the selected options; Added package-lock.json to .gitignore ; Added the .toJSON() function to convert saved messages to JSON and save them to a file (optional); Updated README.md with this new feature and added an even faster quick setup guide. Demo As a demo, I created a Discord bot that allows you to test (in a limited way) the library. The bot is inside this Discord server: https://discord.gg/UbV46Wqa3D and can be used immediately, or you can invite it to your own private server: https://discord.com/oauth2/authorize?client_id=1394088761989533780
Ships:
The main function of the library, fetchMessages() , is now complete. It allows you to easily fetch large amounts of Discord messages. It allows you to filter messages so that only the fields you need are returned. You can also choose whether to include additional data such as guild , channel , message authors ( authors ), interaction authors ( interactions ), and webhooks , making them easier to access. When enabled, authors , interactions , and webhooks store all the message authors in these maps along with an array of the IDs of the messages they sent (if the id field was selected), making it easy to access all the messages related to a specific author or webhook. To make handling large amounts of data easier, I added several methods and properties such as .get("ID") for messages, even if it’s an array, .first(NUMBER) and .last(NUMBER) for messages , authors , interactions , and webhooks , allowing you to get multiple objects from the array/map. To improve readability in the console, if messages , authors , interactions and webhooks contain more than five entries, they will be replaced by [Messages] , [Authors] , [Interactions] , and [Webhooks] . You can access the entire array or map via the .raw property....
|
1793055015.5601194
|
1793141415.5601194
|
|
947
|
BlackShell Golf by @BlackShell | Stardance
|
BlackShell
|
0
|
7.94
|
0
|
[]
|
[{"post_id": 77965, "ts": "202 [{"post_id": 77965, "ts": "2026-10-09T01:20:22Z", "hours": 2.4283, "text": "Build watch App!!"}, {"post_id": 77722, "ts": "2026-10-08T02:55:39Z", "hours": 5.1039, "text": "Liquid Glass update!!!"}, {"post_id": 212, "ts": "2026-06-01T08:45:03Z", "hours": 0.4108, "text": "Today I prepared BlackShell Golf for Stardance and published the project on GitHub. BlackShell Golf is a Flutter app for live multiplayer golf scoring. Players can create a room, join a room, and track golf rounds together. Today I connected the project repository, organized the codebase, and tested the app in the browser. Next, I plan to improve score saving, round history, and the overall user experience. Screenshot attached."}]...
|
Title: BlackShell Golf by @BlackShell | Stardance
Title: BlackShell Golf by @BlackShell | Stardance
Devlogs:
Today I prepared BlackShell Golf for Stardance and published the project on GitHub. BlackShell Golf is a Flutter app for live multiplayer golf scoring. Players can create a room, join a room, and track golf rounds together. Today I connected the project repository, organized the codebase, and tested the app in the browser. Next, I plan to improve score saving, round history, and the overall user experience. Screenshot attached.
Liquid Glass update!!!
Build watch App!!...
|
1792558507.209931
|
1793163307.209931
|
|
61163
|
book helper by @marygoat | Stardance
|
marygoat
|
2
|
11.0
|
140
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T01:33:01Z", "hours": 5.0, "multiplier": 10.95, "payout": 71, "blessing": "neutral", "text": "Book Helper A pixel-styled site to help you focus on your reading! Description Book Helper is a site made to help you have a consistent reading schedule. By putting on a timer, you are more likely to push through and read at least a little for the day, growing your mind. I personally struggle a lot with reading, so I thought making a site for it would help me and others have a proper reading schedule! Features: Adjustable timer Ambient noise Rain White noise Leveling up system Site theme customization Trophies Stats Booklist Quotes Spotify playlist Technicalities This site saves your storage through localStorage, so that you can maintain a streak and maintain your progress as you read. Mask-image was used in order to change the mascot’s color with the theme, which was a bit tricky to understand at first. The trophy system checks after a session if you have earned an achievement or not, looking at streak length, total hours read, and total sessions completed. The theme system is updated through javascript by changing the value of the color variables when the user changes themes. Challenges It was a struggle to get the modals / window pop ups working how I wanted them to work, since connecting it to a button and making some sort of overlay was difficult to me. I only ever did some sort of window pop-up once, and that took me a really long time to understand. Eventually, I understood that toggling a class on and off with a click detector is how it could be made. AI Usage I used Claude in order to help me debug minor bugs in my code, as well as figure out how to make the themes and mascot change colors depending on the theme.", "repo": "https://github.com/awesomesauce4646/book-helper", "demo": "https://awesomesauce4646.github.io/book-helper/"}, {"ship_num": 2, "ts": "2026-09-17T01:35:37Z", "hours": 6.0, "multiplier": 12.36, "payout": 69, "blessing": "neutral", "text": "Book Helper A pixel-styled site to help you focus on your reading! 3 QoL improvements: Timer: Helps create a habit of reading. Ambient Noise: Prevents distractions to help with focused reading. Trophy system: Motivates readers to keep reading in order to collect achievements. Description Book Helper is a site made to help you have a consistent reading schedule. By putting on a timer, you are more likely to push through and read at least a little for the day, growing your mind. I personally struggle a lot with reading, so I thought making a site for it would help me and others have a proper reading schedule! Features Adjustable timer Ambient noise Rain White noise Leveling up system Site theme customization Trophies Stats Technicalities This site saves your storage through localStorage, so that you can maintain a streak and maintain your progress as you read. Mask-image was used in order to change the mascot’s color with the theme, which was a bit tricky to understand at first. The trophy system checks after a session if you have earned an achievement or not, looking at streak length, total hours read, and total sessions completed. The white noise is procedurally computer generated, with the Web Audio API. The theme system is updated through javascript by changing the value of the color variables when the user changes themes. Challenges It was a struggle to get the modals / window pop ups working how I wanted them to work, since connecting it to a button and making some sort of overlay was difficult to me. I only ever did some sort of window pop-up once, and that took me a really long time to understand. Eventually, I understood that toggling a class on and off with a click detector is how it could be made. Why was this made? This was made for the Stardance Hack Club program, for the Frictionless mission. AI Usage I used Claude in order to help me debug minor bugs in my code, as well as figure out how to make the themes and mascot change colors depending on the theme. The white noise was helped by Claude too, since I didn’t understand API’s all that well.", "repo": "https://github.com/awesomesauce4646/book-helper", "demo": "https://awesomesauce4646.github.io/book-helper/"}]...
|
[{"post_id": 77966, "ts": "202 [{"post_id": 77966, "ts": "2026-10-09T01:31:15Z", "hours": 0.4797, "text": "Book Helper DEVLOG: #8 booklist update . . ship?! alright, this was a quick devlog! i have made my book list better, rather than just being a text book. update includes: Checklist system, add book titles of your own Notes for personal use Counter of how many books are listed and how many are read i wanted to do some sort of like search for a book thing like an api? but that seemed too complicated for me so i just opted for a simple checklist system."}, {"post_id": 77681, "ts": "2026-10-07T20:50:00Z", "hours": 1.1928, "text": "Book Helper DEVLOG: #7 spotify + quotes! i have added TWO! features: Spotify: a reading playlist for more variety in sound so that its not just white noise and rain Quotes: a little tab to give a random motivational quote(BY ME!) when you log in. tuff right? then i changed a feature: Timer Change: some people didnt know that settings would allow you to change the timer time, so i have placed the input into the timer box itself and put a button next to it saying “Change Time” so that its more obvious and less tedious to open up settings for it. and since i made that change, i also REMOVED! one feature… Settings button: i DELETED it since the only thing in settings was the timer changer, which was relocated as stated earlier. i was struggling to figure out what i should add to improve this site, but looking back on feedback, people talked about added more ambience noises, so why not a full playlist? i also added quotes because i had learned how to do randomized quotes from the snowglobe program with the little motivational snowglove site, so i reused my code! i also added back the pixelated font, cause i think it makes more sense. i want to change the corners to look more pixelated too, but i want to do it in an unique way and not in a boring, “ai looking” way."}, {"post_id": 73461, "ts": "2026-09-25T04:19:12Z", "hours": 2.0794, "text": "Book Helper DEVLOG: #7 change up ui + booklist?! alright! so, i have changed up the ui to make it less ai looking? reverted to original font borders now round at 20px i have also added a new modal / window, a booklist! Booklist the booklist is a simple notepad where the user can write down anything, but the intention is to write down book titles or information about the books theyve read! i used my old maryOS code that had a notepad to help me figure out how to make it so that the text saves. it was a bit funky implementing that code into this new project due to having to rename ids and variables having to match, but i managed to figure it out! i also removed unnecessary code that ai gave me such as escape key to leave the modal, since theres already a close button on it."}, {"post_id": 69738, "ts": "2026-09-17T18:04:14Z", "hours": 1.5917, "text": "Book Helper DEVLOG: #6 rewriting code! alrighty, i have rewritten parts of my code since i got feedback of it being over the 30% ai threshold. one of the things i rewrote was the white noise generator, since that used web api and i didn’t really understand it. i decided to just add a mp3 of white noise and use the same function for the rain noise that also used mp3. i also took away some fallback stuff and extreme security stuff since a simple book project like this does NOT need stuff like that, but it was nice to learn ways of fallback if i ever needed it! i have also changed the badge icons with… very rough drawings of mine, but atleast it aint emojis!"}, {"post_id": 69432, "ts": "2026-09-17T01:29:46Z", "hours": 0.6611, "text": "Book Helper DEVLOG: #5 worm mascot… ship?! i have added a little worm mascot guy! with some research and ai debugging, i managed to create a mascot that changes colors based off the theme. it was a bit weird learning it, but i understood it eventually, since it basically only puts an overlay on the image. i think it adds a nice little touch! i have also made my readme, talking about all the features such as the timer, stats, and why the site was made. im ready to ship!"}, {"post_id": 69389, "ts": "2026-09-16T23:20:45Z", "hours": 1.5239, "text": "Book Helper DEVLOG: #4 tested site, pixelated it! i have tested the website, and it WORKS?! i had to tweak some things like making each theme look a bit nicer and configure colors, but it works! Levels actually unlock new themes Trophies are awarded when the right requirements are met In settings, you can properly change the timer time im pretty happy with how this is turning out, but now im not sure what to do. i had mentioned of adding some sort of shop and book list, but i dont plan on implementing them right now. i think i will make my own assets for the trophies instead of just using emojis, either that or find a free use image online. maybe ill even add a lil mascot guy to this???"}, {"post_id": 68456, "ts": "2026-09-15T04:35:10Z", "hours": 1.3239, "text": "Book Helper DEVLOG: #3 new tabs + stylization alrighty, i have made the site a bit more colorful and changed the formatting so that its more centered on the page. i have added features like: Trophies Customization Settings i asked ai to help me connect the buttons to actually opening up a window thingy, since i was struggling with it for a long time. the javascript was also a bit hard with all of the localstorage and badge system, but with searching and debugging i think it works?? i haven’t tested it yet so who knows… i do know that streaks work though! at least some what"}, {"post_id": 66944, "ts": "2026-09-12T22:23:52Z", "hours": 1.2039, "text": "Book Helper DEVLOG: #2 more apps! coolio, i have added TWO!! window thingies stats ambient noises i had a REALLY long rain file… like . . . 120 mb. not good. i am currently trimming it down cause it was an hour long and it’ll be compressed too. i tried doing some javascript for the stats, with some help of ai, but i havent gotten to testing it yet. hopefully it works ! it was a struggle formatting it, and also programming the buttons so that theyd play the right audio and would change text and all that fun stuff. regardless of all that, i think its coming along nicely :)"}, {"post_id": 66791, "ts": "2026-09-12T17:52:41Z", "hours": 0.8922, "text": "Book Helper DEVLOG: #1 starting the site! i have created a website to help people stay engaged on reading, since I struggle a lot with reading myself! I want to make this into some sort of like gamefied website, but so far I just put a 15-minute timer. im planning on adding features like: Shop for customization Booklist Streaks i hope this will turn out well, since thatd be pretty cool! it was a bit difficult knowing how i wanted the website to look like, but for now i made it a simple blue scheme. might make it a pixelated sort of style? dunno yet!"}]...
|
Title: book helper by @marygoat | Stardance
Devlo Title: book helper by @marygoat | Stardance
Devlogs:
Book Helper DEVLOG: #1 starting the site! i have created a website to help people stay engaged on reading, since I struggle a lot with reading myself! I want to make this into some sort of like gamefied website, but so far I just put a 15-minute timer. im planning on adding features like: Shop for customization Booklist Streaks i hope this will turn out well, since thatd be pretty cool! it was a bit difficult knowing how i wanted the website to look like, but for now i made it a simple blue scheme. might make it a pixelated sort of style? dunno yet!
Book Helper DEVLOG: #2 more apps! coolio, i have added TWO!! window thingies stats ambient noises i had a REALLY long rain file… like . . . 120 mb. not good. i am currently trimming it down cause it was an hour long and it’ll be compressed too. i tried doing some javascript for the stats, with some help of ai, but i havent gotten to testing it yet. hopefully it works ! it was a struggle formatting it, and also programming the buttons so that theyd play the right audio and would change text and all that fun stuff. regardless of all that, i think its coming along nicely :)
Book Helper DEVLOG: #3 new tabs + stylization alrighty, i have made the site a bit more colorful and changed the formatting so that its more centered on the page. i have added features like: Trophies Customization Settings i asked ai to help me connect the buttons to actually opening up a window thingy, since i was struggling with it for a long time. the javascript was also a bit hard with all of the localstorage and badge system, but with searching and debugging i think it works?? i haven’t tested it yet so who knows… i do know that streaks work though! at least some what
Book Helper DEVLOG: #4 tested site, pixelated it! i have tested the website, and it WORKS?! i had to tweak some things like making each theme look a bit nicer and configure colors, but it works! Levels actually unlock new themes Trophies are awarded when the right requirements are met In settings, you can properly change the timer time im pretty happy with how this is turning out, but now im not sure what to do. i had mentioned of adding some sort of shop and book list, but i dont plan on implementing them right now. i think i will make my own assets for the trophies instead of just using emojis, either that or find a free use image online. maybe ill even add a lil mascot guy to this???
Book Helper DEVLOG: #5 worm mascot… ship?! i have added a little worm mascot guy! with some research and ai debugging, i managed to create a mascot that changes colors based off the theme. it was a bit weird learning it, but i understood it eventually, since it basically only puts an overlay on the image. i think it adds a nice little touch! i have also made my readme, talking about all the features such as the timer, stats, and why the site was made. im ready to ship!
Book Helper DEVLOG: #6 rewriting code! alrighty, i have rewritten parts of my code since i got feedback of it being over the 30% ai threshold. one of the things i rewrote was the white noise generator, since that used web api and i didn’t really understand it. i decided to just add a mp3 of white noise and use the same function for the rain noise that also used mp3. i also took away some fallback stuff and extreme security stuff since a simple book project like this does NOT need stuff like that, but it was nice to learn ways of fallback if i ever needed it! i have also changed the badge icons with… very rough drawings of mine, but atleast it aint emojis!
Book Helper DEVLOG: #7 change up ui + booklist?! alright! so, i have changed up the ui to make it less ai looking? reverted to original font borders now round at 20px i have also added a new modal / window, a booklist! Booklist the booklist is a simple notepad where the user can write down anything, but the intention is to write down book titles or information about the books theyve read! i used my old maryOS code that had a notepad to help me figure out how to make it so that the text saves. it was a bit funky implementing that code into this new project due to having to rename ids and variables having to match, but i managed to figure it out! i also removed unnecessary code that ai gave me such as escape key to leave the modal, since theres already a close button on it.
Book Helper DEVLOG: #7 spotify + quotes! i have added TWO! features: Spotify: a reading playlist for more variety in sound so that its not just white noise and rain Quotes: a little tab to give a random motivational quote(BY ME!) when you log in. tuff right? then i changed a feature: Timer Change: some people didnt know that settings would allow you to change the timer time, so i have placed the input into the timer box itself and put a button next to it saying “Change Time” so that its more obvious and less tedious to open up settings for it. and since i made that change, i also REMOVED! one feature… Settings button: i DELETED it since the only thing in settings was the timer changer, which was relocated as stated earlier. i was struggling to figure out what i should add to improve this site, but looking back on feedback, people talked about added more ambience noises, so why not a full playlist? i also added quotes because i had learned how to do randomized quotes from the snowglobe program with the little motivational snowglove site, so i reused my code! i also added back the pixelated font, cause i think it makes more sense. i want to change the corners to look more pixelated too, but i want to do it in an unique way and not in a boring, “ai looking” way.
Book Helper DEVLOG: #8 booklist update . . ship?! alright, this was a quick devlog! i have made my book list better, rather than just being a text book. update includes: Checklist system, add book titles of your own Notes for personal use Counter of how many books are listed and how many are read i wanted to do some sort of like search for a book thing like an api? but that seemed too complicated for me so i just opted for a simple checklist system.
Ships:
Book Helper A pixel-styled site to help you focus on your reading! 3 QoL improvements: Timer: Helps create a habit of reading. Ambient Noise: Prevents distractions to help with focused reading. Trophy system: Motivates readers to keep reading in order to collect achievements. Description Book Helper is a site made to help you have a consistent reading schedule. By putting on a timer, you are more likely to push through and read at least a little for the day, growing your mind. I personally struggle a lot with reading, so I thought making a site for it would help me and others have a proper reading schedule! Features Adjustable timer Ambient noise Rain White noise Leveling up system Site theme customization Trophies Stats Technicalities This site saves your storage through localStorage, so that you can maintain a streak and maintain your progress as you read. Mask-image was used in order to change the mascot’s color with the theme, which was a bit tricky to understand at first. The trophy system checks after a session if you have earned an achievement or not, looking at streak length, total hours read, and total sessions completed. The white noise is procedurally computer generated, with the Web Audio API. The theme system is updated through javascript by changing the value of the color variables when the user changes themes. Challenges It was a struggle to get the modals / window pop ups working how I wanted them to work, since connecting it to a button and making some sort of overlay was difficult to me. I only ever did some sort of window pop-up once, and that took me a really long time to understand. Eventually, I understood that toggling a class on and off with a click detector is how it could be made. Why was this made? This was made for the Stardance Hack Club program, for the Frictionless mission. AI Usage I used Claude in order to help me debug minor bugs in my code, as well as figure out how to make the themes and mascot change colors depending on the theme. The white noise was helped by Claude too, since I didn’t understand API’s all that well.
Book Helper A pixel-styled site to help you focus on your reading! Description Book Helper is a site made to help you have a consistent reading schedule. By putting on a timer, you are more likely to push through and read at least a little for the day, growing your mind. I personally struggle a lot with reading, so I thought making a site for it would help me and others have a proper reading schedule! Features: Adjustable timer Ambient noise Rain White noise Leveling up system Site theme customization Trophies Stats Booklist Quotes Spotify playlist Technicalities This site saves your storage through localStorage, so that you can maintain a streak and maintain your progress as you read. Mask-image was used in order to change the mascot’s color with the theme, which was a bit tricky to understand at first. The trophy system checks after a session if you have earned an achievement or not, looking at streak length, total hours read, and total sessions completed. The theme system is updated through javascript by changing the value of the color variables when the user changes themes. Challenges It was a struggle to get the modals / window pop ups working how I wanted them to work, since connecting it to a button and making some sort of overlay was difficult to me. I only ever did some sort of window pop-up once, and that took me a really long time to understand. Eventually, I understood that toggling a class on and off with a click detector is how it could be made. AI Usage I used Claude in order to help me debug minor bugs in my code, as well as figure out how to make the themes and mascot change colors depending on the theme....
|
1793055304.5654655
|
1793141704.5654655
|
|
66681
|
My first slack bot! by @leonardo_da_kimchi | Stard My first slack bot! by @leonardo_da_kimchi | Stardance...
|
leonardo_da_kimchi
|
1
|
1.35
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T01:05:35Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a basic Slack Bot. First time working with java script so i had to use ai to understand some stuff. Three commands work though the first one doesnt work for some strange reason. proud of my work for my first project.", "repo": "https://github.com/zirius1123/Slack-Bot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354?_gl=1*hwz6f*_gcl_au*ODg3MTcwODYyLjE3OTA2NDU0MDMuLS4tLjE3OTA2NDU0MDMuMTA2NzQ1MDAyNi4xNzkwNjQ1NDA0LjE3OTA2NTAwMTY."}]...
|
[{"post_id": 77969, "ts": "202 [{"post_id": 77969, "ts": "2026-10-09T01:35:21Z", "hours": 0.3486, "text": "Revising and just seeing how the code works and whatnot. Code works pretty well but can’t receive input quite yet. Maybe I’ll figure that out later."}, {"post_id": 77962, "ts": "2026-10-09T00:45:32Z", "hours": 0.3489, "text": "Adding more stuff and then pushing it. Tried pushin the code forward after putting more things but things got wonky so this is about all that i can upload for now."}, {"post_id": 77464, "ts": "2026-10-07T03:11:48Z", "hours": 0.5619, "text": "Working on uploading more commands. New at Javascript so lets see how it goes. Also working on uploading it to Nest"}]...
|
Title: My first slack bot! by @leonardo_da_kimchi Title: My first slack bot! by @leonardo_da_kimchi | Stardance
Devlogs:
Working on uploading more commands. New at Javascript so lets see how it goes. Also working on uploading it to Nest
Adding more stuff and then pushing it. Tried pushin the code forward after putting more things but things got wonky so this is about all that i can upload for now.
Revising and just seeing how the code works and whatnot. Code works pretty well but can’t receive input quite yet. Maybe I’ll figure that out later.
Ships:
I made a basic Slack Bot. First time working with java script so i had to use ai to understand some stuff. Three commands work though the first one doesnt work for some strange reason. proud of my work for my first project....
|
1793062210.5299828
|
1793148610.5299828
|
|
67743
|
Chalculator by @yoonha | Stardance
|
yoonha
|
1
|
4.0
|
11
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T03:01:35Z", "hours": 4.0, "multiplier": 2.84, "payout": 11, "blessing": "neutral", "text": "This is a game where the user sees a list of numbers (1~9) and operators (+, -, *, and /) to assemble an equation that will equal the answer presented on the screen. What makes the game quite challenging is that numbers can be combined to make other numbers, so a 2 and a 4 can be used to create numbers like 24 and 42. There is therefore a lot of possible combinations, and that’s why I believe the game is a great challenge for mathematics lovers (like me!). I can envision a “duel” where two players compete to solve questions faster than others. The challenging part was using the String from the user’s entered equation and using that to calculate the answers. This is because there were many cases where answers should not be accepted (for example not using all the numbers), and tracking a numerical answer is difficult when the original input is in Strings. I was able to calmly visualise how the code should handle them and successfully worked to implement the method. It was indeed challenging because the code used a lot more than a hundred lines, which is more than what I wrote in a lot of my previous works!", "repo": "https://github.com/Yoon-Ha-Hwang/chalculator", "demo": "https://github.com/Yoon-Ha-Hwang/chalculator/releases"}]...
|
[{"post_id": 77971, "ts": "202 [{"post_id": 77971, "ts": "2026-10-09T02:00:25Z", "hours": 0.7675, "text": "Today I finished working on implementing a difficulty system. It took a long time because I had to change standard arrays into ArrayLists and there were numerous IndexOutOfBounds issues. But while checking for errors I also caught an unrelated missing return statement that just so happened to never be reached while I was playtesting, so that’s nice. I am now planning to ship it soon!"}, {"post_id": 77753, "ts": "2026-10-08T05:08:12Z", "hours": 0.3333, "text": "Today I spent most of the time fixing errors. It’s now ready to be played and I will ship it shortly. The answer was always rounded to the nearest integer, so it kept displaying a 0 when that’s physically impossible (it was supposed to display a decimal value 0~1). I fixed it by changing the casting error. Now it correctly rounds to the nearest 10^-6. I slightly modified the introduction to reword any unclear details. LetsCheck wasn’t functioning correctly, and I had no idea how to fix the implementation. I consulted AI to fix it, because I tried to come up with an idea (using a complex parsing method) for around half an hour and that ultimately didn’t work. I have to admit, this game is very challenging. I plan to introduce a difficulty setting, in a later version."}, {"post_id": 77223, "ts": "2026-10-06T04:40:36Z", "hours": 0.8606, "text": "Today I started debugging the programme. The compilation errors were very easy to solve, especially with the densely-populated progress messages. It was eventually realised that this was an error due to wrong variables taking the place. However, I noticed a critical logic error when the code compiled, giving out incomprehensible answers. I suspected that this was a problem in calculating the answer because all the invalid answers were correctly flagged. I eventually noticed that this was because I didn’t reset the numbers whenever the operator was keyed in… But even then I still have no idea why it’s producing nonsense. For some reason it thinks 568*9+2 = 9.0, even though I’m very sure my implementation is already correct. I feel like giving up because I can’t debug since AI is also spitting out nonsense right now."}, {"post_id": 76953, "ts": "2026-10-05T05:35:19Z", "hours": 0.6025, "text": "Today I finished coding the answerVerify method. While coding the method, though, I thought of rounding the answer so the answer doesn’t fill the entire line and allow the user’s equation’s answer to be off by a small amount. What I didn’t notice before was that that meant my answers variable should be a double, not an int. I had to go and change a lot of parts where an int was used rather than a double, and that took a good amount of time. Now, I am able to run the code, but I’d need to fix these OutOfBoundsErrors (I’m not frustrated because I didn’t expect it, but I can’t identify where it is)… that will take time. I will use the “loading message” method I described before to locate the error, since these error messages are impossible to interpret (at least for me) unless you use AI. (image caption: OK, the error is between 2% and 3%)"}, {"post_id": 76615, "ts": "2026-10-04T05:50:20Z", "hours": 0.3736, "text": "Today, I finished the questionGenerator() method, and now I am on my way to make the answerVerify() method which checks if the answer the user entered is valid and correct. But even right now, this game is starting to have a lot of lines (it’s one of the most I wrote for a single project), and personally I find it hard to keep track of what it does. I feel that that would become a genuine struggle when I test the game in the future. There would be simply too many lines to correctly pinpoint the problem. It is night time right now, so I will find the error tomorrow. I plan to have loading messages printed to the console for every step to see where the code is experiencing a problem (e.g. “values generated!”, “equation assembled!”, etc.). This means the code compiled correctly up to the last loading message and that’s where the error might be."}, {"post_id": 76548, "ts": "2026-10-03T22:10:05Z", "hours": 0.9333, "text": "I completed the game introduction that loads when the user first loads the game, so they will know how to play it. The questionGenerator method is quite a challenge because I’d need to ensure there are the correct number of values. One too few, there might be an awkward plus on the end. One too many, it looks like a 1259 when it is supposed to be 12 and 59 (or even 1 and 259, for that matter). I had to pay special attention to ensure there are no off-by-one errors. In the future, I would need to work on a method that evaluates whether the user entered a valid formula. I feel that would be hard because converting Strings to operations will be difficult, but I’m thinking of a solution that scans each character of the answer and conduct operations accordingly."}]...
|
Title: Chalculator by @yoonha | Stardance
Devlogs Title: Chalculator by @yoonha | Stardance
Devlogs:
I completed the game introduction that loads when the user first loads the game, so they will know how to play it. The questionGenerator method is quite a challenge because I’d need to ensure there are the correct number of values. One too few, there might be an awkward plus on the end. One too many, it looks like a 1259 when it is supposed to be 12 and 59 (or even 1 and 259, for that matter). I had to pay special attention to ensure there are no off-by-one errors. In the future, I would need to work on a method that evaluates whether the user entered a valid formula. I feel that would be hard because converting Strings to operations will be difficult, but I’m thinking of a solution that scans each character of the answer and conduct operations accordingly.
Today, I finished the questionGenerator() method, and now I am on my way to make the answerVerify() method which checks if the answer the user entered is valid and correct. But even right now, this game is starting to have a lot of lines (it’s one of the most I wrote for a single project), and personally I find it hard to keep track of what it does. I feel that that would become a genuine struggle when I test the game in the future. There would be simply too many lines to correctly pinpoint the problem. It is night time right now, so I will find the error tomorrow. I plan to have loading messages printed to the console for every step to see where the code is experiencing a problem (e.g. “values generated!”, “equation assembled!”, etc.). This means the code compiled correctly up to the last loading message and that’s where the error might be.
Today I finished coding the answerVerify method. While coding the method, though, I thought of rounding the answer so the answer doesn’t fill the entire line and allow the user’s equation’s answer to be off by a small amount. What I didn’t notice before was that that meant my answers variable should be a double, not an int. I had to go and change a lot of parts where an int was used rather than a double, and that took a good amount of time. Now, I am able to run the code, but I’d need to fix these OutOfBoundsErrors (I’m not frustrated because I didn’t expect it, but I can’t identify where it is)… that will take time. I will use the “loading message” method I described before to locate the error, since these error messages are impossible to interpret (at least for me) unless you use AI. (image caption: OK, the error is between 2% and 3%)
Today I started debugging the programme. The compilation errors were very easy to solve, especially with the densely-populated progress messages. It was eventually realised that this was an error due to wrong variables taking the place. However, I noticed a critical logic error when the code compiled, giving out incomprehensible answers. I suspected that this was a problem in calculating the answer because all the invalid answers were correctly flagged. I eventually noticed that this was because I didn’t reset the numbers whenever the operator was keyed in… But even then I still have no idea why it’s producing nonsense. For some reason it thinks 568*9+2 = 9.0, even though I’m very sure my implementation is already correct. I feel like giving up because I can’t debug since AI is also spitting out nonsense right now.
Today I spent most of the time fixing errors. It’s now ready to be played and I will ship it shortly. The answer was always rounded to the nearest integer, so it kept displaying a 0 when that’s physically impossible (it was supposed to display a decimal value 0~1). I fixed it by changing the casting error. Now it correctly rounds to the nearest 10^-6. I slightly modified the introduction to reword any unclear details. LetsCheck wasn’t functioning correctly, and I had no idea how to fix the implementation. I consulted AI to fix it, because I tried to come up with an idea (using a complex parsing method) for around half an hour and that ultimately didn’t work. I have to admit, this game is very challenging. I plan to introduce a difficulty setting, in a later version.
Today I finished working on implementing a difficulty system. It took a long time because I had to change standard arrays into ArrayLists and there were numerous IndexOutOfBounds issues. But while checking for errors I also caught an unrelated missing return statement that just so happened to never be reached while I was playtesting, so that’s nice. I am now planning to ship it soon!
Ships:
This is a game where the user sees a list of numbers (1~9) and operators (+, -, *, and /) to assemble an equation that will equal the answer presented on the screen. What makes the game quite challenging is that numbers can be combined to make other numbers, so a 2 and a 4 can be used to create numbers like 24 and 42. There is therefore a lot of possible combinations, and that’s why I believe the game is a great challenge for mathematics lovers (like me!). I can envision a “duel” where two players compete to solve questions faster than others. The challenging part was using the String from the user’s entered equation and using that to calculate the answers. This is because there were many cases where answers should not be accepted (for example not using all the numbers), and tracking a numerical answer is difficult when the original input is in Strings. I was able to calmly visualise how the code should handle them and successfully worked to implement the method. It was indeed challenging because the code used a lot more than a hundred lines, which is more than what I wrote in a lot of my previous works!...
|
1793062271.2162082
|
1793148671.2162082
|
|
58519
|
RX-hackpad by @AjoSubarjo | Stardance
|
AjoSubarjo
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T04:10:28Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i make a macropad and currently the function is just for media. i kinda want to custom for blender shortcut etc, and i lear alot from this project like soldering creating a schematic the hardest part is making the enclosure.", "repo": "https://github.com/Ajo-Subarjo/RX-pad", "demo": ""}]...
|
[{"post_id": 77972, "ts": "202 [{"post_id": 77972, "ts": "2026-10-09T02:05:24Z", "hours": 7.2689, "text": "finally done assembly"}, {"post_id": 65336, "ts": "2026-09-10T12:42:14Z", "hours": 2.1428, "text": "one devlog before submit"}, {"post_id": 64738, "ts": "2026-09-09T11:34:37Z", "hours": 18.9433, "text": "finishing the case/enclosure. and the pcb drc"}, {"post_id": 63037, "ts": "2026-09-06T16:38:19Z", "hours": 8.3175, "text": "fixing schematic and adding mounting hole"}, {"post_id": 62348, "ts": "2026-09-05T17:46:40Z", "hours": 1.4336, "text": "first schematic"}]...
|
Title: RX-hackpad by @AjoSubarjo | Stardance
Devl Title: RX-hackpad by @AjoSubarjo | Stardance
Devlogs:
first schematic
fixing schematic and adding mounting hole
finishing the case/enclosure. and the pcb drc
one devlog before submit
finally done assembly
Ships:
i make a macropad and currently the function is just for media. i kinda want to custom for blender shortcut etc, and i lear alot from this project like soldering creating a schematic the hardest part is making the enclosure....
|
1793152436.5954466
|
1793238836.5954466
|
|
67375
|
PyChess by @caleb_welch | Stardance
|
caleb_welch
|
0
|
3.2
|
0
|
[]
|
[{"post_id": 77973, "ts": "202 [{"post_id": 77973, "ts": "2026-10-09T02:35:35Z", "hours": 1.3483, "text": "Devlog 3 Added actual pygame rendering, piece images on their tiles, and basic clicking events on tiles. I am currently having one issue with my pieces not being centered on their tiles hopefully an easy fix. But overall I’m making solid progress. It definitely gets hard to code every day while coming home from school tired every day but I will push through. The picture below shows my progress with this so far. I’ve addded from last devlog to this one: Rendering board with PyGame Rendering pieces with their images onto the tile they currently are on When a piece is clicked it outlines the tile in red"}, {"post_id": 77709, "ts": "2026-10-08T00:49:01Z", "hours": 1.0547, "text": "Devlog 2 Did not do much for this devlog. I mainly did refactor work and cleaning up my code. But I discovered a new thing about python. DUNDER METHODS These are actually really cool and they add some additional functionality to your classes that you make. For example in my use I use the: __str__ () dunder (double underscore) method which allows me to call print() on my class and print whatever I want to print for my class. Here is how I’m using it: # inside of the board class def __str__ ( self ): board_str = \"\" for y in range ( 8 ): for x in range ( 8 ): piece = self . grid [ x ][ y ] if piece : board_str += f \" { piece . type [ 0 ]. upper () if piece . team == ' white ' else piece . type [ 0 ]. lower () } \" else : board_str += \" . \" board_str += \" \\n \" return board_str # How you call it assuming you've already declared a board object called board. print ( board ) This allows for easier and cleaner code for debugging. This code snippet prints what is shown in the photo."}, {"post_id": 76933, "ts": "2026-10-05T03:48:17Z", "hours": 0.7947, "text": "Devlog 1 I got a little busy with school and my social life so I have not worked much on this project yet. Definitely a little step down from my grand project that I just finished. (You should check it out, it’s called Tetr.AI). But I want something a little more relaxed to work on. So I opted to make my own Chess engine built in python. And making this project could lead to some other future projects maybe a cool chess bot or an AI that learns to play chess . | So I just got finished with the basic board initialization and piece initialization. Nothing too much."}]...
|
Title: PyChess by @caleb_welch | Stardance
Devlog Title: PyChess by @caleb_welch | Stardance
Devlogs:
Devlog 1 I got a little busy with school and my social life so I have not worked much on this project yet. Definitely a little step down from my grand project that I just finished. (You should check it out, it’s called Tetr.AI). But I want something a little more relaxed to work on. So I opted to make my own Chess engine built in python. And making this project could lead to some other future projects maybe a cool chess bot or an AI that learns to play chess . | So I just got finished with the basic board initialization and piece initialization. Nothing too much.
Devlog 2 Did not do much for this devlog. I mainly did refactor work and cleaning up my code. But I discovered a new thing about python. DUNDER METHODS These are actually really cool and they add some additional functionality to your classes that you make. For example in my use I use the: __str__ () dunder (double underscore) method which allows me to call print() on my class and print whatever I want to print for my class. Here is how I’m using it: # inside of the board class def __str__ ( self ): board_str = "" for y in range ( 8 ): for x in range ( 8 ): piece = self . grid [ x ][ y ] if piece : board_str += f " { piece . type [ 0 ]. upper () if piece . team == ' white ' else piece . type [ 0 ]. lower () } " else : board_str += " . " board_str += " \n " return board_str # How you call it assuming you've already declared a board object called board. print ( board ) This allows for easier and cleaner code for debugging. This code snippet prints what is shown in the photo.
Devlog 3 Added actual pygame rendering, piece images on their tiles, and basic clicking events on tiles. I am currently having one issue with my pieces not being centered on their tiles hopefully an easy fix. But overall I’m making solid progress. It definitely gets hard to code every day while coming home from school tired every day but I will push through. The picture below shows my progress with this so far. I’ve addded from last devlog to this one: Rendering board with PyGame Rendering pieces with their images onto the tile they currently are on When a piece is clicked it outlines the tile in red...
|
1793109147.880284
|
1793713947.880284
|
|
49996
|
HackerOS by @simonhacker | Stardance
|
simonhacker
|
1
|
9.78
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T19:59:00Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "HackerOS is my WebOS! It was coded in CSS, HTML and JS!! It has a few simple apps and is styled to be dark and blue. It was made fully by me and you can try it at the link below.", "repo": "https://github.com/sevinatenine/HackerOS", "demo": "https://hacker-os.netlify.app"}]...
|
[{"post_id": 77978, "ts": "202 [{"post_id": 77978, "ts": "2026-10-09T03:00:01Z", "hours": 0.3142, "text": "I made the copy and move and open commands for the terminal of my WebOS"}, {"post_id": 77346, "ts": "2026-10-06T16:58:19Z", "hours": 0.4636, "text": "Modified the README and the about."}, {"post_id": 76491, "ts": "2026-10-03T18:55:48Z", "hours": 0.3675, "text": "HackerOS - Finished the about page and the file picker!"}, {"post_id": 76485, "ts": "2026-10-03T18:27:44Z", "hours": 0.5764, "text": "HackerOS - Prototype for my file picker"}, {"post_id": 76446, "ts": "2026-10-03T15:20:30Z", "hours": 3.7758, "text": "I got my file browser working with ZenFS for HackerOS!!!"}, {"post_id": 50374, "ts": "2026-08-19T15:24:39Z", "hours": 1.4139, "text": "I Worked on my file browser app for my WebOS! I used the Yet Another Monochrome Icon Set For KDE Plasma here for the icons and app images for my OS and I used ZenFS (which provides node:fs compatible functions) to store files in IndexedDB."}, {"post_id": 49543, "ts": "2026-08-18T12:52:08Z", "hours": 0.4025, "text": "Prototype for the app bar for my WebOS"}, {"post_id": 49291, "ts": "2026-08-18T00:46:48Z", "hours": 2.1136, "text": "I made a window system with draggable and resizable windows for my WebOS!"}]...
|
Title: HackerOS by @simonhacker | Stardance
Devlo Title: HackerOS by @simonhacker | Stardance
Devlogs:
I made a window system with draggable and resizable windows for my WebOS!
Prototype for the app bar for my WebOS
I Worked on my file browser app for my WebOS! I used the Yet Another Monochrome Icon Set For KDE Plasma here for the icons and app images for my OS and I used ZenFS (which provides node:fs compatible functions) to store files in IndexedDB.
I got my file browser working with ZenFS for HackerOS!!!
HackerOS - Prototype for my file picker
HackerOS - Finished the about page and the file picker!
Modified the README and the about.
I made the copy and move and open commands for the terminal of my WebOS
Ships:
HackerOS is my WebOS! It was coded in CSS, HTML and JS!! It has a few simple apps and is styled to be dark and blue. It was made fully by me and you can try it at the link below....
|
1793148775.8949003
|
1793235175.8949003
|
|
51177
|
8bit computer by @geenk | Stardance
|
geenk
|
0
|
27.42
|
0
|
[]
|
[{"post_id": 77979, "ts": "202 [{"post_id": 77979, "ts": "2026-10-09T03:00:47Z", "hours": 1.4667, "text": "General project updates Hey! School started so I’ve been pretty busy, but I am mostly done syncing the simulation files with the KiCad design. I’ll probably be building this out of breadboards instead of an actual PCB purely because it will be easier to modify and fix bugs on."}, {"post_id": 59782, "ts": "2026-09-01T18:32:16Z", "hours": 3.7264, "text": "It’s alive!!! The computer finally ran a fibonacci sequence code! I had to update many parts of the computer to get it to work with most of the 8080/8085 instruction set. But currently it can run a simple program! I was dealing with an issue where the step counter just would not count, but that was just me messing up in the SC_RST logic. Changes Instruction set: Wrote the python code to implement most of the 8080 instruction set, and code to generate the control EEPROM data based on the instruction set ALU: Had to add the hardware to enable for RRC/RAR instructions PC: Had to add output to data bus functionality for Jcc instructions MAR: Had to add functionality to increment MAR to save on time (not having to route through ALU) Temporary register: for XCHG instructions and JMP Misc: Made sure other signals were clock gated"}, {"post_id": 54825, "ts": "2026-08-25T23:50:04Z", "hours": 3.7103, "text": "Instruction decoder and connecting modules together I connected most of the modules together, for now the computer works when controlled manually. I’ve also manually tested some modules by hand, and they seem to be working well together. I’ve had some bugs wiring the control EEPROMs to the control signals since I forgot the multiplexer outputs were inverted. For the instruction decoders, to save on control EEPROMs, I’ve multiplexed some of the control signals that wont be used together. For instance the outputs to bus control signals, two should never be turned on together, so I can use multiplexing to reduce from 16 control pins to 4."}, {"post_id": 54473, "ts": "2026-08-25T14:24:04Z", "hours": 1.8619, "text": "MAR, RAM updates, address decoder and ROM simulation files I added DIP programming switches (their equivalent) to the MAR and RAM simulation files. I also changed most modules to expose their inner LEDs since you couldn’t see them when adding them as components. Also added the address decoder and ROM simulation files. The address decoder and ROM seems to work pretty well."}, {"post_id": 54249, "ts": "2026-08-25T04:16:15Z", "hours": 1.1514, "text": "RAM, Output register simulation files I built the RAM module in simulation with DIP switches to test, but I prob will actually build that into the actual computer. The Digital simulator didn’t have the MCU I planned on using, so I used the ol persistence of vision multiplexing used by Ben Eater in his videos."}, {"post_id": 53516, "ts": "2026-08-24T03:05:35Z", "hours": 2.3503, "text": "MAR, PC, ALU simulation files Made the simulation files for the memory address register, program counter and the ALU. The ALU still needs a bit of investigation into the behavior of the 74LS181 chips."}, {"post_id": 53376, "ts": "2026-08-23T22:05:18Z", "hours": 2.1833, "text": "BC, HL registers simulation files Wired up the simulation files for the BC and HL register pairs. Simulation using Digital ( https://github.com/hneemann/digital )"}, {"post_id": 51864, "ts": "2026-08-21T18:52:55Z", "hours": 1.6169, "text": "Connecting things together Connected parts of the modules together, still have to connect the control wires together for the instruction decoding part."}, {"post_id": 51291, "ts": "2026-08-20T20:58:33Z", "hours": 1.3667, "text": "Clock & fixes Clock Basically the typical Ben Eater’s design of the clock module, nothing special, uses 3 555 timers in different configurations for both the manual step and the actual clock. Flags register Now the flags register has 4 flags, N egative, C arry, Z ero and o V erflow. N flag is generated using the MSB of the sum out, since that would indicate a negative number when doing signed arithmetic. Zero is generated by ORing all the sum out and ANDing them together. The Carry flag is just taken directly from the 181 ALU. The Overflow flag comes from by NOT(XOR A7, B7) AND XOR(S7, A7) Fixes Now the load control words for registers are synchronous, this prevents issues with loading garbage from the bus close to clock transitions. Another fix was that the CF reader missed a VCC pin so I added that back."}, {"post_id": 51145, "ts": "2026-08-20T17:16:38Z", "hours": 2.8003, "text": "BC, DE, HL register pairs, IR, output register, SC, LCD, parts of instruction decoder BC, DE, HL registers These registers can act together as a single 16bit register, outputting to the address bus, or also act like regular 8bit registers, outputting to the data bus. The HL register is special as it handles more indexing things. It has functionality to act as both regular 8bit registers and 16 bit register pair with increment and decrement functionality. IR - instruction register The IR stores opcodes from the RAM, and then passes it to the instruction decoder to get the microcode for the particular instruction/opcode. It is a simple 8 bit register using the 74LS573, without output to the bus. Output Register The output register consists of 4 * 7 segment displays. In Ben Eater’s original design, he uses eeproms to replace the logic for decoding. But in this case, I’ve elected to go with the ATMEGA328 microcontroller instead purely to save on board space. SC - Step Counter The SC handles the T-states/steps/micro instructions required to run a single instruction. Currently it uses a single 74LS161, which can handle up to 16 T-states. A reset control word is also implemented. The output of the SC goes to the control EEPROMs so that the computer knows what to do. LCD Using the typical 16x02 LCD, the LCD has an 74LS573 to buffer the data and the 2 control pins (enable and RS) are handled by the address decoder. 0xA00x enables the LCD using the 74LS138 decoder, and the 0xA001 sets the RS. Instruction Decoder I’ve decided to go with 4 W27C512 for the control EEPROMs, since it has 16bits address which is enough for 8bit opcode, 4bit step, 4 bit flag."}, {"post_id": 50673, "ts": "2026-08-19T23:29:21Z", "hours": 1.5667, "text": "CF card reader, A/B register, ALU, flags register. Finished the schematic for the CF card reader, the A/B register, the ALU and the flags register. Currently, the A/B and flags register are 8 bit. CF card reader The CF card reader uses the True IDE mode on CF cards, this allows for 8 bit data reading, and internal registers access using 3 address pins. CF cards uses 512bytes sectors which can be read sequentially using the IORD read strobe pin. But writing to the internal registers is also needed to set the card up for reading, hence the bidirectional bus. A/B register The A/B registers are 8 bit registers using the 74LS573. They have both an IN and OUT control words. The A register is directly connected to the ALU. ALU The ALU uses 2 74LS181 ALU cascaded together. They allow for multiple arithmetic and logic operations. The A register is directly connected to the ALU A input, while a temporary buffer is conected to the B input of the ALU to allow for loading from other registers or memory. Flags register Currently the flags register uses the 74LS573 to store the flags. Currently only 3 flags are wired, CF, ZF and EF. CF comes from the 181 ALU while the ZF is generated from the ALU output."}, {"post_id": 50624, "ts": "2026-08-19T21:15:16Z", "hours": 2.1503, "text": "Memory address decoding, RAM, ROM, and CF card part & symbol The 8 bit computer has a 16bit memory addressing. It is segmented into 4 blocks. From 0x0000 to 0x7FFF is the 32K of RAM. From 0x8000 to 0x8007 is the CF card/external storage segment. From 0x8008 to 0xEFFF is reserved for now. 0xF000 to 0xFFFF is for the ROM/bootloader. Memory address decoding To only enable ROM/RAM/CF when its their memory address sections, I used the last 4 bits of the memory address. If A12-15 are all 1, then its the ROM thats selected. Since the ROM memory is 0xFXXX. The RAM is selected whenever the A15 is 0, since the 62256 only has 15bits of address. The CF is selected when a A15-A13 is 0b100, which is decoded using a 74LS138. RAM The RAM uses a 62256 ram chip. The 62256 has common I/O so the 74LS245 transceiver is responsible for both RAM to bus and bus to RAM (ie STA instructions). I’ve decided to not include manual programming of the RAM unlike Ben Eater’s original design. It was simply because it would make the modules way too big. ROM The ROM uses a 28C64 for now. Its more for the bootloader/storing programs. Its buffered to the bus using a 73LS245. CF card The CF card section is for programs, it works on sectors, so the bootloader has to copy the code from the CF into the memory in order to work. Currently I found a CF card part and made a symbol for the CF card reader."}, {"post_id": 50514, "ts": "2026-08-19T18:10:54Z", "hours": 1.4669, "text": "MAR, PC, SP Made the schematic for the memory address register, program counter and the stack pointer. All 3 modules output to a shared 16bit memory address bus. Since the bus is 8 bit and the address bus is 16bit, the MAR, PC, and the SP are split into a High and a Low section, so it takes 2 fetch cycles to load a 16bit address into the modules (ie first fetch loads 8 bit into MAR_Low and second fetch loads 8 bit into MAR_High). MAR The MAR uses 2 74LS573 octal d-type registers to store 16 bits of information, it’s used for instructions needing to access data in RAM, ie LDA 0x7000. To allow for viewing the MAR data, its hooked up to LEDs and to the address bus using 2 74LS245 to act as buffer between the MAR and the address bus. PC The program counter uses 4 74LS161 to count up. I considered using the 74LS593, but after a quick search on Aliexpress and LCSC, found it too rare of a chip to use. So I went back to using the 74LS161. The program counter tells the computer what is the next memory address to fetch data from. This module is also hooked up to the main data bus to allow for jump instructions to work. This is also buffered via 2 74LS245. SP The stack pointer uses 4 74LS193 to allow for it to count up and down. First time using the 74LS193 so it was kinda confusing to figure out how to wire multiple of them up for cascading. The SP allows for subroutines to happen (JSR/CALL/RTS/RET instructions) as it allows for the computer to remember where to return to after the subroutine finishes. This is also buffered via 2 74LS245."}]...
|
Title: 8bit computer by @geenk | Stardance
Devlog Title: 8bit computer by @geenk | Stardance
Devlogs:
MAR, PC, SP Made the schematic for the memory address register, program counter and the stack pointer. All 3 modules output to a shared 16bit memory address bus. Since the bus is 8 bit and the address bus is 16bit, the MAR, PC, and the SP are split into a High and a Low section, so it takes 2 fetch cycles to load a 16bit address into the modules (ie first fetch loads 8 bit into MAR_Low and second fetch loads 8 bit into MAR_High). MAR The MAR uses 2 74LS573 octal d-type registers to store 16 bits of information, it’s used for instructions needing to access data in RAM, ie LDA 0x7000. To allow for viewing the MAR data, its hooked up to LEDs and to the address bus using 2 74LS245 to act as buffer between the MAR and the address bus. PC The program counter uses 4 74LS161 to count up. I considered using the 74LS593, but after a quick search on Aliexpress and LCSC, found it too rare of a chip to use. So I went back to using the 74LS161. The program counter tells the computer what is the next memory address to fetch data from. This module is also hooked up to the main data bus to allow for jump instructions to work. This is also buffered via 2 74LS245. SP The stack pointer uses 4 74LS193 to allow for it to count up and down. First time using the 74LS193 so it was kinda confusing to figure out how to wire multiple of them up for cascading. The SP allows for subroutines to happen (JSR/CALL/RTS/RET instructions) as it allows for the computer to remember where to return to after the subroutine finishes. This is also buffered via 2 74LS245.
Memory address decoding, RAM, ROM, and CF card part & symbol The 8 bit computer has a 16bit memory addressing. It is segmented into 4 blocks. From 0x0000 to 0x7FFF is the 32K of RAM. From 0x8000 to 0x8007 is the CF card/external storage segment. From 0x8008 to 0xEFFF is reserved for now. 0xF000 to 0xFFFF is for the ROM/bootloader. Memory address decoding To only enable ROM/RAM/CF when its their memory address sections, I used the last 4 bits of the memory address. If A12-15 are all 1, then its the ROM thats selected. Since the ROM memory is 0xFXXX. The RAM is selected whenever the A15 is 0, since the 62256 only has 15bits of address. The CF is selected when a A15-A13 is 0b100, which is decoded using a 74LS138. RAM The RAM uses a 62256 ram chip. The 62256 has common I/O so the 74LS245 transceiver is responsible for both RAM to bus and bus to RAM (ie STA instructions). I’ve decided to not include manual programming of the RAM unlike Ben Eater’s original design. It was simply because it would make the modules way too big. ROM The ROM uses a 28C64 for now. Its more for the bootloader/storing programs. Its buffered to the bus using a 73LS245. CF card The CF card section is for programs, it works on sectors, so the bootloader has to copy the code from the CF into the memory in order to work. Currently I found a CF card part and made a symbol for the CF card reader.
CF card reader, A/B register, ALU, flags register. Finished the schematic for the CF card reader, the A/B register, the ALU and the flags register. Currently, the A/B and flags register are 8 bit. CF card reader The CF card reader uses the True IDE mode on CF cards, this allows for 8 bit data reading, and internal registers access using 3 address pins. CF cards uses 512bytes sectors which can be read sequentially using the IORD read strobe pin. But writing to the internal registers is also needed to set the card up for reading, hence the bidirectional bus. A/B register The A/B registers are 8 bit registers using the 74LS573. They have both an IN and OUT control words. The A register is directly connected to the ALU. ALU The ALU uses 2 74LS181 ALU cascaded together. They allow for multiple arithmetic and logic operations. The A register is directly connected to the ALU A input, while a temporary buffer is conected to the B input of the ALU to allow for loading from other registers or memory. Flags register Currently the flags register uses the 74LS573 to store the flags. Currently only 3 flags are wired, CF, ZF and EF. CF comes from the 181 ALU while the ZF is generated from the ALU output.
BC, DE, HL register pairs, IR, output register, SC, LCD, parts of instruction decoder BC, DE, HL registers These registers can act together as a single 16bit register, outputting to the address bus, or also act like regular 8bit registers, outputting to the data bus. The HL register is special as it handles more indexing things. It has functionality to act as both regular 8bit registers and 16 bit register pair with increment and decrement functionality. IR - instruction register The IR stores opcodes from the RAM, and then passes it to the instruction decoder to get the microcode for the particular instruction/opcode. It is a simple 8 bit register using the 74LS573, without output to the bus. Output Register The output register consists of 4 * 7 segment displays. In Ben Eater’s original design, he uses eeproms to replace the logic for decoding. But in this case, I’ve elected to go with the ATMEGA328 microcontroller instead purely to save on board space. SC - Step Counter The SC handles the T-states/steps/micro instructions required to run a single instruction. Currently it uses a single 74LS161, which can handle up to 16 T-states. A reset control word is also implemented. The output of the SC goes to the control EEPROMs so that the computer knows what to do. LCD Using the typical 16x02 LCD, the LCD has an 74LS573 to buffer the data and the 2 control pins (enable and RS) are handled by the address decoder. 0xA00x enables the LCD using the 74LS138 decoder, and the 0xA001 sets the RS. Instruction Decoder I’ve decided to go with 4 W27C512 for the control EEPROMs, since it has 16bits address which is enough for 8bit opcode, 4bit step, 4 bit flag.
Clock & fixes Clock Basically the typical Ben Eater’s design of the clock module, nothing special, uses 3 555 timers in different configurations for both the manual step and the actual clock. Flags register Now the flags register has 4 flags, N egative, C arry, Z ero and o V erflow. N flag is generated using the MSB of the sum out, since that would indicate a negative number when doing signed arithmetic. Zero is generated by ORing all the sum out and ANDing them together. The Carry flag is just taken directly from the 181 ALU. The Overflow flag comes from by NOT(XOR A7, B7) AND XOR(S7, A7) Fixes Now the load control words for registers are synchronous, this prevents issues with loading garbage from the bus close to clock transitions. Another fix was that the CF reader missed a VCC pin so I added that back.
Connecting things together Connected parts of the modules together, still have to connect the control wires together for the instruction decoding part.
BC, HL registers simulation files Wired up the simulation files for the BC and HL register pairs. Simulation using Digital ( https://github.com/hneemann/digital )
MAR, PC, ALU simulation files Made the simulation files for the memory address register, program counter and the ALU. The ALU still needs a bit of investigation into the behavior of the 74LS181 chips.
RAM, Output register simulation files I built the RAM module in simulation with DIP switches to test, but I prob will actually build that into the actual computer. The Digital simulator didn’t have the MCU I planned on using, so I used the ol persistence of vision multiplexing used by Ben Eater in his videos.
MAR, RAM updates, address decoder and ROM simulation files I added DIP programming switches (their equivalent) to the MAR and RAM simulation files. I also changed most modules to expose their inner LEDs since you couldn’t see them when adding them as components. Also added the address decoder and ROM simulation files. The address decoder and ROM seems to work pretty well.
Instruction decoder and connecting modules together I connected most of the modules together, for now the computer works when controlled manually. I’ve also manually tested some modules by hand, and they seem to be working well together. I’ve had some bugs wiring the control EEPROMs to the control signals since I forgot the multiplexer outputs were inverted. For the instruction decoders, to save on control EEPROMs, I’ve multiplexed some of the control signals that wont be used together. For instance the outputs to bus control signals, two should never be turned on together, so I can use multiplexing to reduce from 16 control pins to 4.
It’s alive!!! The computer finally ran a fibonacci sequence code! I had to update many parts of the computer to get it to work with most of the 8080/8085 instruction set. But currently it can run a simple program! I was dealing with an issue where the step counter just would not count, but that was just me messing up in the SC_RST logic. Changes Instruction set: Wrote the python code to implement most of the 8080 instruction set, and code to generate the control EEPROM data based on the instruction set ALU: Had to add the hardware to enable for RRC/RAR instructions PC: Had to add output to data bus functionality for Jcc instructions MAR: Had to add functionality to increment MAR to save on time (not having to route through ALU) Temporary register: for XCHG instructions and JMP Misc: Made sure other signals were clock gated
General project updates Hey! School started so I’ve been pretty busy, but I am mostly done syncing the simulation files with the KiCad design. I’ll probably be building this out of breadboards instead of an actual PCB purely because it will be easier to modify and fix bugs on....
|
1792659192.2669442
|
1793263992.2669442
|
|
56073
|
Hardware of CropSentry by @caigriffith | Stardance
|
caigriffith
|
0
|
20.05
|
0
|
[]
|
[{"post_id": 77983, "ts": "202 [{"post_id": 77983, "ts": "2026-10-09T03:20:27Z", "hours": 13.3661, "text": "Today was great! I got so much work done. So far, the Repo is mostly complete (still needs more work done), the README is done, the coding is done, the server configuration is done, some CAD is done, the photos are done, and I was able to organize everything. Can’t wait to see what’s going to happen next!"}, {"post_id": 63319, "ts": "2026-09-07T02:24:49Z", "hours": 1.2006, "text": "Finished the schematic and made the design electrically sound. However, my partner and I ultimately decided that due to time constraints, case fitting, and sensor exposure, we are going to hand wire the design and mount each sensor individually to the encasement (of which will be 3D modeled and printed from Fusion 360). The schematic is mostly going to be a wiring diagram of where to wire pins together when we get to that point. Looking past Stardance, we do plan to make a PCB in the future. In addition to this, I made sure to buy all the parts necessary to start wiring and CAD modeling. I also created a final and working BOM for the project."}, {"post_id": 61275, "ts": "2026-09-04T04:00:03Z", "hours": 3.0169, "text": "Worked on building schematic further, down to 3 ERC errors, and finalized any information that will be on the README."}, {"post_id": 61141, "ts": "2026-09-03T22:08:52Z", "hours": 2.4639, "text": "This week, I made a presentation that my partner and I will give to Middle Georgia State University about our project and how it can be impactful in the real world. I also created a baseline wiring schematic (We plan to use a perfboard/breadboard rather than a PCB due to time constraints) so that when the parts come in, we are able to wire everything together. I also started a BOM that will be finalized soon."}]...
|
Title: Hardware of CropSentry by @caigriffith | St Title: Hardware of CropSentry by @caigriffith | Stardance
Devlogs:
This week, I made a presentation that my partner and I will give to Middle Georgia State University about our project and how it can be impactful in the real world. I also created a baseline wiring schematic (We plan to use a perfboard/breadboard rather than a PCB due to time constraints) so that when the parts come in, we are able to wire everything together. I also started a BOM that will be finalized soon.
Worked on building schematic further, down to 3 ERC errors, and finalized any information that will be on the README.
Finished the schematic and made the design electrically sound. However, my partner and I ultimately decided that due to time constraints, case fitting, and sensor exposure, we are going to hand wire the design and mount each sensor individually to the encasement (of which will be 3D modeled and printed from Fusion 360). The schematic is mostly going to be a wiring diagram of where to wire pins together when we get to that point. Looking past Stardance, we do plan to make a PCB in the future. In addition to this, I made sure to buy all the parts necessary to start wiring and CAD modeling. I also created a final and working BOM for the project.
Today was great! I got so much work done. So far, the Repo is mostly complete (still needs more work done), the README is done, the coding is done, the server configuration is done, some CAD is done, the photos are done, and I was able to organize everything. Can’t wait to see what’s going to happen next!...
|
1792648127.6422899
|
1793252927.6422899
|
|
12747
|
Hack-A-Gent by @to_aarav_g | Stardance
|
to_aarav_g
|
1
|
177.01
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T13:09:15Z", "hours": 141.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? Hack-A-Gent — an AI coding agent that can plan, write, test and fix code for a hackathon project. What was challenging? Getting the agent to fix its own mistakes without breaking existing code. Cross-file dependencies and keeping shared code safe were probably the hardest parts. What are you proud of? I got it to go beyond just generating code and actually test and repair what it creates. How do I run it? Clone the repo, run npm install , create a .env with your Gemini API key, then run npm run dev . Start with a small coding task and let the agent work through it.", "repo": "https://github.com/Theuser1211/Hack-A-Gent", "demo": "https://github.com/Theuser1211/Hack-A-Gent/releases/"}]...
|
[{"post_id": 77987, "ts": "202 [{"post_id": 77987, "ts": "2026-10-09T03:55:17Z", "hours": 3.6219, "text": "Greeting! I have made 1 bid decision and ported the whole hag to python scipt using external libraries instead of building every agent myself. But for this we need gemini-cli configured with a paid account(which I dont have!). Sad, but I am happy rest all of hag works without any issues"}, {"post_id": 76687, "ts": "2026-10-04T10:37:59Z", "hours": 3.055, "text": "Got 208/208 tests to pass. Also I have implemented the providor for LLM as Gemini(Primary) -> Openrouter -> NVIDIA. So that maximum success rates can be achived. Also for anyone to test out HAG, just use README.md from github to install HAG, then setup up your API keys in the .env (don’t worry it’s all local), and you are ready to go."}, {"post_id": 76124, "ts": "2026-10-02T12:50:50Z", "hours": 3.5364, "text": "Heyyy, I have updated my README.md and also fixed my failing tests by now. I guess I am ready to ship Hack-A-Gent for Ship#1"}, {"post_id": 75504, "ts": "2026-09-30T09:17:25Z", "hours": 25.7925, "text": "I have realised that using NVIDIA NIMS is the issue, my app is almost working. , but the providors is failing at this point. I will try using gemini and openrouter to chek if it will work or not. I guess I will not be able to. And I also need to update my README.md for some reason it looks like AI written, I will write it in a funny way now."}, {"post_id": 72689, "ts": "2026-09-23T14:43:47Z", "hours": 20.6364, "text": "Fixed a pretty annoying bug today. HAG can now actually reach Nemotron during auto-repair after NVIDIA 503s. One step closer to a full successful run."}, {"post_id": 42039, "ts": "2026-08-06T16:28:40Z", "hours": 8.8503, "text": "Major progress today! I completed the Phase 1 stabilization of Hack-A-Gent by resolving all remaining test and build issues (1721/1721 tests passing, clean TypeScript build). I also performed a deep forensic investigation into the AI generation pipeline and discovered a critical issue where the router was rejecting recoverable LLM responses before they reached the JSON extraction layer. With the core architecture now stable, the focus shifts to eliminating unnecessary template fallbacks and improving the quality of AI-generated hackathon projects."}, {"post_id": 41361, "ts": "2026-08-05T15:03:39Z", "hours": 13.7719, "text": "Today’s work focused on stabilizing Hack-A-Gent for a production-ready release. I fixed the Improvement Pass so it now completes the full critique -> patch -> build -> judge cycle with measurable score improvements, strengthened template fallback generation with complete project scaffolding and improved styling, added automatic generation of deployment assets like LICENSE and vercel.json, and implemented comprehensive child-process lifecycle management to ensure the CLI exits cleanly after execution. I also streamlined the interview flow by removing unnecessary prompts, improved validation, and verified the project with a clean TypeScript build and extensive unit and feature test coverage."}, {"post_id": 39997, "ts": "2026-08-03T10:51:49Z", "hours": 8.8792, "text": "This is session I added a better parser so I get almost 99% accuracy and also made many improvements in the code generation. Almost done and drained out from all this"}, {"post_id": 39011, "ts": "2026-08-01T17:39:57Z", "hours": 14.4528, "text": "Spent this session improving Hack-A-Gent’s reliability and generation pipeline. Fixed a major architectural issue where generated apps were being overwritten by fallback templates, allowing AI-generated pages to be preserved correctly. Also resolved several runtime and build issues, improved validation, and verified the full pipeline by generating, building, and running a real hackathon project successfully. The next focus is improving project quality so the generated apps are more original, context-aware, and competitive in real hackathons."}, {"post_id": 35101, "ts": "2026-07-26T09:58:01Z", "hours": 11.1589, "text": "Today was mostly about making Hack-A-Gent more reliable instead of adding new features. I finally tracked down a long-standing parser issue that turned out to be an architectural problem: the CLI and the analysis pipeline were using two completely different parsers. I merged everything into a single parser, updated the production build to include it, and verified that all parser regression tests and the full test suite still pass. After that, I confirmed the CLI now extracts real judging criteria like Impact and Innovation instead of mistakenly treating navigation links as judging criteria. With parsing in a much better place, I shifted focus toward hardening the overall pipeline by planning phased reliability work around generation, auto-repair, validation, and recovery so the goal is no longer just generating code, but consistently producing projects that typecheck, build, run, and are ready for submission."}, {"post_id": 33322, "ts": "2026-07-23T04:04:01Z", "hours": 8.9597, "text": "This week I focused on making Hack-A-Gent stable and release-ready instead of adding new features. I cleaned up dead code, removed unused files, improved CLI logging and error messages, and verified the project with a full build and test pass. The CLI now parses real hackathon pages, plans projects, and gracefully falls back when AI providers are unavailable. I also ran end-to-end tests on real hackathon URLs to identify the final issues before release. The remaining work is improving template fallback and validation so every generated project is immediately usable, bringing Hack-A-Gent closer to its first stable release."}, {"post_id": 27158, "ts": "2026-07-12T13:41:30Z", "hours": 6.4664, "text": "Might be on final stages, making sure the agent doesn’t blows up in users hands. Taking time but needs to be done, Hope I can ship it by this week"}, {"post_id": 26029, "ts": "2026-07-10T16:39:54Z", "hours": 22.7653, "text": "Spent today improving Hack-A-Gent’s long-term direction instead of just fixing bugs. I mapped out a roadmap to turn it into a real Devpost hackathon agent, including a hackathon qualification engine, real Devpost benchmark suite, autonomous repair loop, browser validation, and organizational learning. Also audited the current architecture to identify what already exists, what needs refactoring, and what should be built next before writing more code."}, {"post_id": 21958, "ts": "2026-07-04T05:04:47Z", "hours": 25.1944, "text": "Hack-A-Gent I built Hack-A-Gent , a CLI-based AI agent that helps developers turn a Devpost hackathon challenge into a working project in minutes. Simply paste a Devpost competition URL into the terminal, and Hack-A-Gent analyzes the challenge, extracts the judging criteria and submission requirements, plans an appropriate architecture, and generates a production-ready project scaffold. You bring your own LLM API key (Anthropic, OpenAI, Google Gemini, NVIDIA NIMs, Ollama, and more), and Hack-A-Gent orchestrates the rest—from understanding the hackathon prompt to generating code, documentation, and a submission-ready starting point. The goal isn’t to replace developers, but to eliminate the repetitive setup work so builders can spend more time refining their ideas, polishing their projects, and creating a great demo."}]...
|
Title: Hack-A-Gent by @to_aarav_g | Stardance
Dev Title: Hack-A-Gent by @to_aarav_g | Stardance
Devlogs:
Hack-A-Gent I built Hack-A-Gent , a CLI-based AI agent that helps developers turn a Devpost hackathon challenge into a working project in minutes. Simply paste a Devpost competition URL into the terminal, and Hack-A-Gent analyzes the challenge, extracts the judging criteria and submission requirements, plans an appropriate architecture, and generates a production-ready project scaffold. You bring your own LLM API key (Anthropic, OpenAI, Google Gemini, NVIDIA NIMs, Ollama, and more), and Hack-A-Gent orchestrates the rest—from understanding the hackathon prompt to generating code, documentation, and a submission-ready starting point. The goal isn’t to replace developers, but to eliminate the repetitive setup work so builders can spend more time refining their ideas, polishing their projects, and creating a great demo.
Spent today improving Hack-A-Gent’s long-term direction instead of just fixing bugs. I mapped out a roadmap to turn it into a real Devpost hackathon agent, including a hackathon qualification engine, real Devpost benchmark suite, autonomous repair loop, browser validation, and organizational learning. Also audited the current architecture to identify what already exists, what needs refactoring, and what should be built next before writing more code.
Might be on final stages, making sure the agent doesn’t blows up in users hands. Taking time but needs to be done, Hope I can ship it by this week
This week I focused on making Hack-A-Gent stable and release-ready instead of adding new features. I cleaned up dead code, removed unused files, improved CLI logging and error messages, and verified the project with a full build and test pass. The CLI now parses real hackathon pages, plans projects, and gracefully falls back when AI providers are unavailable. I also ran end-to-end tests on real hackathon URLs to identify the final issues before release. The remaining work is improving template fallback and validation so every generated project is immediately usable, bringing Hack-A-Gent closer to its first stable release.
Today was mostly about making Hack-A-Gent more reliable instead of adding new features. I finally tracked down a long-standing parser issue that turned out to be an architectural problem: the CLI and the analysis pipeline were using two completely different parsers. I merged everything into a single parser, updated the production build to include it, and verified that all parser regression tests and the full test suite still pass. After that, I confirmed the CLI now extracts real judging criteria like Impact and Innovation instead of mistakenly treating navigation links as judging criteria. With parsing in a much better place, I shifted focus toward hardening the overall pipeline by planning phased reliability work around generation, auto-repair, validation, and recovery so the goal is no longer just generating code, but consistently producing projects that typecheck, build, run, and are ready for submission.
Spent this session improving Hack-A-Gent’s reliability and generation pipeline. Fixed a major architectural issue where generated apps were being overwritten by fallback templates, allowing AI-generated pages to be preserved correctly. Also resolved several runtime and build issues, improved validation, and verified the full pipeline by generating, building, and running a real hackathon project successfully. The next focus is improving project quality so the generated apps are more original, context-aware, and competitive in real hackathons.
This is session I added a better parser so I get almost 99% accuracy and also made many improvements in the code generation. Almost done and drained out from all this
Today’s work focused on stabilizing Hack-A-Gent for a production-ready release. I fixed the Improvement Pass so it now completes the full critique -> patch -> build -> judge cycle with measurable score improvements, strengthened template fallback generation with complete project scaffolding and improved styling, added automatic generation of deployment assets like LICENSE and vercel.json, and implemented comprehensive child-process lifecycle management to ensure the CLI exits cleanly after execution. I also streamlined the interview flow by removing unnecessary prompts, improved validation, and verified the project with a clean TypeScript build and extensive unit and feature test coverage.
Major progress today! I completed the Phase 1 stabilization of Hack-A-Gent by resolving all remaining test and build issues (1721/1721 tests passing, clean TypeScript build). I also performed a deep forensic investigation into the AI generation pipeline and discovered a critical issue where the router was rejecting recoverable LLM responses before they reached the JSON extraction layer. With the core architecture now stable, the focus shifts to eliminating unnecessary template fallbacks and improving the quality of AI-generated hackathon projects.
Fixed a pretty annoying bug today. HAG can now actually reach Nemotron during auto-repair after NVIDIA 503s. One step closer to a full successful run.
I have realised that using NVIDIA NIMS is the issue, my app is almost working. , but the providors is failing at this point. I will try using gemini and openrouter to chek if it will work or not. I guess I will not be able to. And I also need to update my README.md for some reason it looks like AI written, I will write it in a funny way now.
Heyyy, I have updated my README.md and also fixed my failing tests by now. I guess I am ready to ship Hack-A-Gent for Ship#1
Got 208/208 tests to pass. Also I have implemented the providor for LLM as Gemini(Primary) -> Openrouter -> NVIDIA. So that maximum success rates can be achived. Also for anyone to test out HAG, just use README.md from github to install HAG, then setup up your API keys in the .env (don’t worry it’s all local), and you are ready to go.
Greeting! I have made 1 bid decision and ported the whole hag to python scipt using external libraries instead of building every agent myself. But for this we need gemini-cli configured with a paid account(which I dont have!). Sad, but I am happy rest all of hag works without any issues
Ships:
What did you make? Hack-A-Gent — an AI coding agent that can plan, write, test and fix code for a hackathon project. What was challenging? Getting the agent to fix its own mistakes without breaking existing code. Cross-file dependencies and keeping shared code safe were probably the hardest parts. What are you proud of? I got it to go beyond just generating code and actually test and repair what it creates. How do I run it? Clone the repo, run npm install , create a .env with your Gemini API key, then run npm run dev . Start with a small coding task and let the agent work through it....
|
1793152411.310006
|
1793238811.310006
|
|
67421
|
EN.FO by @Eucatastrophe | Stardance
|
Eucatastrophe
|
0
|
57.57
|
0
|
[]
|
[{"post_id": 77992, "ts": "202 [{"post_id": 77992, "ts": "2026-10-09T04:06:04Z", "hours": 0.7625, "text": "troubleshooting pcb didn’t work because of some mystery reason that I’m going to figure out later, but battery would only turn the backlight on, and the code wouldn’t turn the backlight on, even explicitly setting the pin to high. mysterious. ugh well anyway, I’m ordering another one because I also fixed a component so that it would be flush with the board"}, {"post_id": 76866, "ts": "2026-10-04T21:28:37Z", "hours": 1.0556, "text": "my pcb got here from pcbway!!! soldered some components to the board. turns out I bought the wrong size of JST connector (by a couple millimeters…) next step is fixing that, and printing the enclosure with translucent HTPLA & PETG."}, {"post_id": 76329, "ts": "2026-10-03T06:48:48Z", "hours": 2.3514, "text": "Software: fixed a bug about unit conversions, also took some pictures for the readme! Also check out this e-ink thingy, I was gonna use it for this project but it didn’t fit the use case very well. Dunno what I’ll use it for in the future. Code credits to blurPP/ssd1681_epaper_driver_micropython !! for the demo"}, {"post_id": 76076, "ts": "2026-10-02T08:25:23Z", "hours": 53.4039, "text": "Somehow we’re starting at 52 hours, probably more since I fiddled with it for a really long time while trying to learn microelectronics.. Anyway, since I joined this pretty late with this project, honestly the software part is mostly finished. I spent the last month testing the sensor drafting out figma layouts making the page navigation architecture in circuitpython making pages making a whole ass CAD model for printing an enclosure So this week I made some games! They use two buttons, since the main page navigation and UI of the environment sensor uses two buttons. It runs on a TFT LCD!!! But for ease of testing, I have a True/False flag in the code that runs it through pygame (adafruit_displayio_blinka library, I think) so I can simulate and test on the computer. Pretty neat"}]...
|
Title: EN.FO by @Eucatastrophe | Stardance
Devlog Title: EN.FO by @Eucatastrophe | Stardance
Devlogs:
Somehow we’re starting at 52 hours, probably more since I fiddled with it for a really long time while trying to learn microelectronics.. Anyway, since I joined this pretty late with this project, honestly the software part is mostly finished. I spent the last month testing the sensor drafting out figma layouts making the page navigation architecture in circuitpython making pages making a whole ass CAD model for printing an enclosure So this week I made some games! They use two buttons, since the main page navigation and UI of the environment sensor uses two buttons. It runs on a TFT LCD!!! But for ease of testing, I have a True/False flag in the code that runs it through pygame (adafruit_displayio_blinka library, I think) so I can simulate and test on the computer. Pretty neat
Software: fixed a bug about unit conversions, also took some pictures for the readme! Also check out this e-ink thingy, I was gonna use it for this project but it didn’t fit the use case very well. Dunno what I’ll use it for in the future. Code credits to blurPP/ssd1681_epaper_driver_micropython !! for the demo
my pcb got here from pcbway!!! soldered some components to the board. turns out I bought the wrong size of JST connector (by a couple millimeters…) next step is fixing that, and printing the enclosure with translucent HTPLA & PETG.
troubleshooting pcb didn’t work because of some mystery reason that I’m going to figure out later, but battery would only turn the backlight on, and the code wouldn’t turn the backlight on, even explicitly setting the pin to high. mysterious. ugh well anyway, I’m ordering another one because I also fixed a component so that it would be flush with the board...
|
1793109224.3450162
|
1793714024.3450162
|
|
44345
|
learnova-v2 by @ranveergill | Stardance
|
ranveergill
|
2
|
27.0
|
259
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T04:12:17Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "active recall is usually regraded as one of the best study methods of all time, and here you can practice it indefinitely! also, if you believe that your a better debater than ai/someone you know, you can challenge that here too! live at learnova.software :)", "repo": "https://github.com/ranveerlabs/learnova-v2", "demo": "https://www.learnova.software/"}, {"ship_num": 2, "ts": "2026-08-24T09:26:40Z", "hours": 19.0, "multiplier": 13.46, "payout": 259, "blessing": "neutral", "text": "Are you smarter than AI, your friends, or alone? Learnova is a study tool that only counts it as learned once you can say it back with no help. Multiple choice, then fill in the blank, then rebuild the explanation from pieces, then explain it cold, in your own words, with nothing to lean on. Most study tools stop testing you the moment you can recognize the right answer. This one starts there. The new part is who you’re up against. Debate Mode puts you against an AI opponent that argues the other side of whatever you just explained, four speeches, then a real judge call scores who actually held their ground. Or skip the AI and go against a friend instead, live, same format, one shared link, no accounts. The room exists the moment two people are in it and nothing else. Built this week: live 1v1 debate, real time, no database, a room is just two people and a shared connection. Rewrote how the grading talks to you, since a screen that quietly claims you contradicted a source that was never there does real damage to someone trying to learn. Killed the rating system twice over, first for hiding how different a study run and a debate round actually are, then for existing at all when neither needed to accumulate into a score. Rebuilt the whole color palette off the actual logo instead of picking colors that looked fine. None of it is graded on vibes. The AI opponent isn’t told to be nice or mean, it’s told to actually argue, and the judge is a second, separate model call that never sees what the first one said about itself. The score is out of ten, not a made up elo number a language model invented on the spot, because a model asked to do arithmetic will hand you a plausible number whether or not the arithmetic happened. Live at learnova.software. Open source. Built with Claude Code, over about five weeks of actual work, dates and all in the README because a repo that predates its own hackathon submission should say so plainly. Try it against yourself first. Then a friend. Then, if you’re feeling something, the AI.", "repo": "https://github.com/ranveerlabs/learnova-v2", "demo": "https://www.learnova.software/"}]...
|
[{"post_id": 77995, "ts": "202 [{"post_id": 77995, "ts": "2026-10-09T04:10:10Z", "hours": 3.2511, "text": "no idea how i have this unlogged time lol"}, {"post_id": 63383, "ts": "2026-09-07T05:35:06Z", "hours": 0.5103, "text": "trimmed it down and tried to remove anything that could be potentially flagged as ai. i kinda think it looks better now, anyways running out of devlog content haha"}, {"post_id": 61640, "ts": "2026-09-04T17:09:45Z", "hours": 0.5211, "text": "recent rejection said round mode doesnt work i think it might have just been in an api rate limit thing as i wasnt able to find anything proving thats actually true"}, {"post_id": 60528, "ts": "2026-09-02T22:30:58Z", "hours": 0.2811, "text": "idk why i keep getting rejected for ai use my last rejection literally said “emojis in readme convey ai use”, ive never had any emojis in the readme ever. anyways devlogging cuz i wanna claim my 16 mins of skimming docs"}, {"post_id": 60017, "ts": "2026-09-02T03:38:18Z", "hours": 0.3928, "text": "claiming 23 minutes"}, {"post_id": 59412, "ts": "2026-09-01T07:12:15Z", "hours": 3.0644, "text": "everything is a window now whole app reskinned. every screen sits in a title bar and a paper body on a dark desktop, hard borders, no rounded corner left anywhere, 71 of those came out the token swap broke the landing immediately. –ink went #101010, –ground went #2b2b2b, and the headline sits straight on the ground, so LEARNOVA was black on near-black. wrapping screens in a window fixed it. i would have shipped that on the arithmetic two bugs turned out to be the same shape. the notes sheet had tape, punch holes and a pencil at -right-7, all deliberately outside the container, which nobody notices until a screen has a border. and the timer was a conic-gradient ring with a bg-ground disc punched out to make its hole, so once bg-ground became the desktop it drew a dark circle on a white toolbar /feed shipped. no CI on this repo, check-runs returns total_count: 0, so the build half is the deployments api. unauthenticated github is 60 an hour per ip and that ip is the whole deployment, so the answer sits on globalThis for 60 seconds the palette went round the houses. the title bar started as the blue off the reference screenshot, the only colour in the app from outside its own set, then charcoal which read as the old learnova, then mint, then cream warmed toward the star’s gold. i said the blue was gone twice before it actually was, cuz the first pass only moved the title bar and –accent-wash is what paints ::selection worst near miss: computeRoute(“/debate/live/QBTR”, {code:“QBTR”}) came back unmasked and i had most of a paragraph written abt room codes leaking to analytics. turnValueToRegExp wasnt in scope, so it hit the function’s own catch and handed the input straight back. with the helper in scope its /debate/live/[code] still emulated chrome on one machine. analytics loads but has never reported, that only happens off a deploy"}, {"post_id": 53640, "ts": "2026-08-24T09:20:45Z", "hours": 5.425, "text": "live rooms, and the rating that stopped existing live 1v1 debate shipped. two people, a four character code, no accounts the real decision was what a room even is. serverless functions dont share memory between instances, so a Map tracking whether a room exists lies abt half the time. host creates it on one instance, the guest’s join lands on another, and the guest gets told the room doesnt exist while the host is sat inside it. so nothing tracks existence any more. presence on an ably channel is the room two bugs that only turned up by testing it properly only the host’s browser calls the judge, so the ballot came back written entirely from the host’s side. both players read the host’s strengths and the host’s weaknesses in the second person. the judge writes both ballots now and mirror swaps them for the guest and a room was ending when the first person left instead of the last, which threw out whoever had stayed this reverses the last log, twice both elo modules got deleted. one number going up and down implies a round mode run and a debate round measure the same thing, and they dont. it became a plain record instead then the record got deleted too. a debate ends on its verdict and nothing counts up across rounds results were showing +1,380 of 2,280, a division you have to do in your head at the exact moment you want one answer. its a score out of ten now. anything above ten written by an older build gets dropped rather than converted, cuz converting needs a denominator that was never stored cut suggestion chips, which turned “name a topic” into “pick one of these”. three motions that typewrote themselves onto the debate note for no functional reason. /proof, which was a third way into a landing page arguing there are two. thirteen exported symbols nothing was calling and the “get the ballot” button. the eighth speech lands and the round goes to the judge on its own palette rebuilt off the logo. the dark ground is sampled straight out of the asset, and every neutral swapped for the grey at the same relative luminance, so the contrast ratios that were already tuned still hold. type warmed to the logo’s cream and the accent became the star’s gold two prompt bugs the voice instructions were teaching third person inside their own example. and the ballot voice used bare letters A and B, which now and then came out as “a flaw in A’s hanging out point” worst near miss of the session: the case insensitive fix for the letter A also matched the article “a”, and shipped “with they cheaper alternative” thru a live judge call before anybody caught it separate one, numbered lists were coming out as a single run-on line. fixed, and property tested against 200 random chunkings copy the unavailable message used to claim nothing youd typed had been lost, which this app has no way of knowing bigger one. every ai call was failing with a raw HTTP 402 on a student’s screen, telling them to retry something that was never going to work, cuz the shared key had run out of balance. it says plainly that retrying wont fix it now readme the status section had gone stale before, so it got corrected twice this session first pass: a full eight speech live debate across two real browsers, 1.6s to join, each speech reaching the other window in 423 to 1039ms, and a 15.2 second wait before a disconnect gets noticed, written down as measured rather than rounded down. the judge was stubbed that pass, the key had no balance second pass, once the key refilled: two real judge calls, two genuinely different ballots, no stray letters still open: a judge call made from inside a live room and mirrored to the guest has only ever been checked against a stub"}, {"post_id": 48684, "ts": "2026-08-17T06:00:05Z", "hours": 5.7667, "text": "debate mode, and the source that wasnt there biggest thing this session is a second mode. round mode’s ladder tops out at saying something in your own words. debate wants something else out of you, holding a position for four speeches while an opponent tries to take it off you. own route, rather than bolting a sixth round on the end the rating is arithmetic the judge hands back a winner, a margin and ten dimension scores. the elo change gets worked out from those in integer maths the model never sees. ask a model to update an elo directly and you get a number that looks like arithmetic, and you cant catch it going wrong cuz every value it gives you is plausible two tabs and they never mix. open debate is judged on whether the argument holds up. tournament prep gets judged against a tournament bar, where a dropped argument is conceded and 60 means mediocre rather than good for a beginner. format is required and never defaulted, a Public Forum ballot handed to somebody practising Lincoln-Douglas is worse than no ballot cuz theyll act on it tritoflex somebody ran a topic-only session on Tritoflex, a spray-on rubber roofing compound, and got told over and over that it was torch-applied. he caught it cuz he installs the stuff. anybody studying something new wouldnt have ask the model cold abt an obscure term and it comes back with a protein, an alpha helix, signal transduction, implicated in cancer. none of it true, none of it reading as invented, and it never once says it doesnt know the worst bit wasnt a missing disclaimer. on a topic-only round 4 the marking screen printed “Contradicts the source” under a heading reading “The notes”, in a session where the student pasted nothing and the server blanks every citation on the way out anyway. so somebody who wrote a true sentence got told they contradicted evidence that had never existed. it says “the model disagrees” now the header badge went from “AI-generated” to “AI, unchecked”. they typed the topic in themselves so they already know who wrote it. what they have no way to know is that nothing checked it. “AI” stays in the label cuz it outlives the moment, screenshots get shared and come back a week later runs leave something behind they used to die with the tab. honest enough abt the plumbing. but retrieval practice does its work thru spacing, and meeting a concept once, failing to explain it and never seeing it again is the half that only feels like studying the session already worked out the thing worth keeping, a map of which ideas you can recognise but cant say. computed it, showed it once, threw it away on the walk to the results. one standing per concept sticks around now and the front door leads with whats still unsaid the tests that tested nothing my first two boundary assertions both passed against the exact bugs they were written for. one compared trimmed pieces, and trimming erases the evidence, so it cant tell a mid-word cut from a clean one. the other ran on a sample that had collapsed to a single chunk, so there was no join left in it to get wrong only found out bcuz i reverted the fix to watch them fail and they sat there green status the green “strong” band is verified, which closes the open item from the last log. seen in a browser by somebody who knew the answers, rather than by a driver answering option 1 every time readme the privacy section had gone from cautious to false. “nothing is stored beyond the current session” stopped being true the moment runs started leaving a record behind. thats twice a claim in there has drifted while the product moved under it, so anything that stores something now drags a readme check into the same commit still no accounts. standings are per device and clearing site data wipes them"}, {"post_id": 43181, "ts": "2026-08-08T09:29:30Z", "hours": 4.9756, "text": "deleting the score biggest change this session was taking things out. round mode had points, a running total and a combo multiplier. all three gone!!! the argument lowk fell out as soon as i said it aloud. the number at the top of the results was the run time, and the quickest way thru a round is to answer everything wrong immediately. so the headline figure was paying you for the one behaviour the app exists to catch. points and combos were the same information twice over, worked out from how fast and how often you were right, then shown next to how fast and how often you were right whats there instead weights every answer by how little help it had. warm up counts once, round 1 three times, round 2 five, round 3 six, and saying a concept in your own words in round 4 is worth 150. speed isnt in the formula anywhere and two tests hold that down: the same answers given at wildly different speeds come out identical, and fast-and-wrong lands below slow-and-right it reads +615 of 2,120. a bare number says nothing when a short session and a long one have different ceilings round 3 the chip tray used to have wrong words mixed in, so the round was a hunt for what to avoid. now it holds the sentence’s own pieces and nothing else grading stopped being fussy abt list order. seven tests, four of them cases that still have to fail: “sugar traps light” for “light traps sugar”, a scrambled non-list, a missing chip, a changed verb round 4 cant be skipped any more. there was a “stop here and see the results” button sitting right in front of the only moment in the session with nothing on screen to lean on, which is where bailing is most tempting the interface stopped hiding the header used to empty itself during a round, on the theory that chrome at the edges competes with retrieval. thats true for one person at a desk. round mode gets passed round a room with several people reading one screen, so it stays up now locking the page to the viewport turned up two bugs. one of them clipped the verdict off the bottom on a short window, and the verdict is the line that tells you the answer the run clock was a nice one. it measured wall clock from the start of the run, so it counted loading and the between-round screens, and it disagreed with the time the results reported. header said 3:20 against a reported 1:08. built off the same splits the results use now the cold open prompt trimmed it after noticing it asked the model to write explanation lines nobody reads. a/b against the real proxy over 10 topics took median completion tokens from 397 to 266, abt 33%, on the one call every student sits and waits for setTimeout i overrode it in the harness to freeze auto-advance long enough to screenshot a verdict, and it swallowed the harness’s own sleeps. script hung and i captured the wrong state. keep a reference to the real function before you replace it status the assembled round is verified, which closes the open item from the last log. full ladder played end to end, in dev and against a production build"}, {"post_id": 41804, "ts": "2026-08-06T07:19:45Z", "hours": 3.1092, "text": "round mode, inspo is hackclub mail!!!! you type a topic and start guessing. five rounds, each one takes away more of the help: two options, four options, a sentence with the word missing, the same sentence in pieces you have to put back together, then nothing on screen at all and you just say it. the ladder runs recognise -> produce bcuz thats the direction the research points, retrieval beats rereading and producing beats picking anyway that part was already built. today was worse the scores were fake correct answers kept turning up in the first slot. felt wrong, so i wrote a script that generates questions thru the real route and counts where the answer actually lands warm up came back 5 of 5 at index 0. round 1 was 7 / 5 / 3 / 0 which means every score this app has ever shown anybody was inflated. you could do well without reading the question it was my own prompt doing it. every JSON example i handed the model had “answerIndex”: 0 sitting in it, so of course it learned that. placement happens on the server after generation now, for every format with ordered options, and that includes the chip tray, which had been shuffling in the browser where nothing could measure it 197 questions across four topics. chi-square under the 5% critical value on every format repeated questions are gone too. the dedupe compares what a question asks for rather than how its worded, so a rephrasing doesnt sneak past. when a topic runs dry the generator gets told to ask abt distinctions and consequences instead of drawing from the same pool twice three things a diff would never show drove headless chrome over all 21 presentations, cuz none of this is visible in code constellation’s stars stacked into a column. tailwind emits .relative after .absolute, and Pick set relative, so it beat the absolute that was being passed in doors swung 72 degrees, which turns the correct answer edge on at the exact moment you need to read it and a burst balloon faded to 0.25 opacity. so a wrong answer got softened by becoming unreadable. that one still bugs me, the marking is the one part that has to stay honest and it was quietly making the bad news harder to look at audio the generated pad sounded like fan noise. gone. its “8bit Dungeon Level” by Kevin MacLeod now, CC BY 4.0, credited in the app and in the repo on by default, the feel is half of why the mode works, and theres a mute for anyone sitting in a library autoplay turned into its own afternoon. no browser lets a page make noise before you touch it, so the track asks to play on mount, the rejection arms a listener, and your first click or keypress is what starts it testing that turned up a bug i had already talked myself out of. react batches state, so if the first thing you touched was the mute button, the listener fired while the value still read on, started the track, then paused it a frame later. a blip of music played at exactly the person switching it off. set synchronously now Two things from the test rig mattered more than the thing it was testing. element.click() doesnt grant user activation in chrome, so my first run looked like the whole feature was broken and was just the harness lying to me. and running chrome with a permissive autoplay flag meant the gesture fallback never fired once, so i was measuring nothing at all not done nobody has played the full ladder in a real browser yet. the presentations render, thats genuinely all i know. tomorrow"}]...
|
Title: learnova-v2 by @ranveergill | Stardance
De Title: learnova-v2 by @ranveergill | Stardance
Devlogs:
round mode, inspo is hackclub mail!!!! you type a topic and start guessing. five rounds, each one takes away more of the help: two options, four options, a sentence with the word missing, the same sentence in pieces you have to put back together, then nothing on screen at all and you just say it. the ladder runs recognise -> produce bcuz thats the direction the research points, retrieval beats rereading and producing beats picking anyway that part was already built. today was worse the scores were fake correct answers kept turning up in the first slot. felt wrong, so i wrote a script that generates questions thru the real route and counts where the answer actually lands warm up came back 5 of 5 at index 0. round 1 was 7 / 5 / 3 / 0 which means every score this app has ever shown anybody was inflated. you could do well without reading the question it was my own prompt doing it. every JSON example i handed the model had “answerIndex”: 0 sitting in it, so of course it learned that. placement happens on the server after generation now, for every format with ordered options, and that includes the chip tray, which had been shuffling in the browser where nothing could measure it 197 questions across four topics. chi-square under the 5% critical value on every format repeated questions are gone too. the dedupe compares what a question asks for rather than how its worded, so a rephrasing doesnt sneak past. when a topic runs dry the generator gets told to ask abt distinctions and consequences instead of drawing from the same pool twice three things a diff would never show drove headless chrome over all 21 presentations, cuz none of this is visible in code constellation’s stars stacked into a column. tailwind emits .relative after .absolute, and Pick set relative, so it beat the absolute that was being passed in doors swung 72 degrees, which turns the correct answer edge on at the exact moment you need to read it and a burst balloon faded to 0.25 opacity. so a wrong answer got softened by becoming unreadable. that one still bugs me, the marking is the one part that has to stay honest and it was quietly making the bad news harder to look at audio the generated pad sounded like fan noise. gone. its “8bit Dungeon Level” by Kevin MacLeod now, CC BY 4.0, credited in the app and in the repo on by default, the feel is half of why the mode works, and theres a mute for anyone sitting in a library autoplay turned into its own afternoon. no browser lets a page make noise before you touch it, so the track asks to play on mount, the rejection arms a listener, and your first click or keypress is what starts it testing that turned up a bug i had already talked myself out of. react batches state, so if the first thing you touched was the mute button, the listener fired while the value still read on, started the track, then paused it a frame later. a blip of music played at exactly the person switching it off. set synchronously now Two things from the test rig mattered more than the thing it was testing. element.click() doesnt grant user activation in chrome, so my first run looked like the whole feature was broken and was just the harness lying to me. and running chrome with a permissive autoplay flag meant the gesture fallback never fired once, so i was measuring nothing at all not done nobody has played the full ladder in a real browser yet. the presentations render, thats genuinely all i know. tomorrow
deleting the score biggest change this session was taking things out. round mode had points, a running total and a combo multiplier. all three gone!!! the argument lowk fell out as soon as i said it aloud. the number at the top of the results was the run time, and the quickest way thru a round is to answer everything wrong immediately. so the headline figure was paying you for the one behaviour the app exists to catch. points and combos were the same information twice over, worked out from how fast and how often you were right, then shown next to how fast and how often you were right whats there instead weights every answer by how little help it had. warm up counts once, round 1 three times, round 2 five, round 3 six, and saying a concept in your own words in round 4 is worth 150. speed isnt in the formula anywhere and two tests hold that down: the same answers given at wildly different speeds come out identical, and fast-and-wrong lands below slow-and-right it reads +615 of 2,120. a bare number says nothing when a short session and a long one have different ceilings round 3 the chip tray used to have wrong words mixed in, so the round was a hunt for what to avoid. now it holds the sentence’s own pieces and nothing else grading stopped being fussy abt list order. seven tests, four of them cases that still have to fail: “sugar traps light” for “light traps sugar”, a scrambled non-list, a missing chip, a changed verb round 4 cant be skipped any more. there was a “stop here and see the results” button sitting right in front of the only moment in the session with nothing on screen to lean on, which is where bailing is most tempting the interface stopped hiding the header used to empty itself during a round, on the theory that chrome at the edges competes with retrieval. thats true for one person at a desk. round mode gets passed round a room with several people reading one screen, so it stays up now locking the page to the viewport turned up two bugs. one of them clipped the verdict off the bottom on a short window, and the verdict is the line that tells you the answer the run clock was a nice one. it measured wall clock from the start of the run, so it counted loading and the between-round screens, and it disagreed with the time the results reported. header said 3:20 against a reported 1:08. built off the same splits the results use now the cold open prompt trimmed it after noticing it asked the model to write explanation lines nobody reads. a/b against the real proxy over 10 topics took median completion tokens from 397 to 266, abt 33%, on the one call every student sits and waits for setTimeout i overrode it in the harness to freeze auto-advance long enough to screenshot a verdict, and it swallowed the harness’s own sleeps. script hung and i captured the wrong state. keep a reference to the real function before you replace it status the assembled round is verified, which closes the open item from the last log. full ladder played end to end, in dev and against a production build
debate mode, and the source that wasnt there biggest thing this session is a second mode. round mode’s ladder tops out at saying something in your own words. debate wants something else out of you, holding a position for four speeches while an opponent tries to take it off you. own route, rather than bolting a sixth round on the end the rating is arithmetic the judge hands back a winner, a margin and ten dimension scores. the elo change gets worked out from those in integer maths the model never sees. ask a model to update an elo directly and you get a number that looks like arithmetic, and you cant catch it going wrong cuz every value it gives you is plausible two tabs and they never mix. open debate is judged on whether the argument holds up. tournament prep gets judged against a tournament bar, where a dropped argument is conceded and 60 means mediocre rather than good for a beginner. format is required and never defaulted, a Public Forum ballot handed to somebody practising Lincoln-Douglas is worse than no ballot cuz theyll act on it tritoflex somebody ran a topic-only session on Tritoflex, a spray-on rubber roofing compound, and got told over and over that it was torch-applied. he caught it cuz he installs the stuff. anybody studying something new wouldnt have ask the model cold abt an obscure term and it comes back with a protein, an alpha helix, signal transduction, implicated in cancer. none of it true, none of it reading as invented, and it never once says it doesnt know the worst bit wasnt a missing disclaimer. on a topic-only round 4 the marking screen printed “Contradicts the source” under a heading reading “The notes”, in a session where the student pasted nothing and the server blanks every citation on the way out anyway. so somebody who wrote a true sentence got told they contradicted evidence that had never existed. it says “the model disagrees” now the header badge went from “AI-generated” to “AI, unchecked”. they typed the topic in themselves so they already know who wrote it. what they have no way to know is that nothing checked it. “AI” stays in the label cuz it outlives the moment, screenshots get shared and come back a week later runs leave something behind they used to die with the tab. honest enough abt the plumbing. but retrieval practice does its work thru spacing, and meeting a concept once, failing to explain it and never seeing it again is the half that only feels like studying the session already worked out the thing worth keeping, a map of which ideas you can recognise but cant say. computed it, showed it once, threw it away on the walk to the results. one standing per concept sticks around now and the front door leads with whats still unsaid the tests that tested nothing my first two boundary assertions both passed against the exact bugs they were written for. one compared trimmed pieces, and trimming erases the evidence, so it cant tell a mid-word cut from a clean one. the other ran on a sample that had collapsed to a single chunk, so there was no join left in it to get wrong only found out bcuz i reverted the fix to watch them fail and they sat there green status the green “strong” band is verified, which closes the open item from the last log. seen in a browser by somebody who knew the answers, rather than by a driver answering option 1 every time readme the privacy section had gone from cautious to false. “nothing is stored beyond the current session” stopped being true the moment runs started leaving a record behind. thats twice a claim in there has drifted while the product moved under it, so anything that stores something now drags a readme check into the same commit still no accounts. standings are per device and clearing site data wipes them
live rooms, and the rating that stopped existing live 1v1 debate shipped. two people, a four character code, no accounts the real decision was what a room even is. serverless functions dont share memory between instances, so a Map tracking whether a room exists lies abt half the time. host creates it on one instance, the guest’s join lands on another, and the guest gets told the room doesnt exist while the host is sat inside it. so nothing tracks existence any more. presence on an ably channel is the room two bugs that only turned up by testing it properly only the host’s browser calls the judge, so the ballot came back written entirely from the host’s side. both players read the host’s strengths and the host’s weaknesses in the second person. the judge writes both ballots now and mirror swaps them for the guest and a room was ending when the first person left instead of the last, which threw out whoever had stayed this reverses the last log, twice both elo modules got deleted. one number going up and down implies a round mode run and a debate round measure the same thing, and they dont. it became a plain record instead then the record got deleted too. a debate ends on its verdict and nothing counts up across rounds results were showing +1,380 of 2,280, a division you have to do in your head at the exact moment you want one answer. its a score out of ten now. anything above ten written by an older build gets dropped rather than converted, cuz converting needs a denominator that was never stored cut suggestion chips, which turned “name a topic” into “pick one of these”. three motions that typewrote themselves onto the debate note for no functional reason. /proof, which was a third way into a landing page arguing there are two. thirteen exported symbols nothing was calling and the “get the ballot” button. the eighth speech lands and the round goes to the judge on its own palette rebuilt off the logo. the dark ground is sampled straight out of the asset, and every neutral swapped for the grey at the same relative luminance, so the contrast ratios that were already tuned still hold. type warmed to the logo’s cream and the accent became the star’s gold two prompt bugs the voice instructions were teaching third person inside their own example. and the ballot voice used bare letters A and B, which now and then came out as “a flaw in A’s hanging out point” worst near miss of the session: the case insensitive fix for the letter A also matched the article “a”, and shipped “with they cheaper alternative” thru a live judge call before anybody caught it separate one, numbered lists were coming out as a single run-on line. fixed, and property tested against 200 random chunkings copy the unavailable message used to claim nothing youd typed had been lost, which this app has no way of knowing bigger one. every ai call was failing with a raw HTTP 402 on a student’s screen, telling them to retry something that was never going to work, cuz the shared key had run out of balance. it says plainly that retrying wont fix it now readme the status section had gone stale before, so it got corrected twice this session first pass: a full eight speech live debate across two real browsers, 1.6s to join, each speech reaching the other window in 423 to 1039ms, and a 15.2 second wait before a disconnect gets noticed, written down as measured rather than rounded down. the judge was stubbed that pass, the key had no balance second pass, once the key refilled: two real judge calls, two genuinely different ballots, no stray letters still open: a judge call made from inside a live room and mirrored to the guest has only ever been checked against a stub
everything is a window now whole app reskinned. every screen sits in a title bar and a paper body on a dark desktop, hard borders, no rounded corner left anywhere, 71 of those came out the token swap broke the landing immediately. –ink went #101010, –ground went #2b2b2b, and the headline sits straight on the ground, so LEARNOVA was black on near-black. wrapping screens in a window fixed it. i would have shipped that on the arithmetic two bugs turned out to be the same shape. the notes sheet had tape, punch holes and a pencil at -right-7, all deliberately outside the container, which nobody notices until a screen has a border. and the timer was a conic-gradient ring with a bg-ground disc punched out to make its hole, so once bg-ground became the desktop it drew a dark circle on a white toolbar /feed shipped. no CI on this repo, check-runs returns total_count: 0, so the build half is the deployments api. unauthenticated github is 60 an hour per ip and that ip is the whole deployment, so the answer sits on globalThis for 60 seconds the palette went round the houses. the title bar started as the blue off the reference screenshot, the only colour in the app from outside its own set, then charcoal which read as the old learnova, then mint, then cream warmed toward the star’s gold. i said the blue was gone twice before it actually was, cuz the first pass only moved the title bar and –accent-wash is what paints ::selection worst near miss: computeRoute(“/debate/live/QBTR”, {code:“QBTR”}) came back unmasked and i had most of a paragraph written abt room codes leaking to analytics. turnValueToRegExp wasnt in scope, so it hit the function’s own catch and handed the input straight back. with the helper in scope its /debate/live/[code] still emulated chrome on one machine. analytics loads but has never reported, that only happens off a deploy
claiming 23 minutes
idk why i keep getting rejected for ai use my last rejection literally said “emojis in readme convey ai use”, ive never had any emojis in the readme ever. anyways devlogging cuz i wanna claim my 16 mins of skimming docs
recent rejection said round mode doesnt work i think it might have just been in an api rate limit thing as i wasnt able to find anything proving thats actually true
trimmed it down and tried to remove anything that could be potentially flagged as ai. i kinda think it looks better now, anyways running out of devlog content haha
no idea how i have this unlogged time lol
Ships:
Are you smarter than AI, your friends, or alone? Learnova is a study tool that only counts it as learned once you can say it back with no help. Multiple choice, then fill in the blank, then rebuild the explanation from pieces, then explain it cold, in your own words, with nothing to lean on. Most study tools stop testing you the moment you can recognize the right answer. This one starts there. The new part is who you’re up against. Debate Mode puts you against an AI opponent that argues the other side of whatever you just explained, four speeches, then a real judge call scores who actually held their ground. Or skip the AI and go against a friend instead, live, same format, one shared link, no accounts. The room exists the moment two people are in it and nothing else. Built this week: live 1v1 debate, real time, no database, a room is just two people and a shared connection. Rewrote how the grading talks to you, since a screen that quietly claims you contradicted a source that was never there does real damage to someone trying to learn. Killed the rating system twice over, first for hiding how different a study run and a debate round actually are, then for existing at all when neither needed to accumulate into a score. Rebuilt the whole color palette off the actual logo instead of picking colors that looked fine. None of it is graded on vibes. The AI opponent isn’t told to be nice or mean, it’s told to actually argue, and the judge is a second, separate model call that never sees what the first one said about itself. The score is out of ten, not a made up elo number a language model invented on the spot, because a model asked to do arithmetic will hand you a plausible number whether or not the arithmetic happened. Live at learnova.software. Open source. Built with Claude Code, over about five weeks of actual work, dates and all in the README because a repo that predates its own hackathon submission should say so plainly. Try it against yourself first. Then a friend. Then, if you’re feeling something, the AI.
active recall is usually regraded as one of the best study methods of all time, and here you can practice it indefinitely! also, if you believe that your a better debater than ai/someone you know, you can challenge that here too! live at learnova.software :)...
|
1793083671.264793
|
1793170071.264793
|
|
68536
|
Pancake :3 by @pancakse | Stardance
|
pancakse
|
0
|
0.82
|
0
|
[]
|
[{"post_id": 78007, "ts": "202 [{"post_id": 78007, "ts": "2026-10-09T05:09:04Z", "hours": 0.8186, "text": "so after a bunch of bugs and troubleshooting we managed to get a ball to show up on the screen kinda basic rn lol"}]...
|
Title: Pancake :3 by @pancakse | Stardance
Devlog Title: Pancake :3 by @pancakse | Stardance
Devlogs:
so after a bunch of bugs and troubleshooting we managed to get a ball to show up on the screen kinda basic rn lol...
|
1793123365.1744494
|
1793728165.1744494
|
|
22772
|
Universal Existence by @JustCoding8790 | Stardance
|
JustCoding8790
|
1
|
61.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T05:36:44Z", "hours": 61.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Universal Existence is a 2d platformer with many mechanics that will be explored more in-depth and combined with other mechanics to make many interesting levels. Platform through 12 levels of the UPC (Universal Platforming Course) in the game’s demo. You can also get tips from Domainus, the creator of the universe and the manager of the UPC (Universal Platforming Course), or get yelled at for dying to a stationary triangle for the 8th time. There’s four unique difficulties, with your difficulty being adjusted to try and match your skill level. I found it challenging to make certain elements of the game like the settings menu (like the speedrun timer) and a couple of enemies (like the mushroom, which was hard to figure out when the player jumped on top of it and when it killed the player [I ended up having to adjust hitboxes several times]). I’m pretty proud of how I managed to make some pretty fun levels, such as level 6 (for providing just enough space for it to be possible, but still somewhat challenging) and level 11 (which involves knowing when to use each blaster and even has a cool level skip if you discover it [hint: one of Domainus’s voicelines reveals part of it]). Where to Play If you have a windows pc, you can download the game from the itch.io link below, if you want an executable. Just make sure to unzip the ZIP folder and open the .exe file (not the .console or .pck). Otherwise, you can play the game on any computer by clicking “Run Game” on itch.io. Keep in mind the game can be hard, especially during levels 9-12. Good luck! Also, if you have a controller, feel free to test it to see if it works with the game. Currently, the XBOX controller is partially supported (controllers cannot navigate the pause menu, but you can open it up by pressing Esc on keyboard or Menu button for Xbox controller). If you don’t want to play the game, here’s a 100% playthrough with all apples and secret melons collected. https://youtu.be/cXItOPMkMOI", "repo": "https://github.com/JustCoding8790/Universal-Existence", "demo": "https://justcoding8790.itch.io/universal-existence"}]...
|
[{"post_id": 78009, "ts": "202 [{"post_id": 78009, "ts": "2026-10-09T05:33:43Z", "hours": 9.9939, "text": "Devlog #10: Music, Rebalancing, and “Voicelines” This will most likely be the final devlog. At least for Stardance. There’s so much more that will happen after Stardance ends (more info later). Playtester Feedback and Rebalancing I’ve gotten feedback from multiple playtesters (all of them are listed in the credits), and they’ve all said that there’s a big difficulty spike between levels 8 and 9 (or 10), so I had to make the levels easier by removing enemies and spikes, along with nerfing enemy hp, bullet fire rates, and bullet speed. I also had to adjust level 5 due to how small the bottom section is, which gives you barely any room to avoid the snails. For any playtesters who are reading this right now, thanks for playtesting and I hope you recover from your plant PTSD (from your 20-50+ deaths). “Voiceline” System and Adaptive Difficulty If only the dialogue was actually voiced. I don’t have anyone to voice act for me right now. But anyways, this voiceline system reacts to every level you enter and every death. It’ll either give tips on how to deal with whatever you’re facing or simply mock you. Here’s a couple of sample lines: “…And you’re having trouble with a stationary triangle in the ground. I repeat… A STATIONARY TRIANGLE IN THE GROUND!” (8th death to spikes) “Looking for an easy way to counter snails? It’s called ‘double-jumping’.” (3rd death to snails) “Outplanted by the plants…” (7th death to plants) “Those bees sure do sting… But they won’t last long when you ‘sting’ them back.” (1st death to bees) It will also change your difficulty for you when you’ve died too few or too many times on one level. I’m planning on giving the commentator a name. Maybe Domainus? We’ll find out later if it becomes canon or not. New Music Licensing Agreement Remember how in a previous devlog, I found out I couldn’t use Rush’s music for my game due to legal issues? That’s been fixed now, as both of us along with our parents signed an agreement. It’s not formal or anything, but from what I’ve researched, it should do the trick for now. After everyone signed the agreement, I added some new tracks to the BGM player: Beehold the Bullets (boss battle theme) UPC Test: PASS (boss victory theme) Void Hub (plays after beating the demo) Note: The gameplay footage below does not have audio, but the actual game will. Minor Details and Changes Last devlog, last changes… Added credits with playtesters, attribution, assets, and composers Updated README (still needs a slight update, will finish before I ship) Fixed audio sliders in settings menu starting at wrong positions Added “Reset All Settings” Added speedrun timer for Speedrun Mode in settings Stopped leftover bullets from killing you Started off player on Ultra Hard instead of Extreme on game startup Future of Universal Existence I plan to post future devlogs in a Discord server for anyone that’s interested. You’ll also be able to sign up to playtest future versions of the game and give feedback, along with participating in server events. You can join here: https://discord.gg/Ztc37dcu9 This link will expire soon, which is why I’ll paste another one later in the comments. Hope to see you around!"}, {"post_id": 62673, "ts": "2026-09-06T04:52:57Z", "hours": 6.9667, "text": "Devlog #9: The Last Challenge and Stat Board We’re nearing the end of this part of the journey. I can’t believe this is only the demo part of the entire game that I’m making. Demo Boss Fight This is the last challenge of the game. Like I said last devlog, I don’t want to spoil the boss fight, and I don’t see any way to censor text for Stardance. So here’s a Google Doc for those who’d rather just see the spoilers rather than find out by playing the game’s demo. I’m pretty happy with the boss fight as it is. I don’t believe I’ll need to rework it (except for balancing purposes). I did die a lot on the boss fight, though (19 deaths). Stat/Death Board At the end of the demo, I decided to let the player see their stats on the board, including the amount of time it took for them to finish the game, how many times they died to specific causes, etc. I did end up having to globally track every death and the cause of each death using an array (if you don’t know what that is, think of a buffet where you get to decide how much of each of the foods are in each area). Copyright Problems I recently learned more about copyright policy and it turns out I cannot use music my friend Rush made, even though he gave verbal permission. We appear to need some sort of agreement as well. But I don’t want to get too deep into the legal stuff, so I’m going to have to make my own track to replace the current one soon. Honestly, I might just attempt to use a CC0 track since I’m running out of time currently. Because of this issue, I muted the audio of the gameplay footage below too. Minor Details and Changes Not as much going around this week, but nevertheless, here’s most of the small changes: Added apples to all difficulty variants of levels 1-9 and 1-11 Added disappearing animation for the player that plays after the death animation (overall looks better in my opinion) Upcoming Additions Of course, there’s work that still needs to be done. First of all, I haven’t finished the settings menu yet (if you remember from devlog 6). There’s also some tracks in the game I need to make (for the boss fight, the area ambience, etc) And most importantly, we can’t forget about the commentary that occurs when you die to specific traps/enemies (which I’ve already started). I’m hoping I can release this game by late-September at the latest, along with working on some Stardance missions. I’d like to maximize my coding time before Stardance ends, despite the fact I’m busy with all the homework I’m getting. :("}, {"post_id": 53393, "ts": "2026-08-23T22:27:54Z", "hours": 6.8183, "text": "Devlog #8: Giving Everyone Guns and Bullets (Part 2) Note: See Part 1 for context if you haven’t already. I think I’ll be done with guns for a while. After completing the first area, you most likely won’t see them again until one of the last levels of the second area (maybe not even until the next boss fight). Also, after rebalancing the harder difficulties to actually serve a good challenge, playtesting my own game took 2x longer than I usually would, as I’d keep dying to certain enemies or traps. But this game isn’t about breezing through easy levels, so… Guns for Plants and Bees These enemies are simple. Plants stay in one position, firing at random intervals. Their firerate is random and slower (average of 3.75/2.75/2/1.25 seconds), but their health is much higher compared to a Trunkwalker ( 65/75/90/100 health). Bees move around in the air, firing stinger bullets downwards. They fire often (average of 2.5/2/1.5/1 second[s]), but their health is decreased to make up for it ( 12/15/16/20 health). Since these bees will be above the player, I made an auto-firing gun that fires upwards. I decided that manual guns will instead show up in the next area after the boss. (That means the manual guns won’t be in the demo. Sorry…) These enemies show up in levels 1-10 and 1-11. Minor Details and Changes I spent a lot of time on major changes this week, but that doesn’t mean I didn’t spend time on minor problems. Here’s the small changes I made: Added Hard, Extra Hard, and Ultra Hard difficulty variants to level 1-9 Trunkwalker firing interval is more random instead of being fixed (to me, it just looks weird when they all attack at the same time) Rebalanced easier levels so they actually can somewhat serve a good challenge Resized hitbox of Mushrooms (so player can now properly die to a Mushroom when not bouncing on top of them) Moved melon in level 1-5 (for Ultra Hard and Extreme variants) to a harder-to-reach location (as it was too easy to reach the melon previously) You might think rebalancing levels would be a major change, but I honestly didn’t change much with each level. I mainly just moved traps/enemies around. Upcoming Additions Most of the time next week will be spent creating the first area’s boss fight. I won’t tell you what I plan to make for the boss fight, though. That would spoil everything. If you do want to view the spoilers, though I’ll provide a link to a Google Doc on the next devlog detailing everything about the upcoming boss fight. I suspect this boss will take more than 6 hours to make, so I’ll split it all into two devlogs (and also two weeks). Not much to say otherwise, though. Enjoy my (pretty horrible) gameplay below!"}, {"post_id": 45441, "ts": "2026-08-11T21:49:06Z", "hours": 5.0842, "text": "Devlog #7: Giving Everyone Guns and Bullets (Part 1) Honestly, I was intending to make something similar to a space shooter, where enemies come in from off-screen, but I’m still happy with what I ended up making. This devlog is a bit longer than usual, so feel free to just simply look at the video for explanation if you’re running short on time. Guns for the Player Starting with the player, remember how I wanted to make a mechanic that doesn’t just involve enemies? I ended up coming up with giving the player a gun (or, well, a blaster). I planned out the different types of guns the player will be able to equip. There will be two types of guns: auto-firing, which will automatically fire bullets every 0.2 seconds, and manual, which will only fire when the player presses a certain button, but it deals more damage per bullet (there’s a longer cooldown in between bullets, though, so better be precise). There are also three variants for each type that determine which direction the gun can fire: upwards, downwards, or horizontally. I may plan out more variants later. (But of course, this game isn’t all about guns, is it?) I implemented the auto-firing horizontal gun at the time of writing this devlog. And for the first time ever, I finally decided to make my own art instead of just using CC0 assets from Pixel Adventure. (Wild, right?) Not the best, but it’ll work for now. I don’t want to spend too much time on all the minor details to the point where I barely get anything done (like the settings menu, cough cough [refer to devlog 6 if you’re new here]). Guns for the Enemies It would be unfair if the player just simply had a significant advantage over the enemies, so I also gave guns to the enemies. Well, only a certain type of enemy, that is… Meet the Trunkwalker, a walking, square-like tree trunk part that fires bullets through its nose (aka the remains of a sliced tree branch). It can only fire a bullet horizontally every 3/2/1.5/1 second(s) depending on the difficulty ( Hard/Extra Hard/Ultra Hard/Extreme ). They also move around until they hit a wall, just like snails and mushrooms. I do find myself dying more to when they stop to shoot bullets rather than the bullets themselves. A bit concerning, but I find that it adds to the difficulty well, so… Basic Damage and Health System Anyways, there’s a reason why the player has a gun in the first place. To defeat enemies, of course. I gave the Trunkwalker a set amount of 25/30/35/40 health based on the difficulty. A bullet from an auto-firing gun deals 4 damage, so each Trunkwalker can be defeated after taking 7/8/9/10 hits. (There, I did the math for you. Happy?) Minor Details and Changes There’s still plenty to go around here. Here’s the rest of the changes: Reorganized folder structure, organized assets and scenes into subfolders Added a sound effect for when the enemy get hit by a bullet (made by tapping my laptop) Added extra frames to the mushroom’s death animation (they disappear in a similar fashion to collected fruits) Upcoming Additions I’ll have to continue all of this work in part 2. In other words, I’ll also have to make the other variants of guns, along with some more mechanics/enemies and levels. I also feel like the levels are too short and easy and don’t provide a proper challenge, mainly for the harder difficulties, so I might consider rebalancing the levels. Things are looking much better than last time. School is starting soon, however, so I may start to slow down on progress. I still think I can get the game’s demo done before Stardance ends, though. Until next time, jumpers! (And yes, I just recently came up with that name. I don’t know what else to call players without calling them “players”.)"}, {"post_id": 38618, "ts": "2026-08-01T03:24:24Z", "hours": 6.4911, "text": "Devlog #6: Underestimating the Work of a Settings Menu (for a beginner, at least) Yep, I apparently had a lot more to learn about UI, audio, and controller settings. I eventually decided to stop working on the settings menu. If there’s one thing I can take away from this experience, it’s that I should probably not focus too much on a settings menu over the actual gameplay. Audio Settings I filled the left side of the settings menu with sliders for controlling the audio volume. I used audio buses in Godot in order to separate audio into 3 main categories: Music, Sound, and Voice. Of course, there is nothing for the voice audio bus, since I haven’t recorded any voice lines yet. (I’ll get to that later!) Controller Deadzones and Assist Settings The right side contains buttons that open submenus. Players can now control the game speed and controller joystick deadzones, along with being able to practice a level as much as they want with Training Mode. I decided to save controller sensitivity, key rebinding, credits, and language translating for later, due to how much time it took to figure out what should happen with submenus in multiple cases. I know, doesn’t seem like it should take that much time, but I have to consider multiple cases in which the settings UI will stay visible and block the actual pause menu, which occurs when the player resumes and pauses again without exiting out of the UI. There’s also another thing I have to worry about… HSlider Bug When I reopen a menu after exiting out of it, the sliders seems to reset back to where it originally was when the game started. Thankfully, this issue doesn’t affect the actual gameplay, but still, it’s a visual bug that might confuse players. I managed to fix this with the audio sliders, but I haven’t done the same with the controller settings and assist settings. I’ll try to patch it next week. Minor Details and Changes There’s not much this week, sorry. (I regret spending so much time on the settings menu…) Upcoming Additions I want to start focusing on making more levels soon, but I don’t want to reuse the same mechanics from the levels I already made. I already made multiple enemies, so I want to start making a mechanic that involves more of the player, like a new action that can be enabled upon collecting something in a level. I’ll also have to come up with ideas for the area’s bossfight (yes, there are bosses in this game), since I feel like the area is almost complete. As for the settings menu, I’ll pick it back up in about a month. A not-so-productive week, I know. Hopefully I can do better."}, {"post_id": 33177, "ts": "2026-07-22T20:59:30Z", "hours": 4.6356, "text": "Devlog #5: New Mushroom Enemy + More Level Variants New Mushroom Enemy Yep, a new enemy. I had scrapped a few levels recently, and to replace them, I didn’t want to make another similar level. Mushrooms move in a certain direction until they hit a wall, causing them to move the other way and repeat this cycle. Unlike snails, though, these enemies can be defeated by jumping on top of them, giving you an extra jump boost (just like those Goombas from Super Mario Bros). Now I could’ve just brought back a scrapped level, slapped them in, and called it a day. But that seems too boring. So I instead thought about the new mechanic of being able to defeat the enemy. And that’s how I came up with using mushrooms over a spike pit to bounce your way to the end of a level. I added variants for each difficulty as well, adding more mushrooms on lower difficulties. Speaking of variants… Finished Level Variants I finished all level variants for each difficulty. I mainly did this by adjusting enemy speed and adding/removing spikes based on the difficulty. Of course, I’m going to have to do this a lot more often. The demo is going to be longer than 8 levels, and the demo is nothing compared to what I plan to release in the full game. Minor Details and Changes Added new level template Shrunk player hitbox Played and looped a track as a BGM player Imported image assets for upcoming enemies Reimported music assets New “Sign Guy” track Upcoming Additions This time, I will make the settings menu for sure, along with making another enemy for the next few levels. I plan to take no longer than 4 hours. Until then, see you soon!"}, {"post_id": 29831, "ts": "2026-07-16T23:37:59Z", "hours": 6.0467, "text": "Devlog #4: New Difficulties + UI and OST Changes (Part 1) Things are starting to look polished. I can probably get the game’s demo done by around late July. The deadline isn’t 100% confirmed, though. Four Brand New Difficulties I made four new difficulties. These will adjust how much room for error you have and the number of threats in each level. Hard : For those who have no experience and just want to have fun. No shame if this applies to you. Extra Hard : For rusty jumpers seeking to improve their skills. A casual, balanced experience. Ultra Hard : For all intermediate jumpers looking for a challenge. Serves as a fairly difficult journey. Extreme : For the most skilled jumpers of the universe. Not for the faint of heart. As you can see, there are only hard difficulties in this game. This is to remind you that even on the lower difficulties, it can be a hard game. You might not think so at first, but as more mechanics are introduced, you may find yourself getting stuck on certain levels. As shown in the recording below, for the first few levels, since they don’t contain much except platforms and fruits, I couldn’t do much except add and extend platforms for lower difficulties. Pause Menu In order for difficulties to be selected, I made a pause menu. I customized the UI and added multiple animations. I did end up having to redo the animations, however, as I not only realized there was UI overlap between the main pause menu and the difficulty description, but I also received a lot of warnings involving something called AnimationMixer, and I couldn’t find a way to get rid of them until I redid everything. I also linked the difficulty chosen in the menu to the game and added a small description for each of the 4 difficulties. New OST Yep, there’s music being composed for the game now. Rush (from Discord), a friend of mine, is helping out on creating good music for my game. I haven’t coded it so it plays in-game yet, but I’ve imported the assets in. I will upload the OST to a youtube channel after I make enough songs so you can listen to it whenever you want. (Keep in mind listening to the OST or checking the title may lead to spoiling the game demo.) Minor Changes I organized assets into more folders, but this later led me to encountering some issues involving paths to certain nodes not existing, which caused errors to appear. The issue mainly involved sound nodes like the jump sound and the death sound. Eventually, I reuploaded the sounds to each AudioStreamPlayer2D node. Additionally, the first level’s dialogue font (level 1-1) has now been changed to match with the other levels. Upcoming Additions Within the next 5 hours I spend on the game, I’m hoping to add variants for each of the remaining levels for each difficulty, along with making a background music player. I also need to add a settings menu for the player and fix multiple issues like the floating player bug (seen at the end of the recording below)."}, {"post_id": 27980, "ts": "2026-07-13T22:52:22Z", "hours": 5.9472, "text": "Devlog #3: Movement and Level Additions I’m back on Universal Existence now. I’ve spent most of the time so far on tweaking my movement system. It may seem unreasonable for me to do such at first, but believe me, there’s some important additions I needed to make, such as: Adding jump buffering and coyote time Adjusting speed, jump power, and gravity based on player size (to make bigger levels and as the framework for some size-changing mechanics) Boosting jump power for smaller sizes (since the player’s jump felt too heavy when small; you probably will especially understand this if you played other platformer games) The movement system changes took a lot longer than I expected, as I had to go through all 8 levels every time I made a change to make sure it was possible to progress. I’ve also added spikes to my game, and I created a few new levels containing them, along with remastering the old levels to make them harder. Here’s a list of other changes: Changed font for better readability Set strech mode to viewport so the game will adjust its size based on the current window size The recording below shows gameplay footage of the harder levels (collecting all melons and almost every apple). Don’t worry, I’m planning on adding a settings menu to allow you to change the difficulty to your liking, which will change the level to another variant."}, {"post_id": 16475, "ts": "2026-06-26T20:24:35Z", "hours": 5.4847, "text": "Devlog #2: More Levels and Mechanics Sorry for releasing a devlog so late. My internet went down as I was writing this. I added 5 more levels, with working exits leading to the next level, along with panels showing text that the antagonist of this game says (might turn the dialogue into voice lines). I also added a melon collectible, which is worth more points, but slightly harder to reach. Everything is going well so far. Down below is a video of me playing through the first few levels (and showing some secrets). Also, I ended up simply using the name Universal Existence instead of Simulation Overgrowth. Anyways, you might’ve noticed that I have another ongoing project. Don’t worry. I’ll still work on this game. For now, though, I want to improve my Godot skills to be able to make not only the mechanics I want to include in Universal Existence, but also more complex games in the future."}, {"post_id": 14030, "ts": "2026-06-23T00:26:55Z", "hours": 3.2917, "text": "Devlog #1: Learning about Godot + Double-Jumping and Air-Jumping I watched a series of tutorials on making a platformer in Godot and followed along, but I eventually decided to also implement my own features too. I ended up making a double-jump mechanic. In the process, I also accidentally made an air-jump mechanic, where I can also jump while falling. I hope to expand my level to include more content in the next 3 hours of work. Also, fun fact here, when I started this project, I originally named it Universal Existence, but I ended up changing the name to Simulation Overgrowth (and I might even change it again later on). I soon realized, though, that if I renamed the folder, Godot would prevent me from opening the game, as it doesn’t recognize the renamed folder as the actual game folder. Oops… (I’ll find a way to fix it in the next 3 hours as well.) Resources Used While Developing Free assets I used (CC0 license): https://pixelfrog-assets.itch.io/pixel-adventure-1 First tutorial in the series I watched: https://youtu.be/oED12Mo2018?si=6y_8LNeydut2Vyyr"}]...
|
Title: Universal Existence by @JustCoding8790 | St Title: Universal Existence by @JustCoding8790 | Stardance
Devlogs:
Devlog #1: Learning about Godot + Double-Jumping and Air-Jumping I watched a series of tutorials on making a platformer in Godot and followed along, but I eventually decided to also implement my own features too. I ended up making a double-jump mechanic. In the process, I also accidentally made an air-jump mechanic, where I can also jump while falling. I hope to expand my level to include more content in the next 3 hours of work. Also, fun fact here, when I started this project, I originally named it Universal Existence, but I ended up changing the name to Simulation Overgrowth (and I might even change it again later on). I soon realized, though, that if I renamed the folder, Godot would prevent me from opening the game, as it doesn’t recognize the renamed folder as the actual game folder. Oops… (I’ll find a way to fix it in the next 3 hours as well.) Resources Used While Developing Free assets I used (CC0 license): https://pixelfrog-assets.itch.io/pixel-adventure-1 First tutorial in the series I watched: https://youtu.be/oED12Mo2018?si=6y_8LNeydut2Vyyr
Devlog #2: More Levels and Mechanics Sorry for releasing a devlog so late. My internet went down as I was writing this. I added 5 more levels, with working exits leading to the next level, along with panels showing text that the antagonist of this game says (might turn the dialogue into voice lines). I also added a melon collectible, which is worth more points, but slightly harder to reach. Everything is going well so far. Down below is a video of me playing through the first few levels (and showing some secrets). Also, I ended up simply using the name Universal Existence instead of Simulation Overgrowth. Anyways, you might’ve noticed that I have another ongoing project. Don’t worry. I’ll still work on this game. For now, though, I want to improve my Godot skills to be able to make not only the mechanics I want to include in Universal Existence, but also more complex games in the future.
Devlog #3: Movement and Level Additions I’m back on Universal Existence now. I’ve spent most of the time so far on tweaking my movement system. It may seem unreasonable for me to do such at first, but believe me, there’s some important additions I needed to make, such as: Adding jump buffering and coyote time Adjusting speed, jump power, and gravity based on player size (to make bigger levels and as the framework for some size-changing mechanics) Boosting jump power for smaller sizes (since the player’s jump felt too heavy when small; you probably will especially understand this if you played other platformer games) The movement system changes took a lot longer than I expected, as I had to go through all 8 levels every time I made a change to make sure it was possible to progress. I’ve also added spikes to my game, and I created a few new levels containing them, along with remastering the old levels to make them harder. Here’s a list of other changes: Changed font for better readability Set strech mode to viewport so the game will adjust its size based on the current window size The recording below shows gameplay footage of the harder levels (collecting all melons and almost every apple). Don’t worry, I’m planning on adding a settings menu to allow you to change the difficulty to your liking, which will change the level to another variant.
Devlog #4: New Difficulties + UI and OST Changes (Part 1) Things are starting to look polished. I can probably get the game’s demo done by around late July. The deadline isn’t 100% confirmed, though. Four Brand New Difficulties I made four new difficulties. These will adjust how much room for error you have and the number of threats in each level. Hard : For those who have no experience and just want to have fun. No shame if this applies to you. Extra Hard : For rusty jumpers seeking to improve their skills. A casual, balanced experience. Ultra Hard : For all intermediate jumpers looking for a challenge. Serves as a fairly difficult journey. Extreme : For the most skilled jumpers of the universe. Not for the faint of heart. As you can see, there are only hard difficulties in this game. This is to remind you that even on the lower difficulties, it can be a hard game. You might not think so at first, but as more mechanics are introduced, you may find yourself getting stuck on certain levels. As shown in the recording below, for the first few levels, since they don’t contain much except platforms and fruits, I couldn’t do much except add and extend platforms for lower difficulties. Pause Menu In order for difficulties to be selected, I made a pause menu. I customized the UI and added multiple animations. I did end up having to redo the animations, however, as I not only realized there was UI overlap between the main pause menu and the difficulty description, but I also received a lot of warnings involving something called AnimationMixer, and I couldn’t find a way to get rid of them until I redid everything. I also linked the difficulty chosen in the menu to the game and added a small description for each of the 4 difficulties. New OST Yep, there’s music being composed for the game now. Rush (from Discord), a friend of mine, is helping out on creating good music for my game. I haven’t coded it so it plays in-game yet, but I’ve imported the assets in. I will upload the OST to a youtube channel after I make enough songs so you can listen to it whenever you want. (Keep in mind listening to the OST or checking the title may lead to spoiling the game demo.) Minor Changes I organized assets into more folders, but this later led me to encountering some issues involving paths to certain nodes not existing, which caused errors to appear. The issue mainly involved sound nodes like the jump sound and the death sound. Eventually, I reuploaded the sounds to each AudioStreamPlayer2D node. Additionally, the first level’s dialogue font (level 1-1) has now been changed to match with the other levels. Upcoming Additions Within the next 5 hours I spend on the game, I’m hoping to add variants for each of the remaining levels for each difficulty, along with making a background music player. I also need to add a settings menu for the player and fix multiple issues like the floating player bug (seen at the end of the recording below).
Devlog #5: New Mushroom Enemy + More Level Variants New Mushroom Enemy Yep, a new enemy. I had scrapped a few levels recently, and to replace them, I didn’t want to make another similar level. Mushrooms move in a certain direction until they hit a wall, causing them to move the other way and repeat this cycle. Unlike snails, though, these enemies can be defeated by jumping on top of them, giving you an extra jump boost (just like those Goombas from Super Mario Bros). Now I could’ve just brought back a scrapped level, slapped them in, and called it a day. But that seems too boring. So I instead thought about the new mechanic of being able to defeat the enemy. And that’s how I came up with using mushrooms over a spike pit to bounce your way to the end of a level. I added variants for each difficulty as well, adding more mushrooms on lower difficulties. Speaking of variants… Finished Level Variants I finished all level variants for each difficulty. I mainly did this by adjusting enemy speed and adding/removing spikes based on the difficulty. Of course, I’m going to have to do this a lot more often. The demo is going to be longer than 8 levels, and the demo is nothing compared to what I plan to release in the full game. Minor Details and Changes Added new level template Shrunk player hitbox Played and looped a track as a BGM player Imported image assets for upcoming enemies Reimported music assets New “Sign Guy” track Upcoming Additions This time, I will make the settings menu for sure, along with making another enemy for the next few levels. I plan to take no longer than 4 hours. Until then, see you soon!
Devlog #6: Underestimating the Work of a Settings Menu (for a beginner, at least) Yep, I apparently had a lot more to learn about UI, audio, and controller settings. I eventually decided to stop working on the settings menu. If there’s one thing I can take away from this experience, it’s that I should probably not focus too much on a settings menu over the actual gameplay. Audio Settings I filled the left side of the settings menu with sliders for controlling the audio volume. I used audio buses in Godot in order to separate audio into 3 main categories: Music, Sound, and Voice. Of course, there is nothing for the voice audio bus, since I haven’t recorded any voice lines yet. (I’ll get to that later!) Controller Deadzones and Assist Settings The right side contains buttons that open submenus. Players can now control the game speed and controller joystick deadzones, along with being able to practice a level as much as they want with Training Mode. I decided to save controller sensitivity, key rebinding, credits, and language translating for later, due to how much time it took to figure out what should happen with submenus in multiple cases. I know, doesn’t seem like it should take that much time, but I have to consider multiple cases in which the settings UI will stay visible and block the actual pause menu, which occurs when the player resumes and pauses again without exiting out of the UI. There’s also another thing I have to worry about… HSlider Bug When I reopen a menu after exiting out of it, the sliders seems to reset back to where it originally was when the game started. Thankfully, this issue doesn’t affect the actual gameplay, but still, it’s a visual bug that might confuse players. I managed to fix this with the audio sliders, but I haven’t done the same with the controller settings and assist settings. I’ll try to patch it next week. Minor Details and Changes There’s not much this week, sorry. (I regret spending so much time on the settings menu…) Upcoming Additions I want to start focusing on making more levels soon, but I don’t want to reuse the same mechanics from the levels I already made. I already made multiple enemies, so I want to start making a mechanic that involves more of the player, like a new action that can be enabled upon collecting something in a level. I’ll also have to come up with ideas for the area’s bossfight (yes, there are bosses in this game), since I feel like the area is almost complete. As for the settings menu, I’ll pick it back up in about a month. A not-so-productive week, I know. Hopefully I can do better.
Devlog #7: Giving Everyone Guns and Bullets (Part 1) Honestly, I was intending to make something similar to a space shooter, where enemies come in from off-screen, but I’m still happy with what I ended up making. This devlog is a bit longer than usual, so feel free to just simply look at the video for explanation if you’re running short on time. Guns for the Player Starting with the player, remember how I wanted to make a mechanic that doesn’t just involve enemies? I ended up coming up with giving the player a gun (or, well, a blaster). I planned out the different types of guns the player will be able to equip. There will be two types of guns: auto-firing, which will automatically fire bullets every 0.2 seconds, and manual, which will only fire when the player presses a certain button, but it deals more damage per bullet (there’s a longer cooldown in between bullets, though, so better be precise). There are also three variants for each type that determine which direction the gun can fire: upwards, downwards, or horizontally. I may plan out more variants later. (But of course, this game isn’t all about guns, is it?) I implemented the auto-firing horizontal gun at the time of writing this devlog. And for the first time ever, I finally decided to make my own art instead of just using CC0 assets from Pixel Adventure. (Wild, right?) Not the best, but it’ll work for now. I don’t want to spend too much time on all the minor details to the point where I barely get anything done (like the settings menu, cough cough [refer to devlog 6 if you’re new here]). Guns for the Enemies It would be unfair if the player just simply had a significant advantage over the enemies, so I also gave guns to the enemies. Well, only a certain type of enemy, that is… Meet the Trunkwalker, a walking, square-like tree trunk part that fires bullets through its nose (aka the remains of a sliced tree branch). It can only fire a bullet horizontally every 3/2/1.5/1 second(s) depending on the difficulty ( Hard/Extra Hard/Ultra Hard/Extreme ). They also move around until they hit a wall, just like snails and mushrooms. I do find myself dying more to when they stop to shoot bullets rather than the bullets themselves. A bit concerning, but I find that it adds to the difficulty well, so… Basic Damage and Health System Anyways, there’s a reason why the player has a gun in the first place. To defeat enemies, of course. I gave the Trunkwalker a set amount of 25/30/35/40 health based on the difficulty. A bullet from an auto-firing gun deals 4 damage, so each Trunkwalker can be defeated after taking 7/8/9/10 hits. (There, I did the math for you. Happy?) Minor Details and Changes There’s still plenty to go around here. Here’s the rest of the changes: Reorganized folder structure, organized assets and scenes into subfolders Added a sound effect for when the enemy get hit by a bullet (made by tapping my laptop) Added extra frames to the mushroom’s death animation (they disappear in a similar fashion to collected fruits) Upcoming Additions I’ll have to continue all of this work in part 2. In other words, I’ll also have to make the other variants of guns, along with some more mechanics/enemies and levels. I also feel like the levels are too short and easy and don’t provide a proper challenge, mainly for the harder difficulties, so I might consider rebalancing the levels. Things are looking much better than last time. School is starting soon, however, so I may start to slow down on progress. I still think I can get the game’s demo done before Stardance ends, though. Until next time, jumpers! (And yes, I just recently came up with that name. I don’t know what else to call players without calling them “players”.)
Devlog #8: Giving Everyone Guns and Bullets (Part 2) Note: See Part 1 for context if you haven’t already. I think I’ll be done with guns for a while. After completing the first area, you most likely won’t see them again until one of the last levels of the second area (maybe not even until the next boss fight). Also, after rebalancing the harder difficulties to actually serve a good challenge, playtesting my own game took 2x longer than I usually would, as I’d keep dying to certain enemies or traps. But this game isn’t about breezing through easy levels, so… Guns for Plants and Bees These enemies are simple. Plants stay in one position, firing at random intervals. Their firerate is random and slower (average of 3.75/2.75/2/1.25 seconds), but their health is much higher compared to a Trunkwalker ( 65/75/90/100 health). Bees move around in the air, firing stinger bullets downwards. They fire often (average of 2.5/2/1.5/1 second[s]), but their health is decreased to make up for it ( 12/15/16/20 health). Since these bees will be above the player, I made an auto-firing gun that fires upwards. I decided that manual guns will instead show up in the next area after the boss. (That means the manual guns won’t be in the demo. Sorry…) These enemies show up in levels 1-10 and 1-11. Minor Details and Changes I spent a lot of time on major changes this week, but that doesn’t mean I didn’t spend time on minor problems. Here’s the small changes I made: Added Hard, Extra Hard, and Ultra Hard difficulty variants to level 1-9 Trunkwalker firing interval is more random instead of being fixed (to me, it just looks weird when they all attack at the same time) Rebalanced easier levels so they actually can somewhat serve a good challenge Resized hitbox of Mushrooms (so player can now properly die to a Mushroom when not bouncing on top of them) Moved melon in level 1-5 (for Ultra Hard and Extreme variants) to a harder-to-reach location (as it was too easy to reach the melon previously) You might think rebalancing levels would be a major change, but I honestly didn’t change much with each level. I mainly just moved traps/enemies around. Upcoming Additions Most of the time next week will be spent creating the first area’s boss fight. I won’t tell you what I plan to make for the boss fight, though. That would spoil everything. If you do want to view the spoilers, though I’ll provide a link to a Google Doc on the next devlog detailing everything about the upcoming boss fight. I suspect this boss will take more than 6 hours to make, so I’ll split it all into two devlogs (and also two weeks). Not much to say otherwise, though. Enjoy my (pretty horrible) gameplay below!
Devlog #9: The Last Challenge and Stat Board We’re nearing the end of this part of the journey. I can’t believe this is only the demo part of the entire game that I’m making. Demo Boss Fight This is the last challenge of the game. Like I said last devlog, I don’t want to spoil the boss fight, and I don’t see any way to censor text for Stardance. So here’s a Google Doc for those who’d rather just see the spoilers rather than find out by playing the game’s demo. I’m pretty happy with the boss fight as it is. I don’t believe I’ll need to rework it (except for balancing purposes). I did die a lot on the boss fight, though (19 deaths). Stat/Death Board At the end of the demo, I decided to let the player see their stats on the board, including the amount of time it took for them to finish the game, how many times they died to specific causes, etc. I did end up having to globally track every death and the cause of each death using an array (if you don’t know what that is, think of a buffet where you get to decide how much of each of the foods are in each area). Copyright Problems I recently learned more about copyright policy and it turns out I cannot use music my friend Rush made, even though he gave verbal permission. We appear to need some sort of agreement as well. But I don’t want to get too deep into the legal stuff, so I’m going to have to make my own track to replace the current one soon. Honestly, I might just attempt to use a CC0 track since I’m running out of time currently. Because of this issue, I muted the audio of the gameplay footage below too. Minor Details and Changes Not as much going around this week, but nevertheless, here’s most of the small changes: Added apples to all difficulty variants of levels 1-9 and 1-11 Added disappearing animation for the player that plays after the death animation (overall looks better in my opinion) Upcoming Additions Of course, there’s work that still needs to be done. First of all, I haven’t finished the settings menu yet (if you remember from devlog 6). There’s also some tracks in the game I need to make (for the boss fight, the area ambience, etc) And most importantly, we can’t forget about the commentary that occurs when you die to specific traps/enemies (which I’ve already started). I’m hoping I can release this game by late-September at the latest, along with working on some Stardance missions. I’d like to maximize my coding time before Stardance ends, despite the fact I’m busy with all the homework I’m getting. :(
Devlog #10: Music, Rebalancing, and “Voicelines” This will most likely be the final devlog. At least for Stardance. There’s so much more that will happen after Stardance ends (more info later). Playtester Feedback and Rebalancing I’ve gotten feedback from multiple playtesters (all of them are listed in the credits), and they’ve all said that there’s a big difficulty spike between levels 8 and 9 (or 10), so I had to make the levels easier by removing enemies and spikes, along with nerfing enemy hp, bullet fire rates, and bullet speed. I also had to adjust level 5 due to how small the bottom section is, which gives you barely any room to avoid the snails. For any playtesters who are reading this right now, thanks for playtesting and I hope you recover from your plant PTSD (from your 20-50+ deaths). “Voiceline” System and Adaptive Difficulty If only the dialogue was actually voiced. I don’t have anyone to voice act for me right now. But anyways, this voiceline system reacts to every level you enter and every death. It’ll either give tips on how to deal with whatever you’re facing or simply mock you. Here’s a couple of sample lines: “…And you’re having trouble with a stationary triangle in the ground. I repeat… A STATIONARY TRIANGLE IN THE GROUND!” (8th death to spikes) “Looking for an easy way to counter snails? It’s called ‘double-jumping’.” (3rd death to snails) “Outplanted by the plants…” (7th death to plants) “Those bees sure do sting… But they won’t last long when you ‘sting’ them back.” (1st death to bees) It will also change your difficulty for you when you’ve died too few or too many times on one level. I’m planning on giving the commentator a name. Maybe Domainus? We’ll find out later if it becomes canon or not. New Music Licensing Agreement Remember how in a previous devlog, I found out I couldn’t use Rush’s music for my game due to legal issues? That’s been fixed now, as both of us along with our parents signed an agreement. It’s not formal or anything, but from what I’ve researched, it should do the trick for now. After everyone signed the agreement, I added some new tracks to the BGM player: Beehold the Bullets (boss battle theme) UPC Test: PASS (boss victory theme) Void Hub (plays after beating the demo) Note: The gameplay footage below does not have audio, but the actual game will. Minor Details and Changes Last devlog, last changes… Added credits with playtesters, attribution, assets, and composers Updated README (still needs a slight update, will finish before I ship) Fixed audio sliders in settings menu starting at wrong positions Added “Reset All Settings” Added speedrun timer for Speedrun Mode in settings Stopped leftover bullets from killing you Started off player on Ultra Hard instead of Extreme on game startup Future of Universal Existence I plan to post future devlogs in a Discord server for anyone that’s interested. You’ll also be able to sign up to playtest future versions of the game and give feedback, along with participating in server events. You can join here: https://discord.gg/Ztc37dcu9 This link will expire soon, which is why I’ll paste another one later in the comments. Hope to see you around!
Ships:
Universal Existence is a 2d platformer with many mechanics that will be explored more in-depth and combined with other mechanics to make many interesting levels. Platform through 12 levels of the UPC (Universal Platforming Course) in the game’s demo. You can also get tips from Domainus, the creator of the universe and the manager of the UPC (Universal Platforming Course), or get yelled at for dying to a stationary triangle for the 8th time. There’s four unique difficulties, with your difficulty being adjusted to try and match your skill level. I found it challenging to make certain elements of the game like the settings menu (like the speedrun timer) and a couple of enemies (like the mushroom, which was hard to figure out when the player jumped on top of it and when it killed the player [I ended up having to adjust hitboxes several times]). I’m pretty proud of how I managed to make some pretty fun levels, such as level 6 (for providing just enough space for it to be possible, but still somewhat challenging) and level 11 (which involves knowing when to use each blaster and even has a cool level skip if you discover it [hint: one of Domainus’s voicelines reveals part of it]). Where to Play If you have a windows pc, you can download the game from the itch.io link below, if you want an executable. Just make sure to unzip the ZIP folder and open the .exe file (not the .console or .pck). Otherwise, you can play the game on any computer by clicking “Run Game” on itch.io. Keep in mind the game can be hard, especially during levels 9-12. Good luck! Also, if you have a controller, feel free to test it to see if it works with the game. Currently, the XBOX controller is partially supported (controllers cannot navigate the pause menu, but you can open it up by pressing Esc on keyboard or Menu button for Xbox controller). If you don’t want to play the game, here’s a 100% playthrough with all apples and secret melons collected. https://youtu.be/cXItOPMkMOI...
|
1793148666.2856066
|
1793235066.2856066
|
|
68256
|
Handheld Console by @kawaiikiten | Stardance
|
kawaiikiten
|
0
|
8.68
|
0
|
[]
|
[{"post_id": 78011, "ts": "202 [{"post_id": 78011, "ts": "2026-10-09T05:43:34Z", "hours": 8.6775, "text": "wth I didn’t realise I had to make a devlog so early. I’m making a custom handheld console for using a Raspberry Pi Zero 2 W and a 64 GB microSD card that I already have (actually got it from a HackClub event last year!) I wanted to try a more involved hardware project after making my MacroNAVI hackpad (which hopefully gets approved), combining custom PCBs, a printed enclosure, and retro game emulation. I started by deciding which systems I wanted to support. Initially, I considered everything available in the Delta emulator that I currently have on my phone, including Nintendo DS and Nintendo 64, but narrowed the scope to NES, Game Boy, Game Boy Color, Game Boy Advance, SNES, and Sega Genesis. I also wanted a vertical layout inspired by Delta’s SNES controller skin, with a D-pad, ABXY, Start, Select, and two shoulder buttons. My original size target was roughly an iPhone 13, although I eventually accepted a thicker case to make room for the components. A lot of the planning involved researching displays and figuring out how they would connect to the Pi. I considered several Waveshare displays using HDMI, DSI, and DPI before choosing the 3.5-inch 640×480 HDMI LCD. I also decided to use the headphone jack which the display includes with an opening in the case. For power, I planned around a PiSugar 3 Air and an external 3.7 V, 3000 mAh battery measuring 9.6 × 40 × 60.4 mm. I’m using a short internal USB-C extension so the charging port can be accessible from the enclosure. I have a rough idea of how everything is going to fit on the inside, and hopefully there’ll be no issues with some of the assumptions I’ve made in terms of measurements. I began modelling the enclosure in FreeCAD, the current enclosure is 84 × 147 × 34 mm. I positioned the display, Pi, power board, battery, and controller PCB, then built the front and rear shells around them. This included the screen opening, button openings, mounting posts, screw holes, and heat-set insert holes. I also added battery supports and a retainer, plus a holder and retaining bracket for the charging socket. For the controls, I wanted soft controller-style buttons using silicone membranes. I contacted RetroSix about membrane dimensions, and they were really helpul and pointed me toward an open-source SNES controller PCB. That gave me a useful reference for the contact footprints, although I still need to verify the physical membranes and their fit. In KiCad I created the main controller schematic and PCB, assigned the button contact footprints, arranged the controls, and routed the connections. This involved learning about track widths, vias, copper zones, and running the design rule checker. I also ran into problems updating the PCB from the schematic on Arch Linux; switching to Windows resolved that issue. The main board currently passes DRC. More recently, I designed a small shoulder-button PCB that can be used twice, once for L and once for R. I initially considered putting both switches on one board, but separate boards made placement around the display hardware easier. I adjusted the board outline and mounting holes to clear the display supports, checked it in KiCad, and imported both copies into FreeCAD. The latest work was adding four supports for those shoulder PCBs and their insert holes in the rear shell. Both boards are now positioned in the assembly, and I’ve planned the rear button locations. The next stage is working out the shoulder button caps and membrane retention, then checking the remaining clearances and wiring."}]...
|
Title: Handheld Console by @kawaiikiten | Stardanc Title: Handheld Console by @kawaiikiten | Stardance
Devlogs:
wth I didn’t realise I had to make a devlog so early. I’m making a custom handheld console for using a Raspberry Pi Zero 2 W and a 64 GB microSD card that I already have (actually got it from a HackClub event last year!) I wanted to try a more involved hardware project after making my MacroNAVI hackpad (which hopefully gets approved), combining custom PCBs, a printed enclosure, and retro game emulation. I started by deciding which systems I wanted to support. Initially, I considered everything available in the Delta emulator that I currently have on my phone, including Nintendo DS and Nintendo 64, but narrowed the scope to NES, Game Boy, Game Boy Color, Game Boy Advance, SNES, and Sega Genesis. I also wanted a vertical layout inspired by Delta’s SNES controller skin, with a D-pad, ABXY, Start, Select, and two shoulder buttons. My original size target was roughly an iPhone 13, although I eventually accepted a thicker case to make room for the components. A lot of the planning involved researching displays and figuring out how they would connect to the Pi. I considered several Waveshare displays using HDMI, DSI, and DPI before choosing the 3.5-inch 640×480 HDMI LCD. I also decided to use the headphone jack which the display includes with an opening in the case. For power, I planned around a PiSugar 3 Air and an external 3.7 V, 3000 mAh battery measuring 9.6 × 40 × 60.4 mm. I’m using a short internal USB-C extension so the charging port can be accessible from the enclosure. I have a rough idea of how everything is going to fit on the inside, and hopefully there’ll be no issues with some of the assumptions I’ve made in terms of measurements. I began modelling the enclosure in FreeCAD, the current enclosure is 84 × 147 × 34 mm. I positioned the display, Pi, power board, battery, and controller PCB, then built the front and rear shells around them. This included the screen opening, button openings, mounting posts, screw holes, and heat-set insert holes. I also added battery supports and a retainer, plus a holder and retaining bracket for the charging socket. For the controls, I wanted soft controller-style buttons using silicone membranes. I contacted RetroSix about membrane dimensions, and they were really helpul and pointed me toward an open-source SNES controller PCB. That gave me a useful reference for the contact footprints, although I still need to verify the physical membranes and their fit. In KiCad I created the main controller schematic and PCB, assigned the button contact footprints, arranged the controls, and routed the connections. This involved learning about track widths, vias, copper zones, and running the design rule checker. I also ran into problems updating the PCB from the schematic on Arch Linux; switching to Windows resolved that issue. The main board currently passes DRC. More recently, I designed a small shoulder-button PCB that can be used twice, once for L and once for R. I initially considered putting both switches on one board, but separate boards made placement around the display hardware easier. I adjusted the board outline and mounting holes to clear the display supports, checked it in KiCad, and imported both copies into FreeCAD. The latest work was adding four supports for those shoulder PCBs and their insert holes in the rear shell. Both boards are now positioned in the assembly, and I’ve planned the rear button locations. The next stage is working out the shoulder button caps and membrane retention, then checking the remaining clearances and wiring....
|
1793119871.5166285
|
1793724671.5166285
|
|
53337
|
A School website by @chisomdoc157 | Stardance
|
chisomdoc157
|
0
|
12.97
|
0
|
[]
|
[{"post_id": 78012, "ts": "202 [{"post_id": 78012, "ts": "2026-10-09T05:47:29Z", "hours": 12.9739, "text": "Devlog #1: Building the Marywood Girls School website(A fictional project). What I’m building; A website for Marywood Girls School. It gives students, parents and visitors one place to find information about the school and [admission guidance, student portal]. What I’ve built so far [Home section, About section] [Navigation: responsive navbar, mobile menu] [Design: school colors, fonts, layout] Design decisions I used the school’s colors and logo so the site feels like Marywood, not a generic template. I made a simple about text, so that parents and students can see our goal. Challenges and fixes Problem: [Bad grid template] Fix: [Switched to a better one] What I learned A new CSS grid and flexbox layout. How to make images responsive."}]...
|
Title: A School website by @chisomdoc157 | Stardan Title: A School website by @chisomdoc157 | Stardance
Devlogs:
Devlog #1: Building the Marywood Girls School website(A fictional project). What I’m building; A website for Marywood Girls School. It gives students, parents and visitors one place to find information about the school and [admission guidance, student portal]. What I’ve built so far [Home section, About section] [Navigation: responsive navbar, mobile menu] [Design: school colors, fonts, layout] Design decisions I used the school’s colors and logo so the site feels like Marywood, not a generic template. I made a simple about text, so that parents and students can see our goal. Challenges and fixes Problem: [Bad grid template] Fix: [Switched to a better one] What I learned A new CSS grid and flexbox layout. How to make images responsive....
|
1792745301.85351
|
1793350101.85351
|
|
63962
|
Habit and distraction tracker by @saatvik_270211 | Habit and distraction tracker by @saatvik_270211 | Stardance...
|
saatvik_270211
|
1
|
5.49
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T12:57:00Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a completely free Habit and Distraction tracker . It works simply by check the boxes as per your habits . It have four weeks almost a month . That give graph if scroll down . That way you can compare it easily and hence giving you enough dopamine for completing all the habits.", "repo": "https://github.com/Kingplayer-eng/Habit-and-distraction-tracker", "demo": "https://kingplayer-eng.github.io/Habit-and-distraction-tracker/"}]...
|
[{"post_id": 78013, "ts": "202 [{"post_id": 78013, "ts": "2026-10-09T06:03:49Z", "hours": 1.4939, "text": "Added a accidental security system . If we accidently close the tabs or refresh it the data dont get deleted. Manly use of Local Storage and debugging through AI."}, {"post_id": 77016, "ts": "2026-10-05T11:40:10Z", "hours": 1.7314, "text": "Had to use Ai and some tutorials for this graph . Its was difficult to use i didnt know how to apply graph . I am now confused should i add google account or not for saved progress."}, {"post_id": 76051, "ts": "2026-10-02T06:11:17Z", "hours": 0.7533, "text": "Day 3 of making free Habit and distraction Tracker- Today completed css layout and fixed problems and syntax errors using ai ."}, {"post_id": 75846, "ts": "2026-10-01T10:13:16Z", "hours": 0.5722, "text": "Day 2 of creating a free Habit and distraction Tracker today added weeks space and css styling ."}, {"post_id": 75210, "ts": "2026-09-29T14:24:08Z", "hours": 0.7508, "text": "Day 1 of making Habit and Distraction tracker . Today covered basic . Added no of task or habits column ."}]...
|
Title: Habit and distraction tracker by @saatvik_2 Title: Habit and distraction tracker by @saatvik_270211 | Stardance
Devlogs:
Day 1 of making Habit and Distraction tracker . Today covered basic . Added no of task or habits column .
Day 2 of creating a free Habit and distraction Tracker today added weeks space and css styling .
Day 3 of making free Habit and distraction Tracker- Today completed css layout and fixed problems and syntax errors using ai .
Had to use Ai and some tutorials for this graph . Its was difficult to use i didnt know how to apply graph . I am now confused should i add google account or not for saved progress.
Added a accidental security system . If we accidently close the tabs or refresh it the data dont get deleted. Manly use of Local Storage and debugging through AI.
Ships:
Made a completely free Habit and Distraction tracker . It works simply by check the boxes as per your habits . It have four weeks almost a month . That give graph if scroll down . That way you can compare it easily and hence giving you enough dopamine for completing all the habits....
|
1793058856.143149
|
1793145256.143149
|
|
51841
|
Oxide Keys by @RenJ | Stardance
|
RenJ
|
0
|
15.08
|
0
|
[]
|
[{"post_id": 78017, "ts": "202 [{"post_id": 78017, "ts": "2026-10-09T06:58:29Z", "hours": 4.0386, "text": "Created firmware for oxide keys which uses rust and it took me some time to understand embedded hal but it worked well with the pico W that i am using."}, {"post_id": 60136, "ts": "2026-09-02T09:55:28Z", "hours": 3.3986, "text": "Have been working on creating the PCB board. I used freerouter which is an advanced auto router and it helped a lot and saved time and also had to manage a lot of DRC errors."}, {"post_id": 57646, "ts": "2026-08-29T21:04:30Z", "hours": 6.2967, "text": "Have been working on schematics and fixing a lot of errors in the meantime. I am new to working on KiCad so I had to do a lot of research about it as well but I definitely learned a lot which I am happy about so that I can be quicker next time and have a better attention to detail. The details of the project have also become clearer to me as I delve more into it."}, {"post_id": 52041, "ts": "2026-08-22T02:40:58Z", "hours": 1.0433, "text": "Fixed the wiring diagram because it was really basic before and lacked the information needed to actually show everything. This includes the USB port and also the change to the LCD."}, {"post_id": 50915, "ts": "2026-08-20T11:55:12Z", "hours": 0.3, "text": "Started the wiring diagram for Oxide Keys. Mapped all 8 switches, the rotary encoder, OLED and Neopixel to the pins on the pico."}]...
|
Title: Oxide Keys by @RenJ | Stardance
Devlogs:
S Title: Oxide Keys by @RenJ | Stardance
Devlogs:
Started the wiring diagram for Oxide Keys. Mapped all 8 switches, the rotary encoder, OLED and Neopixel to the pins on the pico.
Fixed the wiring diagram because it was really basic before and lacked the information needed to actually show everything. This includes the USB port and also the change to the LCD.
Have been working on schematics and fixing a lot of errors in the meantime. I am new to working on KiCad so I had to do a lot of research about it as well but I definitely learned a lot which I am happy about so that I can be quicker next time and have a better attention to detail. The details of the project have also become clearer to me as I delve more into it.
Have been working on creating the PCB board. I used freerouter which is an advanced auto router and it helped a lot and saved time and also had to manage a lot of DRC errors.
Created firmware for oxide keys which uses rust and it took me some time to understand embedded hal but it worked well with the pico W that i am using....
|
1792684509.1485636
|
1793289309.1485636
|
|
62876
|
VictorianWareGame by @asho | Stardance
|
asho
|
1
|
14.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T07:17:48Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Victorian ware game. But it would be a lie if I said this wasn’t confusing. Don’t get me wrong, it was soo funnn to make this like I would do this again even if I have to have a few 100 more crashouts…at last I had to resort to chatgpt for the bugs(even though I didn’t want to) because I have a peanut sized brain. Sorry for not writing this properly but i cannot think straight like im so happy:) I did itttttt!!!with zero errors that issss. I also added the challenge game earlier but lo and behold I lost that file plus i hadnt even timelapsed that part. anyway. THANK YOU SO MUCH HACKCLUB AND WHOEVER IS READING THIS . This was such a good experience. May you never stub your toe:)", "repo": "https://github.com/ayeshayaya/VictoriaWareGame", "demo": "https://ayeshayayayay.itch.io/victorianwaregame"}]...
|
[{"post_id": 78020, "ts": "202 [{"post_id": 78020, "ts": "2026-10-09T07:04:07Z", "hours": 2.2869, "text": "crashing out. But atleast the projectis debugged."}, {"post_id": 71750, "ts": "2026-09-21T13:28:42Z", "hours": 5.8197, "text": "hie hiee.. so im making this which i totally suck at and i have completed it almost except there are two error one i cant collect the onions and the second one is that the game restarts the onions ones they run out. anyone help?"}, {"post_id": 69752, "ts": "2026-09-17T18:42:40Z", "hours": 5.5811, "text": "Build the entire game in one go. But it keeps showing an error of null instance timer not defined over and over again. Can anyone help me out, its really confusing><"}]...
|
Title: VictorianWareGame by @asho | Stardance
Dev Title: VictorianWareGame by @asho | Stardance
Devlogs:
Build the entire game in one go. But it keeps showing an error of null instance timer not defined over and over again. Can anyone help me out, its really confusing><
hie hiee.. so im making this which i totally suck at and i have completed it almost except there are two error one i cant collect the onions and the second one is that the game restarts the onions ones they run out. anyone help?
crashing out. But atleast the projectis debugged.
Ships:
I made a Victorian ware game. But it would be a lie if I said this wasn’t confusing. Don’t get me wrong, it was soo funnn to make this like I would do this again even if I have to have a few 100 more crashouts…at last I had to resort to chatgpt for the bugs(even though I didn’t want to) because I have a peanut sized brain. Sorry for not writing this properly but i cannot think straight like im so happy:) I did itttttt!!!with zero errors that issss. I also added the challenge game earlier but lo and behold I lost that file plus i hadnt even timelapsed that part. anyway. THANK YOU SO MUCH HACKCLUB AND WHOEVER IS READING THIS . This was such a good experience. May you never stub your toe:)...
|
1793058676.2635677
|
1793145076.2635677
|
|
59410
|
Steno Hackpad by @WH | Stardance
|
WH
|
0
|
4.07
|
0
|
[]
|
[{"post_id": 78026, "ts": "202 [{"post_id": 78026, "ts": "2026-10-09T07:28:06Z", "hours": 2.1442, "text": "done with case finally"}, {"post_id": 68055, "ts": "2026-09-14T13:14:40Z", "hours": 1.9231, "text": "Almost finish with PCB"}]...
|
Title: Steno Hackpad by @WH | Stardance
Devlogs:
Title: Steno Hackpad by @WH | Stardance
Devlogs:
Almost finish with PCB
done with case finally...
|
1792799333.027449
|
1793404133.027449
|
|
68737
|
game by @Bobfish6598 | Stardance
|
Bobfish6598
|
0
|
0.34
|
0
|
[]
|
[{"post_id": 78030, "ts": "202 [{"post_id": 78030, "ts": "2026-10-09T07:52:30Z", "hours": 0.3378, "text": "my first bit of code for a game"}]...
|
Title: game by @Bobfish6598 | Stardance
Devlogs:
Title: game by @Bobfish6598 | Stardance
Devlogs:
my first bit of code for a game...
|
1793123648.4419231
|
1793728448.4419231
|
|
68750
|
Test by @mahad | Stardance
|
mahad
|
0
|
9.1
|
0
|
[]
|
[{"post_id": 78032, "ts": "202 [{"post_id": 78032, "ts": "2026-10-09T08:51:09Z", "hours": 9.0981, "text": "test"}]...
|
Title: Test by @mahad | Stardance
Devlogs:
test
|
1793126858.5270746
|
1793731658.5270746
|
|
68746
|
My own site! by @JestingDart4369 | Stardance
|
JestingDart4369
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T18:01:51Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built this site as a personal portfolio and homelab showcase. Everything on this domain runs on my own hardware: each service lives in its own Docker container and is reached through a Cloudflare Tunnel, so no ports are open to the internet. I’m the one who designed it, set it up and maintain it all myself, from the website and the API at api.novaroma-homelab.uk to the small tools behind them. The site is in English and kept simple on purpose. You’ll find my projects, my latest GitHub activity, the public services I run, and a bit about where I am in my training. Some projects are stable and running in the background, while others are experiments that taught me more than they’ll ever be used. I document them here so you can see how I approach problems, not just the finished results. Hey, just a heads-up for all you eagle-eyed readers out there: if you want to access the footer line that says “© 2026 JestingDart4369”, just give it a tap five times. That unlocks season mode, which gives the site a spring, summer, autumn or winter look. Your choice is saved in a cookie, so the site remembers your season the next time you visit. To switch back, just tap the footer five times again.", "repo": "https://github.com/JestingDart4369/Mainpage_Novaroma-Homelab", "demo": "https://novaroma-homelab.uk"}]...
|
[{"post_id": 78033, "ts": "202 [{"post_id": 78033, "ts": "2026-10-09T09:04:09Z", "hours": 0.2717, "text": "A Website for all I learned a few days ago about how The ui of a website has to be usable for all and I thought hey I should implement that to my website while going to bed Great cant sleep :). Thats why I got up and Worked on this TBH I im Writing this Behind because I did it a month ago but only found out about this place here now so yea a bit late but better late then never :) anyway I implemented many thing one being adding a alt to the image tags how I forgot them I dont know but its now added."}]...
|
Title: My own site! by @JestingDart4369 | Stardanc Title: My own site! by @JestingDart4369 | Stardance
Devlogs:
A Website for all I learned a few days ago about how The ui of a website has to be usable for all and I thought hey I should implement that to my website while going to bed Great cant sleep :). Thats why I got up and Worked on this TBH I im Writing this Behind because I did it a month ago but only found out about this place here now so yea a bit late but better late then never :) anyway I implemented many thing one being adding a alt to the image tags how I forgot them I dont know but its now added.
Ships:
I built this site as a personal portfolio and homelab showcase. Everything on this domain runs on my own hardware: each service lives in its own Docker container and is reached through a Cloudflare Tunnel, so no ports are open to the internet. I’m the one who designed it, set it up and maintain it all myself, from the website and the API at api.novaroma-homelab.uk to the small tools behind them. The site is in English and kept simple on purpose. You’ll find my projects, my latest GitHub activity, the public services I run, and a bit about where I am in my training. Some projects are stable and running in the background, while others are experiments that taught me more than they’ll ever be used. I document them here so you can see how I approach problems, not just the finished results. Hey, just a heads-up for all you eagle-eyed readers out there: if you want to access the footer line that says “© 2026 JestingDart4369”, just give it a tap five times. That unlocks season mode, which gives the site a spring, summer, autumn or winter look. Your choice is saved in a cookie, so the site remembers your season the next time you visit. To switch back, just tap the footer five times again....
|
1793062349.1964874
|
1793148749.1964874
|
|
68601
|
Math Essentials by @TharunVigneswarPS | Stardance
|
TharunVigneswarPS
|
0
|
8.02
|
0
|
[]
|
[{"post_id": 78036, "ts": "202 [{"post_id": 78036, "ts": "2026-10-09T09:15:49Z", "hours": 8.0178, "text": "Most Math functions done. Backend done and wokring on website for it"}]...
|
Title: Math Essentials by @TharunVigneswarPS | Sta Title: Math Essentials by @TharunVigneswarPS | Stardance
Devlogs:
Most Math functions done. Backend done and wokring on website for it...
|
1793123448.9403994
|
1793728248.9403994
|
|
67940
|
Wallpaper.html by @THEbluefirestudios | Stardance
|
THEbluefirestudios
|
0
|
3.85
|
0
|
[]
|
[{"post_id": 78041, "ts": "202 [{"post_id": 78041, "ts": "2026-10-09T09:53:18Z", "hours": 0.7414, "text": "this project has been switched to pixl, no more devlogs here"}, {"post_id": 77787, "ts": "2026-10-08T08:37:25Z", "hours": 2.1778, "text": "Would you look at that the app is finished! This took way less time than usual but its like 500 lines o code, and a single py file, so like, what were you expecting? So now I will ship- flashbang Oh you thought I was DONE? How elementary of you! You FORGOT! I still have to make some default wallpapers, a website, a marketplace, documentation for making wallpapers! you thought 500 lines of code and project done? Noooooooo"}, {"post_id": 76985, "ts": "2026-10-05T08:12:23Z", "hours": 0.6394, "text": "Ok, so that happeend way quicker than expected, I have a nice script for setting a wallpaper where it checks for the manifest and sets the wallpaper as your wallpaper, Here are a few examples. The Blackhole New Tab Blackhole! [Animated video] Cool Dyson sphere thingy! [Static Image] Aurora Thingy [HTML code generated] This has more potential, so I’m gonna expand on this to make some defaults. I was planning on a cr wallpaper, a space themed wallpaper (prolly my blackhole), some procedurally generated wallpaper (like that medusa sim in lively wallpaper), and some are wallpaper that parallaxes."}, {"post_id": 76961, "ts": "2026-10-05T06:44:31Z", "hours": 0.2869, "text": "Well this app displays .html files as wallpaper, so naturally the 1st step was to get an .html file to be my wallpaper, some Stack Overflow later, I have this test wallpaper as my… wallpaper, I’m still working so patience!"}]...
|
Title: Wallpaper.html by @THEbluefirestudios | Sta Title: Wallpaper.html by @THEbluefirestudios | Stardance
Devlogs:
Well this app displays .html files as wallpaper, so naturally the 1st step was to get an .html file to be my wallpaper, some Stack Overflow later, I have this test wallpaper as my… wallpaper, I’m still working so patience!
Ok, so that happeend way quicker than expected, I have a nice script for setting a wallpaper where it checks for the manifest and sets the wallpaper as your wallpaper, Here are a few examples. The Blackhole New Tab Blackhole! [Animated video] Cool Dyson sphere thingy! [Static Image] Aurora Thingy [HTML code generated] This has more potential, so I’m gonna expand on this to make some defaults. I was planning on a cr wallpaper, a space themed wallpaper (prolly my blackhole), some procedurally generated wallpaper (like that medusa sim in lively wallpaper), and some are wallpaper that parallaxes.
Would you look at that the app is finished! This took way less time than usual but its like 500 lines o code, and a single py file, so like, what were you expecting? So now I will ship- flashbang Oh you thought I was DONE? How elementary of you! You FORGOT! I still have to make some default wallpapers, a website, a marketplace, documentation for making wallpapers! you thought 500 lines of code and project done? Noooooooo
this project has been switched to pixl, no more devlogs here...
|
1793116229.32111
|
1793721029.32111
|
|
68106
|
Swift by @Koya | Stardance
|
Koya
|
0
|
4.57
|
0
|
[]
|
[{"post_id": 78043, "ts": "202 [{"post_id": 78043, "ts": "2026-10-09T10:22:16Z", "hours": 4.5742, "text": "I’m developing a social media app using Swift and Xcode! It will support three languages: English, Japanese, and Korean. I’m planning to release it in February 2027!"}]...
|
Title: Swift by @Koya | Stardance
Devlogs:
I’m de Title: Swift by @Koya | Stardance
Devlogs:
I’m developing a social media app using Swift and Xcode! It will support three languages: English, Japanese, and Korean. I’m planning to release it in February 2027!...
|
1793116477.0744596
|
1793721277.0744596
|
|
67288
|
Math Canvas by @Nivedh_Govil | Stardance
|
Nivedh_Govil
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T11:13:16Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website called Math Canvas, an interactive Math and Physics Visualizer. It has 3 modes: Graph Plot (You can plot graphs here), Statistics (run statistics on data), Projectile Motion (Analyse a projectile’s trajectory). I didn’t use HTML for this website; instead, I coded it in Streamlit, a Python library for building web apps. I also used Matplotlib for the graph plotting and NumPy to help in creating arrays and dealing with numbers. This website took around 4 hours to build, and it was an engaging experience for me. Over time, I will add more and more features to the website. I have uploaded the source code and deployed it using Streamlit.", "repo": "https://github.com/NivedhGovil/MathCanvas", "demo": "https://mathcanvas.onrender.com/"}]...
|
[{"post_id": 78047, "ts": "202 [{"post_id": 78047, "ts": "2026-10-09T11:08:17Z", "hours": 0.4264, "text": "Math Canvas Finished the website! Here’s what it is: 3 Modes: Graph Plot, StartFX and Project I Motion. In the graph plot there are different options for graphs, like constant, linear, quadratic, etc., and you enter inputs such as the amplitude, frequency, coefficient of x, etc, and the website plots the graph. In Statistics, you enter 3 to 10 numbers and you get a full statistical run on it, which includes the mean, median, variance, standard deviation, and more. In the projectile motion mode, you can enter the initial velocity, angle of projection, and more, and the time of flight, maximum height, horizontal range, and complete trajectory of the projectile are shown on the screen. This website uses no HTML. It is powered by Streamlit, a library in Python which is used to build websites. If you want to visit the website, go to mathcanvas.streamlit.app."}, {"post_id": 76773, "ts": "2026-10-04T15:14:37Z", "hours": 0.6322, "text": "MathCanvas Devlog 3 Today, I worked on the projectile motion mode. The user has to input the initial velocity, angle of projection, and mass. The horizontal range, maximum height travelled, and more data are automatically computed, and the trajectory is shown on a graph. It’s almost done. Looking forward to completing it tomorrow!"}, {"post_id": 76433, "ts": "2026-10-03T14:34:10Z", "hours": 0.7436, "text": "Math Canvas Devlog 2 Coding the statistics page today. The user inputs n numbers, and the app displays their mean, median, variance, and more. A bar chart is also shown. Still didn’t use a single HTML element and used Streamlit-based CSS for the background color."}, {"post_id": 76162, "ts": "2026-10-02T15:29:19Z", "hours": 1.925, "text": "Done a lot of work today. Made the landing page, mode choices, and the webpages for the different modes of equations. Didn’t work on the statistics mode, but will do it tomorrow. Learnt lots today! Can’t believe that it’s done with no HTML and CSS!"}]...
|
Title: Math Canvas by @Nivedh_Govil | Stardance
D Title: Math Canvas by @Nivedh_Govil | Stardance
Devlogs:
Done a lot of work today. Made the landing page, mode choices, and the webpages for the different modes of equations. Didn’t work on the statistics mode, but will do it tomorrow. Learnt lots today! Can’t believe that it’s done with no HTML and CSS!
Math Canvas Devlog 2 Coding the statistics page today. The user inputs n numbers, and the app displays their mean, median, variance, and more. A bar chart is also shown. Still didn’t use a single HTML element and used Streamlit-based CSS for the background color.
MathCanvas Devlog 3 Today, I worked on the projectile motion mode. The user has to input the initial velocity, angle of projection, and mass. The horizontal range, maximum height travelled, and more data are automatically computed, and the trajectory is shown on a graph. It’s almost done. Looking forward to completing it tomorrow!
Math Canvas Finished the website! Here’s what it is: 3 Modes: Graph Plot, StartFX and Project I Motion. In the graph plot there are different options for graphs, like constant, linear, quadratic, etc., and you enter inputs such as the amplitude, frequency, coefficient of x, etc, and the website plots the graph. In Statistics, you enter 3 to 10 numbers and you get a full statistical run on it, which includes the mean, median, variance, standard deviation, and more. In the projectile motion mode, you can enter the initial velocity, angle of projection, and more, and the time of flight, maximum height, horizontal range, and complete trajectory of the projectile are shown on the screen. This website uses no HTML. It is powered by Streamlit, a library in Python which is used to build websites. If you want to visit the website, go to mathcanvas.streamlit.app.
Ships:
I made a website called Math Canvas, an interactive Math and Physics Visualizer. It has 3 modes: Graph Plot (You can plot graphs here), Statistics (run statistics on data), Projectile Motion (Analyse a projectile’s trajectory). I didn’t use HTML for this website; instead, I coded it in Streamlit, a Python library for building web apps. I also used Matplotlib for the graph plotting and NumPy to help in creating arrays and dealing with numbers. This website took around 4 hours to build, and it was an engaging experience for me. Over time, I will add more and more features to the website. I have uploaded the source code and deployed it using Streamlit....
|
1793062247.4915323
|
1793148647.4915323
|
|
68164
|
sudo-space by @sooraj | Stardance
|
sooraj
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T12:27:44Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made sudo space, a simple new tab dashboard with a cool Linux terminal look. It has a Google search bar, daily NASA space photos/videos, a quick todo list, and website shortcut buttons. The api the server gives an error 500. I had to add code to fix this and show a backup image if the API is down. Also my two GitHub accounts got mixed up , which took time to fix. how to use it Type in the search box and press Enter to search on Google.Add tasks in the todo box with Enter, and just click any task to delete it (they stay saved even if you refresh).Click the shortcut buttons to open sites like GitHub or YouTube.The space box updates automatically every day.", "repo": "https://github.com/Sooraj44882/sudo-space", "demo": "https://sudo-space-zeta.vercel.app/"}]...
|
[{"post_id": 78056, "ts": "202 [{"post_id": 78056, "ts": "2026-10-09T12:14:00Z", "hours": 3.3822, "text": "Devlog 2: Finally fixed a big Git issue . I have two GitHub accounts on my laptop and they got mixed up, so I couldn’t push my code to my main account. It took some time to fix the config,credentials, but it works fine now. Here is what I have finished so far: Added the NASA API to show the daily space image and title. Added a todo list that saves tasks in localStorage, so tasks don’t get deleted when I close the tab. Added quick shortcut links .All the main parts of the website are working now!"}, {"post_id": 77118, "ts": "2026-10-05T17:49:25Z", "hours": 0.7028, "text": "Devlog 1: got the nasa api key ,setup the project file and i am thinking to make a space , linux theme something"}]...
|
Title: sudo-space by @sooraj | Stardance
Devlogs: Title: sudo-space by @sooraj | Stardance
Devlogs:
Devlog 1: got the nasa api key ,setup the project file and i am thinking to make a space , linux theme something
Devlog 2: Finally fixed a big Git issue . I have two GitHub accounts on my laptop and they got mixed up, so I couldn’t push my code to my main account. It took some time to fix the config,credentials, but it works fine now. Here is what I have finished so far: Added the NASA API to show the daily space image and title. Added a todo list that saves tasks in localStorage, so tasks don’t get deleted when I close the tab. Added quick shortcut links .All the main parts of the website are working now!
Ships:
I made sudo space, a simple new tab dashboard with a cool Linux terminal look. It has a Google search bar, daily NASA space photos/videos, a quick todo list, and website shortcut buttons. The api the server gives an error 500. I had to add code to fix this and show a backup image if the API is down. Also my two GitHub accounts got mixed up , which took time to fix. how to use it Type in the search box and press Enter to search on Google.Add tasks in the todo box with Enter, and just click any task to delete it (they stay saved even if you refresh).Click the shortcut buttons to open sites like GitHub or YouTube.The space box updates automatically every day....
|
1793062304.0076084
|
1793148704.0076084
|
|
66286
|
Stardance Helper by @Moiz67 | Stardance
|
Moiz67
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T12:31:45Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Stardance Helper is a Slack bot built with JavaScript and Slack Bolt. It provides handy slash commands for jokes, trivia, weather, polls, reminders, and more, and runs 24/7 on Hack Club Nest.", "repo": "https://github.com/abdulmoiz5718-blip/Stardance-helper", "demo": "https://hackclub.enterprise.slack.com/archives/C0C64FSRZQQ"}]...
|
[{"post_id": 78057, "ts": "202 [{"post_id": 78057, "ts": "2026-10-09T12:18:06Z", "hours": 0.9003, "text": "Completed it and now its running as well."}]...
|
Title: Stardance Helper by @Moiz67 | Stardance
De Title: Stardance Helper by @Moiz67 | Stardance
Devlogs:
Completed it and now its running as well.
Ships:
Stardance Helper is a Slack bot built with JavaScript and Slack Bolt. It provides handy slash commands for jokes, trivia, weather, polls, reminders, and more, and runs 24/7 on Hack Club Nest....
|
1793062182.2793884
|
1793148582.2793884
|
|
8670
|
Rumble by @bad-indentation | Stardance
|
bad-indentation
|
1
|
5.0
|
26
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-13T01:08:07Z", "hours": 5.0, "multiplier": 4.97, "payout": 26, "blessing": "neutral", "text": "Rumble is a Rust CLI tool to solve Jumbles and anagrams. It is very fast (as one can expect from Rust) and easy to use. I am relatively new to Rust, and so this was a nice opportunity to finally create a full command-line project from start to finish and publish it on crates.io. Installation instructions are in the repo README. Please consider writing an issue if you find any bugs!", "repo": "https://github.com/bad-indentation/rumble", "demo": "https://crates.io/crates/rumble-cli"}]...
|
[{"post_id": 7806, "ts": "2026 [{"post_id": 7806, "ts": "2026-06-13T00:55:42Z", "hours": 1.2236, "text": "Finally published to crates.io."}, {"post_id": 4687, "ts": "2026-06-08T02:55:47Z", "hours": 0.8144, "text": "Serious refactor - DFS + pruning was actually not an efficient solution to the problem; simple character counting using HashMaps much faster."}, {"post_id": 4637, "ts": "2026-06-08T00:59:20Z", "hours": 3.1231, "text": "Finished first iteration of solver; working on optimizations. Successfully implemented depth-first search to generate all possible anagrams of the scrambled input. Used a pre-computed HashSet of valid prefixes to quickly prune any branches that wouldn’t lead to valid English words. Implemented CLI interface using Clap. Added –verbose flag for logging and –include-partial for words that do not use all available letters. Initial optimizations include removing words that could never be made using the available letters- that is, words that are too long or contain invalid letters. Further optimizations include using concurrency when reading the file and using smart pointers to avoid excessive cloning. Also considering the possibility of iterating over candidate WORDS and determining whether they are a valid solutions instead of using combinatorics."}]...
|
Title: Rumble by @bad-indentation | Stardance
Dev Title: Rumble by @bad-indentation | Stardance
Devlogs:
Finished first iteration of solver; working on optimizations. Successfully implemented depth-first search to generate all possible anagrams of the scrambled input. Used a pre-computed HashSet of valid prefixes to quickly prune any branches that wouldn’t lead to valid English words. Implemented CLI interface using Clap. Added –verbose flag for logging and –include-partial for words that do not use all available letters. Initial optimizations include removing words that could never be made using the available letters- that is, words that are too long or contain invalid letters. Further optimizations include using concurrency when reading the file and using smart pointers to avoid excessive cloning. Also considering the possibility of iterating over candidate WORDS and determining whether they are a valid solutions instead of using combinatorics.
Serious refactor - DFS + pruning was actually not an efficient solution to the problem; simple character counting using HashMaps much faster.
Finally published to crates.io.
Ships:
Rumble is a Rust CLI tool to solve Jumbles and anagrams. It is very fast (as one can expect from Rust) and easy to use. I am relatively new to Rust, and so this was a nice opportunity to finally create a full command-line project from start to finish and publish it on crates.io. Installation instructions are in the repo README. Please consider writing an issue if you find any bugs!...
|
1793051678.1974676
|
1793138078.1974676
|
|
60950
|
Ambilight by @reaue | Stardance
|
reaue
|
0
|
6.32
|
0
|
[]
|
[{"post_id": 78067, "ts": "202 [{"post_id": 78067, "ts": "2026-10-09T13:18:16Z", "hours": 0.4794, "text": "Building Devlog 1 – Starting the Building Phase Today, when I got back from school, I went to the post office to pick up my package, and I was really happy to finally receive it. The result looks really clean!"}, {"post_id": 66196, "ts": "2026-09-11T21:17:40Z", "hours": 0.5361, "text": "Devlog 3 - Adding a complete README I finished the README with the most important part the installation. Now everything it’s ready for the ship. So let’s ship it !"}, {"post_id": 66163, "ts": "2026-09-11T20:12:03Z", "hours": 1.3539, "text": "Devlog 2 - Adding aerations. I added aerations to cool down the HDMI capture card. I also wrote the DOM.csv file and starting to set up a clean repo. Now I need to explain everything in the README file."}, {"post_id": 66039, "ts": "2026-09-11T16:19:58Z", "hours": 3.9503, "text": "New project ! So, I’m builduig a case for my actual TV ambientlight setup. Because right now it’s a bit messy. The setup is one rapsberry py 4 model B and one HDMI capture. The rapsberry run with Hyperion . I just noticed that I forgot to put some ventilation to cool it down."}]...
|
Title: Ambilight by @reaue | Stardance
Devlogs:
N Title: Ambilight by @reaue | Stardance
Devlogs:
New project ! So, I’m builduig a case for my actual TV ambientlight setup. Because right now it’s a bit messy. The setup is one rapsberry py 4 model B and one HDMI capture. The rapsberry run with Hyperion . I just noticed that I forgot to put some ventilation to cool it down.
Devlog 2 - Adding aerations. I added aerations to cool down the HDMI capture card. I also wrote the DOM.csv file and starting to set up a clean repo. Now I need to explain everything in the README file.
Devlog 3 - Adding a complete README I finished the README with the most important part the installation. Now everything it’s ready for the ship. So let’s ship it !
Building Devlog 1 – Starting the Building Phase Today, when I got back from school, I went to the post office to pick up my package, and I was really happy to finally receive it. The result looks really clean!...
|
1793037121.3807366
|
1793641921.3807366
|
|
34506
|
Grex by @Benkralex | Stardance
|
Benkralex
|
1
|
66.28
|
799
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T15:49:29Z", "hours": 49.0, "multiplier": 16.43, "payout": 799, "blessing": "neutral", "text": "I’m very proud, that I got to a point, where I can ship the project in just about 2 months. Thats when I started the new codebase. I learned a LOT developing the plattform with Next.js (old) and also learned, that I need better types, seperate server and client, … I just don’t like the structure, but now with Kotlin and Ktor on the server and JS on the client I am very satisfied. If you try the project keep in mind, that many features were in the old project and the most time I spent, was creating the base on the new version. This ship ships the foundation on which I will build many more (hopefully cool and usefull) features. Also try the web-client on mobile. I coded responsive for displayes of (hopefully) any size. I’m sorry, that I have no demo-instance, but it is to insecure for me to host a public instance for everyone. Maybe in the next ship I will have a solution for that. Hope you like the project!", "repo": "https://codeberg.org/Benkralex/Grex", "demo": "https://grex.benkralex.hackclub.app/register"}]...
|
[{"post_id": 78070, "ts": "202 [{"post_id": 78070, "ts": "2026-10-09T13:44:49Z", "hours": 6.3953, "text": "I clean up the code and made many fixes! I also added new features: You can upload profile pictures and the admins can allow bypassing the invite code for the instance."}, {"post_id": 74075, "ts": "2026-09-26T17:01:48Z", "hours": 3.3961, "text": "Added search to quotes and account settings"}, {"post_id": 72837, "ts": "2026-09-23T20:46:14Z", "hours": 6.0969, "text": "Add Settings Page with the option to choose a theme. I also changed some Database Stuff and added a user page."}, {"post_id": 70252, "ts": "2026-09-18T20:11:00Z", "hours": 1.3911, "text": "Add table for admins so they can see all registered users."}, {"post_id": 65981, "ts": "2026-09-11T14:14:21Z", "hours": 0.3258, "text": "Small fixes: Icons on login/register page Title support for my own client router Fix popups on mobile"}, {"post_id": 65964, "ts": "2026-09-11T13:43:52Z", "hours": 1.3897, "text": "I’ve added a /qpi/quotes/delete endpoint, where the poster or admins can delete a quote and also the button for it is in the UI. If you click it a confirmation popup opens. Also the register and login forms now show, whats wrong. I noticed the bad UX, as I registered a new user and the submit button just didn’t work. In the dev tools I could see the problem, but no normal user is looking into the devtools, so now every normal creature can now see it as well. These are the last finishing touches before shiping!"}, {"post_id": 65616, "ts": "2026-09-10T21:11:00Z", "hours": 2.7175, "text": "I’ve done some little things: I added a random quote endpoint to the server and the 404 - Not Found now displays one. I also started writing the API docs."}, {"post_id": 65050, "ts": "2026-09-09T21:45:57Z", "hours": 0.8633, "text": "I got hacked!! Oh no!! How bad!! ;-D Script injections should now be GONE. (Hacker is sad now ) The edit quote funtion now has an API endpoint and a UI. You can edit a quote with the edit symbol on the quote detail page, which is only displayed, if you are the creator of the post or the admin."}, {"post_id": 63915, "ts": "2026-09-07T23:08:03Z", "hours": 6.0872, "text": "I fixed the layout on mobile devices: The navbar, the admin page, … I edited the API endpoints for quotes: Now there are 2 Endpoints for quotes: get and list I also added the code for quote editing, but the API endpoint is not implemented yet In the client I added a detail page for quotes, where you can see the users, who liked the quote and in the future the comments would also be displayed here A new get user endpoint exists, so the quote posters and the likes can display the real username and not only the user-id I fixed the logout, that was not working, because the client side navigation couldn’t load the /logout because it loads pages from /pages/… so /pages/logout was a 404. Now the logout is in the pages directory, so it works with client side navigation The most time for this devlog was invested on the layout of users who liked a post. I just wanted the users to be displayed in collumns and rows. They should be exactly underneath each other, so the like-icon aligns perfectly. Also the names shouldn’t break, because then one row is larger then the others. It was such a pain getting that “simple” thing to work. I asked multiple AIs, after I had no idea anymore and all gave me trash. The Claude used JS and not only CSS and it finally worked!! It was such a pain but in the end I am very happy with the result."}, {"post_id": 61822, "ts": "2026-09-04T22:26:17Z", "hours": 2.5244, "text": "LIKES!!!!!! Finally!!!! Again only the db held me back. I hate databases! But it has a fun little animation if you click it and it is pretty spam proof (hope so)."}, {"post_id": 60390, "ts": "2026-09-02T18:08:36Z", "hours": 1.5778, "text": "Create quotes now works!!! It was a bit of pain modifing the db. I just wanted plain timestamps in milliseconds but Exposed and SQLite don’t want that, so I setteled on just using long type."}, {"post_id": 59559, "ts": "2026-09-01T13:30:27Z", "hours": 1.2533, "text": "The Server now autmoaticly migrates the DB 🎉🎉🎉🎉🎉🎉 It was not that easy, because Exposed (DB lib for Kotlin) doesn’t automaticly apply migrations. I can generate migration scripts with it but the execution and check if it was already executed I have to do on my own. But I learned a lot in the process."}, {"post_id": 59231, "ts": "2026-08-31T22:04:35Z", "hours": 1.3075, "text": "Now Woodpecker builds the server and client docker-image and releases it on codeberg.org docker registry! Yay!"}, {"post_id": 58878, "ts": "2026-08-31T13:33:37Z", "hours": 2.1544, "text": "I’ve added a form for admins to create invites so you don’t have to interact with the DB or the API manually ;-) Also the first user, that registers doesn’t need an invitation Code and automaticly is an admin. I also started creating the form to create quotes, but it has no functionality at the moment. My next steps that are planed at the moment: Add create quote form functionality Put everything in docker (Add QoL like display all invites & users for admins, display active sessions, …) First RELEASE/SHIP"}, {"post_id": 54823, "ts": "2026-08-25T23:47:38Z", "hours": 0.9147, "text": "New design for the quotes. Now it’s not a boring list but cards that look a lot better."}, {"post_id": 54795, "ts": "2026-08-25T22:23:16Z", "hours": 1.6778, "text": "I’ve added two new themes. Also the theme is now loaded via js, so at a later point the js could read the cookies and load a theme dynamicly."}, {"post_id": 54680, "ts": "2026-08-25T18:51:09Z", "hours": 0.9175, "text": "I’ve now added a logout api endpoint and an option to logout via web client. The difficult part is, that I can’t access the GREX_SESSION cookie via JS, so I have to set another cookie, to know, if the user is logged in. But now it works fine. I hope, that I’m not finding as many bugs if I’m testing the login/logout/register functions."}, {"post_id": 54143, "ts": "2026-08-24T23:40:24Z", "hours": 3.9428, "text": "Not much to say for this devlog, I only created the register form and designed it and the login form."}, {"post_id": 49485, "ts": "2026-08-18T11:02:36Z", "hours": 1.0444, "text": "I improved the navbar and designed an icon as a placeholder for the moment: At a later point the icon should be changable by admins and I think, I will also improve the default icon."}, {"post_id": 48096, "ts": "2026-08-16T11:55:29Z", "hours": 0.9681, "text": "The navigation now works…. But I’m not really happy about it. But for now I started styling a bit (also that I’m not getting flashbanged). How I implemented the client nav at the moment The server now returns the same index.html file for every page and js loads the page-content. This lags sometimes and is not very performant… Style and Themes I’ve started styling. All the colors and also some other properties are specified in a theme-css file, so later you could have your own theme as a css file with only vars or if you want to style even more, you can add custom styles for specifc components, thats the plan for theming."}, {"post_id": 47735, "ts": "2026-08-15T21:02:13Z", "hours": 1.1553, "text": "Started building the real client (at least a concept). I’m currently trying to figure client-side navigation out. I think I have to watch some tutorials…"}, {"post_id": 43988, "ts": "2026-08-09T14:02:55Z", "hours": 1.0517, "text": "I fixed, that if you are already logged in, it still showed the login-form. Also I added a createQuote function (not in the UI yet) and tried fixing the cookie, that don’t want to be saved because of security. I have not comittet the code, because it is at the moment just for me testing, until it can do the most part of the API and is a bit better designed."}, {"post_id": 39681, "ts": "2026-08-02T20:19:03Z", "hours": 1.3894, "text": "I started with a very simple UI (without CSS) to test if the API would work. At the moment you can only login and get all quotes."}, {"post_id": 39604, "ts": "2026-08-02T18:08:59Z", "hours": 1.5794, "text": "I cleaned up even more: Common RequestResult Interface RequestErrors combined into one enum Split the routing config into diffrent files I also added an api endpoint for getting quotes"}, {"post_id": 38407, "ts": "2026-07-31T19:14:05Z", "hours": 1.0397, "text": "I cleaned up the code and added an api endpoint for getting invites"}, {"post_id": 36505, "ts": "2026-07-28T17:40:25Z", "hours": 0.7836, "text": "server: The API now includes the creation of quotes"}, {"post_id": 36404, "ts": "2026-07-28T14:31:13Z", "hours": 1.1194, "text": "server: Now you also can create an account (only with invite) and admins can create invites."}, {"post_id": 35986, "ts": "2026-07-27T19:43:36Z", "hours": 2.0539, "text": "I’ve added DB tables and started with auth. Login works and register is on it’s way!"}, {"post_id": 35846, "ts": "2026-07-27T15:24:34Z", "hours": 1.1892, "text": "I started with a new codebase, because I was not happy with Next.js. Now I want to separate the server from the client for a cleaner architecture. I initalized the new repo I started the base for the server (Kotlin + sqlite)"}, {"post_id": 30137, "ts": "2026-07-17T14:04:35Z", "hours": 0.6931, "text": "IT WORKS!!!! And yea, I’rich, but in the negatives ;-). I just forgot to set a hidden value for the form."}, {"post_id": 29700, "ts": "2026-07-16T19:48:42Z", "hours": 0.8956, "text": "Now you can create transactions! Or can you? It doesn’t work :-( But I can’t find the mistake, I’ll hopefully do tomorrow"}, {"post_id": 28987, "ts": "2026-07-15T16:50:40Z", "hours": 1.5144, "text": "I’ve added the create quote form and the backend used for it. Also if you edit your account, it now uses the new backend."}, {"post_id": 28509, "ts": "2026-07-14T20:10:56Z", "hours": 0.7781, "text": "I finally did the woodpecker build 🎉🎉 I also updated the installer and the README for installation. Now you can test it easiely at home 😉"}, {"post_id": 28476, "ts": "2026-07-14T18:53:02Z", "hours": 2.4917, "text": "I’ve started implementing the backend from ground new, with a cleaner structure, because it was to unclean for me to do work in it. It is not finished, but everything should work at the moment with a mix of old- and new-backend."}, {"post_id": 27841, "ts": "2026-07-13T18:42:24Z", "hours": 0.8558, "text": "I’ve added quotes to the plattform. You can’t create them at the moment, but they are read from the db."}, {"post_id": 27766, "ts": "2026-07-13T16:40:58Z", "hours": 0.3986, "text": "I’ve tried adding woodpecker/forgejo actions for automatic docker builds. I haven’t got it working, but I applied to Codebergs Woodpecker."}]...
|
Title: Grex by @Benkralex | Stardance
Devlogs:
I’ Title: Grex by @Benkralex | Stardance
Devlogs:
I’ve tried adding woodpecker/forgejo actions for automatic docker builds. I haven’t got it working, but I applied to Codebergs Woodpecker.
I’ve added quotes to the plattform. You can’t create them at the moment, but they are read from the db.
I’ve started implementing the backend from ground new, with a cleaner structure, because it was to unclean for me to do work in it. It is not finished, but everything should work at the moment with a mix of old- and new-backend.
I finally did the woodpecker build 🎉🎉 I also updated the installer and the README for installation. Now you can test it easiely at home 😉
I’ve added the create quote form and the backend used for it. Also if you edit your account, it now uses the new backend.
Now you can create transactions! Or can you? It doesn’t work :-( But I can’t find the mistake, I’ll hopefully do tomorrow
IT WORKS!!!! And yea, I’rich, but in the negatives ;-). I just forgot to set a hidden value for the form.
I started with a new codebase, because I was not happy with Next.js. Now I want to separate the server from the client for a cleaner architecture. I initalized the new repo I started the base for the server (Kotlin + sqlite)
I’ve added DB tables and started with auth. Login works and register is on it’s way!
server: Now you also can create an account (only with invite) and admins can create invites.
server: The API now includes the creation of quotes
I cleaned up the code and added an api endpoint for getting invites
I cleaned up even more: Common RequestResult Interface RequestErrors combined into one enum Split the routing config into diffrent files I also added an api endpoint for getting quotes
I started with a very simple UI (without CSS) to test if the API would work. At the moment you can only login and get all quotes.
I fixed, that if you are already logged in, it still showed the login-form. Also I added a createQuote function (not in the UI yet) and tried fixing the cookie, that don’t want to be saved because of security. I have not comittet the code, because it is at the moment just for me testing, until it can do the most part of the API and is a bit better designed.
Started building the real client (at least a concept). I’m currently trying to figure client-side navigation out. I think I have to watch some tutorials…
The navigation now works…. But I’m not really happy about it. But for now I started styling a bit (also that I’m not getting flashbanged). How I implemented the client nav at the moment The server now returns the same index.html file for every page and js loads the page-content. This lags sometimes and is not very performant… Style and Themes I’ve started styling. All the colors and also some other properties are specified in a theme-css file, so later you could have your own theme as a css file with only vars or if you want to style even more, you can add custom styles for specifc components, thats the plan for theming.
I improved the navbar and designed an icon as a placeholder for the moment: At a later point the icon should be changable by admins and I think, I will also improve the default icon.
Not much to say for this devlog, I only created the register form and designed it and the login form.
I’ve now added a logout api endpoint and an option to logout via web client. The difficult part is, that I can’t access the GREX_SESSION cookie via JS, so I have to set another cookie, to know, if the user is logged in. But now it works fine. I hope, that I’m not finding as many bugs if I’m testing the login/logout/register functions.
I’ve added two new themes. Also the theme is now loaded via js, so at a later point the js could read the cookies and load a theme dynamicly.
New design for the quotes. Now it’s not a boring list but cards that look a lot better.
I’ve added a form for admins to create invites so you don’t have to interact with the DB or the API manually ;-) Also the first user, that registers doesn’t need an invitation Code and automaticly is an admin. I also started creating the form to create quotes, but it has no functionality at the moment. My next steps that are planed at the moment: Add create quote form functionality Put everything in docker (Add QoL like display all invites & users for admins, display active sessions, …) First RELEASE/SHIP
Now Woodpecker builds the server and client docker-image and releases it on codeberg.org docker registry! Yay!
The Server now autmoaticly migrates the DB 🎉🎉🎉🎉🎉🎉 It was not that easy, because Exposed (DB lib for Kotlin) doesn’t automaticly apply migrations. I can generate migration scripts with it but the execution and check if it was already executed I have to do on my own. But I learned a lot in the process.
Create quotes now works!!! It was a bit of pain modifing the db. I just wanted plain timestamps in milliseconds but Exposed and SQLite don’t want that, so I setteled on just using long type.
LIKES!!!!!! Finally!!!! Again only the db held me back. I hate databases! But it has a fun little animation if you click it and it is pretty spam proof (hope so).
I fixed the layout on mobile devices: The navbar, the admin page, … I edited the API endpoints for quotes: Now there are 2 Endpoints for quotes: get and list I also added the code for quote editing, but the API endpoint is not implemented yet In the client I added a detail page for quotes, where you can see the users, who liked the quote and in the future the comments would also be displayed here A new get user endpoint exists, so the quote posters and the likes can display the real username and not only the user-id I fixed the logout, that was not working, because the client side navigation couldn’t load the /logout because it loads pages from /pages/… so /pages/logout was a 404. Now the logout is in the pages directory, so it works with client side navigation The most time for this devlog was invested on the layout of users who liked a post. I just wanted the users to be displayed in collumns and rows. They should be exactly underneath each other, so the like-icon aligns perfectly. Also the names shouldn’t break, because then one row is larger then the others. It was such a pain getting that “simple” thing to work. I asked multiple AIs, after I had no idea anymore and all gave me trash. The Claude used JS and not only CSS and it finally worked!! It was such a pain but in the end I am very happy with the result.
I got hacked!! Oh no!! How bad!! ;-D Script injections should now be GONE. (Hacker is sad now ) The edit quote funtion now has an API endpoint and a UI. You can edit a quote with the edit symbol on the quote detail page, which is only displayed, if you are the creator of the post or the admin.
I’ve done some little things: I added a random quote endpoint to the server and the 404 - Not Found now displays one. I also started writing the API docs.
I’ve added a /qpi/quotes/delete endpoint, where the poster or admins can delete a quote and also the button for it is in the UI. If you click it a confirmation popup opens. Also the register and login forms now show, whats wrong. I noticed the bad UX, as I registered a new user and the submit button just didn’t work. In the dev tools I could see the problem, but no normal user is looking into the devtools, so now every normal creature can now see it as well. These are the last finishing touches before shiping!
Small fixes: Icons on login/register page Title support for my own client router Fix popups on mobile
Add table for admins so they can see all registered users.
Add Settings Page with the option to choose a theme. I also changed some Database Stuff and added a user page.
Added search to quotes and account settings
I clean up the code and made many fixes! I also added new features: You can upload profile pictures and the admins can allow bypassing the invite code for the instance.
Ships:
I’m very proud, that I got to a point, where I can ship the project in just about 2 months. Thats when I started the new codebase. I learned a LOT developing the plattform with Next.js (old) and also learned, that I need better types, seperate server and client, … I just don’t like the structure, but now with Kotlin and Ktor on the server and JS on the client I am very satisfied. If you try the project keep in mind, that many features were in the old project and the most time I spent, was creating the base on the new version. This ship ships the foundation on which I will build many more (hopefully cool and usefull) features. Also try the web-client on mobile. I coded responsive for displayes of (hopefully) any size. I’m sorry, that I have no demo-instance, but it is to insecure for me to host a public instance for everyone. Maybe in the next ship I will have a solution for that. Hope you like the project!...
|
1793148745.2980993
|
1793235145.2980993
|
|
68796
|
snekgame by @shreyancat | Stardance
|
shreyancat
|
0
|
1.76
|
0
|
[]
|
[{"post_id": 78078, "ts": "202 [{"post_id": 78078, "ts": "2026-10-09T14:26:37Z", "hours": 1.7628, "text": "game all done,waiting for reviews for any changes or possible improvement……"}]...
|
Title: snekgame by @shreyancat | Stardance
Devlog Title: snekgame by @shreyancat | Stardance
Devlogs:
game all done,waiting for reviews for any changes or possible improvement……...
|
1793126941.3839033
|
1793731741.3839033
|
|
53468
|
MassCompose by @Iarush7 | Stardance
|
Iarush7
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T14:58:00Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I am shipping Masscompose, a downloadable Python package that extends trimesh’s capabilities by allowing users to add point masses to existing STL meshes to calculate the center of mass and inertia tensors. This project initially came from the development of a UAV Unity simulation where I was exploring the importance of custom drone designs, and I used a trimesh-based Python backend to calculate the physical characteristics of the design for accurate flight. That backend has been rewritten to create masscompose! The hardest challenge was definitely testing the project as we were going on. I had to revisit my pytest and learn how to write tests that ensured the math was being done correctly. Also, uploading a package to PYPI feels like a developer milestone, and learning how to package it with twill was interesting as well.", "repo": "https://github.com/Iarush/MassCompose", "demo": "https://github.com/Iarush/masscompose/releases/tag/v.1.0.0"}]...
|
[{"post_id": 78080, "ts": "202 [{"post_id": 78080, "ts": "2026-10-09T14:41:30Z", "hours": 0.3653, "text": "The Python Package has been uploaded to PYPI by packaging it with twill. Additioanally, the demo is also up and running in the repo in the releases section where someone can download the zip file and run the run.py script to install the required dependencies and launch the demo program"}, {"post_id": 78008, "ts": "2026-10-09T05:14:45Z", "hours": 5.6217, "text": "Demo Python Application: To better showcase the abilities of Mass Compose and visualize it. I have also created a demo application. The demo is fully python and can be downloaded from GitHub. It uses PyVista for rendering the 3D meshes, NumPy for some basic error work, and then Pillow so images can be shown in Tkinter. Obviously, Tkinter is used for the UI ,and masscompose is the one doing all the math behind this app. Most importantly, the Mesh shows you the Center of Mass as well as the point mass. You can see how the point masses affect the COM."}, {"post_id": 53368, "ts": "2026-08-23T21:50:02Z", "hours": 8.6286, "text": "The initial mass composer script for UAV NeoSIM is done and bug free! This project started off as a small personal project targeted at adding a feature to UAV NeoSIM (A drone simulation created on Unity) where users can import their own custom drone models and fly them around. A python mass-properties script was created that takes in the imported stl, mass density, and specific point masses for objects such as the motors, the battery, and the computers to calculate the inertial tensors. Out of this working mass composing script evolved the larger idea to make a python package with a more general version of a masscompose function. The idea is to help out game and sim devs everywhere by giving them an easy way to create their own rigidbody physics objects that need the additonal of additional masses. mass-properties (The initial module) took advantage of the trimesh module to calculate the COM and the original inertial tensor from here. The parallel axis theorem was added to calculate the changed COM and inertial tensors with the addition of the point masses. This “backend” of sorts had three parts, the most important being udp_listener which communicated back and forth with unity to recieve coordinates and masses and sent coordinates and masses. This backend serves as the logical backbone that this python package can be finished."}]...
|
Title: MassCompose by @Iarush7 | Stardance
Devlog Title: MassCompose by @Iarush7 | Stardance
Devlogs:
The initial mass composer script for UAV NeoSIM is done and bug free! This project started off as a small personal project targeted at adding a feature to UAV NeoSIM (A drone simulation created on Unity) where users can import their own custom drone models and fly them around. A python mass-properties script was created that takes in the imported stl, mass density, and specific point masses for objects such as the motors, the battery, and the computers to calculate the inertial tensors. Out of this working mass composing script evolved the larger idea to make a python package with a more general version of a masscompose function. The idea is to help out game and sim devs everywhere by giving them an easy way to create their own rigidbody physics objects that need the additonal of additional masses. mass-properties (The initial module) took advantage of the trimesh module to calculate the COM and the original inertial tensor from here. The parallel axis theorem was added to calculate the changed COM and inertial tensors with the addition of the point masses. This “backend” of sorts had three parts, the most important being udp_listener which communicated back and forth with unity to recieve coordinates and masses and sent coordinates and masses. This backend serves as the logical backbone that this python package can be finished.
Demo Python Application: To better showcase the abilities of Mass Compose and visualize it. I have also created a demo application. The demo is fully python and can be downloaded from GitHub. It uses PyVista for rendering the 3D meshes, NumPy for some basic error work, and then Pillow so images can be shown in Tkinter. Obviously, Tkinter is used for the UI ,and masscompose is the one doing all the math behind this app. Most importantly, the Mesh shows you the Center of Mass as well as the point mass. You can see how the point masses affect the COM.
The Python Package has been uploaded to PYPI by packaging it with twill. Additioanally, the demo is also up and running in the repo in the releases section where someone can download the zip file and run the run.py script to install the required dependencies and launch the demo program
Ships:
I am shipping Masscompose, a downloadable Python package that extends trimesh’s capabilities by allowing users to add point masses to existing STL meshes to calculate the center of mass and inertia tensors. This project initially came from the development of a UAV Unity simulation where I was exploring the importance of custom drone designs, and I used a trimesh-based Python backend to calculate the physical characteristics of the design for accurate flight. That backend has been rewritten to create masscompose! The hardest challenge was definitely testing the project as we were going on. I had to revisit my pytest and learn how to write tests that ensured the math was being done correctly. Also, uploading a package to PYPI feels like a developer milestone, and learning how to package it with twill was interesting as well....
|
1793152418.0621932
|
1793238818.0621932
|
|
32700
|
NetLink by @Leon36 | Stardance
|
Leon36
|
2
|
75.0
|
1132
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T14:54:33Z", "hours": 64.0, "multiplier": 16.47, "payout": 982, "blessing": "neutral", "text": "NetLink connect to your network from everywhere without a VPN I made a Web based “OS” to connect to your network without a VPN and accses your resources with protocols like sftp or ssh. I also build a desktop client to emulate a VPN on your pc, so you can accses your network with your own programms Technologys I used WebSockets to transfer data between the client and the Server. For the frontend I choose React, for the backend I used TypeScript.", "repo": "https://github.com/leonst036/NetLink", "demo": "https://netlink.legaming.tech/"}, {"ship_num": 2, "ts": "2026-07-14T19:45:47Z", "hours": 11.0, "multiplier": 14.76, "payout": 150, "blessing": "neutral", "text": "I built a project called NetLink! It lets you connect to your home network from anywhere. Right now, it supports access via VNC, SSH, and SFTP. It uses WebSockets and web based apps to establish the connection. Everything is routed through a relay node, so you don’t need to open any ports on your router. In the demo version, you can set up your own PC as a local server to try it out (active for 24 hours). If you want to use it long-term, you can easily self-host the project on your own hardware (GitHub Readme). I’m planning to add support for more protocols soon. If you have any feedback or ideas on how to improve the project, feel free to leave a comment or send me a DM! Heads up: If you’re using the demo, it might take a few moments to load all your devices.", "repo": "https://github.com/leonst036/NetLink", "demo": "https://netlink.legaming.tech/"}]...
|
[{"post_id": 78081, "ts": "202 [{"post_id": 78081, "ts": "2026-10-09T14:48:26Z", "hours": 6.1889, "text": "Summary: Polished NetLink for a ship Fixed some bugs Remade some screens Made a demo version Made some security fixes"}, {"post_id": 58474, "ts": "2026-08-30T21:50:58Z", "hours": 2.4225, "text": "Summary: Made some bugfixes That’s pretty much all. I found some small thing I didn’t like and fixed them."}, {"post_id": 53323, "ts": "2026-08-23T19:58:03Z", "hours": 6.5603, "text": "Summary: Made NetConnect a programm for Linux to bring you Network to you everywhere (without VPN) I made this using Go and a virtual network device wich act like a spit tunnel vpn, to extract all request from you subnet e.g. 192.168.1.0/24 sends it over a WebSocket to the NetLink relay server and to its target server. I’m not fully done with this, but right now it’s working. Maybe I’ll do a version for windows soon. How you can install it is defined in the NetConnect Repo ONLY FOR LINUX"}, {"post_id": 52016, "ts": "2026-08-22T01:39:34Z", "hours": 6.1189, "text": "Summaray: Refactored netgraph and settings app Yeah, I refactored it. That’s it. I gues I put these applications as picture :-|"}, {"post_id": 49947, "ts": "2026-08-18T22:48:47Z", "hours": 13.9178, "text": "Summary: Refactored NetStore, gave the NetStore it’s own Repo and started making a Minecraft Server Manager. I just refactored the I gues 1200 line longe NetStore app, and I have so much to refactor left. I started the Minecraft Server Manager before the refactoring but it wasn’t in my usual hackatime project, it was in a new one, and my stupid ass thought it was just a technical mistake that the time wasn’t tracked."}, {"post_id": 46375, "ts": "2026-08-13T15:30:43Z", "hours": 3.2525, "text": "Summary: Moved all build-in apps into the NetStore That’s pretty much all…"}, {"post_id": 46019, "ts": "2026-08-12T22:06:19Z", "hours": 1.8247, "text": "Summary: Made a traffic monitor for the NetStore This Devlog isn’t gona be that long, I just made a smal traffic monitor. And some small improvements."}, {"post_id": 45387, "ts": "2026-08-11T20:17:00Z", "hours": 2.0261, "text": "Summary: Secured NetStore and published it. I secured the NetStore so far that I can release it on the main branch. Right now it isn’t in the demo, so you can test it only when you install it by yourself (wich is very easy with the new install script)"}, {"post_id": 44059, "ts": "2026-08-09T16:06:18Z", "hours": 6.2664, "text": "Summary: Added a Docker Manager and done some fixes with the NetStore In my last devlog I made the NetStore, and this is the first application by myself. It’s used to manage your dockers from everywhere (What a wonder, the docker manager can manage docker). It isn’t perfect right now, so it’s not an alternative to something like Portainer or Coolify, but for simple tasks, it’s good enough. Primarily I made this application to add features to the NetStore (I added a lot, only for this application) and of course I found some bugs. The NetStore itself isn’t secured yet (Right now I only added Deno), but I’m working on it!"}, {"post_id": 43289, "ts": "2026-08-08T13:55:07Z", "hours": 3.1814, "text": "Summary: Added NetStore to create custom applications I added an application that allows you to create your own custom applications. I will use this Store to build additional apps myself for niche use cases (e.g., Docker management or local server containers) that will be fetched directly from GitHub. Key features: Custom Routes: Register your own custom backend routes. Frontend: Build and design your own user interface. Local Code: Execute custom code on the local server. IMPORTANT: DO NOT USE NETSTORE IN PRODUCTION OR DEPLOYMENT ENVIRONMENTS. IT IS CURRENTLY NOT SECURE. If you choose to use it anyway, you do so at your own risk. It’s on the dev Branch. I’d recommend to use it only in your local Network"}, {"post_id": 40183, "ts": "2026-08-03T16:15:22Z", "hours": 5.7364, "text": "I fixed some Bugs in the frontend and made some improvements in the backend."}, {"post_id": 33121, "ts": "2026-07-22T18:59:08Z", "hours": 1.8814, "text": "I just refactored the Project I optimized the structure of the local server and the relay. In the frontend, apps will load just when opening them wich is very good for the performance"}, {"post_id": 31896, "ts": "2026-07-20T17:40:45Z", "hours": 4.185, "text": "I completely remade the frontend! It’s now a hybrid of Material 3 and modern Glassmorphism. The overhaul took well over 4 hours though a good chunk was done at school (untracked since I wasn’t logged into Hackatime). Overall, I’m really happy with how the new look turned out! There are probably a few subtle UI bugs hiding in the new design, but I’ll squash those as I find them."}, {"post_id": 28489, "ts": "2026-07-14T19:25:14Z", "hours": 2.3664, "text": "I just finished a few bugs and created an demo enviroment. If you wanna try it, I’ll explain everything in the ship description."}, {"post_id": 27126, "ts": "2026-07-12T12:17:35Z", "hours": 3.7031, "text": "NetLink features a web-based operating system designed to enhance the user experience with VNC and SFTP. I plan to add support for additional protocols, such as RDP, in the future"}, {"post_id": 25976, "ts": "2026-07-10T14:54:42Z", "hours": 1.5586, "text": "Added dynamic SSH server selection. The network scan was a bit difficult. It’s not the prettiest solution to ping every device, but it works!"}, {"post_id": 25492, "ts": "2026-07-09T20:04:51Z", "hours": 2.8922, "text": "Streaming a SSH Session over the relay server"}]...
|
Title: NetLink by @Leon36 | Stardance
Devlogs:
St Title: NetLink by @Leon36 | Stardance
Devlogs:
Streaming a SSH Session over the relay server
Added dynamic SSH server selection. The network scan was a bit difficult. It’s not the prettiest solution to ping every device, but it works!
NetLink features a web-based operating system designed to enhance the user experience with VNC and SFTP. I plan to add support for additional protocols, such as RDP, in the future
I just finished a few bugs and created an demo enviroment. If you wanna try it, I’ll explain everything in the ship description.
I completely remade the frontend! It’s now a hybrid of Material 3 and modern Glassmorphism. The overhaul took well over 4 hours though a good chunk was done at school (untracked since I wasn’t logged into Hackatime). Overall, I’m really happy with how the new look turned out! There are probably a few subtle UI bugs hiding in the new design, but I’ll squash those as I find them.
I just refactored the Project I optimized the structure of the local server and the relay. In the frontend, apps will load just when opening them wich is very good for the performance
I fixed some Bugs in the frontend and made some improvements in the backend.
Summary: Added NetStore to create custom applications I added an application that allows you to create your own custom applications. I will use this Store to build additional apps myself for niche use cases (e.g., Docker management or local server containers) that will be fetched directly from GitHub. Key features: Custom Routes: Register your own custom backend routes. Frontend: Build and design your own user interface. Local Code: Execute custom code on the local server. IMPORTANT: DO NOT USE NETSTORE IN PRODUCTION OR DEPLOYMENT ENVIRONMENTS. IT IS CURRENTLY NOT SECURE. If you choose to use it anyway, you do so at your own risk. It’s on the dev Branch. I’d recommend to use it only in your local Network
Summary: Added a Docker Manager and done some fixes with the NetStore In my last devlog I made the NetStore, and this is the first application by myself. It’s used to manage your dockers from everywhere (What a wonder, the docker manager can manage docker). It isn’t perfect right now, so it’s not an alternative to something like Portainer or Coolify, but for simple tasks, it’s good enough. Primarily I made this application to add features to the NetStore (I added a lot, only for this application) and of course I found some bugs. The NetStore itself isn’t secured yet (Right now I only added Deno), but I’m working on it!
Summary: Secured NetStore and published it. I secured the NetStore so far that I can release it on the main branch. Right now it isn’t in the demo, so you can test it only when you install it by yourself (wich is very easy with the new install script)
Summary: Made a traffic monitor for the NetStore This Devlog isn’t gona be that long, I just made a smal traffic monitor. And some small improvements.
Summary: Moved all build-in apps into the NetStore That’s pretty much all…
Summary: Refactored NetStore, gave the NetStore it’s own Repo and started making a Minecraft Server Manager. I just refactored the I gues 1200 line longe NetStore app, and I have so much to refactor left. I started the Minecraft Server Manager before the refactoring but it wasn’t in my usual hackatime project, it was in a new one, and my stupid ass thought it was just a technical mistake that the time wasn’t tracked.
Summaray: Refactored netgraph and settings app Yeah, I refactored it. That’s it. I gues I put these applications as picture :-|
Summary: Made NetConnect a programm for Linux to bring you Network to you everywhere (without VPN) I made this using Go and a virtual network device wich act like a spit tunnel vpn, to extract all request from you subnet e.g. 192.168.1.0/24 sends it over a WebSocket to the NetLink relay server and to its target server. I’m not fully done with this, but right now it’s working. Maybe I’ll do a version for windows soon. How you can install it is defined in the NetConnect Repo ONLY FOR LINUX
Summary: Made some bugfixes That’s pretty much all. I found some small thing I didn’t like and fixed them.
Summary: Polished NetLink for a ship Fixed some bugs Remade some screens Made a demo version Made some security fixes
Ships:
I built a project called NetLink! It lets you connect to your home network from anywhere. Right now, it supports access via VNC, SSH, and SFTP. It uses WebSockets and web based apps to establish the connection. Everything is routed through a relay node, so you don’t need to open any ports on your router. In the demo version, you can set up your own PC as a local server to try it out (active for 24 hours). If you want to use it long-term, you can easily self-host the project on your own hardware (GitHub Readme). I’m planning to add support for more protocols soon. If you have any feedback or ideas on how to improve the project, feel free to leave a comment or send me a DM! Heads up: If you’re using the demo, it might take a few moments to load all your devices.
NetLink connect to your network from everywhere without a VPN I made a Web based “OS” to connect to your network without a VPN and accses your resources with protocols like sftp or ssh. I also build a desktop client to emulate a VPN on your pc, so you can accses your network with your own programms Technologys I used WebSockets to transfer data between the client and the Server. For the frontend I choose React, for the backend I used TypeScript....
|
1793123265.0656037
|
1793209665.0656037
|
|
68445
|
keyboard by @Lim | Stardance
|
Lim
|
0
|
1.4
|
0
|
[]
|
[{"post_id": 78086, "ts": "202 [{"post_id": 78086, "ts": "2026-10-09T15:05:28Z", "hours": 1.4019, "text": "Already completed the PCB design and the PCB wiring currently doing the case, which is quite hard… Hopefully I could fix this.(DXF importing to freecad and the position isn’t right)"}]...
|
Title: keyboard by @Lim | Stardance
Devlogs:
Alre Title: keyboard by @Lim | Stardance
Devlogs:
Already completed the PCB design and the PCB wiring currently doing the case, which is quite hard… Hopefully I could fix this.(DXF importing to freecad and the position isn’t right)...
|
1793120136.8705003
|
1793724936.8705003
|
|
19113
|
AcademiaOS by @aminoacid | Stardance
|
aminoacid
|
2
|
28.0
|
88
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T15:37:31Z", "hours": 10.0, "multiplier": 8.46, "payout": 88, "blessing": "neutral", "text": "I completed the WebOS 2 mission. In the updated WebOS, I added: pomodoro app weather app clock widget animated cat widget During this project I learned how to retrieve data using javascript for the weather app and how to animate in libresprite. Figuring out how to rotate the clock hands was challenging, but the hardest part of the project was to manage it with my school work and SAT exams.", "repo": "https://github.com/909aminoacid909/AcademiaOS", "demo": "https://909aminoacid909.github.io/AcademiaOS/"}, {"ship_num": 2, "ts": "2026-09-12T11:57:20Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Completed my second Stardance Project! AcademiaOS is my web based operating system inspired by a dark academia aesthetic. I built a notes app, a calculator, a record player and a browser. The most difficult part of this project was definitely the javascript for opening, closing and dragging tabs. Since this is my first project with Javascript, the functionality is quite simple. This project did familiarize me with the basics of the language, and once I’ve learned more I might attempt to work on WebOS 2. I’m very proud of the design of the record player app and all the square buttons; I made sure everything would be cohesive and fit well into the theme.", "repo": "https://github.com/909aminoacid909/AcademiaOS", "demo": "https://909aminoacid909.github.io/AcademiaOS/"}]...
|
[{"post_id": 78092, "ts": "202 [{"post_id": 78092, "ts": "2026-10-09T15:23:22Z", "hours": 0.7172, "text": "Completed the updated README!"}, {"post_id": 78058, "ts": "2026-10-09T12:18:20Z", "hours": 2.4817, "text": "Added an Antique Clock and cat widget. Getting the clock hands to work definitely took me some time. I animated the cat in libresprite."}, {"post_id": 74211, "ts": "2026-09-26T22:25:01Z", "hours": 7.2367, "text": "Finished the pomodoro and the weather app. I designed the logos for the apps and the all the weather icons too in libresprite. Work’s been slow since the SAT date is coming up rip T-T"}, {"post_id": 66537, "ts": "2026-09-12T11:43:46Z", "hours": 0.8903, "text": "Devlog#6 Finished the README file. This project took me forever T-T."}, {"post_id": 66478, "ts": "2026-09-12T09:57:41Z", "hours": 2.9394, "text": "Devlog#5 Completed the browser and the notes app. The javascript for the notes app was the hardest for me to figure out smh. Now I’m going to write a README and submit it."}, {"post_id": 63191, "ts": "2026-09-06T21:11:07Z", "hours": 1.0447, "text": "Devlog#4 Completed most of the record player app. Just have a bit of the javascript left."}, {"post_id": 59825, "ts": "2026-09-01T20:01:27Z", "hours": 2.8883, "text": "Devlog#3 Finished the calculator and a bit of the notes app."}, {"post_id": 47216, "ts": "2026-08-14T23:56:25Z", "hours": 7.3244, "text": "Devlog#2 Ok so during the past week i worked on the: app icon, closing and opening windows, and app selection. It took me a ridiculous amount of time to make the app div change class in response to a click. I disabled pointer events on the background but that just turned it off for all the other windows too. Eventually, i found out i could enable pointer events for everything but the background using the *:not(#background) in css and it FINALLY worked. This was my first time using Javascript, so now that I’ve had some exposure hopefully its easier to work on the individual apps T-T. I made all the icons myself using libresprite."}, {"post_id": 41889, "ts": "2026-08-06T12:05:42Z", "hours": 2.6789, "text": "Devlog#1 Decided to make a pixel background and learned how to use libresprite. Took WAY longer than i thought-"}]...
|
Title: AcademiaOS by @aminoacid | Stardance
Devlo Title: AcademiaOS by @aminoacid | Stardance
Devlogs:
Devlog#1 Decided to make a pixel background and learned how to use libresprite. Took WAY longer than i thought-
Devlog#2 Ok so during the past week i worked on the: app icon, closing and opening windows, and app selection. It took me a ridiculous amount of time to make the app div change class in response to a click. I disabled pointer events on the background but that just turned it off for all the other windows too. Eventually, i found out i could enable pointer events for everything but the background using the *:not(#background) in css and it FINALLY worked. This was my first time using Javascript, so now that I’ve had some exposure hopefully its easier to work on the individual apps T-T. I made all the icons myself using libresprite.
Devlog#3 Finished the calculator and a bit of the notes app.
Devlog#4 Completed most of the record player app. Just have a bit of the javascript left.
Devlog#5 Completed the browser and the notes app. The javascript for the notes app was the hardest for me to figure out smh. Now I’m going to write a README and submit it.
Devlog#6 Finished the README file. This project took me forever T-T.
Finished the pomodoro and the weather app. I designed the logos for the apps and the all the weather icons too in libresprite. Work’s been slow since the SAT date is coming up rip T-T
Added an Antique Clock and cat widget. Getting the clock hands to work definitely took me some time. I animated the cat in libresprite.
Completed the updated README!
Ships:
Completed my second Stardance Project! AcademiaOS is my web based operating system inspired by a dark academia aesthetic. I built a notes app, a calculator, a record player and a browser. The most difficult part of this project was definitely the javascript for opening, closing and dragging tabs. Since this is my first project with Javascript, the functionality is quite simple. This project did familiarize me with the basics of the language, and once I’ve learned more I might attempt to work on WebOS 2. I’m very proud of the design of the record player app and all the square buttons; I made sure everything would be cohesive and fit well into the theme.
I completed the WebOS 2 mission. In the updated WebOS, I added: pomodoro app weather app clock widget animated cat widget During this project I learned how to retrieve data using javascript for the weather app and how to animate in libresprite. Figuring out how to rotate the clock hands was challenging, but the hardest part of the project was to manage it with my school work and SAT exams....
|
1793152393.5367358
|
1793238793.5367358
|
|
29573
|
My very own WebOS by @darshini_raghavendra | Stard My very own WebOS by @darshini_raghavendra | Stardance...
|
darshini_raghavendra
|
0
|
4.65
|
0
|
[]
|
[{"post_id": 78112, "ts": "202 [{"post_id": 78112, "ts": "2026-10-09T16:21:17Z", "hours": 1.2317, "text": "I added some photos to my gallery app! Just Toro doing random stuff :P"}, {"post_id": 77911, "ts": "2026-10-08T18:52:25Z", "hours": 0.6806, "text": "I added some stuff to my notes app. You can now add a new note and write stuff! It will be stored in the browser’s local storage."}, {"post_id": 76783, "ts": "2026-10-04T15:45:47Z", "hours": 2.3031, "text": "I added a notes app to my OS! I will be adding more apps soon."}, {"post_id": 66934, "ts": "2026-09-12T22:12:39Z", "hours": 0.4342, "text": "I made the welcome screen for my OS! (Can you tell I like Toro the cat)"}]...
|
Title: My very own WebOS by @darshini_raghavendra Title: My very own WebOS by @darshini_raghavendra | Stardance
Devlogs:
I made the welcome screen for my OS! (Can you tell I like Toro the cat)
I added a notes app to my OS! I will be adding more apps soon.
I added some stuff to my notes app. You can now add a new note and write stuff! It will be stored in the browser’s local storage.
I added some photos to my gallery app! Just Toro doing random stuff :P...
|
1792806676.3756998
|
1793411476.3756998
|
|
68764
|
Mikan's Zero-G by @restart_notslander | Starda Mikan's Zero-G by @restart_notslander | Stardance...
|
restart_notslander
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T14:41:16Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "After 3 hours of building, Mikan’s Zero-G is ready to ship. It’s a small browser game where you drift a cat through space collecting stars while dodging asteroids - all drawn with canvas code, no image assets. The hardest part was the drift physics: making thrust, drag and wall bounce feel right took a lot of tweaking. I also added a procedural starfield and WebAudio bleeps so the game feels alive without any sound files.", "repo": "https://github.com/maebahesioru/mikans-zero-g", "demo": "https://maebahesioru.github.io/mikans-zero-g/"}]...
|
[{"post_id": 78124, "ts": "202 [{"post_id": 78124, "ts": "2026-10-09T17:06:35Z", "hours": 2.6, "text": "Day 1 of Mikan’s Zero-G. Built the whole game loop today: drift physics (thrust + drag + wall bounce), 15-star collection, asteroid dodging with 3 lives, a procedural starfield, and WebAudio bleeps. All canvas code — no images or sound files. Screenshot attached: mid-game with notes falling."}]...
|
Title: Mikan's Zero-G by @restart_notslander | Title: Mikan's Zero-G by @restart_notslander | Stardance
Devlogs:
Day 1 of Mikan’s Zero-G. Built the whole game loop today: drift physics (thrust + drag + wall bounce), 15-star collection, asteroid dodging with 3 lives, a procedural starfield, and WebAudio bleeps. All canvas code — no images or sound files. Screenshot attached: mid-game with notes falling.
Ships:
After 3 hours of building, Mikan’s Zero-G is ready to ship. It’s a small browser game where you drift a cat through space collecting stars while dodging asteroids - all drawn with canvas code, no image assets. The hardest part was the drift physics: making thrust, drag and wall bounce feel right took a lot of tweaking. I also added a procedural starfield and WebAudio bleeps so the game feels alive without any sound files....
|
1793062352.071047
|
1793148752.071047
|
|
60106
|
X173-126 Citation by @Gooseishere | Stardance
|
Gooseishere
|
0
|
9.36
|
0
|
[]
|
[{"post_id": 78130, "ts": "202 [{"post_id": 78130, "ts": "2026-10-09T17:36:50Z", "hours": 0.3833, "text": "Made my plane’s wing wing span = 37.5 each wing chord =15 , al = length :19 cm width :3cm"}, {"post_id": 76072, "ts": "2026-10-02T07:47:41Z", "hours": 2.2667, "text": "finally made the design gonna bring in the materials to build in some time"}, {"post_id": 70196, "ts": "2026-09-18T17:58:38Z", "hours": 0.4667, "text": "airpane 816-101"}, {"post_id": 69570, "ts": "2026-09-17T10:16:10Z", "hours": 1.1167, "text": "Tried to make a v2 but failed and the motor is fried electronics stopped working and what is this hack dude"}, {"post_id": 69202, "ts": "2026-09-16T16:16:50Z", "hours": 4.2167, "text": "studied so IT cuz I have exam tomorrow and learned about the centre of gravity by making a V1 of the plane dude spent 3hrs , and it failed! , also found that a lego propeller and a small motor won’t propel a large aircraft well i am still waiting for the funding , after i get it i’ll make v2-v3 to launch rockets ! also why does the subject IT has maths ?"}, {"post_id": 64703, "ts": "2026-09-09T10:16:46Z", "hours": 0.9108, "text": "Making a rc airplane ! will be an model of tejas fighter after everything is complete :)"}]...
|
Title: X173-126 Citation by @Gooseishere | Stardan Title: X173-126 Citation by @Gooseishere | Stardance
Devlogs:
Making a rc airplane ! will be an model of tejas fighter after everything is complete :)
studied so IT cuz I have exam tomorrow and learned about the centre of gravity by making a V1 of the plane dude spent 3hrs , and it failed! , also found that a lego propeller and a small motor won’t propel a large aircraft well i am still waiting for the funding , after i get it i’ll make v2-v3 to launch rockets ! also why does the subject IT has maths ?
Tried to make a v2 but failed and the motor is fried electronics stopped working and what is this hack dude
airpane 816-101
finally made the design gonna bring in the materials to build in some time
Made my plane’s wing wing span = 37.5 each wing chord =15 , al = length :19 cm width :3cm...
|
1793033257.282475
|
1793638057.282475
|
|
68855
|
Custom-proxmox by @citunek22 | Stardance
|
citunek22
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T08:17:50Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made like a custom proxmox though it doesn’t work like proxmox it’s based on docker so you can install 4 or 5 apps with one click and then you also get a terminal running with websocket on the dashboard and you can click through the containers. It was quite hard because the debugging of the websocket terminal but now it works. Also I don’t like how downloading images on phones work because I had to put this into my Snapchat folder so it would recognize this as a picture", "repo": "https://github.com/citunek22/HackMox-Custom-Proxmox", "demo": "https://youtu.be/-h0IKcTE2pg?si=MlJskCZXxunYVyuH"}]...
|
[{"post_id": 78147, "ts": "202 [{"post_id": 78147, "ts": "2026-10-09T19:37:34Z", "hours": 11.4086, "text": "Sorry for not writing any devlogs its because i know myself and i never finish my projects so thats why this doesnt have any devlogs except from this also this is how the project looks like"}]...
|
Title: Custom-proxmox by @citunek22 | Stardance
D Title: Custom-proxmox by @citunek22 | Stardance
Devlogs:
Sorry for not writing any devlogs its because i know myself and i never finish my projects so thats why this doesnt have any devlogs except from this also this is how the project looks like
Ships:
I made like a custom proxmox though it doesn’t work like proxmox it’s based on docker so you can install 4 or 5 apps with one click and then you also get a terminal running with websocket on the dashboard and you can click through the containers. It was quite hard because the debugging of the websocket terminal but now it works. Also I don’t like how downloading images on phones work because I had to put this into my Snapchat folder so it would recognize this as a picture...
|
1793062362.1016426
|
1793148762.1016426
|