|
57680
|
NTHS Website by @Summer22 | Stardance
|
Summer22
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T03:41:28Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website for my high school’s NTHS (National Technical Honor Society) Chapter. I am very proud of how it turned out. The challenging part was probably getting the pictures to work, as I don’t use pictures in code much, so I didn’t know how to use them and had to work around the text and the picture overlapping.", "repo": "", "demo": ""}]...
|
[{"post_id": 74259, "ts": "202 [{"post_id": 74259, "ts": "2026-09-27T02:44:13Z", "hours": 1.0072, "text": "I finally finished the project"}, {"post_id": 73782, "ts": "2026-09-25T23:26:36Z", "hours": 2.1922, "text": "I added Javascript to the code to make it so that the people trying to join the club could see if they are eligable."}, {"post_id": 73614, "ts": "2026-09-25T14:12:39Z", "hours": 5.295, "text": "Ive forgotten to log in a while but I have completed the leadership and membership pages and got rid of the resources and events pages."}, {"post_id": 64599, "ts": "2026-09-09T03:30:59Z", "hours": 2.525, "text": "Added a logo and completed more visual aspects"}, {"post_id": 63333, "ts": "2026-09-07T03:03:25Z", "hours": 1.3142, "text": "I started the visual aspects of the about page"}, {"post_id": 62650, "ts": "2026-09-06T03:35:52Z", "hours": 0.2875, "text": "I have started creating the next page (the about page) on the website"}, {"post_id": 61301, "ts": "2026-09-04T04:26:55Z", "hours": 0.6758, "text": "I was able to add 2 sections to the project."}, {"post_id": 60622, "ts": "2026-09-03T02:29:54Z", "hours": 0.7806, "text": "I was able to fade some of the color together and add some extra sections"}, {"post_id": 60579, "ts": "2026-09-03T01:02:38Z", "hours": 1.2456, "text": "So far I have made a navigation bar, set the color scheme, and made the main header"}]...
|
Title: NTHS Website by @Summer22 | Stardance
Devl Title: NTHS Website by @Summer22 | Stardance
Devlogs:
So far I have made a navigation bar, set the color scheme, and made the main header
I was able to fade some of the color together and add some extra sections
I was able to add 2 sections to the project.
I have started creating the next page (the about page) on the website
I started the visual aspects of the about page
Added a logo and completed more visual aspects
Ive forgotten to log in a while but I have completed the leadership and membership pages and got rid of the resources and events pages.
I added Javascript to the code to make it so that the people trying to join the club could see if they are eligable.
I finally finished the project
Ships:
I made a website for my high school’s NTHS (National Technical Honor Society) Chapter. I am very proud of how it turned out. The challenging part was probably getting the pictures to work, as I don’t use pictures in code much, so I didn’t know how to use them and had to work around the text and the picture overlapping....
|
1793005005.839407
|
1793091405.839407
|
|
57671
|
LEDBLE controller by @shurayh | Stardance
|
shurayh
|
1
|
16.61
|
94
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T16:40:44Z", "hours": 15.0, "multiplier": 6.41, "payout": 94, "blessing": "neutral", "text": "LEDBLE CONTROLLER is a web app that allows you to control various functions of your led light strips. It uses the Bluetooth webAPI to connect to your device and let’s you adjust brightness, set specific rgb values and create presets.", "repo": "https://github.com/Shu-rayh/Led-strip-controller", "demo": "https://starlit-lolly-326867.netlify.app"}]...
|
[{"post_id": 70358, "ts": "202 [{"post_id": 70358, "ts": "2026-09-19T01:15:48Z", "hours": 1.6114, "text": "Dev log #10: worked on the things that were requested from me after I shipped. So it got rejected because there was no way for the shipwrights to test it even though i added a video demo I made, so I had to come up with an emulator and add it TwT. I also worked towards rewriting my ai code but that is a bit tricky because its only css I used ai in and how do I re-write it? I also added a feature where it scales the green and blue input values down so it matches the actual red strength on my strips because the red operates 50% dimmer than the other colors so if I select white in the web app what gets displayed irl is like a light blue color. Oh yes and I added the changes to my readme and explained how the emulator works. Lets hope I don’t get rejected again TwT"}, {"post_id": 69213, "ts": "2026-09-16T16:31:41Z", "hours": 1.1344, "text": "Dev log #9: Good news I debugged the code turns out the number inpits were not styling at all because i put a semicolon at the end of this line of code by mistake TwT. input[type=\"range\"]::-webkit-slider-thumb:hover{transform:scale(1.15);}; . I also optimized it for mobile display. I also worked on the Readme and recorded my demo video, I think im finally ready to ship :)"}, {"post_id": 68703, "ts": "2026-09-15T16:01:20Z", "hours": 2.2225, "text": "Dev log #8: Hi guys, Today was a productive day I finished most of the css , just the number input boxes aren’t styling at all for some reason and I need to optimise it for mobile. I also added a footer to let people know what browsers support web bluetooth so this web app can work. Bellow are some images of the webapp on mobile and on desktop."}, {"post_id": 67554, "ts": "2026-09-13T18:09:58Z", "hours": 1.1906, "text": "Dev log #7: I Sketched out the web apps ui design and started coding it, I also decided on a color pallet: #222831 #31363F #76ABAE #EEEEEE"}, {"post_id": 66970, "ts": "2026-09-12T23:27:07Z", "hours": 2.1267, "text": "Dev log #6: Today i started working on the final bits, I reworked the html so its easier to style. So not looking forward to battling with css tomorrow TwT"}, {"post_id": 66262, "ts": "2026-09-12T00:08:03Z", "hours": 1.79, "text": "Dev log #5: Finally got the preset feature working you can now save presets, edit them and delete and everything works when connected to the actually light strips 🥳 (again i apologize for the many pictures i still don’t know how to delete things TwT)"}, {"post_id": 66057, "ts": "2026-09-11T17:00:23Z", "hours": 2.21, "text": "Dev log #4: Im adding a new feature where you can create, edit and delete presets so all you need to do to set it to your favorite color is click on that preset. Unfortunately i haven’t gotten it working as yet will give it another go later today. (also i apologize for the repeated pictures it duplicated for some reason and i cant delete it)"}, {"post_id": 64997, "ts": "2026-09-09T19:28:08Z", "hours": 2.0125, "text": "Dev log #3: Color preview swatch works Hi guys I spent quite some time debugging and trying to figure out why my css for the swatch wasn’t working only to realize that I forgot to put a # in front of a div id number TwT. Everything is working with the BLE ."}, {"post_id": 63282, "ts": "2026-09-07T01:01:51Z", "hours": 0.7719, "text": "Dev log #2: Today I spent a good half an hour trying to figure out why it wasn’t working and why it doesn’t connect only to realise I copied and pasted a few repeated lines (so i don’t need to type it all over again TwT) and forgot to change certain values. Everythings working now though ^^"}, {"post_id": 63249, "ts": "2026-09-06T23:30:11Z", "hours": 1.2656, "text": "Dev log #1: A little bit of background to this project: Hello world! So I have these led light strips that came with a Bluetooth controller, unfortunately the app it came with is unresponsive and doesn’t always work, so I decided to build one myself. So far the website can connect to the light strips, I’m working on it being able to turn the strips on and off, set the rgb values and adjust brightness."}]...
|
Title: LEDBLE controller by @shurayh | Stardance
Title: LEDBLE controller by @shurayh | Stardance
Devlogs:
Dev log #1: A little bit of background to this project: Hello world! So I have these led light strips that came with a Bluetooth controller, unfortunately the app it came with is unresponsive and doesn’t always work, so I decided to build one myself. So far the website can connect to the light strips, I’m working on it being able to turn the strips on and off, set the rgb values and adjust brightness.
Dev log #2: Today I spent a good half an hour trying to figure out why it wasn’t working and why it doesn’t connect only to realise I copied and pasted a few repeated lines (so i don’t need to type it all over again TwT) and forgot to change certain values. Everythings working now though ^^
Dev log #3: Color preview swatch works Hi guys I spent quite some time debugging and trying to figure out why my css for the swatch wasn’t working only to realize that I forgot to put a # in front of a div id number TwT. Everything is working with the BLE .
Dev log #4: Im adding a new feature where you can create, edit and delete presets so all you need to do to set it to your favorite color is click on that preset. Unfortunately i haven’t gotten it working as yet will give it another go later today. (also i apologize for the repeated pictures it duplicated for some reason and i cant delete it)
Dev log #5: Finally got the preset feature working you can now save presets, edit them and delete and everything works when connected to the actually light strips 🥳 (again i apologize for the many pictures i still don’t know how to delete things TwT)
Dev log #6: Today i started working on the final bits, I reworked the html so its easier to style. So not looking forward to battling with css tomorrow TwT
Dev log #7: I Sketched out the web apps ui design and started coding it, I also decided on a color pallet: #222831 #31363F #76ABAE #EEEEEE
Dev log #8: Hi guys, Today was a productive day I finished most of the css , just the number input boxes aren’t styling at all for some reason and I need to optimise it for mobile. I also added a footer to let people know what browsers support web bluetooth so this web app can work. Bellow are some images of the webapp on mobile and on desktop.
Dev log #9: Good news I debugged the code turns out the number inpits were not styling at all because i put a semicolon at the end of this line of code by mistake TwT. input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.15);}; . I also optimized it for mobile display. I also worked on the Readme and recorded my demo video, I think im finally ready to ship :)
Dev log #10: worked on the things that were requested from me after I shipped. So it got rejected because there was no way for the shipwrights to test it even though i added a video demo I made, so I had to come up with an emulator and add it TwT. I also worked towards rewriting my ai code but that is a bit tricky because its only css I used ai in and how do I re-write it? I also added a feature where it scales the green and blue input values down so it matches the actual red strength on my strips because the red operates 50% dimmer than the other colors so if I select white in the web app what gets displayed irl is like a light blue color. Oh yes and I added the changes to my readme and explained how the emulator works. Lets hope I don’t get rejected again TwT
Ships:
LEDBLE CONTROLLER is a web app that allows you to control various functions of your led light strips. It uses the Bluetooth webAPI to connect to your device and let’s you adjust brightness, set specific rgb values and create presets....
|
1793005003.1980402
|
1793091403.1980402
|
|
57660
|
Program Framework by @Wiiwhbfidow | Stardance
|
Wiiwhbfidow
|
1
|
25.29
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T00:15:56Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple framework that builds on the Single DirectMedia Library (an existing library) which helps to take care of some boilerplate and streamline programming projects. I finished the basics like rendering and a component system, but I plan to add more soon! Attached is a rough design diagram (made in Microsoft Paint)", "repo": "https://github.com/User-Name54321/BPFramework", "demo": "https://github.com/User-Name54321/BPFramework/releases"}]...
|
[{"post_id": 82832, "ts": "202 [{"post_id": 82832, "ts": "2026-10-25T23:44:12Z", "hours": 1.1975, "text": "Today, I polished the library a bit more and expanded the demo. First, I thought about how “game logic” would be executed and tied to the existing framework’s clock. I decided that the easiest way for me to implement this was to create a function pointer which is called every “tick” (a moment in which you want to execute updates, with an ideally constant step time). Second, I removed my reporting/logging implementation. I don’t think it’s worth it to reinvent the wheel for this right now, but in the future, I might pull in libraries like spdlog. I also updated the demo to show how input can result in movement. Uhh, I also fixed a memory leak in which I never cleared the list of sprites to be rendered after each frame, so memory usage would slowly climb, and my fps would slowly drop. That’s an issue no more!"}, {"post_id": 82806, "ts": "2026-10-25T21:26:32Z", "hours": 2.4167, "text": "Yesterday, I worked on setting up a Linux build for BPF. SDL is largely designed to be compatible for a variety of different platforms, so I thought that not at least trying* to do so would be a bit of a waste. I spent way too long tracking down dependencies and setting up WSL, but I finally have a working binary for Linux (minor caveat: the audio wrapper which uses SDL_Mixer may or may not work; I can’t tell if there’s an issue with my virtual environment or with my code."}, {"post_id": 81136, "ts": "2026-10-20T01:04:45Z", "hours": 3.3481, "text": "New functioning audio system In the past few days, I have been working on implementing an audio system that relies on SDL_Mixer, a separate library from SDL. I decided to use SDL_Mixer because I did not want to manually manage the mixing of sounds and management of the different audio streams, like that of which I would need to do if I used SDL’s built in audio tools. I also dropped SDL_image from the library right now because it adds too many dependencies, and I don’t think the additional overhead is needed for my intended functionality right now. In the future, I was looking into incorporating WUFFS, which is a programming language that is built to guarantee memory safety when loading files. (link: https://github.com/google/wuffs ) I wasn’t really sure of what to put for my image, so I put an image of me stepping through and debugging my code to troubleshoot nothing being played. (Spoiler alert: I flipped an operator)"}, {"post_id": 78910, "ts": "2026-10-12T00:30:07Z", "hours": 4.3239, "text": "First, I worked a bit more on my observer system under the hood. Instead of relying on observer objects, the subject just takes a reference to a callback which is intended to be called on the subject’s notify(). The picture is a demo where anytime I press a key it prints “test.” I also went through my code and tried to leave comments which clarify the functions and usage of certain things, which should help to make it more usable. Also, my Git connection keeps breaking, which is enraging!"}, {"post_id": 73362, "ts": "2026-09-25T00:05:25Z", "hours": 0.5894, "text": "I finished wiring up a simple test render which uses the framework’s systems. I also worked a bit on cleaning up some of the code and labelling my intentions/future plans. I also verified that my build configurations were ok, and made sure I had no more memory issues."}, {"post_id": 72486, "ts": "2026-09-23T02:07:10Z", "hours": 6.6931, "text": "I cobbled together a component system which allows for the creation of two types of containers. One strictly contains data, while the other one is slower but can also contain references to other components and functions. I based quite a bit of this on some of the patterns I read in “Game Programming Patterns” by Robert Nystrom, and I really recommend it if you are interested. In addition to that, I had a “small” (massive) memory leak which resulted from me misunderstanding the way SDL handles rendering, so I got it to render stuff and clear the command queue which fixed that. I also started a little bit on a logging system which also uses SDL, but I want to make it more natural to use and more fitting with the way I designed this library."}, {"post_id": 69876, "ts": "2026-09-17T23:50:57Z", "hours": 6.8017, "text": "Started basic window management, input systems, and texture rendering. More soon!"}]...
|
Title: Program Framework by @Wiiwhbfidow | Stardan Title: Program Framework by @Wiiwhbfidow | Stardance
Devlogs:
Started basic window management, input systems, and texture rendering. More soon!
I cobbled together a component system which allows for the creation of two types of containers. One strictly contains data, while the other one is slower but can also contain references to other components and functions. I based quite a bit of this on some of the patterns I read in “Game Programming Patterns” by Robert Nystrom, and I really recommend it if you are interested. In addition to that, I had a “small” (massive) memory leak which resulted from me misunderstanding the way SDL handles rendering, so I got it to render stuff and clear the command queue which fixed that. I also started a little bit on a logging system which also uses SDL, but I want to make it more natural to use and more fitting with the way I designed this library.
I finished wiring up a simple test render which uses the framework’s systems. I also worked a bit on cleaning up some of the code and labelling my intentions/future plans. I also verified that my build configurations were ok, and made sure I had no more memory issues.
First, I worked a bit more on my observer system under the hood. Instead of relying on observer objects, the subject just takes a reference to a callback which is intended to be called on the subject’s notify(). The picture is a demo where anytime I press a key it prints “test.” I also went through my code and tried to leave comments which clarify the functions and usage of certain things, which should help to make it more usable. Also, my Git connection keeps breaking, which is enraging!
New functioning audio system In the past few days, I have been working on implementing an audio system that relies on SDL_Mixer, a separate library from SDL. I decided to use SDL_Mixer because I did not want to manually manage the mixing of sounds and management of the different audio streams, like that of which I would need to do if I used SDL’s built in audio tools. I also dropped SDL_image from the library right now because it adds too many dependencies, and I don’t think the additional overhead is needed for my intended functionality right now. In the future, I was looking into incorporating WUFFS, which is a programming language that is built to guarantee memory safety when loading files. (link: https://github.com/google/wuffs ) I wasn’t really sure of what to put for my image, so I put an image of me stepping through and debugging my code to troubleshoot nothing being played. (Spoiler alert: I flipped an operator)
Yesterday, I worked on setting up a Linux build for BPF. SDL is largely designed to be compatible for a variety of different platforms, so I thought that not at least trying* to do so would be a bit of a waste. I spent way too long tracking down dependencies and setting up WSL, but I finally have a working binary for Linux (minor caveat: the audio wrapper which uses SDL_Mixer may or may not work; I can’t tell if there’s an issue with my virtual environment or with my code.
Today, I polished the library a bit more and expanded the demo. First, I thought about how “game logic” would be executed and tied to the existing framework’s clock. I decided that the easiest way for me to implement this was to create a function pointer which is called every “tick” (a moment in which you want to execute updates, with an ideally constant step time). Second, I removed my reporting/logging implementation. I don’t think it’s worth it to reinvent the wheel for this right now, but in the future, I might pull in libraries like spdlog. I also updated the demo to show how input can result in movement. Uhh, I also fixed a memory leak in which I never cleared the list of sprites to be rendered after each frame, so memory usage would slowly climb, and my fps would slowly drop. That’s an issue no more!
Ships:
I made a simple framework that builds on the Single DirectMedia Library (an existing library) which helps to take care of some boilerplate and streamline programming projects. I finished the basics like rendering and a component system, but I plan to add more soon! Attached is a rough design diagram (made in Microsoft Paint)...
|
1793005001.9867795
|
1793091401.9867795
|
|
52630
|
Joke teller by @Triter12hi | Stardance
|
Triter12hi
|
1
|
6.0
|
9
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T21:35:52Z", "hours": 6.0, "multiplier": 1.37, "payout": 9, "blessing": "neutral", "text": "v1.0.0 ok guys if you click Try project it will take you to a github page there you will find Joke_teller.exe (that’s the executable i made) click on it then when downloaded just run it. I am so happy that my project is finally shipped i hope you guys enjoy it(btw i might ship this again sometime) ;D", "repo": "https://github.com/lenacalgary-bit/Joke-Teller", "demo": "https://github.com/lenacalgary-bit/Joke-Teller/releases/tag/Stardance"}]...
|
[{"post_id": 72534, "ts": "202 [{"post_id": 72534, "ts": "2026-09-23T04:47:31Z", "hours": 0.4939, "text": "v0.11 ok guys i might ship this on the 23 cause i don’t have much more to add except adding jokes so ill ship it, add all the jokes found in Just Joking btw all the tongue twisters found in Just Joking are in the program (warning i was trying to get my file usable on the web but it didn’t work so you guys might have to download it) there are 21 q & a jokes, 39 knock knock jokes, 45 tongue twisters, andddd 11 puns = 116 jokes in total"}, {"post_id": 71601, "ts": "2026-09-21T04:12:29Z", "hours": 0.3453, "text": "v0.10, Changes! Well I had to save my streak but… We got more puns! Also v0.8 had an exit button but i removed it so when i will make my program usable on web it won’t cause glitches Spoiler Alert! (if you don’t want to get spoiled don’t look at pic) btw if you guys want to vote for me to count all the jokes currently in my program please do so in the comments(trust me its more than 30 at least)"}, {"post_id": 70950, "ts": "2026-09-20T02:53:58Z", "hours": 0.98, "text": "v0.9 plz help me guys i seem to can’t get a good color for the joke buttons also i repositioned the buttons and added puns"}, {"post_id": 69358, "ts": "2026-09-16T21:33:17Z", "hours": 0.6792, "text": "v0.8 shifted the text in buttons and and added all the tongue twisters found in Just Joking"}, {"post_id": 67687, "ts": "2026-09-13T21:16:24Z", "hours": 0.9492, "text": "Ok v0.7 has now tongue twisters along with a few more tweaks, let me know in the comments about what jokes i should add"}, {"post_id": 65811, "ts": "2026-09-11T06:11:52Z", "hours": 0.3061, "text": "idk what to say v0.6 thats all"}, {"post_id": 65161, "ts": "2026-09-10T03:22:53Z", "hours": 0.3147, "text": "v0.5 ok ok i did that just so i wouldnt lose my streak but hey i added 10 more knock knock jokes"}, {"post_id": 64505, "ts": "2026-09-08T23:13:07Z", "hours": 0.6339, "text": "v0.4! finally you have a choice of the types of jokes! i know the last two devlogs were kinda lousy so i decided it was time to change things up"}, {"post_id": 64046, "ts": "2026-09-08T05:33:35Z", "hours": 0.3186, "text": "v0.3 uoh v0.2 had a serious bug! thankfully it is fixed and now there are now 21 jokes! but there are many jokes out there as soon as i have a free afternoon i will post a devlog with many added jokes"}, {"post_id": 63345, "ts": "2026-09-07T03:31:58Z", "hours": 0.2667, "text": "v0.2 added 8 more jokes"}, {"post_id": 61776, "ts": "2026-09-04T21:03:03Z", "hours": 1.0019, "text": "Basicly v0.1 it is simple but i will continue to add jokes and features. Hope you guys like it :)"}]...
|
Title: Joke teller by @Triter12hi | Stardance
Dev Title: Joke teller by @Triter12hi | Stardance
Devlogs:
Basicly v0.1 it is simple but i will continue to add jokes and features. Hope you guys like it :)
v0.2 added 8 more jokes
v0.3 uoh v0.2 had a serious bug! thankfully it is fixed and now there are now 21 jokes! but there are many jokes out there as soon as i have a free afternoon i will post a devlog with many added jokes
v0.4! finally you have a choice of the types of jokes! i know the last two devlogs were kinda lousy so i decided it was time to change things up
v0.5 ok ok i did that just so i wouldnt lose my streak but hey i added 10 more knock knock jokes
idk what to say v0.6 thats all
Ok v0.7 has now tongue twisters along with a few more tweaks, let me know in the comments about what jokes i should add
v0.8 shifted the text in buttons and and added all the tongue twisters found in Just Joking
v0.9 plz help me guys i seem to can’t get a good color for the joke buttons also i repositioned the buttons and added puns
v0.10, Changes! Well I had to save my streak but… We got more puns! Also v0.8 had an exit button but i removed it so when i will make my program usable on web it won’t cause glitches Spoiler Alert! (if you don’t want to get spoiled don’t look at pic) btw if you guys want to vote for me to count all the jokes currently in my program please do so in the comments(trust me its more than 30 at least)
v0.11 ok guys i might ship this on the 23 cause i don’t have much more to add except adding jokes so ill ship it, add all the jokes found in Just Joking btw all the tongue twisters found in Just Joking are in the program (warning i was trying to get my file usable on the web but it didn’t work so you guys might have to download it) there are 21 q & a jokes, 39 knock knock jokes, 45 tongue twisters, andddd 11 puns = 116 jokes in total
Ships:
v1.0.0 ok guys if you click Try project it will take you to a github page there you will find Joke_teller.exe (that’s the executable i made) click on it then when downloaded just run it. I am so happy that my project is finally shipped i hope you guys enjoy it(btw i might ship this again sometime) ;D...
|
1793005000.767717
|
1793091400.767717
|
|
57600
|
Microfreelance Hub by @hazypak | Stardance
|
hazypak
|
1
|
21.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T16:44:31Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a platform for students to post about their achivements , its like linkledin but focuses on students and helps them build their portfolio , this is ship one , I know there are errors but since my school started i cant fix them i am tooo busy , i hope it can ship and then i can work on it even after stardance hopefully", "repo": "https://github.com/hazypak/micro-freelance-hub", "demo": "https://micro-freelance-hub.vercel.app/"}]...
|
[{"post_id": 74546, "ts": "202 [{"post_id": 74546, "ts": "2026-09-27T16:39:59Z", "hours": 0.4222, "text": "Finalizied everything fixed google auth issue (hopefully)"}, {"post_id": 60601, "ts": "2026-09-03T01:52:06Z", "hours": 0.6581, "text": "updated the read me and fixed google login issues"}, {"post_id": 60488, "ts": "2026-09-02T21:06:42Z", "hours": 1.0914, "text": "just had to run clear on claude code to stop autocompact thrashing and save some tokens by only scanning the essential auth files for microfreelance hub completely revamped the ui to be super playful and widget based with soft rounded borders and cute micro interactions fixed the signup ux so it actually tells you to check your gmail for the activation link added google oauth through supabase so you can just one click sign in and threw cloudflare turnstile captcha on the forms to block bots also used the graphify skill to map it all out and squashed some typescript errors while i was at it finally coming together nicely cheerios (for some reason my claude was having a thinking crisis (if that exists lol))"}, {"post_id": 60367, "ts": "2026-09-02T17:36:13Z", "hours": 18.9314, "text": "Before I could even start building Microfreelance Hub, I had to configure my setup from scratch. I connected Claude Code using Omni Router and literally logged into 44 free providers just to stack enough tokens. Sorting out all the skills, plugins, and CLI configurations was easily the hardest part—first time for everything, lol!Once the environment was set up, I spent a full hour crafting and perfecting my prompt before hitting enter. Then I was actually ready.What followed was a 6-day saga of hitting rate limits, battling random API failures, and counting 27 separate 503 errors. But after grinding through all of that, the website is finally built and alive!Right now, I’m working through a quick deployment bug to get the live site running smoothly. School just started back up, so I’m juggling classes while sorting this out. I’ve built a bunch of projects before—like my game Pixel Planet Healers and my personal portfolio—but I’m pushing Claude Code to its absolute limits on this build.Here’s my first official devlog. Cheers to anyone reading this! :D"}]...
|
Title: Microfreelance Hub by @hazypak | Stardance
Title: Microfreelance Hub by @hazypak | Stardance
Devlogs:
Before I could even start building Microfreelance Hub, I had to configure my setup from scratch. I connected Claude Code using Omni Router and literally logged into 44 free providers just to stack enough tokens. Sorting out all the skills, plugins, and CLI configurations was easily the hardest part—first time for everything, lol!Once the environment was set up, I spent a full hour crafting and perfecting my prompt before hitting enter. Then I was actually ready.What followed was a 6-day saga of hitting rate limits, battling random API failures, and counting 27 separate 503 errors. But after grinding through all of that, the website is finally built and alive!Right now, I’m working through a quick deployment bug to get the live site running smoothly. School just started back up, so I’m juggling classes while sorting this out. I’ve built a bunch of projects before—like my game Pixel Planet Healers and my personal portfolio—but I’m pushing Claude Code to its absolute limits on this build.Here’s my first official devlog. Cheers to anyone reading this! :D
just had to run clear on claude code to stop autocompact thrashing and save some tokens by only scanning the essential auth files for microfreelance hub completely revamped the ui to be super playful and widget based with soft rounded borders and cute micro interactions fixed the signup ux so it actually tells you to check your gmail for the activation link added google oauth through supabase so you can just one click sign in and threw cloudflare turnstile captcha on the forms to block bots also used the graphify skill to map it all out and squashed some typescript errors while i was at it finally coming together nicely cheerios (for some reason my claude was having a thinking crisis (if that exists lol))
updated the read me and fixed google login issues
Finalizied everything fixed google auth issue (hopefully)
Ships:
I have made a platform for students to post about their achivements , its like linkledin but focuses on students and helps them build their portfolio , this is ship one , I know there are errors but since my school started i cant fix them i am tooo busy , i hope it can ship and then i can work on it even after stardance hopefully...
|
1793004999.646527
|
1793091399.646527
|
|
38768
|
Stardew calc by @hrushal | Stardance
|
hrushal
|
1
|
18.29
|
157
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T16:31:39Z", "hours": 18.0, "multiplier": 8.57, "payout": 157, "blessing": "neutral", "text": "Starcalc YES THIS IS ANOTHER STARDEW CALCULATOR The problem i wanted to solve w this was making important information thats slighly harder to find on the wiki and requires a lot of clicks like gold/day for each crop, which monster drops what and how to make some artisanal goods be shown upfront so instead of just going down rabbit holes of reddit and wiki i could just open the website and check what things i can do w a specific item and which equipment to use The website has 4 core functions rn which are Crops Monsters Artisanal goods Animals The information is laid in simple to read cards with a image and clear description and the important numbers are highlighted and to avoid clutter produce etc is grouped under a dropdown so you arent bombarded with information you dont need I had a lot of trouble w finalizing the design AND WORST OF ALL TSPARTICLES and then making card components for every page cuz the data is diff for everything and i decided individual components would speed it up", "repo": "https://github.com/Hrushal-Nikhare/star", "demo": "https://star-xi-seven.vercel.app/"}]...
|
[{"post_id": 72637, "ts": "202 [{"post_id": 72637, "ts": "2026-09-23T12:29:59Z", "hours": 0.2906, "text": "Fixed readme with images and website had no title 😭"}, {"post_id": 71390, "ts": "2026-09-20T18:52:44Z", "hours": 3.7192, "text": "WE ARE BACK W IT AND WE FINSIHED THE PROJECT ported the card component to every single sub page and made sure it works shifted sm styles into global.css removed the search route and slug to make it static render able also cuz i didnt find a use for it l8r DEPOLYED ON VERCEL https://star-xi-seven.vercel.app/ added back to home button and mobile compatibility THANK YOU EVERYONE"}, {"post_id": 70150, "ts": "2026-09-18T15:46:19Z", "hours": 1.6047, "text": "DONE W CARD COMPONENT THEY LOOK SO GOOD took 1.5hrs but it looks good atleast 😭"}, {"post_id": 69233, "ts": "2026-09-16T16:57:19Z", "hours": 3.8619, "text": "New homepage and then made a card component for showing the animals (for now) Learnt about how logic in svelte is done w {#} and {/} and then also components and nested objects were pmo i have to make the cards pretty and then if conditionals on prices and dropdown for the produce and tags and then layout too so thanks for reading"}, {"post_id": 60396, "ts": "2026-09-02T18:13:51Z", "hours": 3.5, "text": "NEW NOT SO PLAIN BACKDROP tldr: basically i gave up so i wanted the plans and the wine bottle to have this cute colored circles to ‘splash’ out when you click it But then i look for svelte particle libraries and its only tsparticles which is FINE BUT HOLY DEBUGGING so i went on a side quest to learn it DECENTLY and thats how we have a background ik its not fancy or anything or a lot of added code but the debugging uh let not also shifted to bun for everything and had some issues w vite asw also bun has great support for this stuff crazy"}, {"post_id": 40874, "ts": "2026-08-04T17:53:29Z", "hours": 2.5747, "text": "Redeigned the home page cuz it looked really boring and life less and nothing like stardew spent an hr making the ui and then aft clg started has a urge to redesign the ui so um here we are (feedback and logo help appreciated) Tried three diff styles to see which one i like some of them were: Notebook flipping ish Purple heatmap ahh Cool png animation stuff ( gave up before trying bc couldnt find assets) THE title above is currently in the works of making the A a Star cuz hehe stardew starcalc The Pngs will hopefully have a transition animation where the coffee plant sheds the berries and it swoops to the crops page animals has egg particles artisanal has a foam jet or smth and the slime for moster loses his color and becomes the resource now ill have to ditch all of my programming of the previous ui and start all over again but lowk worth it i need it to be pretty cuz i said so. added both old and new ui for yall to rate and tell pls help me i suck at ui"}, {"post_id": 36960, "ts": "2026-07-29T11:48:44Z", "hours": 3.1017, "text": "Season and Professions Mocked up in Figma purple color scheme Handmade font/icons 2.Chose svelte for no reason (other than to learn) 3. Made Gemni write a data.json to Prototype w (eventually will nosql/sqllite it) 4. Season Select using radios that look like buttons w functioning hover and select colors ( took alot of time and help NO AI THO ALL DOCS) 5. Profession Select drafted but need to Read and add the perks to the data/process in js"}]...
|
Title: Stardew calc by @hrushal | Stardance
Devlo Title: Stardew calc by @hrushal | Stardance
Devlogs:
Season and Professions Mocked up in Figma purple color scheme Handmade font/icons 2.Chose svelte for no reason (other than to learn) 3. Made Gemni write a data.json to Prototype w (eventually will nosql/sqllite it) 4. Season Select using radios that look like buttons w functioning hover and select colors ( took alot of time and help NO AI THO ALL DOCS) 5. Profession Select drafted but need to Read and add the perks to the data/process in js
Redeigned the home page cuz it looked really boring and life less and nothing like stardew spent an hr making the ui and then aft clg started has a urge to redesign the ui so um here we are (feedback and logo help appreciated) Tried three diff styles to see which one i like some of them were: Notebook flipping ish Purple heatmap ahh Cool png animation stuff ( gave up before trying bc couldnt find assets) THE title above is currently in the works of making the A a Star cuz hehe stardew starcalc The Pngs will hopefully have a transition animation where the coffee plant sheds the berries and it swoops to the crops page animals has egg particles artisanal has a foam jet or smth and the slime for moster loses his color and becomes the resource now ill have to ditch all of my programming of the previous ui and start all over again but lowk worth it i need it to be pretty cuz i said so. added both old and new ui for yall to rate and tell pls help me i suck at ui
NEW NOT SO PLAIN BACKDROP tldr: basically i gave up so i wanted the plans and the wine bottle to have this cute colored circles to ‘splash’ out when you click it But then i look for svelte particle libraries and its only tsparticles which is FINE BUT HOLY DEBUGGING so i went on a side quest to learn it DECENTLY and thats how we have a background ik its not fancy or anything or a lot of added code but the debugging uh let not also shifted to bun for everything and had some issues w vite asw also bun has great support for this stuff crazy
New homepage and then made a card component for showing the animals (for now) Learnt about how logic in svelte is done w {#} and {/} and then also components and nested objects were pmo i have to make the cards pretty and then if conditionals on prices and dropdown for the produce and tags and then layout too so thanks for reading
DONE W CARD COMPONENT THEY LOOK SO GOOD took 1.5hrs but it looks good atleast 😭
WE ARE BACK W IT AND WE FINSIHED THE PROJECT ported the card component to every single sub page and made sure it works shifted sm styles into global.css removed the search route and slug to make it static render able also cuz i didnt find a use for it l8r DEPOLYED ON VERCEL https://star-xi-seven.vercel.app/ added back to home button and mobile compatibility THANK YOU EVERYONE
Fixed readme with images and website had no title 😭
Ships:
Starcalc YES THIS IS ANOTHER STARDEW CALCULATOR The problem i wanted to solve w this was making important information thats slighly harder to find on the wiki and requires a lot of clicks like gold/day for each crop, which monster drops what and how to make some artisanal goods be shown upfront so instead of just going down rabbit holes of reddit and wiki i could just open the website and check what things i can do w a specific item and which equipment to use The website has 4 core functions rn which are Crops Monsters Artisanal goods Animals The information is laid in simple to read cards with a image and clear description and the important numbers are highlighted and to avoid clutter produce etc is grouped under a dropdown so you arent bombarded with information you dont need I had a lot of trouble w finalizing the design AND WORST OF ALL TSPARTICLES and then making card components for every page cuz the data is diff for everything and i decided individual components would speed it up...
|
1793004998.4800441
|
1793091398.4800441
|
|
52596
|
My first slack bot! - Blackreaper by @DaviSilva | My first slack bot! - Blackreaper by @DaviSilva | Stardance...
|
DaviSilva
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T01:02:51Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What I built I made a Slack bot called BlackReaper. It has a few different commands like ping, help, cat facts, jokes, dice, coin flip, and random dog photos. Some of them also use APIs, like the cat fact, joke, and dog photo commands. I also added the three extra commands that were required for the challenge. They are all in my code, but for some reason the three new ones aren’t showing up in Slack. I’m not really sure what happened with the configuration, but I’m still shipping the project since the commands are already in the code. If someone knows what I did wrong or can help me get them working in Slack, I’d really appreciate it. What was challenging I started this project basically knowing nothing about JavaScript, so there was definitely a lot to figure out. The setup was probably the hardest part for me, especially VS Code and the Nest configuration. I ran into a bunch of problems and had to use AI to help me figure some of them out, but I also learned from fixing those problems. What I’m proud of I’m really proud that I actually finished the project. This is my first project on StarDance, and I started it without really knowing JavaScript or how to make a bot. Seeing everything actually work after all the problems I had was really cool. What people should know I put a lot of time and effort into this project and made it with a lot of care. The main commands are working, and the three extra commands are already in the code. The only thing I’m still trying to figure out is why those new commands aren’t showing up in Slack. If someone can help me fix that, I’d really appreciate it!", "repo": "https://github.com/X-BlackScythe/BlackReaper---First-Slack-Bot-", "demo": "https://hackclub.enterprise.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 71534, "ts": "202 [{"post_id": 71534, "ts": "2026-09-21T00:54:33Z", "hours": 0.35, "text": "So for this new version I added 4 new commands, the joke example from the mission guide, roll a dice, flip a coin and dog photo, Idk if I have to restart something or what but on the VsCode the code for the commands is there but when I try using them on Slack they do not appear…. I’ll ship the project because IDK what to do now, But I did my work with everything that I have :)"}, {"post_id": 62372, "ts": "2026-09-05T18:18:48Z", "hours": 0.3969, "text": "Almost done! - First Slack Bot. Today I made my nest account and got to put my bot (BlackReaper) to work 24/7, I had some problems along the way and had the help of AI to explain it to me, the biggest problem that I had was with the name Index.js hahahaha, I was trying to run it by writing “ node index.js” and it wasn’t working because I had to write “ node Index.js” with the big “i”, I spent 5 minutes just to notice this. I want to add at least 1 more command with API before finishing the project. I also added in the GitHub repository the “README.ms”. Thanks for reading!"}, {"post_id": 54788, "ts": "2026-08-25T22:04:23Z", "hours": 0.4278, "text": "(DevLog #01) First Slack Bot - Blackreaper Until yesterday I didn’t know anything about a slack bot, but today I got to make one and put it to work! I named it Blackreaper, it main purpose its to respond commands in the channel #bot-spam on (Hack Club - Slack) , it has the commands /blackreaper-ping /blackreaper-help and /blackreaper-catfacts ( The last one use an API to get the facts!), I got some problems with VsCode Git and NodeJS but nothing seriously just some configurations, I want to add more commands that uses API’s in the future. That is my first DevLog! Thanks!"}]...
|
Title: My first slack bot! - Blackreaper by @DaviS Title: My first slack bot! - Blackreaper by @DaviSilva | Stardance
Devlogs:
(DevLog #01) First Slack Bot - Blackreaper Until yesterday I didn’t know anything about a slack bot, but today I got to make one and put it to work! I named it Blackreaper, it main purpose its to respond commands in the channel #bot-spam on (Hack Club - Slack) , it has the commands /blackreaper-ping /blackreaper-help and /blackreaper-catfacts ( The last one use an API to get the facts!), I got some problems with VsCode Git and NodeJS but nothing seriously just some configurations, I want to add more commands that uses API’s in the future. That is my first DevLog! Thanks!
Almost done! - First Slack Bot. Today I made my nest account and got to put my bot (BlackReaper) to work 24/7, I had some problems along the way and had the help of AI to explain it to me, the biggest problem that I had was with the name Index.js hahahaha, I was trying to run it by writing “ node index.js” and it wasn’t working because I had to write “ node Index.js” with the big “i”, I spent 5 minutes just to notice this. I want to add at least 1 more command with API before finishing the project. I also added in the GitHub repository the “README.ms”. Thanks for reading!
So for this new version I added 4 new commands, the joke example from the mission guide, roll a dice, flip a coin and dog photo, Idk if I have to restart something or what but on the VsCode the code for the commands is there but when I try using them on Slack they do not appear…. I’ll ship the project because IDK what to do now, But I did my work with everything that I have :)
Ships:
What I built I made a Slack bot called BlackReaper. It has a few different commands like ping, help, cat facts, jokes, dice, coin flip, and random dog photos. Some of them also use APIs, like the cat fact, joke, and dog photo commands. I also added the three extra commands that were required for the challenge. They are all in my code, but for some reason the three new ones aren’t showing up in Slack. I’m not really sure what happened with the configuration, but I’m still shipping the project since the commands are already in the code. If someone knows what I did wrong or can help me get them working in Slack, I’d really appreciate it. What was challenging I started this project basically knowing nothing about JavaScript, so there was definitely a lot to figure out. The setup was probably the hardest part for me, especially VS Code and the Nest configuration. I ran into a bunch of problems and had to use AI to help me figure some of them out, but I also learned from fixing those problems. What I’m proud of I’m really proud that I actually finished the project. This is my first project on StarDance, and I started it without really knowing JavaScript or how to make a bot. Seeing everything actually work after all the problems I had was really cool. What people should know I put a lot of time and effort into this project and made it with a lot of care. The main commands are working, and the three extra commands are already in the code. The only thing I’m still trying to figure out is why those new commands aren’t showing up in Slack. If someone can help me fix that, I’d really appreciate it!...
|
1793004997.3468723
|
1793091397.3468723
|
|
11169
|
SupplyChains by @Thijmen | Stardance
|
Thijmen
|
1
|
313.73
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T19:48:03Z", "hours": 307.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Supply Chains Supply Chains is a game inspired by Transport Fever and Mindustry, centered around building road networks and logistics chains for construction and mining operations. Features Vehicles, trailers and a garage Route system: pick a source, a destination and a resource, then assign it to a vehicle Multi-step production chains Construction sites, trading, generated terrain, and A* pathfinding with road weights Controls: WASD camera, 1-5 build, right click remove, space pause. Everything else is in HELP.md . Known limitations I’m a solo dev, so some things aren’t finished. The full list is in the README. Hope you enjoy it!", "repo": "https://github.com/thijmenb1/roadbalencer", "demo": "https://github.com/thijmenb1/SupplyChains/releases/tag/v0.1.3"}]...
|
[{"post_id": 80746, "ts": "202 [{"post_id": 80746, "ts": "2026-10-18T18:11:49Z", "hours": 6.7261, "text": "Devlog 27: Tutorial: After feadback I have dicided to make a tutorial and made a couple quality of live updates that made the game easier to understand."}, {"post_id": 76500, "ts": "2026-10-03T19:24:02Z", "hours": 16.3356, "text": "Devlog 26: Last devlog I’ve officially finished the game. It’s been an incredible journey, and I’m pretty happy with the end result. excavator The excavator is now fully functional. You can use it to create mines, which automatically convert into factories once placed. a lot of small things I have done a lot of small things to optimse the game and fix things i coudend test till now Release This is the last devlog I’ll be writing for this project. I want to thank you all for the support. I hope you enjoy playing the game."}, {"post_id": 75365, "ts": "2026-09-29T21:04:49Z", "hours": 9.8742, "text": "Devlog 25: Planes and saving! I’ve locked in over the last 2 days and finished the final 2 of the 3 major systems. I’ve completed the planes (which now spawn when you accept an order) and finished the saving system. Planes/order system I’ve finished the order system, when you accept an order, a plane now spawns a couple thousand pixels out. It flies to the airstrip, loads up at the end of the runway, turns around, and flies away. It doesn’t taxi all the way to the terminal because I just don’t have time for that, but it looks good enough for now. Saving You can now save 3 worlds in the game. Everything gets encrypted and saves all the world values. It was pretty difficult converting some of the arrays filled with instances into dictionaries and back again, but it works on both PC and on the web. whats left: The only things left are the excavator and some smaller things. I’m finishing that all tomorrow, and that will be the last devlog for my ship. The main gameplay loop should be finished by end of day tomorrow. If I can’t finish everything, so be it, I dont have time to work on it anymore if I also want to continu in third space, but I’m happy with how it works now and what I have learned along the way."}, {"post_id": 74558, "ts": "2026-09-27T17:07:31Z", "hours": 10.1058, "text": "Devlog 24: Construction finished and start secunce made I’ve finished the construction system and made the start sequence actually playable by adding a resource box containing 10 iron bars needed to build a terminal. It’s been 2 weeks since my last devlog school and commitments to Third Space have kept me busier, so I’m not 100% certain I’ve captured everything that’s changed. Construction system The construction system now generates building routes that you can assign vehicles to. Resources must be delivered to a building site before construction begins, making the resource system meaningful in actual gameplay. Starting secunce The starting secunce now has a couple of steps: Place the resource box Place a runway Place a terminal Conect the runway with the terminal with a taxiway Place 4 base tiles for the vehicle to spawn on What has to be done: Mine/excavator system ~3h Finish trade system ~3h Save system ~2h Documentation ~2h"}, {"post_id": 67659, "ts": "2026-09-13T20:19:08Z", "hours": 10.0428, "text": "Devlog 23: Vehicle pathfinding and construction I have fixed the vehicle pathfinding (mostly) and I have made the construction system. Vehicle pathfinding I have fixed the vehicle pathfinding and it works now mostly. I say mostly because it breaks when a trailer is equipped, but that is a way smaller thing to fix. Construction system It’s almost done. The system makes it so the resources actually have a function and you now need to deliver resources to a building site before the factory can get built. Still not done I know I said it would be done this weekend and it still isn’t, but it’s almost there. What I still have to do: The mine/excavator ~5h Finishing a couple of systems (like the construction and trade system) ~5h Make a savegame system ~5h Small things ~2h Documentation ~2h So 2 devlogs left, and otherwise I will just ship incomplete because I don’t have time anymore."}, {"post_id": 66739, "ts": "2026-09-12T17:07:44Z", "hours": 10.2911, "text": "Devlog 22: Factory UI and Finished base building I’ve finished base building and am now working on the factory UI. Factory UI I’m working on the factory UI, where you can see the factory’s storage and change its recipe. It’s almost finished. Base building Base building is finished you can now make taxiways and build a warehouse. I’ve also put these into a UI like the factory’s, so it only takes one button. Vehicle physics/pathfinding I’ve spent yet another hour on vehicle physics/pathfinding, and I’ve narrowed it down to a bug in the handoff to the prebaked paths of the factories. Timeline I’m pretty sure I am gooing tho finish it this weekend. What’s left: Vehicle physics ~3h Mines/excavators ~5h Building construction (will reuse most of the factory logic) ~2h Random bugs and small things ~5h"}, {"post_id": 65022, "ts": "2026-09-09T20:33:42Z", "hours": 9.9275, "text": "Devlog 21: Trading Finished, but I’m Stuck I’ve finished the trading system! Trading System The trading system is done. Orders are generated, you can accept them, and accepted trades show up in the UI. The only thing left is adding the planes, but that depends on finishing the base-building system first. Base Building I’ve started working on base building. It’s pretty simple and mostly uses systems that already exist, so it should only take around an hour to fully implement. Stuck Development has been going way slower than I hoped because my codebase is currently a bunch of bandaids stacked on top of each other. I also need to ship this week since Thirdspace starts next week, which means I probably won’t have time to add much polish.So I need your opinion: is it worth delaying the game for another week? 😭 Or should I just ship it? Do you think I’ll still be able to afford the Framework 13 if I release it now? My current plan is to focus on getting the core systems working, fix any major bugs, and leave extra polish and construction vehicles for a post-launch update."}, {"post_id": 62429, "ts": "2026-09-05T19:31:29Z", "hours": 9.9097, "text": "Devlog 20: UI and Trading Got the backend for the trading system done and overhauled the UI to go with it. Trading System I made a trading system. It generates contracts with the recipient’s name, the resource being traded, and the price. Basically the foundation for the aircraft system. UI Redesigned the time and date display because it looked kinda rough. Also switched the economy back to money instead of the resource, makes way more sense for trading. Oh, and vehicles now actually speed up when you speed up time, which is pretty cool. What’s Shipping vs Later I’m not including construction vehicles in the initial release because that’s like 40+ more hours of work and I want to actually finish this before Thirdspace starts (I’m gonna compete too). So yeah, that’s going to a post-launch update. Still gotta do: Get the excavators working (mines) ~5h Finish the trading system ~3h Fix vehicle physics again 😭~5h Random bugs and polish ~5h Hope I can get that done this week. Tryna hit at least 14sd/h so I can hopfuly buy that Framework 13 lol"}, {"post_id": 55609, "ts": "2026-08-27T16:01:00Z", "hours": 4.3333, "text": "Devlog 19: Busy School has started again and I have been geting busy and my motivation is also not that high right now because things take alot longer and dont work like i want to. I think I will delay release to septembere 12th."}, {"post_id": 50634, "ts": "2026-08-19T21:45:22Z", "hours": 9.9061, "text": "Devlog 18: Pre-baked docking paths I’ve implemented pre-baked docking paths for factory entrances to solve some pathfinding issues with vehicle physics. Pre-baked paths The A* pathfinding system was struggling to navigate the sharp corners around factory entrances. When the trailer tried to find its own path through these tight spaces, it would instantly jackknife, not ideal. Rather than spend 50+ hours refining the vehicle physics, I decided to pre-bake specific docking paths to each factory. It’s not a perfect solution visually, but it’s functional and gets the job done. I can always refine this for a post-launch update if needed. I’m still wrapping up the final details of the docking path system before moving on. Mines My next major task is implementing mine logic, which includes the excavator logic and ore detection and depletion. Aircraft After the mining logic I will add the last vital gameplay system the aircraft system which will be responsible trade and contracts with other villages. Release I’m currently deciding whether to push construction vehicle implementation to a post-beta update or delay the release by a week to include them. Construction vehicles aren’t vital to core gameplay, but they would add a lot of polish. I’m still on the fence about this one, it depends on how the mine logic implementation goes."}, {"post_id": 49170, "ts": "2026-08-17T20:13:08Z", "hours": 9.9731, "text": "Devlog 17: Factory placement I’ve built a system for placing factories in the world. Factory placement Turns out it’s an absolute pain in the ass to place objects that are multiple tiles big while also having them connect to multiple Godot terrains. So I had to write a whole system that places every tile separately and keeps track of which tiles are occupied. Roads I also had to rework how roads are placed. Originally, every road type was its own terrain, but that doesn’t work if you want them all to connect to factories and to each other. So now they’re all just one terrain, and a script gives each tile the correct color for its road type. This only works because all the road types are identical in shape just different colors. Aircraft sprites I’ve added several new aircraft sprites: the Bo 105, the Twin Otter, the PC-6, and the H225. I’m planning to add the Chinook and the A400M next, which will round out the aircraft lineup for the beta launch. Release It’s going to be close. I’m not sure I’ll hit my self-imposed deadline, since some things took a lot longer than expected but I might still make it. Either way, I’m not going to rush it. I’d rather ship a week late than release something that gets 5 SD/h because it isn’t polished."}, {"post_id": 47570, "ts": "2026-08-15T15:24:06Z", "hours": 9.8719, "text": "Devlog 16: Factorys and aircraft I’ve reworked the factory sprites and added aircraft. Factory sprites I have made new sprites for every factory execpt the concrete mixing plant. the sprites are now 2x2 or larger so vehicles can realisticly unload there. Aircraft I’ve decided to add aircraft, which will serve as a trading terminal so you can trade with other villages, get contracts, and earn money. Aircraft fit well for this since no other villages spawn in the world. they let you trade with other vilages without them needing to exist in the world. I still need to add alot to make this work but currently I have a working runway building mecanic Next: Factories Next, I still need to build out the factory logic. I plan to make them with custom resources, just like vehicles. I made the new sprites first because I needed to know where (un)loading would need to happen before I could design the logic around it."}, {"post_id": 46516, "ts": "2026-08-13T19:56:21Z", "hours": 10.2989, "text": "Devlog #15: Vehicle rework I’ve completely restructured how vehicles work under the hood. The main goal was to break down the code into readable, reusable pieces. Vehicle componentization The vehicle script had become too large to work with, so I split it into five scripts: vehicleBody.gd , drivetrainComponent.gd , path_movement_component.gd , CargoComponent.gd and attachment_component.gd . This makes the code easier to maintain and reduces the chance of bugs when adding new vehicle types. Vehicle data I have converted the nested Dictionaries into custom resources which makes it easier to add vehicles and less error prone. Pathfinding improvements I tweaked how the pathfinding works by chamfering the corners so vehicles navigate them more smoothly. It doesn’t look quite as I want yet, but combined with animations, it should look acceptable for now. This is something I’ll have to find a more permanent solution for later. Release I’m targeting version 1.0.0 for Saturday, August 22nd. There’s still quite a bit to do, but I think I can make it. I set this deadline because I’ll have less time once school starts."}, {"post_id": 45126, "ts": "2026-08-11T12:41:38Z", "hours": 9.745, "text": "Devlog #14.2: Route system The route system is now done Route sytem The route system turned out to be more complicated than initially expected. I restructured it so the route is calculated centrally in the Global script, and every instance using it reads from there. This keeps things synchronized and maintainable. For now, the system has one mode implemented: a ping-pong mode where vehicles travel back and forth between two set points. Vehicle physics There’s a persistent issue with vehicle physics where they cut corners and miss checkpoints, requiring them to turn around. I’ve set this aside for now to focus on other features, but it’s something I’ll need to fix down the line. I realy have no idea how though I cant seem to find the issue. Whats next The last major things before release are: Linking factories to vehicles so they can load and unload cargo Animating the excavators at the mine Building out the construction system"}, {"post_id": 43506, "ts": "2026-08-08T20:31:23Z", "hours": 10.0922, "text": "Devlog #14: Route UI and system I am currently working on the route ui and the route system. Route UI The route UI is almost done I only need to link it to the route system. Route system I am almost finished with the route system I only have to connect it to the vehicle and rewrite the factory system a bit so it works with the route system. there will be multiple modes distribution of one factory based on demand or a ping pong mode where it drives back and forward between 2 set points. You also will be able to assign vehicles to construction projects but this will come later. Trailer UI The trailer UI is finised you can connect trailers to vehicles via it."}, {"post_id": 41554, "ts": "2026-08-05T20:48:09Z", "hours": 9.8542, "text": "Devlog #13: Vehicles in the world I’ve connected the vehicle systems to the world and to the UI. Vehicle manager I’ve made a vehilce manager script. This manager stores and retrieves vehicle data efficiently by ID, making it easy for the UI and other systems to access vehicle information. Vehicle UI I’ve made a UI where you can see the fuel, total weigth, health and engine load of the vehicle by clicking on it. There are also 2 buttons 1 for selecting a route and the other for coupling a trailer. Spauwing When you buy a vehicle it gets assigned a base tile you now need a base tile per vehicle. Last things Next, I need to implement the route selection and trailer coupling buttons to complete the vehicle system integration as far as I can right now."}, {"post_id": 40212, "ts": "2026-08-03T16:52:56Z", "hours": 10.0389, "text": "Devlog #12: Planing I’ve put together a roadmap for the rest of development. Roadmap I’m planning to release the game in 3 weeks and have laid out a plan accordingly. Vehicle physics I’ve spent about half my time since the last devlog tweaking vehicle physics, and I’ve decided to compromise on a few things — for example, when the trailer jackknifes and gets stuck, it’ll just clip through the vehicle. Shop rework I am almost finished with reworking the shop it now displays all the stats that the vehicle uses"}, {"post_id": 38143, "ts": "2026-07-31T11:37:38Z", "hours": 9.9372, "text": "Devlog #11.2: Trailer Logic and Pathfinding I’ve almost finished all the vehicle logic. Pathfinding A working pathfinding system is now in place using AStarGrid2D . This system works with vehicles both with and without trailers, and handles both on-road and off-road navigation. Trailers Trailers can now couple to vehicles with the correct hitch and follow them around in a realistic manner. The coupling mechanics work as they would in real life. Finishing Touches The vehicle logic still needs some fine-tuning, and I haven’t tested it yet with every vehicle type. I still need to implement the articulation system for the articulated dump truck."}, {"post_id": 37056, "ts": "2026-07-29T15:06:21Z", "hours": 9.8997, "text": "Devlog #11: Vehicle logic I am currently working on the vehcile logic Vehicle logic There are alot of variables now that determain the behavier off the vehicles like engine and weight Sprite scaling I have fixed the scaling of the sprites. Last things for the vehicle logic I still need to implement the trailer logic and pathfinding."}, {"post_id": 35794, "ts": "2026-07-27T13:37:20Z", "hours": 8.4642, "text": "Devlog #10: Factory logic Just returnt from vacation, and i forgot to make a devlog before i went so i dont fully know anymore what i changed. Factory logic I have implemented the core factory system. Factories can now receive resources, process them and output the procesed resource. I haven’t fully tested the logic yet since the UI and vehicle systems ( needed for input/output) aren’t complete. More I have probebly done more but i dont know anymore because i have been a way for a week. What is next My next priority is implementing vehicle logic, but first i need to fix vehicle sprite scaling. Currently all vehicles are 11px wide, which makes a dump truck as wide as a car. I want to make everything a consistent scale (probably 5px = 1m) and update all sprites accordingly for a more realistic appearance."}, {"post_id": 29417, "ts": "2026-07-16T11:03:02Z", "hours": 10.1492, "text": "Devlog #9: Supplychain Been working on the supplychain structere last 2 days, including new sprites Factorys I have made new factory sprites. All sprites are new i am not realy happy with how the steel and wire mill look but the rest look prety good i think. Resources I have also added a couple new resources their are 4 resource types now: copper, coal, gold, iron. The resources spauwn in mixed vains on the map determent by a NoiseTexture2D . What next I am now gooing to work on the logic for the factorys and i want to take a nother look at shadows because the didnt work last time but i have found a otherway to do it i want to try."}, {"post_id": 28327, "ts": "2026-07-14T14:40:52Z", "hours": 9.6725, "text": "Devlog #8.1: UI and lighting Today i have been focesing on the inviorment UI I have now linked up the hole UI. In the last devlog I had already shown the ui but now it also linked up properly with the game. Day Night cycle I am currently implementation a dynamic day/night cycle. Right now, the timing and transitions aren’t lining up the way I want them to, so i still need to do some fine tuning . Shaders / shadows This is where I’ve been strugeling. I’ve been trying to figure out how to implement proper 2D shadows. The issue is that the built in directional shadows in Godot aren’t really designed for top-down games. They make the sun’s shadows look infinitely long and completely distort the perspective. Every custom solution I’ve tried so far looks terrible. I’ve easily spent about 5 hours making custom shaders making a static shadow, but I’m still stuck. If you have any experience with top down 2D lighting or custom shadow shaders in Godot, please let me know in the comments! I could really use some help right now. The biggest problem is that the fastNoiseLite texture doesnt calculate the same in the shader as via the cpu which is also the thing that is hindering me in the ovelays."}, {"post_id": 27357, "ts": "2026-07-12T21:00:50Z", "hours": 9.8522, "text": "Devlog #8: Made UI Been working on the UI this weekend. its nothing special yet but it is good enough for now. Garage menu I have made a menu where you can see all your vehicles. It is pretty simple but i need it for programming the vehicles. Shop UI I have made a shop ui where you can buy the actual vehicles. The are sorted by type. You can see the stats and capabilities and you can decide if you want to buy the vehicles or if you want to finance it. Exstended selected tile UI I have also made some improvments and additions to the selected tile ui, you can now choose a variant if the selceted tiles has them like the factory. You can also see what number is connected to what if you hover over the ui. Overlay I am also working on a overlay so you can see the height, temperature and humidity I am doing this with a shader but it is not working how i expected at the moment because the shader doesn’t line up with my terrain."}, {"post_id": 26555, "ts": "2026-07-11T13:18:41Z", "hours": 5.2389, "text": "Devlog #7: Fresh foundation As i mentioned in devlog #6, i am rebuilding the game in godot. I am almost done with the essentials and development has already almost doubled in speed. World generation I have build a biome system using three noise textures to determine temperature, altitude, and humidity. Each tile uses these values to determine which biome gets drawn. This means the world has natural variation and will hopefully look less boring. It also sets up the foundation for biome specific resources and mechanics down the line forcing players to make a bigger network. Road placement System You can now place roads this works with terrainSets which makes it easyer to draw roads. Roads are the only thing you can place for now. Vehicle Pathfinding I’ve also made a simple pathfinding script using the built-in NavigationAgent2D. The destinations are hardcoded for now. I’ve heard AStarGrid2D might be better suited for grid-based pathfinding in my case, so I’ll be researching how to implement that. What i still have to add Before I’m back where I was with the Greenfoot version, I still need to add: The factorys and their system The trailers physics The garage menu A couple small things"}, {"post_id": 25816, "ts": "2026-07-10T08:51:36Z", "hours": 9.5967, "text": "devlog #6.1 Terrain I am almost finnished with the prosidural generation of the map which is gooing to make for way more variation in the game and beter planing were to place youre base."}, {"post_id": 24611, "ts": "2026-07-08T10:10:39Z", "hours": 31.0889, "text": "Develog #6: switching engines Spent the last week trying to fix the UI and physics in Greenfoot, and honestly? It’s just not happening. Greenfoot wasn’t really built for games like this the UI support is basically non-existent, and getting clickable buttons to work properly is way more of a pain than it should be. And i decided it was no longer wordt fighting for. So I’m switching to Godot. I’ve made some prototypes in it before, so at least I know the basics, and it’s way better suited for what I’m trying to build. The downside is development is gonna be paused for about a week while I set everything back up and rewrite some stuff. But after that? Should be able to move way faster, which will hopefully make up for the lost time."}, {"post_id": 20941, "ts": "2026-07-02T17:53:03Z", "hours": 21.3453, "text": "Devlog #5: Major System Overhaul—Resource Economy & Vehicle Expansion it has been a bit since my last devlog i have some major changes this version. It is nowhere near done yet but it is almost playable. here is what changed: Added two new resources I have added sand and gravel that are used in multiple new recipes Changed the economy: from currency to resources I got rid of the money system because it gave the ability of players just focusing on one resource. Now players need to use all the resources like iron ore, copper ore, sulfer ore, sand, gravel and many more. You have to mine all resources and process them This forces the player to actually spent time making a supplychain with diffrent mines and factories. This way it feels less as a idle and more like a managing game. Added new factories I have added new factories using the factory system i made last time these factories all require two or more inputs. Some factories make concrete from gravel and sand, others make PCBs and other compilicated stuff. I plan to add more in the future but for now it is way beter than before. Added a bunch of vehicles I have added multiple new vehicles: Bulk carriers - Can move ore and loose materials Flatbed trucks - Move finished products (pallets ore IBCs) Trailers - These can attach to diffrent vehicles and extend capacity Concrete truck - Transports concrete Construction Vehicles Dozer - Removes the building Excavator - Now needed for quarries Asphalt Paver - Changes roads from gravel to asphalt I am planing to add more construction vehicles so that every building needs a construction vehicle to build instead of the building just appearing out of nowere. Rebuilt the UI The old ui didnt fit anymore there where to many tiles and the route tab did not support construction equipment, so i made a new tile ui that groupes the tiles in road, factory and mines. I have also made a new vehicle ui which i call the garage this shows The vehicles you own The vehicle shop The abilities of the vehicle: It can hook a trailer It can carry bulk cargo It can carry flatbed cargo It can go offroad It can destroy building It can pave roads It can mine it’s way better than before but you currently cant buy the vehicles yet Roads have levels now Roads can be upgraded: gravel -> cement -> asphalt. Gravel roads are cheap but slow, asphalt is fast but expensive. Upgrading is expensive but can speed up your production or reduce the number of vehicles required to keep the factory full. The road level doesnt effect offroad vehicles and some vehicles may get a max speed in the futer What i still need to do It is the same as last time because i had to many new ideas and no motivation to implent mutch backend stuff Levels / progresion - It is just a sand box now Beter end goal - There is not realy a endgoal A tutorial - The game becomes increasingly complicated so hard without any guidance"}, {"post_id": 13898, "ts": "2026-06-22T19:41:09Z", "hours": 3.8419, "text": "Devlog #4 Finised the factory system Finised the factory ui / recipie ui that now tracks input output and procesing time Added new sprites for the vehicles now have 2 types a dumptruck form the drill and a flatbed to the sellpoint Stil need to add Change detection system Levels / progresion Beter end goal A tutorial Known bugs When you edit the route it deletes it self When you delete a route it doesnt delete the vehicles"}, {"post_id": 12159, "ts": "2026-06-19T21:21:22Z", "hours": 3.4008, "text": "Devlog #3 Added a factory system it is not fully done but there is a basic factory system now so you cant just infinatly take recources from the factroy to the sell point"}, {"post_id": 7675, "ts": "2026-06-12T20:25:33Z", "hours": 12.4575, "text": "Devlog #2 Finshed the game I have finnished the main gameplay loop I still want to add: A tutorial Levels / Progresion More recources and factorys / recipes Better end goal there is nothing to save for right now failsave for when you delete the path with vehicle on it"}, {"post_id": 4420, "ts": "2026-06-07T18:55:50Z", "hours": 1.8458, "text": "Devlog #1 I have made some improvements on the game i am curently making in greenfoot (java engine) i am using this engine because i have used it before for school"}]...
|
Title: SupplyChains by @Thijmen | Stardance
Devlo Title: SupplyChains by @Thijmen | Stardance
Devlogs:
Devlog #1 I have made some improvements on the game i am curently making in greenfoot (java engine) i am using this engine because i have used it before for school
Devlog #2 Finshed the game I have finnished the main gameplay loop I still want to add: A tutorial Levels / Progresion More recources and factorys / recipes Better end goal there is nothing to save for right now failsave for when you delete the path with vehicle on it
Devlog #3 Added a factory system it is not fully done but there is a basic factory system now so you cant just infinatly take recources from the factroy to the sell point
Devlog #4 Finised the factory system Finised the factory ui / recipie ui that now tracks input output and procesing time Added new sprites for the vehicles now have 2 types a dumptruck form the drill and a flatbed to the sellpoint Stil need to add Change detection system Levels / progresion Beter end goal A tutorial Known bugs When you edit the route it deletes it self When you delete a route it doesnt delete the vehicles
Devlog #5: Major System Overhaul—Resource Economy & Vehicle Expansion it has been a bit since my last devlog i have some major changes this version. It is nowhere near done yet but it is almost playable. here is what changed: Added two new resources I have added sand and gravel that are used in multiple new recipes Changed the economy: from currency to resources I got rid of the money system because it gave the ability of players just focusing on one resource. Now players need to use all the resources like iron ore, copper ore, sulfer ore, sand, gravel and many more. You have to mine all resources and process them This forces the player to actually spent time making a supplychain with diffrent mines and factories. This way it feels less as a idle and more like a managing game. Added new factories I have added new factories using the factory system i made last time these factories all require two or more inputs. Some factories make concrete from gravel and sand, others make PCBs and other compilicated stuff. I plan to add more in the future but for now it is way beter than before. Added a bunch of vehicles I have added multiple new vehicles: Bulk carriers - Can move ore and loose materials Flatbed trucks - Move finished products (pallets ore IBCs) Trailers - These can attach to diffrent vehicles and extend capacity Concrete truck - Transports concrete Construction Vehicles Dozer - Removes the building Excavator - Now needed for quarries Asphalt Paver - Changes roads from gravel to asphalt I am planing to add more construction vehicles so that every building needs a construction vehicle to build instead of the building just appearing out of nowere. Rebuilt the UI The old ui didnt fit anymore there where to many tiles and the route tab did not support construction equipment, so i made a new tile ui that groupes the tiles in road, factory and mines. I have also made a new vehicle ui which i call the garage this shows The vehicles you own The vehicle shop The abilities of the vehicle: It can hook a trailer It can carry bulk cargo It can carry flatbed cargo It can go offroad It can destroy building It can pave roads It can mine it’s way better than before but you currently cant buy the vehicles yet Roads have levels now Roads can be upgraded: gravel -> cement -> asphalt. Gravel roads are cheap but slow, asphalt is fast but expensive. Upgrading is expensive but can speed up your production or reduce the number of vehicles required to keep the factory full. The road level doesnt effect offroad vehicles and some vehicles may get a max speed in the futer What i still need to do It is the same as last time because i had to many new ideas and no motivation to implent mutch backend stuff Levels / progresion - It is just a sand box now Beter end goal - There is not realy a endgoal A tutorial - The game becomes increasingly complicated so hard without any guidance
Develog #6: switching engines Spent the last week trying to fix the UI and physics in Greenfoot, and honestly? It’s just not happening. Greenfoot wasn’t really built for games like this the UI support is basically non-existent, and getting clickable buttons to work properly is way more of a pain than it should be. And i decided it was no longer wordt fighting for. So I’m switching to Godot. I’ve made some prototypes in it before, so at least I know the basics, and it’s way better suited for what I’m trying to build. The downside is development is gonna be paused for about a week while I set everything back up and rewrite some stuff. But after that? Should be able to move way faster, which will hopefully make up for the lost time.
devlog #6.1 Terrain I am almost finnished with the prosidural generation of the map which is gooing to make for way more variation in the game and beter planing were to place youre base.
Devlog #7: Fresh foundation As i mentioned in devlog #6, i am rebuilding the game in godot. I am almost done with the essentials and development has already almost doubled in speed. World generation I have build a biome system using three noise textures to determine temperature, altitude, and humidity. Each tile uses these values to determine which biome gets drawn. This means the world has natural variation and will hopefully look less boring. It also sets up the foundation for biome specific resources and mechanics down the line forcing players to make a bigger network. Road placement System You can now place roads this works with terrainSets which makes it easyer to draw roads. Roads are the only thing you can place for now. Vehicle Pathfinding I’ve also made a simple pathfinding script using the built-in NavigationAgent2D. The destinations are hardcoded for now. I’ve heard AStarGrid2D might be better suited for grid-based pathfinding in my case, so I’ll be researching how to implement that. What i still have to add Before I’m back where I was with the Greenfoot version, I still need to add: The factorys and their system The trailers physics The garage menu A couple small things
Devlog #8: Made UI Been working on the UI this weekend. its nothing special yet but it is good enough for now. Garage menu I have made a menu where you can see all your vehicles. It is pretty simple but i need it for programming the vehicles. Shop UI I have made a shop ui where you can buy the actual vehicles. The are sorted by type. You can see the stats and capabilities and you can decide if you want to buy the vehicles or if you want to finance it. Exstended selected tile UI I have also made some improvments and additions to the selected tile ui, you can now choose a variant if the selceted tiles has them like the factory. You can also see what number is connected to what if you hover over the ui. Overlay I am also working on a overlay so you can see the height, temperature and humidity I am doing this with a shader but it is not working how i expected at the moment because the shader doesn’t line up with my terrain.
Devlog #8.1: UI and lighting Today i have been focesing on the inviorment UI I have now linked up the hole UI. In the last devlog I had already shown the ui but now it also linked up properly with the game. Day Night cycle I am currently implementation a dynamic day/night cycle. Right now, the timing and transitions aren’t lining up the way I want them to, so i still need to do some fine tuning . Shaders / shadows This is where I’ve been strugeling. I’ve been trying to figure out how to implement proper 2D shadows. The issue is that the built in directional shadows in Godot aren’t really designed for top-down games. They make the sun’s shadows look infinitely long and completely distort the perspective. Every custom solution I’ve tried so far looks terrible. I’ve easily spent about 5 hours making custom shaders making a static shadow, but I’m still stuck. If you have any experience with top down 2D lighting or custom shadow shaders in Godot, please let me know in the comments! I could really use some help right now. The biggest problem is that the fastNoiseLite texture doesnt calculate the same in the shader as via the cpu which is also the thing that is hindering me in the ovelays.
Devlog #9: Supplychain Been working on the supplychain structere last 2 days, including new sprites Factorys I have made new factory sprites. All sprites are new i am not realy happy with how the steel and wire mill look but the rest look prety good i think. Resources I have also added a couple new resources their are 4 resource types now: copper, coal, gold, iron. The resources spauwn in mixed vains on the map determent by a NoiseTexture2D . What next I am now gooing to work on the logic for the factorys and i want to take a nother look at shadows because the didnt work last time but i have found a otherway to do it i want to try.
Devlog #10: Factory logic Just returnt from vacation, and i forgot to make a devlog before i went so i dont fully know anymore what i changed. Factory logic I have implemented the core factory system. Factories can now receive resources, process them and output the procesed resource. I haven’t fully tested the logic yet since the UI and vehicle systems ( needed for input/output) aren’t complete. More I have probebly done more but i dont know anymore because i have been a way for a week. What is next My next priority is implementing vehicle logic, but first i need to fix vehicle sprite scaling. Currently all vehicles are 11px wide, which makes a dump truck as wide as a car. I want to make everything a consistent scale (probably 5px = 1m) and update all sprites accordingly for a more realistic appearance.
Devlog #11: Vehicle logic I am currently working on the vehcile logic Vehicle logic There are alot of variables now that determain the behavier off the vehicles like engine and weight Sprite scaling I have fixed the scaling of the sprites. Last things for the vehicle logic I still need to implement the trailer logic and pathfinding.
Devlog #11.2: Trailer Logic and Pathfinding I’ve almost finished all the vehicle logic. Pathfinding A working pathfinding system is now in place using AStarGrid2D . This system works with vehicles both with and without trailers, and handles both on-road and off-road navigation. Trailers Trailers can now couple to vehicles with the correct hitch and follow them around in a realistic manner. The coupling mechanics work as they would in real life. Finishing Touches The vehicle logic still needs some fine-tuning, and I haven’t tested it yet with every vehicle type. I still need to implement the articulation system for the articulated dump truck.
Devlog #12: Planing I’ve put together a roadmap for the rest of development. Roadmap I’m planning to release the game in 3 weeks and have laid out a plan accordingly. Vehicle physics I’ve spent about half my time since the last devlog tweaking vehicle physics, and I’ve decided to compromise on a few things — for example, when the trailer jackknifes and gets stuck, it’ll just clip through the vehicle. Shop rework I am almost finished with reworking the shop it now displays all the stats that the vehicle uses
Devlog #13: Vehicles in the world I’ve connected the vehicle systems to the world and to the UI. Vehicle manager I’ve made a vehilce manager script. This manager stores and retrieves vehicle data efficiently by ID, making it easy for the UI and other systems to access vehicle information. Vehicle UI I’ve made a UI where you can see the fuel, total weigth, health and engine load of the vehicle by clicking on it. There are also 2 buttons 1 for selecting a route and the other for coupling a trailer. Spauwing When you buy a vehicle it gets assigned a base tile you now need a base tile per vehicle. Last things Next, I need to implement the route selection and trailer coupling buttons to complete the vehicle system integration as far as I can right now.
Devlog #14: Route UI and system I am currently working on the route ui and the route system. Route UI The route UI is almost done I only need to link it to the route system. Route system I am almost finished with the route system I only have to connect it to the vehicle and rewrite the factory system a bit so it works with the route system. there will be multiple modes distribution of one factory based on demand or a ping pong mode where it drives back and forward between 2 set points. You also will be able to assign vehicles to construction projects but this will come later. Trailer UI The trailer UI is finised you can connect trailers to vehicles via it.
Devlog #14.2: Route system The route system is now done Route sytem The route system turned out to be more complicated than initially expected. I restructured it so the route is calculated centrally in the Global script, and every instance using it reads from there. This keeps things synchronized and maintainable. For now, the system has one mode implemented: a ping-pong mode where vehicles travel back and forth between two set points. Vehicle physics There’s a persistent issue with vehicle physics where they cut corners and miss checkpoints, requiring them to turn around. I’ve set this aside for now to focus on other features, but it’s something I’ll need to fix down the line. I realy have no idea how though I cant seem to find the issue. Whats next The last major things before release are: Linking factories to vehicles so they can load and unload cargo Animating the excavators at the mine Building out the construction system
Devlog #15: Vehicle rework I’ve completely restructured how vehicles work under the hood. The main goal was to break down the code into readable, reusable pieces. Vehicle componentization The vehicle script had become too large to work with, so I split it into five scripts: vehicleBody.gd , drivetrainComponent.gd , path_movement_component.gd , CargoComponent.gd and attachment_component.gd . This makes the code easier to maintain and reduces the chance of bugs when adding new vehicle types. Vehicle data I have converted the nested Dictionaries into custom resources which makes it easier to add vehicles and less error prone. Pathfinding improvements I tweaked how the pathfinding works by chamfering the corners so vehicles navigate them more smoothly. It doesn’t look quite as I want yet, but combined with animations, it should look acceptable for now. This is something I’ll have to find a more permanent solution for later. Release I’m targeting version 1.0.0 for Saturday, August 22nd. There’s still quite a bit to do, but I think I can make it. I set this deadline because I’ll have less time once school starts.
Devlog 16: Factorys and aircraft I’ve reworked the factory sprites and added aircraft. Factory sprites I have made new sprites for every factory execpt the concrete mixing plant. the sprites are now 2x2 or larger so vehicles can realisticly unload there. Aircraft I’ve decided to add aircraft, which will serve as a trading terminal so you can trade with other villages, get contracts, and earn money. Aircraft fit well for this since no other villages spawn in the world. they let you trade with other vilages without them needing to exist in the world. I still need to add alot to make this work but currently I have a working runway building mecanic Next: Factories Next, I still need to build out the factory logic. I plan to make them with custom resources, just like vehicles. I made the new sprites first because I needed to know where (un)loading would need to happen before I could design the logic around it.
Devlog 17: Factory placement I’ve built a system for placing factories in the world. Factory placement Turns out it’s an absolute pain in the ass to place objects that are multiple tiles big while also having them connect to multiple Godot terrains. So I had to write a whole system that places every tile separately and keeps track of which tiles are occupied. Roads I also had to rework how roads are placed. Originally, every road type was its own terrain, but that doesn’t work if you want them all to connect to factories and to each other. So now they’re all just one terrain, and a script gives each tile the correct color for its road type. This only works because all the road types are identical in shape just different colors. Aircraft sprites I’ve added several new aircraft sprites: the Bo 105, the Twin Otter, the PC-6, and the H225. I’m planning to add the Chinook and the A400M next, which will round out the aircraft lineup for the beta launch. Release It’s going to be close. I’m not sure I’ll hit my self-imposed deadline, since some things took a lot longer than expected but I might still make it. Either way, I’m not going to rush it. I’d rather ship a week late than release something that gets 5 SD/h because it isn’t polished.
Devlog 18: Pre-baked docking paths I’ve implemented pre-baked docking paths for factory entrances to solve some pathfinding issues with vehicle physics. Pre-baked paths The A* pathfinding system was struggling to navigate the sharp corners around factory entrances. When the trailer tried to find its own path through these tight spaces, it would instantly jackknife, not ideal. Rather than spend 50+ hours refining the vehicle physics, I decided to pre-bake specific docking paths to each factory. It’s not a perfect solution visually, but it’s functional and gets the job done. I can always refine this for a post-launch update if needed. I’m still wrapping up the final details of the docking path system before moving on. Mines My next major task is implementing mine logic, which includes the excavator logic and ore detection and depletion. Aircraft After the mining logic I will add the last vital gameplay system the aircraft system which will be responsible trade and contracts with other villages. Release I’m currently deciding whether to push construction vehicle implementation to a post-beta update or delay the release by a week to include them. Construction vehicles aren’t vital to core gameplay, but they would add a lot of polish. I’m still on the fence about this one, it depends on how the mine logic implementation goes.
Devlog 19: Busy School has started again and I have been geting busy and my motivation is also not that high right now because things take alot longer and dont work like i want to. I think I will delay release to septembere 12th.
Devlog 20: UI and Trading Got the backend for the trading system done and overhauled the UI to go with it. Trading System I made a trading system. It generates contracts with the recipient’s name, the resource being traded, and the price. Basically the foundation for the aircraft system. UI Redesigned the time and date display because it looked kinda rough. Also switched the economy back to money instead of the resource, makes way more sense for trading. Oh, and vehicles now actually speed up when you speed up time, which is pretty cool. What’s Shipping vs Later I’m not including construction vehicles in the initial release because that’s like 40+ more hours of work and I want to actually finish this before Thirdspace starts (I’m gonna compete too). So yeah, that’s going to a post-launch update. Still gotta do: Get the excavators working (mines) ~5h Finish the trading system ~3h Fix vehicle physics again 😭~5h Random bugs and polish ~5h Hope I can get that done this week. Tryna hit at least 14sd/h so I can hopfuly buy that Framework 13 lol
Devlog 21: Trading Finished, but I’m Stuck I’ve finished the trading system! Trading System The trading system is done. Orders are generated, you can accept them, and accepted trades show up in the UI. The only thing left is adding the planes, but that depends on finishing the base-building system first. Base Building I’ve started working on base building. It’s pretty simple and mostly uses systems that already exist, so it should only take around an hour to fully implement. Stuck Development has been going way slower than I hoped because my codebase is currently a bunch of bandaids stacked on top of each other. I also need to ship this week since Thirdspace starts next week, which means I probably won’t have time to add much polish.So I need your opinion: is it worth delaying the game for another week? 😭 Or should I just ship it? Do you think I’ll still be able to afford the Framework 13 if I release it now? My current plan is to focus on getting the core systems working, fix any major bugs, and leave extra polish and construction vehicles for a post-launch update.
Devlog 22: Factory UI and Finished base building I’ve finished base building and am now working on the factory UI. Factory UI I’m working on the factory UI, where you can see the factory’s storage and change its recipe. It’s almost finished. Base building Base building is finished you can now make taxiways and build a warehouse. I’ve also put these into a UI like the factory’s, so it only takes one button. Vehicle physics/pathfinding I’ve spent yet another hour on vehicle physics/pathfinding, and I’ve narrowed it down to a bug in the handoff to the prebaked paths of the factories. Timeline I’m pretty sure I am gooing tho finish it this weekend. What’s left: Vehicle physics ~3h Mines/excavators ~5h Building construction (will reuse most of the factory logic) ~2h Random bugs and small things ~5h
Devlog 23: Vehicle pathfinding and construction I have fixed the vehicle pathfinding (mostly) and I have made the construction system. Vehicle pathfinding I have fixed the vehicle pathfinding and it works now mostly. I say mostly because it breaks when a trailer is equipped, but that is a way smaller thing to fix. Construction system It’s almost done. The system makes it so the resources actually have a function and you now need to deliver resources to a building site before the factory can get built. Still not done I know I said it would be done this weekend and it still isn’t, but it’s almost there. What I still have to do: The mine/excavator ~5h Finishing a couple of systems (like the construction and trade system) ~5h Make a savegame system ~5h Small things ~2h Documentation ~2h So 2 devlogs left, and otherwise I will just ship incomplete because I don’t have time anymore.
Devlog 24: Construction finished and start secunce made I’ve finished the construction system and made the start sequence actually playable by adding a resource box containing 10 iron bars needed to build a terminal. It’s been 2 weeks since my last devlog school and commitments to Third Space have kept me busier, so I’m not 100% certain I’ve captured everything that’s changed. Construction system The construction system now generates building routes that you can assign vehicles to. Resources must be delivered to a building site before construction begins, making the resource system meaningful in actual gameplay. Starting secunce The starting secunce now has a couple of steps: Place the resource box Place a runway Place a terminal Conect the runway with the terminal with a taxiway Place 4 base tiles for the vehicle to spawn on What has to be done: Mine/excavator system ~3h Finish trade system ~3h Save system ~2h Documentation ~2h
Devlog 25: Planes and saving! I’ve locked in over the last 2 days and finished the final 2 of the 3 major systems. I’ve completed the planes (which now spawn when you accept an order) and finished the saving system. Planes/order system I’ve finished the order system, when you accept an order, a plane now spawns a couple thousand pixels out. It flies to the airstrip, loads up at the end of the runway, turns around, and flies away. It doesn’t taxi all the way to the terminal because I just don’t have time for that, but it looks good enough for now. Saving You can now save 3 worlds in the game. Everything gets encrypted and saves all the world values. It was pretty difficult converting some of the arrays filled with instances into dictionaries and back again, but it works on both PC and on the web. whats left: The only things left are the excavator and some smaller things. I’m finishing that all tomorrow, and that will be the last devlog for my ship. The main gameplay loop should be finished by end of day tomorrow. If I can’t finish everything, so be it, I dont have time to work on it anymore if I also want to continu in third space, but I’m happy with how it works now and what I have learned along the way.
Devlog 26: Last devlog I’ve officially finished the game. It’s been an incredible journey, and I’m pretty happy with the end result. excavator The excavator is now fully functional. You can use it to create mines, which automatically convert into factories once placed. a lot of small things I have done a lot of small things to optimse the game and fix things i coudend test till now Release This is the last devlog I’ll be writing for this project. I want to thank you all for the support. I hope you enjoy playing the game.
Devlog 27: Tutorial: After feadback I have dicided to make a tutorial and made a couple quality of live updates that made the game easier to understand.
Ships:
Supply Chains Supply Chains is a game inspired by Transport Fever and Mindustry, centered around building road networks and logistics chains for construction and mining operations. Features Vehicles, trailers and a garage Route system: pick a source, a destination and a resource, then assign it to a vehicle Multi-step production chains Construction sites, trading, generated terrain, and A* pathfinding with road weights Controls: WASD camera, 1-5 build, right click remove, space pause. Everything else is in HELP.md . Known limitations I’m a solo dev, so some things aren’t finished. The full list is in the README. Hope you enjoy it!...
|
1793004996.059995
|
1793091396.059995
|
|
57589
|
Neptune 🔵 by @ibrahimthegoat | Stardance
|
ibrahimthegoat
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T11:19:03Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built Neptune-2.0, an AI-powered Slack bot integrated with Groq API and run 24/7 on a Hack Club Nest container via PM2. Configuring secure environment variables and managing persistent background process uptime on the server. Achieving stable 24/7 deployment with instant, lightning-fast AI responses inside Slack.It uses Socket Mode for real-time event handling and dynamic Groq models for instant developer assistance.", "repo": "https://github.com/ibrahimahsan954-eng/Neptune-2.0", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 72613, "ts": "202 [{"post_id": 72613, "ts": "2026-09-23T10:55:24Z", "hours": 2.3314, "text": "the bot wasnt responding to slash commands and just completely wasnt working so i did so much modifications and now its finally working!"}, {"post_id": 70057, "ts": "2026-09-18T11:22:45Z", "hours": 1.0522, "text": "the bot didnt respond to me no matter what i typed and now its finally responding (yayy!) so now im adding the slash commands."}, {"post_id": 64124, "ts": "2026-09-08T10:11:41Z", "hours": 0.5056, "text": "im posting the bot in nest so i can run it 24/7! i was running through some issues but now they are good and the bot is ready to go!"}, {"post_id": 61446, "ts": "2026-09-04T11:28:33Z", "hours": 0.5508, "text": "currently running through some errors so when a user says: “hello” it tells the user its intro and if a user says i dont like your ideas it again, tells its intro."}, {"post_id": 61026, "ts": "2026-09-03T18:42:30Z", "hours": 0.39, "text": "I’m currently building this bot (not just any bot) his name is Neptune. he suggests ideas for your projects which will win you hackathons, I generated a free API key from Groq and pasted it into the code and used Claude Code to refine it further"}]...
|
Title: Neptune 🔵 by @ibrahimthegoat | Stardance
D Title: Neptune 🔵 by @ibrahimthegoat | Stardance
Devlogs:
I’m currently building this bot (not just any bot) his name is Neptune. he suggests ideas for your projects which will win you hackathons, I generated a free API key from Groq and pasted it into the code and used Claude Code to refine it further
currently running through some errors so when a user says: “hello” it tells the user its intro and if a user says i dont like your ideas it again, tells its intro.
im posting the bot in nest so i can run it 24/7! i was running through some issues but now they are good and the bot is ready to go!
the bot didnt respond to me no matter what i typed and now its finally responding (yayy!) so now im adding the slash commands.
the bot wasnt responding to slash commands and just completely wasnt working so i did so much modifications and now its finally working!
Ships:
Built Neptune-2.0, an AI-powered Slack bot integrated with Groq API and run 24/7 on a Hack Club Nest container via PM2. Configuring secure environment variables and managing persistent background process uptime on the server. Achieving stable 24/7 deployment with instant, lightning-fast AI responses inside Slack.It uses Socket Mode for real-time event handling and dynamic Groq models for instant developer assistance....
|
1793004994.942128
|
1793091394.942128
|
|
57584
|
First Slack bot by @Danou | Stardance
|
Danou
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T19:23:50Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello everyone here my first projet and i decided to start by creating my first Slack bot. I decided at first to create a versatile bot who can do pretty much everything but the reality was different many was the api problem ,the lantency issue of different commands, code which work 1/2 etc.The first challenge that i encountered during my dev session was the dict command of my bot to make it more clear i wanted to do a system of randomization of words and their description when the user type -R but there is the problem how can i random a dictionary api ? You will discover on my github repo i will not spoil . I’m proud of myself for did something and how i pasted throught all of the problem which i tell you above and how i founded the problem of the dictionary. If anyone want to test it keep in mind that the dictionary command could work 1/2 sometimes it will tell you that it couldn’t fetch the word even if the word exist in the dictionary (english) when i did my test the latency of the response was insanely long soo i don’t know if it will work great. Thank you for reading and have fun !!!", "repo": "https://github.com/Danou-lua/My-first-Slack-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 65633, "ts": "202 [{"post_id": 65633, "ts": "2026-09-10T21:51:50Z", "hours": 0.6467, "text": "Devlog #6 Is it currently 11pm and i had a hard journey i tryed to do some code without doing much here i have just add a new command to show a random advice for whole day life. I will not git commit it now i will make more other stuff do commit a whole block and not just little parts"}, {"post_id": 63840, "ts": "2026-09-07T20:23:42Z", "hours": 0.4033, "text": "Devlog #5 Today i have not achieve something special and i’m pretty exhausted due to school so i have just worked on the problem i had yesterday. To make it more clear i had a issue where the random functions won’t work and today i pass throught this issue but i now is like i don’t want to work anymore on this project (the errors of the api start to make me crazy) the bot respond too late or make error that don’t happen when i do it locally. I think i will add 1 or 2 new functions and i will ship it to start a better project.I’m not really enjoyed with what i have did today maybe tomorrow?"}, {"post_id": 63071, "ts": "2026-09-06T17:42:44Z", "hours": 1.3461, "text": "Dev DEVLOG#4 Today i add a little thingh who can pass the problem that i have yesterday for the random option to make it more clear i added a random option where you can pick and the bot send you a random word and its description from the dictionary the only one problem is that how can i make it more automatic , soo i add something that when a user search a message to view a the definition of a word the script analyse a json file to search if the word exist if yes it just send the informations if not the script add the word into the wordlist soo when a user will decide to have a random word the script will choose a word which was attached by i user. Just need to improve the random option tomorrow because today it won’t work."}, {"post_id": 62514, "ts": "2026-09-05T22:28:16Z", "hours": 1.7994, "text": "Devlog #3 Juts finished an addtionnal function of my bot searching for a word and its definition and choosing an option for a random word (i will need to extend the list of words of an another api or with a json file which all words can be there) i’m pretty glad for what i did today even with the doomscrolling and i got bored all the day. But half of my work was with the help of chatgpt (he mainly explain the structure of js and how i could done a great api call but i promise i don’t did vibecoding)"}, {"post_id": 61700, "ts": "2026-09-04T18:57:33Z", "hours": 0.6839, "text": "Devlog #2 This one is my second devlog about my slack bot honestly i don’t have other idea so i will pass on another project and i will end this one (yeah very fast) in this devlog or this time i added a new command that lists information about linux command (the main ones not all until i found an api for make it more simple and more efficient) i have a new project in mind but due to the little time who remains to me for the end of stardance i’m scared for no having stardust to buy something cool (and because i have joined the event very late) if you have idea or something that i can add you can tell me. Thank’s"}, {"post_id": 60907, "ts": "2026-09-03T15:49:34Z", "hours": 1.5669, "text": "Just finished the body of my slack bot i have recently discovered problem to using program or problem with the fact that slackbot into the slack app send me message that my bot don’t want to work but after 5 sec there are output from it, and i want to ask if there are anyone who can give me idea of command to because i’m out of idea and i really want to improve it with more functions. Please don’t hesitate to give me idea or tell me what to change and what to add . Thank’s.If there are a person who can help me with this problem thank’s to tell me how you encountered it."}]...
|
Title: First Slack bot by @Danou | Stardance
Devl Title: First Slack bot by @Danou | Stardance
Devlogs:
Just finished the body of my slack bot i have recently discovered problem to using program or problem with the fact that slackbot into the slack app send me message that my bot don’t want to work but after 5 sec there are output from it, and i want to ask if there are anyone who can give me idea of command to because i’m out of idea and i really want to improve it with more functions. Please don’t hesitate to give me idea or tell me what to change and what to add . Thank’s.If there are a person who can help me with this problem thank’s to tell me how you encountered it.
Devlog #2 This one is my second devlog about my slack bot honestly i don’t have other idea so i will pass on another project and i will end this one (yeah very fast) in this devlog or this time i added a new command that lists information about linux command (the main ones not all until i found an api for make it more simple and more efficient) i have a new project in mind but due to the little time who remains to me for the end of stardance i’m scared for no having stardust to buy something cool (and because i have joined the event very late) if you have idea or something that i can add you can tell me. Thank’s
Devlog #3 Juts finished an addtionnal function of my bot searching for a word and its definition and choosing an option for a random word (i will need to extend the list of words of an another api or with a json file which all words can be there) i’m pretty glad for what i did today even with the doomscrolling and i got bored all the day. But half of my work was with the help of chatgpt (he mainly explain the structure of js and how i could done a great api call but i promise i don’t did vibecoding)
Dev DEVLOG#4 Today i add a little thingh who can pass the problem that i have yesterday for the random option to make it more clear i added a random option where you can pick and the bot send you a random word and its description from the dictionary the only one problem is that how can i make it more automatic , soo i add something that when a user search a message to view a the definition of a word the script analyse a json file to search if the word exist if yes it just send the informations if not the script add the word into the wordlist soo when a user will decide to have a random word the script will choose a word which was attached by i user. Just need to improve the random option tomorrow because today it won’t work.
Devlog #5 Today i have not achieve something special and i’m pretty exhausted due to school so i have just worked on the problem i had yesterday. To make it more clear i had a issue where the random functions won’t work and today i pass throught this issue but i now is like i don’t want to work anymore on this project (the errors of the api start to make me crazy) the bot respond too late or make error that don’t happen when i do it locally. I think i will add 1 or 2 new functions and i will ship it to start a better project.I’m not really enjoyed with what i have did today maybe tomorrow?
Devlog #6 Is it currently 11pm and i had a hard journey i tryed to do some code without doing much here i have just add a new command to show a random advice for whole day life. I will not git commit it now i will make more other stuff do commit a whole block and not just little parts
Ships:
Hello everyone here my first projet and i decided to start by creating my first Slack bot. I decided at first to create a versatile bot who can do pretty much everything but the reality was different many was the api problem ,the lantency issue of different commands, code which work 1/2 etc.The first challenge that i encountered during my dev session was the dict command of my bot to make it more clear i wanted to do a system of randomization of words and their description when the user type -R but there is the problem how can i random a dictionary api ? You will discover on my github repo i will not spoil . I’m proud of myself for did something and how i pasted throught all of the problem which i tell you above and how i founded the problem of the dictionary. If anyone want to test it keep in mind that the dictionary command could work 1/2 sometimes it will tell you that it couldn’t fetch the word even if the word exist in the dictionary (english) when i did my test the latency of the response was insanely long soo i don’t know if it will work great. Thank you for reading and have fun !!!...
|
1793004993.8083227
|
1793091393.8083227
|
|
57569
|
nano_code by @wilrakov | Stardance
|
wilrakov
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T13:06:28Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I did a small bytecode in pure x64 assembly. I am proud of it since it was my first assembly project. It only works on Linux, and you should know a little about asm to test it. I mean, the programming language for my bytecode is really close to assembly. It’s complex to test, I know, but I hope you’ll find out! Thanks a lot for all the event!!!", "repo": "https://github.com/wilrak0v/nano_code", "demo": "https://github.com/wilrak0v/nano_code/releases/tag/Stardance"}]...
|
[{"post_id": 72653, "ts": "202 [{"post_id": 72653, "ts": "2026-09-23T12:56:37Z", "hours": 2.2403, "text": "I think I am done with this project… I hope it´s fine to ship it."}, {"post_id": 69148, "ts": "2026-09-16T14:06:41Z", "hours": 3.0778, "text": "Okay so I finished the bytecode, all is working great! I started a language for it which is closer to assembly. I do it with customASM. On the image you can see the Fibonacci algorithm"}, {"post_id": 66681, "ts": "2026-09-12T15:34:32Z", "hours": 1.4653, "text": "Okay so I added memory operations from 8 bits to 32 bits. I also did the syscall system but for now I just have one syscall which is print (the same as the write syscall on linux)."}, {"post_id": 66448, "ts": "2026-09-12T08:56:33Z", "hours": 2.4089, "text": "All operations on registers are done. It´s faster than JVM for 100 numbers of Fibonacci. So now I just have to make the memory operations and the syscall system. Then the core will be done."}, {"post_id": 64895, "ts": "2026-09-09T16:31:19Z", "hours": 3.5192, "text": "Last three days I added a lot of instructions. We can perform arithmetic expressions and jump with and without conditions. So I think my VM is turing complete isn´t it? Today I did a fibonacci test and I beat the JVM."}, {"post_id": 60307, "ts": "2026-09-02T16:15:17Z", "hours": 4.63, "text": "First devlog Last days I worked on a small and simple project called nano_code. It´s a bytecode written in pure assembly and designed to be fast. I hope I can beat the JVM on modern PC. So what did I do? Actually I did the hardest part of this project by making the loop (fetch-decode-execute). Now I just need to implement the instructions one by one. Oh and I don´t load bytecode from a file for now so I have to implement it later. I already implemented movr and movi (r = register and i = immediate), and I am currently making the arithmetic operations like add, sub, mul, div, and mod which is modulo of course. All of these instructions have two version : one with a register and an immediate value and the other one with two register as the operands. Of course in the future I will need to make a small assembler to write easily code for that VM. Thanks for reading, see you soon."}]...
|
Title: nano_code by @wilrakov | Stardance
Devlogs Title: nano_code by @wilrakov | Stardance
Devlogs:
First devlog Last days I worked on a small and simple project called nano_code. It´s a bytecode written in pure assembly and designed to be fast. I hope I can beat the JVM on modern PC. So what did I do? Actually I did the hardest part of this project by making the loop (fetch-decode-execute). Now I just need to implement the instructions one by one. Oh and I don´t load bytecode from a file for now so I have to implement it later. I already implemented movr and movi (r = register and i = immediate), and I am currently making the arithmetic operations like add, sub, mul, div, and mod which is modulo of course. All of these instructions have two version : one with a register and an immediate value and the other one with two register as the operands. Of course in the future I will need to make a small assembler to write easily code for that VM. Thanks for reading, see you soon.
Last three days I added a lot of instructions. We can perform arithmetic expressions and jump with and without conditions. So I think my VM is turing complete isn´t it? Today I did a fibonacci test and I beat the JVM.
All operations on registers are done. It´s faster than JVM for 100 numbers of Fibonacci. So now I just have to make the memory operations and the syscall system. Then the core will be done.
Okay so I added memory operations from 8 bits to 32 bits. I also did the syscall system but for now I just have one syscall which is print (the same as the write syscall on linux).
Okay so I finished the bytecode, all is working great! I started a language for it which is closer to assembly. I do it with customASM. On the image you can see the Fibonacci algorithm
I think I am done with this project… I hope it´s fine to ship it.
Ships:
I did a small bytecode in pure x64 assembly. I am proud of it since it was my first assembly project. It only works on Linux, and you should know a little about asm to test it. I mean, the programming language for my bytecode is really close to assembly. It’s complex to test, I know, but I hope you’ll find out! Thanks a lot for all the event!!!...
|
1793004991.1186888
|
1793091391.1186888
|
|
52537
|
MySite by @K_muistaa501 | Stardance
|
K_muistaa501
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T11:03:06Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Its alive!!! This was a great mission!!!! thank you for going on the site, enjoy doing homework :D Its not much, but pls enjoy", "repo": "https://github.com/K-muistaa501/New-Proj--PS26-", "demo": "https://k-muistaa501.github.io/New-Proj--PS26-/"}]...
|
[{"post_id": 60473, "ts": "202 [{"post_id": 60473, "ts": "2026-09-02T20:25:47Z", "hours": 0.3592, "text": "Part 5: Buttons, part 2…. I redesigned the buttons for the site, because i thought they look boring"}, {"post_id": 59856, "ts": "2026-09-01T20:38:20Z", "hours": 0.3678, "text": "Part 4 laziest upload ever… redesigned some elements"}, {"post_id": 59111, "ts": "2026-08-31T18:56:09Z", "hours": 1.0925, "text": "Part 3 just updating…"}, {"post_id": 58178, "ts": "2026-08-30T15:13:39Z", "hours": 1.5464, "text": "Part 2 Did the ascii font, used TAAG by patorjk and added BUTTONS"}, {"post_id": 57278, "ts": "2026-08-29T11:54:59Z", "hours": 1.5503, "text": "Part 1 I’m trying to make a frutiger aero style window. Kinda tricky as the sections are weirdly formatted"}]...
|
Title: MySite by @K_muistaa501 | Stardance
Devlog Title: MySite by @K_muistaa501 | Stardance
Devlogs:
Part 1 I’m trying to make a frutiger aero style window. Kinda tricky as the sections are weirdly formatted
Part 2 Did the ascii font, used TAAG by patorjk and added BUTTONS
Part 3 just updating…
Part 4 laziest upload ever… redesigned some elements
Part 5: Buttons, part 2…. I redesigned the buttons for the site, because i thought they look boring
Ships:
Its alive!!! This was a great mission!!!! thank you for going on the site, enjoy doing homework :D Its not much, but pls enjoy...
|
1793004989.994565
|
1793091389.994565
|
|
27377
|
AI-Powered Adventure Text Game by @jeremyngai | St AI-Powered Adventure Text Game by @jeremyngai | Stardance...
|
jeremyngai
|
1
|
31.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T08:27:12Z", "hours": 31.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is an AI-powered text adventure device using an ESP32, an e-paper display and a rotary encoder. It is powered by Gemini to generate infinite stories and choices. It uses ESP32-C3 microcontroller to connect to WiFi and query the Gemini API. Gemini generates an interactive story segment and choices for the player in JSON format. Then the text is shown on the e-paper display. The user can use the rotary encoder to scroll through the text and select their next action. Each choice is returned to the history buffer on the ESP32 and is sent back to Gemini to generate the next story segment. Personally the most enjoyable part is when the PCB worked after i soldered them, however the coding part is hell cuz i sucks at coding lol. It haven’t got an enclosure yet, i will work on it soon! Now I can play this in my free time!", "repo": "https://github.com/Jeremy-Ngai-Sew-Poh/InkQuest", "demo": ""}]...
|
[{"post_id": 74300, "ts": "202 [{"post_id": 74300, "ts": "2026-09-27T04:39:13Z", "hours": 1.6014, "text": "I worked on the game loop system so the story is infinite. after you selected your choice your response will be sent back to gemini api to generate next story! now its actually infinite loop"}, {"post_id": 38642, "ts": "2026-08-01T04:29:45Z", "hours": 4.8872, "text": "Spent the last few days implementing gemini api into the code and formatting json data like text, choice into the e paper display :) I’ll take a break from this project as i have joined other competition. so stay tuned!"}, {"post_id": 31150, "ts": "2026-07-19T10:08:00Z", "hours": 2.8883, "text": "GAH DAMN MY PCB IS WORKING!!! Timelapse below! I spent the last few hours carefully soldering my new PCB. I decided to use 0805 for all smd component cuz in my last project, I used 0603 ones and it was PURE TORTURE to solder them all lol. lessen learnt! Overall, I absolutely love the pcb outcome its nicer than I expected especially the ws2812b led and all those smd resistor (they look so sci-fi xD). However there was one flaw, I forgot about the ESP32 antenna. I’m forced to awkwardly fit the antenna on the pcb back (right beside my Great Wave silkscreen print). Luckily it didn’t block it lol. This is something I needa keep in mind the next time! You might be wondering what’s that tiny pin header I used there. It’s just a pin header, but for the design, I wanted it to be ultra slim, so I designed a PCB sandwich layout. The battery fits perfectly between the e-paper pcb and my pcb. However the problem with normal pin headers is that they are super chunky, they have like 9mm gap. That instantly ruin the whole vibe… So after hours of digging in aliexpress, I found those low profile pin header. They are SUPER PERFECT for my project (6mm gap), which is exactly my battery thickness!!! Anyways the low profile pin header was NOT CHEAP at all… well at least its so worth it. Other than soldering the PCB, I did a few adjustment to the firmware, including: rotary encoder logic improvement - I used interrupt pin logic to read it, they place the rotary encoder at the toppest priority (if theres any changes in pin state, the esp32 instantly ignore everything and focus on the encoder). That’s all for now, stay tuned! its so fun"}, {"post_id": 30648, "ts": "2026-07-18T12:04:16Z", "hours": 1.4833, "text": "Today I worked on a WiFi prompt to let user choose whether they want to connect to a different wifi or existing one, because this device is supposed to be portable, working anywhere, so this is very important. However, I’m still figuring out how to show the WiFi name… wm.getWiFiSSID() didn’t work though. Btw, all my hardware had already arrived just now!! (after slow ahh aliexpress) I can’t wait to solder them, so stay tuned lol XD"}, {"post_id": 30125, "ts": "2026-07-17T13:25:32Z", "hours": 4.3369, "text": "In the last few days, I made a few changes to my project: I decided to switch the idea from the initial quiz game concept into a choice-based adventure text game, it’s basically an infinite “choose your own adventure” concept. I feel like it’s way more fun! I worked with the WiFiManager library to make the wifi setup more accessible and easy. We now don’t need to hardcode wifi password into the code, the device will launch a hotspot captive portal and you can just connect any of your device to setup wifi at anytime anywhere. portable, isn’t it? Since this game concept will need the e-paper display to show a long text, I used a serif font and coded an automatic text wrapping and an adaptive scroll bar at the side so you can know the length of the text I also added a low battery and data parsing error page for the user alongside with an ok button to shutdown the device. What’s next? After the text formatting is stable, i’ll be focusing on text generation and choice logic!! xD"}, {"post_id": 27138, "ts": "2026-07-12T12:49:33Z", "hours": 2.3742, "text": "Added automatic text wrapping, improved code logic and added low battery screen"}, {"post_id": 26595, "ts": "2026-07-11T14:50:08Z", "hours": 0.6044, "text": "Sent PCB design to JLCPCB for manufacturing (the silkscreen boutta look fire!!)"}, {"post_id": 26395, "ts": "2026-07-11T05:00:22Z", "hours": 1.8842, "text": "Finalised PCB schematics and tested with breadboard. PCB is ready to be manufactured!!"}, {"post_id": 24655, "ts": "2026-07-08T11:42:57Z", "hours": 1.2667, "text": "Added WS2812B Neopixel on the PCB and rerouted PCB"}, {"post_id": 22722, "ts": "2026-07-05T09:35:39Z", "hours": 2.0708, "text": "Finalised schematics circuit, now starting PCB layout!!"}, {"post_id": 22147, "ts": "2026-07-04T13:36:10Z", "hours": 0.4381, "text": "Updated UI interface to fit longer question and answer"}, {"post_id": 21968, "ts": "2026-07-04T05:52:14Z", "hours": 1.4556, "text": "Designed first schematics for custom PCB"}, {"post_id": 21501, "ts": "2026-07-03T14:21:54Z", "hours": 0.3519, "text": "Added ADC reading from battery pin to calculate percentage"}, {"post_id": 19185, "ts": "2026-06-30T13:32:47Z", "hours": 0.3486, "text": "I implemented random seed for Gemini and reinforced the prompt because the AI keep generating the same question and answer over and over again"}, {"post_id": 19168, "ts": "2026-06-30T12:51:47Z", "hours": 1.8264, "text": "Finally implemented Gemini 3.1 Flash Lite into my e-paper ai quiz! Took a long long time debugging errors. Next I’m gonna optimise the ui"}, {"post_id": 18247, "ts": "2026-06-29T10:07:48Z", "hours": 0.7272, "text": "Removed variable dummy placeholder to prepare for API implementation. Also fixed navigation bug when switching pages."}, {"post_id": 17501, "ts": "2026-06-28T09:50:58Z", "hours": 0.6828, "text": "Added hourglass loading screen and improved code logic"}, {"post_id": 17459, "ts": "2026-06-28T07:44:51Z", "hours": 0.7906, "text": "Implemented full quiz logic in Arduino IDE (Gemini API yet to do)"}, {"post_id": 17431, "ts": "2026-06-28T06:34:17Z", "hours": 0.5061, "text": "Added logic pages system using partial refresh in Arduino IDE"}, {"post_id": 17370, "ts": "2026-06-28T04:02:32Z", "hours": 0.4453, "text": "Initialise e-paper screen and wifi in Arduino IDE"}, {"post_id": 17359, "ts": "2026-06-28T03:34:17Z", "hours": 0.3494, "text": "UI Design for quiz interface"}]...
|
Title: AI-Powered Adventure Text Game by @jeremyng Title: AI-Powered Adventure Text Game by @jeremyngai | Stardance
Devlogs:
UI Design for quiz interface
Initialise e-paper screen and wifi in Arduino IDE
Added logic pages system using partial refresh in Arduino IDE
Implemented full quiz logic in Arduino IDE (Gemini API yet to do)
Added hourglass loading screen and improved code logic
Removed variable dummy placeholder to prepare for API implementation. Also fixed navigation bug when switching pages.
Finally implemented Gemini 3.1 Flash Lite into my e-paper ai quiz! Took a long long time debugging errors. Next I’m gonna optimise the ui
I implemented random seed for Gemini and reinforced the prompt because the AI keep generating the same question and answer over and over again
Added ADC reading from battery pin to calculate percentage
Designed first schematics for custom PCB
Updated UI interface to fit longer question and answer
Finalised schematics circuit, now starting PCB layout!!
Added WS2812B Neopixel on the PCB and rerouted PCB
Finalised PCB schematics and tested with breadboard. PCB is ready to be manufactured!!
Sent PCB design to JLCPCB for manufacturing (the silkscreen boutta look fire!!)
Added automatic text wrapping, improved code logic and added low battery screen
In the last few days, I made a few changes to my project: I decided to switch the idea from the initial quiz game concept into a choice-based adventure text game, it’s basically an infinite “choose your own adventure” concept. I feel like it’s way more fun! I worked with the WiFiManager library to make the wifi setup more accessible and easy. We now don’t need to hardcode wifi password into the code, the device will launch a hotspot captive portal and you can just connect any of your device to setup wifi at anytime anywhere. portable, isn’t it? Since this game concept will need the e-paper display to show a long text, I used a serif font and coded an automatic text wrapping and an adaptive scroll bar at the side so you can know the length of the text I also added a low battery and data parsing error page for the user alongside with an ok button to shutdown the device. What’s next? After the text formatting is stable, i’ll be focusing on text generation and choice logic!! xD
Today I worked on a WiFi prompt to let user choose whether they want to connect to a different wifi or existing one, because this device is supposed to be portable, working anywhere, so this is very important. However, I’m still figuring out how to show the WiFi name… wm.getWiFiSSID() didn’t work though. Btw, all my hardware had already arrived just now!! (after slow ahh aliexpress) I can’t wait to solder them, so stay tuned lol XD
GAH DAMN MY PCB IS WORKING!!! Timelapse below! I spent the last few hours carefully soldering my new PCB. I decided to use 0805 for all smd component cuz in my last project, I used 0603 ones and it was PURE TORTURE to solder them all lol. lessen learnt! Overall, I absolutely love the pcb outcome its nicer than I expected especially the ws2812b led and all those smd resistor (they look so sci-fi xD). However there was one flaw, I forgot about the ESP32 antenna. I’m forced to awkwardly fit the antenna on the pcb back (right beside my Great Wave silkscreen print). Luckily it didn’t block it lol. This is something I needa keep in mind the next time! You might be wondering what’s that tiny pin header I used there. It’s just a pin header, but for the design, I wanted it to be ultra slim, so I designed a PCB sandwich layout. The battery fits perfectly between the e-paper pcb and my pcb. However the problem with normal pin headers is that they are super chunky, they have like 9mm gap. That instantly ruin the whole vibe… So after hours of digging in aliexpress, I found those low profile pin header. They are SUPER PERFECT for my project (6mm gap), which is exactly my battery thickness!!! Anyways the low profile pin header was NOT CHEAP at all… well at least its so worth it. Other than soldering the PCB, I did a few adjustment to the firmware, including: rotary encoder logic improvement - I used interrupt pin logic to read it, they place the rotary encoder at the toppest priority (if theres any changes in pin state, the esp32 instantly ignore everything and focus on the encoder). That’s all for now, stay tuned! its so fun
Spent the last few days implementing gemini api into the code and formatting json data like text, choice into the e paper display :) I’ll take a break from this project as i have joined other competition. so stay tuned!
I worked on the game loop system so the story is infinite. after you selected your choice your response will be sent back to gemini api to generate next story! now its actually infinite loop
Ships:
This is an AI-powered text adventure device using an ESP32, an e-paper display and a rotary encoder. It is powered by Gemini to generate infinite stories and choices. It uses ESP32-C3 microcontroller to connect to WiFi and query the Gemini API. Gemini generates an interactive story segment and choices for the player in JSON format. Then the text is shown on the e-paper display. The user can use the rotary encoder to scroll through the text and select their next action. Each choice is returned to the history buffer on the ESP32 and is sent back to Gemini to generate the next story segment. Personally the most enjoyable part is when the PCB worked after i soldered them, however the coding part is hell cuz i sucks at coding lol. It haven’t got an enclosure yet, i will work on it soon! Now I can play this in my free time!...
|
1793004988.6942549
|
1793091388.6942549
|
|
36238
|
DIY Solder Fume Extractor + Air Quality Sensor by DIY Solder Fume Extractor + Air Quality Sensor by @james-lian | Stardance...
|
james-lian
|
1
|
21.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T00:57:44Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a small hobbyist solder fume extractor complete with an air quality sensor for soldering applications. Features include: powered by a 12V DC power supply 0.91inch OLED SSD1306 LM2596-3.3 buck converter for 3V3 supply ENS160+AHT21 sensor to detect VOCs and eCO2 ESP-01S microcontroller custom 3d-printed casing 12V desk fan which pulls solder fumes through an activated carbon filter flip flop switch circuit + MOSFET to control the fan, flyback diode to prevent MOSFET damage A challenge that pushed the project’s completion date back was a manufacturing error that occurred on my PCB. The specific buck converter I ordered from JLCPCB assembly was the LM2596-3.3, but the first batch that was sent to me had the LM2596-ADJ, which output the default ~1.3V instead of 3V3. I only found out about this after soldering on both PCB boards, which meant I had wasted time, effort, and some good usable components which I failed to desolder.", "repo": "https://github.com/James-Lian/Solder-Fume-Extractor", "demo": ""}]...
|
[{"post_id": 71524, "ts": "202 [{"post_id": 71524, "ts": "2026-09-21T00:25:53Z", "hours": 3.2508, "text": "Devlog #7: Completion The replacement PCB board from JLCPCB arrived today, and I spent a couple hours resoldering all the components. Finally, it’s done!"}, {"post_id": 59947, "ts": "2026-09-02T00:32:00Z", "hours": 5.5417, "text": "Devlog #6: Getting throttled Attempting to complete my PCBs, and I’m going through it, fr. Fried transistors + attempted fixes After receiving my PCBs, I got to work to solder my components. I had ordered PCBA for any components I didn’t have, such as inductors, the barrel jack connection, etc., but I was planning to save money by hand-soldering components I DID already have, such as transistors and my entire MCU system. This also gave me the added benefit of testing these components beforehand, and it allowed me to go through several iterations of code on the ESP-01S. The first issue I encountered with hand-soldering was with soldering the tiny, microscopic transistor holes (it was my first time doing so). The copper pads for my PN2222 breadboard transistors are super close together, and with my shaky hands, I accidentally whiffed, put too much solder, and left a solder connection between all three pads. Whoops! I eventually managed to fix it with a solder sucker. But after soldering, I decided to test the transistors with a multimeter to check if they were damaged, and both transistors were duds. I probably spent too long trying to fix it with the soldering iron and ended up frying them both. After this, I attempted to salvage the project by desoldering some of the more expensive components from the board and using it on the second backup PCBA I ordered from JLCPCB. I managed to salvage the OLED screen, but while desoldering the ESP-01S, I broke off several pins, essentially leaving the chip unusable. I decided not to salvage the bigger chips (e.g. ESP-01S, ENS160+AHT21), and decided to just reorder some components instead for the second attempt. New attempt: flip-flop switch fix + MCU not working I managed to solder all components to the second PCB cleanly, without any hiccups. However, on trying my project out, I encountered two issues: The flip flop switch turns on the fan, but it doesn’t turn it off. The 3.3V MCU system (including the OLED, ESP-01S, and ENS160+AHT21 sensor) doesn’t seem to turn on. The first issue was relatively easy to fix. Turns out, I had forgotten to add a pull-up resistor near the bottom of the flip-flop switch, and thus my steering capacitors had no path to VCC to “refill” (reset) their charge after the initial button press. I quickly soldered a pull-up resistor to VCC to fix it. The second issue stumped me for a while. I found out that I had forgotten to connect pin 4 (EN) of the ESP-01S to 3V3, so I quickly soldered a connection, but it still wasn’t working. Eventually, I took a look with my multimeter and found the problem: my 3V3 logic chips were actually running on 1.23V for some reason. It turns out, JLCPCB had sent me PCBA’s with the WRONG BUCK CONVERTER. I had ordered an TDSEMIC LM2596S-3.3, which would normally work perfectly, but JLCPCB had sent me PCBA’s with TDSEMIC LM2596S-ADJ instead. I’ll have to either contact JLCPCB for a refund, or attempt to salvage the PCB myself by modding it. I’ve burnt enough allowance on this ;-; Below: desoldering fail, attempted fixes (2), close-up of LM2596S-ADJ vs what I actually ordered ( https://www.lcsc.com/product-detail/C42421958.html?s_z=n_q_C42421958&globalKeyword=C42421958 )"}, {"post_id": 54994, "ts": "2026-08-26T12:52:38Z", "hours": 5.3325, "text": "Devlog #5 CAD Modeling With the code and PCB done, I needed a frame to hold all of the hardware together. Therefore, I spent a couple hours designing two cases in Fusion360 - one to house the PCB, and one to house the fan and the carbon filter I was using. PCB Case This PCB case is a little different than the ones I’ve designed so far. For one, the MOSFET and the capacitor that arrived on the PCB assembly I ordered from JLCPCB were much larger than I’d imagined, so I needed to design holes in my casing to accommodate for their size. Additionally, the ENS160 + AHT21 sensor needs generous access to air in order to provide accurate readings. I couldn’t encase them in the casing entirely, so I needed several unusual holes in my design so as not to interfere with the placements on my PCB board. I ended up designing a snap-fit housing with two parts - top and bottom (my first time designing a snap-fit joint!). The top part has several holes to ensure enough spacing for PCB components such as the OLED screen and keyswitch. It’s not air tight, but I really only need it to keep the PCB isolated and make things more presentable. Fan Holder Case I also needed to model a CAD case for the desktop fan to hold it and the active carbon filter in place. The fan case itself is actually a very simple design - three separate “panels” held in place with 4 screws and heat inserts."}, {"post_id": 54243, "ts": "2026-08-25T04:02:06Z", "hours": 3.2061, "text": "Devlog #4 Finalizing MCU program I used the breadboard prototype I had from Devlog #1 to finalize a working version of the ENS160 + AHT21 sensor program on the ESP-01S. I use the Adafruit libraries for these components to extract their readings, and then display it on a scrolling background on my 0.91 inch OLED SSD1306. This program is the final step before I solder the remaining components onto my PCB, which conveniently arrived as I was on vacation. It displays the following information: Line 1: Temp (deg C), Temp (deg F), Humidity (relative %) Line 2: Air Quality Index (AQI), Total Volatile Organic Compounds (ppb - TVOC), eCO2 (ppm - estimated CO2)"}, {"post_id": 31068, "ts": "2026-07-19T05:01:26Z", "hours": 1.7156, "text": "Devlog #3 - PCB design Once I had the design finalized from the schematic, it was straightforward enough to convert it into a PCB. I spent some time rearranging components to try and use as little space as possible. I had to leave some extra space for the ENS160+AHT21 air quality sensor, as it doesn’t work without consistent exposure to air."}, {"post_id": 30977, "ts": "2026-07-19T00:12:45Z", "hours": 1.6228, "text": "Devlog #2 - schematic design After confirming that the ESP-01S was a viable microcontroller for this project, I continued with designing the schematic for the PCB. Power Management ESP-01S is a 3.3V native controller, and the ENS160+AHT21 and the I2C OLED both use 3.3V logic. If I plug my 12V DC adapter directly into the ESP-01S, I’ll fry all my MCU components. Thus, I’m using an LM2596 buck converter to step-down some of the charge to 3.3V. Air Quality Sensor + MCU This section contains the sensor components and MCU. The air quality sensors and the OLED both share the same SCL/SDA I2C communication pins, which we established was possible in the previous devlog. Flip-Flop Switch + MOSFET Since the pins on the ESP-01S are being used, I decided to try exploring other options to turn my fan ON/OFF. I decided to use a flip-flop switch circuit. This allows me to persistently alter the fan’s ON/OFF state by simply clicking one pushbutton. The flip-flop switch circuit is a bistable multivibrator. It has two stable states where it can output a persistent signal (either 0 or 1), thus why we say it can represent a single bit of information. One of the states (transistors) is connected to a MOSFET (STP55NF06L), a heavy-duty voltage-controlled component which handles heavy loads much better than a simple transistor. The MOSFET helps control the fan. I attached a flyback diode in parallel to the fan. Because a fan is fundamentally wire coiled around magnets (an inductor), when the flip-flop switch suddenly turns off, the magnetic field of the fan collapses, converting back into an extremely high-voltage electric signal that, if not protected against, could instantly fry my MOSFET. The flyback diode allows the current to loop back around through the inductor until it is harmlessly dissipated as heat. Power-On Circuit On its own, the flip-flop switch’s initial state is hard to control . It’s based on chance, and small manufacturing differences between identical resistors and capacitors used in the circuit. To ensure the flip-flop switch always initializes to an OFF state, I added a tiny 10nF capacitor to one of the transistors. This makes one of the transistors slightly slower, thus ensuring the other one will always “win” the race condition. Next, I’ll be designing the PCB and programming the ESP-01S!"}, {"post_id": 30435, "ts": "2026-07-17T23:44:14Z", "hours": 0.7667, "text": "Devlog #1 - breadboard prototype I’ve been soldering a lot more recently thanks to starting a variety of electronics projects, and I’m starting to feel the need to get a fume extractor and some sort of air quality sensor to monitor my workspace. After some consideration, I decided making my own fume extractor would be a fun project idea, and also a great way to use up some electronics components that I have lying around. Components To make this project, I ordered some cheap $6 12V cooling fans meant for PC setups. For the microcontroller, I’ll be using an ESP-01S, an ENS160+AHT21 (which can measure air quality and VOCs), and an I2C 0.91 inch OLED display, all components I already have. I spent some time desoldering the OLED display from an older PCB project to reuse it in this one. Breadboarding The ESP-01S is an incredibly small controller, with only two pins (GPIO0 and GPIO2) available as digital pins (apart from RX and TX, but I plan to use those for debugging). Since both the OLED and the ENS160+AHT21 are I2C components that communicate with Serial Data (SDA) and Serial Clock (SCL), theoretically these components could share GPIO0 and GPIO2 as SDA and SCL pins if they had different device addresses. However, to be sure, I breadboarded and flashed a quick program to output the addresses and confirm that I had three separate, unique identifiers. Now that I have this information, I’m ready to design the PCB next."}]...
|
Title: DIY Solder Fume Extractor + Air Quality Sen Title: DIY Solder Fume Extractor + Air Quality Sensor by @james-lian | Stardance
Devlogs:
Devlog #1 - breadboard prototype I’ve been soldering a lot more recently thanks to starting a variety of electronics projects, and I’m starting to feel the need to get a fume extractor and some sort of air quality sensor to monitor my workspace. After some consideration, I decided making my own fume extractor would be a fun project idea, and also a great way to use up some electronics components that I have lying around. Components To make this project, I ordered some cheap $6 12V cooling fans meant for PC setups. For the microcontroller, I’ll be using an ESP-01S, an ENS160+AHT21 (which can measure air quality and VOCs), and an I2C 0.91 inch OLED display, all components I already have. I spent some time desoldering the OLED display from an older PCB project to reuse it in this one. Breadboarding The ESP-01S is an incredibly small controller, with only two pins (GPIO0 and GPIO2) available as digital pins (apart from RX and TX, but I plan to use those for debugging). Since both the OLED and the ENS160+AHT21 are I2C components that communicate with Serial Data (SDA) and Serial Clock (SCL), theoretically these components could share GPIO0 and GPIO2 as SDA and SCL pins if they had different device addresses. However, to be sure, I breadboarded and flashed a quick program to output the addresses and confirm that I had three separate, unique identifiers. Now that I have this information, I’m ready to design the PCB next.
Devlog #2 - schematic design After confirming that the ESP-01S was a viable microcontroller for this project, I continued with designing the schematic for the PCB. Power Management ESP-01S is a 3.3V native controller, and the ENS160+AHT21 and the I2C OLED both use 3.3V logic. If I plug my 12V DC adapter directly into the ESP-01S, I’ll fry all my MCU components. Thus, I’m using an LM2596 buck converter to step-down some of the charge to 3.3V. Air Quality Sensor + MCU This section contains the sensor components and MCU. The air quality sensors and the OLED both share the same SCL/SDA I2C communication pins, which we established was possible in the previous devlog. Flip-Flop Switch + MOSFET Since the pins on the ESP-01S are being used, I decided to try exploring other options to turn my fan ON/OFF. I decided to use a flip-flop switch circuit. This allows me to persistently alter the fan’s ON/OFF state by simply clicking one pushbutton. The flip-flop switch circuit is a bistable multivibrator. It has two stable states where it can output a persistent signal (either 0 or 1), thus why we say it can represent a single bit of information. One of the states (transistors) is connected to a MOSFET (STP55NF06L), a heavy-duty voltage-controlled component which handles heavy loads much better than a simple transistor. The MOSFET helps control the fan. I attached a flyback diode in parallel to the fan. Because a fan is fundamentally wire coiled around magnets (an inductor), when the flip-flop switch suddenly turns off, the magnetic field of the fan collapses, converting back into an extremely high-voltage electric signal that, if not protected against, could instantly fry my MOSFET. The flyback diode allows the current to loop back around through the inductor until it is harmlessly dissipated as heat. Power-On Circuit On its own, the flip-flop switch’s initial state is hard to control . It’s based on chance, and small manufacturing differences between identical resistors and capacitors used in the circuit. To ensure the flip-flop switch always initializes to an OFF state, I added a tiny 10nF capacitor to one of the transistors. This makes one of the transistors slightly slower, thus ensuring the other one will always “win” the race condition. Next, I’ll be designing the PCB and programming the ESP-01S!
Devlog #3 - PCB design Once I had the design finalized from the schematic, it was straightforward enough to convert it into a PCB. I spent some time rearranging components to try and use as little space as possible. I had to leave some extra space for the ENS160+AHT21 air quality sensor, as it doesn’t work without consistent exposure to air.
Devlog #4 Finalizing MCU program I used the breadboard prototype I had from Devlog #1 to finalize a working version of the ENS160 + AHT21 sensor program on the ESP-01S. I use the Adafruit libraries for these components to extract their readings, and then display it on a scrolling background on my 0.91 inch OLED SSD1306. This program is the final step before I solder the remaining components onto my PCB, which conveniently arrived as I was on vacation. It displays the following information: Line 1: Temp (deg C), Temp (deg F), Humidity (relative %) Line 2: Air Quality Index (AQI), Total Volatile Organic Compounds (ppb - TVOC), eCO2 (ppm - estimated CO2)
Devlog #5 CAD Modeling With the code and PCB done, I needed a frame to hold all of the hardware together. Therefore, I spent a couple hours designing two cases in Fusion360 - one to house the PCB, and one to house the fan and the carbon filter I was using. PCB Case This PCB case is a little different than the ones I’ve designed so far. For one, the MOSFET and the capacitor that arrived on the PCB assembly I ordered from JLCPCB were much larger than I’d imagined, so I needed to design holes in my casing to accommodate for their size. Additionally, the ENS160 + AHT21 sensor needs generous access to air in order to provide accurate readings. I couldn’t encase them in the casing entirely, so I needed several unusual holes in my design so as not to interfere with the placements on my PCB board. I ended up designing a snap-fit housing with two parts - top and bottom (my first time designing a snap-fit joint!). The top part has several holes to ensure enough spacing for PCB components such as the OLED screen and keyswitch. It’s not air tight, but I really only need it to keep the PCB isolated and make things more presentable. Fan Holder Case I also needed to model a CAD case for the desktop fan to hold it and the active carbon filter in place. The fan case itself is actually a very simple design - three separate “panels” held in place with 4 screws and heat inserts.
Devlog #6: Getting throttled Attempting to complete my PCBs, and I’m going through it, fr. Fried transistors + attempted fixes After receiving my PCBs, I got to work to solder my components. I had ordered PCBA for any components I didn’t have, such as inductors, the barrel jack connection, etc., but I was planning to save money by hand-soldering components I DID already have, such as transistors and my entire MCU system. This also gave me the added benefit of testing these components beforehand, and it allowed me to go through several iterations of code on the ESP-01S. The first issue I encountered with hand-soldering was with soldering the tiny, microscopic transistor holes (it was my first time doing so). The copper pads for my PN2222 breadboard transistors are super close together, and with my shaky hands, I accidentally whiffed, put too much solder, and left a solder connection between all three pads. Whoops! I eventually managed to fix it with a solder sucker. But after soldering, I decided to test the transistors with a multimeter to check if they were damaged, and both transistors were duds. I probably spent too long trying to fix it with the soldering iron and ended up frying them both. After this, I attempted to salvage the project by desoldering some of the more expensive components from the board and using it on the second backup PCBA I ordered from JLCPCB. I managed to salvage the OLED screen, but while desoldering the ESP-01S, I broke off several pins, essentially leaving the chip unusable. I decided not to salvage the bigger chips (e.g. ESP-01S, ENS160+AHT21), and decided to just reorder some components instead for the second attempt. New attempt: flip-flop switch fix + MCU not working I managed to solder all components to the second PCB cleanly, without any hiccups. However, on trying my project out, I encountered two issues: The flip flop switch turns on the fan, but it doesn’t turn it off. The 3.3V MCU system (including the OLED, ESP-01S, and ENS160+AHT21 sensor) doesn’t seem to turn on. The first issue was relatively easy to fix. Turns out, I had forgotten to add a pull-up resistor near the bottom of the flip-flop switch, and thus my steering capacitors had no path to VCC to “refill” (reset) their charge after the initial button press. I quickly soldered a pull-up resistor to VCC to fix it. The second issue stumped me for a while. I found out that I had forgotten to connect pin 4 (EN) of the ESP-01S to 3V3, so I quickly soldered a connection, but it still wasn’t working. Eventually, I took a look with my multimeter and found the problem: my 3V3 logic chips were actually running on 1.23V for some reason. It turns out, JLCPCB had sent me PCBA’s with the WRONG BUCK CONVERTER. I had ordered an TDSEMIC LM2596S-3.3, which would normally work perfectly, but JLCPCB had sent me PCBA’s with TDSEMIC LM2596S-ADJ instead. I’ll have to either contact JLCPCB for a refund, or attempt to salvage the PCB myself by modding it. I’ve burnt enough allowance on this ;-; Below: desoldering fail, attempted fixes (2), close-up of LM2596S-ADJ vs what I actually ordered ( https://www.lcsc.com/product-detail/C42421958.html?s_z=n_q_C42421958&globalKeyword=C42421958 )
Devlog #7: Completion The replacement PCB board from JLCPCB arrived today, and I spent a couple hours resoldering all the components. Finally, it’s done!
Ships:
I made a small hobbyist solder fume extractor complete with an air quality sensor for soldering applications. Features include: powered by a 12V DC power supply 0.91inch OLED SSD1306 LM2596-3.3 buck converter for 3V3 supply ENS160+AHT21 sensor to detect VOCs and eCO2 ESP-01S microcontroller custom 3d-printed casing 12V desk fan which pulls solder fumes through an activated carbon filter flip flop switch circuit + MOSFET to control the fan, flyback diode to prevent MOSFET damage A challenge that pushed the project’s completion date back was a manufacturing error that occurred on my PCB. The specific buck converter I ordered from JLCPCB assembly was the LM2596-3.3, but the first batch that was sent to me had the LM2596-ADJ, which output the default ~1.3V instead of 3V3. I only found out about this after soldering on both PCB boards, which meant I had wasted time, effort, and some good usable components which I failed to desolder....
|
1793004987.4812524
|
1793091387.4812524
|
|
57535
|
Atom Simulator by @Rezz | Stardance
|
Rezz
|
1
|
67.08
|
1350
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T13:44:19Z", "hours": 65.0, "multiplier": 17.4, "payout": 1350, "blessing": "neutral", "text": "ATOM SIMULATOR!! Simulate an atom by adding subatomic particles manually or selecting elements directly from the periodic table and learn about every ground state isotope humanity has ever discovered! When I was starting this project I wanted to make something that I could show to others and be proud of it and this is what I have made! You can add any amount of subatomic particles and see the details of the isotope you have created. (Trust me there are many surprising combinations which actually exist). There are 3588 isotopes which exist in ground state and all are in the database of this project. This is a great opportunity to learn about the properties of every isotope in a fun and interactive way! What I built: :> The main canvas with the simulation of the atom. :> The element panel shows the information of the element you have created. :> The isotope panel gives you all the information about the current isotope you created and also visually highlights invalid isotopes, :> The control buttons let you ADD/REMOVE subatomic particles with full control. :> The periodic table with all the elements with proper buttons to jump to elements. :> Proper animation of the atom in the canvas. How I made it easy to use: :>Deployed it to GitHub pages so that anyone can easily access it without having to clone the repository. :> +10/-10 button help users to jump between atoms easily as well as see a satisfying animation. :> Added the ability to type in the desired number of subatomic particles for even more accessibility. :> The periodic table lets people jump to any desired element they want, so they do not have to struggle to reach any desired element. :> Made it so that the periodic table pops up with one click and disappears instantly when the user clicks an element or outside the table for a smooth and fast user experience. :> Colour coded each element in the periodic table depending on their types. :> If the user creates an invalid isotope, the isotope panels visually highlight it so that the user does not get confused. Technicalities A lot of things have been used in this project I have listed the things I learnt below: HTML5 Canvas Canvas Drawing Canvas Coordinate Systems requestAnimationFrame() Graphics / Animation Loops Mathematical Animation Polar / Circular Positioning Trigonometry in Programming Canvas Transformations 2.5D / Depth Illusion Painter’s Algorithm / Draw Order Dynamic Geometry State-Driven Graphics Data-Driven Application Design Managing Dynamic Object Collections Animation State Interpolated Animation Dynamic Numbers of Animated Objects Dynamic Shell Allocation UI State I am currently learning web development and these are my early steps. This is my first time using canvas so I gave it my best. The project may look very long in itself but it would have been way longer if you add the time spent reading documentation and watching videos about canvas Api. Since I started in stardance I have gone from not even knowing html syntax to here and I plan to further improve my understanding of canvas by making a game next. So, wish me luck. Please read the README for detailed explanation of my project!", "repo": "https://github.com/KartikeyaMishra-Ark/Atom-Simulation", "demo": "https://kartikeyamishra-ark.github.io/Atom-Simulation/"}]...
|
[{"post_id": 70719, "ts": "202 [{"post_id": 70719, "ts": "2026-09-19T17:27:55Z", "hours": 2.0822, "text": "Complete UI change!! The shipwrights told me my theme was very generic and looked very AI generated so I changed it into the theme of star charts used by astronomers in 17th-18th centuries. Renamed the periodic table to the atlas and over all made everything look like a diagram made on parchment. Also added a trail to the electrons to make it look a little bit more unique. My project is based on the Bohr model which was based on astronomy of that time which emerged from these star charts so I decided to use this theme to have a little personality and originality. Thanks for reading!!"}, {"post_id": 70545, "ts": "2026-09-19T10:33:05Z", "hours": 0.8514, "text": "Final Devlog is here guys after so many hours!! I have redone the UI to look less generic and a little more unique. The canvas is now having invisible borders so it blends in with the background. Added a header. Added red colour in case of invalid isotope and moved status to the to for better user experience. Also set the cap to 118 on both electrons and protons. Fixed the plus 10 button so it goes up to 118 instead of stopping if there is less than 10 electrons left to 118. That will be all I will ship this and other features will come in future updates like exit animations and ion panel. There is a lot more I could do but I have refined everything I made in this and that will be all for now as adding new things will create an unrefined product. I have set the default atom to chromium-24 just because it is not too small and not too big to help the users go lower and upward pretty quick. It was a long run and genuinely tough project. The amount of documentation I had to read was unreal. Thanks for reading!!!!!!!!!!!!!!"}, {"post_id": 70489, "ts": "2026-09-19T08:45:53Z", "hours": 5.8706, "text": "I have completed the animation now. The other electrons now move slowly into their new positions and make space for the incoming electron. I also made it so that it is fluid for +10 electrons as well. I also am moving towards my final UI so everything is black now instead of blue and I plan on making it more space like. Now comes the part where I tell you my struggles. I spent a lot of time trying to perfect the animation. To do this I had to make changes in a lot of my functions and I finally was at the end of my struggles after about 3 hours of work and there was just one bug I was unable to fix which was that whenever I spam added electrons they would go into one place and then teleport into their dedicated locations. To fix that I made a lot of changes. The problem was that the canvas was not giving new space assignment to the electron when it was being spam added and foolish me without committing decided to fix it and broke everything. I managed to break it so bad that program broke when adding a new shell. And because I had made so many changes I was not gonna spend another 3 hours fixing them one by one so I had no choice but to delete everything since the last commit which was my last devlog. and then I had to remake it from there. Lesson learnt. Thanks for reading!!!"}, {"post_id": 69615, "ts": "2026-09-17T12:54:50Z", "hours": 3.5044, "text": "I have finally added an animation to the addition of the electrons!! You can see in the video I have made it so that every added electron comes from outside the canvas and takes its place in the orbit. It is far from perfect right now but it’s the first step. The biggest problem in this was making sure it came in at the proper angle so it feels smooth and injects itself properly. I am thinking of animating the other electrons to slowly move and make space for the new electron so it doesn’t look like a flicker every electron added. The nucleus is still the same I am leaving it alone I will fix it in the end it’s too much for me. Also did a lot of CSS changes in the periodic table and the isotope panel and the control buttons. I am trying to make it look like an instrument more Than a button so hopefully it can happen. The next move is refining this animation and once it’s done I will redo the entire CSS to a space, science, observatory theme. Thanks for reading!!"}, {"post_id": 69163, "ts": "2026-09-16T14:35:00Z", "hours": 5.3294, "text": "This is making me give up guys. I cannot fix this nucleus this just isn’t working. I have been spending so many hours on this I used to do so much more daily but I just rage quit when I can’t fix this. You can see in the video is is still working in a sequence I cannot fix it. I did fix the flicker which happens every time a particle is added so it is very smooth now. also I added rotation to the shells by adjusting my already existing drawshell function. I made some changes in css though they are not noticable in the video as I removed most of them because the light theme didn’t suit the project. I am trying to make the theme more space and science like more like an observatory. I really wanna start on animations but I am holding it off for everything else to start working first. Thanks for reading!!"}, {"post_id": 68152, "ts": "2026-09-14T16:32:40Z", "hours": 6.3133, "text": "I am so freaking done with this!! I have been sitting here for so many hours trying to fix the nucleus and for some reason it is never working. I have created multiple new functions deleted those, changed those and one time is became a spiral pattern. Then I tried to randomise it and it became like a random splash. then the neutrons disappeared. then the count got messed up so every ten neutrons added get on screen. Then neutrons did not show up until we reached 24 of them. I tried every different way I could think of solving this but this is not working. At last I thought I should just go back to my old configuration because it was good enough but now it became like this and is overlapping into the first shell. I guess I deleted my old function where I had set its parameter to not overlap the inner shell but here we are. Also I found a way to make the periodic table work properly. It now pops up on screen so the user doesn’t have to scroll and disappears with th user input or if the user clicks the background. I will make it transparent in the future. Also I hope I can fix this nucleus this is so not it. Thanks for reading."}, {"post_id": 67356, "ts": "2026-09-13T13:10:52Z", "hours": 4.5983, "text": "COMPLETE CSS OVERHAUL. I have redone the entire CSS to make it look WAYYY better and you can see the results. I am adopting a dark theme. I do want it to look more like space but I will see to it later. I added a toggle function for the periodic table. It looks kind of useless now but what I wanna do is make it appear on the screen instead of appearing below so that the use can select without having to scroll. Also the nucleus must be catching your eye. I tried to randomise it but for some reason it is randomising every frame so I have to figure out how to fix it. I am pretty sure it is a very simple fix that I am wasting so much time on. Also changed the colour of the shell, electrons and nucleus and gave the particles a little glow for dramatic effect. Also gave the elements in the periodic table colours according to their categories like Alkali metals, noble gases etc. Next I am going to fix the nucleus. Make the periodic table appear on screen and try to make the UI look better. I am also thing of any features I can add. Thanks for reading!!"}, {"post_id": 66047, "ts": "2026-09-11T16:36:57Z", "hours": 8.6878, "text": "Sorry for so long undevlogged hours. First time I got a warning. I really procrastinate on devlogs. There are many changes I made, the first being the addition of radioactive/stable status, half-life, decay mode, spin/parity, and atomic mass into the isotope tab. My vision is that I want people to explore the isotopes when they play around manually with the subatomic particles. This increased my database for isotopes to 45k lines, hopefully the person who told me it’s ok to use AI for data collection was true. And for enhanced UX I added +10 and -10 buttons as well as the ability to type the number of electrons in. And the biggest and the most obvious update was the periodic table. I spent so long figuring it out. At first I tried doing the entire thing in CSS, but thankfully the array of elements with so many seemingly useless information I created at the start helped out and I was able to assign each of them groups and periods to look like a periodic table through JavaScript, but La and Ac were acting up because they kept going down to the f block. I moved them up but it still looks not as good. I then added each element on the table to be clickable and the user would instantly move to the desired element and be able to test what isotopes it has and also all their properties. Also I removed the configuration because I am making the Bohr model visible so it’s inaccurate to have the Aufbau configuration. I am 1000% going to do frequent devlogs please forgive me for my past 3 devlogs. Also I made sure the most commonly used isotope is there by default on the isotope panel when the periodic table is clicked. I think I will look how to make the UI better first as the periodic table being on the bottom feels so weird and bad UI because the user needs to scroll to see the change. I’ll think for a fix. Thanks for reading!!!!!"}, {"post_id": 63762, "ts": "2026-09-07T18:39:18Z", "hours": 8.0033, "text": "Now this is a big one! I have spent hours trying different ways to add isotopes to this. I thought I would add some common isotopes and not let the user make any other atom. Then I ditched it and tried to just say not in data. Then I tried to reduce the number of elements then I thought that how many isotopes can I actually add? So Iooked up on how many isotopes exist of all known elements I found a study of NUBASE in 2022 with 3588 ground state isotopes in their website. It had a lot of detail. I have used clause to parse it into a json file and it has 25k lines. I have asked the shipwrights and they said it’s fine so I did it. So now I have each possible ground state isotope and its basic properties in my project so I just linked it to javascript and then decided I wanted an entire window dedicated to isotopes and as my project had been bad for so long so I redid the html and finally touched css. Didn’t take me too long it has become very easy to create basic cards after my last project. Then I created a few functions for the isotopes which basically act as a validator which I made previously for protons. Also I deleted a lot of my code. So as seen in the video, Isotopes are divided into stable, radioactive and invalid. Any isotope which my database doesn’t have does not exist in ground state which is way bigger of a scale I was thinking about so I am proud of it. Also the name and symbol have been changed as well. the css looks very bad as I just did it very fast so that it at least looks like it is real. Next is redoing the nucleus to increase the randomisation and maybe I am thinking of redoing the isotopes window and the UI. Mostly thinking of working on UI now but idk what I do tomorrow. Thanks for reading!!"}, {"post_id": 62851, "ts": "2026-09-06T11:40:28Z", "hours": 6.7181, "text": "Very long devlog here. I have added a lot of stuff and have failed to add a lot of stuff too. The first task at my hand was making the nucleus into individual particles.The problem I ran into was when there were less than 14 nuclear particles they were too far away from each other. So I made a few if statements for better alignment in lower atomic number elements. Then I added colours for identification I will change them in the future. After adding colour I saw that the protons and neutrons aren’t mixing and are forming rings instead and so far I cannot fix it. Next thing I added was electronic configuration. I have used Aufbau’s principle for the electronic configuration which is kinda inaccurate as my model doesn’t use it but I added it because I can. Also I have not added all the exceptions like chromium. The next step was adding ions and isotopes. I spent so much time adding isotopes and failed terribly but the ions have been working out. Currently they are also inaccurate because I have yet to add a block for impossible structures and also the names just add ion instead of saying oxide or chloride. There is a type section currently because I first added just anion neutral and cation detector but then decided I want all ions and isotopes as well. The most amount of time spent this time is for sure the failure of my isotopes addition. Also I have been tweaking the tilts to make them look better. My devlog makes it look simple but it took so much freaking trial and error to do all this I am seriously burned out now. But it’s too fun for me to stop. Thanks for reading!!"}, {"post_id": 62205, "ts": "2026-09-05T13:55:38Z", "hours": 2.9883, "text": "I have now added buttons for user to add and remove subatomic particles. The neutrons are kind of useless because I have currently linked it to the periodic table I added to the code (yes I added all the elements as mentioned in previous devlogs). So the atomic mass is hardcoded for every element but in the future I will switch back to mass number when I add isotopes to the this. And now the most obvious change. I have added a tilt to all the electron paths and the shells so that I can have a 3d effect. I looked up on how to make this 3d and decided it was wayyy too out of my league, though what I am doing is already out of it, but I decided I will try a 2.5d style and this is as far as I have gotten. I have also made it so that the outer shells move faster than inner ones for better effect. It looks kinda ugly as I have neglected css but I am waiting for a general structure to be finished before I do that. I have to say that canvas is very complicated. And I am having to use a lot of loops and I am having difficulty understanding my own code. I hope by moving forwards I can get more comfortable with all this. Thanks for reading!!"}, {"post_id": 62052, "ts": "2026-09-05T08:52:41Z", "hours": 2.5119, "text": "I have added functions to calculate the mass number and the charge on each configuration. Then I have added the properties of each element in the periodic table into the code and made a div so that it can be seen in the web page. In the video below I am changing the number of electrons and protons to showcase it working I am yet to add an input on the screen. Also for each element I have added its atomic number, symbol, name, atomic mass, period, group and category. I believe it will prove useful in the future when I add a proper description. I am also going to add isotopes in the future. It was very boring to copy all the elements from he periodic table though. Thanks for reading!! edit: I just noticed a bug. I am not changing the number of neutrons so the mass number is wrong in every case. As I set the detection of each element by the number of protons I didn’t realise it. Sorry for the error"}, {"post_id": 61724, "ts": "2026-09-04T19:24:00Z", "hours": 2.265, "text": "The visual difference in this update may not look a lot but the code has changed a lot. Previously all of the stuff was just hardcoded values and now I have turned them all into proper dynamic values. I have given it a configuration to accommodate all 118 elements properly. Also made it so that the increasing number of shells reduces the spacing so the shells don’t clip out of bounds. Also having lesser shells spreads them out more so it looks zoomed in. All seems to work fine now. Almost all hardcoded values are turned into functions so I am going to try to add a way so the user can directly add an electron to the system. I am yet to touch the protons it’s still just balls revolving in a certain configuration, far from my vision. Thanks for reading!!"}, {"post_id": 61588, "ts": "2026-09-04T16:00:47Z", "hours": 4.2703, "text": "So I redid all the code of the javascript. I created different functions for the shells, nucleus and the electrons. After that I made a loop for the electrons so that they spawn in the shell structure of 2,8,8 and don’t overlap and another loop inside that to make sure that they all are revolving around the nucleus in their own shells. Then I made a loop for the shells with the same calculation of the radius so that they form properly along the revolving electrons. And damn was all of that hard to understand and create. In my previous projects I had not worked much with loops so I had to learn all about them and damn does this project use a lot of maths. It’s lowkey kind of fun playing with numbers and seeing varying results on screen. I think I will have to ditch these functions in the future because my end goal is to get all the 118 elements in there but this is an important learning step for me. Thanks for reading!!"}, {"post_id": 61336, "ts": "2026-09-04T06:26:06Z", "hours": 0.7969, "text": "Finally figured out how to move the electron along the path. Had to use Sine and Cosines to designate the movement. One problem which came up was that the new frame was not erasing the previous position of the electron so I did a clearRect so erase the previous frame but it currently is clearing everything including the shell and the nucleus. I am going to re write everything into separate functions to fix it."}, {"post_id": 61172, "ts": "2026-09-03T23:32:27Z", "hours": 1.9469, "text": "This project is kind of ambitious for me as it is a complicated one, but as a science. student I have always wanted to build something like this. I just spent a couple of hours experimenting and learning about canvas. First time using it. I really love that I have to use maths, physics and chemistry to make a project. The vision I have with this project is having a way to add electrons and protons and neutrons to make different elements and their isotopes. I will try to get then entire periodic table. And as my previous projects I don’t know how I will do it. I will learn as I build. This is very fun so far and I hope it doesn’t take as long as the last one. Thanks for reading!!"}]...
|
Title: Atom Simulator by @Rezz | Stardance
Devlog Title: Atom Simulator by @Rezz | Stardance
Devlogs:
This project is kind of ambitious for me as it is a complicated one, but as a science. student I have always wanted to build something like this. I just spent a couple of hours experimenting and learning about canvas. First time using it. I really love that I have to use maths, physics and chemistry to make a project. The vision I have with this project is having a way to add electrons and protons and neutrons to make different elements and their isotopes. I will try to get then entire periodic table. And as my previous projects I don’t know how I will do it. I will learn as I build. This is very fun so far and I hope it doesn’t take as long as the last one. Thanks for reading!!
Finally figured out how to move the electron along the path. Had to use Sine and Cosines to designate the movement. One problem which came up was that the new frame was not erasing the previous position of the electron so I did a clearRect so erase the previous frame but it currently is clearing everything including the shell and the nucleus. I am going to re write everything into separate functions to fix it.
So I redid all the code of the javascript. I created different functions for the shells, nucleus and the electrons. After that I made a loop for the electrons so that they spawn in the shell structure of 2,8,8 and don’t overlap and another loop inside that to make sure that they all are revolving around the nucleus in their own shells. Then I made a loop for the shells with the same calculation of the radius so that they form properly along the revolving electrons. And damn was all of that hard to understand and create. In my previous projects I had not worked much with loops so I had to learn all about them and damn does this project use a lot of maths. It’s lowkey kind of fun playing with numbers and seeing varying results on screen. I think I will have to ditch these functions in the future because my end goal is to get all the 118 elements in there but this is an important learning step for me. Thanks for reading!!
The visual difference in this update may not look a lot but the code has changed a lot. Previously all of the stuff was just hardcoded values and now I have turned them all into proper dynamic values. I have given it a configuration to accommodate all 118 elements properly. Also made it so that the increasing number of shells reduces the spacing so the shells don’t clip out of bounds. Also having lesser shells spreads them out more so it looks zoomed in. All seems to work fine now. Almost all hardcoded values are turned into functions so I am going to try to add a way so the user can directly add an electron to the system. I am yet to touch the protons it’s still just balls revolving in a certain configuration, far from my vision. Thanks for reading!!
I have added functions to calculate the mass number and the charge on each configuration. Then I have added the properties of each element in the periodic table into the code and made a div so that it can be seen in the web page. In the video below I am changing the number of electrons and protons to showcase it working I am yet to add an input on the screen. Also for each element I have added its atomic number, symbol, name, atomic mass, period, group and category. I believe it will prove useful in the future when I add a proper description. I am also going to add isotopes in the future. It was very boring to copy all the elements from he periodic table though. Thanks for reading!! edit: I just noticed a bug. I am not changing the number of neutrons so the mass number is wrong in every case. As I set the detection of each element by the number of protons I didn’t realise it. Sorry for the error
I have now added buttons for user to add and remove subatomic particles. The neutrons are kind of useless because I have currently linked it to the periodic table I added to the code (yes I added all the elements as mentioned in previous devlogs). So the atomic mass is hardcoded for every element but in the future I will switch back to mass number when I add isotopes to the this. And now the most obvious change. I have added a tilt to all the electron paths and the shells so that I can have a 3d effect. I looked up on how to make this 3d and decided it was wayyy too out of my league, though what I am doing is already out of it, but I decided I will try a 2.5d style and this is as far as I have gotten. I have also made it so that the outer shells move faster than inner ones for better effect. It looks kinda ugly as I have neglected css but I am waiting for a general structure to be finished before I do that. I have to say that canvas is very complicated. And I am having to use a lot of loops and I am having difficulty understanding my own code. I hope by moving forwards I can get more comfortable with all this. Thanks for reading!!
Very long devlog here. I have added a lot of stuff and have failed to add a lot of stuff too. The first task at my hand was making the nucleus into individual particles.The problem I ran into was when there were less than 14 nuclear particles they were too far away from each other. So I made a few if statements for better alignment in lower atomic number elements. Then I added colours for identification I will change them in the future. After adding colour I saw that the protons and neutrons aren’t mixing and are forming rings instead and so far I cannot fix it. Next thing I added was electronic configuration. I have used Aufbau’s principle for the electronic configuration which is kinda inaccurate as my model doesn’t use it but I added it because I can. Also I have not added all the exceptions like chromium. The next step was adding ions and isotopes. I spent so much time adding isotopes and failed terribly but the ions have been working out. Currently they are also inaccurate because I have yet to add a block for impossible structures and also the names just add ion instead of saying oxide or chloride. There is a type section currently because I first added just anion neutral and cation detector but then decided I want all ions and isotopes as well. The most amount of time spent this time is for sure the failure of my isotopes addition. Also I have been tweaking the tilts to make them look better. My devlog makes it look simple but it took so much freaking trial and error to do all this I am seriously burned out now. But it’s too fun for me to stop. Thanks for reading!!
Now this is a big one! I have spent hours trying different ways to add isotopes to this. I thought I would add some common isotopes and not let the user make any other atom. Then I ditched it and tried to just say not in data. Then I tried to reduce the number of elements then I thought that how many isotopes can I actually add? So Iooked up on how many isotopes exist of all known elements I found a study of NUBASE in 2022 with 3588 ground state isotopes in their website. It had a lot of detail. I have used clause to parse it into a json file and it has 25k lines. I have asked the shipwrights and they said it’s fine so I did it. So now I have each possible ground state isotope and its basic properties in my project so I just linked it to javascript and then decided I wanted an entire window dedicated to isotopes and as my project had been bad for so long so I redid the html and finally touched css. Didn’t take me too long it has become very easy to create basic cards after my last project. Then I created a few functions for the isotopes which basically act as a validator which I made previously for protons. Also I deleted a lot of my code. So as seen in the video, Isotopes are divided into stable, radioactive and invalid. Any isotope which my database doesn’t have does not exist in ground state which is way bigger of a scale I was thinking about so I am proud of it. Also the name and symbol have been changed as well. the css looks very bad as I just did it very fast so that it at least looks like it is real. Next is redoing the nucleus to increase the randomisation and maybe I am thinking of redoing the isotopes window and the UI. Mostly thinking of working on UI now but idk what I do tomorrow. Thanks for reading!!
Sorry for so long undevlogged hours. First time I got a warning. I really procrastinate on devlogs. There are many changes I made, the first being the addition of radioactive/stable status, half-life, decay mode, spin/parity, and atomic mass into the isotope tab. My vision is that I want people to explore the isotopes when they play around manually with the subatomic particles. This increased my database for isotopes to 45k lines, hopefully the person who told me it’s ok to use AI for data collection was true. And for enhanced UX I added +10 and -10 buttons as well as the ability to type the number of electrons in. And the biggest and the most obvious update was the periodic table. I spent so long figuring it out. At first I tried doing the entire thing in CSS, but thankfully the array of elements with so many seemingly useless information I created at the start helped out and I was able to assign each of them groups and periods to look like a periodic table through JavaScript, but La and Ac were acting up because they kept going down to the f block. I moved them up but it still looks not as good. I then added each element on the table to be clickable and the user would instantly move to the desired element and be able to test what isotopes it has and also all their properties. Also I removed the configuration because I am making the Bohr model visible so it’s inaccurate to have the Aufbau configuration. I am 1000% going to do frequent devlogs please forgive me for my past 3 devlogs. Also I made sure the most commonly used isotope is there by default on the isotope panel when the periodic table is clicked. I think I will look how to make the UI better first as the periodic table being on the bottom feels so weird and bad UI because the user needs to scroll to see the change. I’ll think for a fix. Thanks for reading!!!!!
COMPLETE CSS OVERHAUL. I have redone the entire CSS to make it look WAYYY better and you can see the results. I am adopting a dark theme. I do want it to look more like space but I will see to it later. I added a toggle function for the periodic table. It looks kind of useless now but what I wanna do is make it appear on the screen instead of appearing below so that the use can select without having to scroll. Also the nucleus must be catching your eye. I tried to randomise it but for some reason it is randomising every frame so I have to figure out how to fix it. I am pretty sure it is a very simple fix that I am wasting so much time on. Also changed the colour of the shell, electrons and nucleus and gave the particles a little glow for dramatic effect. Also gave the elements in the periodic table colours according to their categories like Alkali metals, noble gases etc. Next I am going to fix the nucleus. Make the periodic table appear on screen and try to make the UI look better. I am also thing of any features I can add. Thanks for reading!!
I am so freaking done with this!! I have been sitting here for so many hours trying to fix the nucleus and for some reason it is never working. I have created multiple new functions deleted those, changed those and one time is became a spiral pattern. Then I tried to randomise it and it became like a random splash. then the neutrons disappeared. then the count got messed up so every ten neutrons added get on screen. Then neutrons did not show up until we reached 24 of them. I tried every different way I could think of solving this but this is not working. At last I thought I should just go back to my old configuration because it was good enough but now it became like this and is overlapping into the first shell. I guess I deleted my old function where I had set its parameter to not overlap the inner shell but here we are. Also I found a way to make the periodic table work properly. It now pops up on screen so the user doesn’t have to scroll and disappears with th user input or if the user clicks the background. I will make it transparent in the future. Also I hope I can fix this nucleus this is so not it. Thanks for reading.
This is making me give up guys. I cannot fix this nucleus this just isn’t working. I have been spending so many hours on this I used to do so much more daily but I just rage quit when I can’t fix this. You can see in the video is is still working in a sequence I cannot fix it. I did fix the flicker which happens every time a particle is added so it is very smooth now. also I added rotation to the shells by adjusting my already existing drawshell function. I made some changes in css though they are not noticable in the video as I removed most of them because the light theme didn’t suit the project. I am trying to make the theme more space and science like more like an observatory. I really wanna start on animations but I am holding it off for everything else to start working first. Thanks for reading!!
I have finally added an animation to the addition of the electrons!! You can see in the video I have made it so that every added electron comes from outside the canvas and takes its place in the orbit. It is far from perfect right now but it’s the first step. The biggest problem in this was making sure it came in at the proper angle so it feels smooth and injects itself properly. I am thinking of animating the other electrons to slowly move and make space for the new electron so it doesn’t look like a flicker every electron added. The nucleus is still the same I am leaving it alone I will fix it in the end it’s too much for me. Also did a lot of CSS changes in the periodic table and the isotope panel and the control buttons. I am trying to make it look like an instrument more Than a button so hopefully it can happen. The next move is refining this animation and once it’s done I will redo the entire CSS to a space, science, observatory theme. Thanks for reading!!
I have completed the animation now. The other electrons now move slowly into their new positions and make space for the incoming electron. I also made it so that it is fluid for +10 electrons as well. I also am moving towards my final UI so everything is black now instead of blue and I plan on making it more space like. Now comes the part where I tell you my struggles. I spent a lot of time trying to perfect the animation. To do this I had to make changes in a lot of my functions and I finally was at the end of my struggles after about 3 hours of work and there was just one bug I was unable to fix which was that whenever I spam added electrons they would go into one place and then teleport into their dedicated locations. To fix that I made a lot of changes. The problem was that the canvas was not giving new space assignment to the electron when it was being spam added and foolish me without committing decided to fix it and broke everything. I managed to break it so bad that program broke when adding a new shell. And because I had made so many changes I was not gonna spend another 3 hours fixing them one by one so I had no choice but to delete everything since the last commit which was my last devlog. and then I had to remake it from there. Lesson learnt. Thanks for reading!!!
Final Devlog is here guys after so many hours!! I have redone the UI to look less generic and a little more unique. The canvas is now having invisible borders so it blends in with the background. Added a header. Added red colour in case of invalid isotope and moved status to the to for better user experience. Also set the cap to 118 on both electrons and protons. Fixed the plus 10 button so it goes up to 118 instead of stopping if there is less than 10 electrons left to 118. That will be all I will ship this and other features will come in future updates like exit animations and ion panel. There is a lot more I could do but I have refined everything I made in this and that will be all for now as adding new things will create an unrefined product. I have set the default atom to chromium-24 just because it is not too small and not too big to help the users go lower and upward pretty quick. It was a long run and genuinely tough project. The amount of documentation I had to read was unreal. Thanks for reading!!!!!!!!!!!!!!
Complete UI change!! The shipwrights told me my theme was very generic and looked very AI generated so I changed it into the theme of star charts used by astronomers in 17th-18th centuries. Renamed the periodic table to the atlas and over all made everything look like a diagram made on parchment. Also added a trail to the electrons to make it look a little bit more unique. My project is based on the Bohr model which was based on astronomy of that time which emerged from these star charts so I decided to use this theme to have a little personality and originality. Thanks for reading!!
Ships:
ATOM SIMULATOR!! Simulate an atom by adding subatomic particles manually or selecting elements directly from the periodic table and learn about every ground state isotope humanity has ever discovered! When I was starting this project I wanted to make something that I could show to others and be proud of it and this is what I have made! You can add any amount of subatomic particles and see the details of the isotope you have created. (Trust me there are many surprising combinations which actually exist). There are 3588 isotopes which exist in ground state and all are in the database of this project. This is a great opportunity to learn about the properties of every isotope in a fun and interactive way! What I built: :> The main canvas with the simulation of the atom. :> The element panel shows the information of the element you have created. :> The isotope panel gives you all the information about the current isotope you created and also visually highlights invalid isotopes, :> The control buttons let you ADD/REMOVE subatomic particles with full control. :> The periodic table with all the elements with proper buttons to jump to elements. :> Proper animation of the atom in the canvas. How I made it easy to use: :>Deployed it to GitHub pages so that anyone can easily access it without having to clone the repository. :> +10/-10 button help users to jump between atoms easily as well as see a satisfying animation. :> Added the ability to type in the desired number of subatomic particles for even more accessibility. :> The periodic table lets people jump to any desired element they want, so they do not have to struggle to reach any desired element. :> Made it so that the periodic table pops up with one click and disappears instantly when the user clicks an element or outside the table for a smooth and fast user experience. :> Colour coded each element in the periodic table depending on their types. :> If the user creates an invalid isotope, the isotope panels visually highlight it so that the user does not get confused. Technicalities A lot of things have been used in this project I have listed the things I learnt below: HTML5 Canvas Canvas Drawing Canvas Coordinate Systems requestAnimationFrame() Graphics / Animation Loops Mathematical Animation Polar / Circular Positioning Trigonometry in Programming Canvas Transformations 2.5D / Depth Illusion Painter’s Algorithm / Draw Order Dynamic Geometry State-Driven Graphics Data-Driven Application Design Managing Dynamic Object Collections Animation State Interpolated Animation Dynamic Numbers of Animated Objects Dynamic Shell Allocation UI State I am currently learning web development and these are my early steps. This is my first time using canvas so I gave it my best. The project may look very long in itself but it would have been way longer if you add the time spent reading documentation and watching videos about canvas Api. Since I started in stardance I have gone from not even knowing html syntax to here and I plan to further improve my understanding of canvas by making a game next. So, wish me luck. Please read the README for detailed explanation of my project!...
|
1793004986.1143143
|
1793091386.1143143
|
|
57512
|
Page Turner-32 by @antellij | Stardance
|
antellij
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T02:58:18Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A fairly simple DIY E-reader built using the ESP32-S3 devboard, storing epub files in the flash (can be updated through wifi) and displays the output to an E-paper display. Built reusing an old dvd player as the shell and the remote for navigation.", "repo": "https://github.com/antelliJ/EPUB-Ereader", "demo": ""}]...
|
[{"post_id": 67032, "ts": "202 [{"post_id": 67032, "ts": "2026-09-13T02:14:01Z", "hours": 1.8692, "text": "I’ve been taking the time to work on the README and demo vid for this project, cleaning up some code and prepping everything for release"}, {"post_id": 60474, "ts": "2026-09-02T20:26:13Z", "hours": 0.4628, "text": "The ereader project is something that I was working on before stardance and builds upon the incredible work of people who have implemented the libraries and tools that allowed this project to be quite expansive. I hermit-crabbed an old portable dvd player to be the shell, and learned how to intercept its remote to work with my project, reviving some life into the old hardware. I didn’t quite get to figuring out sd card storage (just because I’m using all the cards I have and don’t feel like buying more), so everything is on the board’s 16 Mb flash storage (less than that due to program size). But it is usually enough to hold some books and easy enough to wirelessly connect and update the library that is stored. (just go to ereader.local when connected and all the options appear) Atomic14 on github made an epub reading repo using the espressif framework, but since I am more familiar with Arduino I remodeled a lot of the functionality to work with it and with the hardware that I had available, among other additions to fit my usage. I hope to maybe make the project more accessible with some good installation and customization, and potentially even a utility to make uploading content onto the flash even easier."}]...
|
Title: Page Turner-32 by @antellij | Stardance
De Title: Page Turner-32 by @antellij | Stardance
Devlogs:
The ereader project is something that I was working on before stardance and builds upon the incredible work of people who have implemented the libraries and tools that allowed this project to be quite expansive. I hermit-crabbed an old portable dvd player to be the shell, and learned how to intercept its remote to work with my project, reviving some life into the old hardware. I didn’t quite get to figuring out sd card storage (just because I’m using all the cards I have and don’t feel like buying more), so everything is on the board’s 16 Mb flash storage (less than that due to program size). But it is usually enough to hold some books and easy enough to wirelessly connect and update the library that is stored. (just go to ereader.local when connected and all the options appear) Atomic14 on github made an epub reading repo using the espressif framework, but since I am more familiar with Arduino I remodeled a lot of the functionality to work with it and with the hardware that I had available, among other additions to fit my usage. I hope to maybe make the project more accessible with some good installation and customization, and potentially even a utility to make uploading content onto the flash even easier.
I’ve been taking the time to work on the README and demo vid for this project, cleaning up some code and prepping everything for release
Ships:
A fairly simple DIY E-reader built using the ESP32-S3 devboard, storing epub files in the flash (can be updated through wifi) and displays the output to an E-paper display. Built reusing an old dvd player as the shell and the remote for navigation....
|
1793004985.20718
|
1793091385.20718
|
|
57508
|
SWAG Tab by @berragurlesin | Stardance
|
berragurlesin
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T20:02:49Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a new tab page that is fully customizable and allows everyone to reflect their own style. It’s called SWAG tab! From stickers you can add, remove, and resize to a box where you can write your name, from daily APOD space updates from NASA to a motivational note box… many things you can think of. I learned the basics by following the guide and fetched the APOD from NASA. Afterwards I added the features I would want for my new tab page one by one as they came to mind. Adjusting the sticker sizes was a big struggle, but I finally managed it! Overall, I really enjoyed working on this project. If you’d like to have a cool new tab page yourself, or want to learn more please read the README first, and then try the project. I would love to hear your thoughts!", "repo": "https://github.com/berragurlesin/My-Swag-Tab", "demo": "https://berragurlesin.github.io/My-Swag-Tab/"}]...
|
[{"post_id": 70243, "ts": "202 [{"post_id": 70243, "ts": "2026-09-18T19:38:35Z", "hours": 1.6725, "text": "devlog #13 it seems like SWAG tab is finally done! We can now adjust the sticker sizes. And I wrote the project README so you can get a handle on the details. I’d be absolutely happy if you could take a look and share your feedback"}, {"post_id": 69281, "ts": "2026-09-16T18:39:59Z", "hours": 2.3558, "text": "devlog #12 hii, being motivated is important and as people with goals we need it. That’s why there’s now a motivational note box in SWAG Tab! I’ll also be working on adding default options (plus, you can move this box wherever you like and it works AWESOME) Also, NASA sent a video a few days ago but it gave an error again, it seems to be a permissions issue. So I added a button that links directly to the NASA APOD page, that way the video can be watched! I hadn’t been able to share a devlog but if another video comes through I’ll show it. Ooh, and I also made it possible to drag the NASA photo box!"}, {"post_id": 66682, "ts": "2026-09-12T15:38:38Z", "hours": 1.6697, "text": "devlog#11 hey everyone! you can now write a name using ransom note letters inside the “my name is” tag (I’m thinking of changing this style or adding different options later) I added three font size levels, the letters shrink as the word gets longer, so it looks betterrr. ooh, and also since I was used to it I was entering Turkish characters, so I added a function to convert them (though adding different characters directly later on might be better)"}, {"post_id": 66583, "ts": "2026-09-12T12:53:38Z", "hours": 0.5464, "text": "devlog#10 heelloo, I was getting an error when a video came from NASA, so I had to write the code to handle both scenarios. But then I realized there was a conflict because the image wasn’t being hidden when the video appeared. I also learned that YouTube links etc. can come through as well, so I added a parameter to account for those cases too. Insallah, this solves the problem!"}, {"post_id": 64987, "ts": "2026-09-09T19:13:41Z", "hours": 2.0233, "text": "devlog#09 hiyaa, I spent a long time trying to add a function to adjust sticker sizes, but once I added it other features stopped working properly…I couldn’t add or drag stickers, and so on :( If you have any ideas on how to fix this, please lmk. BUUUT I did add something I really love, a cute label where you can write your name! I made it stick out a bit, adjusted the angle and placement etc. though I’m going to try changing the text to a different font. Also, a problem show up with the image/video coming from NASA today. I think it is a video for today and the issue occurs from that, I’m gonna try to fix it now"}, {"post_id": 63554, "ts": "2026-09-07T13:58:29Z", "hours": 2.2025, "text": "devlog#08 Hi guyss! There is a super important update, SWAG Tab is now even more customizable! I’ve coded the sticker adding feature I’ve had in mind from the very beginning (some parts were really tricky :D) First, I loaded default stickers and set their positions. I decided that two of them shouldn’t be deletable (the star near the search bar and the limited edition sticker. I used “canBeDeleted” boolean variable to ensure those set to false couldn’t be removed) though their positions can still be changed by user. (actually, you can move any sticker wherever you want, though there are a few bugs I still need to fix) In the video, I clear the local storage and show the default positions. Also, all of the user’s edits are saved locally. In short, the user can now add and remove stickers and move them anywhere they want on the page. However, the sizes of the stickers need to be adjustable, the next devlog might be about that! If you’ve read this far, lmk what do you think about stickers!"}, {"post_id": 63158, "ts": "2026-09-06T20:06:42Z", "hours": 1.3919, "text": "devlog #07 we can now change the backgroundd I’ve added a few options that match the theme, but you can also select your own file if you want. I designed the icon for the background settings myself, I didn’t want a normal settings icon, so I added the star to it, I think it looks good now!"}, {"post_id": 62483, "ts": "2026-09-05T21:04:39Z", "hours": 2.6047, "text": "devlog #06 hey there! SWAG tab is progressing. I thought that if I am building a tab I need to add shortcuts, and I’ve spent the last three hours working on this. Now there’s a box that we can add our fav shortcuts. I put a lot of thought into the design, and this is the result! I used Google favicon fetcher to get the app icons (otherwise they look pretty bad) and I added a button to delete them if needed, make them match to the overall theme. I also applied a glittery background to the box that I really like. As the next step, I’m thinking of adding a feature to change the background color (the blue one), because I’m already itching to see some different colors! :D"}, {"post_id": 61444, "ts": "2026-09-04T11:23:46Z", "hours": 1.0986, "text": "devlog #05 now, I can fetch images from NASA! I added a api key and used it by following the steps in the guide. I learned that NASA sometimes uploads videos for APOD, so I wrote an if statement and make sure nothing breaks when a video loads. I also customized the styling!"}, {"post_id": 61030, "ts": "2026-09-03T18:45:26Z", "hours": 0.3783, "text": "devlog #04 standard fonts didn’t give me the vibe I was looking for, so I cropped the numbers I mentioned in my previous devlog, made them all the same size and removed their backgrounds. Got them working on the clock! made the images cycle through in order every second. How is it going?"}, {"post_id": 60959, "ts": "2026-09-03T17:18:01Z", "hours": 0.6617, "text": "devlog #03 hii, I created a live digital clock that updates itself using JS’s date object and the setInterval function. I wanna change this clock with numbers in my own style (I found a font!) now I’m going to look into how to do that"}, {"post_id": 60462, "ts": "2026-09-02T20:00:11Z", "hours": 0.37, "text": "devlog #02 I found these colors on pinterest (I added the reference) and applied that blue color to my background, I also added a google search bar and adjusted its colors as well"}, {"post_id": 60210, "ts": "2026-09-02T13:12:10Z", "hours": 0.2778, "text": "devlog #01 hey everyone, I followed the steps in the mission guide and I think I’ve got the basics down (yup!) next up is customizing my own tab"}]...
|
Title: SWAG Tab by @berragurlesin | Stardance
Dev Title: SWAG Tab by @berragurlesin | Stardance
Devlogs:
devlog #01 hey everyone, I followed the steps in the mission guide and I think I’ve got the basics down (yup!) next up is customizing my own tab
devlog #02 I found these colors on pinterest (I added the reference) and applied that blue color to my background, I also added a google search bar and adjusted its colors as well
devlog #03 hii, I created a live digital clock that updates itself using JS’s date object and the setInterval function. I wanna change this clock with numbers in my own style (I found a font!) now I’m going to look into how to do that
devlog #04 standard fonts didn’t give me the vibe I was looking for, so I cropped the numbers I mentioned in my previous devlog, made them all the same size and removed their backgrounds. Got them working on the clock! made the images cycle through in order every second. How is it going?
devlog #05 now, I can fetch images from NASA! I added a api key and used it by following the steps in the guide. I learned that NASA sometimes uploads videos for APOD, so I wrote an if statement and make sure nothing breaks when a video loads. I also customized the styling!
devlog #06 hey there! SWAG tab is progressing. I thought that if I am building a tab I need to add shortcuts, and I’ve spent the last three hours working on this. Now there’s a box that we can add our fav shortcuts. I put a lot of thought into the design, and this is the result! I used Google favicon fetcher to get the app icons (otherwise they look pretty bad) and I added a button to delete them if needed, make them match to the overall theme. I also applied a glittery background to the box that I really like. As the next step, I’m thinking of adding a feature to change the background color (the blue one), because I’m already itching to see some different colors! :D
devlog #07 we can now change the backgroundd I’ve added a few options that match the theme, but you can also select your own file if you want. I designed the icon for the background settings myself, I didn’t want a normal settings icon, so I added the star to it, I think it looks good now!
devlog#08 Hi guyss! There is a super important update, SWAG Tab is now even more customizable! I’ve coded the sticker adding feature I’ve had in mind from the very beginning (some parts were really tricky :D) First, I loaded default stickers and set their positions. I decided that two of them shouldn’t be deletable (the star near the search bar and the limited edition sticker. I used “canBeDeleted” boolean variable to ensure those set to false couldn’t be removed) though their positions can still be changed by user. (actually, you can move any sticker wherever you want, though there are a few bugs I still need to fix) In the video, I clear the local storage and show the default positions. Also, all of the user’s edits are saved locally. In short, the user can now add and remove stickers and move them anywhere they want on the page. However, the sizes of the stickers need to be adjustable, the next devlog might be about that! If you’ve read this far, lmk what do you think about stickers!
devlog#09 hiyaa, I spent a long time trying to add a function to adjust sticker sizes, but once I added it other features stopped working properly…I couldn’t add or drag stickers, and so on :( If you have any ideas on how to fix this, please lmk. BUUUT I did add something I really love, a cute label where you can write your name! I made it stick out a bit, adjusted the angle and placement etc. though I’m going to try changing the text to a different font. Also, a problem show up with the image/video coming from NASA today. I think it is a video for today and the issue occurs from that, I’m gonna try to fix it now
devlog#10 heelloo, I was getting an error when a video came from NASA, so I had to write the code to handle both scenarios. But then I realized there was a conflict because the image wasn’t being hidden when the video appeared. I also learned that YouTube links etc. can come through as well, so I added a parameter to account for those cases too. Insallah, this solves the problem!
devlog#11 hey everyone! you can now write a name using ransom note letters inside the “my name is” tag (I’m thinking of changing this style or adding different options later) I added three font size levels, the letters shrink as the word gets longer, so it looks betterrr. ooh, and also since I was used to it I was entering Turkish characters, so I added a function to convert them (though adding different characters directly later on might be better)
devlog #12 hii, being motivated is important and as people with goals we need it. That’s why there’s now a motivational note box in SWAG Tab! I’ll also be working on adding default options (plus, you can move this box wherever you like and it works AWESOME) Also, NASA sent a video a few days ago but it gave an error again, it seems to be a permissions issue. So I added a button that links directly to the NASA APOD page, that way the video can be watched! I hadn’t been able to share a devlog but if another video comes through I’ll show it. Ooh, and I also made it possible to drag the NASA photo box!
devlog #13 it seems like SWAG tab is finally done! We can now adjust the sticker sizes. And I wrote the project README so you can get a handle on the details. I’d be absolutely happy if you could take a look and share your feedback
Ships:
I created a new tab page that is fully customizable and allows everyone to reflect their own style. It’s called SWAG tab! From stickers you can add, remove, and resize to a box where you can write your name, from daily APOD space updates from NASA to a motivational note box… many things you can think of. I learned the basics by following the guide and fetched the APOD from NASA. Afterwards I added the features I would want for my new tab page one by one as they came to mind. Adjusting the sticker sizes was a big struggle, but I finally managed it! Overall, I really enjoyed working on this project. If you’d like to have a cool new tab page yourself, or want to learn more please read the README first, and then try the project. I would love to hear your thoughts!...
|
1793004983.9480524
|
1793091383.9480524
|
|
57505
|
BlockGen Unity3d by @Rohit_Biswas | Stardance
|
Rohit_Biswas
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T15:07:28Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made procedural block generation game. I made this with my self no help from AI but i used stackoverflow and internert.I learned block culling , block rendering , chunk generation and octave noise system.If you want to modify my project you can download unity 2022.3.", "repo": "https://github.com/BlooPlanet/BlockGen-Unity3d/tree/dev", "demo": "https://blooplanet.itch.io/blockgen-test"}]...
|
[{"post_id": 64912, "ts": "202 [{"post_id": 64912, "ts": "2026-09-09T17:06:37Z", "hours": 0.2753, "text": "I made terrain generation and nice transparent water"}, {"post_id": 64212, "ts": "2026-09-08T13:27:08Z", "hours": 3.0925, "text": "Today, I made block generation and chunk load/unload system."}, {"post_id": 62054, "ts": "2026-09-05T09:03:31Z", "hours": 4.7456, "text": "today, i work on player model and player skin system. i made skin graber system in unity with using minotar api that provide me official minecraft user skins."}]...
|
Title: BlockGen Unity3d by @Rohit_Biswas | Stardan Title: BlockGen Unity3d by @Rohit_Biswas | Stardance
Devlogs:
today, i work on player model and player skin system. i made skin graber system in unity with using minotar api that provide me official minecraft user skins.
Today, I made block generation and chunk load/unload system.
I made terrain generation and nice transparent water
Ships:
I made procedural block generation game. I made this with my self no help from AI but i used stackoverflow and internert.I learned block culling , block rendering , chunk generation and octave noise system.If you want to modify my project you can download unity 2022.3....
|
1793004983.0328488
|
1793091383.0328488
|
|
57492
|
AmateurCar by @amateur_tech_guy | Stardance
|
amateur_tech_guy
|
1
|
19.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T13:24:18Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "AmateurCar PLEASE READ THIS!! hey guys i am currently shipping this project because i spent 35 hours on the last one and only got 200 stardust:( anyways disclaimer i paid for everything shown here with my last bit of money so please give me good ratings guys i need it!! AmateurCar is just a car powered by arduino an L298N driver module and an HC05!! it was extremely difficult to make because one wrong move and then you will have to unfortunately do everything all over again by yourself which SUCKS, there is NO AI used in this whatsoever, you guys can see the project in the devlogs and see how it progressed:0 Honestly it isnt very useable but it is a good template for someone who wants to make it honestly, they could just use this as the base and the 42hr work will be done in 10! Thank you all to anyone who gives out a good rating, it really will do alot for me:)", "repo": "https://github.com/amateurtechguy/AmateurCar", "demo": ""}]...
|
[{"post_id": 69125, "ts": "202 [{"post_id": 69125, "ts": "2026-09-16T13:02:59Z", "hours": 10.4, "text": "Devlog #10: UPDATE it finally works, I changed the firmware and the car actually works!! I had a lot of issues like the mantler breaking and the wheels falling off the paint wearing off, but we did it! This is probably the last time I touch it before it breaks haha! It was super fun to make tho no matter how frustrating it was it’s always been fun:) also i think my HC05 is fake idk"}, {"post_id": 68829, "ts": "2026-09-15T20:26:02Z", "hours": 0.4667, "text": "Devlog #9: just added the arduino board and made my L298N work! Don’t get me wrong the screwing part is so hard bc the wires just did NOT want to come together but hey, progress"}, {"post_id": 65923, "ts": "2026-09-11T11:53:32Z", "hours": 4.35, "text": "Devlog #8: so bad news, the wheels weren’t wired correctly so they couldn’t really move, I had to do the whole redesign and I accidentally froze the switch in place by using glue to stick it to the platform bad idea aswell, so I just swapped it out with a new one, now I’m debating whether I should change the microcontroller from arduino to esp32 but I’m prob gonna use arduino since I spent more money on the esp32 and I might need it for more important projects"}, {"post_id": 64945, "ts": "2026-09-09T17:55:43Z", "hours": 2.1458, "text": "Devlog #7: almost done with the car, I burned myself I had hot solder fall on my leg and I lost some skin I also cut myself on accident because hardware is FRUSTRATING boy I better get good reviews on this cause HOLY I did not expect it to be this hard"}, {"post_id": 64490, "ts": "2026-09-08T22:28:21Z", "hours": 1.65, "text": "Devlog #6: time to start with the assembly process I’m so exciteddd finallyyyyy"}, {"post_id": 63768, "ts": "2026-09-07T18:45:24Z", "hours": 1.2167, "text": "Devlog #5: just started painting the wheels and motors red, next step is the assembly"}, {"post_id": 62365, "ts": "2026-09-05T18:09:09Z", "hours": 1.8644, "text": "devlog #4: I can’t believe this is only my 4th devlog on this project! anyways I finished the firmware, now tomorrow or maybe the day after, i’ll go buy the necessary parts and then i’ll 100% make this project come to life in person and post devlogs about it!"}, {"post_id": 60858, "ts": "2026-09-03T14:17:45Z", "hours": 1.3122, "text": "devlog #3: since i spent hours earlier on the CAD, it wasn’t that hard to finish it:) anyways I’m done with the CAD now, ill be working on the firmware in a bit and then i’ll go buy the stuff tomorrow from a shop and start building PS: if anyone needs any of these parts as stp files, feel free to get them from my github repo in the CAD folder:D"}, {"post_id": 60810, "ts": "2026-09-03T12:53:39Z", "hours": 13.4742, "text": "devlog #2: so i logged 14 hours but unfortunetly only 10 count, either way, ive been working on th eCAD and learning more about it im almost done now but i made this myself but in person ill make the car wheels and motors red"}, {"post_id": 60391, "ts": "2026-09-02T18:09:13Z", "hours": 5.6086, "text": "devlog #1: hey guys! today ive decided to work a bit on an Arduino powered 4WD RC car that is controlled by Bluetooth for movement, i had the schematic i did more research on hardware and now im working on the CAD:)"}]...
|
Title: AmateurCar by @amateur_tech_guy | Stardance Title: AmateurCar by @amateur_tech_guy | Stardance
Devlogs:
devlog #1: hey guys! today ive decided to work a bit on an Arduino powered 4WD RC car that is controlled by Bluetooth for movement, i had the schematic i did more research on hardware and now im working on the CAD:)
devlog #2: so i logged 14 hours but unfortunetly only 10 count, either way, ive been working on th eCAD and learning more about it im almost done now but i made this myself but in person ill make the car wheels and motors red
devlog #3: since i spent hours earlier on the CAD, it wasn’t that hard to finish it:) anyways I’m done with the CAD now, ill be working on the firmware in a bit and then i’ll go buy the stuff tomorrow from a shop and start building PS: if anyone needs any of these parts as stp files, feel free to get them from my github repo in the CAD folder:D
devlog #4: I can’t believe this is only my 4th devlog on this project! anyways I finished the firmware, now tomorrow or maybe the day after, i’ll go buy the necessary parts and then i’ll 100% make this project come to life in person and post devlogs about it!
Devlog #5: just started painting the wheels and motors red, next step is the assembly
Devlog #6: time to start with the assembly process I’m so exciteddd finallyyyyy
Devlog #7: almost done with the car, I burned myself I had hot solder fall on my leg and I lost some skin I also cut myself on accident because hardware is FRUSTRATING boy I better get good reviews on this cause HOLY I did not expect it to be this hard
Devlog #8: so bad news, the wheels weren’t wired correctly so they couldn’t really move, I had to do the whole redesign and I accidentally froze the switch in place by using glue to stick it to the platform bad idea aswell, so I just swapped it out with a new one, now I’m debating whether I should change the microcontroller from arduino to esp32 but I’m prob gonna use arduino since I spent more money on the esp32 and I might need it for more important projects
Devlog #9: just added the arduino board and made my L298N work! Don’t get me wrong the screwing part is so hard bc the wires just did NOT want to come together but hey, progress
Devlog #10: UPDATE it finally works, I changed the firmware and the car actually works!! I had a lot of issues like the mantler breaking and the wheels falling off the paint wearing off, but we did it! This is probably the last time I touch it before it breaks haha! It was super fun to make tho no matter how frustrating it was it’s always been fun:) also i think my HC05 is fake idk
Ships:
AmateurCar PLEASE READ THIS!! hey guys i am currently shipping this project because i spent 35 hours on the last one and only got 200 stardust:( anyways disclaimer i paid for everything shown here with my last bit of money so please give me good ratings guys i need it!! AmateurCar is just a car powered by arduino an L298N driver module and an HC05!! it was extremely difficult to make because one wrong move and then you will have to unfortunately do everything all over again by yourself which SUCKS, there is NO AI used in this whatsoever, you guys can see the project in the devlogs and see how it progressed:0 Honestly it isnt very useable but it is a good template for someone who wants to make it honestly, they could just use this as the base and the 42hr work will be done in 10! Thank you all to anyone who gives out a good rating, it really will do alot for me:)...
|
1793004981.852886
|
1793091381.852886
|
|
52434
|
Chatbot by @aliraza | Stardance
|
aliraza
|
1
|
37.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-04T06:51:46Z", "hours": 37.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Sylqora AI, a study companion that helps students understand topics, practice with quizzes and flashcards and ask question about study material. The PDFs gave me PTSD especially scanned PDFs that needed OCR. Getting AI responses to stream also was a lot of debugging. In the end I did manage to turn idea into working app with advanced AI features like PDF uploads, OCR, quizzes, flashcards, streaming messages and chat history. Try asking Sylqora a study question, then try Explain mode, Flashcards, Quiz mode. You can also upload PDF and ask about it but length should be 3 pages and less", "repo": "https://github.com/aliraza-glitch/Sylqora.AI", "demo": "https://sylqora-2tjpakhfw-aliraza-glitch.vercel.app/"}]...
|
[{"post_id": 76376, "ts": "202 [{"post_id": 76376, "ts": "2026-10-03T10:37:26Z", "hours": 0.9631, "text": "OK so I improved the main chattin page. It looked plain before but now mwah. I added a subtle purple glow behing the welcome text and also fixed some scaling problems. The structure of entire CSS file was changed to :root since it is more convinient and easy to handle. I made the send button glow rather than stay rigid purple. Also the sidebar was fixed too.I also added mobile responsiveness. Check it out at https://sylqora-b80j2x291-aliraza-glitch.vercel.app/"}, {"post_id": 76333, "ts": "2026-10-03T07:22:13Z", "hours": 0.2978, "text": "Fixed the mobile responsiveness, The about section cards were leaking out making them look messy and get started button was weird overall page composition was trash and not good at all so I fixed it for mobile users. Try it out at https://sylqora-6eww0xam9-aliraza-glitch.vercel.app/"}, {"post_id": 76229, "ts": "2026-10-02T19:31:48Z", "hours": 2.7119, "text": "I prettied up the landing page. Sylqora is now getting it’s finishing touches. Just aesthetic really! I converted the landing page from previous flat version of it to a more sleek, modern and professional version using advanced CSS concepts like :root etc. The landing page is fully purple themed and I also changed size of texts at different places and gave a glow behind main heading. The nav bar is transparent glass type and the get started button is also much much better. But it still looks ugly on phone so I will fix that tomorrow I mean I am writing this at midnight. The overall landing page is so cool but who am I to brag check it out for yourselves on desktop at https://sylqora-evmi55cgw-aliraza-glitch.vercel.app/"}, {"post_id": 74891, "ts": "2026-09-28T15:09:11Z", "hours": 2.2025, "text": "I enabled streaming in the request of Sylqora so now the messages are streamed instead of a block just appearing on the screen. which means that it now generates responses in real time. I changed the front end and backend to handle streaming. I also added an Abort Controller which means that user can cancel their requests. Try Sylqora yourself at https://sylqora-78fvmrxhz-aliraza-glitch.vercel.app/"}, {"post_id": 70810, "ts": "2026-09-19T19:55:57Z", "hours": 2.0689, "text": "I am excited to announce that Sylqora can now read text files uploaded to it and answer questions related to it. The attach file button is a paperclip but there are limitation such as the content should be plain text and not a scanned image or OCR. Pdf with text only can be read and well processed by Sylqora. File chip showing file’s name and the ability to cancel the upload is also included. I am planning on connecting ability to read files in modes such as quiz mode and explain mode so it doesn’t just sit there. It is also possible that I add the feature to read OCR and scanned image. I will also make the input bar sticky so it doesn’t get lost while scrolling. Check Sylqora out at https://sylqora-cod6nfhx5-aliraza-glitch.vercel.app/"}, {"post_id": 68575, "ts": "2026-09-15T10:38:29Z", "hours": 1.5392, "text": "Improved the UI and UX so much and its 100 times better. The annoying sidebar is now closable like a drawer. The Bot message bubble is gone and now it only shows clean text on screen which looks neat and aesthetic. I also learned about SVG and implemented it which took most of my time. The SVG is just too complex but I got the hang of it. The sidebar open and close icons are SVG. I also improved the way it renders equations. I also coded it to keep response length reasonable and short. The 3 modes work very fine. I also added responsiveness for phones and now Mobile phone users can also use Sylqora without a crashing interface. Try it yourself at https://sylqora-2g4j7b8o9-aliraza-glitch.vercel.app/"}, {"post_id": 66396, "ts": "2026-09-12T06:41:11Z", "hours": 1.5786, "text": "Ok so I just finished making Flashcard mode. Once the user clicks on the flashcard mode on the suggestions menu, Sylqora asks in input place name of the topic and once topic name is entered, the flashcards are generated. The proportions of the flashcard mimick the actual card. The Reveal Answer button is also present to check whether you remember or forgot. The Next Card button generates Next flash card not same as previous one. While a card is being generated, a neat Loading Card message is shown on a screen. It’s literally a banger get amongst it! https://sylqora-rcf3kmb64-aliraza-glitch.vercel.app/"}, {"post_id": 66089, "ts": "2026-09-11T17:45:29Z", "hours": 1.4408, "text": "So I refined the Quiz mode even more. Explain Mode was also upgraded. The topic heading of Explain Mode. And termination of Explain mode once another chat is opened. Explained paragraph is also well formatted since I enhanced markdown even more like It is so neat and professional. I also increased max tokens and restricted the LaTex notation making the ## and – appear in responses. Explain Mode is finished. I am now making flashcards mode. Try it on https://sylqora-e1txs56h0-aliraza-glitch.vercel.app/"}, {"post_id": 63646, "ts": "2026-09-07T15:51:41Z", "hours": 1.4519, "text": "Made the heading for Quiz mode It only asks 5 questions. The heading appears up showing topic of quiz when it is in quizmode and keeps locked in place until 5 questions are asked and then displays score and heading is gone too. Going to the New Chat disbles the quiz mode. Try it yourself at https://sylqora-o6vwi4ha6-aliraza-glitch.vercel.app/"}, {"post_id": 63045, "ts": "2026-09-06T16:50:47Z", "hours": 1.4414, "text": "I added a feature for sidebar to change height incase of large messages by user to improve readability. I also made the Quiz mode. Once the quiz mode is pressed, It asks on the placeholder what topic should the quiz be on. So user just names the topic and sends and the rest of the prompt is generated automatically and sent. I also modified the Quiz mode. It can now ask you 5 questions in a quiz and tells you the score for the quiz. Check it out at https://sylqora-f0r4pa9ur-aliraza-glitch.vercel.app/"}, {"post_id": 62260, "ts": "2026-09-05T15:26:44Z", "hours": 0.3106, "text": "Finished Sylqora version 1. Had to give final touches to the bot such as the Sylqora is thinking was light mode whereas rest of the site is dark mode so I just changed the message’s theme. Also changed number of max tokens again. Gave the feature of highlight current chat in the sidebar so user isn’t confused. Also handled the chats overflow and title overflow in the sidebar. Try Sylqora at https://sylqora-fd08yehag-aliraza-glitch.vercel.app/"}, {"post_id": 62174, "ts": "2026-09-05T13:10:43Z", "hours": 2.3347, "text": "Done styling the chat box. I realized it was way too plain and boring. But now everything is alive. I changed the send button to an arrow. Added heading and subtitle in the sidebar. Improved the New Chat button. I also created a welcome screen that comes with options. If you click on Explain me a topic it automatically types “Explain “ and you have to complete it with what ever you want same goes with with Quiz me one. I also changed the input to a proper professional Chatgpt style input area. I also changed the dimensions of messages so that it looks like a dialogue box rather than a rectangle. I thought that was all true but then script.js threw a barrage of errors. One time it would load previous chat’s response in New chat. Then it just stopped working. Then I realized I was running activechatid before autosave which ruined the whole program and caused the message to not render on the screen. Test Sylqora yourself at https://sylqora-l9bzpy2gn-aliraza-glitch.vercel.app/"}, {"post_id": 61783, "ts": "2026-09-04T21:11:33Z", "hours": 2.3183, "text": "I added a sidebar and made it so that it can start a new chat and switch between chats. Not as complex and hellish but wasn’t easy either. The clickable chats and resolving errors was a major change. I also learned a lot in this such as duplication of an array, dealing with localStorage, pushing the right objects and elements into the functions. Overall a great session I’d say. Try it yourself at https://sylqora-qle4c0c7x-aliraza-glitch.vercel.app/"}, {"post_id": 60874, "ts": "2026-09-03T14:58:54Z", "hours": 1.3014, "text": "I have done giving Sylqora memory. Now it doesn’t just forget what you just told it and keep greeting you like a very smart person. Something funny also happened. I kept debugging and writing code so confused what was wrong. The landing page opened but when I clicked on Get Started it just didn’t have memory when tested. So then I realised that Get Started was pointing to older version of Sylqora and URL wasn’t refreshed to newer version so I then linked it to app.html and boooom it worked!"}, {"post_id": 60449, "ts": "2026-09-02T19:45:12Z", "hours": 1.8067, "text": "Ok i finished the landing page, improved nav bar, made it so that the links in navbar lead to the sections. I also added the feature that animation of the features and about section is triggered only when user scrolls down to them. I also added animations for hero section and navbar and now it looks so cool"}, {"post_id": 59579, "ts": "2026-09-01T14:14:50Z", "hours": 1.625, "text": "I just made the landing page for Sylqora so that user first lands on the page and then when Get Started is clicked, it leads to the main app. I made use of all the CSS knowledge I possessed and managed to make it and it was the easiest thing I ever did for Sylqora. You can look at the website at https://aliraza-glitch.github.io/Sylqora.AI/"}, {"post_id": 59081, "ts": "2026-08-31T18:07:48Z", "hours": 2.5072, "text": "So I cleaned up all the coded mess. Sylqora is now intelligent and has a personality. The textContent was changed to innerHTML and the model was also changed. I also changed the UI and added a Sylqora is thinking box. I removed the Check Server button Since it was annoying and unnecessary. The inner HTML part was difficult. The HTML escaping and Markdown parsing were easy to understand but difficult to write. Also I had to deal with Sylqora just dumping infomation and unnecessary gibberish by limiting max tokens to 400 and also begged it in the role to not give unnecessary details. Do try Sylqora and tell how good it is in the comments. Sylqora is live at https://sylqora-b5h77ipua-aliraza-glitch.vercel.app/"}, {"post_id": 57976, "ts": "2026-08-30T09:44:58Z", "hours": 0.8425, "text": "Finally! It can recieve and reply. A major milestone. I used Groq API key and vercel. The coding wasn’t much but dealing with errors again and again was very discouraging but in the end I updated the script.js and got it right. But still needs work with formatting the messages, UI and giving it a personality. Test Sylqora yourself at https://sylqora-5w8pp1mrn-aliraza-glitch.vercel.app/"}, {"post_id": 57472, "ts": "2026-08-29T17:00:00Z", "hours": 2.1475, "text": "Pure sweat and blood for deployment of Sylqora AI like using vercel for this was so confusing. Although the code is a mess and way too unorgainzed but it did work. I changed the structure and stuff so vercel can run it and now the backend is live. Though the logic and responses are almost the same but we are getting close to adding API key. Anyways Sylqora is live at https://sylqora-ai-git-master-aliraza-glitch.vercel.app/ only ask questions containg acceleration, momenum and hello and what in lower case only"}, {"post_id": 53185, "ts": "2026-08-23T16:58:35Z", "hours": 2.1283, "text": "Today was HELL! It was so confusing and frustrating the front and backend were so humiliating. I was literally in tears referring again and again to tutorials. Anyways, I made a front end that only sends message to backend, a backend at a local host. Today theory and understanding took most of the time making me dizzy. I learned a lot of new things such as JSON, headers, stringify, await, async, fetch, req and res along with HTTP server making, making CORS and connecting frontend and backend. Right now the immediate issue is [object Object] is printed whenever write anything. No actual AI responds but the terminal is smart enough to show me what I typed so I guess that’s it for today."}, {"post_id": 52336, "ts": "2026-08-22T13:23:03Z", "hours": 1.2025, "text": "Today was a hassle. I just kept experimenting with stuff and learned about a lot of new things in JavaScript. At first I made it so it only answer commands word to word. But then I made the user input case insensitive and then I used includes function. It also has some sarcasm making it feel less like a teacher and more like a study buddy. For testing it, the acceptance data includes acceleration, momentum and hello greeting. It doesn’t have an API integration yet but that is something I will be working on in the near future. The bot is live at https://aliraza-glitch.github.io/Sylqora.AI/"}, {"post_id": 51728, "ts": "2026-08-21T15:40:51Z", "hours": 2.8689, "text": "I just made a User Interface for study companion “Sylqora” using HTML, CSS and I also wrote the function for sending messages in Java Script. Though the CSS part was way too frustrating but it is solved now"}]...
|
Title: Chatbot by @aliraza | Stardance
Devlogs:
I Title: Chatbot by @aliraza | Stardance
Devlogs:
I just made a User Interface for study companion “Sylqora” using HTML, CSS and I also wrote the function for sending messages in Java Script. Though the CSS part was way too frustrating but it is solved now
Today was a hassle. I just kept experimenting with stuff and learned about a lot of new things in JavaScript. At first I made it so it only answer commands word to word. But then I made the user input case insensitive and then I used includes function. It also has some sarcasm making it feel less like a teacher and more like a study buddy. For testing it, the acceptance data includes acceleration, momentum and hello greeting. It doesn’t have an API integration yet but that is something I will be working on in the near future. The bot is live at https://aliraza-glitch.github.io/Sylqora.AI/
Today was HELL! It was so confusing and frustrating the front and backend were so humiliating. I was literally in tears referring again and again to tutorials. Anyways, I made a front end that only sends message to backend, a backend at a local host. Today theory and understanding took most of the time making me dizzy. I learned a lot of new things such as JSON, headers, stringify, await, async, fetch, req and res along with HTTP server making, making CORS and connecting frontend and backend. Right now the immediate issue is [object Object] is printed whenever write anything. No actual AI responds but the terminal is smart enough to show me what I typed so I guess that’s it for today.
Pure sweat and blood for deployment of Sylqora AI like using vercel for this was so confusing. Although the code is a mess and way too unorgainzed but it did work. I changed the structure and stuff so vercel can run it and now the backend is live. Though the logic and responses are almost the same but we are getting close to adding API key. Anyways Sylqora is live at https://sylqora-ai-git-master-aliraza-glitch.vercel.app/ only ask questions containg acceleration, momenum and hello and what in lower case only
Finally! It can recieve and reply. A major milestone. I used Groq API key and vercel. The coding wasn’t much but dealing with errors again and again was very discouraging but in the end I updated the script.js and got it right. But still needs work with formatting the messages, UI and giving it a personality. Test Sylqora yourself at https://sylqora-5w8pp1mrn-aliraza-glitch.vercel.app/
So I cleaned up all the coded mess. Sylqora is now intelligent and has a personality. The textContent was changed to innerHTML and the model was also changed. I also changed the UI and added a Sylqora is thinking box. I removed the Check Server button Since it was annoying and unnecessary. The inner HTML part was difficult. The HTML escaping and Markdown parsing were easy to understand but difficult to write. Also I had to deal with Sylqora just dumping infomation and unnecessary gibberish by limiting max tokens to 400 and also begged it in the role to not give unnecessary details. Do try Sylqora and tell how good it is in the comments. Sylqora is live at https://sylqora-b5h77ipua-aliraza-glitch.vercel.app/
I just made the landing page for Sylqora so that user first lands on the page and then when Get Started is clicked, it leads to the main app. I made use of all the CSS knowledge I possessed and managed to make it and it was the easiest thing I ever did for Sylqora. You can look at the website at https://aliraza-glitch.github.io/Sylqora.AI/
Ok i finished the landing page, improved nav bar, made it so that the links in navbar lead to the sections. I also added the feature that animation of the features and about section is triggered only when user scrolls down to them. I also added animations for hero section and navbar and now it looks so cool
I have done giving Sylqora memory. Now it doesn’t just forget what you just told it and keep greeting you like a very smart person. Something funny also happened. I kept debugging and writing code so confused what was wrong. The landing page opened but when I clicked on Get Started it just didn’t have memory when tested. So then I realised that Get Started was pointing to older version of Sylqora and URL wasn’t refreshed to newer version so I then linked it to app.html and boooom it worked!
I added a sidebar and made it so that it can start a new chat and switch between chats. Not as complex and hellish but wasn’t easy either. The clickable chats and resolving errors was a major change. I also learned a lot in this such as duplication of an array, dealing with localStorage, pushing the right objects and elements into the functions. Overall a great session I’d say. Try it yourself at https://sylqora-qle4c0c7x-aliraza-glitch.vercel.app/
Done styling the chat box. I realized it was way too plain and boring. But now everything is alive. I changed the send button to an arrow. Added heading and subtitle in the sidebar. Improved the New Chat button. I also created a welcome screen that comes with options. If you click on Explain me a topic it automatically types “Explain “ and you have to complete it with what ever you want same goes with with Quiz me one. I also changed the input to a proper professional Chatgpt style input area. I also changed the dimensions of messages so that it looks like a dialogue box rather than a rectangle. I thought that was all true but then script.js threw a barrage of errors. One time it would load previous chat’s response in New chat. Then it just stopped working. Then I realized I was running activechatid before autosave which ruined the whole program and caused the message to not render on the screen. Test Sylqora yourself at https://sylqora-l9bzpy2gn-aliraza-glitch.vercel.app/
Finished Sylqora version 1. Had to give final touches to the bot such as the Sylqora is thinking was light mode whereas rest of the site is dark mode so I just changed the message’s theme. Also changed number of max tokens again. Gave the feature of highlight current chat in the sidebar so user isn’t confused. Also handled the chats overflow and title overflow in the sidebar. Try Sylqora at https://sylqora-fd08yehag-aliraza-glitch.vercel.app/
I added a feature for sidebar to change height incase of large messages by user to improve readability. I also made the Quiz mode. Once the quiz mode is pressed, It asks on the placeholder what topic should the quiz be on. So user just names the topic and sends and the rest of the prompt is generated automatically and sent. I also modified the Quiz mode. It can now ask you 5 questions in a quiz and tells you the score for the quiz. Check it out at https://sylqora-f0r4pa9ur-aliraza-glitch.vercel.app/
Made the heading for Quiz mode It only asks 5 questions. The heading appears up showing topic of quiz when it is in quizmode and keeps locked in place until 5 questions are asked and then displays score and heading is gone too. Going to the New Chat disbles the quiz mode. Try it yourself at https://sylqora-o6vwi4ha6-aliraza-glitch.vercel.app/
So I refined the Quiz mode even more. Explain Mode was also upgraded. The topic heading of Explain Mode. And termination of Explain mode once another chat is opened. Explained paragraph is also well formatted since I enhanced markdown even more like It is so neat and professional. I also increased max tokens and restricted the LaTex notation making the ## and – appear in responses. Explain Mode is finished. I am now making flashcards mode. Try it on https://sylqora-e1txs56h0-aliraza-glitch.vercel.app/
Ok so I just finished making Flashcard mode. Once the user clicks on the flashcard mode on the suggestions menu, Sylqora asks in input place name of the topic and once topic name is entered, the flashcards are generated. The proportions of the flashcard mimick the actual card. The Reveal Answer button is also present to check whether you remember or forgot. The Next Card button generates Next flash card not same as previous one. While a card is being generated, a neat Loading Card message is shown on a screen. It’s literally a banger get amongst it! https://sylqora-rcf3kmb64-aliraza-glitch.vercel.app/
Improved the UI and UX so much and its 100 times better. The annoying sidebar is now closable like a drawer. The Bot message bubble is gone and now it only shows clean text on screen which looks neat and aesthetic. I also learned about SVG and implemented it which took most of my time. The SVG is just too complex but I got the hang of it. The sidebar open and close icons are SVG. I also improved the way it renders equations. I also coded it to keep response length reasonable and short. The 3 modes work very fine. I also added responsiveness for phones and now Mobile phone users can also use Sylqora without a crashing interface. Try it yourself at https://sylqora-2g4j7b8o9-aliraza-glitch.vercel.app/
I am excited to announce that Sylqora can now read text files uploaded to it and answer questions related to it. The attach file button is a paperclip but there are limitation such as the content should be plain text and not a scanned image or OCR. Pdf with text only can be read and well processed by Sylqora. File chip showing file’s name and the ability to cancel the upload is also included. I am planning on connecting ability to read files in modes such as quiz mode and explain mode so it doesn’t just sit there. It is also possible that I add the feature to read OCR and scanned image. I will also make the input bar sticky so it doesn’t get lost while scrolling. Check Sylqora out at https://sylqora-cod6nfhx5-aliraza-glitch.vercel.app/
I enabled streaming in the request of Sylqora so now the messages are streamed instead of a block just appearing on the screen. which means that it now generates responses in real time. I changed the front end and backend to handle streaming. I also added an Abort Controller which means that user can cancel their requests. Try Sylqora yourself at https://sylqora-78fvmrxhz-aliraza-glitch.vercel.app/
I prettied up the landing page. Sylqora is now getting it’s finishing touches. Just aesthetic really! I converted the landing page from previous flat version of it to a more sleek, modern and professional version using advanced CSS concepts like :root etc. The landing page is fully purple themed and I also changed size of texts at different places and gave a glow behind main heading. The nav bar is transparent glass type and the get started button is also much much better. But it still looks ugly on phone so I will fix that tomorrow I mean I am writing this at midnight. The overall landing page is so cool but who am I to brag check it out for yourselves on desktop at https://sylqora-evmi55cgw-aliraza-glitch.vercel.app/
Fixed the mobile responsiveness, The about section cards were leaking out making them look messy and get started button was weird overall page composition was trash and not good at all so I fixed it for mobile users. Try it out at https://sylqora-6eww0xam9-aliraza-glitch.vercel.app/
OK so I improved the main chattin page. It looked plain before but now mwah. I added a subtle purple glow behing the welcome text and also fixed some scaling problems. The structure of entire CSS file was changed to :root since it is more convinient and easy to handle. I made the send button glow rather than stay rigid purple. Also the sidebar was fixed too.I also added mobile responsiveness. Check it out at https://sylqora-b80j2x291-aliraza-glitch.vercel.app/
Ships:
I made Sylqora AI, a study companion that helps students understand topics, practice with quizzes and flashcards and ask question about study material. The PDFs gave me PTSD especially scanned PDFs that needed OCR. Getting AI responses to stream also was a lot of debugging. In the end I did manage to turn idea into working app with advanced AI features like PDF uploads, OCR, quizzes, flashcards, streaming messages and chat history. Try asking Sylqora a study question, then try Explain mode, Flashcards, Quiz mode. You can also upload PDF and ask about it but length should be 3 pages and less...
|
1793004980.5722806
|
1793091380.5722806
|
|
700
|
Void Strike by @JudeW | Stardance
|
JudeW
|
1
|
103.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T15:27:38Z", "hours": 103.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi! The project I’ve been working on is called Void Strike. It’s a space shooter game in which the player controls a spaceship and must survive hordes of enemy waves. The reason why I chose to create this game is that I thought it would be easy. Since I’ve never really used Godot, I thought I should start simple. By the end of working on it, I can confidently say that I’ve learned at least the basics of the engine. That’s all anyway. Have Fun! Also, last night when I was trying to add it to Itch.io, I accidentally overwrote LITERALLY ALL of my files and everything, so the only thing I have left is the HTML export, and the entire project on my Godot account is just gone, and I can’t recover it, so if there is anything a little buggy, that’s probably why. And I can’t do anything about it, sorry. I just decided to ship it as it currently is instead of not shipping it at all, since I’ve already spent too much of my time on this. Once more, I’m sorry.", "repo": "https://github.com/judeweibley-cell/Void-Strike", "demo": "https://ludew.itch.io/void-strike"}]...
|
[{"post_id": 73757, "ts": "202 [{"post_id": 73757, "ts": "2026-09-25T21:24:54Z", "hours": 2.5992, "text": "Finally finished the game!!! Just posting a quick devlog before shipping. I added satellites and space junk that can fly in from the right side of your screen, which adds an extra obstacle. The only hard part about it was figuring out some physics equations with Newton’s Law of Universal Gravitation. After that, it was finished. Here’s my code if you want to look at it(GDScript): extends Node2D var item = 0 var active_node: Node2D = null var velocity := Vector2.ZERO var rotation_speed := 0.0 var spawning_enabled := true const MIN_SPAWN_TIME = 10.0 const MAX_SPAWN_TIME = 15.0 const PLANET_POSITION = Vector2(300, 1500) const GRAVITY_STRENGTH = 450000.0 @onready var timer = $Timer @onready var small_satellite = $“Small satelltite” @onready var large_satellite = $“Large satellite” @onready var scrap = $Scrap func _ready() -> void: randomize_next_spawn_time() func _process(delta: float) -> void: if active_node and active_node.visible: var vector_to_planet = PLANET_POSITION - active_node.global_position var distance = vector_to_planet.length() var direction = vector_to_planet.normalized() var gravity_force = direction * (GRAVITY_STRENGTH / (distance * distance)) velocity += gravity_force * delta active_node.global_position += velocity * delta active_node.rotation += rotation_speed * delta if active_node.global_position.x < -150: disable_active_node() func _on_timer_timeout() -> void: randomize_next_spawn_time() if not spawning_enabled: return item = randi_range(1, 3) if item == 1: pick_small() elif item == 2: pick_large() else: pick_scrap() func randomize_next_spawn_time() -> void: if timer: timer.wait_time = randf_range(MIN_SPAWN_TIME, MAX_SPAWN_TIME) timer.start() func reset_and_launch(node: Node2D): disable_active_node() small_satellite.hide() large_satellite.hide() scrap.hide() node.show() node.global_position = Vector2(600, randi_range(0, 960)) velocity = Vector2(-150, -45) rotation_speed = randf_range(-1.5, 1.5) if node.has_method(\"set_deferred\"): node.set_deferred(\"monitoring\", true) node.set_deferred(\"monitorable\", true) active_node = node func disable_active_node(): if active_node: active_node.hide() if active_node.has_method(“set_deferred”): active_node.set_deferred(“monitoring”, false) active_node.set_deferred(“monitorable”, false) func stop_spawning() -> void: spawning_enabled = false timer.stop() func start_spawning() -> void: spawning_enabled = true randomize_next_spawn_time() func pick_small(): reset_and_launch(small_satellite) func pick_large(): reset_and_launch(large_satellite) func pick_scrap(): reset_and_launch(scrap) func _on_scrap_body_entered(body: Node2D) -> void: if body.has_method(“take_damage”): body.take_damage() disable_active_node() func _on_large_satellite_body_entered(body: Node2D) -> void: if body.has_method(“take_damage”): body.take_damage() disable_active_node() func _on_small_satelltite_body_entered(body: Node2D) -> void: if body.has_method(“take_damage”): body.take_damage() disable_active_node()"}, {"post_id": 73337, "ts": "2026-09-24T22:14:34Z", "hours": 10.0881, "text": "Lately I’ve just been polishing the game. Nothing super interesting. I fixed the keybindings because when you selected a key with a long name like RightBracket, the label would expand into the button and overlap. I just made a better layout for it and made it so the text would be aligned on the right side, making it expand to the left instead. Then I worked on cleaning up some of my code since I’m planning on shipping tomorrow. Then I added a TON of polish to the main menu. I added a little rotating tip at the bottom and displayed your high score and highest wave at the top of the menu, which was easy enough. I still want to log at least two more hours, so if anyone has ideas, please let me know, because I’m out of ideas. Also, in the pictures, if the text looks sideways, it’s because I rotated it as a little animation. I think the current total for lines of code is 3005, if you’re interested, btw."}, {"post_id": 67665, "ts": "2026-09-13T20:25:53Z", "hours": 5.2769, "text": "I’ve just been working on adding some finishing touches lately, most of which include working with the new log feature. Inside of it I have three different tabs Enemies which is just a list of all of the different enemies and their stats like hp and speed. The second one is for achievements. I have ten so far, which include: First Orbit, earned by playing for 15 mins. Deep Space Transit for 30 minutes, and Time Flies for an hour. Atmosphere Cleared for getting to wave 5. Flight Lieutenant for wave 15. Squadron Leader for wave 30, and Cosmic Anomaly for 50. Just Getting Warm for killing a thousand enemies. Determined I for dying 50 times and Determined II for dying 100 times. I also added some progress bars to visually show your progress towards the achievements. For the stats menu, all I changed was adding a darker panel behind all the stats to add some detail; other than that, that’s all I did. Also, the scrolling menus were almost my downfall."}, {"post_id": 66787, "ts": "2026-09-12T17:48:29Z", "hours": 3.1139, "text": "This morning, I’ve been working on adding a statistics menu to the menu, which keeps track of stuff like your highest wave or how many power-ups you’ve bought. All of the things are saved after closing the window, so not much has been added, but it’s something."}, {"post_id": 66317, "ts": "2026-09-12T02:32:23Z", "hours": 6.9156, "text": "Fairly large update!!! Over the past few days, I’ve been working and have gotten quite a lot done. Recent changes include A new bomber enemy who appears on wave 15, dropping bombs as it passes through. Bombs have 3 seconds before exploding and deal the standard 1 HP. Then I polished the menu so that instead of having ugly buttons down at the bottom of the screen, I now have large transparent buttons right in the middle of the screen. I also made the buttons feel really juicy, changing color and playing a short clicking sound when hovered over with the mouse. I changed up the settings panel by adding some darker panels for detail and organization. Instead of the set WASD and arrow keys, I now have key binding as an option. I don’t know what other controls players would use, but just in case, and it also makes the game feel more polished. I think right now I plan on adding a stats page in the menu next that can showcase stuff like your highest wave, how many attempts, and enemies killed. But I think I’m going to save that for tomorrow. So for now, I’ll see you in the next devlog. :)"}, {"post_id": 62492, "ts": "2026-09-05T21:34:48Z", "hours": 9.9294, "text": "🎉🎉Major Update🎉🎉 After a little bit of playtesting, I came to the conclusion that the game needed to be much harder because it came up as a problem more often than not. I was already planning to add a few more enemy types, so it didn’t really matter. New Enemy Types 1) A horde of diver enemies 2) A large tank enemy that has double shots 3) A Suicider enemy which pathfinds to the player 4) An asteroid field that can spawn I also plan on adding a bomber enemy with explosions, and a flame thrower enemy which will deal more damage the longer you are in the flames and will burn your fuel. But because I was so close to the 10-hour limit, I have to make a devlog before continuing on it. I also decreased the wavelength from 30 seconds to just 20 because it made for a much faster-paced game and was easier on the player. In the future, I plan on adding a keybind option to the settings, which might take a while to figure out, bosses, which probably won’t happen, and a ton more polish to the menu because it looks terrible."}, {"post_id": 57756, "ts": "2026-08-30T01:10:30Z", "hours": 0.6822, "text": "Small Update: I just added a notes and acknowledgements page to replace the old broken leaderboard page. It just includes some writing and a link to my new Discord Page. If you want to join early to the launch, here’s the link: https://discord.gg/ccgyRZArYm"}, {"post_id": 57724, "ts": "2026-08-29T23:55:41Z", "hours": 8.8753, "text": "🎉🎉MAJOR UPDATE🎉🎉: For the past few days I’ve been working on a few updates, which include finishing and balancing the new Super Nova feature. When you max out all 3 power-up upgrades, it allows you to super charge. One of them includes Double Shot, 2x score on top of 2x score, and buffs for a short amount of time after your shield breaks. I made waves infinitely and made them progressively harder with each passing wave. I added a slight amount of polish to the menu where a little click sound plays when you toggle settings or press a button. I realized that when the player got hit it wasn’t very noticeable since it played the same sound as when an enemy got hit, so I added screen shake which was something I wanted to add for a while but procrastinated it because the way I made my scrolling background with a Parallax background that had a Parallax layer and sprite 2D as a child so when I added the camera 2D node it stopped the background from scrolling so I had to delete all of that and update it with the newer method. But after an hour or so, I got it looking clean and was happy with it, so now when the player takes damage, there is a very noticeable shake to the screen, which helps indicate that you got hit. I also added this to the enemy, but you have to build up a fairly large consecutive hit counter to really notice it. I did start to work on a new tank enemy since all of the existing ones are relatively weak, so this one will have 5 HP, which is half of an asteroid, and will shoot double-shot bullets, which will be punishing if the player gets hit by it. Speaking of HP, instead of healing the player’s hearts back to their maximum amount despite the current amount, it now only heals you by one heart. Now normally, I would have a video to showcase all of these new features, but my thing is weird and will only take images, not videos, so sorry if it’s missing, like all of the updates."}, {"post_id": 48557, "ts": "2026-08-17T00:20:01Z", "hours": 10.9817, "text": "Major Update: Over the past few days, I’ve added a lot of features that will have a significant impact on the game. The first of which is a new shop where the player can purchase upgrades, including a +5% speed increase (limit of 25%), a +5% fire rate upgrade (limit of 25%), and, lastly, a refuel upgrade, which will refill 5% for the cost of 1 coin. The player now has 3 lives instead of just 1, which will allow the player to progress through the game more. In the shop the player can upgrade the amount of lives they have(max of 5). After each wave their health returns to it’s maximum, but fuel will remain the same. In the power-ups tab, the player can increase the duration of each power-up by a maximum of 5 seconds. Once the player maxes out all 3 power-ups, they will unlock a feature called Super Nova were they can select one of the three power-ups to gain a new feature that will help the player survive new waves. Speaking of waves, the next change includes breaking up the game into multiple waves. This change allows the player to get a break between waves to upgrade their ship in the shop. This also makes the player feel like they are progressing through the game more."}, {"post_id": 45996, "ts": "2026-08-12T20:45:30Z", "hours": 5.9294, "text": "Large Update: Last night and this morning, I’ve been working on some new features, including a new fuel tank that slowly depletes, and the only way to refill it is by collecting fuel canisters. This change also allows the player to hold down Shift to get a 50% speed increase, but the fuel tank goes down twice as fast. I also added a new fire particle effect that follows the player, making the game feel much livelier. Coins are also a new feature that have a 10% drop rate on the death of an enemy. Right now, coins do nothing, but in the future I have plans to add a shop/upgrade feature. The player now has three lives instead of one; this makes the game feel more forgiving, but when you lose a heart, your fuel tank decreases by 20%, making fuel a much bigger problem than before. When your fuel tank hits 0, the game is over regardless of how many hearts the player has."}, {"post_id": 45420, "ts": "2026-08-11T21:06:05Z", "hours": 2.1111, "text": "Today’s changes include adding a new power-up, which is a shield that protects the player from one hit for 10 seconds. There is a shield Icon which follows the player around, acting as a visual indicator for the power-up. I also made the player movement much smoother by making the player accelerate in a direction instead of moving at a flat rate, which makes the game overall feel much more “alive”."}, {"post_id": 44986, "ts": "2026-08-11T03:37:37Z", "hours": 9.8844, "text": "Major update: as you can tell from me logging in more than 9 hours, I made a lot of changes, which include two new enemies because I realized as long as you don’t actively try to die, you can live forever, so we have two new enemies, both of which fire bullets at the player, so you have something that poses a threat unlike the old enemies. One is quick, has a fast firing speed, and is small, but only has 1 hp. It also provides more points than its much slower partner, who has 2 hp, a slower firing rate, and a bigger hitbox. I also added two power-ups, randomly selected from the two as collectable items: the first doubles your shoot cooldown for 5 seconds, and the second doubles your score income for 15 seconds. When you collect a power-up, a bar appears at the bottom of your screen, showing how much time remains on your power-up. That’s all that I did for this week, and more features are on their way. Thanks! p.s. I can’t add a video containing the update because my thing is weird and only lets me upload images to Stardance. Sorry about the inconvenience😭"}, {"post_id": 41458, "ts": "2026-08-05T17:55:55Z", "hours": 3.8344, "text": "These past few days, I worked on adding polish, bug fixes, and a new load screen. The load screen GUI is just a placeholder until I can polish it off. I might have to scrap an online leaderboard because I’m new to Godot and know very little GD script, so I can’t use SilentWolf. I’ve been working on implementing Talo, but I can’t find any tutorials, and Google can’t help me with it. Unless I can get it working I don’t think I can add an online leader board."}, {"post_id": 38325, "ts": "2026-07-31T17:27:19Z", "hours": 1.1819, "text": "I need help. I did finally fix the one bug that stopped enemies from spawning, but my next goal was to make a leaderboard, so I set up all of the UI for it, and when I realized I had no idea what I was doing, I ultimately looked up a YouTube tutorial. I didn’t realize that I needed to use a plugin to create an online server for my game. And when I tried to download Silent Wolf, it wouldn’t let me because I was still using version 4.4, and I didn’t want to update it in case it broke my game. So do I scrap leaderboards, or is there some other way?"}, {"post_id": 38211, "ts": "2026-07-31T14:41:42Z", "hours": 5.3556, "text": "Lately I’ve been working on adding a settings feature that includes options for music, sound effects, and a reset data button. While working on this feature, I managed to break my entire game, so fingers crossed I can fix it. I plan on adding an online leaderboard (If I can fix the game)."}, {"post_id": 35191, "ts": "2026-07-26T13:44:00Z", "hours": 4.8325, "text": "Void Strike is a space shooter-type game in which the player must test their skills by trying to survive for as long as possible while gaining points by killing enemies. Changelog: Added an asteroid, which is a new obstacle that has a lot of HP and permits the enemies to advance closer to the player. Bug fixes I haven’t posted a devlog because I’ve been on vacation so I’m very behind on my project."}, {"post_id": 3278, "ts": "2026-06-06T04:13:02Z", "hours": 6.4203, "text": "Void Strike is a space shooter-type game in which the player must test their skills by trying to survive for as long as possible while gaining points by killing enemies. I haven’t posted a Dev-log for a while, but I’ve added a lot of features in that time. Changelog Scrolling background and particle effects Sound effects On-screen score counter High-score Game over screen Player Balancing Difficulty increases over time My next steps will be to add a main menu, possibly a shop and a currency to buy player upgrades, and a competitive global scoreboard. P.S. I would take a video, but my internet keeps showing an error, so I’ve taken a photo instead. Believe me, I added what I said I did."}, {"post_id": 1829, "ts": "2026-06-04T01:27:56Z", "hours": 1.7686, "text": "Void Strike is a simple space shooter type game that I’m working on. I know it’s a little simple, but I’m inexperienced with Godot. Changelog You can hold down space to shoot 2 new enemies (1 fast, and 1 slow) Randomized enemy spawning"}, {"post_id": 1748, "ts": "2026-06-03T22:43:16Z", "hours": 2.7453, "text": "Void Strike, which is a space shooter I just started working on. It will be on the simpler side, because I’m new to using Godot. So far I have the player movement, and shooting working. I plan to add a lot more in the future."}]...
|
Title: Void Strike by @JudeW | Stardance
Devlogs: Title: Void Strike by @JudeW | Stardance
Devlogs:
Void Strike, which is a space shooter I just started working on. It will be on the simpler side, because I’m new to using Godot. So far I have the player movement, and shooting working. I plan to add a lot more in the future.
Void Strike is a simple space shooter type game that I’m working on. I know it’s a little simple, but I’m inexperienced with Godot. Changelog You can hold down space to shoot 2 new enemies (1 fast, and 1 slow) Randomized enemy spawning
Void Strike is a space shooter-type game in which the player must test their skills by trying to survive for as long as possible while gaining points by killing enemies. I haven’t posted a Dev-log for a while, but I’ve added a lot of features in that time. Changelog Scrolling background and particle effects Sound effects On-screen score counter High-score Game over screen Player Balancing Difficulty increases over time My next steps will be to add a main menu, possibly a shop and a currency to buy player upgrades, and a competitive global scoreboard. P.S. I would take a video, but my internet keeps showing an error, so I’ve taken a photo instead. Believe me, I added what I said I did.
Void Strike is a space shooter-type game in which the player must test their skills by trying to survive for as long as possible while gaining points by killing enemies. Changelog: Added an asteroid, which is a new obstacle that has a lot of HP and permits the enemies to advance closer to the player. Bug fixes I haven’t posted a devlog because I’ve been on vacation so I’m very behind on my project.
Lately I’ve been working on adding a settings feature that includes options for music, sound effects, and a reset data button. While working on this feature, I managed to break my entire game, so fingers crossed I can fix it. I plan on adding an online leaderboard (If I can fix the game).
I need help. I did finally fix the one bug that stopped enemies from spawning, but my next goal was to make a leaderboard, so I set up all of the UI for it, and when I realized I had no idea what I was doing, I ultimately looked up a YouTube tutorial. I didn’t realize that I needed to use a plugin to create an online server for my game. And when I tried to download Silent Wolf, it wouldn’t let me because I was still using version 4.4, and I didn’t want to update it in case it broke my game. So do I scrap leaderboards, or is there some other way?
These past few days, I worked on adding polish, bug fixes, and a new load screen. The load screen GUI is just a placeholder until I can polish it off. I might have to scrap an online leaderboard because I’m new to Godot and know very little GD script, so I can’t use SilentWolf. I’ve been working on implementing Talo, but I can’t find any tutorials, and Google can’t help me with it. Unless I can get it working I don’t think I can add an online leader board.
Major update: as you can tell from me logging in more than 9 hours, I made a lot of changes, which include two new enemies because I realized as long as you don’t actively try to die, you can live forever, so we have two new enemies, both of which fire bullets at the player, so you have something that poses a threat unlike the old enemies. One is quick, has a fast firing speed, and is small, but only has 1 hp. It also provides more points than its much slower partner, who has 2 hp, a slower firing rate, and a bigger hitbox. I also added two power-ups, randomly selected from the two as collectable items: the first doubles your shoot cooldown for 5 seconds, and the second doubles your score income for 15 seconds. When you collect a power-up, a bar appears at the bottom of your screen, showing how much time remains on your power-up. That’s all that I did for this week, and more features are on their way. Thanks! p.s. I can’t add a video containing the update because my thing is weird and only lets me upload images to Stardance. Sorry about the inconvenience😭
Today’s changes include adding a new power-up, which is a shield that protects the player from one hit for 10 seconds. There is a shield Icon which follows the player around, acting as a visual indicator for the power-up. I also made the player movement much smoother by making the player accelerate in a direction instead of moving at a flat rate, which makes the game overall feel much more “alive”.
Large Update: Last night and this morning, I’ve been working on some new features, including a new fuel tank that slowly depletes, and the only way to refill it is by collecting fuel canisters. This change also allows the player to hold down Shift to get a 50% speed increase, but the fuel tank goes down twice as fast. I also added a new fire particle effect that follows the player, making the game feel much livelier. Coins are also a new feature that have a 10% drop rate on the death of an enemy. Right now, coins do nothing, but in the future I have plans to add a shop/upgrade feature. The player now has three lives instead of one; this makes the game feel more forgiving, but when you lose a heart, your fuel tank decreases by 20%, making fuel a much bigger problem than before. When your fuel tank hits 0, the game is over regardless of how many hearts the player has.
Major Update: Over the past few days, I’ve added a lot of features that will have a significant impact on the game. The first of which is a new shop where the player can purchase upgrades, including a +5% speed increase (limit of 25%), a +5% fire rate upgrade (limit of 25%), and, lastly, a refuel upgrade, which will refill 5% for the cost of 1 coin. The player now has 3 lives instead of just 1, which will allow the player to progress through the game more. In the shop the player can upgrade the amount of lives they have(max of 5). After each wave their health returns to it’s maximum, but fuel will remain the same. In the power-ups tab, the player can increase the duration of each power-up by a maximum of 5 seconds. Once the player maxes out all 3 power-ups, they will unlock a feature called Super Nova were they can select one of the three power-ups to gain a new feature that will help the player survive new waves. Speaking of waves, the next change includes breaking up the game into multiple waves. This change allows the player to get a break between waves to upgrade their ship in the shop. This also makes the player feel like they are progressing through the game more.
🎉🎉MAJOR UPDATE🎉🎉: For the past few days I’ve been working on a few updates, which include finishing and balancing the new Super Nova feature. When you max out all 3 power-up upgrades, it allows you to super charge. One of them includes Double Shot, 2x score on top of 2x score, and buffs for a short amount of time after your shield breaks. I made waves infinitely and made them progressively harder with each passing wave. I added a slight amount of polish to the menu where a little click sound plays when you toggle settings or press a button. I realized that when the player got hit it wasn’t very noticeable since it played the same sound as when an enemy got hit, so I added screen shake which was something I wanted to add for a while but procrastinated it because the way I made my scrolling background with a Parallax background that had a Parallax layer and sprite 2D as a child so when I added the camera 2D node it stopped the background from scrolling so I had to delete all of that and update it with the newer method. But after an hour or so, I got it looking clean and was happy with it, so now when the player takes damage, there is a very noticeable shake to the screen, which helps indicate that you got hit. I also added this to the enemy, but you have to build up a fairly large consecutive hit counter to really notice it. I did start to work on a new tank enemy since all of the existing ones are relatively weak, so this one will have 5 HP, which is half of an asteroid, and will shoot double-shot bullets, which will be punishing if the player gets hit by it. Speaking of HP, instead of healing the player’s hearts back to their maximum amount despite the current amount, it now only heals you by one heart. Now normally, I would have a video to showcase all of these new features, but my thing is weird and will only take images, not videos, so sorry if it’s missing, like all of the updates.
Small Update: I just added a notes and acknowledgements page to replace the old broken leaderboard page. It just includes some writing and a link to my new Discord Page. If you want to join early to the launch, here’s the link: https://discord.gg/ccgyRZArYm
🎉🎉Major Update🎉🎉 After a little bit of playtesting, I came to the conclusion that the game needed to be much harder because it came up as a problem more often than not. I was already planning to add a few more enemy types, so it didn’t really matter. New Enemy Types 1) A horde of diver enemies 2) A large tank enemy that has double shots 3) A Suicider enemy which pathfinds to the player 4) An asteroid field that can spawn I also plan on adding a bomber enemy with explosions, and a flame thrower enemy which will deal more damage the longer you are in the flames and will burn your fuel. But because I was so close to the 10-hour limit, I have to make a devlog before continuing on it. I also decreased the wavelength from 30 seconds to just 20 because it made for a much faster-paced game and was easier on the player. In the future, I plan on adding a keybind option to the settings, which might take a while to figure out, bosses, which probably won’t happen, and a ton more polish to the menu because it looks terrible.
Fairly large update!!! Over the past few days, I’ve been working and have gotten quite a lot done. Recent changes include A new bomber enemy who appears on wave 15, dropping bombs as it passes through. Bombs have 3 seconds before exploding and deal the standard 1 HP. Then I polished the menu so that instead of having ugly buttons down at the bottom of the screen, I now have large transparent buttons right in the middle of the screen. I also made the buttons feel really juicy, changing color and playing a short clicking sound when hovered over with the mouse. I changed up the settings panel by adding some darker panels for detail and organization. Instead of the set WASD and arrow keys, I now have key binding as an option. I don’t know what other controls players would use, but just in case, and it also makes the game feel more polished. I think right now I plan on adding a stats page in the menu next that can showcase stuff like your highest wave, how many attempts, and enemies killed. But I think I’m going to save that for tomorrow. So for now, I’ll see you in the next devlog. :)
This morning, I’ve been working on adding a statistics menu to the menu, which keeps track of stuff like your highest wave or how many power-ups you’ve bought. All of the things are saved after closing the window, so not much has been added, but it’s something.
I’ve just been working on adding some finishing touches lately, most of which include working with the new log feature. Inside of it I have three different tabs Enemies which is just a list of all of the different enemies and their stats like hp and speed. The second one is for achievements. I have ten so far, which include: First Orbit, earned by playing for 15 mins. Deep Space Transit for 30 minutes, and Time Flies for an hour. Atmosphere Cleared for getting to wave 5. Flight Lieutenant for wave 15. Squadron Leader for wave 30, and Cosmic Anomaly for 50. Just Getting Warm for killing a thousand enemies. Determined I for dying 50 times and Determined II for dying 100 times. I also added some progress bars to visually show your progress towards the achievements. For the stats menu, all I changed was adding a darker panel behind all the stats to add some detail; other than that, that’s all I did. Also, the scrolling menus were almost my downfall.
Lately I’ve just been polishing the game. Nothing super interesting. I fixed the keybindings because when you selected a key with a long name like RightBracket, the label would expand into the button and overlap. I just made a better layout for it and made it so the text would be aligned on the right side, making it expand to the left instead. Then I worked on cleaning up some of my code since I’m planning on shipping tomorrow. Then I added a TON of polish to the main menu. I added a little rotating tip at the bottom and displayed your high score and highest wave at the top of the menu, which was easy enough. I still want to log at least two more hours, so if anyone has ideas, please let me know, because I’m out of ideas. Also, in the pictures, if the text looks sideways, it’s because I rotated it as a little animation. I think the current total for lines of code is 3005, if you’re interested, btw.
Finally finished the game!!! Just posting a quick devlog before shipping. I added satellites and space junk that can fly in from the right side of your screen, which adds an extra obstacle. The only hard part about it was figuring out some physics equations with Newton’s Law of Universal Gravitation. After that, it was finished. Here’s my code if you want to look at it(GDScript): extends Node2D var item = 0 var active_node: Node2D = null var velocity := Vector2.ZERO var rotation_speed := 0.0 var spawning_enabled := true const MIN_SPAWN_TIME = 10.0 const MAX_SPAWN_TIME = 15.0 const PLANET_POSITION = Vector2(300, 1500) const GRAVITY_STRENGTH = 450000.0 @onready var timer = $Timer @onready var small_satellite = $“Small satelltite” @onready var large_satellite = $“Large satellite” @onready var scrap = $Scrap func _ready() -> void: randomize_next_spawn_time() func _process(delta: float) -> void: if active_node and active_node.visible: var vector_to_planet = PLANET_POSITION - active_node.global_position var distance = vector_to_planet.length() var direction = vector_to_planet.normalized() var gravity_force = direction * (GRAVITY_STRENGTH / (distance * distance)) velocity += gravity_force * delta active_node.global_position += velocity * delta active_node.rotation += rotation_speed * delta if active_node.global_position.x < -150: disable_active_node() func _on_timer_timeout() -> void: randomize_next_spawn_time() if not spawning_enabled: return item = randi_range(1, 3) if item == 1: pick_small() elif item == 2: pick_large() else: pick_scrap() func randomize_next_spawn_time() -> void: if timer: timer.wait_time = randf_range(MIN_SPAWN_TIME, MAX_SPAWN_TIME) timer.start() func reset_and_launch(node: Node2D): disable_active_node() small_satellite.hide() large_satellite.hide() scrap.hide() node.show() node.global_position = Vector2(600, randi_range(0, 960)) velocity = Vector2(-150, -45) rotation_speed = randf_range(-1.5, 1.5) if node.has_method("set_deferred"): node.set_deferred("monitoring", true) node.set_deferred("monitorable", true) active_node = node func disable_active_node(): if active_node: active_node.hide() if active_node.has_method(“set_deferred”): active_node.set_deferred(“monitoring”, false) active_node.set_deferred(“monitorable”, false) func stop_spawning() -> void: spawning_enabled = false timer.stop() func start_spawning() -> void: spawning_enabled = true randomize_next_spawn_time() func pick_small(): reset_and_launch(small_satellite) func pick_large(): reset_and_launch(large_satellite) func pick_scrap(): reset_and_launch(scrap) func _on_scrap_body_entered(body: Node2D) -> void: if body.has_method(“take_damage”): body.take_damage() disable_active_node() func _on_large_satellite_body_entered(body: Node2D) -> void: if body.has_method(“take_damage”): body.take_damage() disable_active_node() func _on_small_satelltite_body_entered(body: Node2D) -> void: if body.has_method(“take_damage”): body.take_damage() disable_active_node()
Ships:
Hi! The project I’ve been working on is called Void Strike. It’s a space shooter game in which the player controls a spaceship and must survive hordes of enemy waves. The reason why I chose to create this game is that I thought it would be easy. Since I’ve never really used Godot, I thought I should start simple. By the end of working on it, I can confidently say that I’ve learned at least the basics of the engine. That’s all anyway. Have Fun! Also, last night when I was trying to add it to Itch.io, I accidentally overwrote LITERALLY ALL of my files and everything, so the only thing I have left is the HTML export, and the entire project on my Godot account is just gone, and I can’t recover it, so if there is anything a little buggy, that’s probably why. And I can’t do anything about it, sorry. I just decided to ship it as it currently is instead of not shipping it at all, since I’ve already spent too much of my time on this. Once more, I’m sorry....
|
1793004979.3407114
|
1793091379.3407114
|
|
23040
|
rhythm crossing by @alyah | Stardance
|
alyah
|
1
|
7.32
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T22:10:22Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Rhythm Crossing, an adaptation of the VR and XBox game Beat Sabers. It currently only runs locally, so check out the latest release at https://github.com/lyri3aly/rhythm-crossing/releases/tag/v.1 . It runs by connecting a phone (as the console) to a laptop and utilizing its IMU sensors. This was my first time working with concepts such as using the browser’s DeviceMotionEvent / DeviceOrientationEvent APIs, so everything was very new to me. After a lot trial and error and prayers, the game finally works properly without any (known) bugs and I’m very proud of how it turned out!", "repo": "https://github.com/lyri3aly/rhythm-crossing", "demo": "https://rhythm-crossing.onrender.com/"}]...
|
[{"post_id": 70932, "ts": "202 [{"post_id": 70932, "ts": "2026-09-20T02:07:33Z", "hours": 0.3236, "text": "update: SOOO STARDANCE HATES ME AND RENDER ISN’T ALLOWED EITHER. WILL BE MOVING TO HACK CLUB NEST.. apparently ships require a web-access link, so I’ve FINALLY made the game available on the web. it is deployed through render (my first time using it and it’s on a free plan so I’m not sure how well it will work). to those rating my project: please ignore the info on my ship about releases and use the following link insetad! if it doesn’t work uhh… that’s not supposed to happen… https://rhythm-crossing.onrender.com/ also ignore the laginess at the start of the gameplay in my attached video, the screen recorder was bugging it out but it returns back to the actual resolution in a few seconds!"}, {"post_id": 70865, "ts": "2026-09-19T21:50:44Z", "hours": 6.6031, "text": "for some reason, I recall devlogging things by nothing is showing? guys I might just be schizo… anyway, I made rhythm crossing! this was a project I made with my friends, personally spening 6 hours on! it’s meant to be a replication of beat saber, the vr game where you slice blocks coming towards you in time to the beat. the ui is inspired by animal crossing :)"}]...
|
Title: rhythm crossing by @alyah | Stardance
Devl Title: rhythm crossing by @alyah | Stardance
Devlogs:
for some reason, I recall devlogging things by nothing is showing? guys I might just be schizo… anyway, I made rhythm crossing! this was a project I made with my friends, personally spening 6 hours on! it’s meant to be a replication of beat saber, the vr game where you slice blocks coming towards you in time to the beat. the ui is inspired by animal crossing :)
update: SOOO STARDANCE HATES ME AND RENDER ISN’T ALLOWED EITHER. WILL BE MOVING TO HACK CLUB NEST.. apparently ships require a web-access link, so I’ve FINALLY made the game available on the web. it is deployed through render (my first time using it and it’s on a free plan so I’m not sure how well it will work). to those rating my project: please ignore the info on my ship about releases and use the following link insetad! if it doesn’t work uhh… that’s not supposed to happen… https://rhythm-crossing.onrender.com/ also ignore the laginess at the start of the gameplay in my attached video, the screen recorder was bugging it out but it returns back to the actual resolution in a few seconds!
Ships:
I made Rhythm Crossing, an adaptation of the VR and XBox game Beat Sabers. It currently only runs locally, so check out the latest release at https://github.com/lyri3aly/rhythm-crossing/releases/tag/v.1 . It runs by connecting a phone (as the console) to a laptop and utilizing its IMU sensors. This was my first time working with concepts such as using the browser’s DeviceMotionEvent / DeviceOrientationEvent APIs, so everything was very new to me. After a lot trial and error and prayers, the game finally works properly without any (known) bugs and I’m very proud of how it turned out!...
|
1793004978.463541
|
1793091378.463541
|
|
4018
|
Celestial Capitalist by @idi0cy | Stardance
|
idi0cy
|
1
|
109.0
|
2005
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T08:45:07Z", "hours": 109.0, "multiplier": 18.79, "payout": 2005, "blessing": "neutral", "text": "Celestial Capitalist is a simulation game where the player simultaneously builds and ascends the corporate ladder from the bottom of the street to the self-built throne at the top of the cosmos. Beg your way from homelessness, run a lemonade stand, scam grandmas on the internet, start a cult, play union-buster tower defence, and generally just have a grand stupid time while the world slowly bends to your will. Coding is mighty stupid, and I had a lot of trouble patching all of the many bugs. With all that out of the way, I hope you enjoy Celestial Capitalist!", "repo": "https://github.com/idi0cy/Celestial-Capitalist", "demo": "https://ratseerofrattesse.itch.io/celestial-capitalist"}]...
|
[{"post_id": 70009, "ts": "202 [{"post_id": 70009, "ts": "2026-09-18T08:29:54Z", "hours": 2.7947, "text": "Finished The first stage, and therefor the shipped version of Celestial Capitalist (all rights reserved) is completed! I just spent over four hours in a voice call with @Ratseer patching all the bugs and balancing all the minigames. Audio settings work, but only on the editor version. The only forum post we found with a possible answer just told us they fixed but don’t know how, so our questions were not answered. Minigames were balanced, the sort. Very, very stupid code was fixed (more than I remember writing). More importantly, they sell soy sauce by the buckets and they also have deluxe versions worth hundreds of dollars. This fact was found out after I realized we priced soy sauce at $45. All the items were subsequently revalued. Celestial Capitalist Finally (but not fully) developed by @Ratseer and @idi0cy . Thank you for your patience."}, {"post_id": 67502, "ts": "2026-09-13T16:58:21Z", "hours": 7.8861, "text": "Polishing and Suffering Celestial capitalist is nearing it’s completion, so over the past week or so I’ve just been polishing everything. Fixing bugs, balancing minigames, and small changes that make the game less buggy. My friend @Ratseer has been working on a couple of these mechanics, including revamping a goofy tutorial blob I wrote. Sound Effects A big change to note was the sound effects, and this is where the suffering comes in. I had to make a global script with a button signal that each button would send, which would cause a sound to play. After a big of debugging, I hooked up pressing a button to the signal, and it worked. Almost. The signal was sending, and it was telling the AudioStreamPlayer to play the sound, but for some reason it wasn’t. We testing using an input to play the sound, and that worked perfectly fine. I tried using another proxy function for no reason, and it didn’t work either. We even tried having both the input and the signal change the same variable to true, where the sound would play then it set to false again. This didn’t work. To this day, I’m not sure why nothing worked, and I’m not sure I’ll ever find out. But it was fine, since we eventually just made a new global script and for some reason everything worked totally normally after that. The image attached below depicts the setup we used for this coding conundrum. Celestial Capitalist Shrewdly developed by @Ratseer and @idi0cy ."}, {"post_id": 65218, "ts": "2026-09-10T06:08:55Z", "hours": 4.8753, "text": "Title Screen and a Heftier Quota I did a couple things, starting with an upgrade to the title screen system. Now, you can read a bit about your role in this game before you’re thrown into the deep end. I wrote up a quick explanation, but it might get changed in the future based on vibes. The other big change is that I added more quota requirements. Instead of just making 500 bucks, you gotta do some more work like sell items, or gain skill points. There are three right now, and I plan to keep it that way. Bug Fixes Since CC is about ready to ship any time now, we’re doing some final bug patches and implementations to the game. I fixed a counting error on the fake injury game mode, as well as a bad gameplay mechanic in the sell minigame that caused targets to spawn on top of each other. Celestial Capitalist Treacherously developed by @Ratseer and @idi0cy"}, {"post_id": 60923, "ts": "2026-09-03T16:11:15Z", "hours": 5.8194, "text": "Random Events It’s another day where I’ve actually done some coding work, and I completed the random events function of this game. Every 180 seconds a randomly selected random event occurs, and a popup shows up telling you what happened. Get robbed, find money on the floor, get robbed again, anything could happen. Each event has a different “weight” to it, which determines how likely it is to happen. In this recording, I changed the weight of losing an item to 2000, giving it a practically guaranteed chance of being picked. Event log will probably be removed, since it isn’t actually useful. Celestial Capitalist Legally developed by @Ratseer and @idi0cy ."}, {"post_id": 55575, "ts": "2026-08-27T14:47:16Z", "hours": 2.4314, "text": "Title Screen Functionality For the longest time, the title screen has been completely non-functional. That ends today, when I do some actually easy coding and give functionality* to all of the buttons I put onto the title screen. Start game initiates a loading popup before loading the next scene. Credits gives the same text each time, with the exception of the green highlighted text, which chooses a random adjective each time the credits button is pressed. The settings are a lie. Celestial Capitalist var wordBank = [\"debatably\", \"demonstrably\", \"woefully\"] var msg = str(wordBank[randi_range(0, len(wordBank) - 1]) + \" developed by @idi0cy and @Ratseer\" print(msg)"}, {"post_id": 44708, "ts": "2026-08-10T17:24:52Z", "hours": 3.9619, "text": "Skill Point System Completed I’m back, with more consistent developing time. The skills system has been completed, and its relatively simple which is actually a nice break. Typing minigame nearly killed me. You have certain attributes that you can divest your skill points into. A lot of these are the typical DnD stats, but some of them are different. Every three minutes you gain a skill point, which might be changed for balancing. Every time you complete a minigame from the get money section, you have the chance to get a skill point. Certain skills help with certain minigames, and the more you have the more positive modifiers you get for that minigame. This is all pretty intuitive. There are some parts not yet filled out, since I don’t know at all how the scavenge code works because my friend made that and not me. Celestial Capitalist Inconsistently developed by @idi0cy and @Ratseer ."}, {"post_id": 38635, "ts": "2026-08-01T04:08:07Z", "hours": 4.4667, "text": "Quota Function Completed I’ve been on just a bit of a hiatus. The steal function has been fully completed, with a strength minigame based off both aim training and also timing. Also, I have a functioning quota system. You have certain tasks to complete before moving on to the next “level”, which definitely won’t be programmed very soon at the exponentially decaying rate that I’m moving at. I’m going to start looking at returning to daily contribution, all for those ikea sharks. You can focus the progress bar on certain tasks to complete, such as the cash requirement which is the only one right now. It fills in automatically, and has a nice texture. See the video for how it works. Thank you for viewing celestial capitalist, its not abandoned quite yet. Debatably developed by @idi0cy and @Ratseer ."}, {"post_id": 25608, "ts": "2026-07-09T23:53:01Z", "hours": 9.0775, "text": "Steal Function In Progress Of course, there needs to be an option to rob people. Hence, stealing. I’ve programmed the stealth minigame into the stealing function of the game, and it works perfectly fine. The strength one, well not so much. Going to have to give a bit more of a wait on that one. Heavily inspired by Stardew Valley’s fishing minigame. I have to log these hours before I reach ten, because I just found out that stardance does NOT do overtime pay. Celestial Capitalist Greedily developed by @idi0cy and @Ratseer ."}, {"post_id": 18522, "ts": "2026-06-29T18:19:15Z", "hours": 12.1594, "text": "Con Minigame Completed It’s been nine days, and I’ve worked on one minigame for 12 hours. The typing based minigame for conning strangers is now complete! When you con someone, you choose how you want to con them, for example a fake business opportunity, magical exorcism, or maybe even an unwinnable game to bet money on. You then type out a randomly picked prompt that was premade, and you are scored on your speed and accuracy. This determines how likely you are to succeed. You can also decide how much stakes you want to give the con, so that’s something. When you get something wrong, it highlights what was supposed to be typed red, unless you got it wrong on a space, in which it puts in what character you typed in red highlight where you typed it.. I won’t lie, it’s a bit unpolished. There are some weird text wrapping bugs that are unpleasant to look at, but it should be fine for the most part. This kinda took way too long, but whatever. We take what we can get. Meanwhile, at the Legion of Doom… My associate who is also working on this project, @Ratseer has gotten strangers new sprites, names, and all that, along with a brand new scavenging system which I recommend you check out on all his devlogs. Formatting still sucks The preview function is great, thank you Stardance team. But still, now the ctrl Z shortcut is wonky, it’s harder to put in more line breaks when pressing the enter key, and also I tried uploading this earlier with the video and it said the video size was too large, and deleted the entire devlog, so now I’m writing this again. Features for thought. Celestial Capitalist Thank you for checking in with Celestial Capitalist, developed by @idi0cy and @Ratseer ."}, {"post_id": 12623, "ts": "2026-06-20T16:58:09Z", "hours": 7.315, "text": "I’m Bad at Coding Recently, I’ve been trying to code a typing minigame where you do a type test to increase your chances of success. This is for the con action of Celestial Capitalist, where you just scam people. A couple of revelations have been made while I’ve been working on this, the first of which is that I’m bad at coding. As you can hopefully observe in the game, it’s supposed to be structured after a typing test like monkeytype. Each time you get it right, it highlights white. When you get a word wrong, it highlights it red. When you get it wrong on a space, a new letter is appended where you got it wrong. The most basic elements of this are working, such as getting the text correct and getting the normal non-space error text working. You know what’s not working? The other parts. Each time I try to do the error after a space, it bugs out because the backspace option doesn’t go well with it. When a word only autowraps after it’s completed, such as when I type “because” in the video, it only goes to where it should be after it’s done, which looks ugly. The indexing is wrong, little things work, and you can all see it in the video. I think I’ve also made some of the most inefficient code ever designed. I’ll keep toiling away at the minigame, and then toil away some more to actually integrate it into the minigame. These bugs will drive me to insanity. Well Well Well Would you look at that? They added a preview section. Where you can preview all of your markdown formatting. Y’know when that could have been useful? I sure do wonder. Markdown formatting is now my enemy."}, {"post_id": 10459, "ts": "2026-06-17T05:58:21Z", "hours": 3.2919, "text": "Blackmail and a Broken Clavicle You can now fake an injury, and demand blackmail to keep quiet about it and not make a fuss. In the true spirit of Reigen Arataka, you can pretend your clavicle is broken too. All of you should watch mob psycho. The recording attached better be the right one. . I’m still doing the backslashes. I’ve given up. I might try new formatting another day, but I’m tired. . Alright, so the minigame for faking an injury is pretty simple, its an fnf like rhythm game that is so unbalanced it’s insane. You are deducted points for pushing any button, and are given points for if you hit a note. You will be able to tell if you hit a note because it will expand like a balloon and fade away like my employment opportunities. You are given more points if the note is closer to the filling the center cavity of the button. . The point of this is to reward actually hitting them on time, and not just spamming. Missing notes deducts points. Severity of injury being faked determines game difficulty. Minigame performance has certain weight on how successful you are in getting money. If you perform in a negative fashion, it’s over. After blackmailing a stranger (successful or not), they will never talk to you again (kinda). They are removed from your current roster of strangers, but they might come back when reroll happens since we only have so much stranger types so far. . This thing is so heinously unbalanced, it’s insane. All the values need to be tweaked, and I haven’t done enough playtesting to know if it is fair or not. I’m hoping tweaking the values will be easy, but it might be hard to polish. That’s for another day. . Update on friendship My friend is working on actually interesting randomized dialogue, so that should be something to look forward to. Check out Ratseer’s stuff."}, {"post_id": 9974, "ts": "2026-06-16T14:41:33Z", "hours": 4.9433, "text": "Nothing is working I’m trying out on making the fake injury option, and it is not working as intended. It’s supposed to have a rhythm based minigame, sort of like friday night funkin even though i’ve never played that before, but it clearly isn’t working. \\ All the icons are sideways, there are too much notes, and for the longest time none of them would scale correctly because I forgot to assign the new scale to the scale property. \\ Markdown, again Okay I think I got it this time. If I just leave the backslashes alone…"}, {"post_id": 8518, "ts": "2026-06-14T05:11:10Z", "hours": 3.1353, "text": "Beg The beg minigame has been completed, meaning you can now get on your knees and start praying for money. I also did some polishing work, but I have absolutely no recollection of that. Frontotemporal dementia is simply a wonder, isn’t it? \\ I’m also trying some new mark down. Let’s see if my paragraphs space properly. \\ When you beg to someone, you get “dialogue options”. The options are based off the three methods of persuasion, Ethos, Logos, and Pathos. Pathos is appealing to human emotions like empathy, logos is using logic, and ethos is using authority to prove an argument. Each stranger will have a different reception to the persuasion types, based off data values stored in the code. \\ You have 8 chances to beg. I think. I might have changed the value. Again, frontotemporal dementia. \\ Everything is ledger compatible. If you get less than 25 progress somehow, which I might change to make it more difficult, you are rejected and cannot approach the stranger again (until strangers refresh). The more you use one strategy of persuasion, the less effective it gets. I plan to make this effect more pronounced when balancing. \\ That’s it. Please let this markdown formatting succeed."}, {"post_id": 8155, "ts": "2026-06-13T16:27:06Z", "hours": 2.9306, "text": "Polishing 0 Couple of polishing points that I put into the game to freshen things up and solve all the bugs that haggling made. Items are removed from inventory after selling, strangers walk away after you fail a sell attempt with them, and I fixed an integer division error that led to fearmongering being physically impossible to complete when you select it as a minigame. While I was working on the sell items minigame, my friend Ratseer has been working on the ledger which tracks all the finances. I’m too lazy to link him, but you should check it out over at his profile, if he devlogged it. I’ll put a video of it working here, but that’s just because I don’t think I can post this without a media element."}, {"post_id": 7287, "ts": "2026-06-12T04:34:09Z", "hours": 8.3356, "text": "Sell me this pen I finished the minigame for selling/haggling your items away. My markdown formatting is going to downgrade because I’m honestly not that motivated this feature took way too long to program, and i’m not very energetic right now. A couple things. After you talk to the person, you select which item you want to sell, and then sell it. There are dialogue options, and the safer ones like recommend make the minigame easier but you make less progress towards convincing them each time you succeed in clicking the button, but the riskier options like fearmonger are high reward types. After that, you can give a highball or lowball offer on a scale. The game calculates your chances of succeeded by combining pure randomness, your progress towards convincing them, and how much you priced your item in comparison to it’s actual value. Ignore the system text that says “five tries remaining”, that is vestigial and I forgot to remove it after redoing the whole minigame design. I can’t believe I spent 8 hours on this, and it isn’t even polished. Cool New Art Yes, as you can see, my friend is an absolute lifesaver when it comes to me trying to not lose my soul to krita. Lots of great sprite art here that makes the game look much better. I’ll have to clarify some text elements to make them more legible but it should be fine for now. Circle of ignorance If knowledge was a circle of light in a dark 2D plane, ignorance would be the darkness. We only reveal how much of it we find ourselves in by seeing the circumference of our small circle of knowledge. The more knowledge we obtain, the more unknown we must face. I’ve become bluntly aware of my own little ignorance circle. I’ve only done one of the five actions, and it’s unpolished, and it took me 8 hours, and the money isn’t even tracked because the ledger hasn’t been programmed yet, and I can only feel the great abyss devouring my spirit slightly more by the day. Watch the attached video to see how it works. I know, it isn’t that visually appealing, and I’ll probably spam lerp functions again to make it look smoother, but IT IS WHAT IT IS."}, {"post_id": 5980, "ts": "2026-06-10T01:07:53Z", "hours": 3.3317, "text": "Action Screen and the Power of Friendship For actual game development, the main progress made was continuing to develop the action screen. After you approach a stranger, you can now see their sprite art in a zoomed in fashion, and click on some actions. As you can see in the video, after the first part where I flex my new sprite art, clicking on an action gives a description of what it will do, and clicking the take action button to confirm that has the terminal display some fun text before the mini-game starts. I don’t believe I ran into too much bugs while developing this, and I haven’t gotten to the actually much harder part, which are the actual mini-games. I solved that previously devlogged bug with like five lines of code it was so infuriatingly easy. New Sprites You may be asking, “idi0cy, I saw your water bottle sprites, and I find myself confounded as to how you have managed to improve so much in your art.” Your suspicions are correct. I’m not making that art, my friend Ratseer is, because I got them on the project. They probably won’t code a lot for now since they still need to decipher the horrendous logic I used in the making of this game. It is very strange knowing that there is likely nobody actually reading this except for said friend, and now the acknowledgement of said fact might have just made it more awkward."}, {"post_id": 5164, "ts": "2026-06-08T20:57:07Z", "hours": 0.8678, "text": "Crushed buble emoji. Knowledgeable thoughts cannot describe my disappointment."}, {"post_id": 4655, "ts": "2026-06-08T01:56:35Z", "hours": 4.9778, "text": "Social Interaction Studies show I am not fond of it, but I’m still programming all of that into my game. This is the beginning of the sell function, where you are able to sell off your goods to strangers on the street. Having it be named “Sell” is a bit misleading, since the general game mechanic is a bit more broad than that. When you approach a stranger, you will be able to initiate a sales pitch, beg, steal, fake an injury, and tons of more fun options for making money. I’m still thinking of what I want as minigames for all of those, as I’m not sure if there will be separate minigames for each one. Each action you perform will have differing chances of success depending on game performance and the person you approach. For example, shouting into a crowd that a kid just injured you and demanding payment from said kid will have a zero percent chance of success. As of now, it still needs polishing, and while I’ve gotten the big obvious bugs out of the way (nothing rendering, nothing rendering after I click another button and go back, nothing rendering once more), I’m sure more await me. Next devlog will likely be on polishing the UI for the sell window. Finally using that clock Depending on what time of day it is, you are likely to find more/less strangers. If it’s rush hour, more people will be on the street in comparison to at 1 AM. Sprite art strikes back Everything was fine when I was drawing water bottles or whatever, but people are too much. In the meantime, I’ve substituted the human appearance with a sprite that in no way alludes to my mental state at the time of drawing. As soon as my friend who can actually draw is freed from the shackles of crunching at the end of school, I am selling their soul to the sprite art directory. Don’t tell them I said that."}, {"post_id": 3826, "ts": "2026-06-06T21:42:03Z", "hours": 0.5472, "text": "Timer Created a time variable to count in game time of day, and a time button/counter for the player to tell what time it is. I plan to have different minigames operate with separate loot-tables or success chances depending on what time of day it is. Pretty short devlog, but I’ll have to integrate this time variable into a LOT of different features that I don’t completely look forward to. New and improved markdown superpowers I think I’ve figured it out. Hopefully I no longer fumble all my markdown. But then again I still have no way of telling."}, {"post_id": 3654, "ts": "2026-06-06T18:06:08Z", "hours": 4.9564, "text": "Inventory Inventory system that displays all the items you currently possess. Upon clicking on one of the items in your possession, information on the item such as quality, value, and item name will be displayed. More information is planned to be available to the player, however that has not been developed yet. Unfortunately, the item icons for the inventory do not have the same smooth lerp scaling that I was able to use for the buttons, as texture buttons do not have a proper scale function. I could theoretically group a texture button with a sprite2D node, however the gridbox I’m using to organize all the items is unlikely to cooperate. All the item’s values are spaced out automatically so they have room and aren’t too close together. Each item has different information, and it’s only bestowed to them each time the inventory opens, since that is when the icons are generated. This forced me to do some weird signal connection logic in the scripts, but it worked out. ##Sprite Art Sprite art is overrated, and I want to stop doing it. All my hours are being spent drawing water bottles and pencils in krita, just to never be logged. I offloaded one of the sprite arts to my friend because they were bored, and he produced the hamburger sprite. Note that the hamburger sprite icon does NOT have the same colour as all of the other icons, because said friend is unable to use the colour picker tool for whatever reason. ##New Markdown Superpowers I learned how you format these, and I’m hoping it ends up looking good upon posting. I don’t really have a way of telling as of writing, however. ##Way too ambitions Me and associates started actually being interested in developing the game. In the near future, I plan to involve my associates as collaborators for the project, since we have a lot more planned than I originally thought. “Union Buster Tower Defense” might be a game feature that we actually consider making."}, {"post_id": 2559, "ts": "2026-06-05T03:26:38Z", "hours": 4.4472, "text": "How in the world do people format these to look nice? Is it markdown? something . Can’t tell if that worked. Doesn’t show me in the writing box. Progress for the day includes creating the first “stage” or area of the game. It’s themed after a sidewalk, as you are currently broke and probably living on one. Central cavity will be able to display UI for certain mini-games/elements related to tasks such as buying or selling items. All the buttons have been reformatted, since they didn’t look that good the first time I made them. Clicking the buttons has more response now since it gets smaller upon button press. I wasted so much time re-doing pixel art."}, {"post_id": 1878, "ts": "2026-06-04T02:55:48Z", "hours": 2.3606, "text": "Hopefully, the video that I attached will display properly, though I have no indication of whether it will as of writing. Progress today includes finishing the title screen for the player to start the game. There are currently three buttons with un-programmed functionalities, including a “Start Game”, “Credits”, and “Settings” button. There is also a large title for the game, which took me a bit too much unlogged hours to create for what it’s worth. Each element “flies” onto the screen, title from the right, and buttons from the left. Movement is generated using lerp() for fluidity."}, {"post_id": 1630, "ts": "2026-06-03T19:18:55Z", "hours": 3.9267, "text": "Making a 2D based semi idle game. Like any generic game in the genre, it starts with a button, so I just made that so far. Each button has an icon that can display pixel art, and a textbox for text. The original plan was to have a border that could grow/shrink independently of the main body of the button, however it was hard to create a general button function I could use for various purposes, as it didn’t scale properly to ensure a constant padding throughout. Settled on this type of button, that expands slightly when hovering over it so you can more visibly see the purple background. Might have to make other types in the future, but it should be fine for now. Button uses lerp function to smoothly expand the background sprite through time. Images show the button normally, and the button when hovering over it with the cursor. Also made some title screen art that will definitely be changed."}]...
|
Title: Celestial Capitalist by @idi0cy | Stardance Title: Celestial Capitalist by @idi0cy | Stardance
Devlogs:
Making a 2D based semi idle game. Like any generic game in the genre, it starts with a button, so I just made that so far. Each button has an icon that can display pixel art, and a textbox for text. The original plan was to have a border that could grow/shrink independently of the main body of the button, however it was hard to create a general button function I could use for various purposes, as it didn’t scale properly to ensure a constant padding throughout. Settled on this type of button, that expands slightly when hovering over it so you can more visibly see the purple background. Might have to make other types in the future, but it should be fine for now. Button uses lerp function to smoothly expand the background sprite through time. Images show the button normally, and the button when hovering over it with the cursor. Also made some title screen art that will definitely be changed.
Hopefully, the video that I attached will display properly, though I have no indication of whether it will as of writing. Progress today includes finishing the title screen for the player to start the game. There are currently three buttons with un-programmed functionalities, including a “Start Game”, “Credits”, and “Settings” button. There is also a large title for the game, which took me a bit too much unlogged hours to create for what it’s worth. Each element “flies” onto the screen, title from the right, and buttons from the left. Movement is generated using lerp() for fluidity.
How in the world do people format these to look nice? Is it markdown? something . Can’t tell if that worked. Doesn’t show me in the writing box. Progress for the day includes creating the first “stage” or area of the game. It’s themed after a sidewalk, as you are currently broke and probably living on one. Central cavity will be able to display UI for certain mini-games/elements related to tasks such as buying or selling items. All the buttons have been reformatted, since they didn’t look that good the first time I made them. Clicking the buttons has more response now since it gets smaller upon button press. I wasted so much time re-doing pixel art.
Inventory Inventory system that displays all the items you currently possess. Upon clicking on one of the items in your possession, information on the item such as quality, value, and item name will be displayed. More information is planned to be available to the player, however that has not been developed yet. Unfortunately, the item icons for the inventory do not have the same smooth lerp scaling that I was able to use for the buttons, as texture buttons do not have a proper scale function. I could theoretically group a texture button with a sprite2D node, however the gridbox I’m using to organize all the items is unlikely to cooperate. All the item’s values are spaced out automatically so they have room and aren’t too close together. Each item has different information, and it’s only bestowed to them each time the inventory opens, since that is when the icons are generated. This forced me to do some weird signal connection logic in the scripts, but it worked out. ##Sprite Art Sprite art is overrated, and I want to stop doing it. All my hours are being spent drawing water bottles and pencils in krita, just to never be logged. I offloaded one of the sprite arts to my friend because they were bored, and he produced the hamburger sprite. Note that the hamburger sprite icon does NOT have the same colour as all of the other icons, because said friend is unable to use the colour picker tool for whatever reason. ##New Markdown Superpowers I learned how you format these, and I’m hoping it ends up looking good upon posting. I don’t really have a way of telling as of writing, however. ##Way too ambitions Me and associates started actually being interested in developing the game. In the near future, I plan to involve my associates as collaborators for the project, since we have a lot more planned than I originally thought. “Union Buster Tower Defense” might be a game feature that we actually consider making.
Timer Created a time variable to count in game time of day, and a time button/counter for the player to tell what time it is. I plan to have different minigames operate with separate loot-tables or success chances depending on what time of day it is. Pretty short devlog, but I’ll have to integrate this time variable into a LOT of different features that I don’t completely look forward to. New and improved markdown superpowers I think I’ve figured it out. Hopefully I no longer fumble all my markdown. But then again I still have no way of telling.
Social Interaction Studies show I am not fond of it, but I’m still programming all of that into my game. This is the beginning of the sell function, where you are able to sell off your goods to strangers on the street. Having it be named “Sell” is a bit misleading, since the general game mechanic is a bit more broad than that. When you approach a stranger, you will be able to initiate a sales pitch, beg, steal, fake an injury, and tons of more fun options for making money. I’m still thinking of what I want as minigames for all of those, as I’m not sure if there will be separate minigames for each one. Each action you perform will have differing chances of success depending on game performance and the person you approach. For example, shouting into a crowd that a kid just injured you and demanding payment from said kid will have a zero percent chance of success. As of now, it still needs polishing, and while I’ve gotten the big obvious bugs out of the way (nothing rendering, nothing rendering after I click another button and go back, nothing rendering once more), I’m sure more await me. Next devlog will likely be on polishing the UI for the sell window. Finally using that clock Depending on what time of day it is, you are likely to find more/less strangers. If it’s rush hour, more people will be on the street in comparison to at 1 AM. Sprite art strikes back Everything was fine when I was drawing water bottles or whatever, but people are too much. In the meantime, I’ve substituted the human appearance with a sprite that in no way alludes to my mental state at the time of drawing. As soon as my friend who can actually draw is freed from the shackles of crunching at the end of school, I am selling their soul to the sprite art directory. Don’t tell them I said that.
Crushed buble emoji. Knowledgeable thoughts cannot describe my disappointment.
Action Screen and the Power of Friendship For actual game development, the main progress made was continuing to develop the action screen. After you approach a stranger, you can now see their sprite art in a zoomed in fashion, and click on some actions. As you can see in the video, after the first part where I flex my new sprite art, clicking on an action gives a description of what it will do, and clicking the take action button to confirm that has the terminal display some fun text before the mini-game starts. I don’t believe I ran into too much bugs while developing this, and I haven’t gotten to the actually much harder part, which are the actual mini-games. I solved that previously devlogged bug with like five lines of code it was so infuriatingly easy. New Sprites You may be asking, “idi0cy, I saw your water bottle sprites, and I find myself confounded as to how you have managed to improve so much in your art.” Your suspicions are correct. I’m not making that art, my friend Ratseer is, because I got them on the project. They probably won’t code a lot for now since they still need to decipher the horrendous logic I used in the making of this game. It is very strange knowing that there is likely nobody actually reading this except for said friend, and now the acknowledgement of said fact might have just made it more awkward.
Sell me this pen I finished the minigame for selling/haggling your items away. My markdown formatting is going to downgrade because I’m honestly not that motivated this feature took way too long to program, and i’m not very energetic right now. A couple things. After you talk to the person, you select which item you want to sell, and then sell it. There are dialogue options, and the safer ones like recommend make the minigame easier but you make less progress towards convincing them each time you succeed in clicking the button, but the riskier options like fearmonger are high reward types. After that, you can give a highball or lowball offer on a scale. The game calculates your chances of succeeded by combining pure randomness, your progress towards convincing them, and how much you priced your item in comparison to it’s actual value. Ignore the system text that says “five tries remaining”, that is vestigial and I forgot to remove it after redoing the whole minigame design. I can’t believe I spent 8 hours on this, and it isn’t even polished. Cool New Art Yes, as you can see, my friend is an absolute lifesaver when it comes to me trying to not lose my soul to krita. Lots of great sprite art here that makes the game look much better. I’ll have to clarify some text elements to make them more legible but it should be fine for now. Circle of ignorance If knowledge was a circle of light in a dark 2D plane, ignorance would be the darkness. We only reveal how much of it we find ourselves in by seeing the circumference of our small circle of knowledge. The more knowledge we obtain, the more unknown we must face. I’ve become bluntly aware of my own little ignorance circle. I’ve only done one of the five actions, and it’s unpolished, and it took me 8 hours, and the money isn’t even tracked because the ledger hasn’t been programmed yet, and I can only feel the great abyss devouring my spirit slightly more by the day. Watch the attached video to see how it works. I know, it isn’t that visually appealing, and I’ll probably spam lerp functions again to make it look smoother, but IT IS WHAT IT IS.
Polishing 0 Couple of polishing points that I put into the game to freshen things up and solve all the bugs that haggling made. Items are removed from inventory after selling, strangers walk away after you fail a sell attempt with them, and I fixed an integer division error that led to fearmongering being physically impossible to complete when you select it as a minigame. While I was working on the sell items minigame, my friend Ratseer has been working on the ledger which tracks all the finances. I’m too lazy to link him, but you should check it out over at his profile, if he devlogged it. I’ll put a video of it working here, but that’s just because I don’t think I can post this without a media element.
Beg The beg minigame has been completed, meaning you can now get on your knees and start praying for money. I also did some polishing work, but I have absolutely no recollection of that. Frontotemporal dementia is simply a wonder, isn’t it? \ I’m also trying some new mark down. Let’s see if my paragraphs space properly. \ When you beg to someone, you get “dialogue options”. The options are based off the three methods of persuasion, Ethos, Logos, and Pathos. Pathos is appealing to human emotions like empathy, logos is using logic, and ethos is using authority to prove an argument. Each stranger will have a different reception to the persuasion types, based off data values stored in the code. \ You have 8 chances to beg. I think. I might have changed the value. Again, frontotemporal dementia. \ Everything is ledger compatible. If you get less than 25 progress somehow, which I might change to make it more difficult, you are rejected and cannot approach the stranger again (until strangers refresh). The more you use one strategy of persuasion, the less effective it gets. I plan to make this effect more pronounced when balancing. \ That’s it. Please let this markdown formatting succeed.
Nothing is working I’m trying out on making the fake injury option, and it is not working as intended. It’s supposed to have a rhythm based minigame, sort of like friday night funkin even though i’ve never played that before, but it clearly isn’t working. \ All the icons are sideways, there are too much notes, and for the longest time none of them would scale correctly because I forgot to assign the new scale to the scale property. \ Markdown, again Okay I think I got it this time. If I just leave the backslashes alone…
Blackmail and a Broken Clavicle You can now fake an injury, and demand blackmail to keep quiet about it and not make a fuss. In the true spirit of Reigen Arataka, you can pretend your clavicle is broken too. All of you should watch mob psycho. The recording attached better be the right one. . I’m still doing the backslashes. I’ve given up. I might try new formatting another day, but I’m tired. . Alright, so the minigame for faking an injury is pretty simple, its an fnf like rhythm game that is so unbalanced it’s insane. You are deducted points for pushing any button, and are given points for if you hit a note. You will be able to tell if you hit a note because it will expand like a balloon and fade away like my employment opportunities. You are given more points if the note is closer to the filling the center cavity of the button. . The point of this is to reward actually hitting them on time, and not just spamming. Missing notes deducts points. Severity of injury being faked determines game difficulty. Minigame performance has certain weight on how successful you are in getting money. If you perform in a negative fashion, it’s over. After blackmailing a stranger (successful or not), they will never talk to you again (kinda). They are removed from your current roster of strangers, but they might come back when reroll happens since we only have so much stranger types so far. . This thing is so heinously unbalanced, it’s insane. All the values need to be tweaked, and I haven’t done enough playtesting to know if it is fair or not. I’m hoping tweaking the values will be easy, but it might be hard to polish. That’s for another day. . Update on friendship My friend is working on actually interesting randomized dialogue, so that should be something to look forward to. Check out Ratseer’s stuff.
I’m Bad at Coding Recently, I’ve been trying to code a typing minigame where you do a type test to increase your chances of success. This is for the con action of Celestial Capitalist, where you just scam people. A couple of revelations have been made while I’ve been working on this, the first of which is that I’m bad at coding. As you can hopefully observe in the game, it’s supposed to be structured after a typing test like monkeytype. Each time you get it right, it highlights white. When you get a word wrong, it highlights it red. When you get it wrong on a space, a new letter is appended where you got it wrong. The most basic elements of this are working, such as getting the text correct and getting the normal non-space error text working. You know what’s not working? The other parts. Each time I try to do the error after a space, it bugs out because the backspace option doesn’t go well with it. When a word only autowraps after it’s completed, such as when I type “because” in the video, it only goes to where it should be after it’s done, which looks ugly. The indexing is wrong, little things work, and you can all see it in the video. I think I’ve also made some of the most inefficient code ever designed. I’ll keep toiling away at the minigame, and then toil away some more to actually integrate it into the minigame. These bugs will drive me to insanity. Well Well Well Would you look at that? They added a preview section. Where you can preview all of your markdown formatting. Y’know when that could have been useful? I sure do wonder. Markdown formatting is now my enemy.
Con Minigame Completed It’s been nine days, and I’ve worked on one minigame for 12 hours. The typing based minigame for conning strangers is now complete! When you con someone, you choose how you want to con them, for example a fake business opportunity, magical exorcism, or maybe even an unwinnable game to bet money on. You then type out a randomly picked prompt that was premade, and you are scored on your speed and accuracy. This determines how likely you are to succeed. You can also decide how much stakes you want to give the con, so that’s something. When you get something wrong, it highlights what was supposed to be typed red, unless you got it wrong on a space, in which it puts in what character you typed in red highlight where you typed it.. I won’t lie, it’s a bit unpolished. There are some weird text wrapping bugs that are unpleasant to look at, but it should be fine for the most part. This kinda took way too long, but whatever. We take what we can get. Meanwhile, at the Legion of Doom… My associate who is also working on this project, @Ratseer has gotten strangers new sprites, names, and all that, along with a brand new scavenging system which I recommend you check out on all his devlogs. Formatting still sucks The preview function is great, thank you Stardance team. But still, now the ctrl Z shortcut is wonky, it’s harder to put in more line breaks when pressing the enter key, and also I tried uploading this earlier with the video and it said the video size was too large, and deleted the entire devlog, so now I’m writing this again. Features for thought. Celestial Capitalist Thank you for checking in with Celestial Capitalist, developed by @idi0cy and @Ratseer .
Steal Function In Progress Of course, there needs to be an option to rob people. Hence, stealing. I’ve programmed the stealth minigame into the stealing function of the game, and it works perfectly fine. The strength one, well not so much. Going to have to give a bit more of a wait on that one. Heavily inspired by Stardew Valley’s fishing minigame. I have to log these hours before I reach ten, because I just found out that stardance does NOT do overtime pay. Celestial Capitalist Greedily developed by @idi0cy and @Ratseer .
Quota Function Completed I’ve been on just a bit of a hiatus. The steal function has been fully completed, with a strength minigame based off both aim training and also timing. Also, I have a functioning quota system. You have certain tasks to complete before moving on to the next “level”, which definitely won’t be programmed very soon at the exponentially decaying rate that I’m moving at. I’m going to start looking at returning to daily contribution, all for those ikea sharks. You can focus the progress bar on certain tasks to complete, such as the cash requirement which is the only one right now. It fills in automatically, and has a nice texture. See the video for how it works. Thank you for viewing celestial capitalist, its not abandoned quite yet. Debatably developed by @idi0cy and @Ratseer .
Skill Point System Completed I’m back, with more consistent developing time. The skills system has been completed, and its relatively simple which is actually a nice break. Typing minigame nearly killed me. You have certain attributes that you can divest your skill points into. A lot of these are the typical DnD stats, but some of them are different. Every three minutes you gain a skill point, which might be changed for balancing. Every time you complete a minigame from the get money section, you have the chance to get a skill point. Certain skills help with certain minigames, and the more you have the more positive modifiers you get for that minigame. This is all pretty intuitive. There are some parts not yet filled out, since I don’t know at all how the scavenge code works because my friend made that and not me. Celestial Capitalist Inconsistently developed by @idi0cy and @Ratseer .
Title Screen Functionality For the longest time, the title screen has been completely non-functional. That ends today, when I do some actually easy coding and give functionality* to all of the buttons I put onto the title screen. Start game initiates a loading popup before loading the next scene. Credits gives the same text each time, with the exception of the green highlighted text, which chooses a random adjective each time the credits button is pressed. The settings are a lie. Celestial Capitalist var wordBank = ["debatably", "demonstrably", "woefully"] var msg = str(wordBank[randi_range(0, len(wordBank) - 1]) + " developed by @idi0cy and @Ratseer" print(msg)
Random Events It’s another day where I’ve actually done some coding work, and I completed the random events function of this game. Every 180 seconds a randomly selected random event occurs, and a popup shows up telling you what happened. Get robbed, find money on the floor, get robbed again, anything could happen. Each event has a different “weight” to it, which determines how likely it is to happen. In this recording, I changed the weight of losing an item to 2000, giving it a practically guaranteed chance of being picked. Event log will probably be removed, since it isn’t actually useful. Celestial Capitalist Legally developed by @Ratseer and @idi0cy .
Title Screen and a Heftier Quota I did a couple things, starting with an upgrade to the title screen system. Now, you can read a bit about your role in this game before you’re thrown into the deep end. I wrote up a quick explanation, but it might get changed in the future based on vibes. The other big change is that I added more quota requirements. Instead of just making 500 bucks, you gotta do some more work like sell items, or gain skill points. There are three right now, and I plan to keep it that way. Bug Fixes Since CC is about ready to ship any time now, we’re doing some final bug patches and implementations to the game. I fixed a counting error on the fake injury game mode, as well as a bad gameplay mechanic in the sell minigame that caused targets to spawn on top of each other. Celestial Capitalist Treacherously developed by @Ratseer and @idi0cy
Polishing and Suffering Celestial capitalist is nearing it’s completion, so over the past week or so I’ve just been polishing everything. Fixing bugs, balancing minigames, and small changes that make the game less buggy. My friend @Ratseer has been working on a couple of these mechanics, including revamping a goofy tutorial blob I wrote. Sound Effects A big change to note was the sound effects, and this is where the suffering comes in. I had to make a global script with a button signal that each button would send, which would cause a sound to play. After a big of debugging, I hooked up pressing a button to the signal, and it worked. Almost. The signal was sending, and it was telling the AudioStreamPlayer to play the sound, but for some reason it wasn’t. We testing using an input to play the sound, and that worked perfectly fine. I tried using another proxy function for no reason, and it didn’t work either. We even tried having both the input and the signal change the same variable to true, where the sound would play then it set to false again. This didn’t work. To this day, I’m not sure why nothing worked, and I’m not sure I’ll ever find out. But it was fine, since we eventually just made a new global script and for some reason everything worked totally normally after that. The image attached below depicts the setup we used for this coding conundrum. Celestial Capitalist Shrewdly developed by @Ratseer and @idi0cy .
Finished The first stage, and therefor the shipped version of Celestial Capitalist (all rights reserved) is completed! I just spent over four hours in a voice call with @Ratseer patching all the bugs and balancing all the minigames. Audio settings work, but only on the editor version. The only forum post we found with a possible answer just told us they fixed but don’t know how, so our questions were not answered. Minigames were balanced, the sort. Very, very stupid code was fixed (more than I remember writing). More importantly, they sell soy sauce by the buckets and they also have deluxe versions worth hundreds of dollars. This fact was found out after I realized we priced soy sauce at $45. All the items were subsequently revalued. Celestial Capitalist Finally (but not fully) developed by @Ratseer and @idi0cy . Thank you for your patience.
Ships:
Celestial Capitalist is a simulation game where the player simultaneously builds and ascends the corporate ladder from the bottom of the street to the self-built throne at the top of the cosmos. Beg your way from homelessness, run a lemonade stand, scam grandmas on the internet, start a cult, play union-buster tower defence, and generally just have a grand stupid time while the world slowly bends to your will. Coding is mighty stupid, and I had a lot of trouble patching all of the many bugs. With all that out of the way, I hope you enjoy Celestial Capitalist!...
|
1793004977.0964324
|
1793091377.0964324
|
|
33986
|
Turtlebrowse by @leethana | Stardance
|
leethana
|
1
|
92.7
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T14:07:25Z", "hours": 57.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Turtlebrowse, a Material 3 Expressive, Chromium (JCEF) based agentic browser that can navigate the web autonomously with you. Features Discord Rich Presence, a YouTube video downloader with yt-dlp, customizable appearence, many tools for the AI agent to navigate the wb for you, and more!", "repo": "https://github.com/ingStudiosOfficial/turtlebrowse", "demo": "https://github.com/ingStudiosOfficial/turtlebrowse/releases/latest"}]...
|
[{"post_id": 81234, "ts": "202 [{"post_id": 81234, "ts": "2026-10-20T12:09:04Z", "hours": 5.07, "text": "added userscripts scaffolding and a new easter egg :)"}, {"post_id": 79741, "ts": "2026-10-15T08:21:14Z", "hours": 0.4258, "text": "fixed windows focus bug finally. after 9 months. youre telling me the answer is a simple clear global focus owner. really man?"}, {"post_id": 79022, "ts": "2026-10-12T12:03:43Z", "hours": 5.045, "text": "added auto updating for linux appimages. i also improved the adblocker and ported a cube minigame into the browser."}, {"post_id": 78054, "ts": "2026-10-09T12:08:14Z", "hours": 12.2119, "text": "Added adblocking, zooming, new improved UI, and favicon support!"}, {"post_id": 72634, "ts": "2026-09-23T12:15:24Z", "hours": 1.9778, "text": "Added an integrated terminal using JediTerm and pty4j to the browser sidebar. Silly feature but cool and useful. First browser to do so."}, {"post_id": 72176, "ts": "2026-09-22T11:45:30Z", "hours": 1.3872, "text": "Added fullscreen mode support and fixed toolbar bad contrast when dark mode bug."}, {"post_id": 71083, "ts": "2026-09-20T08:49:42Z", "hours": 2.7953, "text": "Added OS theme detection for light/dark mode. Modified the buttons and text to follow the theme as well."}, {"post_id": 70650, "ts": "2026-09-19T14:54:50Z", "hours": 2.745, "text": "Added an update microservice using Go and migrated the update UI to the settings page."}, {"post_id": 70467, "ts": "2026-09-19T07:56:12Z", "hours": 4.0381, "text": "Added find and replace to Turtlebrowse and a new tool panel that can be swapper for AI, find and replace, and yt-dlp"}, {"post_id": 70101, "ts": "2026-09-18T13:43:43Z", "hours": 5.9531, "text": "Added browsing history, made tab switching more efficient. I struggled with fixing the grey paint on tab switch bcuz it looks like its unfixable and an issue with JCEF on Linux."}, {"post_id": 69527, "ts": "2026-09-17T07:20:24Z", "hours": 13.5119, "text": "Added Linux AppImage, YouTube video downloader, and more! Features and bugs fixed: YouTube video downloader via yt-dlp Better menu buttons Web browser registration and xdg-open handlers on Linux Frontend search suggestor AppImage build"}, {"post_id": 47273, "ts": "2026-08-15T03:00:13Z", "hours": 8.1233, "text": "Multiple new changes in Turtlebrowse v1.4.5, including: Setting to enable AI integration and model selection New Tab settings New Tab wallpaper uploading Migrated from Vue to Nuxt for turtlebrowse.ingstudios.dev for better SEO Improved performance for wallpapers (serving images directly from backend rather than creating an ObjectURL based on the returned Blob)"}, {"post_id": 43807, "ts": "2026-08-09T07:27:24Z", "hours": 2.9322, "text": "I used the DuckDuckGo autocompleter API to add autocompletions to Turtlebrowse. It uses a JavaFX Popup component with an embedded ListView. I also changed the jpackage to use a custom jlink."}, {"post_id": 41298, "ts": "2026-08-05T13:16:17Z", "hours": 3.7625, "text": "Completed the settings page! User can now choose between many different search engines including Brave Search, DuckDuckGo, Google, Startpage, Vyntr, Bing and Yahoo. Users can also choose to enable or disable the Discord Rich Presence IPC connection."}, {"post_id": 39991, "ts": "2026-08-03T10:42:48Z", "hours": 2.4553, "text": "we (finally) managed to fix macos build on turtlebrowse! turns out the issue was single process flag that had to be added because of linux and focus issues that caused a StackOverflowError on mac! try v1.2.9 now at https://turtlebrowse.ingstudios.dev !"}, {"post_id": 36840, "ts": "2026-07-29T04:55:36Z", "hours": 3.2208, "text": "Fixed some critical bugs, including: AI chat agent freezing main thread due to joining virtual thread Fixed AI chat not running because did not start the thread Fixed the search tool returning 429 due to the lack of headers"}, {"post_id": 32267, "ts": "2026-07-21T10:25:02Z", "hours": 5.6911, "text": "Fixed some bugs and added new features in the new update such as: Discord Rich Presence Profile editing Stability fixes"}, {"post_id": 27063, "ts": "2026-07-12T08:46:45Z", "hours": 11.7428, "text": "Added new features and bug fixes such as: Multi process architecture Multiple isolated user profiles Fixed the profile switcher Fixed the Ctrl + L shortcut to focus the URL bar Added the Ctrl + W shortcut to close the current tab"}]...
|
Title: Turtlebrowse by @leethana | Stardance
Devl Title: Turtlebrowse by @leethana | Stardance
Devlogs:
Added new features and bug fixes such as: Multi process architecture Multiple isolated user profiles Fixed the profile switcher Fixed the Ctrl + L shortcut to focus the URL bar Added the Ctrl + W shortcut to close the current tab
Fixed some bugs and added new features in the new update such as: Discord Rich Presence Profile editing Stability fixes
Fixed some critical bugs, including: AI chat agent freezing main thread due to joining virtual thread Fixed AI chat not running because did not start the thread Fixed the search tool returning 429 due to the lack of headers
we (finally) managed to fix macos build on turtlebrowse! turns out the issue was single process flag that had to be added because of linux and focus issues that caused a StackOverflowError on mac! try v1.2.9 now at https://turtlebrowse.ingstudios.dev !
Completed the settings page! User can now choose between many different search engines including Brave Search, DuckDuckGo, Google, Startpage, Vyntr, Bing and Yahoo. Users can also choose to enable or disable the Discord Rich Presence IPC connection.
I used the DuckDuckGo autocompleter API to add autocompletions to Turtlebrowse. It uses a JavaFX Popup component with an embedded ListView. I also changed the jpackage to use a custom jlink.
Multiple new changes in Turtlebrowse v1.4.5, including: Setting to enable AI integration and model selection New Tab settings New Tab wallpaper uploading Migrated from Vue to Nuxt for turtlebrowse.ingstudios.dev for better SEO Improved performance for wallpapers (serving images directly from backend rather than creating an ObjectURL based on the returned Blob)
Added Linux AppImage, YouTube video downloader, and more! Features and bugs fixed: YouTube video downloader via yt-dlp Better menu buttons Web browser registration and xdg-open handlers on Linux Frontend search suggestor AppImage build
Added browsing history, made tab switching more efficient. I struggled with fixing the grey paint on tab switch bcuz it looks like its unfixable and an issue with JCEF on Linux.
Added find and replace to Turtlebrowse and a new tool panel that can be swapper for AI, find and replace, and yt-dlp
Added an update microservice using Go and migrated the update UI to the settings page.
Added OS theme detection for light/dark mode. Modified the buttons and text to follow the theme as well.
Added fullscreen mode support and fixed toolbar bad contrast when dark mode bug.
Added an integrated terminal using JediTerm and pty4j to the browser sidebar. Silly feature but cool and useful. First browser to do so.
Added adblocking, zooming, new improved UI, and favicon support!
added auto updating for linux appimages. i also improved the adblocker and ported a cube minigame into the browser.
fixed windows focus bug finally. after 9 months. youre telling me the answer is a simple clear global focus owner. really man?
added userscripts scaffolding and a new easter egg :)
Ships:
I built Turtlebrowse, a Material 3 Expressive, Chromium (JCEF) based agentic browser that can navigate the web autonomously with you. Features Discord Rich Presence, a YouTube video downloader with yt-dlp, customizable appearence, many tools for the AI agent to navigate the wb for you, and more!...
|
1793004975.844571
|
1793091375.844571
|
|
35799
|
TurboNinja by @TheGeekachu | Stardance
|
TheGeekachu
|
1
|
15.0
|
161
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T01:34:28Z", "hours": 15.0, "multiplier": 10.89, "payout": 161, "blessing": "neutral", "text": "I made this. TurboNinja. Yes, I suck at naming stuff. But this game taught me more about gamedev than any game I’ve made, mostly because I didn’t use an engine. Nope. This is all pure code, written by yours truly. Thanks for being here! BTW, arrow keys to move and X to dash attack.", "repo": "https://github.com/vijayakasee-debug/TurboNinja", "demo": "https://thegeekachu.itch.io/turboninja-preview"}]...
|
[{"post_id": 73383, "ts": "202 [{"post_id": 73383, "ts": "2026-09-25T01:30:42Z", "hours": 0.6725, "text": "I’m done. I’m finally done. The game is now on Itch.io and available to play! THE GAME DOES NOT WORK ON SAFARI BECAUSE APPLE IS STUPID. I just discovered this after the ship, so I came back to edit. Please play on Chrome or Firefox."}, {"post_id": 72905, "ts": "2026-09-24T00:16:24Z", "hours": 0.6064, "text": "IM DONE!!!! All that’s left is making an exec and putting it on Itch.io!!!! THE GRAPHICS ARE AMAZING!!!"}, {"post_id": 72893, "ts": "2026-09-23T23:40:35Z", "hours": 0.3989, "text": "I’m currently working on silhouettes for the game and all characters, but I’m having just a teensy bit of layering issues… Only the silhouettes are visible and literally nothing else…"}, {"post_id": 72377, "ts": "2026-09-22T19:48:13Z", "hours": 0.7825, "text": "SO, I added level transitions. You can now beat a level and go to the next one. I also just realised that the levels I’ve been designing are insanely hard, so good luck playing them all the way through!"}, {"post_id": 71984, "ts": "2026-09-21T22:13:01Z", "hours": 2.9931, "text": "AAaaaaahhhh!!! I finally implemented a particle system for sparks that uses advanced trigonometry, and I added enemy and player death, the animations for which are completely written without any assets using only trigonometry, pygame.polygon() and the math module. PAINNN!!!"}, {"post_id": 70824, "ts": "2026-09-19T20:39:05Z", "hours": 0.6794, "text": "I added a Dash mechanic. After much pain in the arse, I realised that the reason he was shooting leaves when dashing was I forgot to import the Ninja dash effect, so VS Code for some reason decided to import leaves instead. He no longer spews leaves when dashing, which I consider a win!"}, {"post_id": 70408, "ts": "2026-09-19T04:04:20Z", "hours": 0.4569, "text": "He no longer can jump to the high heavens to meet Jesus. He gets one jump, and I’ve added some really nice walljumps, yippee!"}, {"post_id": 70402, "ts": "2026-09-19T03:29:51Z", "hours": 1.0106, "text": "So, I really didn’t need to do this, but the tutorial I’m following for the base functionality because it comes with the assets I’m using said I can add a particle system for leaves, so I thought, why not? The results look beautiful and I’m glad I did it. Also, check out the new levels, made by yours truly with the new level editor!"}, {"post_id": 66847, "ts": "2026-09-12T19:25:12Z", "hours": 0.5358, "text": "After much pain and annoyance, I got fed up with coding my own level editor, and got a pre-made Python file for one, then modified it to the controls I like, which took longer than I appreciate. Unfortunately, some editing work was done on a different computer, so Hackatime didn’t track it. Not much though, so no biggie."}, {"post_id": 40830, "ts": "2026-08-04T16:27:24Z", "hours": 1.3808, "text": "I added animations. I realised that you wouldn’t be able to tell there were animations if I just took a photo of the idle one, so I locked in and took a screenshot while he was in midair, in the jumping animation. Next step is gonna be cooked. I have to write a level editor from scratch!"}, {"post_id": 37756, "ts": "2026-07-30T17:47:05Z", "hours": 0.8744, "text": "I added clouds. Exciting, I know. But this took a lot more work than I care to admit. At first the clouds were going diagonal. I spent half an hour fixing it, and succeeded in making them go the other way, still diagonal. Then I realised that in my endless wisdom, I’d updated the y-axis with the values meant for the x-axis. Now it’s fixed."}, {"post_id": 31022, "ts": "2026-07-19T02:35:16Z", "hours": 0.5706, "text": "I added a camera that follows the player, so you can watch him infinitely jump across the heavens. Bro’s on his god tier loadout."}, {"post_id": 29739, "ts": "2026-07-16T20:40:52Z", "hours": 1.5772, "text": "Added collisions and jumping so he doesn’t fall endlessly. I have the opposite problem now. He isn’t restricted to double jumps. Either my ninja knows how to fly or air is solid. Pick one, beats me!"}, {"post_id": 29196, "ts": "2026-07-15T22:41:02Z", "hours": 2.2247, "text": "Added gravity, tilemaps, and a ninja. You can’t see him in the photo because I’v added gravity, but, er, not collisions as of yet, so he’s infinitely falling through space, poor guy."}]...
|
Title: TurboNinja by @TheGeekachu | Stardance
Dev Title: TurboNinja by @TheGeekachu | Stardance
Devlogs:
Added gravity, tilemaps, and a ninja. You can’t see him in the photo because I’v added gravity, but, er, not collisions as of yet, so he’s infinitely falling through space, poor guy.
Added collisions and jumping so he doesn’t fall endlessly. I have the opposite problem now. He isn’t restricted to double jumps. Either my ninja knows how to fly or air is solid. Pick one, beats me!
I added a camera that follows the player, so you can watch him infinitely jump across the heavens. Bro’s on his god tier loadout.
I added clouds. Exciting, I know. But this took a lot more work than I care to admit. At first the clouds were going diagonal. I spent half an hour fixing it, and succeeded in making them go the other way, still diagonal. Then I realised that in my endless wisdom, I’d updated the y-axis with the values meant for the x-axis. Now it’s fixed.
I added animations. I realised that you wouldn’t be able to tell there were animations if I just took a photo of the idle one, so I locked in and took a screenshot while he was in midair, in the jumping animation. Next step is gonna be cooked. I have to write a level editor from scratch!
After much pain and annoyance, I got fed up with coding my own level editor, and got a pre-made Python file for one, then modified it to the controls I like, which took longer than I appreciate. Unfortunately, some editing work was done on a different computer, so Hackatime didn’t track it. Not much though, so no biggie.
So, I really didn’t need to do this, but the tutorial I’m following for the base functionality because it comes with the assets I’m using said I can add a particle system for leaves, so I thought, why not? The results look beautiful and I’m glad I did it. Also, check out the new levels, made by yours truly with the new level editor!
He no longer can jump to the high heavens to meet Jesus. He gets one jump, and I’ve added some really nice walljumps, yippee!
I added a Dash mechanic. After much pain in the arse, I realised that the reason he was shooting leaves when dashing was I forgot to import the Ninja dash effect, so VS Code for some reason decided to import leaves instead. He no longer spews leaves when dashing, which I consider a win!
AAaaaaahhhh!!! I finally implemented a particle system for sparks that uses advanced trigonometry, and I added enemy and player death, the animations for which are completely written without any assets using only trigonometry, pygame.polygon() and the math module. PAINNN!!!
SO, I added level transitions. You can now beat a level and go to the next one. I also just realised that the levels I’ve been designing are insanely hard, so good luck playing them all the way through!
I’m currently working on silhouettes for the game and all characters, but I’m having just a teensy bit of layering issues… Only the silhouettes are visible and literally nothing else…
IM DONE!!!! All that’s left is making an exec and putting it on Itch.io!!!! THE GRAPHICS ARE AMAZING!!!
I’m done. I’m finally done. The game is now on Itch.io and available to play! THE GAME DOES NOT WORK ON SAFARI BECAUSE APPLE IS STUPID. I just discovered this after the ship, so I came back to edit. Please play on Chrome or Firefox.
Ships:
I made this. TurboNinja. Yes, I suck at naming stuff. But this game taught me more about gamedev than any game I’ve made, mostly because I didn’t use an engine. Nope. This is all pure code, written by yours truly. Thanks for being here! BTW, arrow keys to move and X to dash attack....
|
1793004974.6227162
|
1793091374.6227162
|
|
34034
|
EarthX by @alidoruk | Stardance
|
alidoruk
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T18:58:18Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "EarthX is a 3D Earth visualization web app powered by CesiumJS and integrated with Gemini AI. It allows users to explore satellite imagery and interact with AI-driven geographic insights. The main challenge was integrating Cesium with AI APIs securely and handling spatial data rendering efficiently. I’m proud of creating a seamless 3D globe experience with real-time AI context", "repo": "https://github.com/alidoruk320-coder/EarthX", "demo": "https://transcendent-truffle-a83c47.netlify.app"}]...
|
[{"post_id": 60103, "ts": "202 [{"post_id": 60103, "ts": "2026-09-02T08:06:04Z", "hours": 1.0986, "text": "Smart Earth"}, {"post_id": 28808, "ts": "2026-07-15T09:40:30Z", "hours": 0.6208, "text": "I’m working on a global warming Earth app"}]...
|
Title: EarthX by @alidoruk | Stardance
Devlogs:
I Title: EarthX by @alidoruk | Stardance
Devlogs:
I’m working on a global warming Earth app
Smart Earth
Ships:
EarthX is a 3D Earth visualization web app powered by CesiumJS and integrated with Gemini AI. It allows users to explore satellite imagery and interact with AI-driven geographic insights. The main challenge was integrating Cesium with AI APIs securely and handling spatial data rendering efficiently. I’m proud of creating a seamless 3D globe experience with real-time AI context...
|
1793004973.737422
|
1793091373.737422
|
|
57394
|
BUMBELBEE by @asamarth875 | Stardance
|
asamarth875
|
1
|
2.76
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T11:46:36Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I MADE A CUSTOM TAB PAGE THAT IS BASED ON BUMBELBEE AND SPACE WHILE KEEPING THE USERPAGE LOOK LIKE MAC OS BUT COULD’NT I MAKE THE TIME LOOK THE MAC OS BUT WHATEVER THE UI LOOKS GOOD. WHEN YOU VISIT THE WEBPAGE, PLEASE OPEN THE VIDEO STICKER AND WATCH THE FULL VIDEO WITH SOUND TO ENJOY THE VIBES", "repo": "https://github.com/samarth875-netizen/BUMBELBEE", "demo": "https://bumbelbee.vercel.app/"}]...
|
[{"post_id": 69101, "ts": "202 [{"post_id": 69101, "ts": "2026-09-16T11:31:19Z", "hours": 0.7606, "text": "I CHANGED SOME CODE FROM THE STYLE.CSS AND README"}, {"post_id": 68596, "ts": "2026-09-15T11:43:12Z", "hours": 0.7881, "text": "JUST ADD THE PICTURE FOR NEW VIA APIKEYs AND LIVE LOCATION TRACKING FOR WEATHER AND SOME MORE REFINED CODE"}, {"post_id": 66888, "ts": "2026-09-12T20:45:37Z", "hours": 0.7142, "text": "added this news section so that we all shall know goverment’ (great and holy) decisions"}, {"post_id": 66850, "ts": "2026-09-12T19:34:19Z", "hours": 0.5164, "text": "i am just messing with my design and my sleep schedule(I HAVE AN EXAM TOMMROW!!!). LOVE MEEEEEEEE. I DON’T WANNA FIT THE VIDEO IN THE FRAME(CRYING EMOJI)"}]...
|
Title: BUMBELBEE by @asamarth875 | Stardance
Devl Title: BUMBELBEE by @asamarth875 | Stardance
Devlogs:
i am just messing with my design and my sleep schedule(I HAVE AN EXAM TOMMROW!!!). LOVE MEEEEEEEE. I DON’T WANNA FIT THE VIDEO IN THE FRAME(CRYING EMOJI)
added this news section so that we all shall know goverment’ (great and holy) decisions
JUST ADD THE PICTURE FOR NEW VIA APIKEYs AND LIVE LOCATION TRACKING FOR WEATHER AND SOME MORE REFINED CODE
I CHANGED SOME CODE FROM THE STYLE.CSS AND README
Ships:
I MADE A CUSTOM TAB PAGE THAT IS BASED ON BUMBELBEE AND SPACE WHILE KEEPING THE USERPAGE LOOK LIKE MAC OS BUT COULD’NT I MAKE THE TIME LOOK THE MAC OS BUT WHATEVER THE UI LOOKS GOOD. WHEN YOU VISIT THE WEBPAGE, PLEASE OPEN THE VIDEO STICKER AND WATCH THE FULL VIDEO WITH SOUND TO ENJOY THE VIBES...
|
1793004972.5795693
|
1793091372.5795693
|
|
57363
|
First Website Attempt! by @Zoezzz | Stardance
|
Zoezzz
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T02:35:37Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello there! This is my first attempt at making a website :D It was rather stressful, but I was able to gain a general understanding of HTML and CSS’s components. The challenges consisted mostly in designing the page and getting to know all the elements that could help me to create this site. :D", "repo": "https://github.com/Ziroislazy/myzirosite", "demo": "https://ziroislazy.github.io/myzirosite/"}]...
|
[{"post_id": 69906, "ts": "202 [{"post_id": 69906, "ts": "2026-09-18T01:27:24Z", "hours": 3.6042, "text": "Largest update!! Hello! It’s been some hours since the last update but I guess this is the final one! The page still uses basic HTML and CSS elements but I tried to use other things to make it a little bit more lively. Changed background: I’ve spent some time searching for a new quality background. The hardest part was adjusting it. Added “Back to the Top” bottom: Here I tried to make something different and dynamic for the page. Added more images for every section -Fixed issues about the keyframes: I’ve discovered some transitions for the page so I put one simple fade in and tried to put it in every section."}, {"post_id": 68950, "ts": "2026-09-16T03:09:01Z", "hours": 0.7094, "text": "Some thing I don’t know how to describe this, but I just wanted to draw something fast and simple so I can put it on my page El bepi quedo medio raro w"}, {"post_id": 68451, "ts": "2026-09-15T04:27:35Z", "hours": 1.2078, "text": "Nothing new, just using a lot of red variations and trying some tools. (The background is from binding of isaac and is not mine ) Me esta quedando medio raro pero bueno :v"}, {"post_id": 68355, "ts": "2026-09-15T00:29:09Z", "hours": 0.845, "text": "Just starting! I’ve recently discovered Hack Club! It’s pretty hard when you learn new concepts while reading everything in another language that is not your native one (Spanish). :,D"}]...
|
Title: First Website Attempt! by @Zoezzz | Stardan Title: First Website Attempt! by @Zoezzz | Stardance
Devlogs:
Just starting! I’ve recently discovered Hack Club! It’s pretty hard when you learn new concepts while reading everything in another language that is not your native one (Spanish). :,D
Nothing new, just using a lot of red variations and trying some tools. (The background is from binding of isaac and is not mine ) Me esta quedando medio raro pero bueno :v
Some thing I don’t know how to describe this, but I just wanted to draw something fast and simple so I can put it on my page El bepi quedo medio raro w
Largest update!! Hello! It’s been some hours since the last update but I guess this is the final one! The page still uses basic HTML and CSS elements but I tried to use other things to make it a little bit more lively. Changed background: I’ve spent some time searching for a new quality background. The hardest part was adjusting it. Added “Back to the Top” bottom: Here I tried to make something different and dynamic for the page. Added more images for every section -Fixed issues about the keyframes: I’ve discovered some transitions for the page so I put one simple fade in and tried to put it in every section.
Ships:
Hello there! This is my first attempt at making a website :D It was rather stressful, but I was able to gain a general understanding of HTML and CSS’s components. The challenges consisted mostly in designing the page and getting to know all the elements that could help me to create this site. :D...
|
1793004969.9313772
|
1793091369.9313772
|
|
57357
|
Halt! Input by @BoltyPlays | Stardance
|
BoltyPlays
|
1
|
5.0
|
40
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T05:17:26Z", "hours": 5.0, "multiplier": 7.4, "payout": 40, "blessing": "neutral", "text": "Halt! Input is a toolbox containing many features that help accomplish a certain task, or do something silly. The features so far: Keyboard blocking Mouse lock The above two is the main reason this project exists. Imagine trying to clean your keyboard/mouse and then random things happen in your computer because your keyboard is submitting random strings and your mouse is just registering random clicks (imagine this on Hyprland… yikes) Updating winget packages Flush DNS Clear clipboard Battery Report These four features are here; many people probably don’t even know these features existed. The app helps make them accessible and convenient to execute. chkdsk dism sfc Empty recycle bin These last four are for storage-related issues. Too much storage? Empty recycle bin in one click. SSD/HDD being funky? Run chkdsk, dism to fix them. Windows being stupider than usual? sfc can fix that.", "repo": "https://github.com/BoltyPlays/halt_input", "demo": "https://github.com/BoltyPlays/halt_input/releases/tag/v1.0.0"}]...
|
[{"post_id": 70423, "ts": "202 [{"post_id": 70423, "ts": "2026-09-19T05:00:01Z", "hours": 0.6978, "text": "Polished the code, and had to remove “Restart Windows Explorer” due to privilege conflicts. Updated the README.md. Time to ship! enjoy this parrot"}, {"post_id": 69501, "ts": "2026-09-17T06:01:55Z", "hours": 0.8792, "text": "YIPPIE it’s all done! now just a bit of code clean-up before ship"}, {"post_id": 67134, "ts": "2026-09-13T06:12:59Z", "hours": 0.2861, "text": "One new feature, two new fun buttons Battery Report you generate a battery report if you have one Parrot spawns a terminal with a dancing parrot Mystery spooky…"}, {"post_id": 66363, "ts": "2026-09-12T04:56:30Z", "hours": 0.64, "text": "Three new features: Update Winget packages: no more typing “winget update –all” Flush DNS: sometimes fixes website errors if the cache is outdated Clear clipboard: wipe your clipboard history of screenshots containing deleted Discord messages"}, {"post_id": 65202, "ts": "2026-09-10T05:17:19Z", "hours": 0.4144, "text": "New feature: Restarting Windows Explorer, using subprocess module"}, {"post_id": 64031, "ts": "2026-09-08T04:43:15Z", "hours": 1.3253, "text": "Made a recycling bin feature, to clear out some clutter using winshell. Wanted to add a afk feature, but couldn’t wrap my head around threading. Also managed to fix the mouse locker, and switched from tkinter to CTkinter."}, {"post_id": 61294, "ts": "2026-09-04T04:20:49Z", "hours": 0.6342, "text": "New feature: mouse no longer moves. You can still unlock it with click, going to try to remove that (pls help"}, {"post_id": 60649, "ts": "2026-09-03T04:36:34Z", "hours": 0.5239, "text": "Beginning what I think will become a toolbox of maintenance tools. First one: keyboard blocking. Did some research on it, relearnt functions and modules, and discovered tkinter. Yay!"}]...
|
Title: Halt! Input by @BoltyPlays | Stardance
Dev Title: Halt! Input by @BoltyPlays | Stardance
Devlogs:
Beginning what I think will become a toolbox of maintenance tools. First one: keyboard blocking. Did some research on it, relearnt functions and modules, and discovered tkinter. Yay!
New feature: mouse no longer moves. You can still unlock it with click, going to try to remove that (pls help
Made a recycling bin feature, to clear out some clutter using winshell. Wanted to add a afk feature, but couldn’t wrap my head around threading. Also managed to fix the mouse locker, and switched from tkinter to CTkinter.
New feature: Restarting Windows Explorer, using subprocess module
Three new features: Update Winget packages: no more typing “winget update –all” Flush DNS: sometimes fixes website errors if the cache is outdated Clear clipboard: wipe your clipboard history of screenshots containing deleted Discord messages
One new feature, two new fun buttons Battery Report you generate a battery report if you have one Parrot spawns a terminal with a dancing parrot Mystery spooky…
YIPPIE it’s all done! now just a bit of code clean-up before ship
Polished the code, and had to remove “Restart Windows Explorer” due to privilege conflicts. Updated the README.md. Time to ship! enjoy this parrot
Ships:
Halt! Input is a toolbox containing many features that help accomplish a certain task, or do something silly. The features so far: Keyboard blocking Mouse lock The above two is the main reason this project exists. Imagine trying to clean your keyboard/mouse and then random things happen in your computer because your keyboard is submitting random strings and your mouse is just registering random clicks (imagine this on Hyprland… yikes) Updating winget packages Flush DNS Clear clipboard Battery Report These four features are here; many people probably don’t even know these features existed. The app helps make them accessible and convenient to execute. chkdsk dism sfc Empty recycle bin These last four are for storage-related issues. Too much storage? Empty recycle bin in one click. SSD/HDD being funky? Run chkdsk, dism to fix them. Windows being stupider than usual? sfc can fix that....
|
1793004968.753679
|
1793091368.753679
|
|
939
|
LUNAR-HAL by @INiNiDS | Stardance
|
INiNiDS
|
1
|
78.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T18:18:07Z", "hours": 78.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finally shipping this! It honestly took forever and I burned out twice along the way, but I pushed through to get it over the finish line. Try out the live demo or grab the local build. Heads up: the web demo might feel super sluggish since the models are running on Heroku, so expect some delay. Also, all demo sessions share the same persistent worlds! Have Fun!", "repo": "https://github.com/ininids/lunar-hal", "demo": "https://lnhal.ininids.in.rs"}]...
|
[{"post_id": 75310, "ts": "202 [{"post_id": 75310, "ts": "2026-09-29T18:16:50Z", "hours": 5.1756, "text": "Alright, final devlog! Went all-in on bug squashing for this one—crushed a ton of issues, finally got CI completely green and stable, cleared out all the CodeQL alerts, and pushed the demo build. So yeah… I’m officially shipping now!"}, {"post_id": 68044, "ts": "2026-09-14T12:49:45Z", "hours": 12.1378, "text": "DevLog #9: Checkpoint Hardening & Stage 5 GNN Kinematics Convergence * This session was focused on a deep technical milestone: diagnosing a critical engine staging bug in LUNAR-HAL and driving the Stellar GNN-kinematics pipeline through the completion of Stage 5. 1. 🛠️ Staging Architecture & Atomic Checkpoint RCA (Rust) Diagnosed and resolved a critical issue in the --resume workflow where staging logic triggered a self-copy ( src == dst ), truncating output checkpoint weights upon restart. Implemented robust canonical path checking ( std::fs: :canonicalize ) to ensure fully atomic weight persistence across interruption signals ( SIGINT / SIGTERM ). Hardened checkpoint state serialization, eliminating filesystem race conditions during runtime hot-reloads. 2. Stage 5: GNN-Kinematics Training Executed the 200-epoch training run for the galactic velocity prediction model ($v_x, v_y, v_z$ derived from positions + photometry). Validated host telemetry: stable VRAM footprint on local NVIDIA GeForce RTX 5070 (~3.1 GB / 12 GB allocated) with optimal throughput (~30s / epoch). 3. Loss & Convergence Verification Train Loss: Decreased to ~0.7660 . Validation Loss: Reached a clean, stable quasi-stationary plateau at ~0.7694 . Physics Constraint: Invariant equilibrium maintained throughout ( phys_loss ≈ 0.7700 ), demonstrating high generalization without overfitting."}, {"post_id": 45625, "ts": "2026-08-12T07:29:27Z", "hours": 3.5756, "text": "* 🚀 DevLog #8: The Great Pivot — From Game to Technical Stellar Platform * The mission has changed. Following the deployment of the WebOS in DevLog #7, we realized that the “game” mechanics were holding back the true potential of the engine. This update marks our transition from a simulation with combat elements to a high-fidelity technical platform for stellar generation, research, and visualization. We have officially executed the transition plan, gutting the “game” and hardening the “platform.” The Great Purge: lunar-stellar-core The era of lunar-game-backend is over. We have performed a git mv on the heart of the engine to establish a strict architectural boundary. Logic Extraction: We have completely removed all traces of Enemies, Projectiles, HP, Attacks, and the “Attention Map.” The simulation no longer cares if you are “watching” a star; it only cares about the physics. The Core: The new lunar-stellar-core crate is now framework-agnostic. It handles only the technical state: camera math, sector caching, and the pipeline results. Terminology Shift: “World” is now “StarScene.” It’s no longer a level; it’s a coordinate-stable dataset. Unified Multi-Platform Deployment We’ve consolidated our frontend logic. Instead of separate builds, we now have a single Managed Frontend Service with a unified builder. Target Switching: Through the lns utility, we can now hot-swap between web , desktop , and android targets. Android Integration: The platform now supports Android NDK/SDK. We’ve replaced mouse-only logic with Pointer Events , enabling touch-based pan/zoom/selection. Runtime Config: The backend now dynamically injects the correct URL (handling the 10.0.2.2 emulator trap) based on the active platform. Sandbox 2.0: The Admin Overlay The Sandbox is no longer a separate copy of the simulation. It has evolved into a Meta-Management Shell for the real frontend. The Iframe Bridge: The Sandbox now embeds the live lunar-frontend via an iframe. Communication Protocol: We implemented a versioned postMessage protocol in lunar-structures . The Sandbox sends Admin Commands (CreateStar, SetCamera) and receives Scene Events (StarSelected). Permanent SIREN Gallery & Drag-and-Drop We’ve moved from “latest renders” to a persistent filesystem-based catalog . Atomic Persistence: Stars created via AI or manual tools are now saved as GalleryStar DTOs. Each star gets its own directory with metadata, SIREN textures, and thumbnails. True Drag-and-Drop: We’ve implemented a custom drag-session in the WebOS. You can now drag a star from the Gallery into the Sandbox to insert it into the live scene, and vice versa. Found Issues The transition hasn’t been without its casualties. Two “boss-level” bugs have appeared during the implementation of the new WebOS logic: Sandbox Handshake & OS Crash: Currently, the Sandbox is failing to “see” the Frontend service through the iframe bridge. Even worse, attempting to initialize the connection often results in a total OS-level hang , crashing the Testbench entirely. We are currently investigating if this is a circular dependency in the backend or a massive memory leak during the handshake. The “Minimize” Trap: While we implemented WindowLifecycle to keep applications alive in the background using display: none , we hit a critical logic error. Once an app is minimized, the “un-minimize” (maximize) function fails to trigger . The app remains in a state of digital limbo, perfectly preserved but completely inaccessible."}, {"post_id": 41159, "ts": "2026-08-05T06:03:25Z", "hours": 3.4289, "text": "DevLog #7: WebOS Evolution, The Black Room, and “lns” Orchestration This update marks a fundamental shift in how we interact with the simulation ecosystem. We have moved away from static dashboards to a fully dynamic WebOS environment within lunar-testbench , alongside a complete overhaul of our launching utility. Lunar-Testbench: The WebOS Overhaul The Testbench has been reimagined as a “Black Room” —a dark, immersive workspace where everything begins with three spotlights. The Spotlight Mechanic The interface features three dormant flashlights. Service Ignition: Clicking a spotlight “turns it on” and launches its corresponding backend service. Dynamic App Injection: Once a service is active, the specific applications depending on that service manifest below the spotlight. The Sandbox: Our most complex tool, the Sandbox , now requires all three services to be active simultaneously, setting the stage for deep-system integration in future updates. The Dock To manage the chaos of multiple windows, we’ve implemented a Bottom Dock . Every running application is pinned here, allowing for seamless switching between training, validation, and live simulation environments. Orchestration: From “lunar-start” to “lns” The way we boot the engine has been streamlined. We’ve stripped the heavy lifting out of the primary entry point to create a more modular startup flow. lns Utility: lunar-start has been evolved into lns —a lightweight micro-utility. Its sole purpose is to initialize the Testbench and trigger the backend. lunar-start-backend: This is a new, dedicated service that acts as the primary launcher. It monitors and manages the lifecycle of all other applications within the suite, ensuring that when you click a service in the UI, the backend is ready to deploy it."}, {"post_id": 31372, "ts": "2026-07-19T18:15:40Z", "hours": 8.1406, "text": "🚀 DevLog #6: Hyper-Optimization, Core Threat Integration, and New Swarm Archetypes ⚙️ Optimization: The Fight for Nanoseconds With the transition to a full 3D environment and manual entity manipulation, the load on the CPU and memory bus grew exponentially. So we tried to optimize as much as possible. 👾 Integration: Enemies in the Core Loop Previously, hostile entities existed only as isolated test units (testbench). Now, enemy fleets are officially hardcoded into the base simulation loop. Autonomous Background AI: Enemy behavior is no longer bound to the player’s viewport. Strategic fleets live their own lives in the background—conquering systems and harvesting resources—even if you are editing a galaxy millions of light-years away. Dynamic Pathfinding: The toughest challenge was stabilizing AI during manual manipulation. If you grab a planet and toss it in front of an enemy dreadnought, the pathfinding algorithm instantly recalculates a safe bypass vector based on the newly altered gravitational signature of that sector. 🛸 New Threat Archetypes: The Utility-Driven AI Each enemy now operates on a Utility AI system, calculating its next move based on distance, health ratios, and—most importantly—the Player’s Attention . We have categorized the hostile forces into six distinct tactical archetypes: Archetype Role Logic Highlight The Tank Heavy Juggernaut Berserk Logic: Its utility increases as its health drops. It becomes more aggressive the harder you try to kill it. The Thief Rapid Raider Attention-Aware: Only strikes stars when the player is looking away ( t_neglect > 15.0 ). High speed (20.0) allows for quick hit-and-run ops. The Invisible Stealth Saboteur Adaptive Camouflage: Maintains $0.05$ visibility. Only reveals itself when the player’s cursor “scans” over it or during brief power-grid flickers. The Scavenger Opportunistic Parasite Pack Mentality: Heavily prioritizes stars that are already under attack by other units to “steal” the resources. The Backstabber Chaos Agent Infighting: If it detects a fellow enemy with $<35 % $ HP, it will betray its own kind to secure the kill for itself. The Coward Skittish Scout Self-Preservation: Immediately generates an escape vector if the player’s “God-Hand” (cursor) gets too close or a Tank enters its vicinity. 🧠 The “Attention Map” Integration The most advanced part of this integration is how these entities interact with the Lunar-Frontend . We don’t just track positions; we track the player’s focus: d_mouse Factor: Enemies calculate their distance to your cursor. Thieves and Cowards use this to decide when to flee or stay in the shadows. t_neglect Metric: The simulation tracks how long it’s been since you last interacted with a specific star. The longer a sector is neglected, the higher the “utility” for an invasion force to move in. ⚔️ Combat Mechanics: Physical Projectiles vs. Direct Damage To keep the simulation performant while maintaining visual fidelity: Star Assaults: Enemies fire physical Projectile entities. Each has its own speed, radius, and damage value, allowing players to potentially intercept them or warp them with gravitational anomalies. Internal Infighting: When enemies like the Backstabber turn on their allies, the damage is processed via an optimized EnemyDamage buffer, bypassing heavy projectile physics for internal “swarm” calculations. Note: ISP issues and local routing to the Hack Club site still make uploading updates feel like sending signals through a dense asteroid belt."}, {"post_id": 12966, "ts": "2026-06-21T06:54:53Z", "hours": 18.7053, "text": "DevLog #5: God-Mode Editor, Crate Separation, and Stealth Features Following the development of “Mission Control,” the project has transitioned into a full 3D environment. The cosmos is no longer just being generated; it can now be manipulated in real-time. Project “Lunar-Hal”: God-Mode Editor The new 3D editor allows for direct manipulation of the simulation rather than just monitoring metrics through the TestBench. Free-Fly Mode: A fully functional in-engine 3D editor. Users can toggle Creator Mode to navigate through stellar clusters at high speeds. Real-Time Manipulation: Selecting a star allows for immediate overrides of mass, spectral class, and luminosity. The SIREN engine recalculates astrophysics on the fly, updating the frontend visuals without performance drops. Architecture: The Great Crate Separation To manage codebase complexity, the backend has undergone a significant architectural refactor. All core gameplay logic has been isolated into a dedicated, independent Rust crate. Modular Design: Rendering overhead and editor scaffolding are now separated from pure game rules, physics, and state machines. Improved Compilation: Logic changes no longer require recompiling the entire project. Crates now compile in isolation, allowing for faster iteration and cleaner incremental builds. Inventory System and Stealth Mechanics Work has begun on a functional inventory system designed to hold “Creator Tools.” This system moves beyond traditional item management into world manipulation. Drag-and-Drop Reality: Mechanics are being implemented to allow users to grab celestial bodies directly from the viewport to rearrange solar systems manually. Entity Interaction: These telekinetic mechanics are also being tested on combat entities. This allows for manual interaction with hostile fleets, such as testing physics logic by moving units into gravitational anomalies like black hole event horizons. Lunar-Frontend: Enhanced UI The UI has been updated to accommodate the new editor and inventory capabilities: Creator Widgets: The modular sidebar now includes inspection panels for editor controls and inventory management. Optimized Streaming: The frontend provides a seamless bridge between TestBench metrics and the heavy 3D viewport, maintaining high performance during active manipulation. Roadmap The next phase of development will focus on: Running heavy simulations of billions of stars in background threads while maintaining editor stability. Stabilizing enemy pathfinding during manual entity manipulation. Preparing the architecture for multiplayer synchronization. Note: DevLog updates may be sporadic due to local ISP and network routing issues affecting access to the Hack Club site. Space logistics are complex, but terrestrial routing remains a significant challenge."}, {"post_id": 7982, "ts": "2026-06-13T09:54:00Z", "hours": 10.8433, "text": "🚀 DevLog #4: The God Mode Dashboard & Stellar Genesis! If Day 3 was about plugging the matrix straight into the engine’s spine, today we built the ultimate command center around it. No more chaos, no more manual config-wrangling via terminal. We just deployed a full-scale infrastructure for total cosmic control! Here is the tactical breakdown of what just dropped in the engineering bay: ⚙️ Project “TestBench”: Total Control & Validation We got tired of guessing what’s actually happening inside our AI’s digital brains, so we built TestBench—the ultimate proving ground for complete testing, training, and validation of every single AI model in the project. Backend Fusion: The whole thing is hardwired straight into our reactive Rust backend. God-Tier UX: Now, benchmarking a dataset, checking loss curves, validating weights, or fine-tuning a model is a matter of a few clicks without ever leaving the ecosystem. Real-time telemetry monitoring. Honestly? It’s clean, it’s seamless, and it just works. 🌟 Meet SIREN: The Star Architect Our AI fleet just got a massive reinforcement. Say hello to our newest model—SIREN. Her sole, monumental objective is the procedural generation of the stars themselves. No more random glowing spheres. SIREN calculates physics, luminosity, spectral classes, and spawns unique, structured astrophysical objects. The cosmos isn’t just procedural anymore; it’s beautifully complex and scientifically backed. 🎛️ Lunar-Frontend: The Creator’s Control Panel A cosmic backend deserves a killer visual interface. We gave lunar-frontend a massive upgrade to make managing this madness an absolute breeze: The Sidebar: We coded a modular, highly responsive sidebar. All your tools, model toggles, and data streams are now neatly organized and right at your fingertips. Next Stop: Unleashing SIREN onto the global map, syncing its generation directly with TestBench metrics, and forcing the frontend to smoothly render billions of new star systems without dropping a single frame! 🚀"}, {"post_id": 4775, "ts": "2026-06-08T08:22:17Z", "hours": 9.8683, "text": "🚀 DevLog #3: The Neural Awakening & Backend Fusion! 🪐 Day 2 was chaos, but Day 3? We just plugged the matrix straight into the spine of the engine! 🧠✨ Remember that “confused toaster” from the last devlog? Yeah, well, it just evolved into a full-blown stellar intellect. The pipeline is locked, loaded, and absolutely cooking. Here is the tactical breakdown of what just dropped in the engineering bay: 🌌 The Big Brain Upgrade (Model & Data): We didn’t just tweak the model; we completely rebuilt its reality. We scraped, cleaned, and injected a massive new dataset, pushing our local parameter model to the absolute limit. No more hallucinating dead stars — lnai now actually understands the cosmic data it’s processing. 🔗 The Great Backend Fusion: The neural net is officially out of the sandbox and merged with the core Rust backend! We wired the prediction pipelines directly into our engine architecture. It’s fast, it’s memory-safe, and it operates with zero friction. Data is flowing from the neural layers to the backend loops in real-time. 🏎️ Zero Meltdown, Pure Performance: Training and running local models usually turns your rig into a literal space heater, but we optimized the living hell out of the inference pipelines. The memory footprint is clean, the tokens are flying, and your GPU can actually breathe while rendering the cosmos. The foundation is solid, the telemetry is clean, and the local universe finally has a brain that doesn’t just work — it thinks . Next stop: weaponizing this intelligence for procedural generation and forcing that flight physics engine to respect the laws of space! 🛰️🔥"}, {"post_id": 1972, "ts": "2026-06-04T07:13:17Z", "hours": 2.9592, "text": "🚀 DevLog #2: Neural Overdrive & Brainstorming LUNAR-AI! 🪐 Day 1 is in the books, and we are officially cooking! We’re pushing the boundaries of our infinite, local-first universe, and things are getting wild in the engineering bay. Here is the lowdown on what just dropped: 🧠 Project LUNAR-AI (lnai) is ALIVE: We officially laid down the first lines of code for our core AI driver! The mission? Giving your local universe a brain. No external API calls, no corporate clouds—just raw, local intelligence. 📉 Reality Check (The Results): Okay, look… right now, the results are, let’s say, highly questionable . It’s giving “confused toaster” more than “galactic supercomputer,” but hey, Rome wasn’t built in a day, and an infinite universe needs a little chaos first. 🛠️ Absolute Grind Mode: The output might be mid right now, but the workflow is at an all-time high. We are working 25/7, refactoring the neural pipelines, and optimizing the backend to make sure this local LLM integration doesn’t melt your PC. The brain is wired, the bugs are being hunted, and the grind never stops. Next stop: making lnai actually smart and finally getting that flight physics engine to behave! 🛰️✨"}, {"post_id": 717, "ts": "2026-06-02T09:35:55Z", "hours": 3.0953, "text": "🚀 DevLog #1: Ignition & Cosmic Foundations for LUNAR-HAL! 🪐 Day 0 is officially complete. We are building an infinite, AI-driven space sandbox powered completely by your local hardware, and the base is locked down: 🌌 Mission Control: Prepared the repository, set up community standards, and went full open-source under the AGPL v3 license to keep our local engine free forever. 💻 Frontend Setup: Fired up the project using Rust + Dioxus! Built the core architecture and launched the first three foundational viewports: Home, About, and Contact. 🛠️ The Manifesto: Designed a killer glassmorphic UI layout and integrated our “Broke-Tech” framework—proudly rendering procedural worlds directly on your GPU. Zero server costs, zero latency, infinite universe. Next stop: implementing the flight physics and interactive star canvas! 🛰️✨"}]...
|
Title: LUNAR-HAL by @INiNiDS | Stardance
Devlogs: Title: LUNAR-HAL by @INiNiDS | Stardance
Devlogs:
🚀 DevLog #1: Ignition & Cosmic Foundations for LUNAR-HAL! 🪐 Day 0 is officially complete. We are building an infinite, AI-driven space sandbox powered completely by your local hardware, and the base is locked down: 🌌 Mission Control: Prepared the repository, set up community standards, and went full open-source under the AGPL v3 license to keep our local engine free forever. 💻 Frontend Setup: Fired up the project using Rust + Dioxus! Built the core architecture and launched the first three foundational viewports: Home, About, and Contact. 🛠️ The Manifesto: Designed a killer glassmorphic UI layout and integrated our “Broke-Tech” framework—proudly rendering procedural worlds directly on your GPU. Zero server costs, zero latency, infinite universe. Next stop: implementing the flight physics and interactive star canvas! 🛰️✨
🚀 DevLog #2: Neural Overdrive & Brainstorming LUNAR-AI! 🪐 Day 1 is in the books, and we are officially cooking! We’re pushing the boundaries of our infinite, local-first universe, and things are getting wild in the engineering bay. Here is the lowdown on what just dropped: 🧠 Project LUNAR-AI (lnai) is ALIVE: We officially laid down the first lines of code for our core AI driver! The mission? Giving your local universe a brain. No external API calls, no corporate clouds—just raw, local intelligence. 📉 Reality Check (The Results): Okay, look… right now, the results are, let’s say, highly questionable . It’s giving “confused toaster” more than “galactic supercomputer,” but hey, Rome wasn’t built in a day, and an infinite universe needs a little chaos first. 🛠️ Absolute Grind Mode: The output might be mid right now, but the workflow is at an all-time high. We are working 25/7, refactoring the neural pipelines, and optimizing the backend to make sure this local LLM integration doesn’t melt your PC. The brain is wired, the bugs are being hunted, and the grind never stops. Next stop: making lnai actually smart and finally getting that flight physics engine to behave! 🛰️✨
🚀 DevLog #3: The Neural Awakening & Backend Fusion! 🪐 Day 2 was chaos, but Day 3? We just plugged the matrix straight into the spine of the engine! 🧠✨ Remember that “confused toaster” from the last devlog? Yeah, well, it just evolved into a full-blown stellar intellect. The pipeline is locked, loaded, and absolutely cooking. Here is the tactical breakdown of what just dropped in the engineering bay: 🌌 The Big Brain Upgrade (Model & Data): We didn’t just tweak the model; we completely rebuilt its reality. We scraped, cleaned, and injected a massive new dataset, pushing our local parameter model to the absolute limit. No more hallucinating dead stars — lnai now actually understands the cosmic data it’s processing. 🔗 The Great Backend Fusion: The neural net is officially out of the sandbox and merged with the core Rust backend! We wired the prediction pipelines directly into our engine architecture. It’s fast, it’s memory-safe, and it operates with zero friction. Data is flowing from the neural layers to the backend loops in real-time. 🏎️ Zero Meltdown, Pure Performance: Training and running local models usually turns your rig into a literal space heater, but we optimized the living hell out of the inference pipelines. The memory footprint is clean, the tokens are flying, and your GPU can actually breathe while rendering the cosmos. The foundation is solid, the telemetry is clean, and the local universe finally has a brain that doesn’t just work — it thinks . Next stop: weaponizing this intelligence for procedural generation and forcing that flight physics engine to respect the laws of space! 🛰️🔥
🚀 DevLog #4: The God Mode Dashboard & Stellar Genesis! If Day 3 was about plugging the matrix straight into the engine’s spine, today we built the ultimate command center around it. No more chaos, no more manual config-wrangling via terminal. We just deployed a full-scale infrastructure for total cosmic control! Here is the tactical breakdown of what just dropped in the engineering bay: ⚙️ Project “TestBench”: Total Control & Validation We got tired of guessing what’s actually happening inside our AI’s digital brains, so we built TestBench—the ultimate proving ground for complete testing, training, and validation of every single AI model in the project. Backend Fusion: The whole thing is hardwired straight into our reactive Rust backend. God-Tier UX: Now, benchmarking a dataset, checking loss curves, validating weights, or fine-tuning a model is a matter of a few clicks without ever leaving the ecosystem. Real-time telemetry monitoring. Honestly? It’s clean, it’s seamless, and it just works. 🌟 Meet SIREN: The Star Architect Our AI fleet just got a massive reinforcement. Say hello to our newest model—SIREN. Her sole, monumental objective is the procedural generation of the stars themselves. No more random glowing spheres. SIREN calculates physics, luminosity, spectral classes, and spawns unique, structured astrophysical objects. The cosmos isn’t just procedural anymore; it’s beautifully complex and scientifically backed. 🎛️ Lunar-Frontend: The Creator’s Control Panel A cosmic backend deserves a killer visual interface. We gave lunar-frontend a massive upgrade to make managing this madness an absolute breeze: The Sidebar: We coded a modular, highly responsive sidebar. All your tools, model toggles, and data streams are now neatly organized and right at your fingertips. Next Stop: Unleashing SIREN onto the global map, syncing its generation directly with TestBench metrics, and forcing the frontend to smoothly render billions of new star systems without dropping a single frame! 🚀
DevLog #5: God-Mode Editor, Crate Separation, and Stealth Features Following the development of “Mission Control,” the project has transitioned into a full 3D environment. The cosmos is no longer just being generated; it can now be manipulated in real-time. Project “Lunar-Hal”: God-Mode Editor The new 3D editor allows for direct manipulation of the simulation rather than just monitoring metrics through the TestBench. Free-Fly Mode: A fully functional in-engine 3D editor. Users can toggle Creator Mode to navigate through stellar clusters at high speeds. Real-Time Manipulation: Selecting a star allows for immediate overrides of mass, spectral class, and luminosity. The SIREN engine recalculates astrophysics on the fly, updating the frontend visuals without performance drops. Architecture: The Great Crate Separation To manage codebase complexity, the backend has undergone a significant architectural refactor. All core gameplay logic has been isolated into a dedicated, independent Rust crate. Modular Design: Rendering overhead and editor scaffolding are now separated from pure game rules, physics, and state machines. Improved Compilation: Logic changes no longer require recompiling the entire project. Crates now compile in isolation, allowing for faster iteration and cleaner incremental builds. Inventory System and Stealth Mechanics Work has begun on a functional inventory system designed to hold “Creator Tools.” This system moves beyond traditional item management into world manipulation. Drag-and-Drop Reality: Mechanics are being implemented to allow users to grab celestial bodies directly from the viewport to rearrange solar systems manually. Entity Interaction: These telekinetic mechanics are also being tested on combat entities. This allows for manual interaction with hostile fleets, such as testing physics logic by moving units into gravitational anomalies like black hole event horizons. Lunar-Frontend: Enhanced UI The UI has been updated to accommodate the new editor and inventory capabilities: Creator Widgets: The modular sidebar now includes inspection panels for editor controls and inventory management. Optimized Streaming: The frontend provides a seamless bridge between TestBench metrics and the heavy 3D viewport, maintaining high performance during active manipulation. Roadmap The next phase of development will focus on: Running heavy simulations of billions of stars in background threads while maintaining editor stability. Stabilizing enemy pathfinding during manual entity manipulation. Preparing the architecture for multiplayer synchronization. Note: DevLog updates may be sporadic due to local ISP and network routing issues affecting access to the Hack Club site. Space logistics are complex, but terrestrial routing remains a significant challenge.
🚀 DevLog #6: Hyper-Optimization, Core Threat Integration, and New Swarm Archetypes ⚙️ Optimization: The Fight for Nanoseconds With the transition to a full 3D environment and manual entity manipulation, the load on the CPU and memory bus grew exponentially. So we tried to optimize as much as possible. 👾 Integration: Enemies in the Core Loop Previously, hostile entities existed only as isolated test units (testbench). Now, enemy fleets are officially hardcoded into the base simulation loop. Autonomous Background AI: Enemy behavior is no longer bound to the player’s viewport. Strategic fleets live their own lives in the background—conquering systems and harvesting resources—even if you are editing a galaxy millions of light-years away. Dynamic Pathfinding: The toughest challenge was stabilizing AI during manual manipulation. If you grab a planet and toss it in front of an enemy dreadnought, the pathfinding algorithm instantly recalculates a safe bypass vector based on the newly altered gravitational signature of that sector. 🛸 New Threat Archetypes: The Utility-Driven AI Each enemy now operates on a Utility AI system, calculating its next move based on distance, health ratios, and—most importantly—the Player’s Attention . We have categorized the hostile forces into six distinct tactical archetypes: Archetype Role Logic Highlight The Tank Heavy Juggernaut Berserk Logic: Its utility increases as its health drops. It becomes more aggressive the harder you try to kill it. The Thief Rapid Raider Attention-Aware: Only strikes stars when the player is looking away ( t_neglect > 15.0 ). High speed (20.0) allows for quick hit-and-run ops. The Invisible Stealth Saboteur Adaptive Camouflage: Maintains $0.05$ visibility. Only reveals itself when the player’s cursor “scans” over it or during brief power-grid flickers. The Scavenger Opportunistic Parasite Pack Mentality: Heavily prioritizes stars that are already under attack by other units to “steal” the resources. The Backstabber Chaos Agent Infighting: If it detects a fellow enemy with $<35 % $ HP, it will betray its own kind to secure the kill for itself. The Coward Skittish Scout Self-Preservation: Immediately generates an escape vector if the player’s “God-Hand” (cursor) gets too close or a Tank enters its vicinity. 🧠 The “Attention Map” Integration The most advanced part of this integration is how these entities interact with the Lunar-Frontend . We don’t just track positions; we track the player’s focus: d_mouse Factor: Enemies calculate their distance to your cursor. Thieves and Cowards use this to decide when to flee or stay in the shadows. t_neglect Metric: The simulation tracks how long it’s been since you last interacted with a specific star. The longer a sector is neglected, the higher the “utility” for an invasion force to move in. ⚔️ Combat Mechanics: Physical Projectiles vs. Direct Damage To keep the simulation performant while maintaining visual fidelity: Star Assaults: Enemies fire physical Projectile entities. Each has its own speed, radius, and damage value, allowing players to potentially intercept them or warp them with gravitational anomalies. Internal Infighting: When enemies like the Backstabber turn on their allies, the damage is processed via an optimized EnemyDamage buffer, bypassing heavy projectile physics for internal “swarm” calculations. Note: ISP issues and local routing to the Hack Club site still make uploading updates feel like sending signals through a dense asteroid belt.
DevLog #7: WebOS Evolution, The Black Room, and “lns” Orchestration This update marks a fundamental shift in how we interact with the simulation ecosystem. We have moved away from static dashboards to a fully dynamic WebOS environment within lunar-testbench , alongside a complete overhaul of our launching utility. Lunar-Testbench: The WebOS Overhaul The Testbench has been reimagined as a “Black Room” —a dark, immersive workspace where everything begins with three spotlights. The Spotlight Mechanic The interface features three dormant flashlights. Service Ignition: Clicking a spotlight “turns it on” and launches its corresponding backend service. Dynamic App Injection: Once a service is active, the specific applications depending on that service manifest below the spotlight. The Sandbox: Our most complex tool, the Sandbox , now requires all three services to be active simultaneously, setting the stage for deep-system integration in future updates. The Dock To manage the chaos of multiple windows, we’ve implemented a Bottom Dock . Every running application is pinned here, allowing for seamless switching between training, validation, and live simulation environments. Orchestration: From “lunar-start” to “lns” The way we boot the engine has been streamlined. We’ve stripped the heavy lifting out of the primary entry point to create a more modular startup flow. lns Utility: lunar-start has been evolved into lns —a lightweight micro-utility. Its sole purpose is to initialize the Testbench and trigger the backend. lunar-start-backend: This is a new, dedicated service that acts as the primary launcher. It monitors and manages the lifecycle of all other applications within the suite, ensuring that when you click a service in the UI, the backend is ready to deploy it.
* 🚀 DevLog #8: The Great Pivot — From Game to Technical Stellar Platform * The mission has changed. Following the deployment of the WebOS in DevLog #7, we realized that the “game” mechanics were holding back the true potential of the engine. This update marks our transition from a simulation with combat elements to a high-fidelity technical platform for stellar generation, research, and visualization. We have officially executed the transition plan, gutting the “game” and hardening the “platform.” The Great Purge: lunar-stellar-core The era of lunar-game-backend is over. We have performed a git mv on the heart of the engine to establish a strict architectural boundary. Logic Extraction: We have completely removed all traces of Enemies, Projectiles, HP, Attacks, and the “Attention Map.” The simulation no longer cares if you are “watching” a star; it only cares about the physics. The Core: The new lunar-stellar-core crate is now framework-agnostic. It handles only the technical state: camera math, sector caching, and the pipeline results. Terminology Shift: “World” is now “StarScene.” It’s no longer a level; it’s a coordinate-stable dataset. Unified Multi-Platform Deployment We’ve consolidated our frontend logic. Instead of separate builds, we now have a single Managed Frontend Service with a unified builder. Target Switching: Through the lns utility, we can now hot-swap between web , desktop , and android targets. Android Integration: The platform now supports Android NDK/SDK. We’ve replaced mouse-only logic with Pointer Events , enabling touch-based pan/zoom/selection. Runtime Config: The backend now dynamically injects the correct URL (handling the 10.0.2.2 emulator trap) based on the active platform. Sandbox 2.0: The Admin Overlay The Sandbox is no longer a separate copy of the simulation. It has evolved into a Meta-Management Shell for the real frontend. The Iframe Bridge: The Sandbox now embeds the live lunar-frontend via an iframe. Communication Protocol: We implemented a versioned postMessage protocol in lunar-structures . The Sandbox sends Admin Commands (CreateStar, SetCamera) and receives Scene Events (StarSelected). Permanent SIREN Gallery & Drag-and-Drop We’ve moved from “latest renders” to a persistent filesystem-based catalog . Atomic Persistence: Stars created via AI or manual tools are now saved as GalleryStar DTOs. Each star gets its own directory with metadata, SIREN textures, and thumbnails. True Drag-and-Drop: We’ve implemented a custom drag-session in the WebOS. You can now drag a star from the Gallery into the Sandbox to insert it into the live scene, and vice versa. Found Issues The transition hasn’t been without its casualties. Two “boss-level” bugs have appeared during the implementation of the new WebOS logic: Sandbox Handshake & OS Crash: Currently, the Sandbox is failing to “see” the Frontend service through the iframe bridge. Even worse, attempting to initialize the connection often results in a total OS-level hang , crashing the Testbench entirely. We are currently investigating if this is a circular dependency in the backend or a massive memory leak during the handshake. The “Minimize” Trap: While we implemented WindowLifecycle to keep applications alive in the background using display: none , we hit a critical logic error. Once an app is minimized, the “un-minimize” (maximize) function fails to trigger . The app remains in a state of digital limbo, perfectly preserved but completely inaccessible.
DevLog #9: Checkpoint Hardening & Stage 5 GNN Kinematics Convergence * This session was focused on a deep technical milestone: diagnosing a critical engine staging bug in LUNAR-HAL and driving the Stellar GNN-kinematics pipeline through the completion of Stage 5. 1. 🛠️ Staging Architecture & Atomic Checkpoint RCA (Rust) Diagnosed and resolved a critical issue in the --resume workflow where staging logic triggered a self-copy ( src == dst ), truncating output checkpoint weights upon restart. Implemented robust canonical path checking ( std::fs: :canonicalize ) to ensure fully atomic weight persistence across interruption signals ( SIGINT / SIGTERM ). Hardened checkpoint state serialization, eliminating filesystem race conditions during runtime hot-reloads. 2. Stage 5: GNN-Kinematics Training Executed the 200-epoch training run for the galactic velocity prediction model ($v_x, v_y, v_z$ derived from positions + photometry). Validated host telemetry: stable VRAM footprint on local NVIDIA GeForce RTX 5070 (~3.1 GB / 12 GB allocated) with optimal throughput (~30s / epoch). 3. Loss & Convergence Verification Train Loss: Decreased to ~0.7660 . Validation Loss: Reached a clean, stable quasi-stationary plateau at ~0.7694 . Physics Constraint: Invariant equilibrium maintained throughout ( phys_loss ≈ 0.7700 ), demonstrating high generalization without overfitting.
Alright, final devlog! Went all-in on bug squashing for this one—crushed a ton of issues, finally got CI completely green and stable, cleared out all the CodeQL alerts, and pushed the demo build. So yeah… I’m officially shipping now!
Ships:
Finally shipping this! It honestly took forever and I burned out twice along the way, but I pushed through to get it over the finish line. Try out the live demo or grab the local build. Heads up: the web demo might feel super sluggish since the models are running on Heroku, so expect some delay. Also, all demo sessions share the same persistent worlds! Have Fun!...
|
1793004967.5732112
|
1793091367.5732112
|
|
19074
|
ISS HUNT by @madzia | Stardance
|
madzia
|
1
|
18.0
|
133
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-04T14:11:53Z", "hours": 18.0, "multiplier": 7.34, "payout": 133, "blessing": "neutral", "text": "ISS HUNT A website created from the love to css What’s this about? It’s about the ISS. You’ll find here 5 segments: About Education Guide (on how to spot the ISS) Astronauts Social media Every segment is all around the ISS! Besides, you’ll find a lot of animations - enjoy them! This site is meant to be fun, and I built it so we can remember the ISS forever, as its retiring soon. The challenging thing was probably the cursor. Aaand the scrollbar. Before, I knew the absolute basics of these 2 features, but in this project I learnt a lot more about them. I enjoyed making it bc of css - it was such a creative and smooth process. Please try on laptop/computer OR watch the videos attached in devlog 8. It do NOT work correctly on smartphones.", "repo": "https://github.com/Maaadzia/ISS-hunt", "demo": "https://maaadzia.github.io/ISS-hunt/"}]...
|
[{"post_id": 76746, "ts": "202 [{"post_id": 76746, "ts": "2026-10-04T13:55:43Z", "hours": 2.4128, "text": "Devlog 8 - Final devlog, cursor, scrollbar and minor changes Please watch the videos below if you’re a voter and you can’t visit this website by computer. The first video is speeded up Cursor I added this cyan star cursor! I knew how to change the cursor but I had such a problem with making it different while pointing. Eventually I asked ai for help and it turned out pretty well - I think it adds some whimsy to this page Scrollbar (visible on second slide) I also styled the scrollbar!! I used youtube tutorial for this one. Looks much better now, I love the cyan accent! Few minor changes Fixed some bugs, some typos, added few words Thank you!! I’m gonna ship it now, thanks yall for your support I really appreciate it. This project was so fun to make, CSS is awesome. Wish me luck"}, {"post_id": 74584, "ts": "2026-09-27T17:54:34Z", "hours": 0.6608, "text": "Devlog 7 - About segment Hi again! 5/5 segments are complete!! About This segment is just a short description on the ISS and a photo with cool animation What’s next? I’m not shipping yet, now I need to perfect this site! Style the scrollbar Fix some animations Add some details It’s near finish! Thanks for reading"}, {"post_id": 74401, "ts": "2026-09-27T10:08:18Z", "hours": 0.9986, "text": "Devlog 6 - Education segment Hello everyone, 4/5 segments complete! Education In this section I embedeed 2 imo interesting videos from the ISS and a button that direct you to the ISS site!! Obviously I’ve also added some animations and I fixed the animation from guide segment, sorry I forgot to put this in the video, but I think that it looks much better now! If you’d change anything please let me know, I’d love to get to know your opinion!! Thanks for reading and have a nice day"}, {"post_id": 73653, "ts": "2026-09-25T16:18:24Z", "hours": 1.5194, "text": "Devlog 5 - Guide and Social media segments Hiii! 3/5 segments finished!! Social media That’s just a segment with ISS socials (but the tiktok one is ESA’s account bc iss don’t have their own and esa post a lot from the ISS!) But I’ve done this in such a… unique way! The social media icons you see is just one full img I added A B C and D text and centered it on these icons Added href to these abcds and it’s working! Last step - opacity: 0 But why this way? I’m sure that there’s an easier way to do this but I’m not that experienced and I like to create things on my own, I came up with this and it works!! So yall remember, work smarter not harder! Guide segment I’m not so sure about this one. Please let me know - should I keep this animation, where the letters are “dancing”, or should I change it to some smoother animation? I kinda like it bc it’s like futuristic computer coding something vibe but idk, so pleaseee watch the video on the 3th slide and let me know below!! It would be highly appreciated!!! Thanks for reading and have a nice day!"}, {"post_id": 73253, "ts": "2026-09-24T17:59:40Z", "hours": 1.9628, "text": "Devlog 4 - Astronauts Segment Hi everyone!! 1/5 segments are finished!! I don’t have much to say as I really like working with css and everything is always so smooth. I enjoyed doing the research and getting to know some interesting information about these people!! In this segment you will find: A lot of astronauts photos with cool animation on scroll at the top Section about Peggy Whitson Section about Scott Kelly I decided to write a little bit about 2 people who did some iconic things on the ISS. I didn’t wanted it to be boring and I think that I found the perfect balance. Thanks for reading and have a nice dayy!!!"}, {"post_id": 71156, "ts": "2026-09-20T11:19:25Z", "hours": 1.5481, "text": "Devlog 3 - start screen and a lot of styling!! So the “raw” version is complete!! This, or so, is how it’s gonna look. Seriously, I love css so much it was so fun to make this!! Ai usage To the scroll element I needed to add 2 animations: To make it “jump”, infinite To make it fade while scrolling I didn’t know how I can add 2 animations and therefore I asked ai. The solution is to add the second animation after a coma but it wouldn’t work very well bc I had, among others, animation-timeline: view(); it also helped me with this one and the solution here is to add auto, view() , normal, 0% and so on. A small thing, but it was really helpful. What’s next? I need to fill every section with many cool animations and information!! I would love to add maybe an interactive background or just some animations bc rn it’s kinda blank I love how it’s turning out and can’t wait for the final results!!"}, {"post_id": 70596, "ts": "2026-09-19T12:41:20Z", "hours": 3.4253, "text": "Devlog 2 - a complete rebrand!! New Idea of the ISS hunt I never wanted it to be a webOS, but when I created this project I just didn’t know what an OS meant lol, while working on spacecraftOS I really liked css, and I also came up with an idea.. I’m staying with the design and ISS is still gonna be the main character, but instead of building some advanced system I’m going to make a pretty website with a lot of animations. It will be a vast guide about the ISS! Css makes me happy and fulfilled, I really enjoy learning new stuff about it. I’d love to create more beautiful and breathtaking websites. I can’t wait to improve my css skills!! Yk stardance is ending soon, I wouldn’t even have the time to learn enough js Also, I’m so grateful for all the reviews I got on spacecraftOS and a 18,53x multiplier!! Thank you all it makes me so happy!!! 😭💗 So, what I’d already done? Deleted most of my code Created header on scroll animation (you can see it in the video below) Left the orbiting ISS bc I spent on it so much time, looking forward to find some use for it! I think that I’ll just change the background colors as I’m looking at it now, lmk what you think! Can’t wait to create more!! Thanks for reading and have a nice day"}, {"post_id": 25192, "ts": "2026-07-09T08:27:59Z", "hours": 5.6578, "text": "ISS HUNT - devlog #1 Hi! Recently I’ve been working on ISS hunt, a website that helps you catch ISS flying over your country! For more information check this project description . What I’ve already done I’ve been focusing on the page design - you can see how it looks in the video below! I added ISS moving around the site, it wasn’t really difficult but as you can see in the video the spin on its own axis is taking it so much time - well, not anymore! I managed to fix it and now it’s just a brief moment. What you can see in the video Besides the ISS you can see the upper band showing current time and day and below you can see few countries - what’s the plan? I’m starting with 3 countries, by clicking on them soon you will be able to open a window with several information about next ISS flyovers, such as where, when or the weather condition. I want to make it exist first, and then I will make it great! The plan is to make selectable options with all countries around the world, starting with these which you guys would like to see! What’s next? I’m going to focus on few apps, that will provide the rundown on the basics of ISS Thanks for reading my 1st devlog! And what about you? Did yall ever seen ISS flying over your country?"}]...
|
Title: ISS HUNT by @madzia | Stardance
Devlogs:
I Title: ISS HUNT by @madzia | Stardance
Devlogs:
ISS HUNT - devlog #1 Hi! Recently I’ve been working on ISS hunt, a website that helps you catch ISS flying over your country! For more information check this project description . What I’ve already done I’ve been focusing on the page design - you can see how it looks in the video below! I added ISS moving around the site, it wasn’t really difficult but as you can see in the video the spin on its own axis is taking it so much time - well, not anymore! I managed to fix it and now it’s just a brief moment. What you can see in the video Besides the ISS you can see the upper band showing current time and day and below you can see few countries - what’s the plan? I’m starting with 3 countries, by clicking on them soon you will be able to open a window with several information about next ISS flyovers, such as where, when or the weather condition. I want to make it exist first, and then I will make it great! The plan is to make selectable options with all countries around the world, starting with these which you guys would like to see! What’s next? I’m going to focus on few apps, that will provide the rundown on the basics of ISS Thanks for reading my 1st devlog! And what about you? Did yall ever seen ISS flying over your country?
Devlog 2 - a complete rebrand!! New Idea of the ISS hunt I never wanted it to be a webOS, but when I created this project I just didn’t know what an OS meant lol, while working on spacecraftOS I really liked css, and I also came up with an idea.. I’m staying with the design and ISS is still gonna be the main character, but instead of building some advanced system I’m going to make a pretty website with a lot of animations. It will be a vast guide about the ISS! Css makes me happy and fulfilled, I really enjoy learning new stuff about it. I’d love to create more beautiful and breathtaking websites. I can’t wait to improve my css skills!! Yk stardance is ending soon, I wouldn’t even have the time to learn enough js Also, I’m so grateful for all the reviews I got on spacecraftOS and a 18,53x multiplier!! Thank you all it makes me so happy!!! 😭💗 So, what I’d already done? Deleted most of my code Created header on scroll animation (you can see it in the video below) Left the orbiting ISS bc I spent on it so much time, looking forward to find some use for it! I think that I’ll just change the background colors as I’m looking at it now, lmk what you think! Can’t wait to create more!! Thanks for reading and have a nice day
Devlog 3 - start screen and a lot of styling!! So the “raw” version is complete!! This, or so, is how it’s gonna look. Seriously, I love css so much it was so fun to make this!! Ai usage To the scroll element I needed to add 2 animations: To make it “jump”, infinite To make it fade while scrolling I didn’t know how I can add 2 animations and therefore I asked ai. The solution is to add the second animation after a coma but it wouldn’t work very well bc I had, among others, animation-timeline: view(); it also helped me with this one and the solution here is to add auto, view() , normal, 0% and so on. A small thing, but it was really helpful. What’s next? I need to fill every section with many cool animations and information!! I would love to add maybe an interactive background or just some animations bc rn it’s kinda blank I love how it’s turning out and can’t wait for the final results!!
Devlog 4 - Astronauts Segment Hi everyone!! 1/5 segments are finished!! I don’t have much to say as I really like working with css and everything is always so smooth. I enjoyed doing the research and getting to know some interesting information about these people!! In this segment you will find: A lot of astronauts photos with cool animation on scroll at the top Section about Peggy Whitson Section about Scott Kelly I decided to write a little bit about 2 people who did some iconic things on the ISS. I didn’t wanted it to be boring and I think that I found the perfect balance. Thanks for reading and have a nice dayy!!!
Devlog 5 - Guide and Social media segments Hiii! 3/5 segments finished!! Social media That’s just a segment with ISS socials (but the tiktok one is ESA’s account bc iss don’t have their own and esa post a lot from the ISS!) But I’ve done this in such a… unique way! The social media icons you see is just one full img I added A B C and D text and centered it on these icons Added href to these abcds and it’s working! Last step - opacity: 0 But why this way? I’m sure that there’s an easier way to do this but I’m not that experienced and I like to create things on my own, I came up with this and it works!! So yall remember, work smarter not harder! Guide segment I’m not so sure about this one. Please let me know - should I keep this animation, where the letters are “dancing”, or should I change it to some smoother animation? I kinda like it bc it’s like futuristic computer coding something vibe but idk, so pleaseee watch the video on the 3th slide and let me know below!! It would be highly appreciated!!! Thanks for reading and have a nice day!
Devlog 6 - Education segment Hello everyone, 4/5 segments complete! Education In this section I embedeed 2 imo interesting videos from the ISS and a button that direct you to the ISS site!! Obviously I’ve also added some animations and I fixed the animation from guide segment, sorry I forgot to put this in the video, but I think that it looks much better now! If you’d change anything please let me know, I’d love to get to know your opinion!! Thanks for reading and have a nice day
Devlog 7 - About segment Hi again! 5/5 segments are complete!! About This segment is just a short description on the ISS and a photo with cool animation What’s next? I’m not shipping yet, now I need to perfect this site! Style the scrollbar Fix some animations Add some details It’s near finish! Thanks for reading
Devlog 8 - Final devlog, cursor, scrollbar and minor changes Please watch the videos below if you’re a voter and you can’t visit this website by computer. The first video is speeded up Cursor I added this cyan star cursor! I knew how to change the cursor but I had such a problem with making it different while pointing. Eventually I asked ai for help and it turned out pretty well - I think it adds some whimsy to this page Scrollbar (visible on second slide) I also styled the scrollbar!! I used youtube tutorial for this one. Looks much better now, I love the cyan accent! Few minor changes Fixed some bugs, some typos, added few words Thank you!! I’m gonna ship it now, thanks yall for your support I really appreciate it. This project was so fun to make, CSS is awesome. Wish me luck
Ships:
ISS HUNT A website created from the love to css What’s this about? It’s about the ISS. You’ll find here 5 segments: About Education Guide (on how to spot the ISS) Astronauts Social media Every segment is all around the ISS! Besides, you’ll find a lot of animations - enjoy them! This site is meant to be fun, and I built it so we can remember the ISS forever, as its retiring soon. The challenging thing was probably the cursor. Aaand the scrollbar. Before, I knew the absolute basics of these 2 features, but in this project I learnt a lot more about them. I enjoyed making it bc of css - it was such a creative and smooth process. Please try on laptop/computer OR watch the videos attached in devlog 8. It do NOT work correctly on smartphones....
|
1793004966.386844
|
1793091366.386844
|
|
57342
|
Hackadash by @Chicken502 | Stardance
|
Chicken502
|
1
|
13.0
|
86
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T14:32:11Z", "hours": 13.0, "multiplier": 6.35, "payout": 86, "blessing": "neutral", "text": "Hackadash is a CLI dashboard to display hackatime stats. This app is using data received from the official Hackatime dashboard, so all it needs is a API key, which the app can find automatically from your .wakatime.cfg file, or you can enter it manually. After setup is done, you can view your stats from hackatime! This project was a lot of fun to make, and I had a lot of things to learn to make this project come to life. I had no idea how to use a pyproject.toml file or what a .cfg file even was. I also had a lot of issues with the Textual formatting.", "repo": "https://github.com/Chiken502/Hackadash", "demo": "https://pypi.org/project/Hackadash/"}]...
|
[{"post_id": 70634, "ts": "202 [{"post_id": 70634, "ts": "2026-09-19T14:20:30Z", "hours": 0.7558, "text": "Final Touches Final Touches for Hackadash, including some formatting, an asciinema demo recording. Also just created a github release (although I don’t know if I did it right) but now everything is ready to ship! Edit: I just added the project to PyPI so go check it out at https://pypi.org/project/Hackadash/"}, {"post_id": 69301, "ts": "2026-09-16T19:26:57Z", "hours": 1.3056, "text": "Time Range Switching and README updates Got time switching in, so now you can see your total time for total, last 7 days or the current day. I also took some time today to add to the README file, including some new images and some better instructions on how to use the app, and what features there are. As I said in the last devlog, I only have one more feature I need to add before shipping ! Hopefully I can get that done in the next couple of days!"}, {"post_id": 68379, "ts": "2026-09-15T01:06:09Z", "hours": 1.8381, "text": "Styling! I’m just going to start off by saying I hate styling these boxes. Anyway, hackadash now shows top projects, and top languages, as well as total time in a big font. Everything is separated into related boxes. In the future I hope to make this a little bit more uniform, but other than that I have one more feature to add before this project is ready to ship!"}, {"post_id": 64506, "ts": "2026-09-08T23:14:03Z", "hours": 3.5275, "text": "API Calls Added in some data from the Hackatime API, using bearer auth. I ran into a lot of trouble getting the API’s to accept some data, as the API’s use different keywords for the current user. For example one use ‘current’ to indicate the current user by the API key, and one uses ‘my’. Once all that was working It was taking a bit to load the UI as the the http requests had to finish first, so I did a little research and found out about textual workers, that fixed the problem right up. All in all a lot got done today."}, {"post_id": 61559, "ts": "2026-09-04T15:15:31Z", "hours": 2.2225, "text": "Setup Functionality! Added functionality for the setup screen. It can now search for the wakatime.cfg file in your home directory, or you can input your api key manually. I then learned how to make a settings.cfg file to store everything in it. I also then made it so it changed the the new dashboard screen, which isn’t designed yet. Can’t wait to continue this project, but I also need to work on/finish my other project WordChains, this weekend."}, {"post_id": 61142, "ts": "2026-09-03T22:14:03Z", "hours": 2.07, "text": "Formatting & Creating Setup Screen I’m just going to say this should not have take as long as it did. Anyway I was working on creating the setup screen of my hackatime dashboard app using textual . When the app first opens this is the screen you will see. You can then either choose to use you wakatime config file, you manually entering your Hackatime API key, so later we can use it to fetch some stats to display on the dashboard. Where I ran into a lot of issues is the formating. Getting the text to go at the top of these boxes, and the buttons at the bottom, but still have everything centered in the boxes. In the end the solution was to use multiple containers under the hood to get everything into the right spot."}, {"post_id": 60584, "ts": "2026-09-03T01:10:59Z", "hours": 1.7764, "text": "Hackadash: Setting up basics Its my first time creating a project like this so there was a lot of research involed into pyproject.toml files and .gitignore files. I finally got some stuff working, and now I get to work on the fun stuff the app! I’m planning for this app to be a small dash board for Hacktime stats using Textual . So far I just have some place holder stuff in and no logic. I did do some drawings of what this might look like, but we will see how well I can bring them to life."}]...
|
Title: Hackadash by @Chicken502 | Stardance
Devlo Title: Hackadash by @Chicken502 | Stardance
Devlogs:
Hackadash: Setting up basics Its my first time creating a project like this so there was a lot of research involed into pyproject.toml files and .gitignore files. I finally got some stuff working, and now I get to work on the fun stuff the app! I’m planning for this app to be a small dash board for Hacktime stats using Textual . So far I just have some place holder stuff in and no logic. I did do some drawings of what this might look like, but we will see how well I can bring them to life.
Formatting & Creating Setup Screen I’m just going to say this should not have take as long as it did. Anyway I was working on creating the setup screen of my hackatime dashboard app using textual . When the app first opens this is the screen you will see. You can then either choose to use you wakatime config file, you manually entering your Hackatime API key, so later we can use it to fetch some stats to display on the dashboard. Where I ran into a lot of issues is the formating. Getting the text to go at the top of these boxes, and the buttons at the bottom, but still have everything centered in the boxes. In the end the solution was to use multiple containers under the hood to get everything into the right spot.
Setup Functionality! Added functionality for the setup screen. It can now search for the wakatime.cfg file in your home directory, or you can input your api key manually. I then learned how to make a settings.cfg file to store everything in it. I also then made it so it changed the the new dashboard screen, which isn’t designed yet. Can’t wait to continue this project, but I also need to work on/finish my other project WordChains, this weekend.
API Calls Added in some data from the Hackatime API, using bearer auth. I ran into a lot of trouble getting the API’s to accept some data, as the API’s use different keywords for the current user. For example one use ‘current’ to indicate the current user by the API key, and one uses ‘my’. Once all that was working It was taking a bit to load the UI as the the http requests had to finish first, so I did a little research and found out about textual workers, that fixed the problem right up. All in all a lot got done today.
Styling! I’m just going to start off by saying I hate styling these boxes. Anyway, hackadash now shows top projects, and top languages, as well as total time in a big font. Everything is separated into related boxes. In the future I hope to make this a little bit more uniform, but other than that I have one more feature to add before this project is ready to ship!
Time Range Switching and README updates Got time switching in, so now you can see your total time for total, last 7 days or the current day. I also took some time today to add to the README file, including some new images and some better instructions on how to use the app, and what features there are. As I said in the last devlog, I only have one more feature I need to add before shipping ! Hopefully I can get that done in the next couple of days!
Final Touches Final Touches for Hackadash, including some formatting, an asciinema demo recording. Also just created a github release (although I don’t know if I did it right) but now everything is ready to ship! Edit: I just added the project to PyPI so go check it out at https://pypi.org/project/Hackadash/
Ships:
Hackadash is a CLI dashboard to display hackatime stats. This app is using data received from the official Hackatime dashboard, so all it needs is a API key, which the app can find automatically from your .wakatime.cfg file, or you can enter it manually. After setup is done, you can view your stats from hackatime! This project was a lot of fun to make, and I had a lot of things to learn to make this project come to life. I had no idea how to use a pyproject.toml file or what a .cfg file even was. I also had a lot of issues with the Textual formatting....
|
1793004965.2284603
|
1793091365.2284603
|
|
57331
|
Nudl by @Mang0o | Stardance
|
Mang0o
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T17:11:28Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is Nudl - a programming language with customizable syntax. How it works: You create a project, customize your syntax in flavor.json, and edit your project’s code in main.nudl. When you want to run your project, Nudl will translate your source code into a Rust project and then build/run your project into a native binary. If you make a syntax error, Nudl will give you a comprehensive error message telling you where you messed up For errors other than syntax errors, you will see the Rust output telling you where (in the translated Rust code) you messed up.", "repo": "https://github.com/Mang00oo/Nudl", "demo": "https://github.com/Mang00oo/Nudl/releases/tag/v0.1.1"}]...
|
[{"post_id": 74067, "ts": "202 [{"post_id": 74067, "ts": "2026-09-26T16:47:58Z", "hours": 0.6458, "text": "Wrote a decent, descriptive README"}, {"post_id": 73866, "ts": "2026-09-26T07:00:19Z", "hours": 4.0172, "text": "Return statements, comments, %, break, and continue, and functions can now return values! Functions now infer the type of what you are inferring and explicitly state it in the translated code, as required by Rust. I’ve also been filling in the gaps in my coding language by adding continue, break, and mod operators. Comments were a struggle due to my incompetence with Rust, but I eventually got them working as well. Again, you can see the source code on the right and the translated code on the left."}, {"post_id": 66338, "ts": "2026-09-12T03:24:16Z", "hours": 3.6436, "text": "Useful error messages, function parameters, and if/else/elseif/while statements fully work! After quite a bit of code refactoring, all of the above work! Nudl now tracks where in the source code a token is written for concise error messages. To make function parameters work, I had to change the generated code to use closures instead of functions in order for the parameters to work without explicit types. Below is code with an intentional syntax error (on the right) and the error message in the console below. On the left is the generated Rust code (before I made the syntax error)"}, {"post_id": 64578, "ts": "2026-09-09T02:43:03Z", "hours": 4.6039, "text": "If statements and no-arguement function definitions work! The parser and lexer now support math operations and comparisons! If statements can be nested as well, and plenty of cursed customization options also work with a simple edit of a JSON file. I’ve mostly been working on reworking the translator and parser to allow for nesting and operations, but now it (mostly) works! In the image below, the translated code is visible on the left, the source code is on the right, and on the bottom is the terminal output of running the project."}, {"post_id": 61280, "ts": "2026-09-04T04:02:45Z", "hours": 1.6264, "text": "THE FIRST LINES HAVE BEEN TRANSLATED ‼️ I started writing the translator and I got the first couple of lines to translate. Right now, only variable definitions, assignments and the print function translate over. In the image below, you can see the generated Rust code on the left and the source code on the right."}, {"post_id": 61174, "ts": "2026-09-03T23:38:38Z", "hours": 2.0125, "text": "Second bit of the parser works! Now after the raw source code is tokenized, I feed the raw tokens to the parser, which matches different patterns of tokens to various types of nodes like defining a variable and calling a function! I’ve started working on building AST trees from these nodes. The image below shows the output of the parser, correctly identifying when I call a function or define a variable"}, {"post_id": 60648, "ts": "2026-09-03T04:33:59Z", "hours": 2.5769, "text": "First bit of parsing works! Right now, I’m working on the lexer, which turns your source code into tokens. The image below is what I got working so far: for now it prints the type of token it detects and then moves on to the next one. It correctly identifies the var keyword and String literals and assignment operators."}, {"post_id": 59981, "ts": "2026-09-02T02:07:40Z", "hours": 2.7572, "text": "This is my new project, Nudl. It is my own programming language with no set syntax. The way it works is you define your own syntax in the flavor.json file, and nudl will parse and translate your code into a Rust project. You can then build your nudl program to a native binary that runs blazingly fast. For support for Rust libraries, maps are used to translate Rust libraries into whatever syntax or names you want. So far, I’ve started learning Rust and coding the basic implementation of the nudl CLI interface in Rust. Running nudl create your-project will create a project folder set up like the one in the image below."}]...
|
Title: Nudl by @Mang0o | Stardance
Devlogs:
This Title: Nudl by @Mang0o | Stardance
Devlogs:
This is my new project, Nudl. It is my own programming language with no set syntax. The way it works is you define your own syntax in the flavor.json file, and nudl will parse and translate your code into a Rust project. You can then build your nudl program to a native binary that runs blazingly fast. For support for Rust libraries, maps are used to translate Rust libraries into whatever syntax or names you want. So far, I’ve started learning Rust and coding the basic implementation of the nudl CLI interface in Rust. Running nudl create your-project will create a project folder set up like the one in the image below.
First bit of parsing works! Right now, I’m working on the lexer, which turns your source code into tokens. The image below is what I got working so far: for now it prints the type of token it detects and then moves on to the next one. It correctly identifies the var keyword and String literals and assignment operators.
Second bit of the parser works! Now after the raw source code is tokenized, I feed the raw tokens to the parser, which matches different patterns of tokens to various types of nodes like defining a variable and calling a function! I’ve started working on building AST trees from these nodes. The image below shows the output of the parser, correctly identifying when I call a function or define a variable
THE FIRST LINES HAVE BEEN TRANSLATED ‼️ I started writing the translator and I got the first couple of lines to translate. Right now, only variable definitions, assignments and the print function translate over. In the image below, you can see the generated Rust code on the left and the source code on the right.
If statements and no-arguement function definitions work! The parser and lexer now support math operations and comparisons! If statements can be nested as well, and plenty of cursed customization options also work with a simple edit of a JSON file. I’ve mostly been working on reworking the translator and parser to allow for nesting and operations, but now it (mostly) works! In the image below, the translated code is visible on the left, the source code is on the right, and on the bottom is the terminal output of running the project.
Useful error messages, function parameters, and if/else/elseif/while statements fully work! After quite a bit of code refactoring, all of the above work! Nudl now tracks where in the source code a token is written for concise error messages. To make function parameters work, I had to change the generated code to use closures instead of functions in order for the parameters to work without explicit types. Below is code with an intentional syntax error (on the right) and the error message in the console below. On the left is the generated Rust code (before I made the syntax error)
Return statements, comments, %, break, and continue, and functions can now return values! Functions now infer the type of what you are inferring and explicitly state it in the translated code, as required by Rust. I’ve also been filling in the gaps in my coding language by adding continue, break, and mod operators. Comments were a struggle due to my incompetence with Rust, but I eventually got them working as well. Again, you can see the source code on the right and the translated code on the left.
Wrote a decent, descriptive README
Ships:
This is Nudl - a programming language with customizable syntax. How it works: You create a project, customize your syntax in flavor.json, and edit your project’s code in main.nudl. When you want to run your project, Nudl will translate your source code into a Rust project and then build/run your project into a native binary. If you make a syntax error, Nudl will give you a comprehensive error message telling you where you messed up For errors other than syntax errors, you will see the Rust output telling you where (in the translated Rust code) you messed up....
|
1793004964.0781512
|
1793091364.0781512
|
|
57306
|
Pixel app icons by @Dwagron | Stardance
|
Dwagron
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T19:36:48Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finally, up to shipping the app icons! I quite like how they look and hope some of you use them or make some of your own. They only work with Samsung (sorry to disappoint). Instructions on Github ReadMe to use :]", "repo": "https://github.com/D-wagron/Pixel-icons", "demo": "https://github.com/D-wagron/Pixel-icons/releases/tag/Production"}]...
|
[{"post_id": 68797, "ts": "202 [{"post_id": 68797, "ts": "2026-09-15T19:25:21Z", "hours": 0.3408, "text": "Apps done for now, to be shipped soon"}, {"post_id": 59912, "ts": "2026-09-01T22:54:44Z", "hours": 0.3008, "text": "Finished Pixel Apps so far, feel free to criticise"}]...
|
Title: Pixel app icons by @Dwagron | Stardance
De Title: Pixel app icons by @Dwagron | Stardance
Devlogs:
Finished Pixel Apps so far, feel free to criticise
Apps done for now, to be shipped soon
Ships:
Finally, up to shipping the app icons! I quite like how they look and hope some of you use them or make some of your own. They only work with Samsung (sorry to disappoint). Instructions on Github ReadMe to use :]...
|
1793004963.1773176
|
1793091363.1773176
|
|
57300
|
Frictionless by @prada | Stardance
|
prada
|
1
|
12.73
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T22:01:32Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Last update was mostly optimizations and bug fixes, but this ship is all about new features, UI cleanups, and a big Stacklet overhaul. Main focus was making everything feel alive, fixing layout glitches, and giving better tab control without hogging memory. UI/UX Fixes: Fixed a splash screen rendering a ghost duplicate over onboarding Fixed tutorial highlights misaligning mid-scroll Added a scroll container so the accessories panel doesn’t get cut off by popup height limits Fixed Stacklet’s positioning so he actually stands on the logo instead of floating next to it Bug Fixes: Fixed a duplicate const declaration that silently crashed an entire script file Fixed typewriter animation where overlapping text streams canceled each other mid-sentence New Features: Stacklet overhaul: rebuilt him with a full animation rig (antenna lag, arm overshoots, squash jumps) Instant Undo: one-click undo if you accidentally sort or deduplicate tabs Tab suspension & Read Later: freezes idle tabs and saves week-old tabs automatically Quick Search: command palette style launcher to jump to any tab fast Spent ~28 hours (only 11 logged…) on this build getting the physics and UI quirks sorted out. Next up is polishing based on feedback. If you test it out and have ideas, drop a review or ping me on GitHub / Discord (fraghaft)!", "repo": "https://github.com/babaminghong/stax", "demo": "https://github.com/babaminghong/stax/releases/tag/v1.4.0"}]...
|
[{"post_id": 67553, "ts": "202 [{"post_id": 67553, "ts": "2026-09-13T18:09:55Z", "hours": 1.7322, "text": "Snooze lets you close a tab and pick when it comes back. In an hour, tonight, tomorrow morning, this weekend, next week. Tab disappears and reopens on its own. Timing was annoying to get right. First version just added hours, so “tomorrow morning” meant 24 hours from now, useless if you snooze at 11pm. Now it resolves against the actual clock. Also had to catch presets landing in the past, like asking for “this evening” at 9pm, because then the alarm fires instantly and the tab just blinks. Surviving a restart was the other problem. I went with setTimeout first which is completely wrong for MV3, the background worker gets killed and takes every timeout with it. Switched to chrome.alarms, which the browser re-delivers even after you quit Chrome. Added a startup check too since alarms can get missed if Chrome was closed when one was due. Small fix: Find only worked with the mouse before. Arrow keys move through results now, Enter opens, Escape clears. If nothing matches, Enter falls through to AI search."}, {"post_id": 65985, "ts": "2026-09-11T14:19:14Z", "hours": 8.5678, "text": "8+ Hours of Stax: Big Updates & Quality-of-Life Improvements! 🚀 What started as “Stax is working fine” quickly turned into an 8+ hour feature binge! Stax was doing its job, but I knew it could be even better. Here is a breakdown of the new features added to save memory, boost performance, and make your workflow smoother: Instant Undo Action: Accidentally sorted or deduplicated tabs? You can now undo your last action with a single click to restore your workspace immediately. Suspend Inactive Tabs: Free up memory and boost browser performance by freezing idle background tabs directly from the extension. Save & Restore Sessions: Working across multiple projects? Easily save your current session and reopen it anytime from the new Saved Sessions tab. Enhanced Smart Sort & AI Methods: Re-engineered category patterns and AI matching rules to deliver cleaner, faster, and far more accurate tab organization. Quick Switch Search: Easily find and jump to any tab or open website using the new search icon command palette."}, {"post_id": 63575, "ts": "2026-09-07T14:22:39Z", "hours": 0.5331, "text": "Stax Devlog 2!!! / What I did Before this update, Stax could only group a tab if I had explicitly hardcoded its exact domain into the background script. Anything else just got dumped into a generic grey group, which meant the extension barely worked unless I had manually added the site beforehand. I overhauled the classification logic so it looks for broader patterns instead of fixed domain lists. It now checks domain endings like .shop or .bank , path keywords like /cart or /checkout , platform routes like /pull/42 , and active page titles as a fallback so a tab named “Your boarding pass” gets caught under Travel even on a random airline site. I also cleaned up the codebase structure. popup.js and sidepanel.js were sharing a bunch of copy-pasted helper functions. I moved those out into a shared script file so I’m not maintaining the exact same logic in two places. Issues I ran into and fixed Keyword classifier false positives. The old string check was matching shop anywhere inside a URL string. That meant photoshop.adobe.com was getting sorted straight into Shopping. Switched it to match proper hostname boundaries so creative tools don’t end up in shopping groups. Code duplication across UI files. Having identical helper functions in both popup.js and sidepanel.js meant any bug fix had to be applied twice. Extracted them into a common utility script to keep both views in sync. What’s next Workspaces. Saving full tab group setups to chrome.storage.local so you can close an entire session and restore it later. Command Palette. Adding a Cmd+K / Ctrl+K search overlay to quickly search across all open tabs and jump to them instantly."}, {"post_id": 62573, "ts": "2026-09-06T01:04:11Z", "hours": 1.7619, "text": "Stax — hybrid sort, a real auto-sort toggle, and settings that finally live where they should Stax groups browser tabs into color-coded groups. Local domain rules by default, plus an optional AI pass (Claude or Gemini, your own key) for tabs that don’t match anything obvious. What I did Local rule matching and AI grouping used to be two separate paths. Smart Sort only ran local rules. A separate button re-ran AI on everything from scratch and ignored what local rules had already sorted, so tabs the local rules couldn’t place just sat there ungrouped even with an API key set. I merged these into one pipeline: local rules run first since they’re instant, free, and work offline, and only the leftover tabs get handed to AI. If the AI call fails, it now falls back to the local result instead of breaking the whole action. The auto-sort-on-new-tab toggle in Preferences used to be fake. It wrote a value to storage that nothing ever read, so flipping the switch did literally nothing. Wired it up for real, debounced per window so restoring a saved session doesn’t fire a sort for every single tab. Settings and the custom domain-rule editor used to live on a separate page you had to open in a new tab. Moved the whole thing into the popup as a second screen, and built a side panel that mirrors it with live updates as tabs and groups change, so you’re not stuck refreshing manually. Issues I ran into and fixed Keyword classifier false positives. The fallback classifier (kicks in when a domain isn’t in the built-in list) was doing plain substring matching on hostnames. “shop” was matching photoshop.adobe.com , “dev” was matching random domains that just happened to contain those letters. Switched it to match whole hostname tokens instead, which kills the false positives without losing the keyword coverage. Extension pages slipping through. chrome-extension:// pages weren’t excluded from sorting the way chrome:// pages were. The old regex only matched schemes ending right after the browser name, so extension pages like the built-in PDF viewer could end up grouped under a garbage name based on the extension ID. Fixed the exclusion list to cover that too. Silent save failures. Settings saves had zero error handling around chrome.storage.sync.set . That API has an 8KB-per-item quota, so enough custom rules could make a save fail silently while the UI still said “Saved.” Wrapped it in a try/catch so a failed save actually tells you it failed now. Dead options page. After moving settings into the popup, the old separate options.html / options.js page wasn’t wired to anything in the manifest anymore. It was just dead code sitting in the repo doing nothing. Deleted it instead of fixing a page nobody could ever reach. What’s next Nothing blocking, the extension works end to end. For later: popup.js and sidepanel.js currently duplicate a few small helper functions (glyph lookup, sending messages), so I’d like to pull those into one shared file so I’m not editing the same logic twice."}]...
|
Title: Frictionless by @prada | Stardance
Devlogs Title: Frictionless by @prada | Stardance
Devlogs:
Stax — hybrid sort, a real auto-sort toggle, and settings that finally live where they should Stax groups browser tabs into color-coded groups. Local domain rules by default, plus an optional AI pass (Claude or Gemini, your own key) for tabs that don’t match anything obvious. What I did Local rule matching and AI grouping used to be two separate paths. Smart Sort only ran local rules. A separate button re-ran AI on everything from scratch and ignored what local rules had already sorted, so tabs the local rules couldn’t place just sat there ungrouped even with an API key set. I merged these into one pipeline: local rules run first since they’re instant, free, and work offline, and only the leftover tabs get handed to AI. If the AI call fails, it now falls back to the local result instead of breaking the whole action. The auto-sort-on-new-tab toggle in Preferences used to be fake. It wrote a value to storage that nothing ever read, so flipping the switch did literally nothing. Wired it up for real, debounced per window so restoring a saved session doesn’t fire a sort for every single tab. Settings and the custom domain-rule editor used to live on a separate page you had to open in a new tab. Moved the whole thing into the popup as a second screen, and built a side panel that mirrors it with live updates as tabs and groups change, so you’re not stuck refreshing manually. Issues I ran into and fixed Keyword classifier false positives. The fallback classifier (kicks in when a domain isn’t in the built-in list) was doing plain substring matching on hostnames. “shop” was matching photoshop.adobe.com , “dev” was matching random domains that just happened to contain those letters. Switched it to match whole hostname tokens instead, which kills the false positives without losing the keyword coverage. Extension pages slipping through. chrome-extension:// pages weren’t excluded from sorting the way chrome:// pages were. The old regex only matched schemes ending right after the browser name, so extension pages like the built-in PDF viewer could end up grouped under a garbage name based on the extension ID. Fixed the exclusion list to cover that too. Silent save failures. Settings saves had zero error handling around chrome.storage.sync.set . That API has an 8KB-per-item quota, so enough custom rules could make a save fail silently while the UI still said “Saved.” Wrapped it in a try/catch so a failed save actually tells you it failed now. Dead options page. After moving settings into the popup, the old separate options.html / options.js page wasn’t wired to anything in the manifest anymore. It was just dead code sitting in the repo doing nothing. Deleted it instead of fixing a page nobody could ever reach. What’s next Nothing blocking, the extension works end to end. For later: popup.js and sidepanel.js currently duplicate a few small helper functions (glyph lookup, sending messages), so I’d like to pull those into one shared file so I’m not editing the same logic twice.
Stax Devlog 2!!! / What I did Before this update, Stax could only group a tab if I had explicitly hardcoded its exact domain into the background script. Anything else just got dumped into a generic grey group, which meant the extension barely worked unless I had manually added the site beforehand. I overhauled the classification logic so it looks for broader patterns instead of fixed domain lists. It now checks domain endings like .shop or .bank , path keywords like /cart or /checkout , platform routes like /pull/42 , and active page titles as a fallback so a tab named “Your boarding pass” gets caught under Travel even on a random airline site. I also cleaned up the codebase structure. popup.js and sidepanel.js were sharing a bunch of copy-pasted helper functions. I moved those out into a shared script file so I’m not maintaining the exact same logic in two places. Issues I ran into and fixed Keyword classifier false positives. The old string check was matching shop anywhere inside a URL string. That meant photoshop.adobe.com was getting sorted straight into Shopping. Switched it to match proper hostname boundaries so creative tools don’t end up in shopping groups. Code duplication across UI files. Having identical helper functions in both popup.js and sidepanel.js meant any bug fix had to be applied twice. Extracted them into a common utility script to keep both views in sync. What’s next Workspaces. Saving full tab group setups to chrome.storage.local so you can close an entire session and restore it later. Command Palette. Adding a Cmd+K / Ctrl+K search overlay to quickly search across all open tabs and jump to them instantly.
8+ Hours of Stax: Big Updates & Quality-of-Life Improvements! 🚀 What started as “Stax is working fine” quickly turned into an 8+ hour feature binge! Stax was doing its job, but I knew it could be even better. Here is a breakdown of the new features added to save memory, boost performance, and make your workflow smoother: Instant Undo Action: Accidentally sorted or deduplicated tabs? You can now undo your last action with a single click to restore your workspace immediately. Suspend Inactive Tabs: Free up memory and boost browser performance by freezing idle background tabs directly from the extension. Save & Restore Sessions: Working across multiple projects? Easily save your current session and reopen it anytime from the new Saved Sessions tab. Enhanced Smart Sort & AI Methods: Re-engineered category patterns and AI matching rules to deliver cleaner, faster, and far more accurate tab organization. Quick Switch Search: Easily find and jump to any tab or open website using the new search icon command palette.
Snooze lets you close a tab and pick when it comes back. In an hour, tonight, tomorrow morning, this weekend, next week. Tab disappears and reopens on its own. Timing was annoying to get right. First version just added hours, so “tomorrow morning” meant 24 hours from now, useless if you snooze at 11pm. Now it resolves against the actual clock. Also had to catch presets landing in the past, like asking for “this evening” at 9pm, because then the alarm fires instantly and the tab just blinks. Surviving a restart was the other problem. I went with setTimeout first which is completely wrong for MV3, the background worker gets killed and takes every timeout with it. Switched to chrome.alarms, which the browser re-delivers even after you quit Chrome. Added a startup check too since alarms can get missed if Chrome was closed when one was due. Small fix: Find only worked with the mouse before. Arrow keys move through results now, Enter opens, Escape clears. If nothing matches, Enter falls through to AI search.
Ships:
Last update was mostly optimizations and bug fixes, but this ship is all about new features, UI cleanups, and a big Stacklet overhaul. Main focus was making everything feel alive, fixing layout glitches, and giving better tab control without hogging memory. UI/UX Fixes: Fixed a splash screen rendering a ghost duplicate over onboarding Fixed tutorial highlights misaligning mid-scroll Added a scroll container so the accessories panel doesn’t get cut off by popup height limits Fixed Stacklet’s positioning so he actually stands on the logo instead of floating next to it Bug Fixes: Fixed a duplicate const declaration that silently crashed an entire script file Fixed typewriter animation where overlapping text streams canceled each other mid-sentence New Features: Stacklet overhaul: rebuilt him with a full animation rig (antenna lag, arm overshoots, squash jumps) Instant Undo: one-click undo if you accidentally sort or deduplicate tabs Tab suspension & Read Later: freezes idle tabs and saves week-old tabs automatically Quick Search: command palette style launcher to jump to any tab fast Spent ~28 hours (only 11 logged…) on this build getting the physics and UI quirks sorted out. Next up is polishing based on feedback. If you test it out and have ideas, drop a review or ping me on GitHub / Discord (fraghaft)!...
|
1793004961.959086
|
1793091361.959086
|
|
1055
|
Micro Speedway by @FabulousHippoOfOrangeLake | Sta Micro Speedway by @FabulousHippoOfOrangeLake | Stardance...
|
FabulousHippoOfOrangeLake
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T17:06:37Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a traffic navigating game which included npcs of different types Nitro coins gems lives high scores speedometer", "repo": "https://github.com/sharmashashwat27-source/Top_down_endless_racing", "demo": "https://github.com/sharmashashwat27-source/Top_down_endless_racing/releases/tag/pygame"}]...
|
[{"post_id": 77085, "ts": "202 [{"post_id": 77085, "ts": "2026-10-05T16:30:21Z", "hours": 0.7842, "text": "DEVLOG #4 idkk But I made some legendary progress added npcs and a boost mode , this finally bring some structure . I added vibe coded coins and gems btw and in the photo below the car disappears a few moments after the crash and this was the only moment i was able to screenshot after like 8 tries!"}, {"post_id": 74036, "ts": "2026-09-26T16:01:04Z", "hours": 2.0839, "text": "DEVLOG idk but probs the final one… I finished it! its a basic simulation of a highway type setup where u avoid cars and drive accad style nothing very impressive but i/m proud i made this in just 4 hours"}, {"post_id": 53605, "ts": "2026-08-24T07:29:57Z", "hours": 1.9725, "text": "DEVLOG#1 So I started working on this project about a week ago but could only work on it for like a day and a half because of events like HMUN India and stuff. Regardless moving on to to what this project is, Micro Speedway is a top down racing game inspired by old NASCAR arcade games. In the time that i have logged till now I used pygame for the first time in my life and messed around with it to get something close to a car in a circular track, kind of. For me till now everything seems pretty easy to tackle my hardest challenge till now has been using pygame which to be honest wasn’t as hard as I thought it would be and honestly this project is bringing me closer to learn how to properly game design. In the future i look forward to using UNITY to develop a game."}]...
|
Title: Micro Speedway by @FabulousHippoOfOrangeLak Title: Micro Speedway by @FabulousHippoOfOrangeLake | Stardance
Devlogs:
DEVLOG#1 So I started working on this project about a week ago but could only work on it for like a day and a half because of events like HMUN India and stuff. Regardless moving on to to what this project is, Micro Speedway is a top down racing game inspired by old NASCAR arcade games. In the time that i have logged till now I used pygame for the first time in my life and messed around with it to get something close to a car in a circular track, kind of. For me till now everything seems pretty easy to tackle my hardest challenge till now has been using pygame which to be honest wasn’t as hard as I thought it would be and honestly this project is bringing me closer to learn how to properly game design. In the future i look forward to using UNITY to develop a game.
DEVLOG idk but probs the final one… I finished it! its a basic simulation of a highway type setup where u avoid cars and drive accad style nothing very impressive but i/m proud i made this in just 4 hours
DEVLOG #4 idkk But I made some legendary progress added npcs and a boost mode , this finally bring some structure . I added vibe coded coins and gems btw and in the photo below the car disappears a few moments after the crash and this was the only moment i was able to screenshot after like 8 tries!
Ships:
I made a traffic navigating game which included npcs of different types Nitro coins gems lives high scores speedometer...
|
1793004961.0456553
|
1793091361.0456553
|
|
23039
|
ArasakaNet by @RishuKamboj | Stardance
|
RishuKamboj
|
2
|
21.0
|
53
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T15:02:06Z", "hours": 8.0, "multiplier": 6.29, "payout": 53, "blessing": "neutral", "text": "IM SO HAPPY THAT I MADE THIS. Ive made a linux like mini experience but on web by adding desktop styles and a few apps! it features :- a startup screen 2)timer app, starnic(dino game) ,Nasa Redirect’s and a notes app(that saves the notes in localStorage too!) 3)a bottom bar and a sidebar(or menu whatever you wanna call it) 4)and a refined desktop like feel with the draggable,closable and glassy windows. the timer and the notes app made me rethink my decision to make this but it was def worth it. You can head over to https://arasaka-net-sepia.vercel.app/ to try it out for yourself!", "repo": "https://github.com/rydei/ArasakaNet", "demo": "https://arasaka-net-sepia.vercel.app/"}, {"ship_num": 2, "ts": "2026-09-17T15:19:57Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finished with WebOS 1 !! Gotta say it was really fun and kind of frustrating(im living incarnation of psyduck) anyways my website features:- draggable and closable windows -side bar and a bottombar a start menu 3 apps! (technically 2) my soul head over to https://arasaka-net-sepia.vercel.app/ to try it out! hope you like ittt", "repo": "https://github.com/rydei/ArasakaNet", "demo": "https://arasaka-net-sepia.vercel.app/"}]...
|
[{"post_id": 75866, "ts": "202 [{"post_id": 75866, "ts": "2026-10-01T12:03:51Z", "hours": 1.2072, "text": "added a loading screen and some final touches LETS GO SHIPPIN PIRATES !!!"}, {"post_id": 75851, "ts": "2026-10-01T10:45:27Z", "hours": 3.2997, "text": "DEVELOF PART IDK! added a notes app which can be used to: 1)make notes which are locally saved in localStorage 2)Edit those saved notes 3)Or delete them! other than that i made changes to the side bar and bottom bar to make it look more refined."}, {"post_id": 74854, "ts": "2026-09-28T13:26:08Z", "hours": 3.9031, "text": "NEW ADDITION!! Welcome starnic your own lil dino like game BUT ITS STARSS. also fixed window sizes so now they fit the contents instead of the extra space on the sides"}, {"post_id": 69663, "ts": "2026-09-17T15:03:35Z", "hours": 5.4592, "text": "DEVLOG THREEE!! AND IM BACK AFTER EXAMS!! ok anyways heres what i did:- (1) the icons and sidebar now work (2)there’s two apps and a welcome screen which is basically just system info for now lol. (3) the windows are draggable and hover above the other when selected. well i guess that’s all , i hope yall like it :D"}, {"post_id": 51526, "ts": "2026-08-21T09:05:52Z", "hours": 1.9872, "text": "Devlog Two: Added Draggable and Close-able windows!!! hardest part faced: aligning the header :’)"}, {"post_id": 51091, "ts": "2026-08-20T16:15:36Z", "hours": 5.6867, "text": "Hey There, First Devlog’s here! So far i’ve made the rough design of how the end website will look. Arranged the sidebar and bottom bar using flexbox(i spent way too much time on this wth) 2)Added Background and Favicon Next up im going to make the clock work and add draggable windows and working side buttons!!"}]...
|
Title: ArasakaNet by @RishuKamboj | Stardance
Dev Title: ArasakaNet by @RishuKamboj | Stardance
Devlogs:
Hey There, First Devlog’s here! So far i’ve made the rough design of how the end website will look. Arranged the sidebar and bottom bar using flexbox(i spent way too much time on this wth) 2)Added Background and Favicon Next up im going to make the clock work and add draggable windows and working side buttons!!
Devlog Two: Added Draggable and Close-able windows!!! hardest part faced: aligning the header :’)
DEVLOG THREEE!! AND IM BACK AFTER EXAMS!! ok anyways heres what i did:- (1) the icons and sidebar now work (2)there’s two apps and a welcome screen which is basically just system info for now lol. (3) the windows are draggable and hover above the other when selected. well i guess that’s all , i hope yall like it :D
NEW ADDITION!! Welcome starnic your own lil dino like game BUT ITS STARSS. also fixed window sizes so now they fit the contents instead of the extra space on the sides
DEVELOF PART IDK! added a notes app which can be used to: 1)make notes which are locally saved in localStorage 2)Edit those saved notes 3)Or delete them! other than that i made changes to the side bar and bottom bar to make it look more refined.
added a loading screen and some final touches LETS GO SHIPPIN PIRATES !!!
Ships:
Finished with WebOS 1 !! Gotta say it was really fun and kind of frustrating(im living incarnation of psyduck) anyways my website features:- draggable and closable windows -side bar and a bottombar a start menu 3 apps! (technically 2) my soul head over to https://arasaka-net-sepia.vercel.app/ to try it out! hope you like ittt
IM SO HAPPY THAT I MADE THIS. Ive made a linux like mini experience but on web by adding desktop styles and a few apps! it features :- a startup screen 2)timer app, starnic(dino game) ,Nasa Redirect’s and a notes app(that saves the notes in localStorage too!) 3)a bottom bar and a sidebar(or menu whatever you wanna call it) 4)and a refined desktop like feel with the draggable,closable and glassy windows. the timer and the notes app made me rethink my decision to make this but it was def worth it. You can head over to https://arasaka-net-sepia.vercel.app/ to try it out for yourself!...
|
1793004959.871475
|
1793091359.871475
|
|
52241
|
DDSim by @yaasshh | Stardance
|
yaasshh
|
1
|
124.76
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T16:51:16Z", "hours": 87.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built DDSim, a program that simulates what happens inside the tiny parts that computer chips are made of, ie diodes, capacitors and transistors. You describe a device by its shape and which parts of the silicon have extra electrons or holes. DDSim then works out how those electrons and holes move, and draws the current and voltage curves. I didn’t fit anything to make the graphs look right. Everything comes straight from the physics equations. (NOTE: ITS STILL VERY CLUNKY SO ITS NOT GOING TO BE PERFECT AS OF RIGHT NOW. IF YOU FACE ANY TROUBLES IM REALLY SORRY) To make sure everything accurate, I checked it against textbook formulas and against DEVSIM, a simulator other people wrote. They agree to within a few percent, and the project has about 2,700 automated tests. You can try it in your browser at ddsim.fly.dev. Pick a device, press solve, and watch the answer draw itself. Every button and graph has a little “i” that explains what it means, and there are guided lessons if you’re new to this. It’s a school-level instrument, not a chip design tool. Below about 50 nanometers the physics it uses stops being accurate, so I didn’t go beyond that", "repo": "https://github.com/yaasshh09/DDSim", "demo": "https://ddsim.fly.dev"}]...
|
[{"post_id": 82276, "ts": "202 [{"post_id": 82276, "ts": "2026-10-24T13:22:27Z", "hours": 9.6742, "text": "Devlog #23 The trick for the MOS capacitor worked. Making the electrons react faster put the slow wiggles at a speed the computer can handle, and the answers came out right. That FINALLY finished the AC phase. I also added noise, a tiny random jitter in current that every device has. Next I added time. Now its possible to flip a diode from on to off and watch it recover. When you switch a diode off, it keeps conducting for a moment because of all the charge stored inside it. I compared that against DEVSIM, and our results were within 0.03% of each other which is quite frankly something im really proud off. Then I added a feature where the simulator shows how inaccurate it may be. It now checks its own answer against a finer mesh and puts a little error bar on every point in the plots. It can also improve its own mesh by adding points only where they’re needed. On 5 of my 8 test devices it hit the target accuracy with fewer points than my hand-made meshes. I was aiming for around 6, so that’s still doable. The newest addition is a bipolar transistor, where a small current into the middle layer controls a much bigger current through the whole device. I built a simple 1D version and a more realistic 2D one. The 1D version matches the textbook formula to within 0.03%. The best part is that its gain drops off at both very low and very high current, the way real transistors do, and I never told it to. It figured that out from the physics."}, {"post_id": 80341, "ts": "2026-10-17T10:12:36Z", "hours": 1.9553, "text": "Devlog #22 The long DEVSIM run finally finished. It took about 6 hours and matched the expert result almost exactly, which closes out the scoreboard phase. Then I started the next phase, which is about AC. That essentially means wiggling the voltage back and forth and watching how the device reacts at different speeds. Before, my simulator could only handle super slow wiggles, or fast ones where I froze some electrons by hand. Now it can handle any speed. To get there, I first taught the simulator how fast electrons and holes pile up or drain away over time. Then I wrote the part that works out how much current flows into each contact when one of them gets wiggled. I tested it on diodes, since they have textbook formulas to compare against. A long diode matched within about 1%, and a short one within 1.3%. Along the way I found a bug where my mesh maker gave up on very long devices, so I fixed that too. The MOS capacitor is giving me some trouble. At really slow wiggles, the math needs more precision than normal computer numbers have, so the answers came out wrong by up to 46%. Fast wiggles work fine. Right now I’m trying a trick where I make the electrons react faster, so the slow case happens at a speed the computer can handle. Below are some of the DEVSIM scoreboard values"}, {"post_id": 80105, "ts": "2026-10-16T07:52:45Z", "hours": 4.8328, "text": "Devlog #21 Since the last devlog I finished most of the temperature phases. First I compared the diode at 400 K against DEVSIM. I saved that result so my other tests compare with it from now on. Then I added two new sliders to the website. One sets the temperature, from 200 to 500 K. The other sets the fixed charge where the silicon meets the oxide. I picked both ranges by running the simulator across them. Each slider also has a short lesson that explains what it does. While I was writing those, I found some broken math formatting in the temperature lesson and fixed it. The biggest addition is freeze-out. To make silicon conduct, we add extra atoms that give up electrons. When it gets really cold, those atoms stop giving up their electrons. Before, my simulator assumed they always did. Now there’s a switch for it, and it works. At 100, 200 and 300 K it matches the textbook formula almost exactly. I also checked that a plain frozen silicon bar still follows Ohm’s law, and that the capacitance results still work at 150 K."}, {"post_id": 79306, "ts": "2026-10-13T13:29:32Z", "hours": 4.9631, "text": "Devlog #20 In this devlog i firstly fixed up the website. It now has a little icon in the browser tab, a terms page, a privacy page and a footer with a contact button. The icon didn’t show up on the live site at first, so I fixed that too. Then I started the next phase, which is all about fixing temperature related stuff. A lot of the calculations of the simulator took room temperature which might have led to some wrong calculations, so I’ve been fixing that. The gate’s energy level was stuck at its room-temperature value. it was a real bug and its fixed now. When the silicon gets hotter, electrons now max out at a lower speed, just like in real-life chips. From 250 to 400 K, the junction’s built-in voltage matches the textbook formula. From 300 to 400 K, the diode’s leakage current stays within 0.3% of the formula. I also added a fixed charge that sits where the silicon meets the oxide layer. Real chips always have some, and it changes the voltage where a transistor turns on. Next up are the big jobs. A long DEVSIM run is still going, and after that I’ll test the temperature effects on a full 2D transistor. I also still need to put the website changes live."}, {"post_id": 76513, "ts": "2026-10-03T19:43:47Z", "hours": 7.6606, "text": "Devlog #19 The speed and robustness numbers are now saved on the scoreboard. On the first 8 benchmarks, my solver takes about 1.6x less time per bias point than DEVSIM. I also added a test that reads the README and fails if the README claims anything the data doesn’t back up (I hate getting 100% vibe code assumptions on my readme btw). I renamed a lot of variables across the code (to pass the 30% ai rule that im apparently violating) to shorter names. That kind of change can break the tests if some of the variables reference each other across multiple files, so I checked that python turns the old code and the new code into exactly the same instructions. Thankfully it did. I also moved all the settings into one file. Things like how many tries the solver gets, how small the mesh can get, and the server limits used to be scattered across about 20 files. I checked that every single value stayed exactly the same after the move. I also deleted the last few leftover comments. Then I pushed everything. The tests ran on three Python versions, and 2,723 of 2,724 passed. The one that failed was a browser test on Python 3.11 that waited too long for the page to load. The same test passed on the other two versions, so it’s probably just a slow test machine, but I’m going to rerun it to make sure. My laptop ran out of memory again, which stopped me from finishing the type hints in the tests. That’s next, once I’m not running a bunch of other stuff at the same time."}, {"post_id": 74357, "ts": "2026-09-27T07:21:49Z", "hours": 2.1619, "text": "Devlog #18 The robustness runs are almost done. Robustness checks a simple concept, if I give the solver a device cold, with no warm-up, does it actually finish? I ran 200 test cases through my solver and through DEVSIM, each in a few different setups. The robustness numbers aren’t final yet. One DEVSIM result is still missing. The first time my laptop ran out of memory, and the second time it went to sleep overnight, so it’s running again now. I also found out DEVSIM acts much differently depending on how many CPU threads it gets. With only one, some solves failed or took forever which was kinda interesting to see. On the cleanup side, I turned on the strictest type checking across the whole project and fixed what it found. Every color on the website now comes from one file. I also deleted a bunch of old files nobody used and cut the README down."}, {"post_id": 73883, "ts": "2026-09-26T07:55:09Z", "hours": 4.0261, "text": "Devlog #17 I restarted the scoreboard runs, and before looking/mentioning any of the results I checked my own setup for DEVSIM. That showed a few bugs on my side. My starting guess for the voltage inside the device did a log of zero on heavily doped chips, so DEVSIM crashed INSTANTLY. I also wasn’t giving it enough steps to settle on some devices. I fixed both, because it wouldn’t be fair to count my mistakes as DEVSIM’s. I also cleaned up the code, I tried to ship all progress so far but there was just too much AI (guilty) so I am working on redoing the python, css and javascript code again mainly from scratch. (The image shows all the values from the DDSim tests)"}, {"post_id": 73631, "ts": "2026-09-25T15:22:18Z", "hours": 2.4842, "text": "Devlog #16 Now that DDSim is live, my next goal is to make it better than DEVSIM, a free, open-source simulator a lot of people already use. “Better” doesn’t count unless I can measure it, so I planned out the next 11 stages of the project, and the first one is a scoreboard. The scoreboard runs both simulators on the same set of devices and compares them in four ways: how often each one finishes a solve without crashing, how accurate the answers are, how fast they run, and what each one can do at all. Some of these runs take hours, and my laptop ran out of memory partway through, so I paused them. I’ll post the results once they’re done, even the parts where DEVSIM is better than mine. While building the accuracy check, I found a bug in my own math. Sometimes it reported numbers that didn’t make physical sense, so now it throws those out instead of trusting them. I also went through all the style files for the website. They’re about a third smaller now, and I checked that the page still looks exactly the same. Then I found a small bug that had been there all along. The little “i” buttons that explain each setting were supposed to turn blue when you hover over them, but a different style rule was overriding it. Last, I cleaned up the README again. The pictures are centered now, I took out the GIF, and I rewrote some of the text so it reads more naturally."}, {"post_id": 73215, "ts": "2026-09-24T16:47:16Z", "hours": 1.6669, "text": "Devlog #15 DDSim is FINALLY deployed and live! You can try it at ddsim.fly.dev Getting it online took one extra step. The cheap shared server was too slow: the hardest transistor solve takes about 50 seconds on my laptop and would have taken around 7 minutes there. That’s past the 5-minute limit I set, so it would have been stopped every time. I moved it to a faster server, and now it finishes in under a minute. Once it was up, I found a bug. When every contact on a transistor was at the same voltage, the picture still drew current flowing through it. That’s impossible, because with no voltage difference nothing moves. I fixed it, and now the page says “no current flows” instead of showing an empty plot with no explanation. Then I rewrote the README from scratch. The old one was over 500 lines and way too dense. The new one is about 200 lines, mostly screenshots from the live site plus a few tables, so someone can see what the project does in a couple of minutes. While doing that, I caught a mistake. One number in my results table didn’t match the graph right next to it. I reran the full simulation, which took 20 minutes, and fixed the table so it matches. Last, I took the deployment files out of the public code. Anyone who downloads it gets everything they need to run it on their own computer, but not the setup for putting it online. Next up, I might be thinking of getting a custom name for this simulator and my other atom simulator. If anyone knows where I can get free domains, lmk in the comments"}, {"post_id": 72803, "ts": "2026-09-23T19:24:31Z", "hours": 2.5789, "text": "Devlog #14 Since then, most of my work has been getting DDSim ready for other people to use. First I cleaned up the controls. Some sliders and number boxes let you pick values that made the solver fail, which just showed up as a red error. I went through the diode, the MOS capacitor, the transistor and the draw-your-own device and found the range where each setting actually works. The sliders now stay inside those ranges, so a beginner can’t break things by accident. Then I cleaned up the code. I deleted about 2,400 lines of comments that just repeated what the code already said and kept the ones that explain something nessessary. Next came the writing. The site has about 40 short articles that explain the physics, and a lot of them sounded stiff, so I rewrote all of them. I did the same for the project docs, and on the way I found a few places where the docs no longer matched what the code does, so I fixed those too. Now I’m working on putting it online. I picked Fly.io to host it, and I’m hoping to get a free custom name. Since anyone will be able to use it, I’m adding some safety limits first. Only a couple of solves can run at the same time, old results get cleared out after a while, and a solve that runs too long gets stopped with a message explaining why. I tested each limit by breaking it on purpose to make sure the test catches it. It isn’t live yet, but it’s close! [lazy pic, i dont wanna open server again :( ]"}, {"post_id": 72407, "ts": "2026-09-22T21:05:00Z", "hours": 1.9161, "text": "Devlog #13 This one is all about the page itself. The physics didn’t change, but you’ll notice everything else did. I rebuilt the whole look from scratch. The old version was only friendly if you already knew semiconductors, and I want someone who has never heard of a diode to open it and get somewhere. Now it opens by asking you to pick a device: a diode, a MOS capacitor, a transistor, or draw your own. Each one comes with a sentence or two on what it is. Every number and switch has a little “i” next to it that explains it, and an empty plot tells you what it’s waiting for instead of sitting blank. Drawing your own device used to happen in a tiny box off to the side. Now it gets the whole screen. Some layers are so thin they basically disappeared, so I stretch the picture up and down until you can see them, and a label says when it’s stretched. Doped areas get a soft color so you can tell them apart. I also changed the font a couple of times. It started in a terminal style that felt cold. I tried one replacement and ended on Poppins, which just feels warmer. My favorite change is in the runs panel. It used to list your old runs as text, like “doping 1e17.” Now every solve saves a little picture of its own curve, and they all share the same scale, so you can see at a glance how each change moved the result. I switched the license to CC BY-NC so that it still stays technically open source but I own intellectual property for commercial use. Anyone can use it and change it for free, as long as they credit me and don’t sell it. A bit of AI usage in the frontend i will agree but not overkill in terms of it."}, {"post_id": 72227, "ts": "2026-09-22T14:20:14Z", "hours": 2.8683, "text": "Devlog #12 Last time I left off with a transistor sitting on oxide that would not solve. I think ive fixed it. The silicon body had no contact touching it anywhere, so the solver had no idea what voltage that body should sit at. There is no single right answer, so it just wanders. That is not a bug I can fix, it is the physics of the thing, so now the simulator refuses that drawing up front and says why instead of grinding away at it. Then I went hunting for every other way someone could break it. I wrote something that tries every combination of settings the page can send and watched what fell over. A few things did: A gate metal with a work function no real metal has. Surface scattering asked for on a 1D device, which has no surface to scatter off. A shape so thin the grid ends up dividing by zero. All of them now get refused before the solve starts, with a sentence saying what to change. A few smaller ones. The device picture was drawn half a grid cell off, which threw off the line you drag across it to read values. That same line returned nothing at all where silicon meets oxide. And the explanations could load out of order and show you the wrong one. I think now i should wrap the version 1 of the project and finish polishing the frontend considering stardance is getting over soon. another lazy code pic btw cause i dont wanna open the servers again"}, {"post_id": 70662, "ts": "2026-09-19T15:24:06Z", "hours": 2.4228, "text": "Devlog #11 Since the last devlog, you can draw your own 2D devices, not just stack layers in a line. You draw rectangles of silicon and oxide, paint doping onto them, and place metal contacts along the edges. The simulator builds a grid that fits your drawing and solves it. Before it solves, it checks for mistakes and tells you what’s wrong in plain words: a piece of silicon with no contact touching it, a gate sitting right on silicon, or a shape too small for the grid to see. To make sure drawing works, I redrew the MOS capacitor and the transistor I already had and checked that they give the same answers. The capacitor matched almost exactly and the transistor was within about 1%. Testing it in a real browser caught two bugs. One made every solve hang forever. The other made the picture of the device grow every time it redrew on high resolution screens. Both seem to be fixed now but I’ll be on the lookout for similar bugs. Then I tried something new, a transistor sitting on a layer of oxide, the way a lot of modern chips are built. It won’t solve yet. I narrowed it down to the oxide underneath the silicon, and I’m still wondering how breaks things. More on that next time. random picture cause im too lazy to start the servers again"}, {"post_id": 70075, "ts": "2026-09-18T12:25:44Z", "hours": 3.6847, "text": "Devlog #10 Since the last devlog, the simulator has gone from explaining things to letting you play with them. First, you can now compare runs. Every time you solve, the curve stays on the plot, so you can change one thing and see exactly what moved. The diode also got live sliders. Drag the doping or voltage and the answer updates while you drag. The 2D devices like the MOSFET are too slow for that, so I added a quick mode that uses a rougher grid. It’s a little less accurate, and I wrote down exactly how much. Then I built five guided lessons: a diode sitting at rest, a diode with voltage on it, a MOS capacitor, a transistor turning on, and what goes wrong when transistors get really small. Each lesson walks you through experiments step by step. The important part is that every claim a lesson makes is checked by a test against the solver I developed as part of the project. For example: if a lesson says “the current goes up,” a test runs it and makes sure it actually does. The biggest addition is a device builder. You stack layers of doped silicon however you want, and the simulator solves whatever you made. You can also save a design and load it again later. I agree I used AI for the frontend but I did not go VERY heavy on it. Only to build upon the frontend base I coded"}, {"post_id": 69600, "ts": "2026-09-17T12:07:30Z", "hours": 6.0439, "text": "Devlog #9 Since my last devlog, my solver and DEVSIM have started to cooperate. All ten benchmark devices match, the MOSFETs included, so the physics phase is done. THANK THE LORD Now I’m working on the part I care about most personally, which is making the simulator teach. The browser used to be a wall of knobs and plots with no explanation. Now every knob and every plot has a small “i” button. Click it and a drawer slides out with a plain explanation first, then the real equations for anyone who wants to go deeper. I wrote 35 of these explanations covering the physics, how the solver works, the devices, and how to read each plot. Then I checked them against the code. One credited the diodes with an accuracy number that actually belonged to a different device. Another claimed that one failed point in a sweep doesn’t ruin the rest, but the code stops at the first failure. The equations turned out to be hard to figure. The markdown reader treated the backslashes inside the math as its own escape characters and deleted them, so 92 bits of spacing and notation came out messed up. Now I pull the math out before the markdown step and put it back after. I also bundled the math and markdown libraries into the project, so the page works with no internet. Next up are band diagrams, which show the energy levels electrons can sit at. The page will draw them straight from the solved device."}, {"post_id": 68669, "ts": "2026-09-15T14:33:26Z", "hours": 1.7181, "text": "Devlog #8 Really tired today. Just ran a bunch of tests today and got a bunch of values ill sort through tomorrow."}, {"post_id": 67223, "ts": "2026-09-13T08:42:33Z", "hours": 3.7983, "text": "Devlog #7 Since my last devlog I have been teaching DEVSIM to run the same physics my own solver runs. Before this it was on a stripped down model set, so the two codes had similar geometry and nothing about mobility. Now it runs the real thing: doping dependent mobility, surface scattering at the oxide, velocity saturation, and proper Fermi-Dirac statistics. Getting there meant three more small lies. DEVSIM will easily chain a derivative through one kind of model and silently return zero for another. No error, no warning. My solver just diverged on the first step. It took a dump of every derivative on the device to see a column of exact zeros where numbers should have been. Then a field magnitude written as a square root of a square. Mathematically, sounds good but numerically it produces a nan wherever the field is exactly zero, which in a neutral chunk of silicon is nearly every edge. Then the surface mobility. I was refreshing it on every pass, forever. That is not a converging loop, that is two numbers chasing each other. The gate walk climbed to 0.50 V and then refused 0.55 V at every step size I gave it, down to a tenth of a millivolt. A failure that ignores step size is not a step size problem. I gave the refresh a stopping rule and re-ran it. Same answer to the last digit, just reachable now. The 1 micron device now agrees between the two codes to under 3.3 percent at low drain and under 1.3 percent at high drain, across four decades of current. The remaining blocker is not code. My browser is holding 15 of the machine’s 16 GB."}, {"post_id": 66590, "ts": "2026-09-12T13:16:11Z", "hours": 3.9589, "text": "Devlog #6 Im not going to say much this devlog. I hate Github CI errors with a passion and everybody that creates software relates."}, {"post_id": 65940, "ts": "2026-09-11T12:39:46Z", "hours": 2.6142, "text": "Devlog #5 Since the license was added, all my time has gone into one stubborn thing, that is getting DEVSIM simulator, to produce trustworthy MOSFET curves. It has been a long journey of small lies the application tells you. DEVSIM’s solve doesn’t take a device argument, so it solves everything you’ve ever built in that process at once. I was building one device per curve and leaving them around, so the second curve was dragging a finished device along with it and ruining the shared error check. Deleting each device when its curve finishes fixed a whole family of weird failures. Then I found the equilibrium solve was starting from all zeros, which on this device is 0.6 V off. I supply it from charge neutrality now. Same final output but far less trouble getting there. 2 of my own ideas turned out wrong and got reverted, but I wrote the measurements rather than dropping them. Capping the solver’s pass budget moved the current by 0.4%. Pinning the math library to one thread made a four second step take three minutes. Big Ouch. Currently, the 1 micron transfer curve at 50 mV of drain runs end to end and confirms with my simulator to within 0.23% above threshold. The 1 V curve still stalls at 0.4 V of gate, and I checked it properly rather than simply loosening the tolerance, because it turns out DEVSIM isn’t converging there at all. My own code, for contrast, does the same curve in 4.6 seconds."}, {"post_id": 65618, "ts": "2026-09-10T21:14:24Z", "hours": 1.4086, "text": "Dev log #4 After the last devlog I pushed and CI went red on all three Python versions. One test, one solver that would not converge. I guessed this before and fixed the wrong line. Last time I saw the residual and assumed a gate step was missing the convergence basin, so I put continuation on the gate ramp. That was a real improvement, just not this bug. This time I actually read the CI log The failing solve was the one before the ramp even starts. Gate at zero, drain already at 1 V, starting from a cold guess. So I measured it instead of guessing. Cold at 0 V drain takes 1 step. At 1 V it takes 22, and 12 of those get clipped by the step limiter, which means the solver is being dragged the whole way instead of converging properly The fix walks the bias in from zero using the continuation I already had. I regenerated the whole roll-off table through the new path and every digit came out identical. Only the path changed, not the answer. Also added the Open-Source MIT license, and cleaned the commit history."}, {"post_id": 65362, "ts": "2026-09-10T13:29:09Z", "hours": 2.1169, "text": "Dev log #3 I found a bug that made every 2D current in the simulator wrong by a factor of about 245, WAY too big. The cause, i believe, was one missing conversion. The code turns an internal number into a real current, and in 2D that conversion needs an extra length factor that I never included. In 1D it happened to be right, which is why it went un-noticed. I fixed it and then wrote a test that compares a 2D current against Ohm’s law, worked out by hand with no solver involved. This test was missing before. The reassuring part: I measure the turn-on voltage two completely different ways. They used to differ by 180 mV, which I didnt pay much attention to previously. After the fix they agree to about 2 mV. I did not tune anything to make that happen, so I might have to start believing in miracles. I also fixed two divide-by-zero crashes in the surface mobility code that were blocking a whole test combination. Also updated the README numbers and the decisions log. The full test suite is still running, and I will push to github once done."}, {"post_id": 64702, "ts": "2026-09-09T10:05:49Z", "hours": 15.2131, "text": "Devlog #2 Two things this stretch, and both started as “that’s odd” rather than “that’s broken.” First, the solver was crawling. Every step up in voltage cost more than the last, and past a point it just gave up. I traced it back to the starting guess, which was asking what makes glass electrically neutral. That question has no answer, because glass has no charges to balance in the first place. The solver was grinding away at something stupid before it ever got to the real problem. I gave it a proper starting answer instead, and the slowdown disappeared entirely. Second, I stopped trusting my tests and went to check them. I broke my own code ten different ways on purpose, one at a time, and watched to see which breakages the suite would catch. 9/10 failed, which is what I wanted. 1 slipped through clean, and that is the interesting one, because a test that cannot fail is not a test. Chasing the one that got away turned up a real bug hiding underneath it. Setting the voltage on the bottom contact was silently doing nothing at all. The code ran, reported success, and ignored the value. One line to fix, and it would have been very hard to find any other way, since nothing about the output looked wrong. Heads up! Light AI usage to debug the tests and break code to find errors"}, {"post_id": 54968, "ts": "2026-08-26T12:21:42Z", "hours": 35.26, "text": "DDSim Devlog I’m building a chip simulator from scratch. Today I got it to simulate a MOS capacitor, a silicon slab with a thin glass layer and a metal plate on top. It’s the heart of every transistor ever made. What I built: I stacked two grids together: a fine one near the silicon surface where all the action is, and a coarse one for the glass where nothing happens. Then I wrote one function that builds the whole sandwich. I wrote every test before the code. This kind of maths loves to give you wrong answers that look perfectly reasonable, so I only trust it when it matches something I can work out on paper. I’m happy that the “flatband” voltage came out exact to 15 decimal places. The threshold voltage matched the textbook to 0.13 millivolts, 50 times better than I needed. I also identified a few problems; the solver was getting slower and slower at high voltage, then giving up. The starting guess was asking “what makes glass electrically neutral?”, a meaningless question, since glass has no charges. I gave it a proper answer instead and the slowdown vanished completely. Then I deliberately broke my own code ten ways to check the tests would catch it. Nine got caught. One didn’t. Chasing that turned up a real bug: the bottom-contact voltage setting was silently doing nothing. One line to fix. Current Position: 1339 tests passing, everything clean, C-V curve working across all three regimes."}]...
|
Title: DDSim by @yaasshh | Stardance
Devlogs:
DDS Title: DDSim by @yaasshh | Stardance
Devlogs:
DDSim Devlog I’m building a chip simulator from scratch. Today I got it to simulate a MOS capacitor, a silicon slab with a thin glass layer and a metal plate on top. It’s the heart of every transistor ever made. What I built: I stacked two grids together: a fine one near the silicon surface where all the action is, and a coarse one for the glass where nothing happens. Then I wrote one function that builds the whole sandwich. I wrote every test before the code. This kind of maths loves to give you wrong answers that look perfectly reasonable, so I only trust it when it matches something I can work out on paper. I’m happy that the “flatband” voltage came out exact to 15 decimal places. The threshold voltage matched the textbook to 0.13 millivolts, 50 times better than I needed. I also identified a few problems; the solver was getting slower and slower at high voltage, then giving up. The starting guess was asking “what makes glass electrically neutral?”, a meaningless question, since glass has no charges. I gave it a proper answer instead and the slowdown vanished completely. Then I deliberately broke my own code ten ways to check the tests would catch it. Nine got caught. One didn’t. Chasing that turned up a real bug: the bottom-contact voltage setting was silently doing nothing. One line to fix. Current Position: 1339 tests passing, everything clean, C-V curve working across all three regimes.
Devlog #2 Two things this stretch, and both started as “that’s odd” rather than “that’s broken.” First, the solver was crawling. Every step up in voltage cost more than the last, and past a point it just gave up. I traced it back to the starting guess, which was asking what makes glass electrically neutral. That question has no answer, because glass has no charges to balance in the first place. The solver was grinding away at something stupid before it ever got to the real problem. I gave it a proper starting answer instead, and the slowdown disappeared entirely. Second, I stopped trusting my tests and went to check them. I broke my own code ten different ways on purpose, one at a time, and watched to see which breakages the suite would catch. 9/10 failed, which is what I wanted. 1 slipped through clean, and that is the interesting one, because a test that cannot fail is not a test. Chasing the one that got away turned up a real bug hiding underneath it. Setting the voltage on the bottom contact was silently doing nothing at all. The code ran, reported success, and ignored the value. One line to fix, and it would have been very hard to find any other way, since nothing about the output looked wrong. Heads up! Light AI usage to debug the tests and break code to find errors
Dev log #3 I found a bug that made every 2D current in the simulator wrong by a factor of about 245, WAY too big. The cause, i believe, was one missing conversion. The code turns an internal number into a real current, and in 2D that conversion needs an extra length factor that I never included. In 1D it happened to be right, which is why it went un-noticed. I fixed it and then wrote a test that compares a 2D current against Ohm’s law, worked out by hand with no solver involved. This test was missing before. The reassuring part: I measure the turn-on voltage two completely different ways. They used to differ by 180 mV, which I didnt pay much attention to previously. After the fix they agree to about 2 mV. I did not tune anything to make that happen, so I might have to start believing in miracles. I also fixed two divide-by-zero crashes in the surface mobility code that were blocking a whole test combination. Also updated the README numbers and the decisions log. The full test suite is still running, and I will push to github once done.
Dev log #4 After the last devlog I pushed and CI went red on all three Python versions. One test, one solver that would not converge. I guessed this before and fixed the wrong line. Last time I saw the residual and assumed a gate step was missing the convergence basin, so I put continuation on the gate ramp. That was a real improvement, just not this bug. This time I actually read the CI log The failing solve was the one before the ramp even starts. Gate at zero, drain already at 1 V, starting from a cold guess. So I measured it instead of guessing. Cold at 0 V drain takes 1 step. At 1 V it takes 22, and 12 of those get clipped by the step limiter, which means the solver is being dragged the whole way instead of converging properly The fix walks the bias in from zero using the continuation I already had. I regenerated the whole roll-off table through the new path and every digit came out identical. Only the path changed, not the answer. Also added the Open-Source MIT license, and cleaned the commit history.
Devlog #5 Since the license was added, all my time has gone into one stubborn thing, that is getting DEVSIM simulator, to produce trustworthy MOSFET curves. It has been a long journey of small lies the application tells you. DEVSIM’s solve doesn’t take a device argument, so it solves everything you’ve ever built in that process at once. I was building one device per curve and leaving them around, so the second curve was dragging a finished device along with it and ruining the shared error check. Deleting each device when its curve finishes fixed a whole family of weird failures. Then I found the equilibrium solve was starting from all zeros, which on this device is 0.6 V off. I supply it from charge neutrality now. Same final output but far less trouble getting there. 2 of my own ideas turned out wrong and got reverted, but I wrote the measurements rather than dropping them. Capping the solver’s pass budget moved the current by 0.4%. Pinning the math library to one thread made a four second step take three minutes. Big Ouch. Currently, the 1 micron transfer curve at 50 mV of drain runs end to end and confirms with my simulator to within 0.23% above threshold. The 1 V curve still stalls at 0.4 V of gate, and I checked it properly rather than simply loosening the tolerance, because it turns out DEVSIM isn’t converging there at all. My own code, for contrast, does the same curve in 4.6 seconds.
Devlog #6 Im not going to say much this devlog. I hate Github CI errors with a passion and everybody that creates software relates.
Devlog #7 Since my last devlog I have been teaching DEVSIM to run the same physics my own solver runs. Before this it was on a stripped down model set, so the two codes had similar geometry and nothing about mobility. Now it runs the real thing: doping dependent mobility, surface scattering at the oxide, velocity saturation, and proper Fermi-Dirac statistics. Getting there meant three more small lies. DEVSIM will easily chain a derivative through one kind of model and silently return zero for another. No error, no warning. My solver just diverged on the first step. It took a dump of every derivative on the device to see a column of exact zeros where numbers should have been. Then a field magnitude written as a square root of a square. Mathematically, sounds good but numerically it produces a nan wherever the field is exactly zero, which in a neutral chunk of silicon is nearly every edge. Then the surface mobility. I was refreshing it on every pass, forever. That is not a converging loop, that is two numbers chasing each other. The gate walk climbed to 0.50 V and then refused 0.55 V at every step size I gave it, down to a tenth of a millivolt. A failure that ignores step size is not a step size problem. I gave the refresh a stopping rule and re-ran it. Same answer to the last digit, just reachable now. The 1 micron device now agrees between the two codes to under 3.3 percent at low drain and under 1.3 percent at high drain, across four decades of current. The remaining blocker is not code. My browser is holding 15 of the machine’s 16 GB.
Devlog #8 Really tired today. Just ran a bunch of tests today and got a bunch of values ill sort through tomorrow.
Devlog #9 Since my last devlog, my solver and DEVSIM have started to cooperate. All ten benchmark devices match, the MOSFETs included, so the physics phase is done. THANK THE LORD Now I’m working on the part I care about most personally, which is making the simulator teach. The browser used to be a wall of knobs and plots with no explanation. Now every knob and every plot has a small “i” button. Click it and a drawer slides out with a plain explanation first, then the real equations for anyone who wants to go deeper. I wrote 35 of these explanations covering the physics, how the solver works, the devices, and how to read each plot. Then I checked them against the code. One credited the diodes with an accuracy number that actually belonged to a different device. Another claimed that one failed point in a sweep doesn’t ruin the rest, but the code stops at the first failure. The equations turned out to be hard to figure. The markdown reader treated the backslashes inside the math as its own escape characters and deleted them, so 92 bits of spacing and notation came out messed up. Now I pull the math out before the markdown step and put it back after. I also bundled the math and markdown libraries into the project, so the page works with no internet. Next up are band diagrams, which show the energy levels electrons can sit at. The page will draw them straight from the solved device.
Devlog #10 Since the last devlog, the simulator has gone from explaining things to letting you play with them. First, you can now compare runs. Every time you solve, the curve stays on the plot, so you can change one thing and see exactly what moved. The diode also got live sliders. Drag the doping or voltage and the answer updates while you drag. The 2D devices like the MOSFET are too slow for that, so I added a quick mode that uses a rougher grid. It’s a little less accurate, and I wrote down exactly how much. Then I built five guided lessons: a diode sitting at rest, a diode with voltage on it, a MOS capacitor, a transistor turning on, and what goes wrong when transistors get really small. Each lesson walks you through experiments step by step. The important part is that every claim a lesson makes is checked by a test against the solver I developed as part of the project. For example: if a lesson says “the current goes up,” a test runs it and makes sure it actually does. The biggest addition is a device builder. You stack layers of doped silicon however you want, and the simulator solves whatever you made. You can also save a design and load it again later. I agree I used AI for the frontend but I did not go VERY heavy on it. Only to build upon the frontend base I coded
Devlog #11 Since the last devlog, you can draw your own 2D devices, not just stack layers in a line. You draw rectangles of silicon and oxide, paint doping onto them, and place metal contacts along the edges. The simulator builds a grid that fits your drawing and solves it. Before it solves, it checks for mistakes and tells you what’s wrong in plain words: a piece of silicon with no contact touching it, a gate sitting right on silicon, or a shape too small for the grid to see. To make sure drawing works, I redrew the MOS capacitor and the transistor I already had and checked that they give the same answers. The capacitor matched almost exactly and the transistor was within about 1%. Testing it in a real browser caught two bugs. One made every solve hang forever. The other made the picture of the device grow every time it redrew on high resolution screens. Both seem to be fixed now but I’ll be on the lookout for similar bugs. Then I tried something new, a transistor sitting on a layer of oxide, the way a lot of modern chips are built. It won’t solve yet. I narrowed it down to the oxide underneath the silicon, and I’m still wondering how breaks things. More on that next time. random picture cause im too lazy to start the servers again
Devlog #12 Last time I left off with a transistor sitting on oxide that would not solve. I think ive fixed it. The silicon body had no contact touching it anywhere, so the solver had no idea what voltage that body should sit at. There is no single right answer, so it just wanders. That is not a bug I can fix, it is the physics of the thing, so now the simulator refuses that drawing up front and says why instead of grinding away at it. Then I went hunting for every other way someone could break it. I wrote something that tries every combination of settings the page can send and watched what fell over. A few things did: A gate metal with a work function no real metal has. Surface scattering asked for on a 1D device, which has no surface to scatter off. A shape so thin the grid ends up dividing by zero. All of them now get refused before the solve starts, with a sentence saying what to change. A few smaller ones. The device picture was drawn half a grid cell off, which threw off the line you drag across it to read values. That same line returned nothing at all where silicon meets oxide. And the explanations could load out of order and show you the wrong one. I think now i should wrap the version 1 of the project and finish polishing the frontend considering stardance is getting over soon. another lazy code pic btw cause i dont wanna open the servers again
Devlog #13 This one is all about the page itself. The physics didn’t change, but you’ll notice everything else did. I rebuilt the whole look from scratch. The old version was only friendly if you already knew semiconductors, and I want someone who has never heard of a diode to open it and get somewhere. Now it opens by asking you to pick a device: a diode, a MOS capacitor, a transistor, or draw your own. Each one comes with a sentence or two on what it is. Every number and switch has a little “i” next to it that explains it, and an empty plot tells you what it’s waiting for instead of sitting blank. Drawing your own device used to happen in a tiny box off to the side. Now it gets the whole screen. Some layers are so thin they basically disappeared, so I stretch the picture up and down until you can see them, and a label says when it’s stretched. Doped areas get a soft color so you can tell them apart. I also changed the font a couple of times. It started in a terminal style that felt cold. I tried one replacement and ended on Poppins, which just feels warmer. My favorite change is in the runs panel. It used to list your old runs as text, like “doping 1e17.” Now every solve saves a little picture of its own curve, and they all share the same scale, so you can see at a glance how each change moved the result. I switched the license to CC BY-NC so that it still stays technically open source but I own intellectual property for commercial use. Anyone can use it and change it for free, as long as they credit me and don’t sell it. A bit of AI usage in the frontend i will agree but not overkill in terms of it.
Devlog #14 Since then, most of my work has been getting DDSim ready for other people to use. First I cleaned up the controls. Some sliders and number boxes let you pick values that made the solver fail, which just showed up as a red error. I went through the diode, the MOS capacitor, the transistor and the draw-your-own device and found the range where each setting actually works. The sliders now stay inside those ranges, so a beginner can’t break things by accident. Then I cleaned up the code. I deleted about 2,400 lines of comments that just repeated what the code already said and kept the ones that explain something nessessary. Next came the writing. The site has about 40 short articles that explain the physics, and a lot of them sounded stiff, so I rewrote all of them. I did the same for the project docs, and on the way I found a few places where the docs no longer matched what the code does, so I fixed those too. Now I’m working on putting it online. I picked Fly.io to host it, and I’m hoping to get a free custom name. Since anyone will be able to use it, I’m adding some safety limits first. Only a couple of solves can run at the same time, old results get cleared out after a while, and a solve that runs too long gets stopped with a message explaining why. I tested each limit by breaking it on purpose to make sure the test catches it. It isn’t live yet, but it’s close! [lazy pic, i dont wanna open server again :( ]
Devlog #15 DDSim is FINALLY deployed and live! You can try it at ddsim.fly.dev Getting it online took one extra step. The cheap shared server was too slow: the hardest transistor solve takes about 50 seconds on my laptop and would have taken around 7 minutes there. That’s past the 5-minute limit I set, so it would have been stopped every time. I moved it to a faster server, and now it finishes in under a minute. Once it was up, I found a bug. When every contact on a transistor was at the same voltage, the picture still drew current flowing through it. That’s impossible, because with no voltage difference nothing moves. I fixed it, and now the page says “no current flows” instead of showing an empty plot with no explanation. Then I rewrote the README from scratch. The old one was over 500 lines and way too dense. The new one is about 200 lines, mostly screenshots from the live site plus a few tables, so someone can see what the project does in a couple of minutes. While doing that, I caught a mistake. One number in my results table didn’t match the graph right next to it. I reran the full simulation, which took 20 minutes, and fixed the table so it matches. Last, I took the deployment files out of the public code. Anyone who downloads it gets everything they need to run it on their own computer, but not the setup for putting it online. Next up, I might be thinking of getting a custom name for this simulator and my other atom simulator. If anyone knows where I can get free domains, lmk in the comments
Devlog #16 Now that DDSim is live, my next goal is to make it better than DEVSIM, a free, open-source simulator a lot of people already use. “Better” doesn’t count unless I can measure it, so I planned out the next 11 stages of the project, and the first one is a scoreboard. The scoreboard runs both simulators on the same set of devices and compares them in four ways: how often each one finishes a solve without crashing, how accurate the answers are, how fast they run, and what each one can do at all. Some of these runs take hours, and my laptop ran out of memory partway through, so I paused them. I’ll post the results once they’re done, even the parts where DEVSIM is better than mine. While building the accuracy check, I found a bug in my own math. Sometimes it reported numbers that didn’t make physical sense, so now it throws those out instead of trusting them. I also went through all the style files for the website. They’re about a third smaller now, and I checked that the page still looks exactly the same. Then I found a small bug that had been there all along. The little “i” buttons that explain each setting were supposed to turn blue when you hover over them, but a different style rule was overriding it. Last, I cleaned up the README again. The pictures are centered now, I took out the GIF, and I rewrote some of the text so it reads more naturally.
Devlog #17 I restarted the scoreboard runs, and before looking/mentioning any of the results I checked my own setup for DEVSIM. That showed a few bugs on my side. My starting guess for the voltage inside the device did a log of zero on heavily doped chips, so DEVSIM crashed INSTANTLY. I also wasn’t giving it enough steps to settle on some devices. I fixed both, because it wouldn’t be fair to count my mistakes as DEVSIM’s. I also cleaned up the code, I tried to ship all progress so far but there was just too much AI (guilty) so I am working on redoing the python, css and javascript code again mainly from scratch. (The image shows all the values from the DDSim tests)
Devlog #18 The robustness runs are almost done. Robustness checks a simple concept, if I give the solver a device cold, with no warm-up, does it actually finish? I ran 200 test cases through my solver and through DEVSIM, each in a few different setups. The robustness numbers aren’t final yet. One DEVSIM result is still missing. The first time my laptop ran out of memory, and the second time it went to sleep overnight, so it’s running again now. I also found out DEVSIM acts much differently depending on how many CPU threads it gets. With only one, some solves failed or took forever which was kinda interesting to see. On the cleanup side, I turned on the strictest type checking across the whole project and fixed what it found. Every color on the website now comes from one file. I also deleted a bunch of old files nobody used and cut the README down.
Devlog #19 The speed and robustness numbers are now saved on the scoreboard. On the first 8 benchmarks, my solver takes about 1.6x less time per bias point than DEVSIM. I also added a test that reads the README and fails if the README claims anything the data doesn’t back up (I hate getting 100% vibe code assumptions on my readme btw). I renamed a lot of variables across the code (to pass the 30% ai rule that im apparently violating) to shorter names. That kind of change can break the tests if some of the variables reference each other across multiple files, so I checked that python turns the old code and the new code into exactly the same instructions. Thankfully it did. I also moved all the settings into one file. Things like how many tries the solver gets, how small the mesh can get, and the server limits used to be scattered across about 20 files. I checked that every single value stayed exactly the same after the move. I also deleted the last few leftover comments. Then I pushed everything. The tests ran on three Python versions, and 2,723 of 2,724 passed. The one that failed was a browser test on Python 3.11 that waited too long for the page to load. The same test passed on the other two versions, so it’s probably just a slow test machine, but I’m going to rerun it to make sure. My laptop ran out of memory again, which stopped me from finishing the type hints in the tests. That’s next, once I’m not running a bunch of other stuff at the same time.
Devlog #20 In this devlog i firstly fixed up the website. It now has a little icon in the browser tab, a terms page, a privacy page and a footer with a contact button. The icon didn’t show up on the live site at first, so I fixed that too. Then I started the next phase, which is all about fixing temperature related stuff. A lot of the calculations of the simulator took room temperature which might have led to some wrong calculations, so I’ve been fixing that. The gate’s energy level was stuck at its room-temperature value. it was a real bug and its fixed now. When the silicon gets hotter, electrons now max out at a lower speed, just like in real-life chips. From 250 to 400 K, the junction’s built-in voltage matches the textbook formula. From 300 to 400 K, the diode’s leakage current stays within 0.3% of the formula. I also added a fixed charge that sits where the silicon meets the oxide layer. Real chips always have some, and it changes the voltage where a transistor turns on. Next up are the big jobs. A long DEVSIM run is still going, and after that I’ll test the temperature effects on a full 2D transistor. I also still need to put the website changes live.
Devlog #21 Since the last devlog I finished most of the temperature phases. First I compared the diode at 400 K against DEVSIM. I saved that result so my other tests compare with it from now on. Then I added two new sliders to the website. One sets the temperature, from 200 to 500 K. The other sets the fixed charge where the silicon meets the oxide. I picked both ranges by running the simulator across them. Each slider also has a short lesson that explains what it does. While I was writing those, I found some broken math formatting in the temperature lesson and fixed it. The biggest addition is freeze-out. To make silicon conduct, we add extra atoms that give up electrons. When it gets really cold, those atoms stop giving up their electrons. Before, my simulator assumed they always did. Now there’s a switch for it, and it works. At 100, 200 and 300 K it matches the textbook formula almost exactly. I also checked that a plain frozen silicon bar still follows Ohm’s law, and that the capacitance results still work at 150 K.
Devlog #22 The long DEVSIM run finally finished. It took about 6 hours and matched the expert result almost exactly, which closes out the scoreboard phase. Then I started the next phase, which is about AC. That essentially means wiggling the voltage back and forth and watching how the device reacts at different speeds. Before, my simulator could only handle super slow wiggles, or fast ones where I froze some electrons by hand. Now it can handle any speed. To get there, I first taught the simulator how fast electrons and holes pile up or drain away over time. Then I wrote the part that works out how much current flows into each contact when one of them gets wiggled. I tested it on diodes, since they have textbook formulas to compare against. A long diode matched within about 1%, and a short one within 1.3%. Along the way I found a bug where my mesh maker gave up on very long devices, so I fixed that too. The MOS capacitor is giving me some trouble. At really slow wiggles, the math needs more precision than normal computer numbers have, so the answers came out wrong by up to 46%. Fast wiggles work fine. Right now I’m trying a trick where I make the electrons react faster, so the slow case happens at a speed the computer can handle. Below are some of the DEVSIM scoreboard values
Devlog #23 The trick for the MOS capacitor worked. Making the electrons react faster put the slow wiggles at a speed the computer can handle, and the answers came out right. That FINALLY finished the AC phase. I also added noise, a tiny random jitter in current that every device has. Next I added time. Now its possible to flip a diode from on to off and watch it recover. When you switch a diode off, it keeps conducting for a moment because of all the charge stored inside it. I compared that against DEVSIM, and our results were within 0.03% of each other which is quite frankly something im really proud off. Then I added a feature where the simulator shows how inaccurate it may be. It now checks its own answer against a finer mesh and puts a little error bar on every point in the plots. It can also improve its own mesh by adding points only where they’re needed. On 5 of my 8 test devices it hit the target accuracy with fewer points than my hand-made meshes. I was aiming for around 6, so that’s still doable. The newest addition is a bipolar transistor, where a small current into the middle layer controls a much bigger current through the whole device. I built a simple 1D version and a more realistic 2D one. The 1D version matches the textbook formula to within 0.03%. The best part is that its gain drops off at both very low and very high current, the way real transistors do, and I never told it to. It figured that out from the physics.
Ships:
I built DDSim, a program that simulates what happens inside the tiny parts that computer chips are made of, ie diodes, capacitors and transistors. You describe a device by its shape and which parts of the silicon have extra electrons or holes. DDSim then works out how those electrons and holes move, and draws the current and voltage curves. I didn’t fit anything to make the graphs look right. Everything comes straight from the physics equations. (NOTE: ITS STILL VERY CLUNKY SO ITS NOT GOING TO BE PERFECT AS OF RIGHT NOW. IF YOU FACE ANY TROUBLES IM REALLY SORRY) To make sure everything accurate, I checked it against textbook formulas and against DEVSIM, a simulator other people wrote. They agree to within a few percent, and the project has about 2,700 automated tests. You can try it in your browser at ddsim.fly.dev. Pick a device, press solve, and watch the answer draw itself. Every button and graph has a little “i” that explains what it means, and there are guided lessons if you’re new to this. It’s a school-level instrument, not a chip design tool. Below about 50 nanometers the physics it uses stops being accurate, so I didn’t go beyond that...
|
1793004958.5938606
|
1793091358.5938606
|
|
29817
|
Gleam by @arth_mi | Stardance
|
arth_mi
|
1
|
31.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T22:29:30Z", "hours": 31.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Gleam is a FastAPI backend driving RGBW strips through a generic plugin API, so effects are built on exposed primitives (color, intensity, dim) rather than hardcoded. The tricky part was getting the architecture right first: syncing modules through a shared clock and separating color/intensity/white as distinct render layers. I’m especially proud of the Ambilight module, which captures HDMI output live and mirrors it onto the strip in real time, fully on-device with no cloud dependency.", "repo": "https://github.com/arthmi/gleam", "demo": "https://gleam-virid.vercel.app/docs"}]...
|
[{"post_id": 72828, "ts": "202 [{"post_id": 72828, "ts": "2026-09-23T20:31:06Z", "hours": 10.8583, "text": "Just finished a new module! The module is called audio_reactive and, as its name suggests, it reacts to the audio input provided (system default if parameter = None). It lights up the selected target as the sound gets louder. It also features animations to make sudden transitions feel smoother.Here are the parameters for this module: device: Audio input device name, or a portion of it (empty = system default) color: Color of the light min_intensity: Intensity when the input is silent [0.0 - 1.0] max_intensity: Intensity at maximum volume [0.0 - 1.0] sensitivity: Gain applied to the normalized level [0.1 - 5.0] attack: Rise time in milliseconds (how quickly the light reacts to a louder sound) release: Fall time in milliseconds (how slowly the light fades when the sound drops)"}, {"post_id": 45228, "ts": "2026-08-11T15:51:49Z", "hours": 3.2964, "text": "Rewrite the entirety of the Ambilight module for better functionalities and performances. I wrote an advanced algorithm to get a smoother result in addition to more parameters : device_index edge reversed band_depth_percent weight_exponent sample_overlap_percent saturation_boost -temporal_smoothing_tau The main functionalities added are: Advanced Color Averaging: Improved methods to calculate smarter average colors, such as sampling larger color bands or allowing LEDs to influence adjacent colors. Temporal Smoothing: Introduction of “temporal_smoothing_tau” to ensure smoother, more natural color transitions over time. Enhanced Immersion: Addition of “saturation_boost” and “weight_exponent” parameters to deliver a more vibrant and immersive visual experience. For instance, the colors on the left terminal simulate the final result that would handle the left edge of the screen (using default parameters)."}, {"post_id": 34682, "ts": "2026-07-25T16:23:38Z", "hours": 16.5069, "text": "Just finished the main functionalities of the ambilight module of my LED controller. It takes a stream from the edge of the screen (HDMI to USB, for example), then processes each frame to get the average color of the surrounding area. I’m still working on a blur effect that would give a less detailed result for a better experience. (Sorry for the bad recording quality, this was made on an old laptop.)"}]...
|
Title: Gleam by @arth_mi | Stardance
Devlogs:
Jus Title: Gleam by @arth_mi | Stardance
Devlogs:
Just finished the main functionalities of the ambilight module of my LED controller. It takes a stream from the edge of the screen (HDMI to USB, for example), then processes each frame to get the average color of the surrounding area. I’m still working on a blur effect that would give a less detailed result for a better experience. (Sorry for the bad recording quality, this was made on an old laptop.)
Rewrite the entirety of the Ambilight module for better functionalities and performances. I wrote an advanced algorithm to get a smoother result in addition to more parameters : device_index edge reversed band_depth_percent weight_exponent sample_overlap_percent saturation_boost -temporal_smoothing_tau The main functionalities added are: Advanced Color Averaging: Improved methods to calculate smarter average colors, such as sampling larger color bands or allowing LEDs to influence adjacent colors. Temporal Smoothing: Introduction of “temporal_smoothing_tau” to ensure smoother, more natural color transitions over time. Enhanced Immersion: Addition of “saturation_boost” and “weight_exponent” parameters to deliver a more vibrant and immersive visual experience. For instance, the colors on the left terminal simulate the final result that would handle the left edge of the screen (using default parameters).
Just finished a new module! The module is called audio_reactive and, as its name suggests, it reacts to the audio input provided (system default if parameter = None). It lights up the selected target as the sound gets louder. It also features animations to make sudden transitions feel smoother.Here are the parameters for this module: device: Audio input device name, or a portion of it (empty = system default) color: Color of the light min_intensity: Intensity when the input is silent [0.0 - 1.0] max_intensity: Intensity at maximum volume [0.0 - 1.0] sensitivity: Gain applied to the normalized level [0.1 - 5.0] attack: Rise time in milliseconds (how quickly the light reacts to a louder sound) release: Fall time in milliseconds (how slowly the light fades when the sound drops)
Ships:
Gleam is a FastAPI backend driving RGBW strips through a generic plugin API, so effects are built on exposed primitives (color, intensity, dim) rather than hardcoded. The tricky part was getting the architecture right first: syncing modules through a shared clock and separating color/intensity/white as distinct render layers. I’m especially proud of the Ambilight module, which captures HDMI output live and mirrors it onto the strip in real time, fully on-device with no cloud dependency....
|
1793004957.4157271
|
1793091357.4157271
|
|
19029
|
nosrep's ender 3 printhead by @nosrep | Starda nosrep's ender 3 printhead by @nosrep | Stardance...
|
nosrep
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T06:04:06Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is my ender 3 printhead! the printhead is the part that heats up and extrudes the plastic with all the accessories that entails. i originally decided to make this when i randomly came into a direct drive extruder upgrade and a bltouch. i wasn’t satisfied with the existing designs to mount the two to the ender 3 (and i thought it would be fun to make my own), so i did! it’s got a biqu h2 v2s direct extruder, two gdstime 5015 blower fans for part cooling, and a bltouch for bed leveling. printing is now much faster, more precise, and leveling isn’t as much of a pain. the picture below and the video demo is the result of the pin support challenge from fullcontrol.xyz, very nice if i do say so myself (P.S. i brought this to outpost! i was the guy with the neck printer, iykyk.)", "repo": "https://github.com/Osrepnay/h2-v2s-coolhead", "demo": ""}]...
|
[{"post_id": 25998, "ts": "202 [{"post_id": 25998, "ts": "2026-07-10T15:32:06Z", "hours": 0.35, "text": "I made some duct modifications and now cooling seems to be much better. I think the new duct is choking the airflow a bit too much, but it’s more focused and can actually reach the spot right under the nozzle (which the old one seemed to struggle with?). I also did a LOT of testing, didn’t track most of it. Probably could benefit from a little more tuning, but we can do the pin support sphere on fullcontrol.xyz now! fixed some of the lingering issues, like the bltouch interfering with the duct and the bltouch interfering with the endstop (it’s always the bltouch…). we should be done now"}, {"post_id": 25354, "ts": "2026-07-09T16:20:41Z", "hours": 1.5556, "text": "it has been built! it is so loud! I finished designing the ducting and finished printing out everything, immediately a couple problems: ducts bump into bltouch (this was also in the cad but i didn’t notice) and the ducts are really flimsy. The ducts themselves are fine but the front plate is too thin to keep it in place properly. They work but it’s kinda sketchy. To fix the bltouch thing I just melted the ducts with my soldering iron, already remodeled a fixed version but have yet to print. The extruder seems to be not tuned very well. I set the manufacturer-recommended esteps, but it could be off. The cooling also seems to be sketchy? I can feel an insane amount of airflow but i don’t know if it’s going to the part yet. It aims a little low and I reprinted a bridging test I made earlier and the results seem to be worse. I also need to do some fixes later if i want to use this long-term. I couldn’t make a new extruder cable because my crimping tool couldn’t handle jst-ph, so i’m gonna have to deal with the stock extruder cable which severely limits the amount of vertical travel I can handle."}, {"post_id": 24836, "ts": "2026-07-08T17:25:42Z", "hours": 4.0925, "text": "i think i finally finished the ducts… these were nightmarish to make. onshape conveniently doesn’t have 3d sketches, so I did a horribly janky system involving planes and a routing curve. The path the duct had to take ended up being kinda strange, so the loft would constantly crash out because the profiles turned too sharply. i did eventually get the loft to cooperate, and the duct looks okay? it’s still very lumpy, but it should transition relatively smoothly, which is what’s important for airflow. i’ve also started printing the parts now. as i’m typing this, the main mount is finished and the fan mount is almost done. after that i should theoretically be good to assemble once i print the ducts (this is the video i used for duct design principles: https://www.youtube.com/watch?v=YijwkQCOBEA )"}, {"post_id": 12713, "ts": "2026-06-20T19:22:19Z", "hours": 1.2339, "text": "made ducting setup and fine tuned fan mounts actual duct geometry still gonna need a lot of work and maybe prototypes though"}, {"post_id": 12346, "ts": "2026-06-20T04:22:56Z", "hours": 2.7828, "text": "got the bltouch probing after much pain and suffering. needed to make new wires for this, duponts crimped okay but the crimper i borrowed was too wide to crimp the jst-xh properly. did it horribly and it seems sturdyish for now but it is incredibly sketchy and probably a fire hazard (i would be more worried if the bltouch drew more current). the plan was originally to remake the extruder wire, but after this i’m probably gonna have to hold off until i can get a proper crimper"}, {"post_id": 12046, "ts": "2026-06-19T17:25:26Z", "hours": 0.7667, "text": "reverted bltouch position. blower on the side looked too dumb so they’re both going on the front now. Blower mount still needs some refinement but should be basically done, then need ducts"}, {"post_id": 11778, "ts": "2026-06-19T05:09:01Z", "hours": 1.0978, "text": "switched out the bltouch mount position for the blower. struggled with making sane supports, still need to fix that"}, {"post_id": 11705, "ts": "2026-06-19T02:08:31Z", "hours": 0.7425, "text": "did some heat break testing. wanted to see if the casing of the hotend would get hot so i wired up the thermistor+heating element onto the board. waited a few minutes with a cheap fan i had pointed at the heat sink and it didn’t seem to get very hot so that’s a win for the future 3d printed mount. also i soldered the header to and wired up the accelerometer"}, {"post_id": 10347, "ts": "2026-06-17T00:59:54Z", "hours": 0.7556, "text": "mounted the bltouch. it kinda occludes the hotend fan but there shouuulllldd be enough space to not choke it up too bad, assuming it’s not total garbage (doubtful) tried to find a good part cooling fan position too and they’re all strange looking"}, {"post_id": 10232, "ts": "2026-06-16T21:15:35Z", "hours": 1.0567, "text": "got models for bltouch and 5015 fans surprisingly annoying, neither have official models and one model i found online for the bltouch was weird (holes that were supposed to be 18mm were like 17.998mm) and so i immediately gave up and made my own. it looks really bad but it should be usable dimensionally tried a bunch of alternatives for the 5015 fan. tried an alternative manufacturer but it differed too much from the other two community models (which were extremely similar to each other), so i just picked the more popular one. Couldn’t really model this one myself because I don’t have calipers to measure the dimensions and don’t have the fans yet to begin with"}, {"post_id": 9737, "ts": "2026-06-16T05:05:24Z", "hours": 1.165, "text": "did more work on the mount (accidentally forgot to start recording so there’s like an hour of work not listed here) the extruder part is done. there’s still some weirdness in the cad that I should probably clean but i’m also really lazy still need to make part for part cooling fans and bltouch timelapse: https://lapse.hackclub.com/timelapse/ZeQnBYR1oswD"}, {"post_id": 9601, "ts": "2026-06-16T00:10:25Z", "hours": 0.5639, "text": "biqu/bigtreetech does not have cad models for the extruder, but someone on printables made a very accurate one that i’m pulling for measurements. Confirmed it with the drawings that were in the “manual” for the h2 v2s"}]...
|
Title: nosrep's ender 3 printhead by @nosrep | Title: nosrep's ender 3 printhead by @nosrep | Stardance
Devlogs:
biqu/bigtreetech does not have cad models for the extruder, but someone on printables made a very accurate one that i’m pulling for measurements. Confirmed it with the drawings that were in the “manual” for the h2 v2s
did more work on the mount (accidentally forgot to start recording so there’s like an hour of work not listed here) the extruder part is done. there’s still some weirdness in the cad that I should probably clean but i’m also really lazy still need to make part for part cooling fans and bltouch timelapse: https://lapse.hackclub.com/timelapse/ZeQnBYR1oswD
got models for bltouch and 5015 fans surprisingly annoying, neither have official models and one model i found online for the bltouch was weird (holes that were supposed to be 18mm were like 17.998mm) and so i immediately gave up and made my own. it looks really bad but it should be usable dimensionally tried a bunch of alternatives for the 5015 fan. tried an alternative manufacturer but it differed too much from the other two community models (which were extremely similar to each other), so i just picked the more popular one. Couldn’t really model this one myself because I don’t have calipers to measure the dimensions and don’t have the fans yet to begin with
mounted the bltouch. it kinda occludes the hotend fan but there shouuulllldd be enough space to not choke it up too bad, assuming it’s not total garbage (doubtful) tried to find a good part cooling fan position too and they’re all strange looking
did some heat break testing. wanted to see if the casing of the hotend would get hot so i wired up the thermistor+heating element onto the board. waited a few minutes with a cheap fan i had pointed at the heat sink and it didn’t seem to get very hot so that’s a win for the future 3d printed mount. also i soldered the header to and wired up the accelerometer
switched out the bltouch mount position for the blower. struggled with making sane supports, still need to fix that
reverted bltouch position. blower on the side looked too dumb so they’re both going on the front now. Blower mount still needs some refinement but should be basically done, then need ducts
got the bltouch probing after much pain and suffering. needed to make new wires for this, duponts crimped okay but the crimper i borrowed was too wide to crimp the jst-xh properly. did it horribly and it seems sturdyish for now but it is incredibly sketchy and probably a fire hazard (i would be more worried if the bltouch drew more current). the plan was originally to remake the extruder wire, but after this i’m probably gonna have to hold off until i can get a proper crimper
made ducting setup and fine tuned fan mounts actual duct geometry still gonna need a lot of work and maybe prototypes though
i think i finally finished the ducts… these were nightmarish to make. onshape conveniently doesn’t have 3d sketches, so I did a horribly janky system involving planes and a routing curve. The path the duct had to take ended up being kinda strange, so the loft would constantly crash out because the profiles turned too sharply. i did eventually get the loft to cooperate, and the duct looks okay? it’s still very lumpy, but it should transition relatively smoothly, which is what’s important for airflow. i’ve also started printing the parts now. as i’m typing this, the main mount is finished and the fan mount is almost done. after that i should theoretically be good to assemble once i print the ducts (this is the video i used for duct design principles: https://www.youtube.com/watch?v=YijwkQCOBEA )
it has been built! it is so loud! I finished designing the ducting and finished printing out everything, immediately a couple problems: ducts bump into bltouch (this was also in the cad but i didn’t notice) and the ducts are really flimsy. The ducts themselves are fine but the front plate is too thin to keep it in place properly. They work but it’s kinda sketchy. To fix the bltouch thing I just melted the ducts with my soldering iron, already remodeled a fixed version but have yet to print. The extruder seems to be not tuned very well. I set the manufacturer-recommended esteps, but it could be off. The cooling also seems to be sketchy? I can feel an insane amount of airflow but i don’t know if it’s going to the part yet. It aims a little low and I reprinted a bridging test I made earlier and the results seem to be worse. I also need to do some fixes later if i want to use this long-term. I couldn’t make a new extruder cable because my crimping tool couldn’t handle jst-ph, so i’m gonna have to deal with the stock extruder cable which severely limits the amount of vertical travel I can handle.
I made some duct modifications and now cooling seems to be much better. I think the new duct is choking the airflow a bit too much, but it’s more focused and can actually reach the spot right under the nozzle (which the old one seemed to struggle with?). I also did a LOT of testing, didn’t track most of it. Probably could benefit from a little more tuning, but we can do the pin support sphere on fullcontrol.xyz now! fixed some of the lingering issues, like the bltouch interfering with the duct and the bltouch interfering with the endstop (it’s always the bltouch…). we should be done now
Ships:
this is my ender 3 printhead! the printhead is the part that heats up and extrudes the plastic with all the accessories that entails. i originally decided to make this when i randomly came into a direct drive extruder upgrade and a bltouch. i wasn’t satisfied with the existing designs to mount the two to the ender 3 (and i thought it would be fun to make my own), so i did! it’s got a biqu h2 v2s direct extruder, two gdstime 5015 blower fans for part cooling, and a bltouch for bed leveling. printing is now much faster, more precise, and leveling isn’t as much of a pain. the picture below and the video demo is the result of the pin support challenge from fullcontrol.xyz, very nice if i do say so myself (P.S. i brought this to outpost! i was the guy with the neck printer, iykyk.)...
|
1793004956.159373
|
1793091356.159373
|
|
9931
|
ChatPatches by @obro1984 | Stardance
|
obro1984
|
1
|
83.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-06T05:39:03Z", "hours": 83.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is Chat Patches! I’m gonna cut to the chase and explain the process of developing recently because everything about the mod is on the GitHub readme, in the changelog, and in these devlogs. Recently I’ve found time management difficult and as a result I’ve had to be more efficient and creative about how I’m spending my time developing. There’s been an influx in community contributions via PR which has been quite helpful, but most is still left up to me. However, one benefit of not having as much time to work on things is that issues I can’t seem to solve have more time for me to simmer and ponder to come up with solutions. however, this has postponed some big features i’ve already been putting off even more… hopefully i can get around to those and find some breakthrough point to pull myself through. anyways, in terms of changes, most of it has been bugfixes, but there have been a handful of additions recently, especially related to new configuration options (compact-safe messages, human-readable time format, cleaner context menu, etc.) - of course with plans to add many more. i’m proud of all these features and how far the mod has come, and frankly i’m surprised im even still developing it. i hope i can get the bigger stuff done soon so i can move on to bigger things, though. to test the mod, just set up fabricmc as explained on their website or via literally any modded minecraft tutorial - i recommend using a third-party launcher such as PrismLauncher as it keeps track of everything for you and wraps it in a nice interface. once your installation is ready simply add chat patches and its dependencies (again, using a launcher will help as it will add the deps for you!) and run the game! i hope your experience is bettered and you make the chat feel as personalized as you like :D", "repo": "https://github.com/mrbuilder1961/ChatPatches", "demo": "https://modrinth.com/mod/chatpatches/gallery"}]...
|
[{"post_id": 77225, "ts": "202 [{"post_id": 77225, "ts": "2026-10-06T05:21:48Z", "hours": 7.6692, "text": "8.0.0 released! yes, it’s been done! chat patches has been in alpha for a year and the better part of another? all because i finally impl’d the omnivers-stonecutter buildscript and additionally wanted more large-scale changes (test suite, neoforge support, DFU migration codec) ((of which are still planned… eventually!!)) … but then i just never took it off. well, you can’t wait around forever. also, this update is perfect for releasing as a whopping TEN issue reports were closed upon release, with countless others fixed soundlessly! credit where it’s due, there was a fair amount of community support via PRs for this release, but that doesn’t take away from the benefit we as a community experience from it being added! while we’re out here celebrating these crushed bugs, new features, and the return to release-channel versions, i think it’s safe to say chat patches is worthy of shipping too! i hope you’ve enjoyed using chat patches and it’s bettered your minecraft experience - and if you haven’t used it, i hope you’ll give it a try and let me know what you think. thanks again to everyone who contributed and cheers to even more fixes and features in the future! 🎉🥳💃🎈"}, {"post_id": 72734, "ts": "2026-09-23T16:44:23Z", "hours": 12.9153, "text": "i’ve been very busy with university starting, but recently there has been an influx in PRs fixing bugs, which is awesome! so i’ve been monitoring those and slowly merging them into the main branch. additionally, i’ve been chipping away at fixes and suggestion implementations here and there; specifically: excluding specific messages from being compacted updating to 26.3 actually uploading signature files (now that Modrinth officially supports them) fixing chat auto scrolling while duplicate messages are being received adding fallbacks for the chat log’s codec provider in case the current one fails/doesn’t exist ..and more!! i hope to add more stuff soon and publish a release, but i have about 4 free minutes per week and unfortunately, i end up not wanting to spend it on largely unpaid labor. nevertheless, my aspirations remain and my hopes are high!"}, {"post_id": 46725, "ts": "2026-08-14T05:34:29Z", "hours": 5.3536, "text": "i’ve been SUPER busy as of late, and will probably continue to be for at least another week or two if not longer, but i’m starting to begin to wrap up unit testing. i finally pushed the existing tests and framework to github on a separate branch, but bc i’m so bad at Git, IntelliJ is fucking up my other changes i’m currently working on (updating the main omnivers branch to 26.3-snapshot-8 )… so hopefully i can fix that soon. unfortunately i don’t know when the unit testing will be finished, as it takes a longggg time to figure out the little edge cases, and i prefer to avoid AI everywhere possible (although there’s only so much ethical struggling i can endure before i need to ask for help)."}, {"post_id": 29224, "ts": "2026-07-16T00:17:47Z", "hours": 10.7325, "text": "Unit Testing! yup, that’s what’s been taking so long. i actually got past the gradle setup part pretty quick, i just wasn’t expecting current code to be so… dysfunctional. i’ve done a lot of rewriting and test formatting and sometimes it just gets really brain numbing so i put on a youtube video in the background and then its been 45 minutes and i havent changed anything… but i just achieved my first all-passing test milestone! so i’ll be pushing it soon and then i’ll the changes that make everything pass will follow soon after. currently I’m targeting TextUtil , where the most edge-cases take place, in the form of String <-> Component transformations. ultimiately i’d like to also do E2E testing in the form of Fabric’s ClientGameTest , but those can only be done on the most recent version due to FAPI not backporting changes (it’s probably for the best anyway) - so i’ll be doing that last. that’s it for now! i can’t wait for everyone (especially me), to benefit from this when future releases are checked before releasing! yayyyy!!!"}, {"post_id": 21584, "ts": "2026-07-03T16:47:26Z", "hours": 22.8564, "text": "hey chat! i’ve finished up some of that stuff from before. most notably: publishMods now works again! turns out Modrinth just recently (i.e. this week) allowed attaching signatures to builds so it’s not currently supported with MPP also, turns out the whole checksum thing was kinda useless because Modrinth has provided file hashes via their API this whole time - so… i think i’m gonna table that idea for now and use that later i published a new version ( alpha.11 ) that fixes the teensy-eensy little problem that incomplete mixins were accidentally included in the jar uploaded to CF and MR as alpha.10 . whoops! version parsing is now much more robust and typically requires only one gradle property to be specified! for newer releases you can override the FMJ version (ex. w/ ~26.2 for the 26.2 subproject) and the rest is handled automatically. i’m also waiting on MPP#116 to see if this can be consolidated entirely, with no need for an extra override! the classtweaker is now stone-cut so it’s a bit easier to see what is applied to where cleaned up the buildscript more (it is perpetually dirty :/) fixed a handful of bugs and impl’d a couple suggestions! and now, i get to move on to one of the most daunting but hopefully most rewarding things: drumroll please…. ztzttstz.z.t..z….. unit testing!!! you’re probably thinking, chat patches hasn’t had any unit tests this WHOLE time!??! and you’d be right! idk how there aren’t more bugs. but now i’m putting everything else (chat patches wise, at least) on hold to get this done. bc if i don’t do it now, it will never get done. ik this isn’t very pretty but you gotta do what you gotta do."}, {"post_id": 15214, "ts": "2026-06-24T18:36:47Z", "hours": 23.2442, "text": "i’ve been doing what feels like a lot but isn’t overall much. i’ve been refactoring the Kotlin Gradle buildscript, which i’m notoriously bad at so it’s taking a really long time. some of my (attempted) changes include: generating signatures and checksums with published builds (2/3 done) simplified stonecutter replacements and swaps assessed what will need to change to transition to the new modstitch-toolkit minorly updated mod-publish-plugin and started planning for new version range parsing and functionality in other things, i’ve: fixed the context menu deletion option resetting the scroll pos removed the entirely unused option table in the README better utilized classtweakers in the context menu implemented annotation-based constraints for config options replaced the dual-impl option validation system with a unified one via codecs (now used in the YACL config, with one annoying side effect) future-proofed the module-based fabric api importing so that it only loads what’s necessary (and it should work with neoforge when i eventually impl that!) updated mod functionality to 26.2 (despite being unable to publish everything at once 😑)"}]...
|
Title: ChatPatches by @obro1984 | Stardance
Devlo Title: ChatPatches by @obro1984 | Stardance
Devlogs:
i’ve been doing what feels like a lot but isn’t overall much. i’ve been refactoring the Kotlin Gradle buildscript, which i’m notoriously bad at so it’s taking a really long time. some of my (attempted) changes include: generating signatures and checksums with published builds (2/3 done) simplified stonecutter replacements and swaps assessed what will need to change to transition to the new modstitch-toolkit minorly updated mod-publish-plugin and started planning for new version range parsing and functionality in other things, i’ve: fixed the context menu deletion option resetting the scroll pos removed the entirely unused option table in the README better utilized classtweakers in the context menu implemented annotation-based constraints for config options replaced the dual-impl option validation system with a unified one via codecs (now used in the YACL config, with one annoying side effect) future-proofed the module-based fabric api importing so that it only loads what’s necessary (and it should work with neoforge when i eventually impl that!) updated mod functionality to 26.2 (despite being unable to publish everything at once 😑)
hey chat! i’ve finished up some of that stuff from before. most notably: publishMods now works again! turns out Modrinth just recently (i.e. this week) allowed attaching signatures to builds so it’s not currently supported with MPP also, turns out the whole checksum thing was kinda useless because Modrinth has provided file hashes via their API this whole time - so… i think i’m gonna table that idea for now and use that later i published a new version ( alpha.11 ) that fixes the teensy-eensy little problem that incomplete mixins were accidentally included in the jar uploaded to CF and MR as alpha.10 . whoops! version parsing is now much more robust and typically requires only one gradle property to be specified! for newer releases you can override the FMJ version (ex. w/ ~26.2 for the 26.2 subproject) and the rest is handled automatically. i’m also waiting on MPP#116 to see if this can be consolidated entirely, with no need for an extra override! the classtweaker is now stone-cut so it’s a bit easier to see what is applied to where cleaned up the buildscript more (it is perpetually dirty :/) fixed a handful of bugs and impl’d a couple suggestions! and now, i get to move on to one of the most daunting but hopefully most rewarding things: drumroll please…. ztzttstz.z.t..z….. unit testing!!! you’re probably thinking, chat patches hasn’t had any unit tests this WHOLE time!??! and you’d be right! idk how there aren’t more bugs. but now i’m putting everything else (chat patches wise, at least) on hold to get this done. bc if i don’t do it now, it will never get done. ik this isn’t very pretty but you gotta do what you gotta do.
Unit Testing! yup, that’s what’s been taking so long. i actually got past the gradle setup part pretty quick, i just wasn’t expecting current code to be so… dysfunctional. i’ve done a lot of rewriting and test formatting and sometimes it just gets really brain numbing so i put on a youtube video in the background and then its been 45 minutes and i havent changed anything… but i just achieved my first all-passing test milestone! so i’ll be pushing it soon and then i’ll the changes that make everything pass will follow soon after. currently I’m targeting TextUtil , where the most edge-cases take place, in the form of String <-> Component transformations. ultimiately i’d like to also do E2E testing in the form of Fabric’s ClientGameTest , but those can only be done on the most recent version due to FAPI not backporting changes (it’s probably for the best anyway) - so i’ll be doing that last. that’s it for now! i can’t wait for everyone (especially me), to benefit from this when future releases are checked before releasing! yayyyy!!!
i’ve been SUPER busy as of late, and will probably continue to be for at least another week or two if not longer, but i’m starting to begin to wrap up unit testing. i finally pushed the existing tests and framework to github on a separate branch, but bc i’m so bad at Git, IntelliJ is fucking up my other changes i’m currently working on (updating the main omnivers branch to 26.3-snapshot-8 )… so hopefully i can fix that soon. unfortunately i don’t know when the unit testing will be finished, as it takes a longggg time to figure out the little edge cases, and i prefer to avoid AI everywhere possible (although there’s only so much ethical struggling i can endure before i need to ask for help).
i’ve been very busy with university starting, but recently there has been an influx in PRs fixing bugs, which is awesome! so i’ve been monitoring those and slowly merging them into the main branch. additionally, i’ve been chipping away at fixes and suggestion implementations here and there; specifically: excluding specific messages from being compacted updating to 26.3 actually uploading signature files (now that Modrinth officially supports them) fixing chat auto scrolling while duplicate messages are being received adding fallbacks for the chat log’s codec provider in case the current one fails/doesn’t exist ..and more!! i hope to add more stuff soon and publish a release, but i have about 4 free minutes per week and unfortunately, i end up not wanting to spend it on largely unpaid labor. nevertheless, my aspirations remain and my hopes are high!
8.0.0 released! yes, it’s been done! chat patches has been in alpha for a year and the better part of another? all because i finally impl’d the omnivers-stonecutter buildscript and additionally wanted more large-scale changes (test suite, neoforge support, DFU migration codec) ((of which are still planned… eventually!!)) … but then i just never took it off. well, you can’t wait around forever. also, this update is perfect for releasing as a whopping TEN issue reports were closed upon release, with countless others fixed soundlessly! credit where it’s due, there was a fair amount of community support via PRs for this release, but that doesn’t take away from the benefit we as a community experience from it being added! while we’re out here celebrating these crushed bugs, new features, and the return to release-channel versions, i think it’s safe to say chat patches is worthy of shipping too! i hope you’ve enjoyed using chat patches and it’s bettered your minecraft experience - and if you haven’t used it, i hope you’ll give it a try and let me know what you think. thanks again to everyone who contributed and cheers to even more fixes and features in the future! 🎉🥳💃🎈
Ships:
This is Chat Patches! I’m gonna cut to the chase and explain the process of developing recently because everything about the mod is on the GitHub readme, in the changelog, and in these devlogs. Recently I’ve found time management difficult and as a result I’ve had to be more efficient and creative about how I’m spending my time developing. There’s been an influx in community contributions via PR which has been quite helpful, but most is still left up to me. However, one benefit of not having as much time to work on things is that issues I can’t seem to solve have more time for me to simmer and ponder to come up with solutions. however, this has postponed some big features i’ve already been putting off even more… hopefully i can get around to those and find some breakthrough point to pull myself through. anyways, in terms of changes, most of it has been bugfixes, but there have been a handful of additions recently, especially related to new configuration options (compact-safe messages, human-readable time format, cleaner context menu, etc.) - of course with plans to add many more. i’m proud of all these features and how far the mod has come, and frankly i’m surprised im even still developing it. i hope i can get the bigger stuff done soon so i can move on to bigger things, though. to test the mod, just set up fabricmc as explained on their website or via literally any modded minecraft tutorial - i recommend using a third-party launcher such as PrismLauncher as it keeps track of everything for you and wraps it in a nice interface. once your installation is ready simply add chat patches and its dependencies (again, using a launcher will help as it will add the deps for you!) and run the game! i hope your experience is bettered and you make the chat feel as personalized as you like :D...
|
1793004953.9332492
|
1793091353.9332492
|
|
57231
|
My Personal Site by @Coding-AN | Stardance
|
Coding-AN
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T21:14:58Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my personal website that I made using HTML and CSS. It contains some information about me, as well as what I’m currently up to. Additionally, it contains some of my past projects, as well as a link to my GitHub. As I continue to make more things and have more to share, I will continue to update it. It’s the first time I’ve done any web development, and although it’s on the simple side, I think it turned out great!", "repo": "https://github.com/Coding-AN/Website-AN", "demo": "https://coding-an.github.io/Website-AN/"}]...
|
[{"post_id": 67670, "ts": "202 [{"post_id": 67670, "ts": "2026-09-13T20:37:50Z", "hours": 0.2675, "text": "I implemented the pseudo-classes on all the links of my website, so now the element gets bigger when you hover over it. As for the overly centered nature of the site, since I don’t want to give up my current stacked layout or mess with the scale, I’ve decided to keep everything as it is. My next step will be to ship, so look out for that."}, {"post_id": 67503, "ts": "2026-09-13T17:00:11Z", "hours": 1.8864, "text": "I fixed the scaling of the website, and centered everything. Everything might be a little too centered though, as there’s too much empty space on the sides. It looks good in a portrait orientation, but for a desktop-focused website, I think it needs a little tweaking. Although I was originally planning to stop here, I’ll be implementing pseudo-classes to add some interaction to the website, and try to see how I can fix the design of the site"}, {"post_id": 66943, "ts": "2026-09-12T22:23:09Z", "hours": 0.6019, "text": "I added a section for my projects, and added a link to my GitHub at the top. I think I’m finished with the content of the website now. However, before I ship, I still need to finish the scaling of the website, as the sizing of elements is completely out of wack."}, {"post_id": 65722, "ts": "2026-09-11T02:04:56Z", "hours": 1.6728, "text": "I added an about me section, as well as a section that details what I’m currently up to. Right now, it has my current video game, and my current project, but I may add more entries in the future."}, {"post_id": 60578, "ts": "2026-09-03T00:54:19Z", "hours": 1.7092, "text": "I started working on my site using the tutorial, and finished the header and navigation bar. I actually did this yesterday, but I forgot to post a devlog, so I’m getting this up to date now."}]...
|
Title: My Personal Site by @Coding-AN | Stardance
Title: My Personal Site by @Coding-AN | Stardance
Devlogs:
I started working on my site using the tutorial, and finished the header and navigation bar. I actually did this yesterday, but I forgot to post a devlog, so I’m getting this up to date now.
I added an about me section, as well as a section that details what I’m currently up to. Right now, it has my current video game, and my current project, but I may add more entries in the future.
I added a section for my projects, and added a link to my GitHub at the top. I think I’m finished with the content of the website now. However, before I ship, I still need to finish the scaling of the website, as the sizing of elements is completely out of wack.
I fixed the scaling of the website, and centered everything. Everything might be a little too centered though, as there’s too much empty space on the sides. It looks good in a portrait orientation, but for a desktop-focused website, I think it needs a little tweaking. Although I was originally planning to stop here, I’ll be implementing pseudo-classes to add some interaction to the website, and try to see how I can fix the design of the site
I implemented the pseudo-classes on all the links of my website, so now the element gets bigger when you hover over it. As for the overly centered nature of the site, since I don’t want to give up my current stacked layout or mess with the scale, I’ve decided to keep everything as it is. My next step will be to ship, so look out for that.
Ships:
This is my personal website that I made using HTML and CSS. It contains some information about me, as well as what I’m currently up to. Additionally, it contains some of my past projects, as well as a link to my GitHub. As I continue to make more things and have more to share, I will continue to update it. It’s the first time I’ve done any web development, and although it’s on the simple side, I think it turned out great!...
|
1793004952.737856
|
1793091352.737856
|
|
57208
|
the thing by @rizz | Stardance
|
rizz
|
1
|
11.93
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T14:05:06Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What I Made I made Toolbox , a small website where people can find useful everyday tools in one place. It includes a focus timer, task list, notes, password generator, unit converter, customs calculator, color picker, calculator, random picker, and habit tracker. I also added a hand drawn style, pastel colours, dark mode, local saving, breadcrumbs, loading animations, keyboard support, and an interactive 3D background with floating shapes and particle effects. What Was Challenging The hardest part was making the website look interesting without making it difficult to use. I tried several different styles before finding the current hand drawn and colourful look. Adding the 3D background was also challenging because it needed to feel alive while keeping the text and tools easy to see. Another difficult part was making all the tools work properly inside the same modal system. Each tool needed its own controls, buttons, results, reset behavior, and error handling. The breadcrumb navigation and deep links were also challenging. I wanted users to be able to open a specific tool directly and still use the browser back button normally. Dark mode took more work than expected too. Changing only the background colour looked bad, so I had to adjust the cards, text, borders, shadows, forms, and 3D background separately. What I Am Proud Of I am proud that Toolbox is not just a design mockup. The tools actually work. You can add tasks, write notes, generate passwords, convert values, calculate numbers, choose random options, and track habits. Notes, tasks, habits, and theme settings can also be saved in the browser. I am especially proud of the 3D background because I built it with a canvas instead of relying on a large 3D library. It reacts to the mouse, moves objects through depth, and creates particles when the page is clicked. I am also proud of the small accessibility details. The cards, icons, and arrows can be opened with the keyboard. Modals can be closed with Escape, and the site has reduced motion support. What People Should Know Before Testing The project currently works without an account or backend. Tasks, notes, habits, and theme settings are saved only in the browser being used. If browser storage is cleared, that information will disappear. The data will not automatically appear on another device. Authentication and cloud sync are planned but are not active yet. The customs calculator is only a rough estimate using simple example rates. It should not be used as official tax or customs advice. To test the project, try these things: Open a tool card. Click the icon on a card. Click the arrow on a card. Open a card with Enter or Space. Close a modal with Escape. Try the “See the tools” button. Switch between light mode and dark mode. Add and complete a task. Write a note, reload the page, and check if it stayed saved. Mark a few days in the habit tracker. Open a calculator directly with ?tool=calculator . Open a tool and use the browser back button. Move the mouse around the 3D background. Click the page and watch the particle effect. For the best test, run the project with a local server: python3 -m http.server 8000", "repo": "https://github.com/STEVEALEX-source/bleh", "demo": "https://stevealex-source.github.io/bleh/"}]...
|
[{"post_id": 80124, "ts": "202 [{"post_id": 80124, "ts": "2026-10-16T09:25:02Z", "hours": 2.6553, "text": "added new stuff and made it into a proper webos with all the features"}, {"post_id": 70060, "ts": "2026-09-18T11:25:41Z", "hours": 1.2719, "text": "changed the UI cuz it got flagged as AI even tho i didn’t use Ai"}, {"post_id": 68063, "ts": "2026-09-14T13:38:02Z", "hours": 3.0397, "text": "Devlog 08 — Current state and the next backend stepToolbox now combines a pastel hand-drawn interface, ten working browser tools, skeleton loading states, breadcrumb navigation, deep links, local persistence, and an interactive 3D canvas background.The current app works as a static frontend. Tasks, notes, habits, and theme preferences stay in browser storage. No account is required for the existing version.Supabase was selected as the planned backend for the next stage. The intended implementation is email authentication, user-owned records, row-level security, cloud sync, offline fallback, and migration from local storage after sign-in.That backend work has not been faked or partially hidden in the frontend. It still needs a Supabase project URL, public anon key, database schema, and security policies before it can be connected safely.The current deployable project contains index.html, style.css, script.js, and 404.html. The frontend can be deployed now, while authentication and synchronization remain the next planned milestone."}, {"post_id": 65759, "ts": "2026-09-11T03:25:29Z", "hours": 2.2308, "text": "so aghh i have rewrote the code and added some more options but i accidentally deleted my Os cuz i tried to play val by dual booting ahem…i lost all my files."}, {"post_id": 62934, "ts": "2026-09-06T14:09:01Z", "hours": 0.2836, "text": "Devlog 06 — Breadcrumbs, deep links, and history The site now has an actual navigation state instead of relying only on scrolling. A breadcrumb row shows the current location and a live status message. It changes between Home, Tools, and About as the user moves through the page. Hovering over a tool card reports the tool name in the status area. Opening a tool updates the URL with a query parameter such as: Plain Text /?tool=calculator This means a specific tool can be shared directly. Browser back and forward navigation also restores or closes the modal correctly. This stage made the application feel more like a small web app instead of a static collection of panels."}, {"post_id": 62216, "ts": "2026-09-05T14:04:37Z", "hours": 0.2981, "text": "Devlog 05 — Adding more tools and loading feedback I expanded Toolbox from seven tools to ten. The new tools are a basic calculator, a random picker, and a habit tracker. The calculator handles basic arithmetic, decimals, clearing, backspace, and divide-by-zero handling. The random picker accepts one option per line and chooses one result. The habit tracker stores a habit name and marks progress across the last seven days. I also added a visible skeleton loader when opening a modal. The loading state is short, but it gives the interface a clear transition instead of making the tool appear abruptly. The habit tracker still works without an account by using local browser storage."}, {"post_id": 61358, "ts": "2026-09-04T07:23:04Z", "hours": 0.3933, "text": "Devlog 04 — Improving the tools and interaction The project then moved from visual work into interaction design. Tool cards became keyboard accessible. Users can open cards with Enter or Space, and tool icons and arrows can also be focused and activated directly. The modal now manages focus more carefully. It moves focus into the dialog when opened, locks page scrolling, closes on Escape, and returns focus to the original card after closing. The password generator was also improved to use cryptographically stronger random values instead of relying only on Math.random(). The theme toggle stores its state locally and exposes its state through aria-pressed. These changes made the site feel less like a visual experiment and more like a real usable interface."}, {"post_id": 60714, "ts": "2026-09-03T08:37:07Z", "hours": 0.8158, "text": "Devlog 03 — Adding the hand-drawn style The next pass moved Toolbox toward a hand-drawn notebook style. I added handwritten display fonts, uneven rotations, sketch borders, paper textures, dashed outlines, irregular icon shapes, and offset shadows. The goal was to make the interface feel assembled by hand rather than generated from a standard component library. The cards received small imperfections instead of perfectly symmetrical decoration. Buttons, labels, notes, and headings started using a more informal visual language. I also added reduced-motion support so the hand-drawn animation would not become a problem for users who prefer less movement. This was the point where Toolbox developed a recognisable personality."}, {"post_id": 60116, "ts": "2026-09-02T08:48:56Z", "hours": 0.3106, "text": "Devlog 02 — Reworking the visual direction The first visual direction felt too much like a generic landing page, so I rebuilt the layout around a quieter utility interface. I changed the typography, spacing, card proportions, modal layout, and responsive behavior. The hero became less promotional and more like an entry point into a small collection of tools. The copy was shortened and made more direct. Instead of trying to sell the product, the page started explaining what it actually does. The card layout became easier to scan. Each card received a number, a short description, a category label, and a clear open action. This stage established the basic visual rule for the project: the interface should feel like a useful object, not a marketing page."}, {"post_id": 59686, "ts": "2026-09-01T16:39:17Z", "hours": 0.7372, "text": "Devlog 01 — Starting with a small toolbox I started building Toolbox as a simple browser page for the little tasks that usually lead to opening five more tabs. The first version focused on three files: index.html, style.css, and script.js. The page had a hero section, a tool grid, a modal system, a theme toggle, and a few local utilities. The first tools were a focus timer, task list, notes area, password generator, unit converter, customs estimate, and color picker. The goal was deliberately small: open the page, choose a tool, finish the job, and leave. The important early decision was to keep everything client-side. Tasks and notes could use browser storage, while calculators and converters could work without a server."}]...
|
Title: the thing by @rizz | Stardance
Devlogs:
De Title: the thing by @rizz | Stardance
Devlogs:
Devlog 01 — Starting with a small toolbox I started building Toolbox as a simple browser page for the little tasks that usually lead to opening five more tabs. The first version focused on three files: index.html, style.css, and script.js. The page had a hero section, a tool grid, a modal system, a theme toggle, and a few local utilities. The first tools were a focus timer, task list, notes area, password generator, unit converter, customs estimate, and color picker. The goal was deliberately small: open the page, choose a tool, finish the job, and leave. The important early decision was to keep everything client-side. Tasks and notes could use browser storage, while calculators and converters could work without a server.
Devlog 02 — Reworking the visual direction The first visual direction felt too much like a generic landing page, so I rebuilt the layout around a quieter utility interface. I changed the typography, spacing, card proportions, modal layout, and responsive behavior. The hero became less promotional and more like an entry point into a small collection of tools. The copy was shortened and made more direct. Instead of trying to sell the product, the page started explaining what it actually does. The card layout became easier to scan. Each card received a number, a short description, a category label, and a clear open action. This stage established the basic visual rule for the project: the interface should feel like a useful object, not a marketing page.
Devlog 03 — Adding the hand-drawn style The next pass moved Toolbox toward a hand-drawn notebook style. I added handwritten display fonts, uneven rotations, sketch borders, paper textures, dashed outlines, irregular icon shapes, and offset shadows. The goal was to make the interface feel assembled by hand rather than generated from a standard component library. The cards received small imperfections instead of perfectly symmetrical decoration. Buttons, labels, notes, and headings started using a more informal visual language. I also added reduced-motion support so the hand-drawn animation would not become a problem for users who prefer less movement. This was the point where Toolbox developed a recognisable personality.
Devlog 04 — Improving the tools and interaction The project then moved from visual work into interaction design. Tool cards became keyboard accessible. Users can open cards with Enter or Space, and tool icons and arrows can also be focused and activated directly. The modal now manages focus more carefully. It moves focus into the dialog when opened, locks page scrolling, closes on Escape, and returns focus to the original card after closing. The password generator was also improved to use cryptographically stronger random values instead of relying only on Math.random(). The theme toggle stores its state locally and exposes its state through aria-pressed. These changes made the site feel less like a visual experiment and more like a real usable interface.
Devlog 05 — Adding more tools and loading feedback I expanded Toolbox from seven tools to ten. The new tools are a basic calculator, a random picker, and a habit tracker. The calculator handles basic arithmetic, decimals, clearing, backspace, and divide-by-zero handling. The random picker accepts one option per line and chooses one result. The habit tracker stores a habit name and marks progress across the last seven days. I also added a visible skeleton loader when opening a modal. The loading state is short, but it gives the interface a clear transition instead of making the tool appear abruptly. The habit tracker still works without an account by using local browser storage.
Devlog 06 — Breadcrumbs, deep links, and history The site now has an actual navigation state instead of relying only on scrolling. A breadcrumb row shows the current location and a live status message. It changes between Home, Tools, and About as the user moves through the page. Hovering over a tool card reports the tool name in the status area. Opening a tool updates the URL with a query parameter such as: Plain Text /?tool=calculator This means a specific tool can be shared directly. Browser back and forward navigation also restores or closes the modal correctly. This stage made the application feel more like a small web app instead of a static collection of panels.
so aghh i have rewrote the code and added some more options but i accidentally deleted my Os cuz i tried to play val by dual booting ahem…i lost all my files.
Devlog 08 — Current state and the next backend stepToolbox now combines a pastel hand-drawn interface, ten working browser tools, skeleton loading states, breadcrumb navigation, deep links, local persistence, and an interactive 3D canvas background.The current app works as a static frontend. Tasks, notes, habits, and theme preferences stay in browser storage. No account is required for the existing version.Supabase was selected as the planned backend for the next stage. The intended implementation is email authentication, user-owned records, row-level security, cloud sync, offline fallback, and migration from local storage after sign-in.That backend work has not been faked or partially hidden in the frontend. It still needs a Supabase project URL, public anon key, database schema, and security policies before it can be connected safely.The current deployable project contains index.html, style.css, script.js, and 404.html. The frontend can be deployed now, while authentication and synchronization remain the next planned milestone.
changed the UI cuz it got flagged as AI even tho i didn’t use Ai
added new stuff and made it into a proper webos with all the features
Ships:
What I Made I made Toolbox , a small website where people can find useful everyday tools in one place. It includes a focus timer, task list, notes, password generator, unit converter, customs calculator, color picker, calculator, random picker, and habit tracker. I also added a hand drawn style, pastel colours, dark mode, local saving, breadcrumbs, loading animations, keyboard support, and an interactive 3D background with floating shapes and particle effects. What Was Challenging The hardest part was making the website look interesting without making it difficult to use. I tried several different styles before finding the current hand drawn and colourful look. Adding the 3D background was also challenging because it needed to feel alive while keeping the text and tools easy to see. Another difficult part was making all the tools work properly inside the same modal system. Each tool needed its own controls, buttons, results, reset behavior, and error handling. The breadcrumb navigation and deep links were also challenging. I wanted users to be able to open a specific tool directly and still use the browser back button normally. Dark mode took more work than expected too. Changing only the background colour looked bad, so I had to adjust the cards, text, borders, shadows, forms, and 3D background separately. What I Am Proud Of I am proud that Toolbox is not just a design mockup. The tools actually work. You can add tasks, write notes, generate passwords, convert values, calculate numbers, choose random options, and track habits. Notes, tasks, habits, and theme settings can also be saved in the browser. I am especially proud of the 3D background because I built it with a canvas instead of relying on a large 3D library. It reacts to the mouse, moves objects through depth, and creates particles when the page is clicked. I am also proud of the small accessibility details. The cards, icons, and arrows can be opened with the keyboard. Modals can be closed with Escape, and the site has reduced motion support. What People Should Know Before Testing The project currently works without an account or backend. Tasks, notes, habits, and theme settings are saved only in the browser being used. If browser storage is cleared, that information will disappear. The data will not automatically appear on another device. Authentication and cloud sync are planned but are not active yet. The customs calculator is only a rough estimate using simple example rates. It should not be used as official tax or customs advice. To test the project, try these things: Open a tool card. Click the icon on a card. Click the arrow on a card. Open a card with Enter or Space. Close a modal with Escape. Try the “See the tools” button. Switch between light mode and dark mode. Add and complete a task. Write a note, reload the page, and check if it stayed saved. Mark a few days in the habit tracker. Open a calculator directly with ?tool=calculator . Open a tool and use the browser back button. Move the mouse around the 3D background. Click the page and watch the particle effect. For the best test, run the project with a local server: python3 -m http.server 8000...
|
1793004951.5803804
|
1793091351.5803804
|
|
57204
|
PERFECT DAYY by @aliya | Stardance
|
aliya
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T21:19:19Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "ABOUT: ✨ It’s a website which is supposed to help you be more productive. You have three tasks. The more tasks you complete, the sun rises, helping the dillagers (ducks+villagers = dillagers, cuz the ducks are villagers) come out of their home and work for their families and bring them food. But if you keep stalling the tasks… they’ll go hungry.. and have nothing to feed their family… You want that? THEN QUIT WHINING AND GET TO WORK SUSAN! (Apologies to the Susans out in the world.) WHAT I LEARNT: 🤩🤩🤩 Lots of css properties and javascript (I’m a total newbie; I started in July) and to for the love of god — RECHECK YOUR CODE. PROBLEMS 😰😰 AND SOLUTIONS: 🥳🥳 I used html, a lot of css and some java. I had issues in pixelating the background and creating these shapes (still trying to get a hang of the pixelated thing.) I also kept having an error while building the notepad, it would either not show up or wouldn’t align with the animation. I realized I was using some wrong css properties and kept mixing stuff up. I also accidentally kept duplicating the amount of ducks lol but it was solved by just revisiting your code again at different times.", "repo": "https://github.com/aliya-8411/Perfect-Day-website", "demo": "https://aliya-8411.github.io/Perfect-Day-website/"}]...
|
[{"post_id": 69742, "ts": "202 [{"post_id": 69742, "ts": "2026-09-17T18:10:21Z", "hours": 1.1392, "text": "Hi, I’m alive. What a surprise, huh?” So my guess is you might be wondering where I was all these days. So lemme just tell you which hell I was damned to. So basically we went to our grandmas house for a lil while. It’s not in the city its more in the country side and there are jackals in those fields. Me and my cousin were wandering and we saw a puppy. Or what we thought was a puppy , I tried to pet it and then we hear : ” WWEEEAAAOOO WEEAAOOO” And those who don’t know jackals have this eery cry like thing its creepy as hell and then the puppy starts bakring like CRAZY , i could see the ishowspeed in him, parents need to monitor what their child is watching. AND THEN THE JACKALS STARTED COMING TOWARDS AND WE STARTED RUNNING BUT THE BACKDOOR (the one towards the fields and we came from) WAS LOCKED AND WE STARTED SCREAMING AND CRYING AND THEN MY GRANDMA CAME OUT WITH A SHOTGUN AND- nothing like that happened. I never went to my grandmas house, there aren’t even jackals there. It is in the country side tho. I was just lazy. :| uhh yeahh so umm BUT I completed the project! Woo hoo yeahhh (crickets) The secret suprise was ducks. Duck-villagers. Dillagers if I may. Or Duckagers? One tiny duck kept being a nuisance and wasn’t adjusting accordingly to the size but it eventually did. I added a “$2+” msg when u complete the second task so the ducks get an earning and when you complete all your tasks the ducks start a lil dance :) Go see it."}, {"post_id": 60355, "ts": "2026-09-02T17:21:23Z", "hours": 0.4361, "text": "DEVLOG 2: Wassup guysss I didn’t do much today. and i’m not gonna tell it yet either XD HOWEVER, keep in mind that it involves ducks. And I haven’t committed changes yet either so don’t bother :P But thats not it , I’m not sure if this is to early to say cuz I only have four followers in total but still, seeing these replies and people engaging with my devlogs really makes me happy, esp since I’m having some rough days cuz I just found out my ‘friends’ turned out to be faker than those no borax, no activator, no glue slime videos (ifykyk). But ya’ll GENUINELY making me smile. So thanks. Alot. (Me rn:)"}, {"post_id": 59718, "ts": "2026-09-01T17:21:10Z", "hours": 1.99, "text": "DEVLOG 1: Although the event is over, I still thought I’d make some cool changes. Today I adjusted the position of the sun better, to look like it’s actually rising and then I added a color transition, and I also updated the readme. PLEASE READ IT. See you tmrw, (I’ll be finishing this frst and then I’ll start on the personal site again.)"}]...
|
Title: PERFECT DAYY by @aliya | Stardance
Devlogs Title: PERFECT DAYY by @aliya | Stardance
Devlogs:
DEVLOG 1: Although the event is over, I still thought I’d make some cool changes. Today I adjusted the position of the sun better, to look like it’s actually rising and then I added a color transition, and I also updated the readme. PLEASE READ IT. See you tmrw, (I’ll be finishing this frst and then I’ll start on the personal site again.)
DEVLOG 2: Wassup guysss I didn’t do much today. and i’m not gonna tell it yet either XD HOWEVER, keep in mind that it involves ducks. And I haven’t committed changes yet either so don’t bother :P But thats not it , I’m not sure if this is to early to say cuz I only have four followers in total but still, seeing these replies and people engaging with my devlogs really makes me happy, esp since I’m having some rough days cuz I just found out my ‘friends’ turned out to be faker than those no borax, no activator, no glue slime videos (ifykyk). But ya’ll GENUINELY making me smile. So thanks. Alot. (Me rn:)
Hi, I’m alive. What a surprise, huh?” So my guess is you might be wondering where I was all these days. So lemme just tell you which hell I was damned to. So basically we went to our grandmas house for a lil while. It’s not in the city its more in the country side and there are jackals in those fields. Me and my cousin were wandering and we saw a puppy. Or what we thought was a puppy , I tried to pet it and then we hear : ” WWEEEAAAOOO WEEAAOOO” And those who don’t know jackals have this eery cry like thing its creepy as hell and then the puppy starts bakring like CRAZY , i could see the ishowspeed in him, parents need to monitor what their child is watching. AND THEN THE JACKALS STARTED COMING TOWARDS AND WE STARTED RUNNING BUT THE BACKDOOR (the one towards the fields and we came from) WAS LOCKED AND WE STARTED SCREAMING AND CRYING AND THEN MY GRANDMA CAME OUT WITH A SHOTGUN AND- nothing like that happened. I never went to my grandmas house, there aren’t even jackals there. It is in the country side tho. I was just lazy. :| uhh yeahh so umm BUT I completed the project! Woo hoo yeahhh (crickets) The secret suprise was ducks. Duck-villagers. Dillagers if I may. Or Duckagers? One tiny duck kept being a nuisance and wasn’t adjusting accordingly to the size but it eventually did. I added a “$2+” msg when u complete the second task so the ducks get an earning and when you complete all your tasks the ducks start a lil dance :) Go see it.
Ships:
ABOUT: ✨ It’s a website which is supposed to help you be more productive. You have three tasks. The more tasks you complete, the sun rises, helping the dillagers (ducks+villagers = dillagers, cuz the ducks are villagers) come out of their home and work for their families and bring them food. But if you keep stalling the tasks… they’ll go hungry.. and have nothing to feed their family… You want that? THEN QUIT WHINING AND GET TO WORK SUSAN! (Apologies to the Susans out in the world.) WHAT I LEARNT: 🤩🤩🤩 Lots of css properties and javascript (I’m a total newbie; I started in July) and to for the love of god — RECHECK YOUR CODE. PROBLEMS 😰😰 AND SOLUTIONS: 🥳🥳 I used html, a lot of css and some java. I had issues in pixelating the background and creating these shapes (still trying to get a hang of the pixelated thing.) I also kept having an error while building the notepad, it would either not show up or wouldn’t align with the animation. I realized I was using some wrong css properties and kept mixing stuff up. I also accidentally kept duplicating the amount of ducks lol but it was solved by just revisiting your code again at different times....
|
1793004950.4712622
|
1793091350.4712622
|
|
52109
|
kenpadV1 by @keni67 | Stardance
|
keni67
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T15:48:23Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I’ve made a hackpad with 6 keys and 1 rotary encoder. The hardest part was building a case but I do think there are still some mistakes. I’m very happy that I was able learn and make this hackpad though it took plenty of time", "repo": "https://github.com/keni769/kenpadV1", "demo": ""}]...
|
[{"post_id": 67023, "ts": "202 [{"post_id": 67023, "ts": "2026-09-13T02:03:46Z", "hours": 1.9961, "text": "Tried out qmk and finished firmware. Took alot of time (many warnings and errors)"}, {"post_id": 62506, "ts": "2026-09-05T22:11:54Z", "hours": 1.2669, "text": "Took me alot of time on how to make a case, I think I took an easy way out but it looks good"}, {"post_id": 56407, "ts": "2026-08-28T05:12:42Z", "hours": 0.8339, "text": "Finished Pcb"}, {"post_id": 53515, "ts": "2026-08-24T03:03:17Z", "hours": 0.3333, "text": "I’m planning to build a 2x3 macropad with a rotary encoder. Built the schematic for it"}]...
|
Title: kenpadV1 by @keni67 | Stardance
Devlogs:
I Title: kenpadV1 by @keni67 | Stardance
Devlogs:
I’m planning to build a 2x3 macropad with a rotary encoder. Built the schematic for it
Finished Pcb
Took me alot of time on how to make a case, I think I took an easy way out but it looks good
Tried out qmk and finished firmware. Took alot of time (many warnings and errors)
Ships:
I’ve made a hackpad with 6 keys and 1 rotary encoder. The hardest part was building a case but I do think there are still some mistakes. I’m very happy that I was able learn and make this hackpad though it took plenty of time...
|
1793004949.3147247
|
1793091349.3147247
|
|
7854
|
CometOS by @Aradhana | Stardance
|
Aradhana
|
1
|
39.23
|
48
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T11:27:56Z", "hours": 31.0, "multiplier": 1.71, "payout": 48, "blessing": "neutral", "text": "I built a WebOS that was designed to explore a character - the Sorceress Comet, a student at the Arx Nubium - and her fictional world of Alarica. As people use it, they find out more about Comet’s world, thoughts and family. It has a notebook app (where you can write your thoughts), a family tree app (to see a bit more of what Comet’s life is like) and comes with added functionality for the users - a date and time display, and battery meter. Now, the project is finally SHIPPED!", "repo": "https://github.com/dragonloversod051-max/CometOS", "demo": "https://dragonloversod051-max.github.io/CometOS/"}]...
|
[{"post_id": 79292, "ts": "202 [{"post_id": 79292, "ts": "2026-10-13T11:03:42Z", "hours": 8.2306, "text": "Devlog #8 Ok, so this is the FIRST devlog after the ship. Not really happy about how the ship went but oh well. Anyway, so, I added stuff: A Settings App Upgrades to the UI Worked on a sort of dictionary for all the new stuff that I’m introducing (after all, it is CometOS) The Settings App: Ok, so one of the major themes in the feedback I got was there needed to be more apps (since its an OS). So, I added a settings app, as just a basic, customization app. So, you can change the background image, and there’s a bit of design choices as well. I kept it so you need to scroll down to see all the images (some people won’t agree with this, but personally, I really like it. The scrolling feels more interactive and is required for a window size that looks really, really good). Also, the borders of the buttons turn blue when selected, and there obviously also a shadow indication that its a button when you hover over it. UI changes: So this was actually pretty small but looked really cool. I’ve seen on some sites there are just these little elements that blur the background behind them. While I was tinkering with css for the button shading I realized there was a style of filter: blur() . From there I found out about backdrop-filter: blur() and used that in the CometOS welcome window and the top and bottom bars. The dictionary app (name needs workshopping) So this is basically just because CometOS is about a fictional character in a fantasy world, so there needed to be an app that dealt with some words and terms used in other partts of the website (specifically the family tree). I felt there needed to be something to explain it, so, I added this. Its not done, so far I’m just done with one of the Relseiðr pages. Currently this is just hidden with display: none so I can work on functionality first. Challenges: There were really only a few challenges this time. The largest one was actually just getting the seperate visual cues which go ( oh, this is interactive! ) for the button and the image inside. Because I kept accidentally giving the button’s new classList to the image. And thats when I realized event.target and event.currentTarget were different and made for this….. On a side note, omg, display: inline-flex is so helpful! What I’ll work on next: I have now realized that since I’m adding so many apps, I need to add proper, adaptive view bounds. Before this I was using local pixel-specific bounds which were adapted to my viewport, and just not putting it on github, because I had already put in the work for those view bounds a few months ago, and it worked really well for me. So, anyway, I have now decided I need proper view bounds, so definitely going to work on that. Also, heres the new Settings app, and the beginning of the dictionary app."}, {"post_id": 71729, "ts": "2026-09-21T12:19:13Z", "hours": 2.21, "text": "Devlog #7 So, I thought it was ready to be shipped, but it wasn’t. In the final checks, I found out that because I had used pixel - specific drag bounds , while it worked perfectly on my laptop, it didn’t on anyone else’s (since other devices have different viewports, different areas. Some have longer lengths or widths than others, leading drag bounds to potentially be in the middle of the screen). I tinkered with it for a while (enlisting a bit of AI help) , but then realized that there was something about the new code that was messing up the notebook app (the sidebar stuck to the edge of the viewport). And, since there was about only one week left (and exams are starting soon), I decided to not accidentally mess up anything else, and so, deleted the drag bounds - I mean, better to be able to drag windows anywhere than have bounds that completely restrict it, right? - The good part is that even if the window goes out of the viewport somehow, you can just reload the screen to get it all back, which has no real downside since notes autosave. So anyway, now, we are actually , finally ready to ship ! This was what was happening to the notebook app btw"}, {"post_id": 43179, "ts": "2026-08-08T09:26:22Z", "hours": 3.4597, "text": "Devlog #6 We are FINALLY DONE and ready for the FIRST SHIP! Here’s whats new: Added information bubbles for each and every character in the family tree, which can be easily opened and closed. Fixed the selection for icons in the bottom bar: The green highlighted background would also highlight the areas where there were padding which we didn’t want because the icons would then be off center. Fixed this by adding a new transparent div in the middle, so padding is no longer required. Challenges: Fixing the icon selection bug. I played around with box-size for a bit but then chose to just add a transparent div between icons. Getting the information window to move along with the family tree window (as that is draggable). After a lot of testing, I realized I could just keep it inside the div but in positioning, its overflowing, so with an overflow: auto tag, it’s now set up and working! This is a screenshot of how the info bubble would break because it wasn’t in the same div:"}, {"post_id": 38671, "ts": "2026-08-01T05:38:48Z", "hours": 5.8169, "text": "Devlog #5 Ok, so, update: Created the family tree Improved feel of the app (through a visual sign when you hover over a character button) Fully initialized the window for the family tree app (made it closable, draggable, opens with an icon, added drag bounds). Challenges: The family tree image kept going above the icons used to drag and close the window. I put them in a different and experimented with different ways for SOOOO long - turned out I was just missing a position: absolute tag…. There was also a small bug where the buttons would go under the image instead of on it. Here are some pictures of the bugs, since it’s pretty hard to explain:"}, {"post_id": 34516, "ts": "2026-07-25T09:34:28Z", "hours": 0.6922, "text": "Devlog #4 I’ve started the next app - an interactive family tree. Since CometOS is based around Comet, I figured I should add a family tree. So this app is going to have clickable buttons for each member of the family, to give some info. Basically, its a massive lore drop. Here’s the wireframe for the app, and also an entire page I spent planning it because I ran into a few problems…"}, {"post_id": 31185, "ts": "2026-07-19T11:57:03Z", "hours": 12.5381, "text": "Devlog #3 What’s new: Added a bottom bar to store content selection options Added a notes app which is editable (and stored in javascript)-you can add your own notes. Added a save feature to the notes app-log back in anytime and the note is still there. YOU WOULD NOT BELIEVE HOW LONG THIS TOOK ( but, I learned how to save things in localStorage ). Fixed a bug where was at the bottom of the and the .js file and .css file weren’t loading in the live server. Fixed the bug where you lose the handle and the window gets stuck at the top/bottom of the page by making it so you can click through the top and bottom bar. Challenges: I spent a whole afternoon trying to come up with a clever way to avoid putting html in my .js file (because it looked messy), only to end up putting it in my .js file….. MOVING ON, There was some really weird stuff happening with saving notes. Like, I would write stuff, and it would be saved, but in different ’s? So only one was actually editable and the rest were all floating under it. Started to debug in a live server instead of as a file. The html and css files weren’t loading in. I spent so long trying to figure out why, and then realized that should be at the top of the body, not at the bottom ( You know, like an actual head. Wow, thats pretty self-explanatory ). So then, I fixed that and to check if it was working or not, made the background hot pink in css.( AND IT WORKED! And I will never be able to forget that image ). What’s next: Ok, so next, I still have to finish a few things. Make it so that you can’t drag windows past a certain limit (to prevent the background image scrolling and multiplying - learned how to clamp draggable elements to the viewport!). START STEP 5! So since this entire webOS is based around a fictional character-Comet, I think I’ll make an interactive family tree. So, each person has buttons and that leads you to a brief description about them ( and lore. LOTS of lore ). This is how the webOS looked in the test. I’m still not sure how the top bar also turned light pink, but, cool I guess"}, {"post_id": 15523, "ts": "2026-06-25T06:48:06Z", "hours": 1.6658, "text": "Devlog#2 Done with step 3. So now I can open, close and move around the welcome screen window. The cross acts as the close button, and you click and drag the hand part of the window to move it around. So I’ve updated the CometOS text in the top bar to open this window - hence it looks a lot more like a button. I think for the next windows and apps I’m going to make the open button in a side bar. And I finally figured out what classes are! So yeah, for now thats it, but I think by the end of step 4 its going to be a massive update with a lot more things."}, {"post_id": 13644, "ts": "2026-06-22T11:56:42Z", "hours": 4.2733, "text": "Devlog #1 So this is CometOS which is from the mission WebOS 1. It revolves around a fictional character - the Sorceress (in-training) Comet, set in the fictional world of Alarica. So far I’ve finished uptil step 2. So the top bar can track time, and also battery levels and gives custom messages based on the battery. Right now that’s pretty much it but I can’t wait to expand the project and develop the world and everything."}]...
|
Title: CometOS by @Aradhana | Stardance
Devlogs:
Title: CometOS by @Aradhana | Stardance
Devlogs:
Devlog #1 So this is CometOS which is from the mission WebOS 1. It revolves around a fictional character - the Sorceress (in-training) Comet, set in the fictional world of Alarica. So far I’ve finished uptil step 2. So the top bar can track time, and also battery levels and gives custom messages based on the battery. Right now that’s pretty much it but I can’t wait to expand the project and develop the world and everything.
Devlog#2 Done with step 3. So now I can open, close and move around the welcome screen window. The cross acts as the close button, and you click and drag the hand part of the window to move it around. So I’ve updated the CometOS text in the top bar to open this window - hence it looks a lot more like a button. I think for the next windows and apps I’m going to make the open button in a side bar. And I finally figured out what classes are! So yeah, for now thats it, but I think by the end of step 4 its going to be a massive update with a lot more things.
Devlog #3 What’s new: Added a bottom bar to store content selection options Added a notes app which is editable (and stored in javascript)-you can add your own notes. Added a save feature to the notes app-log back in anytime and the note is still there. YOU WOULD NOT BELIEVE HOW LONG THIS TOOK ( but, I learned how to save things in localStorage ). Fixed a bug where was at the bottom of the and the .js file and .css file weren’t loading in the live server. Fixed the bug where you lose the handle and the window gets stuck at the top/bottom of the page by making it so you can click through the top and bottom bar. Challenges: I spent a whole afternoon trying to come up with a clever way to avoid putting html in my .js file (because it looked messy), only to end up putting it in my .js file….. MOVING ON, There was some really weird stuff happening with saving notes. Like, I would write stuff, and it would be saved, but in different ’s? So only one was actually editable and the rest were all floating under it. Started to debug in a live server instead of as a file. The html and css files weren’t loading in. I spent so long trying to figure out why, and then realized that should be at the top of the body, not at the bottom ( You know, like an actual head. Wow, thats pretty self-explanatory ). So then, I fixed that and to check if it was working or not, made the background hot pink in css.( AND IT WORKED! And I will never be able to forget that image ). What’s next: Ok, so next, I still have to finish a few things. Make it so that you can’t drag windows past a certain limit (to prevent the background image scrolling and multiplying - learned how to clamp draggable elements to the viewport!). START STEP 5! So since this entire webOS is based around a fictional character-Comet, I think I’ll make an interactive family tree. So, each person has buttons and that leads you to a brief description about them ( and lore. LOTS of lore ). This is how the webOS looked in the test. I’m still not sure how the top bar also turned light pink, but, cool I guess
Devlog #4 I’ve started the next app - an interactive family tree. Since CometOS is based around Comet, I figured I should add a family tree. So this app is going to have clickable buttons for each member of the family, to give some info. Basically, its a massive lore drop. Here’s the wireframe for the app, and also an entire page I spent planning it because I ran into a few problems…
Devlog #5 Ok, so, update: Created the family tree Improved feel of the app (through a visual sign when you hover over a character button) Fully initialized the window for the family tree app (made it closable, draggable, opens with an icon, added drag bounds). Challenges: The family tree image kept going above the icons used to drag and close the window. I put them in a different and experimented with different ways for SOOOO long - turned out I was just missing a position: absolute tag…. There was also a small bug where the buttons would go under the image instead of on it. Here are some pictures of the bugs, since it’s pretty hard to explain:
Devlog #6 We are FINALLY DONE and ready for the FIRST SHIP! Here’s whats new: Added information bubbles for each and every character in the family tree, which can be easily opened and closed. Fixed the selection for icons in the bottom bar: The green highlighted background would also highlight the areas where there were padding which we didn’t want because the icons would then be off center. Fixed this by adding a new transparent div in the middle, so padding is no longer required. Challenges: Fixing the icon selection bug. I played around with box-size for a bit but then chose to just add a transparent div between icons. Getting the information window to move along with the family tree window (as that is draggable). After a lot of testing, I realized I could just keep it inside the div but in positioning, its overflowing, so with an overflow: auto tag, it’s now set up and working! This is a screenshot of how the info bubble would break because it wasn’t in the same div:
Devlog #7 So, I thought it was ready to be shipped, but it wasn’t. In the final checks, I found out that because I had used pixel - specific drag bounds , while it worked perfectly on my laptop, it didn’t on anyone else’s (since other devices have different viewports, different areas. Some have longer lengths or widths than others, leading drag bounds to potentially be in the middle of the screen). I tinkered with it for a while (enlisting a bit of AI help) , but then realized that there was something about the new code that was messing up the notebook app (the sidebar stuck to the edge of the viewport). And, since there was about only one week left (and exams are starting soon), I decided to not accidentally mess up anything else, and so, deleted the drag bounds - I mean, better to be able to drag windows anywhere than have bounds that completely restrict it, right? - The good part is that even if the window goes out of the viewport somehow, you can just reload the screen to get it all back, which has no real downside since notes autosave. So anyway, now, we are actually , finally ready to ship ! This was what was happening to the notebook app btw
Devlog #8 Ok, so this is the FIRST devlog after the ship. Not really happy about how the ship went but oh well. Anyway, so, I added stuff: A Settings App Upgrades to the UI Worked on a sort of dictionary for all the new stuff that I’m introducing (after all, it is CometOS) The Settings App: Ok, so one of the major themes in the feedback I got was there needed to be more apps (since its an OS). So, I added a settings app, as just a basic, customization app. So, you can change the background image, and there’s a bit of design choices as well. I kept it so you need to scroll down to see all the images (some people won’t agree with this, but personally, I really like it. The scrolling feels more interactive and is required for a window size that looks really, really good). Also, the borders of the buttons turn blue when selected, and there obviously also a shadow indication that its a button when you hover over it. UI changes: So this was actually pretty small but looked really cool. I’ve seen on some sites there are just these little elements that blur the background behind them. While I was tinkering with css for the button shading I realized there was a style of filter: blur() . From there I found out about backdrop-filter: blur() and used that in the CometOS welcome window and the top and bottom bars. The dictionary app (name needs workshopping) So this is basically just because CometOS is about a fictional character in a fantasy world, so there needed to be an app that dealt with some words and terms used in other partts of the website (specifically the family tree). I felt there needed to be something to explain it, so, I added this. Its not done, so far I’m just done with one of the Relseiðr pages. Currently this is just hidden with display: none so I can work on functionality first. Challenges: There were really only a few challenges this time. The largest one was actually just getting the seperate visual cues which go ( oh, this is interactive! ) for the button and the image inside. Because I kept accidentally giving the button’s new classList to the image. And thats when I realized event.target and event.currentTarget were different and made for this….. On a side note, omg, display: inline-flex is so helpful! What I’ll work on next: I have now realized that since I’m adding so many apps, I need to add proper, adaptive view bounds. Before this I was using local pixel-specific bounds which were adapted to my viewport, and just not putting it on github, because I had already put in the work for those view bounds a few months ago, and it worked really well for me. So, anyway, I have now decided I need proper view bounds, so definitely going to work on that. Also, heres the new Settings app, and the beginning of the dictionary app.
Ships:
I built a WebOS that was designed to explore a character - the Sorceress Comet, a student at the Arx Nubium - and her fictional world of Alarica. As people use it, they find out more about Comet’s world, thoughts and family. It has a notebook app (where you can write your thoughts), a family tree app (to see a bit more of what Comet’s life is like) and comes with added functionality for the users - a date and time display, and battery meter. Now, the project is finally SHIPPED!...
|
1793004948.0806434
|
1793091348.0806434
|
|
57199
|
Crowbit by @Gizzi | Stardance
|
Gizzi
|
1
|
43.19
|
81
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T20:33:22Z", "hours": 35.0, "multiplier": 2.31, "payout": 81, "blessing": "neutral", "text": "to whom it may CAWcern, this is my silly little social media app that is missing an entire backend. however I spent a considerable amount of hours just designing and making the UI for it and I’m still working on improving it but for now, I like what I have come up with and I’ll likely add a few more things before I start work on the backend also since there’s no backend, just go to /home because the login/signup screen doesn’t actually do anything yet. do let me know what you like and don’t like about the ui design, it’s essentially supposed to be a twitter + reddit + discord thing.", "repo": "https://github.com/Crowbit-dev/Crowbit", "demo": "https://crowbit.vercel.app/"}]...
|
[{"post_id": 77547, "ts": "202 [{"post_id": 77547, "ts": "2026-10-07T12:21:32Z", "hours": 1.0125, "text": "and on the 43rd hour, god said: “let there be profiles” and there was profiles… also some other ui fixes like centering the text inside the notification badge. what comes next is probably the backend now and maybe some other ui changes along the way. I made a todo list on the readme with everything i can remember that needs to be put on it, so i’ll probably end up adding other stuff to the readme again as i go and remember what else i wanted to make"}, {"post_id": 77332, "ts": "2026-10-06T15:46:56Z", "hours": 7.1811, "text": "I made some minor ui changes + added a help center and a wip profiles page, but most of the work went into refactoring the code, I split alot of the code into different files and changed the way url paths are handled"}, {"post_id": 76523, "ts": "2026-10-03T20:12:53Z", "hours": 6.9214, "text": "finished settings ui, this marks most of the ui design done except for a few things that aren’t added yet"}, {"post_id": 75912, "ts": "2026-10-01T16:11:05Z", "hours": 4.6442, "text": "woo new cool stuff searching ui and whatever, i’m close to my first ship which will likely just be a standalone frontend and mvp for ui. not really much backend work yet"}, {"post_id": 75281, "ts": "2026-09-29T17:05:04Z", "hours": 3.6833, "text": "made proper notifications ui + a somewhat acceptable ui for communities chat"}, {"post_id": 74578, "ts": "2026-09-27T17:37:13Z", "hours": 10.3875, "text": "changed up the way dms look + added comments to the feed… gulp…"}, {"post_id": 69818, "ts": "2026-09-17T20:48:37Z", "hours": 6.8364, "text": "changed the ui big time"}, {"post_id": 61050, "ts": "2026-09-03T19:19:50Z", "hours": 1.5347, "text": "really early design of the home page, not a super big fan of it atm so i might make more changes"}, {"post_id": 59889, "ts": "2026-09-01T21:33:53Z", "hours": 0.9419, "text": "i added some cool crow graphics to my auth pages"}, {"post_id": 59699, "ts": "2026-09-01T16:56:06Z", "hours": 0.2992, "text": "barebones signup page… good things to come mayhaps 😰😰"}]...
|
Title: Crowbit by @Gizzi | Stardance
Devlogs:
bar Title: Crowbit by @Gizzi | Stardance
Devlogs:
barebones signup page… good things to come mayhaps 😰😰
i added some cool crow graphics to my auth pages
really early design of the home page, not a super big fan of it atm so i might make more changes
changed the ui big time
changed up the way dms look + added comments to the feed… gulp…
made proper notifications ui + a somewhat acceptable ui for communities chat
woo new cool stuff searching ui and whatever, i’m close to my first ship which will likely just be a standalone frontend and mvp for ui. not really much backend work yet
finished settings ui, this marks most of the ui design done except for a few things that aren’t added yet
I made some minor ui changes + added a help center and a wip profiles page, but most of the work went into refactoring the code, I split alot of the code into different files and changed the way url paths are handled
and on the 43rd hour, god said: “let there be profiles” and there was profiles… also some other ui fixes like centering the text inside the notification badge. what comes next is probably the backend now and maybe some other ui changes along the way. I made a todo list on the readme with everything i can remember that needs to be put on it, so i’ll probably end up adding other stuff to the readme again as i go and remember what else i wanted to make
Ships:
to whom it may CAWcern, this is my silly little social media app that is missing an entire backend. however I spent a considerable amount of hours just designing and making the UI for it and I’m still working on improving it but for now, I like what I have come up with and I’ll likely add a few more things before I start work on the backend also since there’s no backend, just go to /home because the login/signup screen doesn’t actually do anything yet. do let me know what you like and don’t like about the ui design, it’s essentially supposed to be a twitter + reddit + discord thing....
|
1793004946.8613355
|
1793091346.8613355
|
|
57165
|
Mysite by @AlextheGr3at | Stardance
|
AlextheGr3at
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T15:45:39Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my first real website. It wasn’t that challenging. I have a navbar with links that don’t show underlines, an about me section, and a section with a list of my current projects. I also have a footer with social links, so you can follow me, should you want to :)", "repo": "https://github.com/Longing-Ingernot/Mysite", "demo": "https://longing-ingernot.github.io/Mysite/"}]...
|
[{"post_id": 71268, "ts": "202 [{"post_id": 71268, "ts": "2026-09-20T15:33:58Z", "hours": 0.4431, "text": "Devlog #2 Made the navbar links black with no underline, added a footer with socials so you can follow me :), added two more projects I’m actively working on."}, {"post_id": 71032, "ts": "2026-09-20T07:21:58Z", "hours": 0.8319, "text": "Made the structure and almost all content of the website. Added a navbar"}]...
|
Title: Mysite by @AlextheGr3at | Stardance
Devlog Title: Mysite by @AlextheGr3at | Stardance
Devlogs:
Made the structure and almost all content of the website. Added a navbar
Devlog #2 Made the navbar links black with no underline, added a footer with socials so you can follow me :), added two more projects I’m actively working on.
Ships:
I made my first real website. It wasn’t that challenging. I have a navbar with links that don’t show underlines, an about me section, and a section with a list of my current projects. I also have a footer with social links, so you can follow me, should you want to :)...
|
1793004945.957752
|
1793091345.957752
|
|
57162
|
Racer by @benny | Stardance
|
benny
|
1
|
7.0
|
47
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T01:28:36Z", "hours": 7.0, "multiplier": 6.37, "payout": 47, "blessing": "neutral", "text": "I made a car racing game that essentially was inspired by F1. The code based is done in python and then in order to deploy it onto the web I used something called pygbag. The entire point of the game is that you have to navigate through the course’s loops and turns in order to beat the computer car in a race. There are a variety of difficulty options for you to select, as well as a settings menu so that you can change your own speed and wall bounciness. I learned a lot about debugging during this process because as I was trying to deploy to to both local host and github pages there were many errors that prevented the game from loading in so I had to try to analyze all the console errors and correct them. I really love the game that I made and I feel like I’ve learned a lot from building this game. I hope you guys enjoy it as well!", "repo": "https://github.com/bangzishu-huang/Racer", "demo": "https://bangzishu-huang.github.io/Racer/"}]...
|
[{"post_id": 70720, "ts": "202 [{"post_id": 70720, "ts": "2026-09-19T17:29:11Z", "hours": 0.6328, "text": "The rest of the time spent on Racer was trying to get it deployed onto my localhost first through pygbag. It took a long time just trying to debug everything because pygbag deployment is harder than hosting python through python’s own application. I had to do a lot of async def through my functions in order to bypass some restrictions and have the game work. Also, I had to make the deploy.yml file in order for github to execute the workflow to deploy my page to github and the actual web."}, {"post_id": 70292, "ts": "2026-09-18T21:44:11Z", "hours": 3.2625, "text": "So throughout the 3 hours I worked on just heavily developing all aspects of the racing game. First I implemented different levels, more specifically 3 levels each with a different speed that the computer car would drive to. Then there is also a settings option where the user can adjust their own speed for their car and also the bouciness of the wall when hit. A lap counter and also a lap timer was added as a HUD at the top left of the screen when you are racing, and also I implemented basically a sort of countdown mechanism to start off each seperate game. The entire game is coming together and the next steps is trying to deploy it through the web with pygbag."}, {"post_id": 64239, "ts": "2026-09-08T14:27:33Z", "hours": 1.5697, "text": "I have been fixing the computer path tracing and adjusting it because a lot of times they go off the loop and cut corners of the race track. The red dots below (left image) show me trying to conduct coordinate testing for the path following of the computer car. Then, after the car path was working for the computer car, I went to make the end screens for when you win or lose in the game. I was also thinking of implementing varios different levels, which I might do in my next session."}, {"post_id": 62630, "ts": "2026-09-06T03:01:52Z", "hours": 1.4433, "text": "Now for the car game I started to add the opponent cars and was working on the components and trying to see how they would actually move. I was also trying to implement a click to move feature for the player car, as well as kind of reducing the bouce when hitting the side of the track."}, {"post_id": 60050, "ts": "2026-09-02T04:57:35Z", "hours": 0.4072, "text": "Today I started a new racing game and start to set up the base environment and the map for the game. This was relatively easy to set up and get started. There were just a some simple debugging in order to fix some few case sensitive errors. Tomorrow, I will probably start working on implementing the race car mechanism and the entire working game."}]...
|
Title: Racer by @benny | Stardance
Devlogs:
Today Title: Racer by @benny | Stardance
Devlogs:
Today I started a new racing game and start to set up the base environment and the map for the game. This was relatively easy to set up and get started. There were just a some simple debugging in order to fix some few case sensitive errors. Tomorrow, I will probably start working on implementing the race car mechanism and the entire working game.
Now for the car game I started to add the opponent cars and was working on the components and trying to see how they would actually move. I was also trying to implement a click to move feature for the player car, as well as kind of reducing the bouce when hitting the side of the track.
I have been fixing the computer path tracing and adjusting it because a lot of times they go off the loop and cut corners of the race track. The red dots below (left image) show me trying to conduct coordinate testing for the path following of the computer car. Then, after the car path was working for the computer car, I went to make the end screens for when you win or lose in the game. I was also thinking of implementing varios different levels, which I might do in my next session.
So throughout the 3 hours I worked on just heavily developing all aspects of the racing game. First I implemented different levels, more specifically 3 levels each with a different speed that the computer car would drive to. Then there is also a settings option where the user can adjust their own speed for their car and also the bouciness of the wall when hit. A lap counter and also a lap timer was added as a HUD at the top left of the screen when you are racing, and also I implemented basically a sort of countdown mechanism to start off each seperate game. The entire game is coming together and the next steps is trying to deploy it through the web with pygbag.
The rest of the time spent on Racer was trying to get it deployed onto my localhost first through pygbag. It took a long time just trying to debug everything because pygbag deployment is harder than hosting python through python’s own application. I had to do a lot of async def through my functions in order to bypass some restrictions and have the game work. Also, I had to make the deploy.yml file in order for github to execute the workflow to deploy my page to github and the actual web.
Ships:
I made a car racing game that essentially was inspired by F1. The code based is done in python and then in order to deploy it onto the web I used something called pygbag. The entire point of the game is that you have to navigate through the course’s loops and turns in order to beat the computer car in a race. There are a variety of difficulty options for you to select, as well as a settings menu so that you can change your own speed and wall bounciness. I learned a lot about debugging during this process because as I was trying to deploy to to both local host and github pages there were many errors that prevented the game from loading in so I had to try to analyze all the console errors and correct them. I really love the game that I made and I feel like I’ve learned a lot from building this game. I hope you guys enjoy it as well!...
|
1793004944.7771628
|
1793091344.7771628
|
|
57158
|
WarioWare Game by @Trion17fft | Stardance
|
Trion17fft
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T00:22:11Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made TheSpideyWare. The game has 3 differents Mini-games, with some secrets. You can play it on https://trion17fft.itch.io/thespideyware . Have fun!!", "repo": "https://github.com/Trion17fft/SpiderWareGame", "demo": "https://trion17fft.itch.io/thespideyware"}]...
|
[{"post_id": 73777, "ts": "202 [{"post_id": 73777, "ts": "2026-09-25T22:51:10Z", "hours": 1.3569, "text": "I finished my Minigames, but I want to add a shop. I add animation, zoom and some secrets"}, {"post_id": 69855, "ts": "2026-09-17T22:37:43Z", "hours": 0.5358, "text": "Death screen I finished my end screen and fixed a bunch of bugs."}, {"post_id": 69840, "ts": "2026-09-17T21:43:43Z", "hours": 13.8536, "text": "First #Devlog sorry ;) First of all, I created my start screen, then several games. The first one is about collecting all the webs, the goal of the second is to crush all the vilains, and the third is a maze that is still under construction. I have also create a win screen."}]...
|
Title: WarioWare Game by @Trion17fft | Stardance
Title: WarioWare Game by @Trion17fft | Stardance
Devlogs:
First #Devlog sorry ;) First of all, I created my start screen, then several games. The first one is about collecting all the webs, the goal of the second is to crush all the vilains, and the third is a maze that is still under construction. I have also create a win screen.
Death screen I finished my end screen and fixed a bunch of bugs.
I finished my Minigames, but I want to add a shop. I add animation, zoom and some secrets
Ships:
I made TheSpideyWare. The game has 3 differents Mini-games, with some secrets. You can play it on https://trion17fft.itch.io/thespideyware . Have fun!!...
|
1793004943.641897
|
1793091343.641897
|