|
66063
|
Swipe To The Beat Game by @Loekman | Stardance
|
Loekman
|
0
|
1.35
|
0
|
[]
|
[{"post_id": 74013, "ts": "202 [{"post_id": 74013, "ts": "2026-09-26T15:11:59Z", "hours": 1.3458, "text": "I added the guide where you need to swipe, I made it feel really snappy and synced up with the beat. I also made the music play, first you hear the intro beat so you know the beat and then the song starts. The screenshot is quite boring because you can’t see it move."}]...
|
Title: Swipe To The Beat Game by @Loekman | Starda Title: Swipe To The Beat Game by @Loekman | Stardance
Devlogs:
I added the guide where you need to swipe, I made it feel really snappy and synced up with the beat. I also made the music play, first you hear the intro beat so you know the beat and then the song starts. The screenshot is quite boring because you can’t see it move....
|
1793094637.4413042
|
1793699437.4413042
|
|
63144
|
Upside by @Danvir | Stardance
|
Danvir
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T15:21:22Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Upside Down, a simple arcade game where you control a square and avoid obstacles coming toward you. The idea is to survive for as long as possible by moving up and down at the right time. The biggest challenge was keeping the gameplay simple while still making it challenging and fun. I am proud of making the game from scratch and turning a simple idea into a playable game but with challenging and fun way. The controls for the game is left mouse click so that the player can move up and down", "repo": "https://github.com/jsdjoker/Upside", "demo": "https://danjs.itch.io/upside"}]...
|
[{"post_id": 74017, "ts": "202 [{"post_id": 74017, "ts": "2026-09-26T15:19:15Z", "hours": 2.465, "text": "Devlog#2: Created main menu and made the game playable atlast by adding particle effects to the game and also made objects spawn both up and down so that the player can dodge it and also added score and life UI so that the player can track it and enjoy the gameplay!"}, {"post_id": 69713, "ts": "2026-09-17T17:04:49Z", "hours": 0.9042, "text": "Devlog#1: Started my new game called upside by adding a square as a player and can move both side up and down and the obstacles which comes towards the player and then gets destroyed after reaching a zone!"}]...
|
Title: Upside by @Danvir | Stardance
Devlogs:
Dev Title: Upside by @Danvir | Stardance
Devlogs:
Devlog#1: Started my new game called upside by adding a square as a player and can move both side up and down and the obstacles which comes towards the player and then gets destroyed after reaching a zone!
Devlog#2: Created main menu and made the game playable atlast by adding particle effects to the game and also made objects spawn both up and down so that the player can dodge it and also added score and life UI so that the player can track it and enjoy the gameplay!
Ships:
I made Upside Down, a simple arcade game where you control a square and avoid obstacles coming toward you. The idea is to survive for as long as possible by moving up and down at the right time. The biggest challenge was keeping the gameplay simple while still making it challenging and fun. I am proud of making the game from scratch and turning a simple idea into a playable game but with challenging and fun way. The controls for the game is left mouse click so that the player can move up and down...
|
1793210223.445369
|
1793296623.445369
|
|
65132
|
BunnyOS by @shayen | Stardance
|
shayen
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T15:56:35Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an web OS called Bunny OS that is based on bunnies because it is my favourite animal. Features: Music player: lets you import MP3 files from your device along with cover art with the same name as the mp3 file, it has a animation style inspired by an ipod where if you hover over the cover art, it has a nice effect. The player has functions such as skip forward/backward and the option to shuffle or repeat music. Bunny Gallery: Lets you view pre-set images of bunnies and when you click on an image it changes the image on the background to it. Mini website: When you open the mini website, it opens the daily dose of bunny site where you can see a new picture of a bunny daily (I did not make that website i just linked it to my OS, the official site is: https://dailybunny.org/ ) Settings: Lets you change the background gradient of the OS, lets you toggle between light and dark mode, lets you change the font of the build in clock, lets you toggle the top bar on/off Draggable windows: Lets you drag open app windows anywhere on the screen You can open this link to run it: https://bunnyos.netlify.app Disclamer: I did use AI (Google Gemini) for any errors/spelling mistakes I faced. I originally tried using youtube to play music but I could not figure out how to get it to work so I also used ai for the code to import local files but that is all. I will work on this to add more features etc, I am still learning so it will take time.", "repo": "https://github.com/shayensx/BunnyOS", "demo": "https://bunnyos.netlify.app"}]...
|
[{"post_id": 74020, "ts": "202 [{"post_id": 74020, "ts": "2026-09-26T15:22:34Z", "hours": 5.3258, "text": "Today I made some huge improvements to my OS, i added a clock, 4 apps: An app that opens daily dose of bunny site, a music app, a gallery app that lets you change the image in the centre, a settings app with options to turn on/off the top bar, change the background and font and change from light to dark mode. The only issue I have is I cant figure out how to play music from online so i did it so i upload the music mp3 file and cover art to be able to play the music."}, {"post_id": 73212, "ts": "2026-09-24T16:44:24Z", "hours": 1.0844, "text": "Today I improved my website design, I focused on trying to add a gif as my main image, I also added a background image and I did not want to stretch the image so i made a tile effect where it repeats the same image. I also changed the background colour behind each text writing and added a border effect."}, {"post_id": 72753, "ts": "2026-09-23T17:36:40Z", "hours": 0.8214, "text": "I made my first ever website, I have never coded before and this was my first attempt. I made a bunny website where you can see my favourite image of a bunny eating some grapes. I also added a link under the image which redirects you to a website where you can see a new image of a bunny every day. I changed the font so it looks nice and made the background green to try match the image."}]...
|
Title: BunnyOS by @shayen | Stardance
Devlogs:
I Title: BunnyOS by @shayen | Stardance
Devlogs:
I made my first ever website, I have never coded before and this was my first attempt. I made a bunny website where you can see my favourite image of a bunny eating some grapes. I also added a link under the image which redirects you to a website where you can see a new image of a bunny every day. I changed the font so it looks nice and made the background green to try match the image.
Today I improved my website design, I focused on trying to add a gif as my main image, I also added a background image and I did not want to stretch the image so i made a tile effect where it repeats the same image. I also changed the background colour behind each text writing and added a border effect.
Today I made some huge improvements to my OS, i added a clock, 4 apps: An app that opens daily dose of bunny site, a music app, a gallery app that lets you change the image in the centre, a settings app with options to turn on/off the top bar, change the background and font and change from light to dark mode. The only issue I have is I cant figure out how to play music from online so i did it so i upload the music mp3 file and cover art to be able to play the music.
Ships:
I made an web OS called Bunny OS that is based on bunnies because it is my favourite animal. Features: Music player: lets you import MP3 files from your device along with cover art with the same name as the mp3 file, it has a animation style inspired by an ipod where if you hover over the cover art, it has a nice effect. The player has functions such as skip forward/backward and the option to shuffle or repeat music. Bunny Gallery: Lets you view pre-set images of bunnies and when you click on an image it changes the image on the background to it. Mini website: When you open the mini website, it opens the daily dose of bunny site where you can see a new picture of a bunny daily (I did not make that website i just linked it to my OS, the official site is: https://dailybunny.org/ ) Settings: Lets you change the background gradient of the OS, lets you toggle between light and dark mode, lets you change the font of the build in clock, lets you toggle the top bar on/off Draggable windows: Lets you drag open app windows anywhere on the screen You can open this link to run it: https://bunnyos.netlify.app Disclamer: I did use AI (Google Gemini) for any errors/spelling mistakes I faced. I originally tried using youtube to play music but I could not figure out how to get it to work so I also used ai for the code to import local files but that is all. I will work on this to add more features etc, I am still learning so it will take time....
|
1793213694.0279593
|
1793300094.0279593
|
|
47355
|
TruthLens-Ai by @alidoruk | Stardance
|
alidoruk
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T15:28:14Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I developed TruthLens AI, a platform that verifies social media posts, news, and images using artificial intelligence and performs manipulation analysis. I successfully optimized large AI models and established a real-time source pipeline using Tavily. Users can instantly obtain a veracity score and a safety report by entering any text or link.", "repo": "https://github.com/alidoruk320-coder/truthlens-ai", "demo": "https://truthlens-ai-ctl7.vercel.app"}]...
|
[{"post_id": 74022, "ts": "202 [{"post_id": 74022, "ts": "2026-09-26T15:26:19Z", "hours": 1.5539, "text": "Last version of truth-lens ai. For social media content moderation"}, {"post_id": 60102, "ts": "2026-09-02T08:04:25Z", "hours": 5.6714, "text": "Content Moderator"}, {"post_id": 48043, "ts": "2026-08-16T10:22:02Z", "hours": 8.0531, "text": "A social media ai."}]...
|
Title: TruthLens-Ai by @alidoruk | Stardance
Devl Title: TruthLens-Ai by @alidoruk | Stardance
Devlogs:
A social media ai.
Content Moderator
Last version of truth-lens ai. For social media content moderation
Ships:
I developed TruthLens AI, a platform that verifies social media posts, news, and images using artificial intelligence and performs manipulation analysis. I successfully optimized large AI models and established a real-time source pipeline using Tavily. Users can instantly obtain a veracity score and a safety report by entering any text or link....
|
1793339241.188829
|
1793425641.188829
|
|
17213
|
LumusPad by @araadh3111 | Stardance
|
araadh3111
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-12T10:37:49Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a hackpad based on hackclubs hackpad guide I worked really really hard on this but lapse was down I even have friends who were on call with me while I was working on this, this is my first hardware project I have made a pcb with 5 cherry mx switches one 0’91 inch oled and one rotary encoder and 5 rgb backlights I have made a really great cyberpunkish case with 3 layers , which can be screwed together by m3 screws", "repo": "https://github.com/Araadh3111/Lumushackpad", "demo": ""}]...
|
[{"post_id": 7403, "ts": "2026 [{"post_id": 7403, "ts": "2026-06-12T10:31:45Z", "hours": 0.2903, "text": "My hack pad is done with small design changes now done and commited everything is done!!"}, {"post_id": 7382, "ts": "2026-06-12T09:46:28Z", "hours": 0.5056, "text": "I am officially done with my hackpad!!!!! I have been workingon it for a long time but forgot to record in lapse these 28 minutes of firmware writing is all I have to show, But I have 2 friends that can vouch for me as I was on calll grinding 6 hrs making this hackpad, U can see its repo at https://github.com/Araadh3111/Lumushackpad- here are some images of case and pcb"}]...
|
Title: LumusPad by @araadh3111 | Stardance
Devlog Title: LumusPad by @araadh3111 | Stardance
Devlogs:
I am officially done with my hackpad!!!!! I have been workingon it for a long time but forgot to record in lapse these 28 minutes of firmware writing is all I have to show, But I have 2 friends that can vouch for me as I was on calll grinding 6 hrs making this hackpad, U can see its repo at https://github.com/Araadh3111/Lumushackpad- here are some images of case and pcb
My hack pad is done with small design changes now done and commited everything is done!!
Ships:
I made a hackpad based on hackclubs hackpad guide I worked really really hard on this but lapse was down I even have friends who were on call with me while I was working on this, this is my first hardware project I have made a pcb with 5 cherry mx switches one 0’91 inch oled and one rotary encoder and 5 rgb backlights I have made a really great cyberpunkish case with 3 layers , which can be screwed together by m3 screws...
|
1793271235.465406
|
1793357635.465406
|
|
56214
|
space-bot by @LunarLeaper | Stardance
|
LunarLeaper
|
1
|
4.0
|
9
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T16:10:25Z", "hours": 4.0, "multiplier": 1.96, "payout": 9, "blessing": "neutral", "text": "I made a slack-bot but I twisted it a bit . It is a bot that answer questions about space. Debugging my code was the most challenging thing for me. I thought I would compelete this projects in 2-3 days but it took me 2-3 weeks due to bugs and waiting for nest approval", "repo": "https://github.com/rr-codes4/Slack-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C02ADG5JFRB"}]...
|
[{"post_id": 74038, "ts": "202 [{"post_id": 74038, "ts": "2026-09-26T16:06:53Z", "hours": 2.4575, "text": "This is how my bot respond to the slash command that asks for NASA’s POD on stream…I fixed some errors…and here it is"}, {"post_id": 67377, "ts": "2026-09-13T13:54:12Z", "hours": 1.9211, "text": "Launching a Cosmic Bot using python Answers your burning space questions. Tracks ISS real location Fetches NASA’s official picture of the day Mini Mars Game and more like space jokes,news , even does some calculations etc."}]...
|
Title: space-bot by @LunarLeaper | Stardance
Devl Title: space-bot by @LunarLeaper | Stardance
Devlogs:
Launching a Cosmic Bot using python Answers your burning space questions. Tracks ISS real location Fetches NASA’s official picture of the day Mini Mars Game and more like space jokes,news , even does some calculations etc.
This is how my bot respond to the slash command that asks for NASA’s POD on stream…I fixed some errors…and here it is
Ships:
I made a slack-bot but I twisted it a bit . It is a bot that answer questions about space. Debugging my code was the most challenging thing for me. I thought I would compelete this projects in 2-3 days but it took me 2-3 weeks due to bugs and waiting for nest approval...
|
1793148999.2016702
|
1793235399.2016702
|
|
61741
|
Pacpad by @Lxsh-S | Stardance
|
Lxsh-S
|
0
|
14.3
|
0
|
[]
|
[{"post_id": 74039, "ts": "202 [{"post_id": 74039, "ts": "2026-09-26T16:07:50Z", "hours": 1.6228, "text": "DESIGN PHASE #7 The case came!!!! :yayya Had to choose black color for the top because they didn’t have blue :( Nothing much……. I’m currently waiting for the hackpad kit and pcb to come and start building Also I had some short cirsuits in the gerbers.zip so i just updated them and sent it back to robu Let’s see when the pcb arrives"}, {"post_id": 69691, "ts": "2026-09-17T16:20:53Z", "hours": 0.2981, "text": "DESIGN PHASE #6 As adviced by a fellow hackclubber @Tensor I have removed the overhang from the macropad Also, |I had forgot to add the knob file in Production so added that too!!"}, {"post_id": 69089, "ts": "2026-09-16T10:58:34Z", "hours": 1.7028, "text": "DESIGN PHASE #5 Lol :) I changed the design one more time Progress I tried changing the design of the top case to look like a wave from the side and ig it resembles it a little Also I added much needed curves to the design I’ll provide the screenshots but also checkout the guithub page!! :)"}, {"post_id": 68727, "ts": "2026-09-15T17:03:11Z", "hours": 0.7617, "text": "DESIGN PHASE #4 Yess!!! I’m done with the firmware finally and I also wrote a README The firmware has functions README has it :- Media controls volume controls with mute switch on the rotatory encoder Fullscreen Also wrote the list of components used for the project"}, {"post_id": 68683, "ts": "2026-09-15T15:15:02Z", "hours": 5.4867, "text": "DESIGN PHASE # 3 Finaalyy im done with the design and we are into the final steps of the designing phase Things Done Switched between 3 different designs and finally I’m moving with this one Rerouted the PCB properly Completed the CAD Things left The firmware is left I'm thinking of using circuit python to write that :) Write the README.md file for the repo and we’ll be done ig"}, {"post_id": 67867, "ts": "2026-09-14T04:44:46Z", "hours": 3.0892, "text": "DESIGN PHASE #2 The LED errors man Anyways, Progress Added an OLED screen Added 2 LEDs to the pcb but they were causing errors Redesigned the pcb thinking the error was caused by something that I may have done wrong but that wasn’t the case Next?? Add hackclub logos to make the pcb look cooler Wait for someone to help me fix the LED problem Design the case for the pcb Learnt Learnt more about how kicad pcb editor works (footprints and symbols) What we currently have? 2x LEDs 1x OLED screen 4x keys 1x Volume knob/rotatory encoder switch"}, {"post_id": 67385, "ts": "2026-09-13T14:09:39Z", "hours": 1.3428, "text": "DEVLOG 1 Hey all, I’m new to hardware stuff and decided to begin with this hackpad mission. What have I done? I started with the awsome tutorial for hackpad then tried to customize it. I have addded 4 keys A volume knob Next?? I’ll be adding a oled screen first which will be displaying a cute companion typa thing (still didnt figure out the name). Where did I spend most of the time?? The most time went into schematics as im new I had made soo many mistakes that I realised I had made by watching some yt videos The most fun part was to tinker in PCB editor and watch what the pcb looks like in the 3-d viewer"}]...
|
Title: Pacpad by @Lxsh-S | Stardance
Devlogs:
DEV Title: Pacpad by @Lxsh-S | Stardance
Devlogs:
DEVLOG 1 Hey all, I’m new to hardware stuff and decided to begin with this hackpad mission. What have I done? I started with the awsome tutorial for hackpad then tried to customize it. I have addded 4 keys A volume knob Next?? I’ll be adding a oled screen first which will be displaying a cute companion typa thing (still didnt figure out the name). Where did I spend most of the time?? The most time went into schematics as im new I had made soo many mistakes that I realised I had made by watching some yt videos The most fun part was to tinker in PCB editor and watch what the pcb looks like in the 3-d viewer
DESIGN PHASE #2 The LED errors man Anyways, Progress Added an OLED screen Added 2 LEDs to the pcb but they were causing errors Redesigned the pcb thinking the error was caused by something that I may have done wrong but that wasn’t the case Next?? Add hackclub logos to make the pcb look cooler Wait for someone to help me fix the LED problem Design the case for the pcb Learnt Learnt more about how kicad pcb editor works (footprints and symbols) What we currently have? 2x LEDs 1x OLED screen 4x keys 1x Volume knob/rotatory encoder switch
DESIGN PHASE # 3 Finaalyy im done with the design and we are into the final steps of the designing phase Things Done Switched between 3 different designs and finally I’m moving with this one Rerouted the PCB properly Completed the CAD Things left The firmware is left I'm thinking of using circuit python to write that :) Write the README.md file for the repo and we’ll be done ig
DESIGN PHASE #4 Yess!!! I’m done with the firmware finally and I also wrote a README The firmware has functions README has it :- Media controls volume controls with mute switch on the rotatory encoder Fullscreen Also wrote the list of components used for the project
DESIGN PHASE #5 Lol :) I changed the design one more time Progress I tried changing the design of the top case to look like a wave from the side and ig it resembles it a little Also I added much needed curves to the design I’ll provide the screenshots but also checkout the guithub page!! :)
DESIGN PHASE #6 As adviced by a fellow hackclubber @Tensor I have removed the overhang from the macropad Also, |I had forgot to add the knob file in Production so added that too!!
DESIGN PHASE #7 The case came!!!! :yayya Had to choose black color for the top because they didn’t have blue :( Nothing much……. I’m currently waiting for the hackpad kit and pcb to come and start building Also I had some short cirsuits in the gerbers.zip so i just updated them and sent it back to robu Let’s see when the pcb arrives...
|
1793040819.2179086
|
1793645619.2179086
|
|
63309
|
webos1 by @rigid_valmeo | Stardance
|
rigid_valmeo
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T16:31:37Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website about chemistry with built-in apps. The website is designed as a small digital laboratory where visitors can explore chemistry notes, the periodic table, chemistry topics, learning resources, and an interactive chemistry quiz. I wanted to combine my interest in chemistry with a fun and personal web design, so I created the website to look like a small desktop environment with different chemistry applications. It was quite hard since it took me a lot of time and it’s only my 2nd time doing this.", "repo": "https://github.com/rigidvalmeo03/ichi-webOS1", "demo": "https://rigidvalmeo03.github.io/ichi-webOS1/"}]...
|
[{"post_id": 74049, "ts": "202 [{"post_id": 74049, "ts": "2026-09-26T16:23:46Z", "hours": 9.365, "text": "Made my own WebOS! It’s about chemistry, and you can take a quiz here hehe<3"}]...
|
Title: webos1 by @rigid_valmeo | Stardance
Devlog Title: webos1 by @rigid_valmeo | Stardance
Devlogs:
Made my own WebOS! It’s about chemistry, and you can take a quiz here hehe<3
Ships:
I made a website about chemistry with built-in apps. The website is designed as a small digital laboratory where visitors can explore chemistry notes, the periodic table, chemistry topics, learning resources, and an interactive chemistry quiz. I wanted to combine my interest in chemistry with a fun and personal web design, so I created the website to look like a small desktop environment with different chemistry applications. It was quite hard since it took me a lot of time and it’s only my 2nd time doing this....
|
1792814017.3677611
|
1793678017.3677611
|
|
25672
|
NeoOS by @WilGulf | Stardance
|
WilGulf
|
1
|
130.63
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T16:36:40Z", "hours": 118.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So I made my own os “NeoOS”, this project was started not long after the release of the macbook neo and cause of that the os got it’s name. Testing is pretty easy, just make sure you have qemu installed with the correct cpu architecture. The project has become much bigger than I thought when I started it, I just could not stop implementing more features. And the most challenging part must be the hardware interaction, like reading from a disk by sending commands in hex. The documentation found for how cpus/ata disks/ram and all works are so hard to understand but that may be because it is not a simple thing. So when testing I want you to know that even though there aren’t many commands the kernel is still doing so much work not seen and the kernel is also what took most hours on this project. Lastly I hope that someone with all documentation provided writes their own program for NeoOS, I would love to see what other people could do with my OS.", "repo": "https://github.com/WilGulf/NeoOS", "demo": "https://github.com/WilGulf/NeoOS/releases/tag/1.1.0"}]...
|
[{"post_id": 74057, "ts": "202 [{"post_id": 74057, "ts": "2026-09-26T16:34:52Z", "hours": 9.7725, "text": "Devblog 22 The review of NeoOS found some problems with the filesystem commands and I took some time to fix them. Now the commands know where they are run and you can move around with cd. The second thing for this devblog is that I got multi disk support so now you can have up to 4 harddrives attached with writing/reading working on all of them , and that took some interractions with the ata ports but I finally got it working. –WilGulf"}, {"post_id": 69740, "ts": "2026-09-17T18:05:34Z", "hours": 2.8608, "text": "Devblog 21 The review is taking ages, and I couldn’t leave NeoOS. So I of course continued with fixes and features. The big new thing in this devblog is the filesystem: NeoFS, I have done major changes to the design like how a free block is found which greatly improves performance. And many safeguards were added to reading/writing to the filesystem. I also updated the host fstools used to create the filesystem on a drive to support arguments with options, easier to use now. – WilGulf"}, {"post_id": 63661, "ts": "2026-09-07T16:18:42Z", "hours": 1.5858, "text": "Devblog 20 Final touches and logging the remaining time before shipping. I hope I have fixed all small bugs and made the libraries easy to use in new C programs. I also created some small new programs to show all functions in the kernel. Thats all for now and I hope to get to ship soon. –WilGulf"}, {"post_id": 63163, "ts": "2026-09-06T20:16:36Z", "hours": 1.6142, "text": "Devblog 19 Not as big of a update now, but I just wanted to show of my new readdir implementation. That is then used by list with some coloring, all are green cause there is only executables in /execs. – WilGulf"}, {"post_id": 63079, "ts": "2026-09-06T17:50:19Z", "hours": 9.9825, "text": "Devblog 18 So close to going over 10h however I managed to fix the bug. So a missing feature has been writing to the disk and not only read it. But the current file system was fat16 and the attempts I have made to implement writing has failed. What is the logical thing to do in this scenario, well I wrote my own filesystem: NeoFS. It is not feature rich compared to fat16 but that was why I could make it write. And the performance may be horibble when having larger files. But if it works I will keep it! So the test just shows writing/reading of a file. – WilGulf"}, {"post_id": 60414, "ts": "2026-09-02T18:32:35Z", "hours": 3.4125, "text": "Devblog 17 I have developed my own ramfs. The old filesystem only supported fat16 with only reading capabilities which maded it feel very limited with what you could do with it. So the first step I dicided to do with adding reading was to implement filesystem that lives in ram which is really easy to write to. Now the D: drive is used for the ramfs (D as in dev used by linux). In the screenshot test.elf creates a file: D:/test.txt and writes HELLO FROM RAMFS to it. Then read.elf (linux cat) can read that file. – WilGulf"}, {"post_id": 58085, "ts": "2026-08-30T13:12:46Z", "hours": 7.1003, "text": "Devblog 16 I wanted more programs for NeoOS but I felt really limited to just the print and getkey functions. So I rewrite ncurses (not with all ncurses functions) into my own curses for NeoOS. This allowed me to write programs that update the terminal like a screen. Here I shouw the NeoOS logo being displayed with a CRT-screen effect. Now I am In the decision of what game to make with this new library. – WilGulf"}, {"post_id": 56739, "ts": "2026-08-28T16:47:26Z", "hours": 4.86, "text": "Devblog 15 I have now added colored printing that I showcase here in the fetch program. The printing made me redo how the writer works to support the decoding of the default ascii sequence used to change color: \\033[xxm , where xx is the color. It follows the standard C way which makes it pretty easy to use colored printing. – WilGulf"}, {"post_id": 53943, "ts": "2026-08-24T17:27:07Z", "hours": 13.1097, "text": "Devblog 14 I have worked on multiple commands for the shell but the one that i want to showcase now is the process management. Running.elf lists all running processes (including itself) with their name, pid and privilege level. Then I execute kill.elf with “1” as a argument which is the id of the shell. That kills the shell which leaves the os with just the blinking underscore cause there is no longer a shell running. Other commands are the sysinfo (uname) and updating fetch.elf with some new info."}, {"post_id": 49143, "ts": "2026-08-17T19:33:20Z", "hours": 9.0397, "text": "Devblog 13 Not much to show on the screen, however in the background i have worked on a security feature. So it is kind of like the pledge feature in open-bsd: so the kernel first need to know from the program what it wants to do, like print to the screen. Not until it has told what it will do it won’t be able to do anything. And if the program ever does anything it hasn’t told it would do the kernel will just kill the process. The program promise to not use any other functions except the one it has specified. And the kernel won’t let it break it’s promise. That is why the c function is called promise. –WilGulf"}, {"post_id": 48037, "ts": "2026-08-16T10:16:51Z", "hours": 9.1672, "text": "Devblog 12 A shell This is the first shell for NeoOS, it only has the clear command and a fetch program to display the logo. It took some time implementing all syscalls it needed, i needed to make many kernel functions available in the userprogram and that took most my time. I have yet to implement a way to terminate the program so now when fetch is called it never ends and you never get back to the shell again. – WilGulf"}, {"post_id": 46769, "ts": "2026-08-14T08:19:44Z", "hours": 4.0228, "text": "Devblog 11 NeoOS has now got ps2 keyboard drivers! So now I have implemented a driver for the US layout on ps2 keyboards. I am also looking into changing it to support my keyboards (Swedish layout), but that would take some time to map the right keys to the right number when the US layout can be found right on the os dev wiki. So this keyboard writing is also done the real way, the kernel boots, the kernel starts a program, that program asks for keyboard input, when it gets a input it asks the kernel to print that input. Now you can see how this could later change into a shell: you write the name of a command and it runs it. –WilGulf"}, {"post_id": 44096, "ts": "2026-08-09T17:04:23Z", "hours": 7.8719, "text": "Devblog 10 Now a binary file is able to be loaded AND executed. So from that qemu picture you can see the “Hello from a binary program” message, that message is printed by that print.s code. This is a huge milestone. There are still some functions to implement. But after that it is just writing all the userland programs. I must say none of this was easy, and choosing to develop a OS for stardance has so far been a really big challange. And now I need to push through coding the last bit so i can get this shipped before the end of stardance. –WilGulf"}, {"post_id": 43351, "ts": "2026-08-08T15:42:07Z", "hours": 7.6778, "text": "Devblog 9 I found a course for os development to follow and it really helped me with this. With the course explaining, I got my kernel to read a fat16 disk and print the content of hello.txt. This was a lot of debugging, first the file did open but couldn’t be read, then later the file was read but the data was just wierd characters. Now this is a huge step, the reading is done and now I only need it to be able to understand executables and read them. – WilGulf"}, {"post_id": 42494, "ts": "2026-08-07T08:16:16Z", "hours": 3.1131, "text": "Devblog 8 The real malloc and free is implemented. And if you know C you may understand what is going on in the image. All ptr are allocated using malloc and the first one is free’d before allocating ptr4, that is why their values are the same: ptr4 reuses ptr1 because ptr1 is free’d. Now that I don’t only have the allocation but also freeing which means I can safely implement a filesystem driver without worrying about the memory overflowing. – WilGulf"}, {"post_id": 42122, "ts": "2026-08-06T18:15:14Z", "hours": 4.8756, "text": "Devblog 7 I got to usermode, there I could run all the programs like a shell. But when jumping to usermode you need somewhere to land, some address where the cpu can start executing code. I don’t have that. So the next thing would be to implement a filesystem driver to read a disk and execute an executable. But my memory management is to simple to do it in a good way, I can only allocate and never delocate. So now I am going to revamp my memory management. –WilGulf"}, {"post_id": 26450, "ts": "2026-07-11T08:03:23Z", "hours": 11.1347, "text": "10h I don’t have anything to show right now, but as you can see i have 11 more hours on this project. I have both been working on fixes and some new things needed for the next big thing being: getting to ring 3/usermode. –WilGulf"}, {"post_id": 24029, "ts": "2026-07-07T09:45:52Z", "hours": 4.8494, "text": "Now we got progress! The kernel now has my implementation of paging working. If you don’t know what paging is, it is basically a way of managing the memory that is used by most x86 operating systems. The paging implementation took some C files and some updates to the assembly files but now it is done! Now I have many ways to go with what to implement next. We’ll see what i choose. –WilGulf"}, {"post_id": 19092, "ts": "2026-06-30T09:33:07Z", "hours": 7.1717, "text": "IDT Done! Now I got the IDT working. You can see it is working cause when that “Divide By Zero” message appears the kernel does a division with a zero. Normally that would make the kernel start bootlooping but now the interrupt handler handles the divide by zero and stops the kernel instead. Interrupt handling does not only stop crashes but also allow keyboards or syscalls to invoke interrupts that the kernel can process. Next step may be to use that interrupt handler to implement syscalls. – WilGulf"}, {"post_id": 18225, "ts": "2026-06-29T09:29:17Z", "hours": 2.5817, "text": "Hello Yes we got it, hello world on the screen. Turns out the loading of the kernel set up the stack wrong. One line of assembly was in the wrong section. I also continued with the GDT. It isnt something you can see but in the background the GDT has been initialized. That is my progress so far, now after GDT comes some interrupt handling. –WilGulf"}, {"post_id": 17849, "ts": "2026-06-28T19:51:48Z", "hours": 3.3697, "text": "HELP What is wrong? Well as I said, I would continue with getting Hello World on the screen. Well that wasn’t hard to do the “simple” way, just pasting several lines for each letter. But I wanted to do it the real way, implement a writer function. I started with making a function to clear the framebuffer from that “Booting…” message. And also moving the cursor to the start. Then I continued with the writer. The writer took two parameters: (char *buf, unsigned int len). Both arguments needed. The function i began testing with calling it from kmain like this: writer(“hello”, 5) . Then in the function i processed it like this: unsigned char *bytes = (unsigned char *)buf; for (unsigned int i = 0; i < len; i++) { fb_write_cell(pos * 2, bytes[i], 0x0F, 0x00); pos++; } But thats where it went wrong. When compiling and booting after adding that function content it wouldn’t boot. And that is wierd cause when i removed the bytes[i] line it booted. Somehow my kernel cant handle it. I don’t know what could currently be causing this. What now? Well i will of course try to solve this myself or find a way to make the writer work. And if you have any knowledge in C and os development please help me. The projects current code can be found on my github. – WilGulf"}, {"post_id": 15860, "ts": "2026-06-25T19:46:32Z", "hours": 1.8089, "text": "I got my OS booting without entering a bootloop!!! I wanted to leave assembly and start to use C. But to do that I need to call the main function in C from assembly. Much googling and testing later I got it to actually use the main functions while loop to keep itself from bootlooping. Never thought i would be so happy about completing the first and easiest task in os development. I will comeback with another post when i get ‘hello world’ on the screen."}]...
|
Title: NeoOS by @WilGulf | Stardance
Devlogs:
I g Title: NeoOS by @WilGulf | Stardance
Devlogs:
I got my OS booting without entering a bootloop!!! I wanted to leave assembly and start to use C. But to do that I need to call the main function in C from assembly. Much googling and testing later I got it to actually use the main functions while loop to keep itself from bootlooping. Never thought i would be so happy about completing the first and easiest task in os development. I will comeback with another post when i get ‘hello world’ on the screen.
HELP What is wrong? Well as I said, I would continue with getting Hello World on the screen. Well that wasn’t hard to do the “simple” way, just pasting several lines for each letter. But I wanted to do it the real way, implement a writer function. I started with making a function to clear the framebuffer from that “Booting…” message. And also moving the cursor to the start. Then I continued with the writer. The writer took two parameters: (char *buf, unsigned int len). Both arguments needed. The function i began testing with calling it from kmain like this: writer(“hello”, 5) . Then in the function i processed it like this: unsigned char *bytes = (unsigned char *)buf; for (unsigned int i = 0; i < len; i++) { fb_write_cell(pos * 2, bytes[i], 0x0F, 0x00); pos++; } But thats where it went wrong. When compiling and booting after adding that function content it wouldn’t boot. And that is wierd cause when i removed the bytes[i] line it booted. Somehow my kernel cant handle it. I don’t know what could currently be causing this. What now? Well i will of course try to solve this myself or find a way to make the writer work. And if you have any knowledge in C and os development please help me. The projects current code can be found on my github. – WilGulf
Hello Yes we got it, hello world on the screen. Turns out the loading of the kernel set up the stack wrong. One line of assembly was in the wrong section. I also continued with the GDT. It isnt something you can see but in the background the GDT has been initialized. That is my progress so far, now after GDT comes some interrupt handling. –WilGulf
IDT Done! Now I got the IDT working. You can see it is working cause when that “Divide By Zero” message appears the kernel does a division with a zero. Normally that would make the kernel start bootlooping but now the interrupt handler handles the divide by zero and stops the kernel instead. Interrupt handling does not only stop crashes but also allow keyboards or syscalls to invoke interrupts that the kernel can process. Next step may be to use that interrupt handler to implement syscalls. – WilGulf
Now we got progress! The kernel now has my implementation of paging working. If you don’t know what paging is, it is basically a way of managing the memory that is used by most x86 operating systems. The paging implementation took some C files and some updates to the assembly files but now it is done! Now I have many ways to go with what to implement next. We’ll see what i choose. –WilGulf
10h I don’t have anything to show right now, but as you can see i have 11 more hours on this project. I have both been working on fixes and some new things needed for the next big thing being: getting to ring 3/usermode. –WilGulf
Devblog 7 I got to usermode, there I could run all the programs like a shell. But when jumping to usermode you need somewhere to land, some address where the cpu can start executing code. I don’t have that. So the next thing would be to implement a filesystem driver to read a disk and execute an executable. But my memory management is to simple to do it in a good way, I can only allocate and never delocate. So now I am going to revamp my memory management. –WilGulf
Devblog 8 The real malloc and free is implemented. And if you know C you may understand what is going on in the image. All ptr are allocated using malloc and the first one is free’d before allocating ptr4, that is why their values are the same: ptr4 reuses ptr1 because ptr1 is free’d. Now that I don’t only have the allocation but also freeing which means I can safely implement a filesystem driver without worrying about the memory overflowing. – WilGulf
Devblog 9 I found a course for os development to follow and it really helped me with this. With the course explaining, I got my kernel to read a fat16 disk and print the content of hello.txt. This was a lot of debugging, first the file did open but couldn’t be read, then later the file was read but the data was just wierd characters. Now this is a huge step, the reading is done and now I only need it to be able to understand executables and read them. – WilGulf
Devblog 10 Now a binary file is able to be loaded AND executed. So from that qemu picture you can see the “Hello from a binary program” message, that message is printed by that print.s code. This is a huge milestone. There are still some functions to implement. But after that it is just writing all the userland programs. I must say none of this was easy, and choosing to develop a OS for stardance has so far been a really big challange. And now I need to push through coding the last bit so i can get this shipped before the end of stardance. –WilGulf
Devblog 11 NeoOS has now got ps2 keyboard drivers! So now I have implemented a driver for the US layout on ps2 keyboards. I am also looking into changing it to support my keyboards (Swedish layout), but that would take some time to map the right keys to the right number when the US layout can be found right on the os dev wiki. So this keyboard writing is also done the real way, the kernel boots, the kernel starts a program, that program asks for keyboard input, when it gets a input it asks the kernel to print that input. Now you can see how this could later change into a shell: you write the name of a command and it runs it. –WilGulf
Devblog 12 A shell This is the first shell for NeoOS, it only has the clear command and a fetch program to display the logo. It took some time implementing all syscalls it needed, i needed to make many kernel functions available in the userprogram and that took most my time. I have yet to implement a way to terminate the program so now when fetch is called it never ends and you never get back to the shell again. – WilGulf
Devblog 13 Not much to show on the screen, however in the background i have worked on a security feature. So it is kind of like the pledge feature in open-bsd: so the kernel first need to know from the program what it wants to do, like print to the screen. Not until it has told what it will do it won’t be able to do anything. And if the program ever does anything it hasn’t told it would do the kernel will just kill the process. The program promise to not use any other functions except the one it has specified. And the kernel won’t let it break it’s promise. That is why the c function is called promise. –WilGulf
Devblog 14 I have worked on multiple commands for the shell but the one that i want to showcase now is the process management. Running.elf lists all running processes (including itself) with their name, pid and privilege level. Then I execute kill.elf with “1” as a argument which is the id of the shell. That kills the shell which leaves the os with just the blinking underscore cause there is no longer a shell running. Other commands are the sysinfo (uname) and updating fetch.elf with some new info.
Devblog 15 I have now added colored printing that I showcase here in the fetch program. The printing made me redo how the writer works to support the decoding of the default ascii sequence used to change color: \033[xxm , where xx is the color. It follows the standard C way which makes it pretty easy to use colored printing. – WilGulf
Devblog 16 I wanted more programs for NeoOS but I felt really limited to just the print and getkey functions. So I rewrite ncurses (not with all ncurses functions) into my own curses for NeoOS. This allowed me to write programs that update the terminal like a screen. Here I shouw the NeoOS logo being displayed with a CRT-screen effect. Now I am In the decision of what game to make with this new library. – WilGulf
Devblog 17 I have developed my own ramfs. The old filesystem only supported fat16 with only reading capabilities which maded it feel very limited with what you could do with it. So the first step I dicided to do with adding reading was to implement filesystem that lives in ram which is really easy to write to. Now the D: drive is used for the ramfs (D as in dev used by linux). In the screenshot test.elf creates a file: D:/test.txt and writes HELLO FROM RAMFS to it. Then read.elf (linux cat) can read that file. – WilGulf
Devblog 18 So close to going over 10h however I managed to fix the bug. So a missing feature has been writing to the disk and not only read it. But the current file system was fat16 and the attempts I have made to implement writing has failed. What is the logical thing to do in this scenario, well I wrote my own filesystem: NeoFS. It is not feature rich compared to fat16 but that was why I could make it write. And the performance may be horibble when having larger files. But if it works I will keep it! So the test just shows writing/reading of a file. – WilGulf
Devblog 19 Not as big of a update now, but I just wanted to show of my new readdir implementation. That is then used by list with some coloring, all are green cause there is only executables in /execs. – WilGulf
Devblog 20 Final touches and logging the remaining time before shipping. I hope I have fixed all small bugs and made the libraries easy to use in new C programs. I also created some small new programs to show all functions in the kernel. Thats all for now and I hope to get to ship soon. –WilGulf
Devblog 21 The review is taking ages, and I couldn’t leave NeoOS. So I of course continued with fixes and features. The big new thing in this devblog is the filesystem: NeoFS, I have done major changes to the design like how a free block is found which greatly improves performance. And many safeguards were added to reading/writing to the filesystem. I also updated the host fstools used to create the filesystem on a drive to support arguments with options, easier to use now. – WilGulf
Devblog 22 The review of NeoOS found some problems with the filesystem commands and I took some time to fix them. Now the commands know where they are run and you can move around with cd. The second thing for this devblog is that I got multi disk support so now you can have up to 4 harddrives attached with writing/reading working on all of them , and that took some interractions with the ata ports but I finally got it working. –WilGulf
Ships:
So I made my own os “NeoOS”, this project was started not long after the release of the macbook neo and cause of that the os got it’s name. Testing is pretty easy, just make sure you have qemu installed with the correct cpu architecture. The project has become much bigger than I thought when I started it, I just could not stop implementing more features. And the most challenging part must be the hardware interaction, like reading from a disk by sending commands in hex. The documentation found for how cpus/ata disks/ram and all works are so hard to understand but that may be because it is not a simple thing. So when testing I want you to know that even though there aren’t many commands the kernel is still doing so much work not seen and the kernel is also what took most hours on this project. Lastly I hope that someone with all documentation provided writes their own program for NeoOS, I would love to see what other people could do with my OS....
|
1793339835.4886718
|
1793426235.4886718
|
|
64756
|
my APOD site by @DEEPML18 | Stardance
|
DEEPML18
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T16:46:40Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🌌 NASA Pro - Explorer Dashboard A dynamic new-tab dashboard built for the “Give Your Website a Pulse” challenge. ✨ Features Zero-Delay Backgrounds: Instantly loads a cached cosmic background, while gracefully fetching the latest NASA APOD image. Live Search Integration: Fully integrated web search (SerpApi) directly in the dashboard. Dynamic Glassmorphism UI: Custom CSS featuring smooth backdrop-filters and hover animations. Custom Bookmarks Engine: An interactive widget to add and manage your favorite links via localStorage . 🛠 Tech Stack & Setup Tech: Pure HTML, Vanilla JavaScript, Custom CSS, and Vite. Setup: npm install -> Add .env with VITE_NASA_API_KEY & VITE_SERPAPI_KEY -> npm run dev 📝 Challenge Checklist HTML + CSS + JS required Public repository with good README Devlogs included No AI one-click builders (100% manual code) Custom UI/CSS Real Features (APIs, localStorage) Fully deployed website NASA Pro - Devlogs Day 1: Project Setup Scaffolded the project using Vite to test my vanilla JavaScript skills. Created the basic HTML structure, JS entry points, and added a fallback cosmic image ( hero.png ) to guarantee the background never breaks. Day 2: NASA API & Local Caching Hooked up the NASA APOD API. To prevent hitting API rate limits, I engineered a localStorage caching system that saves the last 20 fetched images and falls back to them automatically. Day 3: Clock & DOM Skeleton Built a precise digital clock function with a dynamic time-based greeting. Sketched out the search bar and built a collapsible “Info Panel” with CSS transitions to display the NASA APOD descriptions. Day 4: SerpApi Integration & Glassmorphism Integrated SerpApi for native Google Search results. Configured a Vite proxy to fix CORS, built a custom Vanilla JS rendering engine for the results, and completely overhauled the CSS to a “Glassmorphism” theme. Day 5: Refactoring & Bookmarks Modularized the 650-line main.js into clean components. Replaced hardcoded quick links with a dynamic Custom Bookmarks engine, and polished the background to load instantly with zero delay.", "repo": "https://github.com/DEEPML1818/my-APOD-site", "demo": "https://my-apod-site-gamma.vercel.app/"}]...
|
[{"post_id": 74059, "ts": "202 [{"post_id": 74059, "ts": "2026-09-26T16:37:03Z", "hours": 0.6386, "text": "day 3 - Final Polish & Refactoring massive code cleanup: broke down a monolithic main.js into clean modules (clock.js, apod.js, bookmarks.js, search.js soon) fixed UI visibility issue where search results background obscured the NASA image fixed z-index bug to ensure the APOD description info panel is fully readable while searching built custom bookmarks functionality: users can now dynamically add and remove their own links that persist via localStorage (goodbye hardcoded links) implemented zero-delay background rendering: app now instantly loads a cached background on initial load while fetching the fresh NASA API image in the background, eliminating any black screen delays project is officially ready to ship! 🚀"}, {"post_id": 73612, "ts": "2026-09-25T14:08:01Z", "hours": 1.2392, "text": "Today’s session was a full transformation of nasa_pro — from a basic Vite page with a clock into a working search engine with a premium space-themed UI, powered by two live APIs. SerpApi Search Engine The old search bar just opened Google in a new tab. I ripped that out and replaced it with a real SerpApi integration. Now when you type a query and hit Go, the app makes an API call to SerpApi’s Google engine, parses the JSON response, and renders the top 5 organic results directly on the page — each with a clickable title and snippet preview. A close button dismisses the results panel. The entire search flow happens without leaving the page. To bypass CORS restrictions, I set up a Vite dev proxy in vite.config.js that routes /search.json requests through to serpapi.com, so the browser treats it as a same-origin request. The API key is stored in .env as VITE_SERPAPI_KEY. NASA APOD Background Fix The APOD integration existed but was completely broken — the background was pure black. I traced this to three issues: the code was loading the full-res hdurl (tens of megabytes, 40+ seconds to download) instead of the optimized 1024px web version; NASA’s servers were rejecting requests because the browser sent a Referer header from localhost; and there was zero fallback if the image failed. I fixed all three — prioritized the smaller d.url, added a no-referrer meta tag to index.html, and built a proper loading chain using Image() preloading with onload/onerror handlers that tries the web image first, falls back to hdurl, then to a local hero.png asset. The .bg element now starts with a cosmic radial gradient so the page always looks like space, even if every image source fails. I also busted the localStorage cache so stale data doesn’t persist. UI Redesign Rewrote styles.css almost entirely. The search panel now uses glassmorphism — backdrop-filter blur, translucent rgba backgrounds, subtle borders, and deep box shadows. The search input transitions on focus with a glowing border. Buttons lift on hover. The info toggle has a continuous pulse animation that stops on hover and swaps to a scale-up glow. The info panel opens with a bouncy cubic-bezier scale transition. The clock is 64px extra-bold with text-shadow depth. Quick links have hover states with fading borders. Everything feels alive and responsive. Bug Fixes Fixed the clock greeting saying “Good morning” at 9 PM — the original code used the 12-hour variable to decide time of day, so 9 PM registered as morning. Switched it to the 24-hour value. Features Live clock with AM/PM and context-aware greeting. SerpApi-powered inline Google search with results panel. NASA APOD daily background with smart preloading and triple fallback. Collapsible info panel showing APOD title, explanation, and date. Quick links bar. Glassmorphic UI with micro-animations throughout. Cosmic gradient fallback. localStorage caching. Responsive layout. Both API keys configured via .env with Vite proxy for CORS-free development."}, {"post_id": 72654, "ts": "2026-09-23T12:59:09Z", "hours": 2.0681, "text": "Kicked off the project. Built the Vite skeleton, wired up the NASA APOD fetch with a localStorage daily cache so it doesn’t hammer the API every reload. Added the always-visible caption bar at the bottom and a collapsible info panel behind the i button. Background controls (open HD image, Google Image Search) live in the bottom-left corner. Ran a production build locally to confirm Vite outputs a clean dist/ . Files touched: src/main.js , src/styles.css , index.html"}]...
|
Title: my APOD site by @DEEPML18 | Stardance
Devl Title: my APOD site by @DEEPML18 | Stardance
Devlogs:
Kicked off the project. Built the Vite skeleton, wired up the NASA APOD fetch with a localStorage daily cache so it doesn’t hammer the API every reload. Added the always-visible caption bar at the bottom and a collapsible info panel behind the i button. Background controls (open HD image, Google Image Search) live in the bottom-left corner. Ran a production build locally to confirm Vite outputs a clean dist/ . Files touched: src/main.js , src/styles.css , index.html
Today’s session was a full transformation of nasa_pro — from a basic Vite page with a clock into a working search engine with a premium space-themed UI, powered by two live APIs. SerpApi Search Engine The old search bar just opened Google in a new tab. I ripped that out and replaced it with a real SerpApi integration. Now when you type a query and hit Go, the app makes an API call to SerpApi’s Google engine, parses the JSON response, and renders the top 5 organic results directly on the page — each with a clickable title and snippet preview. A close button dismisses the results panel. The entire search flow happens without leaving the page. To bypass CORS restrictions, I set up a Vite dev proxy in vite.config.js that routes /search.json requests through to serpapi.com, so the browser treats it as a same-origin request. The API key is stored in .env as VITE_SERPAPI_KEY. NASA APOD Background Fix The APOD integration existed but was completely broken — the background was pure black. I traced this to three issues: the code was loading the full-res hdurl (tens of megabytes, 40+ seconds to download) instead of the optimized 1024px web version; NASA’s servers were rejecting requests because the browser sent a Referer header from localhost; and there was zero fallback if the image failed. I fixed all three — prioritized the smaller d.url, added a no-referrer meta tag to index.html, and built a proper loading chain using Image() preloading with onload/onerror handlers that tries the web image first, falls back to hdurl, then to a local hero.png asset. The .bg element now starts with a cosmic radial gradient so the page always looks like space, even if every image source fails. I also busted the localStorage cache so stale data doesn’t persist. UI Redesign Rewrote styles.css almost entirely. The search panel now uses glassmorphism — backdrop-filter blur, translucent rgba backgrounds, subtle borders, and deep box shadows. The search input transitions on focus with a glowing border. Buttons lift on hover. The info toggle has a continuous pulse animation that stops on hover and swaps to a scale-up glow. The info panel opens with a bouncy cubic-bezier scale transition. The clock is 64px extra-bold with text-shadow depth. Quick links have hover states with fading borders. Everything feels alive and responsive. Bug Fixes Fixed the clock greeting saying “Good morning” at 9 PM — the original code used the 12-hour variable to decide time of day, so 9 PM registered as morning. Switched it to the 24-hour value. Features Live clock with AM/PM and context-aware greeting. SerpApi-powered inline Google search with results panel. NASA APOD daily background with smart preloading and triple fallback. Collapsible info panel showing APOD title, explanation, and date. Quick links bar. Glassmorphic UI with micro-animations throughout. Cosmic gradient fallback. localStorage caching. Responsive layout. Both API keys configured via .env with Vite proxy for CORS-free development.
day 3 - Final Polish & Refactoring massive code cleanup: broke down a monolithic main.js into clean modules (clock.js, apod.js, bookmarks.js, search.js soon) fixed UI visibility issue where search results background obscured the NASA image fixed z-index bug to ensure the APOD description info panel is fully readable while searching built custom bookmarks functionality: users can now dynamically add and remove their own links that persist via localStorage (goodbye hardcoded links) implemented zero-delay background rendering: app now instantly loads a cached background on initial load while fetching the fresh NASA API image in the background, eliminating any black screen delays project is officially ready to ship! 🚀
Ships:
🌌 NASA Pro - Explorer Dashboard A dynamic new-tab dashboard built for the “Give Your Website a Pulse” challenge. ✨ Features Zero-Delay Backgrounds: Instantly loads a cached cosmic background, while gracefully fetching the latest NASA APOD image. Live Search Integration: Fully integrated web search (SerpApi) directly in the dashboard. Dynamic Glassmorphism UI: Custom CSS featuring smooth backdrop-filters and hover animations. Custom Bookmarks Engine: An interactive widget to add and manage your favorite links via localStorage . 🛠 Tech Stack & Setup Tech: Pure HTML, Vanilla JavaScript, Custom CSS, and Vite. Setup: npm install -> Add .env with VITE_NASA_API_KEY & VITE_SERPAPI_KEY -> npm run dev 📝 Challenge Checklist HTML + CSS + JS required Public repository with good README Devlogs included No AI one-click builders (100% manual code) Custom UI/CSS Real Features (APIs, localStorage) Fully deployed website NASA Pro - Devlogs Day 1: Project Setup Scaffolded the project using Vite to test my vanilla JavaScript skills. Created the basic HTML structure, JS entry points, and added a fallback cosmic image ( hero.png ) to guarantee the background never breaks. Day 2: NASA API & Local Caching Hooked up the NASA APOD API. To prevent hitting API rate limits, I engineered a localStorage caching system that saves the last 20 fetched images and falls back to them automatically. Day 3: Clock & DOM Skeleton Built a precise digital clock function with a dynamic time-based greeting. Sketched out the search bar and built a collapsible “Info Panel” with CSS transitions to display the NASA APOD descriptions. Day 4: SerpApi Integration & Glassmorphism Integrated SerpApi for native Google Search results. Configured a Vite proxy to fix CORS, built a custom Vanilla JS rendering engine for the results, and completely overhauled the CSS to a “Glassmorphism” theme. Day 5: Refactoring & Bookmarks Modularized the 650-line main.js into clean components. Replaced hardcoded quick links with a dynamic Custom Bookmarks engine, and polished the background to load instantly with zero delay....
|
1793213637.5103676
|
1793300037.5103676
|
|
65390
|
GameClock by @Mesh | Stardance
|
Mesh
|
0
|
2.67
|
0
|
[]
|
[{"post_id": 74060, "ts": "202 [{"post_id": 74060, "ts": "2026-09-26T16:37:16Z", "hours": 0.6211, "text": "IM DONE!! I’ve finished the entire project. I just finished the firmware and getting everything onto Github. I did have some problems setting up Hackatime onto Aurduino IDE, so my time is not actual."}, {"post_id": 73993, "ts": "2026-09-26T14:14:58Z", "hours": 0.2672, "text": "Finished up the case, now. it’s time for the firmware……."}, {"post_id": 73784, "ts": "2026-09-25T23:51:23Z", "hours": 1.7839, "text": "I’m very close to finishing this thing.. just a bit of arranging and figuring out stuff, and ill be FINALLY done"}]...
|
Title: GameClock by @Mesh | Stardance
Devlogs:
I’ Title: GameClock by @Mesh | Stardance
Devlogs:
I’m very close to finishing this thing.. just a bit of arranging and figuring out stuff, and ill be FINALLY done
Finished up the case, now. it’s time for the firmware…….
IM DONE!! I’ve finished the entire project. I just finished the firmware and getting everything onto Github. I did have some problems setting up Hackatime onto Aurduino IDE, so my time is not actual....
|
1793087379.0705125
|
1793692179.0705125
|
|
65135
|
Experiementing With Classes by @sharavan | Stardan Experiementing With Classes by @sharavan | Stardance...
|
sharavan
|
1
|
0.91
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T17:04:35Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "During this project, I had to understand how composition works! This was hard to understand initially but whilst coding this it helped make sense to me.. Using this project, i will now be able to create a more sophisticated system and work with classes in my other projects.", "repo": "https://github.com/spectcular-lancia-delta-intergrale/python_classes", "demo": "https://play.pyroom.app/playground"}]...
|
[{"post_id": 74065, "ts": "202 [{"post_id": 74065, "ts": "2026-09-26T16:47:03Z", "hours": 0.4508, "text": "Today I began working on the core game logic, taking everything i have learnt and implementing it into a terminal based game! I have currently implemented three classes, each encapsulating methods and attributes (i.e. inventory have getters and setters). I hope by the next devlog, the core logic is 70% done (currently 25%)…."}, {"post_id": 73929, "ts": "2026-09-26T10:52:15Z", "hours": 0.4631, "text": "I have learnt how to use multiple inheritance and how aggregation and composition works. Below is the exemplar code I wrote to demonstrate the relationship. Using this knowledge, and the previous code I am now going to implement private and protected methods to ensure people cannot exploit my game as I begin to create it."}, {"post_id": 72737, "ts": "2026-09-23T16:51:07Z", "hours": 0.3358, "text": "I have created a simple system for the back end of my game, which has a simple class which will contain an inventory. Using this I will now create a new project for a potential CLI game…"}]...
|
Title: Experiementing With Classes by @sharavan | Title: Experiementing With Classes by @sharavan | Stardance
Devlogs:
I have created a simple system for the back end of my game, which has a simple class which will contain an inventory. Using this I will now create a new project for a potential CLI game…
I have learnt how to use multiple inheritance and how aggregation and composition works. Below is the exemplar code I wrote to demonstrate the relationship. Using this knowledge, and the previous code I am now going to implement private and protected methods to ensure people cannot exploit my game as I begin to create it.
Today I began working on the core game logic, taking everything i have learnt and implementing it into a terminal based game! I have currently implemented three classes, each encapsulating methods and attributes (i.e. inventory have getters and setters). I hope by the next devlog, the core logic is 70% done (currently 25%)….
Ships:
During this project, I had to understand how composition works! This was hard to understand initially but whilst coding this it helped make sense to me.. Using this project, i will now be able to create a more sophisticated system and work with classes in my other projects....
|
1793213696.1871793
|
1793300096.1871793
|
|
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....
|
1793152249.2910888
|
1793238649.2910888
|
|
1250
|
MonkeyLogs538 by @OffsetMonkey538 | Stardance
|
OffsetMonkey538
|
1
|
21.0
|
337
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-12T11:14:33Z", "hours": 21.0, "multiplier": 15.96, "payout": 337, "blessing": "neutral", "text": "I was annoyed that people still upload plain log files in the support discord for my Minecraft mods, when I clearly say that using mclogs, a pastebin for minecraft logs with syntax highlighting and whatnot, makes debugging much easier. So I made a Discord bot to fix that! It detects logs sent as attachments by their name and uploads them to mclogs. It can also be added as a user application, which will allow using the /upload-logs command anywhere. This is my first full project written in Kotlin (previously I’ve only used it for Gradle buildscripts), so there were some initial challenges with Kotlin syntax for things like lambdas and also how instead of static functions you have companion objects, but Kotlin’s documentation is pretty good. What documentation wasn’t so good though was Kord, the library I used for interacting with the Discord API. It required quite a bit of guesswork to figure out how it works and should be used, the Discord API docs made it a bit easier though at least. I’ve set up a discord server with an instance of the bot running, which can be used to test it out. There are also self-hosting instructions on the readme.", "repo": "https://git.offsetmonkey538.top/OffsetMonkey538/MonkeyLogs538", "demo": "https://discord.gg/nBqpn2gBsK"}]...
|
[{"post_id": 7407, "ts": "2026 [{"post_id": 7407, "ts": "2026-06-12T10:36:43Z", "hours": 4.5442, "text": "Made it now packaged as a docker container, fixed some bugs and wrote a readme with instructions for self-hosting Also now have an instance of it running on my homelab"}, {"post_id": 6252, "ts": "2026-06-10T14:41:07Z", "hours": 7.0514, "text": "Some changes over the past few days: Multiple logs can be uploaded at once Http requests and json parsing now done with kotlin’s own libraries instead of java HttpClient and Jankson. Kotlin serialization stuff is actually pretty great! Errors aren’t silently ignored anymore and other logs added in the same batch can still be uploaded even when some fail. Much less readable code, kotlin is great for that"}, {"post_id": 3728, "ts": "2026-06-06T19:30:32Z", "hours": 2.8181, "text": "Log files will now automatically be detected (current filter is any file ending in .log ) and uploaded 🎉"}, {"post_id": 3497, "ts": "2026-06-06T13:45:01Z", "hours": 6.0436, "text": "I have now fully implemented the command for uploading a log. It now rejects binary files like images or videos, correctly reads when the file isn’t UTF8 formatted and allows deleting the uploaded log in case it was the wrong file or something. I’ve found that Kotlin is actually really nice. I especially like how it allows writing such unreadable code that I can’t understand it even 5 minutes after writing it I also spent an hour or so in termux on my phone (was bored on a bus) setting up an instance of mclogs on my homelab and the bot now allows setting a custom instance url as well. Next step will be having it detect sent log files and automatically upload them"}, {"post_id": 304, "ts": "2026-06-01T15:44:43Z", "hours": 0.6719, "text": "I really liked the nullability stuff Kotlin has when I was writing a multiloader/version convention plugin for my mods, so I decided to use Kotlin to get more familiar with it in general usage. I saw someone talking about the Kord library a while back, so I went with that. Safe to say that I’m still quite unfamiliar with Kotlin’s syntax (using it in gradle buildscripts is much much simpler), and I couldn’t really find anything great on Kord other than the simple example usage https://github.com/kordlib/kord/tree/main/core , but it definitely is able to play ping-pong at the very least :D"}]...
|
Title: MonkeyLogs538 by @OffsetMonkey538 | Stardan Title: MonkeyLogs538 by @OffsetMonkey538 | Stardance
Devlogs:
I really liked the nullability stuff Kotlin has when I was writing a multiloader/version convention plugin for my mods, so I decided to use Kotlin to get more familiar with it in general usage. I saw someone talking about the Kord library a while back, so I went with that. Safe to say that I’m still quite unfamiliar with Kotlin’s syntax (using it in gradle buildscripts is much much simpler), and I couldn’t really find anything great on Kord other than the simple example usage https://github.com/kordlib/kord/tree/main/core , but it definitely is able to play ping-pong at the very least :D
I have now fully implemented the command for uploading a log. It now rejects binary files like images or videos, correctly reads when the file isn’t UTF8 formatted and allows deleting the uploaded log in case it was the wrong file or something. I’ve found that Kotlin is actually really nice. I especially like how it allows writing such unreadable code that I can’t understand it even 5 minutes after writing it I also spent an hour or so in termux on my phone (was bored on a bus) setting up an instance of mclogs on my homelab and the bot now allows setting a custom instance url as well. Next step will be having it detect sent log files and automatically upload them
Log files will now automatically be detected (current filter is any file ending in .log ) and uploaded 🎉
Some changes over the past few days: Multiple logs can be uploaded at once Http requests and json parsing now done with kotlin’s own libraries instead of java HttpClient and Jankson. Kotlin serialization stuff is actually pretty great! Errors aren’t silently ignored anymore and other logs added in the same batch can still be uploaded even when some fail. Much less readable code, kotlin is great for that
Made it now packaged as a docker container, fixed some bugs and wrote a readme with instructions for self-hosting Also now have an instance of it running on my homelab
Ships:
I was annoyed that people still upload plain log files in the support discord for my Minecraft mods, when I clearly say that using mclogs, a pastebin for minecraft logs with syntax highlighting and whatnot, makes debugging much easier. So I made a Discord bot to fix that! It detects logs sent as attachments by their name and uploads them to mclogs. It can also be added as a user application, which will allow using the /upload-logs command anywhere. This is my first full project written in Kotlin (previously I’ve only used it for Gradle buildscripts), so there were some initial challenges with Kotlin syntax for things like lambdas and also how instead of static functions you have companion objects, but Kotlin’s documentation is pretty good. What documentation wasn’t so good though was Kord, the library I used for interacting with the Discord API. It required quite a bit of guesswork to figure out how it works and should be used, the Discord API docs made it a bit easier though at least. I’ve set up a discord server with an instance of the bot running, which can be used to test it out. There are also self-hosting instructions on the readme....
|
1793202613.2728992
|
1793289013.2728992
|
|
21041
|
R2D2 model by @benedekkristof16 | Stardance
|
benedekkristof16
|
1
|
37.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T06:00:47Z", "hours": 37.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made this project with @TamasLaszloffy777 . My part was the electronics and coding. THe biggest hurdle was, that I’ve had to learn everything from scratch. I only knew basic python, and something about circuits, but only what I’ve learnt in school. This project is a fan-made R2-D2 replica, which is capable of rolling, turning it’s head, and has some LEDs. The project includes a demo link, where you can see it work in real life. Make sure you watch it, and We hope You’ll enjoy it!", "repo": "https://github.com/kirikristof/R2D2-model", "demo": ""}]...
|
[{"post_id": 74072, "ts": "202 [{"post_id": 74072, "ts": "2026-09-26T16:54:18Z", "hours": 2.8039, "text": "Hey! I think this will be my last, and my longest devlog! I need to clarify things, and address things, but first– I tell what I did. So I wired up the motor driver (an anquintance of mine helped to solder up the wires which will take the high current to the motors), wired up the LED’s, and put everything in the 3D printed chassis done, and assembled by @TamasLaszloffy777 , with the help of our friends (and my mom :) ). I soldered the wires to the motors, and glued the LED’s in the head. Now comes a list of things, that didn’t work: I copyed the HTML code my friend wrote into my code, but unfortunately I couldn’t get it working. I’ve spent countless hours debugging with Gemini, but as the project got more complex, it gave me more stupid answers. When I tested it with just the stepper motor, it worked, but with everything connected, it didnt. So out of desperation I’ve had to go back the old method I used at testing, which is that everything works with an USB cable. I’ve spent circa 30 minutes changing the code, and commenting out everything that has to do something with the wireless thing. Of course Hackatime didn’t register nothing out of this half an hour. This was the main thing why I used Lookout and Lapse for coding before the Ban. But after all, thank God it works now with USB (after some debugging with Gemini of course). This means that the LEDs also lost their purpose as wifi status indicators, so now the project has 2 spare LEDs inside. (I won’t put those in the wiring diagram, since they are not used, but its too much work to take them out. I saved two of them by repurposing them to “head turning indicators”, but left two out, because it would just make it harder for me to take the head off, to access everything inside. Also I plan to fix the wireless part in the future, but not in Stardance). The next thing I noticed, is the homing sequence is pretty useless. Fortunately the wires never twist dangerously, contrary to my previous assumptions, and R2 would have to rotate its head 360 degrees multiple times in a row for it to become dangerous for the wires. I was quite upset that I did the homing sequence, and bought the sensor for nothing, but keeping it would add unnecessary complexity. And unnecessary complexity is NEVER good in a project.(I wont put the sensor into the BOM list, nor into the wiring diagram)"}, {"post_id": 63719, "ts": "2026-09-07T17:33:29Z", "hours": 3.8669, "text": "So this time, I’ve had to update the entire code. So, as I’ve told you guys in my previous devlog, I’ve tried to make R2 wireless with UDP, but it did not work for some reason. Because of this, we decided to try another method. We will host a web server on the Pico! My friend, who knows this stuff, will write a basic HTML code, with buttons, to control R2. For this, I’ve had to go down a little rabbit hole with youtube, google and gemini, to learn how actually this stuff works. After, and along with researching, I’ve had to change a little the structure of my code, and implement new features. I also added LEDs this time! I think the coolest feature is, that R2 will tell us with Morse his IP address, using his LEDs (because he will have different ones based on which wifi network he is currently connected to, and he will have no other way to tell it us). We’ve also made some crucial changes. At first we’ve wanted R2D2 to have sounds, but we will have to omit this one for now, because our lack of time. Also, rather than random flashing, each LED will have it’s own purpose, and they all going to be used for communication."}, {"post_id": 60383, "ts": "2026-09-02T17:55:10Z", "hours": 2.66, "text": "So this time, I’ve tried to test the wireless part. I started by downloading a UDP app on my mom’s phone, and rotating the stepper motor with that, but nothing happened. After this I’ve rewritten the code so it does nothing with the motor, but prints the text in the UDP pockets, but still nothing. I’ve downloaded Packet Sender to my laptop, but still nothing. The UDP packets did never reach the Pico. I’ve tried everything the Debug Master Gemini said for more than two hours, but nothing… I think I will ask my friend who is familiar with making websites to write me a lightweight HTML page with buttons, then somehow make it connect to the motor logic. I reallyyy hope that will work."}, {"post_id": 59453, "ts": "2026-09-01T09:57:28Z", "hours": 0.6469, "text": "Today I tested the battery voltage measuring feature, I last time made! I put in the batteries, wired it up, copied this specific part of the code in Thonny, told it to print the voltage, aaaannd when I checked with the multimeter, it was waaay off, lol. I was baffled, because the voltage my Pico measured was MORE than a full volt below the actual voltage. I immediately started researching, (by asking Gemini… of course…. I start to feel guilty for all the trees and water I waste), and it said to me that it is likely due to resistors are not perfect, this is why they have a TOLERANCE band, and I should start a different approach. It suggested that I should calculate a factor, by dividing the voltage of the batteries measured with a multimeter, by the raw ADC value my Pico reads, then multiply with that with the raw ADC value. After fixing this, it gave me roughly the exact value my multimeter had shown. P.S. If I could learn for once, that I HAVE to use period at decimal numbers, instead of comma, I would spend way less time searching for bugs that don’t exist…"}, {"post_id": 57166, "ts": "2026-08-29T08:36:24Z", "hours": 3.7306, "text": "This time, I made the main power lines of R2D2! I started by soldering 3 wires (three positive, and three ground) to the battery holder, which will be the cozy home of two 18650 Li-Ion batteries. I connected a 5 volt buck converter to one of the lines, which will power the Pico, and a voltage divider to the next one, to help the Pico measure the batteries’ voltage, and give me a warning (eventually using R2’s LEDs) of low voltage. There is not connected anything yet to the third line, because the motor driver will be powered using this, but that soldering would be really hard with my setup, and I don’t know if I could safely do it. So I think I will ask an adult acquintance of mine, who works with electronics, to do that one for me."}, {"post_id": 47045, "ts": "2026-08-14T17:22:35Z", "hours": 5.0992, "text": "This time, I’ve finally made the wireless part! I started by, as you probably guessed it already, by brainstorming with Gemini! I asked it to give me tutorials on youtube, on how to make my robot wirelessly controllable, since I have a Pico W, as well as explain it himself. At first, I’ve went down a little rabbit hole, because I wanted to build a simple website, with buttons, to control R2D2. I quickly realized after peeking into college-level tutorials, that it far exceeds my capabilities at the moment, so I asked my good ol’ friend, Gemini, to give me a bit of a simpler solution. After some deep discussions, and watching a nice old man on youtube explaining it, I decided on non-blocking UDP socket polling, with the help of an external app. This will work by downloading an app to my phone (or anyone’s phone, who wants to control R2), agreeing on an ip address, and port number, then typing the letters, which represents the w, a, s, d, etc. keys. It may not look pretty, but it’s just as effective, and MUCH simpler."}, {"post_id": 44633, "ts": "2026-08-10T15:05:18Z", "hours": 1.3833, "text": "Today, I added the sensor for the homing sequence of R2’s head! This way, at startup, the head will start to turn, until it hits the infrared sensor, then go back to the middle. This way it is ensured, that no matter what position was the head at startup, it won’t go beyond the safe limits"}, {"post_id": 42777, "ts": "2026-08-07T17:36:43Z", "hours": 2.1439, "text": "So this time, I finally wired everything for the stepper motor-powered head together! I copyed the part which controls specifically this from my entire code sitting VSCode, just to try this out. I had an old battery holder saved from a toy, to make an external power source, and wired everything together. I checked the wiring with Gemini, to make sure I don’t light anything on fire. After this, well, it did not work… I spent brainstorming, “debugging”, and checking everything twice, until I realized the “bug” which prevented the motor spin, was the very common “missing battery” error. So I put it in, and after some fine tuning on the code, it worked really nice"}, {"post_id": 42644, "ts": "2026-08-07T14:07:55Z", "hours": 0.9744, "text": "This time I coded the homing sequence, which will help R2 center it’s head using the stepper motor. There will be an infrared sensor in the head, and at startup, R2 will turn its head slowly left, until the sensor detects it, and after this, the code will set the step count to 0. After this the head will automatically turn to look forward, while counting the steps. This is necessary to ensure that the head will move only in the safe limits, no matter in which position it was at startup. I took the help of Gemini at debugging."}, {"post_id": 36923, "ts": "2026-07-29T10:12:02Z", "hours": 4.9153, "text": "This time, I collected multiple days’ work for this devlog. I started by brainstorming with Gemini (by now I must be their top user, lol) about what motor would be best for turning R2’s head. We’re planning LEDs in the head, so I had to make sure it cannot rotate all the way around, because this would break the wires. I came to the conclusion, that a custom 3D printed gear mechanism would be best, with a 28BYJ-48 stepper motor, and a ULN2003 board, and rotation limits in the software. I watched videos on Youtube, and also asked Gemini to explain to me how to write a code to control the stepper motor. The code is not yet complete, I’ll have to add a “homing mechanism”, which would help the head find it’s position at startup."}, {"post_id": 30087, "ts": "2026-07-17T12:00:42Z", "hours": 1.6503, "text": "Today I wrote the prototype of the code, which will control the motion of R2D2. The original version will control it wirelessly, along with the sounds and ligths, but this controls only the motors yet, via a microUSB cable. I wrote it in VSCode, and I will only copy it to Thonny (which i’ll be using for the Pico) when it is fully completed. I took the help of Gemini, to explain me how to control it (the robot, eventually) using my keyboard, and with the final debugging. I also watched Electro Nerds Academy’s youtube video in the process, which explains how to control the TB6612FNG motor driver with Arduino, and C++, I did this to make sure I understand the process. I still have a lot to learn, but slowly and surely, R2 will roll!"}, {"post_id": 29420, "ts": "2026-07-16T11:13:48Z", "hours": 1.3206, "text": "Today, I got the Pico!!! Immediatelly I started to load up micropython on it, and download Thonny. It was a bit tricky, because my antivirus program wouldn’t let me download it, but I disabled it temporarily, and it worked just fine. And I quickly reviewed the first few pages of my PDF book, to make sure I know my Pico physically, not just the Wokwi version. After that I wanted to try it out with the onboard LED, but it didn’t worked, so I asked Gemini. I found out that my Pico, is actually Pico W, and the onboard led is a little different. After that it worked beautifully. Then I wanted to light up an external LED, and guess what, it also didn’t work! I started troubleshooting with Gemini on my side, and I found out, that my breadboard’s ground rail is probably damaged. After rewiring to bypass it, it lighted up!"}, {"post_id": 24693, "ts": "2026-07-08T13:32:16Z", "hours": 0.8378, "text": "A problem occurred during the delivery if the Pico, so it got retured to the sender. We had to order it again, so until it arrives, I thought I could learn actually how to control the DC motors with it, with the help of a TB6612FNG motor driver which we will be using. I asked Gemini to explain it to me, without providing exact codes, to ensure I actually understand the code, and not just copy-pasteing. It gave me a great youtube tutorial too, from Electro Nerds Academy, which used Arduino (and therefore C++), but it helped me understand the core principles of the wiring, and the code EDIT: This was BEFORE I was aware of the rule which states that we should not log too much continuous time spent watching youtube. This was only the learning phase, and I tried making it as active as possible, by building my own version on the way. If it is against the rules, please just ignore the time logged in this post. I don’t know if it is possible, but I’m pretty freaked out my entire summer work gets flushed down the toilet😭😭"}, {"post_id": 21522, "ts": "2026-07-03T15:13:57Z", "hours": 1.2167, "text": "So today, while I was STILL waiting for the Pico, I built a reaction time based game, and a burglar alarm in Wokwi, with the help of the PDF book I’ve mentioned before. By this, I’ve learnt how to use the urandom library in Micropython, which I think will be really useful with R2D2 ‘s flashing lights, and sounds, and with the burglar alarm I’ve learnt how to connect, and use a sensor with the Pico. Putting sensors in R2D2 is a secondary, and a long-term goal, but it would be really nice. I hope that after this, I’ve learnt the basics of Micropython, so I think I’ll start focusing on our actual project, R2D2. (I don’t know when will the Pico arrive, so this is a major limiting factor) IT IS JUST LEARNING THE BASICS, NOT THE ACTUAL PROJECT"}, {"post_id": 19433, "ts": "2026-06-30T19:12:12Z", "hours": 1.4111, "text": "So, today I’m still waiting for the Pico, so I’m still using Wokwi, and the PDF book, to learn, and practice. Today I’ve made a traffic light, which is working by continuously alternating red, yellow and green lights. It worked just fine, until I added a feature, so when a “pedestrian” pushes a button, a buzzer makes 10 beeps, and the light switches to red for the “cars”. This seemed to be too much for Wokwi, and it kind of crashed, so I relied on the PDF book, to verify the code, and the wiring. IT IS JUST LEARNING THE BASICS, NOT THE ACTUAL PROJECT"}, {"post_id": 18293, "ts": "2026-06-29T12:06:59Z", "hours": 1.1833, "text": "Today, I was still practicing Micropython, and connecting circuits in Wokwi’s Raspberry Pi Pico simulator, with the help of the “Get Started with MicroPython on Raspberry Pi Pico” book. I’m still waiting for the delivery, so I can’t do it physically yet, but I think it’s still a great way to learn, and it even lacks the risk of frying anything. I succesfully made an LED blink, and connected a four-legged push button to the Pico. The final “project” of this session was building a circuit, so when you push the button, the LED lights up. I had a little problem with this, so I took the help of Gemini, and we figured out, that I accidentally connected the button to the Pico’s 3V3 EN pin, instead of the 3V3 pin, and I had a missing colon in the code. After fixing, it worked beautifully IT IS JUST LEARNING THE BASICS, NOT THE ACTUAL PROJECT"}, {"post_id": 15807, "ts": "2026-06-25T18:04:51Z", "hours": 1.1422, "text": "Today, I started to learn micropython for the Raspberry pi Pico WH, which I will use for my team’s R2D2 model. I do not have one yet, im currently waiting for the delivery :) , but I used Wokwi’s Raspberry pi Pico simulator, and the PDF micropython tutorial book, which I found on the original Raspberry Pi website. (well, not exactly there, because it showed me error 404, but I found it on Internet Archives, it’s title is “Get Started with MicroPython on Raspberry Pi Pico”). With the help of these, I learned how to import libraries in micropython, and how to turn on the Pico’s onboard LED. I even programmed it to stay on for a certain amount of seconds. I also used VS Code to try out some basic python loops. IT IS JUST LEARNING THE BASICS, NOT THE ACTUAL PROJECT"}]...
|
Title: R2D2 model by @benedekkristof16 | Stardance Title: R2D2 model by @benedekkristof16 | Stardance
Devlogs:
Today, I started to learn micropython for the Raspberry pi Pico WH, which I will use for my team’s R2D2 model. I do not have one yet, im currently waiting for the delivery :) , but I used Wokwi’s Raspberry pi Pico simulator, and the PDF micropython tutorial book, which I found on the original Raspberry Pi website. (well, not exactly there, because it showed me error 404, but I found it on Internet Archives, it’s title is “Get Started with MicroPython on Raspberry Pi Pico”). With the help of these, I learned how to import libraries in micropython, and how to turn on the Pico’s onboard LED. I even programmed it to stay on for a certain amount of seconds. I also used VS Code to try out some basic python loops. IT IS JUST LEARNING THE BASICS, NOT THE ACTUAL PROJECT
Today, I was still practicing Micropython, and connecting circuits in Wokwi’s Raspberry Pi Pico simulator, with the help of the “Get Started with MicroPython on Raspberry Pi Pico” book. I’m still waiting for the delivery, so I can’t do it physically yet, but I think it’s still a great way to learn, and it even lacks the risk of frying anything. I succesfully made an LED blink, and connected a four-legged push button to the Pico. The final “project” of this session was building a circuit, so when you push the button, the LED lights up. I had a little problem with this, so I took the help of Gemini, and we figured out, that I accidentally connected the button to the Pico’s 3V3 EN pin, instead of the 3V3 pin, and I had a missing colon in the code. After fixing, it worked beautifully IT IS JUST LEARNING THE BASICS, NOT THE ACTUAL PROJECT
So, today I’m still waiting for the Pico, so I’m still using Wokwi, and the PDF book, to learn, and practice. Today I’ve made a traffic light, which is working by continuously alternating red, yellow and green lights. It worked just fine, until I added a feature, so when a “pedestrian” pushes a button, a buzzer makes 10 beeps, and the light switches to red for the “cars”. This seemed to be too much for Wokwi, and it kind of crashed, so I relied on the PDF book, to verify the code, and the wiring. IT IS JUST LEARNING THE BASICS, NOT THE ACTUAL PROJECT
So today, while I was STILL waiting for the Pico, I built a reaction time based game, and a burglar alarm in Wokwi, with the help of the PDF book I’ve mentioned before. By this, I’ve learnt how to use the urandom library in Micropython, which I think will be really useful with R2D2 ‘s flashing lights, and sounds, and with the burglar alarm I’ve learnt how to connect, and use a sensor with the Pico. Putting sensors in R2D2 is a secondary, and a long-term goal, but it would be really nice. I hope that after this, I’ve learnt the basics of Micropython, so I think I’ll start focusing on our actual project, R2D2. (I don’t know when will the Pico arrive, so this is a major limiting factor) IT IS JUST LEARNING THE BASICS, NOT THE ACTUAL PROJECT
A problem occurred during the delivery if the Pico, so it got retured to the sender. We had to order it again, so until it arrives, I thought I could learn actually how to control the DC motors with it, with the help of a TB6612FNG motor driver which we will be using. I asked Gemini to explain it to me, without providing exact codes, to ensure I actually understand the code, and not just copy-pasteing. It gave me a great youtube tutorial too, from Electro Nerds Academy, which used Arduino (and therefore C++), but it helped me understand the core principles of the wiring, and the code EDIT: This was BEFORE I was aware of the rule which states that we should not log too much continuous time spent watching youtube. This was only the learning phase, and I tried making it as active as possible, by building my own version on the way. If it is against the rules, please just ignore the time logged in this post. I don’t know if it is possible, but I’m pretty freaked out my entire summer work gets flushed down the toilet😭😭
Today, I got the Pico!!! Immediatelly I started to load up micropython on it, and download Thonny. It was a bit tricky, because my antivirus program wouldn’t let me download it, but I disabled it temporarily, and it worked just fine. And I quickly reviewed the first few pages of my PDF book, to make sure I know my Pico physically, not just the Wokwi version. After that I wanted to try it out with the onboard LED, but it didn’t worked, so I asked Gemini. I found out that my Pico, is actually Pico W, and the onboard led is a little different. After that it worked beautifully. Then I wanted to light up an external LED, and guess what, it also didn’t work! I started troubleshooting with Gemini on my side, and I found out, that my breadboard’s ground rail is probably damaged. After rewiring to bypass it, it lighted up!
Today I wrote the prototype of the code, which will control the motion of R2D2. The original version will control it wirelessly, along with the sounds and ligths, but this controls only the motors yet, via a microUSB cable. I wrote it in VSCode, and I will only copy it to Thonny (which i’ll be using for the Pico) when it is fully completed. I took the help of Gemini, to explain me how to control it (the robot, eventually) using my keyboard, and with the final debugging. I also watched Electro Nerds Academy’s youtube video in the process, which explains how to control the TB6612FNG motor driver with Arduino, and C++, I did this to make sure I understand the process. I still have a lot to learn, but slowly and surely, R2 will roll!
This time, I collected multiple days’ work for this devlog. I started by brainstorming with Gemini (by now I must be their top user, lol) about what motor would be best for turning R2’s head. We’re planning LEDs in the head, so I had to make sure it cannot rotate all the way around, because this would break the wires. I came to the conclusion, that a custom 3D printed gear mechanism would be best, with a 28BYJ-48 stepper motor, and a ULN2003 board, and rotation limits in the software. I watched videos on Youtube, and also asked Gemini to explain to me how to write a code to control the stepper motor. The code is not yet complete, I’ll have to add a “homing mechanism”, which would help the head find it’s position at startup.
This time I coded the homing sequence, which will help R2 center it’s head using the stepper motor. There will be an infrared sensor in the head, and at startup, R2 will turn its head slowly left, until the sensor detects it, and after this, the code will set the step count to 0. After this the head will automatically turn to look forward, while counting the steps. This is necessary to ensure that the head will move only in the safe limits, no matter in which position it was at startup. I took the help of Gemini at debugging.
So this time, I finally wired everything for the stepper motor-powered head together! I copyed the part which controls specifically this from my entire code sitting VSCode, just to try this out. I had an old battery holder saved from a toy, to make an external power source, and wired everything together. I checked the wiring with Gemini, to make sure I don’t light anything on fire. After this, well, it did not work… I spent brainstorming, “debugging”, and checking everything twice, until I realized the “bug” which prevented the motor spin, was the very common “missing battery” error. So I put it in, and after some fine tuning on the code, it worked really nice
Today, I added the sensor for the homing sequence of R2’s head! This way, at startup, the head will start to turn, until it hits the infrared sensor, then go back to the middle. This way it is ensured, that no matter what position was the head at startup, it won’t go beyond the safe limits
This time, I’ve finally made the wireless part! I started by, as you probably guessed it already, by brainstorming with Gemini! I asked it to give me tutorials on youtube, on how to make my robot wirelessly controllable, since I have a Pico W, as well as explain it himself. At first, I’ve went down a little rabbit hole, because I wanted to build a simple website, with buttons, to control R2D2. I quickly realized after peeking into college-level tutorials, that it far exceeds my capabilities at the moment, so I asked my good ol’ friend, Gemini, to give me a bit of a simpler solution. After some deep discussions, and watching a nice old man on youtube explaining it, I decided on non-blocking UDP socket polling, with the help of an external app. This will work by downloading an app to my phone (or anyone’s phone, who wants to control R2), agreeing on an ip address, and port number, then typing the letters, which represents the w, a, s, d, etc. keys. It may not look pretty, but it’s just as effective, and MUCH simpler.
This time, I made the main power lines of R2D2! I started by soldering 3 wires (three positive, and three ground) to the battery holder, which will be the cozy home of two 18650 Li-Ion batteries. I connected a 5 volt buck converter to one of the lines, which will power the Pico, and a voltage divider to the next one, to help the Pico measure the batteries’ voltage, and give me a warning (eventually using R2’s LEDs) of low voltage. There is not connected anything yet to the third line, because the motor driver will be powered using this, but that soldering would be really hard with my setup, and I don’t know if I could safely do it. So I think I will ask an adult acquintance of mine, who works with electronics, to do that one for me.
Today I tested the battery voltage measuring feature, I last time made! I put in the batteries, wired it up, copied this specific part of the code in Thonny, told it to print the voltage, aaaannd when I checked with the multimeter, it was waaay off, lol. I was baffled, because the voltage my Pico measured was MORE than a full volt below the actual voltage. I immediately started researching, (by asking Gemini… of course…. I start to feel guilty for all the trees and water I waste), and it said to me that it is likely due to resistors are not perfect, this is why they have a TOLERANCE band, and I should start a different approach. It suggested that I should calculate a factor, by dividing the voltage of the batteries measured with a multimeter, by the raw ADC value my Pico reads, then multiply with that with the raw ADC value. After fixing this, it gave me roughly the exact value my multimeter had shown. P.S. If I could learn for once, that I HAVE to use period at decimal numbers, instead of comma, I would spend way less time searching for bugs that don’t exist…
So this time, I’ve tried to test the wireless part. I started by downloading a UDP app on my mom’s phone, and rotating the stepper motor with that, but nothing happened. After this I’ve rewritten the code so it does nothing with the motor, but prints the text in the UDP pockets, but still nothing. I’ve downloaded Packet Sender to my laptop, but still nothing. The UDP packets did never reach the Pico. I’ve tried everything the Debug Master Gemini said for more than two hours, but nothing… I think I will ask my friend who is familiar with making websites to write me a lightweight HTML page with buttons, then somehow make it connect to the motor logic. I reallyyy hope that will work.
So this time, I’ve had to update the entire code. So, as I’ve told you guys in my previous devlog, I’ve tried to make R2 wireless with UDP, but it did not work for some reason. Because of this, we decided to try another method. We will host a web server on the Pico! My friend, who knows this stuff, will write a basic HTML code, with buttons, to control R2. For this, I’ve had to go down a little rabbit hole with youtube, google and gemini, to learn how actually this stuff works. After, and along with researching, I’ve had to change a little the structure of my code, and implement new features. I also added LEDs this time! I think the coolest feature is, that R2 will tell us with Morse his IP address, using his LEDs (because he will have different ones based on which wifi network he is currently connected to, and he will have no other way to tell it us). We’ve also made some crucial changes. At first we’ve wanted R2D2 to have sounds, but we will have to omit this one for now, because our lack of time. Also, rather than random flashing, each LED will have it’s own purpose, and they all going to be used for communication.
Hey! I think this will be my last, and my longest devlog! I need to clarify things, and address things, but first– I tell what I did. So I wired up the motor driver (an anquintance of mine helped to solder up the wires which will take the high current to the motors), wired up the LED’s, and put everything in the 3D printed chassis done, and assembled by @TamasLaszloffy777 , with the help of our friends (and my mom :) ). I soldered the wires to the motors, and glued the LED’s in the head. Now comes a list of things, that didn’t work: I copyed the HTML code my friend wrote into my code, but unfortunately I couldn’t get it working. I’ve spent countless hours debugging with Gemini, but as the project got more complex, it gave me more stupid answers. When I tested it with just the stepper motor, it worked, but with everything connected, it didnt. So out of desperation I’ve had to go back the old method I used at testing, which is that everything works with an USB cable. I’ve spent circa 30 minutes changing the code, and commenting out everything that has to do something with the wireless thing. Of course Hackatime didn’t register nothing out of this half an hour. This was the main thing why I used Lookout and Lapse for coding before the Ban. But after all, thank God it works now with USB (after some debugging with Gemini of course). This means that the LEDs also lost their purpose as wifi status indicators, so now the project has 2 spare LEDs inside. (I won’t put those in the wiring diagram, since they are not used, but its too much work to take them out. I saved two of them by repurposing them to “head turning indicators”, but left two out, because it would just make it harder for me to take the head off, to access everything inside. Also I plan to fix the wireless part in the future, but not in Stardance). The next thing I noticed, is the homing sequence is pretty useless. Fortunately the wires never twist dangerously, contrary to my previous assumptions, and R2 would have to rotate its head 360 degrees multiple times in a row for it to become dangerous for the wires. I was quite upset that I did the homing sequence, and bought the sensor for nothing, but keeping it would add unnecessary complexity. And unnecessary complexity is NEVER good in a project.(I wont put the sensor into the BOM list, nor into the wiring diagram)
Ships:
I made this project with @TamasLaszloffy777 . My part was the electronics and coding. THe biggest hurdle was, that I’ve had to learn everything from scratch. I only knew basic python, and something about circuits, but only what I’ve learnt in school. This project is a fan-made R2-D2 replica, which is capable of rolling, turning it’s head, and has some LEDs. The project includes a demo link, where you can see it work in real life. Make sure you watch it, and We hope You’ll enjoy it!...
|
1793195722.042937
|
1793282122.042937
|
|
65893
|
Slack Bot by @VoiDDR5 | Stardance
|
VoiDDR5
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T18:26:16Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a basic slack bot that can tell jokes and give cat facts.", "repo": "https://github.com/charlesidk/slackbot", "demo": "https://hackclub.slack.com/oauth?client_id=2210535565.12159860104593&scope=app_mentions%3Aread%2Cchannels%3Ahistory%2Cchat%3Awrite%2Ccommands&user_scope=&redirect_uri=&state=&granular_bot_scope=1&single_channel=0&install_redirect=install-on-team&tracked=1&user_default=0&original_team=T0266FRGM&team=1"}]...
|
[{"post_id": 74076, "ts": "202 [{"post_id": 74076, "ts": "2026-09-26T17:03:11Z", "hours": 0.5761, "text": "My First Slack Bot"}]...
|
Title: Slack Bot by @VoiDDR5 | Stardance
Devlogs: Title: Slack Bot by @VoiDDR5 | Stardance
Devlogs:
My First Slack Bot
Ships:
I made a basic slack bot that can tell jokes and give cat facts....
|
1793216835.4001517
|
1793303235.4001517
|
|
21040
|
R2D2 model by @TamasLaszloffy777 | Stardance
|
TamasLaszloffy777
|
1
|
87.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T06:00:44Z", "hours": 87.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This project is a fan-made R2-D2 replica. I made with my fellow, @benedekkristof16 . My part was the 3D modeling and designing, making the mechanincs, (motors with functioning gears), painting and decorating. The most chalenging part of the project wasn’t the learning; however the designing and understanding the complicated blueprints and surface modeling (especially the dome) was the toughest part. This hardware project is capable of rolling around, turning its head and bring light the to night with some LEDs. We made a cool demo video presenting R2. We hope you’ll find it enjoyable.", "repo": "https://github.com/kirikristof/R2D2-model", "demo": ""}]...
|
[{"post_id": 74081, "ts": "202 [{"post_id": 74081, "ts": "2026-09-26T17:09:01Z", "hours": 4.535, "text": "Hello, guys! R2 has been built (mostly)!!! With the help of my dear fellows ( @benedekkristof16 and @hunorkiss04 ), we spent a lot of time working on it. As expected, we faced some difficulties during the building session. The main problem was the CAD design and 3D printing: in some places the holes are too tight for the screws and there are defective pieces; however we could resolve all the problems with some unique solutions. At the end of the day, R2 is moving and he’s able to turn his head! We’ve started to fill the GitHub files and I’ll fix the 3D mistakes. (Ignore the questionable paint job)"}, {"post_id": 63123, "ts": "2026-09-06T19:07:58Z", "hours": 4.7514, "text": "Hello, guys! Hopefully, it’ll be my last devlog about 3D modelling, and next time, I’ll build R2 in real life with my dear fellows, @benedekkristof16 and @hunorkiss04 . I’ve spent hours and hours designing with varying degrees of success and from this mighty point, R2 probably has a much cooler look and far more aura than me🥀. Unfortunatelly, this replica is NOT 100% accurate and I had to model some elements by sight (R2’s holoprojector) and I horribly miscalculated a ratio: R2’s main body (the cylinder) is 220mm and it should have been 200mm. I noticed it too late. Due to the complexity of R2’s torso and the lack of time, I didn’t correct this. It’s not that visible; however I had to let go of the two center foot cylinder due to a lack of space. But it’s our R2, so We’ll keep him, no matter what 😉."}, {"post_id": 62093, "ts": "2026-09-05T10:41:58Z", "hours": 9.1628, "text": "Hello, guys! 3D printing has started, and I designed some important details for R2’s body: the Radar Eye, Shoulder and Battery box. Currently, I’m making the Leg Booster. I still have to model the Ankle Cylinders and a few remaining details for R2’s dome."}, {"post_id": 54599, "ts": "2026-08-25T16:59:32Z", "hours": 9.1508, "text": "Hello guys! I’ve finally finished (almost) R2’s modeling, and I’ve successfully done the hardest part of the project: the decorative panels and holes on the dome. I used plane splitting and surface projection tricks to get perfect panel lines all around the dome to avoid distortion on the spherical surface. All that’s left now is modeling an internal mount for a small IR sensor, and the dome is ready for printing. I’ll design the rest of the decorative elements, such as R2’s eyes and shoulder rings."}, {"post_id": 51125, "ts": "2026-08-20T16:58:22Z", "hours": 9.1283, "text": "Hello, guys! The progress has been huge, and here is a quick list of what I’ve done recently: -I’ve modeled a custom lazy susan bearing for R2’s head that runs on 6mm BBs -The motor mount fot the 28BYJ-48 stepper motor is basically ready and it’s attachable to R2’s torso. -I also made the head-turning system with a huge internal gear. I still need to do some tuning; however it’s time for R2 to come alive. The 3D printing will probably take a couple of hours (or days). Stay tuned!"}, {"post_id": 46403, "ts": "2026-08-13T16:10:33Z", "hours": 7.8453, "text": "Hello, guys! I’m back with a huge update! Recently, I’ve been working on finalizing R2’s legs and shoulder attachment, and it’s looking far better than expected! It’s finally starting to look truly recognizable. It wasn’t a smooth process, though I ran into quite a few problems with component positioning and broken external links between files. Fixing lost references took a lot of patience and effort and figuring out the correct 18° body tilt and getting the shoulder alignment right was time-consuming. Basically it’s done; however, I still haven’t figured out how to make the center wheel. I hope I’ll find the right way. Maybe I’ll have to use LEGO wheel…"}, {"post_id": 42716, "ts": "2026-08-07T15:57:47Z", "hours": 1.3003, "text": "I’m here again and I’ve just tried to finish the main leg. It’s still missing a few decorative elements. Next I will make the shoulder attachment and after that, it’s time for R2’s head!"}, {"post_id": 42639, "ts": "2026-08-07T13:48:13Z", "hours": 3.6844, "text": "This time, I tackled the main ankle block, and it’s done, and also wrapped up the design for the decorative side panels on the center foot assembly. To keep maintenance easy and avoid visible screw holes, I separated the decorative panels and designed small pockets for 5x2mm neodymium magnets that perfectly fit into the hole."}, {"post_id": 31951, "ts": "2026-07-20T19:28:39Z", "hours": 9.1475, "text": "It’s been over a week since the last update; however, don’t let the silence fool you! 😉 In the latest grinding, I worked almost entirely on the most critical piece: the main foot. Anyone who has ever designed a functioning mechanical foot knows exactly the pain and agony, that turning a solid block into a precise assembly is a total survival trip (maybe it’s just skill issue🥀), but I’m so proud that I’ve made it so far! The perfect wheel connection is ready, and the JGA25-370’s motor mount has found its home. Even those printer-killing, razor-sharp internal overhangs got tamed with clean chamfers and fillets. R2 will be proud of our team!"}, {"post_id": 24229, "ts": "2026-07-07T17:30:31Z", "hours": 8.1139, "text": "Hello, guys! It has been long since my last devlog, so let me break it down for y’all: -I’ve been working on the main cylinder for 8 hours (not straight) and I can finally say: It’s basicly done! -I modeled the cylinder with the body frame, and it became brutally strong (I hope it won’t brake in my hands). -I also made the internal shoulder mounts for the legs. They are perfectly integrated into the inner frame, making sure that this won’t fall apart! -To finish off this massive update, I spent quite some time sketching out all the crucial decorative panels, using a reference canvas. I’m as keen as mustard to finish and see something come to life!"}, {"post_id": 20708, "ts": "2026-07-02T11:36:09Z", "hours": 1.2308, "text": "Hello, guys! What I’ve achieved this past week is not as impressive as I’ve hoped: It’s been a packed week of modeling and geometry solving. I have successfully brought together several crucial assemblies into the main project: 1. Raspberry Pi Pico Frame 2. R2-D2 Center Foot: Completed the primary structural foot base 3. Center Ankle and Shroud Connection: After battling some complex 3D curved geometry, the ankle block is ready! Next steps: The next phase will be refining the joints and I will start the main cylinder!"}, {"post_id": 20248, "ts": "2026-07-01T19:54:12Z", "hours": 3.2669, "text": "I spent today working on the main ankle. The biggest hurdle was the curved outer plate. The blueprint is a bit confusing. Trying to accurately wrap and cut this 2D pattern onto the 3D curved ankle part in Fusion 360 turned out to be a real geometry headache. The main ankle structure is about 90% complete. As soon as I figure it out how to do this properly, this section will be ready (hopefully by tomorrow)."}, {"post_id": 19324, "ts": "2026-06-30T16:33:49Z", "hours": 2.0169, "text": "Another success! Today, I made sure that R2 won’t lose his leg during his first test drive: I finished the internal pass-through screw system. On one side, the screw head sits inside a deeper hole so it stays hidden under the panel. On the other side, I cut a perfect 6-sided hexagon shape. A real metal nut will sit inside this pocket, so when I tighten the screw, it will hold the leg perfectly, without breaking the plastic (at least, I hope 😜). I’ve started the ankle, making it 9,6 mm wide because the slot is 9.89 mm. This leaves a tiny gap both sides. I also imported the blueprint image to Fusion, scaled to the right size. Finally the project is coming together!"}, {"post_id": 18615, "ts": "2026-06-29T20:17:38Z", "hours": 1.8669, "text": "Today, I finally managed to model the most sweat-inducing parts of the R2-D2 foot, and after a few near-rage-quit moments, I made some step forward. The biggest headache was definitely wrestling that weird decorative trim on the side of the foot. After that, I had to start with the ankle attachment. Since this joint carries our little friend’s (R2’s) weight, it had to be built like a tank. I modeled a standard M6 socket screw. I hope it’ll be solid as rock! Next mission: figuring out how to hide this outer screw hole to keep things completely accurate, and I’ll model the center ankle!"}, {"post_id": 17685, "ts": "2026-06-28T16:14:15Z", "hours": 1.0333, "text": "Progress was slow AGAIN, that stubborn “Half Moon” side arc was completely annoying and refused to cooperate within the time limit. I didn’t let the session go to waste. Instead, I successfully cut out the main socket/connection point for the future leg. One step at a time!"}, {"post_id": 17082, "ts": "2026-06-27T18:51:34Z", "hours": 2.0167, "text": "Progress was way better today! I finally managed to tame the geometry of R2-D2’s center foot after some intense mathematical gymnastics, which was provided by the blueprints. The main body is basically done. There are still decorative panels which are waiting for modeling. The next step is to flip this thing over and design a customized frame for a caster wheel. R2 will be happy, rolling around the house!"}, {"post_id": 16353, "ts": "2026-06-26T16:37:41Z", "hours": 0.6, "text": "Progress was slow today (again), but I started working on a completely new component: the center foot. Though, it was hard, with limited time, I really enjoyed the process. I hope, I will be more efficient."}, {"post_id": 15756, "ts": "2026-06-25T17:05:47Z", "hours": 1.2506, "text": "Progress was a bit slower today and the electronics layout was refined. I modeled the breadboard holder because I forgot to add it yesterday. Since the Pico plugs straight into the breadboard anyway,a separate Pico case isn’t needed anymore and I removed it. I started sketching the panels and windows directly onto the main cylinder using the blueprint dimensions. I hope that the progress will accelerate!"}, {"post_id": 15130, "ts": "2026-06-24T16:15:32Z", "hours": 1.7006, "text": "The R2-D2 project had officially begun! After 5 hours of learning and I finally started the session. Since we are using a Raspberry Pi Pico W as the main controller (recently, my fellow, @benedekkristof16 has just started learning coding and he will do the software part of the project), I created a custom 3D ‘dummy’ model to match its exact physical dimensions. Using this dummy, I designed a protectiv case for the board. Finally, I started the main body of the robot by creating the core cylinder. Next, I will work on the internal parts with @hunorkiss04 !"}, {"post_id": 14442, "ts": "2026-06-23T15:55:01Z", "hours": 1.8008, "text": "My final training session is complete! In today’s practice I modeled a custom ‘Stardance’ object and a detailed polygon screw. Now, I feel experienced enough with Fusion 360’s tools to finish practicing. Next time, my newly joined teammate @hunorkiss04 and I are diving straight into building and modelling R2-D2! Stay tuned, it will be incredible!"}, {"post_id": 13610, "ts": "2026-06-22T09:50:00Z", "hours": 0.9167, "text": "Hopefully leveled up my Fusion 360 skills! Today I designed more complex shapes with more details and curves. Still no robot parts yet, but R2-D2 will be astonishing . Trust the process!"}, {"post_id": 13296, "ts": "2026-06-21T19:34:07Z", "hours": 1.7289, "text": "Spent another 1h 43m practicing the basics. I worked on a bottle and a LEGO brick to master the tools and navigation. It might not look like a robot yet, but I’m learning the rules before I start building the actual model. R2-D2 will be born soon!"}, {"post_id": 12608, "ts": "2026-06-20T16:29:39Z", "hours": 0.9333, "text": "Spent 56 minutes fighting the recording software and figuring out how Fusion 360 works as a rookie. The software looks like an aircraft control panel. Progress is moving at the speed of a snail right now, but tomorrow I’m coming back with more experience!"}]...
|
Title: R2D2 model by @TamasLaszloffy777 | Stardanc Title: R2D2 model by @TamasLaszloffy777 | Stardance
Devlogs:
Spent 56 minutes fighting the recording software and figuring out how Fusion 360 works as a rookie. The software looks like an aircraft control panel. Progress is moving at the speed of a snail right now, but tomorrow I’m coming back with more experience!
Spent another 1h 43m practicing the basics. I worked on a bottle and a LEGO brick to master the tools and navigation. It might not look like a robot yet, but I’m learning the rules before I start building the actual model. R2-D2 will be born soon!
Hopefully leveled up my Fusion 360 skills! Today I designed more complex shapes with more details and curves. Still no robot parts yet, but R2-D2 will be astonishing . Trust the process!
My final training session is complete! In today’s practice I modeled a custom ‘Stardance’ object and a detailed polygon screw. Now, I feel experienced enough with Fusion 360’s tools to finish practicing. Next time, my newly joined teammate @hunorkiss04 and I are diving straight into building and modelling R2-D2! Stay tuned, it will be incredible!
The R2-D2 project had officially begun! After 5 hours of learning and I finally started the session. Since we are using a Raspberry Pi Pico W as the main controller (recently, my fellow, @benedekkristof16 has just started learning coding and he will do the software part of the project), I created a custom 3D ‘dummy’ model to match its exact physical dimensions. Using this dummy, I designed a protectiv case for the board. Finally, I started the main body of the robot by creating the core cylinder. Next, I will work on the internal parts with @hunorkiss04 !
Progress was a bit slower today and the electronics layout was refined. I modeled the breadboard holder because I forgot to add it yesterday. Since the Pico plugs straight into the breadboard anyway,a separate Pico case isn’t needed anymore and I removed it. I started sketching the panels and windows directly onto the main cylinder using the blueprint dimensions. I hope that the progress will accelerate!
Progress was slow today (again), but I started working on a completely new component: the center foot. Though, it was hard, with limited time, I really enjoyed the process. I hope, I will be more efficient.
Progress was way better today! I finally managed to tame the geometry of R2-D2’s center foot after some intense mathematical gymnastics, which was provided by the blueprints. The main body is basically done. There are still decorative panels which are waiting for modeling. The next step is to flip this thing over and design a customized frame for a caster wheel. R2 will be happy, rolling around the house!
Progress was slow AGAIN, that stubborn “Half Moon” side arc was completely annoying and refused to cooperate within the time limit. I didn’t let the session go to waste. Instead, I successfully cut out the main socket/connection point for the future leg. One step at a time!
Today, I finally managed to model the most sweat-inducing parts of the R2-D2 foot, and after a few near-rage-quit moments, I made some step forward. The biggest headache was definitely wrestling that weird decorative trim on the side of the foot. After that, I had to start with the ankle attachment. Since this joint carries our little friend’s (R2’s) weight, it had to be built like a tank. I modeled a standard M6 socket screw. I hope it’ll be solid as rock! Next mission: figuring out how to hide this outer screw hole to keep things completely accurate, and I’ll model the center ankle!
Another success! Today, I made sure that R2 won’t lose his leg during his first test drive: I finished the internal pass-through screw system. On one side, the screw head sits inside a deeper hole so it stays hidden under the panel. On the other side, I cut a perfect 6-sided hexagon shape. A real metal nut will sit inside this pocket, so when I tighten the screw, it will hold the leg perfectly, without breaking the plastic (at least, I hope 😜). I’ve started the ankle, making it 9,6 mm wide because the slot is 9.89 mm. This leaves a tiny gap both sides. I also imported the blueprint image to Fusion, scaled to the right size. Finally the project is coming together!
I spent today working on the main ankle. The biggest hurdle was the curved outer plate. The blueprint is a bit confusing. Trying to accurately wrap and cut this 2D pattern onto the 3D curved ankle part in Fusion 360 turned out to be a real geometry headache. The main ankle structure is about 90% complete. As soon as I figure it out how to do this properly, this section will be ready (hopefully by tomorrow).
Hello, guys! What I’ve achieved this past week is not as impressive as I’ve hoped: It’s been a packed week of modeling and geometry solving. I have successfully brought together several crucial assemblies into the main project: 1. Raspberry Pi Pico Frame 2. R2-D2 Center Foot: Completed the primary structural foot base 3. Center Ankle and Shroud Connection: After battling some complex 3D curved geometry, the ankle block is ready! Next steps: The next phase will be refining the joints and I will start the main cylinder!
Hello, guys! It has been long since my last devlog, so let me break it down for y’all: -I’ve been working on the main cylinder for 8 hours (not straight) and I can finally say: It’s basicly done! -I modeled the cylinder with the body frame, and it became brutally strong (I hope it won’t brake in my hands). -I also made the internal shoulder mounts for the legs. They are perfectly integrated into the inner frame, making sure that this won’t fall apart! -To finish off this massive update, I spent quite some time sketching out all the crucial decorative panels, using a reference canvas. I’m as keen as mustard to finish and see something come to life!
It’s been over a week since the last update; however, don’t let the silence fool you! 😉 In the latest grinding, I worked almost entirely on the most critical piece: the main foot. Anyone who has ever designed a functioning mechanical foot knows exactly the pain and agony, that turning a solid block into a precise assembly is a total survival trip (maybe it’s just skill issue🥀), but I’m so proud that I’ve made it so far! The perfect wheel connection is ready, and the JGA25-370’s motor mount has found its home. Even those printer-killing, razor-sharp internal overhangs got tamed with clean chamfers and fillets. R2 will be proud of our team!
This time, I tackled the main ankle block, and it’s done, and also wrapped up the design for the decorative side panels on the center foot assembly. To keep maintenance easy and avoid visible screw holes, I separated the decorative panels and designed small pockets for 5x2mm neodymium magnets that perfectly fit into the hole.
I’m here again and I’ve just tried to finish the main leg. It’s still missing a few decorative elements. Next I will make the shoulder attachment and after that, it’s time for R2’s head!
Hello, guys! I’m back with a huge update! Recently, I’ve been working on finalizing R2’s legs and shoulder attachment, and it’s looking far better than expected! It’s finally starting to look truly recognizable. It wasn’t a smooth process, though I ran into quite a few problems with component positioning and broken external links between files. Fixing lost references took a lot of patience and effort and figuring out the correct 18° body tilt and getting the shoulder alignment right was time-consuming. Basically it’s done; however, I still haven’t figured out how to make the center wheel. I hope I’ll find the right way. Maybe I’ll have to use LEGO wheel…
Hello, guys! The progress has been huge, and here is a quick list of what I’ve done recently: -I’ve modeled a custom lazy susan bearing for R2’s head that runs on 6mm BBs -The motor mount fot the 28BYJ-48 stepper motor is basically ready and it’s attachable to R2’s torso. -I also made the head-turning system with a huge internal gear. I still need to do some tuning; however it’s time for R2 to come alive. The 3D printing will probably take a couple of hours (or days). Stay tuned!
Hello guys! I’ve finally finished (almost) R2’s modeling, and I’ve successfully done the hardest part of the project: the decorative panels and holes on the dome. I used plane splitting and surface projection tricks to get perfect panel lines all around the dome to avoid distortion on the spherical surface. All that’s left now is modeling an internal mount for a small IR sensor, and the dome is ready for printing. I’ll design the rest of the decorative elements, such as R2’s eyes and shoulder rings.
Hello, guys! 3D printing has started, and I designed some important details for R2’s body: the Radar Eye, Shoulder and Battery box. Currently, I’m making the Leg Booster. I still have to model the Ankle Cylinders and a few remaining details for R2’s dome.
Hello, guys! Hopefully, it’ll be my last devlog about 3D modelling, and next time, I’ll build R2 in real life with my dear fellows, @benedekkristof16 and @hunorkiss04 . I’ve spent hours and hours designing with varying degrees of success and from this mighty point, R2 probably has a much cooler look and far more aura than me🥀. Unfortunatelly, this replica is NOT 100% accurate and I had to model some elements by sight (R2’s holoprojector) and I horribly miscalculated a ratio: R2’s main body (the cylinder) is 220mm and it should have been 200mm. I noticed it too late. Due to the complexity of R2’s torso and the lack of time, I didn’t correct this. It’s not that visible; however I had to let go of the two center foot cylinder due to a lack of space. But it’s our R2, so We’ll keep him, no matter what 😉.
Hello, guys! R2 has been built (mostly)!!! With the help of my dear fellows ( @benedekkristof16 and @hunorkiss04 ), we spent a lot of time working on it. As expected, we faced some difficulties during the building session. The main problem was the CAD design and 3D printing: in some places the holes are too tight for the screws and there are defective pieces; however we could resolve all the problems with some unique solutions. At the end of the day, R2 is moving and he’s able to turn his head! We’ve started to fill the GitHub files and I’ll fix the 3D mistakes. (Ignore the questionable paint job)
Ships:
This project is a fan-made R2-D2 replica. I made with my fellow, @benedekkristof16 . My part was the 3D modeling and designing, making the mechanincs, (motors with functioning gears), painting and decorating. The most chalenging part of the project wasn’t the learning; however the designing and understanding the complicated blueprints and surface modeling (especially the dome) was the toughest part. This hardware project is capable of rolling around, turning its head and bring light the to night with some LEDs. We made a cool demo video presenting R2. We hope you’ll find it enjoyable....
|
1793199030.4254026
|
1793285430.4254026
|
|
41548
|
Market Lab by @GoldenClarinet | Stardance
|
GoldenClarinet
|
1
|
132.14
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T13:44:17Z", "hours": 130.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "MarketLab is a python tool to exploring BINANCE financial data. With MarketLab, you can create and manage database of market data such as the OHLCV, calculated indicators such as SMA, RSI etc… The most challenging part was to rebuilt the core of the project. I am very proud of MarketLab because it is my very first and my most complex python project yet.", "repo": "https://github.com/Cla1tra2algo/Market-Lab", "demo": "https://pypi.org/project/the-marketlab-project/"}]...
|
[{"post_id": 74089, "ts": "202 [{"post_id": 74089, "ts": "2026-09-26T17:22:31Z", "hours": 0.6122, "text": "After Ship DevLog #2: I changed manually the README to reduce the part of AI code"}, {"post_id": 72266, "ts": "2026-09-22T15:30:09Z", "hours": 1.5233, "text": "After DevLog #1 : I have edited parts of the README and fixed a bug when window selection. Thanks for reading 😄"}, {"post_id": 71199, "ts": "2026-09-20T13:09:32Z", "hours": 6.0994, "text": "Final DevLog (#33) : Great Great Great New !! The first version of MarketLab is finished !! You can now install it, if you have python with a simple pip install the-marketlab-project and import it under the name of marketlab ! Thanks for reading ad for all the support you gave me 😄 ✌️ ! Special thanks to @dapsvi , @jinjin , @preyas_21 and @MathBty for liking DevLog #33 !"}, {"post_id": 64930, "ts": "2026-09-09T17:27:42Z", "hours": 1.0522, "text": "DevLog #32 : Newfeature ! : I finally fixed the bug that misplaced and made calcultation over wrong data to update indicators. Thes next step is to add the update for the events. Thanks for reading 😄 PS : Special thanks to @kingkev for liking DevLog #31 and following and thank to @No1Michael for liking DevLog #30 !"}, {"post_id": 63039, "ts": "2026-09-06T16:40:05Z", "hours": 0.3269, "text": "DevLog #31 : New feature (not perfect yet) ! I am fixing the issues on the indicator update (see DevLog #30). The indicator is now updated over te whole set of new data and a misplacement has been corrected. But some problems remains: the indicator is updated with what seems to be the first value of the whole set of data and it is also calculated with the very first values (that normally cannot be done: if you are calculating a SMA100, the 99 firsts values cannot be calculated) Thanks for reading 😄"}, {"post_id": 62995, "ts": "2026-09-06T15:44:46Z", "hours": 1.2817, "text": "DevLog #30 : New feature (not perfect yet) ! You can now update the calculated indicators, but an issue just showed up: there are three misplacement of the new values of the indicator. I am working on fixing that. Thanks for reading 🫡 PS : Special thanks to @bali0531 , @lakshaykhatri780 and @jinjin for liking DevLog #29 !"}, {"post_id": 62088, "ts": "2026-09-05T10:32:14Z", "hours": 4.7581, "text": "DevLog #29 : New feature ! You can now update the data available on Binance API. I am also working on calculating indicators and avents over these new data. Thanks for reading 😄 PS: If you know how the 3D Printing Credits available in the shop can be used, I will be grateful if you tell me in the comments!"}, {"post_id": 58871, "ts": "2026-08-31T13:24:47Z", "hours": 8.6258, "text": "DevLog #28 : I finalized the sync of all the part of the system that manage events calculation with the new core of MarketLab. I also started the README. I am currently working on updating all the data after a break in your work on MarketLab. Thanks for reading ✌️! PS: Special thanks again to @bali0531 for liking DevLog #27 ! PS 2: I do not have special image to illustrate the work I have donne these last 8 hours, sorry 🙇♂️"}, {"post_id": 57267, "ts": "2026-08-29T11:33:25Z", "hours": 2.5878, "text": "DevLog #27 : I finalized the sync of all the part of the system that manage indicators calculation with the new core of MarketLab. The next step is to do the same with the events part. Thanks for reading 😆 PS: Special thanks to @bali0531 for liking DevLog #26 !"}, {"post_id": 56754, "ts": "2026-08-28T17:15:42Z", "hours": 10.6694, "text": "DevLog #26 : I keep on modifying the core of MarketLab. I do not have anything special but I need to do this DevLog to log my hours. Thanks fore reading 😄"}, {"post_id": 54023, "ts": "2026-08-24T19:26:44Z", "hours": 8.7467, "text": "DevLog #25 : New feature ! While trying to calculate an indicator, if an existing one has the same name, MaketLab will ask if you want to replace the existing one, rename the indicator you want to calculate or simply cancel the calculations. I am working on the same system but with MarketLab looking on the parameters of calculated indicators. Thanks for reading ✌️!"}, {"post_id": 53139, "ts": "2026-08-23T16:00:46Z", "hours": 8.6025, "text": "DevLog #24 : I standardized indicator definition and metadata to set the rules the user must follow to create indicator that can be accepted by MarkLab. The user must define these metadata to use its own custom indicators : the name of the indicator, the number of parameters nb that the user can choose, the recommended parameters r , the function of the indicator f , the type t of the indicator ( general_app or custom ) and the forced parameters fp . The next step is to do the same with the events. Thanks for reading 🙌!"}, {"post_id": 51812, "ts": "2026-08-21T17:32:26Z", "hours": 8.0319, "text": "DevLog #23 : I keep on working on redefining the structure of the code. All the sqlite3 operations are now performed by the class MarketLabDataBase . Redefining the structure af the code will take a long time (8 hours for one step) but it is one of the final steps of the project and it will hopefully improve the complexity grade of my project. Thanks for reading 😆!"}, {"post_id": 51280, "ts": "2026-08-20T20:27:26Z", "hours": 3.5481, "text": "DevLog #22 : I started working on redefining the structure of the code to strengthen robustness and clarify the architecture. I asked Codex to make me a check list of all the modifications to operate. Thanks for reading 😁 PS : Special thanks to @Aaravkatiyar for liking and commenting DevLog #21 and following ! (You are the GOAT!)"}, {"post_id": 51044, "ts": "2026-08-20T15:07:02Z", "hours": 8.0183, "text": "DevLog #21 : New functionality ! You can now download data from a specific date range. I added this feature to prevent long downloads ( ~ 5 minutes for the whole history with a time frame of 15m and 15 times longer for a timeframe of 1m ). I am now working on computing series with incompatible indicators with general_application . Thanks for reading ✌️! PS : Special thanks to @alyaanmughal for liking DevLog #18, @Aaravkatiyar for liking DevLog #20 and @Sreeni for following me !"}, {"post_id": 49474, "ts": "2026-08-18T10:20:12Z", "hours": 3.0044, "text": "DevLog #20 : New design ! I redesign the main menu by moving 🧩 Manage Custom Indicators and Events , 🗑️ Delete a Column and 📁 Open or Create a Database in the ⚙️ Settings . Small change but it improves the user experience and the understanding of the main menu. Thanks for reading 😄!"}, {"post_id": 48927, "ts": "2026-08-17T14:20:06Z", "hours": 2.0031, "text": "DevLog #19 : New functionality ! You can now compute series of the same indicator but with different windows (EMA 20; EMA 30; EMA 40 …). It only work for the functions compatible with general_application for now but I am working to extend this feature to the custom indicator functions. Thanks for reading 🙌!"}, {"post_id": 48352, "ts": "2026-08-16T17:43:53Z", "hours": 4.1689, "text": "DevLog #18 : New indicator and new event ! The filter_savgol applies a Savitzky-Golay filter (filter that works on polynomial regression) and peak_detection . This led me to add a system that allows the use of indicators and events functions that do not comply with the functions general_application and general_event_application (functions that simplify the création of custom indicators and events). The next steps are the packaging and the writing of the README. Thanks for reading 🙌!"}, {"post_id": 47705, "ts": "2026-08-15T19:53:16Z", "hours": 7.8397, "text": "DevLog #17 : New functionality ! You can now create a file containing your own custom indicators and events . I also created a function called general_event_application which simplifies the creation of new events. Thanks for reading 😄 PS : Special thanks to @bali0531 for liking DevLog #16 !"}, {"post_id": 44678, "ts": "2026-08-10T16:24:41Z", "hours": 3.4011, "text": "DevLog #16 : New functionality ! You can now calculate statistics of an event to show up in function of two parameters. In The example, the event is a cross between the close and the SMA 100 in function of the volume and the the volume of the quote. I am coming to the end of the project, the next steps are to allowing the user create its own indicators and events. Thanks for reading 🙌 ! PS : Special thanks to @MathBty and @dhruvalya for liking DevLog #15 !"}, {"post_id": 43280, "ts": "2026-08-08T13:27:43Z", "hours": 2.3211, "text": "DevLog #15 : New functionality ! You can now search a file already created to make returning to work easier on an existing file. Thank for reading 😄 ! PS : Special thanks to @Gerafftes for liking DevLog #14 !"}, {"post_id": 42185, "ts": "2026-08-06T20:01:07Z", "hours": 1.8761, "text": "DevLog #14 : New fonctionality ! You can now plot a Status with indicators directly with the interface. In the example, Close, SMA 100, SMA 50 and Cross(SMA 100, SMA 50) are plotted on the same graph. The next step is to calculate Stats and plot it too. Thanks for reading 🫡"}, {"post_id": 41992, "ts": "2026-08-06T15:11:05Z", "hours": 5.2839, "text": "DevLog #13 : New functionalities ! You can now plot any indicators already calculated directly with the interface. The next step is to plot status (like “cross”) and stats. I also added 4 functional indicators in the indicator dict of the interface (ATR, VWMA, Amplitude and Relative). The Indicator Dict is able to contain recommended parameters for each indicator and they are printed when entering parameters to calculate indicators. Thanks for reading 🫡. PS : Special thanks to @Jinan (again!), @CoolDuck and @MathBty for liking DevLog #12, @PAPER_01 for liking my first DevLog. Thanks again to @jinan for the amazing comment about DevLog #12 and @yeshwingadde for following !"}, {"post_id": 41322, "ts": "2026-08-05T13:45:46Z", "hours": 2.9131, "text": "DevLog #12 : Bugs fixed ! I added in the code verifications for each user entry to prevent incorrect type of entries and reduce program crash. I also added the option Continue after an action. Hope you like the new logo. Thanks for reading 🙌! PS: Special thanks to @shi , @Jinan and @f for liking DevLog #11. Thank again to @f for the nice comment about DevLog #11!"}, {"post_id": 41198, "ts": "2026-08-05T08:37:29Z", "hours": 4.0861, "text": "DevLog #11 : New functionality ! You can now calculate indicators directly with the interface and delete it. I also added an History to remember the actions that have been done. Hope you like the new design with emojis. I am still taking ideas from you. Thanks for reading 😁"}, {"post_id": 40775, "ts": "2026-08-04T14:59:09Z", "hours": 1.1947, "text": "DevLog #10 : New functionality ! I have started to build a terminal-based user interface to make Market Lab much easier to use. Here is a preview of the first functionality : Download Data to download every candles of the selected symbol and interval. I am also continuing to work on the heat map feature (look at DevLog #9). If you have advice about the design or whatever of the interface, I will be very happy to listen to it. Thanks for reading 🫶 !"}, {"post_id": 40616, "ts": "2026-08-04T08:41:34Z", "hours": 1.0947, "text": "DevLog #9 : New functionality ! The probability for an event occurring can now be calculated and plotted. In the example, the probability of a crossover/crossunder based on trading volume is shown in red or in blue. The next step is to calculate the probability of an event to show up based on two variables and visualize the results using heatmaps. Thanks for reading 🙌. PS : Special thanks to @jinan , @logannavaia and @Epicninja3 for liking the DevLog #8. Thanks again to @Epicninja3 and @logannavaia for following this project !"}, {"post_id": 40386, "ts": "2026-08-03T21:08:16Z", "hours": 1.6072, "text": "DevLog #8 : New event ! The event “under_over” allows us to detect a moment in time where a variable is under or over another. Here the example shows the moment when the SMA 50 is either under or over the SMA 100. I keep on working on the function that allows to compute the probability of an event to show up based on different variables. Thanks for reading 🤠 PS : special thanks to @f for liking the DevLog #7 and the very encouraging comment !"}, {"post_id": 40269, "ts": "2026-08-03T18:04:16Z", "hours": 0.4303, "text": "DevLog #7 : Following the DevLog #6. Triangular labels can now be plotted on the graph at the location of each event. In the example, the event is the crossover between two EMAs. The next step is to compute the probability for an event to show up based on different variables such as the volume, the number of trades etc. Thanks for reading ✌️ ! PS : special thanks to @benvelzul for following this project !"}, {"post_id": 40182, "ts": "2026-08-03T16:13:51Z", "hours": 1.2819, "text": "DevLog #6 : New event ! The event « cross » allows us to detect a moment in time when two values cross each other. Here, the example shows the moment when two SMAs cross one another. This event is shown by the second graph which ocilliates between 1 and -1 for a crossover and a crossunder. The next step is to plot labels directly on the graph for each « cross ». Thanks for reading 😄"}, {"post_id": 39966, "ts": "2026-08-03T09:35:00Z", "hours": 0.3058, "text": "DevLog #5 : New indicator ! I have juste finished implementing the Commodity Chanel Index (cci). This indicator show how much the deviation of the price form its average (SMA) is important relatively to the mean deviation of the price (MD). The math formula is a bit complexe so I joined it below. The typical price (TP) is the average of the high (H), low (L) and close (C) of the same candle. Thanks for reading this DevLog 🫡"}, {"post_id": 39947, "ts": "2026-08-03T08:48:30Z", "hours": 0.485, "text": "DevLog #4 : New indicator ! I have just finished implementing the Stochastic Oscillator (or %K). It is a simple indicator which calculate the “position” of the close of the the last candle over n candles. Here is the math formula: %K = 100 * (Close-Low)/(High-Low) with Close the close of the last candle ; Low the lowest point over n candles ; High the highest point over n candles. The timeframe is still 12h because the calculations are much more faster than those for a 1h timeframe ( logically 12 time faster). Thanks for reading this DevLog 🙌"}, {"post_id": 39921, "ts": "2026-08-03T07:32:41Z", "hours": 1.06, "text": "DevLog #3 : I have just finished implementing the RSI calculation. This is the RSI 14 close of the BTC on a 12h timeframe. I have more than 10 indicators now !"}, {"post_id": 39612, "ts": "2026-08-02T18:27:40Z", "hours": 0.6106, "text": "DevLog #2 : New Indicator ! Here is the ATR 14 of BTC since the 17/08/2017 computed on a 12h time frame. Thanks for reading 😆!"}, {"post_id": 39559, "ts": "2026-08-02T16:27:33Z", "hours": 12.2767, "text": "DevLog #1 : Very first DevLog ! I started Market Lab one week ago and heard about StarDance Challenge one month ago. But I got the idea to participate only yesterday so I have about ten hour that won’t count 😥. I already established the data extraction from BINANCE API. I keep on tracking errors and creating new functions to calculate indicators. Thanks for reading 🫡!"}]...
|
Title: Market Lab by @GoldenClarinet | Stardance
Title: Market Lab by @GoldenClarinet | Stardance
Devlogs:
DevLog #1 : Very first DevLog ! I started Market Lab one week ago and heard about StarDance Challenge one month ago. But I got the idea to participate only yesterday so I have about ten hour that won’t count 😥. I already established the data extraction from BINANCE API. I keep on tracking errors and creating new functions to calculate indicators. Thanks for reading 🫡!
DevLog #2 : New Indicator ! Here is the ATR 14 of BTC since the 17/08/2017 computed on a 12h time frame. Thanks for reading 😆!
DevLog #3 : I have just finished implementing the RSI calculation. This is the RSI 14 close of the BTC on a 12h timeframe. I have more than 10 indicators now !
DevLog #4 : New indicator ! I have just finished implementing the Stochastic Oscillator (or %K). It is a simple indicator which calculate the “position” of the close of the the last candle over n candles. Here is the math formula: %K = 100 * (Close-Low)/(High-Low) with Close the close of the last candle ; Low the lowest point over n candles ; High the highest point over n candles. The timeframe is still 12h because the calculations are much more faster than those for a 1h timeframe ( logically 12 time faster). Thanks for reading this DevLog 🙌
DevLog #5 : New indicator ! I have juste finished implementing the Commodity Chanel Index (cci). This indicator show how much the deviation of the price form its average (SMA) is important relatively to the mean deviation of the price (MD). The math formula is a bit complexe so I joined it below. The typical price (TP) is the average of the high (H), low (L) and close (C) of the same candle. Thanks for reading this DevLog 🫡
DevLog #6 : New event ! The event « cross » allows us to detect a moment in time when two values cross each other. Here, the example shows the moment when two SMAs cross one another. This event is shown by the second graph which ocilliates between 1 and -1 for a crossover and a crossunder. The next step is to plot labels directly on the graph for each « cross ». Thanks for reading 😄
DevLog #7 : Following the DevLog #6. Triangular labels can now be plotted on the graph at the location of each event. In the example, the event is the crossover between two EMAs. The next step is to compute the probability for an event to show up based on different variables such as the volume, the number of trades etc. Thanks for reading ✌️ ! PS : special thanks to @benvelzul for following this project !
DevLog #8 : New event ! The event “under_over” allows us to detect a moment in time where a variable is under or over another. Here the example shows the moment when the SMA 50 is either under or over the SMA 100. I keep on working on the function that allows to compute the probability of an event to show up based on different variables. Thanks for reading 🤠 PS : special thanks to @f for liking the DevLog #7 and the very encouraging comment !
DevLog #9 : New functionality ! The probability for an event occurring can now be calculated and plotted. In the example, the probability of a crossover/crossunder based on trading volume is shown in red or in blue. The next step is to calculate the probability of an event to show up based on two variables and visualize the results using heatmaps. Thanks for reading 🙌. PS : Special thanks to @jinan , @logannavaia and @Epicninja3 for liking the DevLog #8. Thanks again to @Epicninja3 and @logannavaia for following this project !
DevLog #10 : New functionality ! I have started to build a terminal-based user interface to make Market Lab much easier to use. Here is a preview of the first functionality : Download Data to download every candles of the selected symbol and interval. I am also continuing to work on the heat map feature (look at DevLog #9). If you have advice about the design or whatever of the interface, I will be very happy to listen to it. Thanks for reading 🫶 !
DevLog #11 : New functionality ! You can now calculate indicators directly with the interface and delete it. I also added an History to remember the actions that have been done. Hope you like the new design with emojis. I am still taking ideas from you. Thanks for reading 😁
DevLog #12 : Bugs fixed ! I added in the code verifications for each user entry to prevent incorrect type of entries and reduce program crash. I also added the option Continue after an action. Hope you like the new logo. Thanks for reading 🙌! PS: Special thanks to @shi , @Jinan and @f for liking DevLog #11. Thank again to @f for the nice comment about DevLog #11!
DevLog #13 : New functionalities ! You can now plot any indicators already calculated directly with the interface. The next step is to plot status (like “cross”) and stats. I also added 4 functional indicators in the indicator dict of the interface (ATR, VWMA, Amplitude and Relative). The Indicator Dict is able to contain recommended parameters for each indicator and they are printed when entering parameters to calculate indicators. Thanks for reading 🫡. PS : Special thanks to @Jinan (again!), @CoolDuck and @MathBty for liking DevLog #12, @PAPER_01 for liking my first DevLog. Thanks again to @jinan for the amazing comment about DevLog #12 and @yeshwingadde for following !
DevLog #14 : New fonctionality ! You can now plot a Status with indicators directly with the interface. In the example, Close, SMA 100, SMA 50 and Cross(SMA 100, SMA 50) are plotted on the same graph. The next step is to calculate Stats and plot it too. Thanks for reading 🫡
DevLog #15 : New functionality ! You can now search a file already created to make returning to work easier on an existing file. Thank for reading 😄 ! PS : Special thanks to @Gerafftes for liking DevLog #14 !
DevLog #16 : New functionality ! You can now calculate statistics of an event to show up in function of two parameters. In The example, the event is a cross between the close and the SMA 100 in function of the volume and the the volume of the quote. I am coming to the end of the project, the next steps are to allowing the user create its own indicators and events. Thanks for reading 🙌 ! PS : Special thanks to @MathBty and @dhruvalya for liking DevLog #15 !
DevLog #17 : New functionality ! You can now create a file containing your own custom indicators and events . I also created a function called general_event_application which simplifies the creation of new events. Thanks for reading 😄 PS : Special thanks to @bali0531 for liking DevLog #16 !
DevLog #18 : New indicator and new event ! The filter_savgol applies a Savitzky-Golay filter (filter that works on polynomial regression) and peak_detection . This led me to add a system that allows the use of indicators and events functions that do not comply with the functions general_application and general_event_application (functions that simplify the création of custom indicators and events). The next steps are the packaging and the writing of the README. Thanks for reading 🙌!
DevLog #19 : New functionality ! You can now compute series of the same indicator but with different windows (EMA 20; EMA 30; EMA 40 …). It only work for the functions compatible with general_application for now but I am working to extend this feature to the custom indicator functions. Thanks for reading 🙌!
DevLog #20 : New design ! I redesign the main menu by moving 🧩 Manage Custom Indicators and Events , 🗑️ Delete a Column and 📁 Open or Create a Database in the ⚙️ Settings . Small change but it improves the user experience and the understanding of the main menu. Thanks for reading 😄!
DevLog #21 : New functionality ! You can now download data from a specific date range. I added this feature to prevent long downloads ( ~ 5 minutes for the whole history with a time frame of 15m and 15 times longer for a timeframe of 1m ). I am now working on computing series with incompatible indicators with general_application . Thanks for reading ✌️! PS : Special thanks to @alyaanmughal for liking DevLog #18, @Aaravkatiyar for liking DevLog #20 and @Sreeni for following me !
DevLog #22 : I started working on redefining the structure of the code to strengthen robustness and clarify the architecture. I asked Codex to make me a check list of all the modifications to operate. Thanks for reading 😁 PS : Special thanks to @Aaravkatiyar for liking and commenting DevLog #21 and following ! (You are the GOAT!)
DevLog #23 : I keep on working on redefining the structure of the code. All the sqlite3 operations are now performed by the class MarketLabDataBase . Redefining the structure af the code will take a long time (8 hours for one step) but it is one of the final steps of the project and it will hopefully improve the complexity grade of my project. Thanks for reading 😆!
DevLog #24 : I standardized indicator definition and metadata to set the rules the user must follow to create indicator that can be accepted by MarkLab. The user must define these metadata to use its own custom indicators : the name of the indicator, the number of parameters nb that the user can choose, the recommended parameters r , the function of the indicator f , the type t of the indicator ( general_app or custom ) and the forced parameters fp . The next step is to do the same with the events. Thanks for reading 🙌!
DevLog #25 : New feature ! While trying to calculate an indicator, if an existing one has the same name, MaketLab will ask if you want to replace the existing one, rename the indicator you want to calculate or simply cancel the calculations. I am working on the same system but with MarketLab looking on the parameters of calculated indicators. Thanks for reading ✌️!
DevLog #26 : I keep on modifying the core of MarketLab. I do not have anything special but I need to do this DevLog to log my hours. Thanks fore reading 😄
DevLog #27 : I finalized the sync of all the part of the system that manage indicators calculation with the new core of MarketLab. The next step is to do the same with the events part. Thanks for reading 😆 PS: Special thanks to @bali0531 for liking DevLog #26 !
DevLog #28 : I finalized the sync of all the part of the system that manage events calculation with the new core of MarketLab. I also started the README. I am currently working on updating all the data after a break in your work on MarketLab. Thanks for reading ✌️! PS: Special thanks again to @bali0531 for liking DevLog #27 ! PS 2: I do not have special image to illustrate the work I have donne these last 8 hours, sorry 🙇♂️
DevLog #29 : New feature ! You can now update the data available on Binance API. I am also working on calculating indicators and avents over these new data. Thanks for reading 😄 PS: If you know how the 3D Printing Credits available in the shop can be used, I will be grateful if you tell me in the comments!
DevLog #30 : New feature (not perfect yet) ! You can now update the calculated indicators, but an issue just showed up: there are three misplacement of the new values of the indicator. I am working on fixing that. Thanks for reading 🫡 PS : Special thanks to @bali0531 , @lakshaykhatri780 and @jinjin for liking DevLog #29 !
DevLog #31 : New feature (not perfect yet) ! I am fixing the issues on the indicator update (see DevLog #30). The indicator is now updated over te whole set of new data and a misplacement has been corrected. But some problems remains: the indicator is updated with what seems to be the first value of the whole set of data and it is also calculated with the very first values (that normally cannot be done: if you are calculating a SMA100, the 99 firsts values cannot be calculated) Thanks for reading 😄
DevLog #32 : Newfeature ! : I finally fixed the bug that misplaced and made calcultation over wrong data to update indicators. Thes next step is to add the update for the events. Thanks for reading 😄 PS : Special thanks to @kingkev for liking DevLog #31 and following and thank to @No1Michael for liking DevLog #30 !
Final DevLog (#33) : Great Great Great New !! The first version of MarketLab is finished !! You can now install it, if you have python with a simple pip install the-marketlab-project and import it under the name of marketlab ! Thanks for reading ad for all the support you gave me 😄 ✌️ ! Special thanks to @dapsvi , @jinjin , @preyas_21 and @MathBty for liking DevLog #33 !
After DevLog #1 : I have edited parts of the README and fixed a bug when window selection. Thanks for reading 😄
After Ship DevLog #2: I changed manually the README to reduce the part of AI code
Ships:
MarketLab is a python tool to exploring BINANCE financial data. With MarketLab, you can create and manage database of market data such as the OHLCV, calculated indicators such as SMA, RSI etc… The most challenging part was to rebuilt the core of the project. I am very proud of MarketLab because it is my very first and my most complex python project yet....
|
1793155727.4608119
|
1793242127.4608119
|
|
16529
|
My first slack bot! by @levin_schmid | Stardance
|
levin_schmid
|
0
|
0.39
|
0
|
[]
|
[{"post_id": 7409, "ts": "2026 [{"post_id": 7409, "ts": "2026-06-12T10:39:20Z", "hours": 0.3947, "text": "currently I work on a slack-bot. it has multiple slash commands and i search now for very usefull slash commands"}]...
|
Title: My first slack bot! by @levin_schmid | Star Title: My first slack bot! by @levin_schmid | Stardance
Devlogs:
currently I work on a slack-bot. it has multiple slash commands and i search now for very usefull slash commands...
|
1792644852.6849945
|
1793249652.6849945
|
|
60881
|
The Beta Files by @arpanshah102 | Stardance
|
arpanshah102
|
1
|
18.0
|
81
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T17:30:43Z", "hours": 18.0, "multiplier": 5.19, "payout": 81, "blessing": "neutral", "text": "Hello! This project is the Beta Files. Basically, it’s a collection of photos, videos, and audio from the 2026 Kentucky State, and National convention of me and my friends. It has many features; favorites, recently viewed, lists, and random files. It is mobile compatible and the UI is clean and nice. There’s also a search bar and you can filter and sort it. NOTE It may take a while for the files to load because the ‘CDN’ I’m using is internet archive. It does it’s job but it’s not fast.", "repo": "https://github.com/Arpan-Shah-102/beta-files", "demo": "https://the-beta-files.vercel.app/"}]...
|
[{"post_id": 74091, "ts": "202 [{"post_id": 74091, "ts": "2026-09-26T17:24:14Z", "hours": 1.0119, "text": "Today is the day! I have FINALLY finished this! I’ve added lists and I don’t think there are any bugs. To use use lists, create one, go to the file you want to add to the list, and then save to list right next to the share button and save."}, {"post_id": 73752, "ts": "2026-09-25T21:10:20Z", "hours": 0.4789, "text": "Today, I worked on the indivisual list page for each item. You can edit the name and description here. You can also delete it. Tomorrow, I’m planning on finishing it by making it so you can add to the list via the item page."}, {"post_id": 73368, "ts": "2026-09-25T00:34:42Z", "hours": 1.1531, "text": "Today was a great day for the beta files! I finally decided to work on this feature. This feature was supposed to be long and tedious but it’s about average in both. After I finish this, I’ll finally be done with the Beta Files! I love this project but it’s kinda sad to finish with it. That will be Saturday though because I have a game tomorrow and SBR is coming out so I won’t have much time to finish it. I should most definitely be done by Saturday though unless some unexpected bugs occur."}, {"post_id": 72900, "ts": "2026-09-23T23:56:56Z", "hours": 0.3708, "text": "Today, I finished up the recently viewed page. It now shows it inside a dedicated page and you can clear it. I will probably start on the lists today but I won’t finish them today for sure. That is the last thing I need to add before I finish."}, {"post_id": 72500, "ts": "2026-09-23T02:39:08Z", "hours": 0.3675, "text": "Today I had a game so I couldn’t work on much. I did finish up the recently viewed on the home page though. Tomorrow, I will work on adding the the recently viewed page itself."}, {"post_id": 72054, "ts": "2026-09-22T02:57:06Z", "hours": 0.8056, "text": "Today, I couldn’t do much because it’s late, I had a soccer game, and I’m tired, so I spent a little time fixing some minor bugs and started work on the Home Page. The styling might be done tomorrow but I’m not sure, I also have a game tomorrow."}, {"post_id": 71321, "ts": "2026-09-20T16:59:57Z", "hours": 0.7153, "text": "So far today, I reworked the tag filters and added a more page. While playing around with the tags, I realized they suck so I had to rework the logic around that. I also moved the Contacts link into the more page. The navbar won’t have enough space for everything I want to add so I just created the more page. So for, contact and random file work but recently viewed and your lists will probably be done tomorrow. I will still work on it today but they are more complicated features."}, {"post_id": 70920, "ts": "2026-09-20T01:13:20Z", "hours": 0.6347, "text": "Today, I finally decided to fix some bugs and add a few new features! So when I had this hosted on vercel, if you tried to copy the link and share it, it wouldn’t work, but I fixed that. I also simplified said link. Lastly, I added a share button to each file’s page and started on a new list feature (where the ‘Save to Placeholder’ is). I’ll start on that tomorrow but It probably won’t be done because it’s more complicated."}, {"post_id": 65742, "ts": "2026-09-11T02:51:03Z", "hours": 12.4158, "text": "I made this project a while ago and forgot to upload it to stardance so I am doing that now. Luckily, I did keep a log of what I worked on in the README so that’s there to save me. Loading Update V2.2 - 8/13/2026 Added Loading indicators on assets Fixed minor bugs Added how to run section Mobile Support Update V2.1 - 8/8/2026 Added Mobile Support Changed Page titles depending on page Bug fixes Full Finished Update V2.0 - 8/8/2026 Added Search Bar Addded Filter Terms Feature Added Sort By feature Added full file viewing on click Fixed bugs UI Update V1.0 - 8/5/2026 Added Preview of files Added Contacts Page Added Framework for further features. UI Update V0.75 - 7/3/2026 Worked on components and UI Added logos and icons Setup Update V0.5 - 7/2/2026 Created project and graphics Uploaded Data to internet archive"}]...
|
Title: The Beta Files by @arpanshah102 | Stardance Title: The Beta Files by @arpanshah102 | Stardance
Devlogs:
I made this project a while ago and forgot to upload it to stardance so I am doing that now. Luckily, I did keep a log of what I worked on in the README so that’s there to save me. Loading Update V2.2 - 8/13/2026 Added Loading indicators on assets Fixed minor bugs Added how to run section Mobile Support Update V2.1 - 8/8/2026 Added Mobile Support Changed Page titles depending on page Bug fixes Full Finished Update V2.0 - 8/8/2026 Added Search Bar Addded Filter Terms Feature Added Sort By feature Added full file viewing on click Fixed bugs UI Update V1.0 - 8/5/2026 Added Preview of files Added Contacts Page Added Framework for further features. UI Update V0.75 - 7/3/2026 Worked on components and UI Added logos and icons Setup Update V0.5 - 7/2/2026 Created project and graphics Uploaded Data to internet archive
Today, I finally decided to fix some bugs and add a few new features! So when I had this hosted on vercel, if you tried to copy the link and share it, it wouldn’t work, but I fixed that. I also simplified said link. Lastly, I added a share button to each file’s page and started on a new list feature (where the ‘Save to Placeholder’ is). I’ll start on that tomorrow but It probably won’t be done because it’s more complicated.
So far today, I reworked the tag filters and added a more page. While playing around with the tags, I realized they suck so I had to rework the logic around that. I also moved the Contacts link into the more page. The navbar won’t have enough space for everything I want to add so I just created the more page. So for, contact and random file work but recently viewed and your lists will probably be done tomorrow. I will still work on it today but they are more complicated features.
Today, I couldn’t do much because it’s late, I had a soccer game, and I’m tired, so I spent a little time fixing some minor bugs and started work on the Home Page. The styling might be done tomorrow but I’m not sure, I also have a game tomorrow.
Today I had a game so I couldn’t work on much. I did finish up the recently viewed on the home page though. Tomorrow, I will work on adding the the recently viewed page itself.
Today, I finished up the recently viewed page. It now shows it inside a dedicated page and you can clear it. I will probably start on the lists today but I won’t finish them today for sure. That is the last thing I need to add before I finish.
Today was a great day for the beta files! I finally decided to work on this feature. This feature was supposed to be long and tedious but it’s about average in both. After I finish this, I’ll finally be done with the Beta Files! I love this project but it’s kinda sad to finish with it. That will be Saturday though because I have a game tomorrow and SBR is coming out so I won’t have much time to finish it. I should most definitely be done by Saturday though unless some unexpected bugs occur.
Today, I worked on the indivisual list page for each item. You can edit the name and description here. You can also delete it. Tomorrow, I’m planning on finishing it by making it so you can add to the list via the item page.
Today is the day! I have FINALLY finished this! I’ve added lists and I don’t think there are any bugs. To use use lists, create one, go to the file you want to add to the list, and then save to list right next to the share button and save.
Ships:
Hello! This project is the Beta Files. Basically, it’s a collection of photos, videos, and audio from the 2026 Kentucky State, and National convention of me and my friends. It has many features; favorites, recently viewed, lists, and random files. It is mobile compatible and the UI is clean and nice. There’s also a search bar and you can filter and sort it. NOTE It may take a while for the files to load because the ‘CDN’ I’m using is internet archive. It does it’s job but it’s not fast....
|
1793206559.7801719
|
1793292959.7801719
|
|
66069
|
Simple-Pendulum by @Sameer23 | Stardance
|
Sameer23
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T18:42:37Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Simple Pendulum I read about it in class 12th physics so I decided to make it.", "repo": "https://github.com/imskyyyy5/simplependulum", "demo": "https://lively-maamoul-bdbc0f.netlify.app/"}]...
|
[{"post_id": 74093, "ts": "202 [{"post_id": 74093, "ts": "2026-09-26T17:38:27Z", "hours": 0.7497, "text": "String and bob thing also done and the slider also changes the length text…"}, {"post_id": 74051, "ts": "2026-09-26T16:25:59Z", "hours": 0.25, "text": "Now my goal is to make a visual pendulum which will change time period according to the effective length."}, {"post_id": 74040, "ts": "2026-09-26T16:09:42Z", "hours": 0.4575, "text": "Figuring out time guys!!!!"}]...
|
Title: Simple-Pendulum by @Sameer23 | Stardance
D Title: Simple-Pendulum by @Sameer23 | Stardance
Devlogs:
Figuring out time guys!!!!
Now my goal is to make a visual pendulum which will change time period according to the effective length.
String and bob thing also done and the slider also changes the length text…
Ships:
Simple Pendulum I read about it in class 12th physics so I decided to make it....
|
1793216882.0392113
|
1793303282.0392113
|
|
15394
|
Unbound Bionix by @araadh3111 | Stardance
|
araadh3111
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T17:55:51Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Bionix, A prosthetic hand that works from design to circuit everything", "repo": "https://github.com/Araadh3111/Bionix", "demo": ""}]...
|
[{"post_id": 74099, "ts": "202 [{"post_id": 74099, "ts": "2026-09-26T17:55:03Z", "hours": 1.3017, "text": "I could not make the full project but Now I am going to submit the design and I have made some changes in code which I will be commiting in a day"}, {"post_id": 40846, "ts": "2026-08-04T17:06:55Z", "hours": 9.9639, "text": "OH MY DAYS! I MOVED A SERVO FROM MY MUSCLE SIGNALS! this is definetely my lifes greatest achievement ok so I used electrodes and muscle sensor and wrote some basic code to move the servo based on muscle sensors output! I printed bionix a lot of times reiterated designs added arches in fingers for thread routing curled the index finger too! too much achieved im proud of myself! ### Lets Keep Rocking!"}, {"post_id": 26118, "ts": "2026-07-10T18:29:39Z", "hours": 4.9028, "text": "Update on Bionix I am finished with my basic hand structure i printed it irl and saw some errors and then fixed it in CAD next is to work on the thread routing channels!! keep following and checking out my github"}, {"post_id": 11544, "ts": "2026-06-18T20:49:08Z", "hours": 5.1958, "text": "Devlog: Final Engineering Push – Kinematics, Power Architecture, and Assembly Readiness Date: June 19, 2026 Status: Design Locked / Fabrication Ready The past several intensive engineering sessions have brought Bionix from a conceptual CAD model to a fully robust, physically viable electro-mechanical prototype. With the core palm and phalange geometry finalized, power distribution mapped out, and the bill of materials optimized, the project is officially ready for the physical fabrication and assembly phase. ⚙️ Mechanical Engineering & Kinematics The primary mechanical challenge for a tendon-driven bionic hand is managing friction and preventing catastrophic mechanical failure during repeated flexion cycles. We entirely overhauled the internal routing and joint mechanisms to achieve competition-grade reliability. Frictionless Revolute Joints: We stripped out the threaded M2 screws from the phalange joints. The joints have been re-engineered to accept smooth 2.2mm solid brass dowel pins , providing a low-friction, high-strength pivot point that ensures fluid finger movement. Optimized Flexion Routing (The Active Grip): To eliminate the “bowstring” effect, we redesigned the entry tunnels on the palm. The four main finger tension lines now enter the palm cavity via perfectly aligned tunnels featuring a -10° downward draft angle . This forces the high-tensile braided line flush against the joint grooves, maximizing servo leverage. All sharp 90-degree channel exits were filleted into smooth “trumpet flares” to prevent the threads from shearing under load. Antagonistic Elastic Extension (Passive Return): For the fingers to snap back open instantaneously when the servos release, we implemented an external elastic extensor system. We modeled a Unified Wrist Anchor block at the base of the palm. 1mm shock cord anchors at the fingertips, routes seamlessly over the knuckles, and ties off securely at the base of the palm, providing the exact passive tension required for a lifelike, snappy release. Removable Maintenance Hatch: The palm features a custom-traced, screw-mounted top plate with a generous cutout for full thumb articulation. This protects the internal servo array while allowing rapid access for tension-line adjustments. ⚡ Electronics & Power Architecture Running five high-torque micro servos simultaneously while reading delicate analog muscle signals requires isolating the high-current demands of the actuators from the logic board. Main Controller: The system is governed by a Raspberry Pi Pico (RP2040), chosen for its robust hardware PWM processing capabilities. Power Distribution: A 7.4V 2S Li-ion battery serves as the primary power source. This is routed through a high-efficiency 5V Buck Converter (rated for ≥3 Amps) directly to the servo power rails. The Pico is powered safely without having to sink the massive stall currents generated when the hand grips an object. A 1000uF decoupling capacitor bridges the 5V rail to smooth out transient voltage spikes. Biometric Input: We integrated the MyoWare 2.0 muscle sensor, passing raw electromyography (EMG) signals directly to the Pico’s ADC0 (GPIO26) pin."}, {"post_id": 9357, "ts": "2026-06-15T18:12:24Z", "hours": 1.1767, "text": "devlog 5 or 4 i honestly dont remember lol: I am done with the Palm!!!! and I also assembled the fingers to check !!! yes lets goo!! Printing the index finger tomorrow"}, {"post_id": 8851, "ts": "2026-06-14T18:37:40Z", "hours": 0.7619, "text": "Devlog 4: I was already done with 2 fingers earlier, I made the 3rd one today and I used Ai to build the pinky and thumb finger as it was just copying the dimensions editing the sketch and fixing the hole problem What I set out to build : I wanted to complete the fingers in this session which I did achieve + I am done with palm’s basic layout and structure planning, In next session I will be improving and finalising the palm assembling all of it together for once to check it all fits then work on the forearm"}, {"post_id": 8053, "ts": "2026-06-13T13:09:17Z", "hours": 0.4603, "text": "Devlog 3 : Bionix Ring finger design has been done and assembled in a sepearate folder I did not face any problems while making this design, Only pinky finger and thumb are left then I will start with palm and forearm respectively!"}, {"post_id": 8034, "ts": "2026-06-13T12:08:26Z", "hours": 1.7147, "text": "Devlog2 : Unbound bionix, Update: last devlog I was finished with the index finger dimensions well I just printed index finger to confirm movement and it’s moving as expected, I also Made the middle finger design by editing sketch of index finger but fixing the hole sliding issue, failures: I encountered multiple failures planning the design of index finger, but I did make it work and I am really happy for that, what is left? designing all fingers and thumb according to their dimensions and then designing the palm and forearm respectively and then moving on to the electronics part session pic: here is one session pic where I show the assembled middle finger design, for the middle finger the proximal phalange is 5 cm long, the distal phalange is 2 cm and the middle phalange is 3 cm!"}, {"post_id": 6780, "ts": "2026-06-11T11:08:36Z", "hours": 2.8783, "text": "Everyday tasks such as holding a bottle, typing on a keyboard, opening a door, or picking up a pen are actions most of us perform without thinking. For millions of people living with upper-limb loss, these simple activities can become significant challenges that affect independence, confidence, and quality of life. While modern prosthetic technology has advanced considerably, many solutions remain prohibitively expensive, difficult to customize, or inaccessible to students, researchers, and people in developing regions. Devices that offer advanced functionality often cost thousands of dollars, creating a gap between innovation and accessibility. Prosthetic Arm V1 is an attempt to bridge that gap. The goal of this project is to design a lightweight, modular, and affordable prosthetic arm that can be manufactured using 3D printing and standard electronic components. Rather than focusing solely on appearance, the design prioritizes practical functionality, durability, and ease of maintenance. Current Objectives Design an anatomically inspired finger and joint mechanism. Develop smooth and reliable tendon-driven motion. Create a modular structure that allows individual parts to be replaced or upgraded. Keep manufacturing costs as low as possible without sacrificing functionality. Build a foundation for future versions with improved dexterity and sensor integration. Progress Today, I completed the initial CAD model for one of the fingers and started testing the joint geometry. The focus is on achieving a balance between strength, range of motion, and ease of assembly before moving on to full-hand integration. This is only Version 1, and there is still a long way to go, but every iteration brings the project one step closer to creating an accessible prosthetic solution that anyone can build, improve, and use. Next milestone: Complete the middle finger and begin integrating the tendon routing system."}]...
|
Title: Unbound Bionix by @araadh3111 | Stardance
Title: Unbound Bionix by @araadh3111 | Stardance
Devlogs:
Everyday tasks such as holding a bottle, typing on a keyboard, opening a door, or picking up a pen are actions most of us perform without thinking. For millions of people living with upper-limb loss, these simple activities can become significant challenges that affect independence, confidence, and quality of life. While modern prosthetic technology has advanced considerably, many solutions remain prohibitively expensive, difficult to customize, or inaccessible to students, researchers, and people in developing regions. Devices that offer advanced functionality often cost thousands of dollars, creating a gap between innovation and accessibility. Prosthetic Arm V1 is an attempt to bridge that gap. The goal of this project is to design a lightweight, modular, and affordable prosthetic arm that can be manufactured using 3D printing and standard electronic components. Rather than focusing solely on appearance, the design prioritizes practical functionality, durability, and ease of maintenance. Current Objectives Design an anatomically inspired finger and joint mechanism. Develop smooth and reliable tendon-driven motion. Create a modular structure that allows individual parts to be replaced or upgraded. Keep manufacturing costs as low as possible without sacrificing functionality. Build a foundation for future versions with improved dexterity and sensor integration. Progress Today, I completed the initial CAD model for one of the fingers and started testing the joint geometry. The focus is on achieving a balance between strength, range of motion, and ease of assembly before moving on to full-hand integration. This is only Version 1, and there is still a long way to go, but every iteration brings the project one step closer to creating an accessible prosthetic solution that anyone can build, improve, and use. Next milestone: Complete the middle finger and begin integrating the tendon routing system.
Devlog2 : Unbound bionix, Update: last devlog I was finished with the index finger dimensions well I just printed index finger to confirm movement and it’s moving as expected, I also Made the middle finger design by editing sketch of index finger but fixing the hole sliding issue, failures: I encountered multiple failures planning the design of index finger, but I did make it work and I am really happy for that, what is left? designing all fingers and thumb according to their dimensions and then designing the palm and forearm respectively and then moving on to the electronics part session pic: here is one session pic where I show the assembled middle finger design, for the middle finger the proximal phalange is 5 cm long, the distal phalange is 2 cm and the middle phalange is 3 cm!
Devlog 3 : Bionix Ring finger design has been done and assembled in a sepearate folder I did not face any problems while making this design, Only pinky finger and thumb are left then I will start with palm and forearm respectively!
Devlog 4: I was already done with 2 fingers earlier, I made the 3rd one today and I used Ai to build the pinky and thumb finger as it was just copying the dimensions editing the sketch and fixing the hole problem What I set out to build : I wanted to complete the fingers in this session which I did achieve + I am done with palm’s basic layout and structure planning, In next session I will be improving and finalising the palm assembling all of it together for once to check it all fits then work on the forearm
devlog 5 or 4 i honestly dont remember lol: I am done with the Palm!!!! and I also assembled the fingers to check !!! yes lets goo!! Printing the index finger tomorrow
Devlog: Final Engineering Push – Kinematics, Power Architecture, and Assembly Readiness Date: June 19, 2026 Status: Design Locked / Fabrication Ready The past several intensive engineering sessions have brought Bionix from a conceptual CAD model to a fully robust, physically viable electro-mechanical prototype. With the core palm and phalange geometry finalized, power distribution mapped out, and the bill of materials optimized, the project is officially ready for the physical fabrication and assembly phase. ⚙️ Mechanical Engineering & Kinematics The primary mechanical challenge for a tendon-driven bionic hand is managing friction and preventing catastrophic mechanical failure during repeated flexion cycles. We entirely overhauled the internal routing and joint mechanisms to achieve competition-grade reliability. Frictionless Revolute Joints: We stripped out the threaded M2 screws from the phalange joints. The joints have been re-engineered to accept smooth 2.2mm solid brass dowel pins , providing a low-friction, high-strength pivot point that ensures fluid finger movement. Optimized Flexion Routing (The Active Grip): To eliminate the “bowstring” effect, we redesigned the entry tunnels on the palm. The four main finger tension lines now enter the palm cavity via perfectly aligned tunnels featuring a -10° downward draft angle . This forces the high-tensile braided line flush against the joint grooves, maximizing servo leverage. All sharp 90-degree channel exits were filleted into smooth “trumpet flares” to prevent the threads from shearing under load. Antagonistic Elastic Extension (Passive Return): For the fingers to snap back open instantaneously when the servos release, we implemented an external elastic extensor system. We modeled a Unified Wrist Anchor block at the base of the palm. 1mm shock cord anchors at the fingertips, routes seamlessly over the knuckles, and ties off securely at the base of the palm, providing the exact passive tension required for a lifelike, snappy release. Removable Maintenance Hatch: The palm features a custom-traced, screw-mounted top plate with a generous cutout for full thumb articulation. This protects the internal servo array while allowing rapid access for tension-line adjustments. ⚡ Electronics & Power Architecture Running five high-torque micro servos simultaneously while reading delicate analog muscle signals requires isolating the high-current demands of the actuators from the logic board. Main Controller: The system is governed by a Raspberry Pi Pico (RP2040), chosen for its robust hardware PWM processing capabilities. Power Distribution: A 7.4V 2S Li-ion battery serves as the primary power source. This is routed through a high-efficiency 5V Buck Converter (rated for ≥3 Amps) directly to the servo power rails. The Pico is powered safely without having to sink the massive stall currents generated when the hand grips an object. A 1000uF decoupling capacitor bridges the 5V rail to smooth out transient voltage spikes. Biometric Input: We integrated the MyoWare 2.0 muscle sensor, passing raw electromyography (EMG) signals directly to the Pico’s ADC0 (GPIO26) pin.
Update on Bionix I am finished with my basic hand structure i printed it irl and saw some errors and then fixed it in CAD next is to work on the thread routing channels!! keep following and checking out my github
OH MY DAYS! I MOVED A SERVO FROM MY MUSCLE SIGNALS! this is definetely my lifes greatest achievement ok so I used electrodes and muscle sensor and wrote some basic code to move the servo based on muscle sensors output! I printed bionix a lot of times reiterated designs added arches in fingers for thread routing curled the index finger too! too much achieved im proud of myself! ### Lets Keep Rocking!
I could not make the full project but Now I am going to submit the design and I have made some changes in code which I will be commiting in a day
Ships:
Bionix, A prosthetic hand that works from design to circuit everything...
|
1793152565.0555813
|
1793238965.0555813
|
|
61188
|
daily journal by @willexists | Stardance
|
willexists
|
1
|
6.0
|
22
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T18:06:38Z", "hours": 6.0, "multiplier": 3.45, "payout": 22, "blessing": "neutral", "text": "the daily journal app (reviewers, the css being bare (kinda) is a stylistic choice) so studies show that journaling helps with mental health, so yay it is complete with reporting, status, likes, comments, and more :)", "repo": "https://github.com/ooowillexistsooo/journal", "demo": "https://journal.willexists.space/"}]...
|
[{"post_id": 74101, "ts": "202 [{"post_id": 74101, "ts": "2026-09-26T17:57:26Z", "hours": 0.2833, "text": "i added a readme"}, {"post_id": 74095, "ts": "2026-09-26T17:39:26Z", "hours": 0.3336, "text": "added a site status"}, {"post_id": 74080, "ts": "2026-09-26T17:08:49Z", "hours": 1.0664, "text": "admin stuff, you can now report"}, {"post_id": 73433, "ts": "2026-09-25T02:33:51Z", "hours": 0.8836, "text": "i added comments and likes .heyAreYouSingle()"}, {"post_id": 72952, "ts": "2026-09-24T03:01:34Z", "hours": 0.4581, "text": "added profile editing (turns out it was more simple than i thought it would be…. its probably gonna break isn’t it…) peach sundaes are delicious bro"}, {"post_id": 71944, "ts": "2026-09-21T20:29:16Z", "hours": 0.4736, "text": "some database stuff happened"}, {"post_id": 70122, "ts": "2026-09-18T14:44:00Z", "hours": 0.6861, "text": "you can post now"}, {"post_id": 69394, "ts": "2026-09-16T23:41:23Z", "hours": 0.8378, "text": "you can log in now!!! im using supabase auth so thats cool also dont mind the email limit being exceeded its fine"}, {"post_id": 67677, "ts": "2026-09-13T20:47:07Z", "hours": 1.4036, "text": "im making an app where you just write a daily journal and read other people’s, yeah pretty simple. added a few static pages (the home menu, sign up(gonna make the database now yayaya) code of conduct, and a place to put stuff i use)"}]...
|
Title: daily journal by @willexists | Stardance
D Title: daily journal by @willexists | Stardance
Devlogs:
im making an app where you just write a daily journal and read other people’s, yeah pretty simple. added a few static pages (the home menu, sign up(gonna make the database now yayaya) code of conduct, and a place to put stuff i use)
you can log in now!!! im using supabase auth so thats cool also dont mind the email limit being exceeded its fine
you can post now
some database stuff happened
added profile editing (turns out it was more simple than i thought it would be…. its probably gonna break isn’t it…) peach sundaes are delicious bro
i added comments and likes .heyAreYouSingle()
admin stuff, you can now report
added a site status
i added a readme
Ships:
the daily journal app (reviewers, the css being bare (kinda) is a stylistic choice) so studies show that journaling helps with mental health, so yay it is complete with reporting, status, likes, comments, and more :)...
|
1793209679.6500497
|
1793296079.6500497
|
|
43641
|
JJK Minecraft Mod by @qstorm | Stardance
|
qstorm
|
1
|
157.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T18:29:09Z", "hours": 157.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "FULL SHOWCASE HERE This is a Minecraft mod based on the power system from Jujitsu Kaisen. It contains a combo system where if you press a number of keys in the right order, the power will activate. as well as lots of room for expansion with other powers thanks to how it’s built. Currently there are 5 functional abilities: The innate technique which slows down entities around the player; the blue technique which attracts entities to a ball; the red technique which repels enemies away from the user; the purple technique which destroys everything in it’s path; and the domain which sends enemies to a dimension where they are unable to do anything At first I had just planned on using this project as a blank slate to learn how to mod Minecraft, but eventually I got inspired to make more interesting things, and it led to me making one of my personal favorite fictional power systems, the JJK cursed techniques. It took a while to figure things out, I spend many hours looking through Minecraft source code and other peoples code as well as tutorials but eventually I figured out how to do different things. This was easily the most challenging part of the project, compared to a mathematically intensive project like openGL. I’m proud of so many things with this project. For one it is the first fun project I made (both to code and to play). I also made very good code. After studying Minecraft code and making tons of mistakes, I eventually learned how to make code that was both expandable and readable. I believe that given another week, I would have been able to create 5 other abilities. If you want to try the project, make sure to look through the readMe and install the mod on the 1.21.11M branch. The README provides critical information about how to use and install the mod.", "repo": "https://github.com/qstorm1/PracticeMod/tree/1.21.11M", "demo": "https://modrinth.com/project/jjk-abilities/settings/versions"}]...
|
[{"post_id": 74103, "ts": "202 [{"post_id": 74103, "ts": "2026-09-26T17:59:56Z", "hours": 0.5408, "text": "Build and Read me update"}, {"post_id": 74084, "ts": "2026-09-26T17:10:20Z", "hours": 4.5536, "text": "JJK Mod in minecraft This is the final devlog here is a youtube link to the showcase: Showcase After finishing the backend, I got a lot of progress done! I recommend watching the showcase but I managed to easily get all the abilities to a semi functional state. Thanks to the hard work of previous me, this wasn’t a hard task and I had no major problems. One interesting thing I did was how I worked with red. I used dot products to make red more usable, it actually pushes enemies back like in the show if they are in the same area as the direction red is moving. Other then that the systems were pretty easy to make. A big reason it took so long to get here was because I had no idea how to mod. Unfortunately in order to get everything done today, I had to cut a few corners, meaning that the power renderer is still a particle system. I could go on and on about what i want to add though (that will be in the ship) so I’ll just end it here"}, {"post_id": 73911, "ts": "2026-09-26T09:41:04Z", "hours": 11.1103, "text": "Near completion! It’s weird getting a feeling of satisfaction when deleting the most important part of my code. Thats what I felt when deleting the static variables that stored my data. All of the internal systems are now working and my code is so much cleaner. Now entity data is saved successfully, if you die, leave the world or exit the game. In order to do this I had to learn how to use interfaces well. Turns out casting is a lot more useful then one might expect. You can cast interfaces into classes and vise versa and you can use interfaces with getter and setter methods to get data from classes. I always though interfaces were a useless thing that people use to make better looking code but they are helpful. Anyway, I faced a few major bugs throughout the transition into CCA, the main one being the fact that I had to put an entrypoint in the fabric.mod.json file to render entities. It took a long time and I only found it because of some random reddit thread I found. The main issue was that when I implemented an interface, it was supposed to save data for that class in all entities. Heres a tip, if something is wrong and you can’t find the issue, think about whats happening under the hood. For me, I assumed that the entity data would automatically be initialized but interfaces can’t do that. I’m probably explaining it wrong (I’m a little tired rn with coding and college apps). Anyway, theres a lot more I want to do and I wish that stardance had lasted another week so that I could show you all my cool Ideas. I’ll make the final devlog and ship my project later today. So hopefully it works well :D (I worked on a lot of other stuff in these 10 hours but none are finished enough to devlog about; images have a peak)"}, {"post_id": 72944, "ts": "2026-09-24T02:46:16Z", "hours": 11.0214, "text": "Finished Cardinal Component re-design. It was really weird to get it working because I needed to use an interface and cast variables which I used to avoid doing. Nothing new unfortunately, next update will go into more detail on how I did this! (with new system this /stats command works :D)"}, {"post_id": 71437, "ts": "2026-09-20T20:24:18Z", "hours": 9.7322, "text": "Sorry, this update will probably be really boring. I’ve been sick for the past 3ish days but have still been trying to code. Unfortunately, that means most of my code is pretty bad. The basic rundown of what’s been happening is a realization that player data was being handled really stupidly. I wasn’t even saving things to files meaning once the server shut down, all the information would be deleted. Now I thought at first I could pretty easily deal with this after finishing the mod so I ignored it, but then I started having issues that came from synchronization with client and server. To those of you who looked at my previous devlogs, you can see that I constantly rewrote a lot of my code. This is because sometimes the client and server use the same static variables while other times they don’t. As a result of these two things, I decided to use a library to handle it called Cardinal Components. For most of my coding projects I’ve always wanted to ignore libraries to the best of my abilities and make stuff myself. I believe it’s a good to learn how the internals of a system work but the problem with me was that I would always stay low level. As I learned more about minecraft development, I learned how important it is to have both high and low level skills in order to make bigger projects. There will probably be only 2 or 3 more devlogs before I ship so I’ll try to get as much cool stuff done before then as possible. Big things are coming!"}, {"post_id": 69112, "ts": "2026-09-16T12:12:50Z", "hours": 10.1767, "text": "Limitless Innate Upgrades [upgrades showcase] ( https://youtu.be/m7zWsrxv2mA ) uh the devlog link is broken lol (or im just bad idk). I could talk about the things that I worked on behind the scenes unrelated to the innate upgrades but that’s very boring and I talked about them before, the main thing that I fixed was the handling of non-Living Entities with the limitless innate. Basically I used mixins to edit the move code as well as added some things to the client code. I talked a lot about how this worked in a previous devlog, but it took a lot of reading and understanding code to learn how to fix it. Unfortunately my command blocks were broken so I couldn’t showcase the projectile innate system, but otherwise most of the info is in the video"}, {"post_id": 67057, "ts": "2026-09-13T03:11:16Z", "hours": 10.8842, "text": "MY CODE IS SO TRASH! I was working on fixing my innate technique for limitless. The bug in question was an issue where falling non-living entities would end up rubber-banding before sometimes hitting the ground. (I’m not making a showcase video for this use the screenshot and ur imagination) The issue ended up being due to 2 things, one was that minecraft runs the move() function right after applyGravity() so my code would never get the chance to change the gravity. The second was the fact that move() calls are run both by the server and client. The first issue was relatively simple to fix, I just had to learn about advanced mixins and using @ModifyVariable correctly. However the second issue meant that I either had to send a ton of data with packets, or I could do what I had always wanted to do but knew it would take forever… code in client side compatibility. Anyway as of right now I am “almost” done with getting it working. I swear one of these days I am going to share something cool. probably next update or the one after, it’ll come out by Monday if I lock in."}, {"post_id": 65123, "ts": "2026-09-10T01:16:08Z", "hours": 9.3792, "text": "Blue Kinda Works! Video Showcase The showcase above includes some of the older versions, skip to 0:40 for official version (it was lagging at the time of recording though) The hardest part of this step was the value adjustments. Given my mod gives each player a random value for cursed energy and , a player needs to feel the diffrence between a weak sorcerer and a strong one. I’ll probably continue tweaking the settings for blue until I believe it is good enough. Anyway right now blue isn’t very complicated, it just detects all entities in a certain radius and gives them a velocity based on the gravitational force which is calculated based on radius and constants. I tried using the real life equations but had trouble with them. Finally, in case your wondering, I am planning on switching the particle renderer that is super laggy with a LWJGL openGL sphere renderer or maybe a block display but in order to do that I need to get good at rendering and make a client linear interpolate to simulate smooth movement and overall I really don’t want to but its gotta happen. Next update will either be a finished blue, or me whining about how trash my code is"}, {"post_id": 62746, "ts": "2026-09-06T08:09:20Z", "hours": 9.1467, "text": "I got the first power to work! you can find a showcase here: https://youtu.be/t6oah7P1Fyk it may not seem like much, but this means the lower level systems are working, and I can start focusing on making cool stuff. Other then that I also made the combo system more advanced by having it so u can run actions mid combo and you can detect how fast you did the combo. There are a few more things I want to add to the combo system and tbh I thought about re-coding it again (which is a pretty annoying habit that I’ve gotten #OCD) Next update if I can do it in under 10 hours is gonna be really cool and probably coming tomorrow, following might let u see it earlier :D"}, {"post_id": 61210, "ts": "2026-09-04T01:08:40Z", "hours": 6.9719, "text": "I finalized the system! The idea is that most of the boring stuff happens in semi-abstract classes like the Sorcery class and the Ability class, which handle server side management and universal methods. Meanwhile, I can initialize real logic through child classes such as the Limitless calss which extends sorcery or the Blue class which extends Ability. I copied the idea from minecrafts Entity system. I’ve also managed to get nearly all of the key binds to work including scrolling (I used a mixin for scrolling). A lot of the hours that were described in this update actually ended up in the previous devlog so in reality it took about 9ish hours of work. Anyway, mostly a programming update, but next time I’m going to start actually adding powers to my modpack!"}, {"post_id": 60678, "ts": "2026-09-03T06:09:23Z", "hours": 14.2872, "text": "The hud system is officially complete! I meant to post this devlog earlier but I had some problems :/ I spent a ton of time figuring out how to render images and I realized it was much easier to just make very specific math that draws lines to the HUD (It doesn’t help that you can’t draw curvy or diagnol lines) I fixed a ton of other problems as well that you can’t read in my commit history I think. This devlog was supposed to be posted a lot earlier but I ended up forgeting to post after writing it lmao. For that reason, I also have to say that the structure of the power system is done and now I’m working on bug fixes as well as making working powers. I really wish I could post a video showing you guys, I’ll try to do so next devlog using something less powerful then OBS. See ya"}, {"post_id": 56835, "ts": "2026-08-28T19:41:22Z", "hours": 10.6292, "text": "The main summery for today is mindless progress, I’ve continued to work on the Hud system for my combo system but faced multiple issues that took hours to fix (hence the lack of progress) for starters, somewhere during my modding jurney, I forgot that identifiers can’t have uppercase letters, leading me to try remaking the system multiple times. Additionally, while in my original system I added hud elements to the registry when updating, and removed hud elements when reseting, in the new system, I replace that with static variables and if loops. If I don’t face any more major bugs, the HUD system should be done by the next devlog!"}, {"post_id": 54766, "ts": "2026-08-25T21:25:00Z", "hours": 9.4258, "text": "I’ve been creating a HUD system, though it’s pretty boring so I get distracted and do other stuff. Anyway the combo system is fully functional. Through this I learned that static maps are completely unnecessary as static variables update in each client side jvm. I won’t get into the implementation of my HUD system or the other stuff I’m working on because they’re unfinished so this is more of a minor update"}, {"post_id": 52729, "ts": "2026-08-23T01:48:59Z", "hours": 9.7422, "text": "I made a combo system! right now it’s really buggy but what it does is similar to street fighter system, you can make a combo and then assign key’s to it. You need to press the key’s in the required number of time for the combo to work. there are a lot of problems with reset rn but the base system is there. Each player has a value called a “combo key” which have a timer that increase by one every tick and resets to 0 when the kye is pressed. these are values that are mapped to each player and only one instance of each key is allowed per player (for better latency and client2server stuff) A combo is created using a bunch of if logic. I used a builder sytem for object creation so instead of new object() you do Combo.build().key1(timeNeeded to press).key2… Each combo can be used for abilities that I’m going to work on next. Speaking about abilities I decided what my mod would be based on, Jujitsu Kaisen! While i’m not a diehard fan of the show, the power system is one of the coolest in all of fiction, so I thought it would be fun to try and implement some abilities (hence the pocket dimention my screenshots are in) anyway, gonna fix the combo system and then work on a simple power see ya!"}, {"post_id": 49994, "ts": "2026-08-19T00:51:50Z", "hours": 4.3547, "text": "Made Laser Eyes! When you click the laser button which you can change in the controls menu, a particle will appear (which is purely visual) and it will make a raycast, targeting the nearest entity/block. It will damage an entity and turn the block into a redstone block (temporary until i feel like making ash). It also works in multiplayer, where the particles are summoned from the eye of the shooter from everyones persepective except the shooter who only sees the beam if a few blocks away that way they don’t get blinded by particles (the pictures use free cam and i have no friends so I can’t show this but u can see how it works in the code) My project didn’t have documentation so it was difficult figuring out how to make a raycast (combination of .clip and .getEntityHitResult) and how to tell if the player really pressed the laser button which requires client to server packet management."}, {"post_id": 49285, "ts": "2026-08-18T00:21:25Z", "hours": 3.7019, "text": "the first devlog has a large number of hours on it because of some issues with git and project stuff (you didn’t miss any updates other then reading don’t worry), Anyway, I’m chilling in my new dimention with my new potion effect that I get after using a new item (with iron helmet texture cause i’m bad). I’ve been trying to get a raycasting system to work I just wanted to update the project so that my hours can be counted correctely, future update coming soon!"}, {"post_id": 44947, "ts": "2026-08-11T01:33:50Z", "hours": 21.76, "text": "I looked through minecrafts source code, The version of minecraft I am coding is 1.21.11 and on fabric there are two “mappings” or interpretations of minecrafts source code. the first version is the community one called yarn which was the one that I was planning on using when I was watching a tutorial series on Youtube however the documentation uses the other mappings called the “mojang mappings”. I switched to the mojang mappings and looked through minecrafts source code using that. I figured out how to handle terrain generation, add new things to minecrafts registry system, and access player data. My next goal is to look through some real applications of mods and this is how I recommend others who are interested to do so to!"}]...
|
Title: JJK Minecraft Mod by @qstorm | Stardance
D Title: JJK Minecraft Mod by @qstorm | Stardance
Devlogs:
I looked through minecrafts source code, The version of minecraft I am coding is 1.21.11 and on fabric there are two “mappings” or interpretations of minecrafts source code. the first version is the community one called yarn which was the one that I was planning on using when I was watching a tutorial series on Youtube however the documentation uses the other mappings called the “mojang mappings”. I switched to the mojang mappings and looked through minecrafts source code using that. I figured out how to handle terrain generation, add new things to minecrafts registry system, and access player data. My next goal is to look through some real applications of mods and this is how I recommend others who are interested to do so to!
the first devlog has a large number of hours on it because of some issues with git and project stuff (you didn’t miss any updates other then reading don’t worry), Anyway, I’m chilling in my new dimention with my new potion effect that I get after using a new item (with iron helmet texture cause i’m bad). I’ve been trying to get a raycasting system to work I just wanted to update the project so that my hours can be counted correctely, future update coming soon!
Made Laser Eyes! When you click the laser button which you can change in the controls menu, a particle will appear (which is purely visual) and it will make a raycast, targeting the nearest entity/block. It will damage an entity and turn the block into a redstone block (temporary until i feel like making ash). It also works in multiplayer, where the particles are summoned from the eye of the shooter from everyones persepective except the shooter who only sees the beam if a few blocks away that way they don’t get blinded by particles (the pictures use free cam and i have no friends so I can’t show this but u can see how it works in the code) My project didn’t have documentation so it was difficult figuring out how to make a raycast (combination of .clip and .getEntityHitResult) and how to tell if the player really pressed the laser button which requires client to server packet management.
I made a combo system! right now it’s really buggy but what it does is similar to street fighter system, you can make a combo and then assign key’s to it. You need to press the key’s in the required number of time for the combo to work. there are a lot of problems with reset rn but the base system is there. Each player has a value called a “combo key” which have a timer that increase by one every tick and resets to 0 when the kye is pressed. these are values that are mapped to each player and only one instance of each key is allowed per player (for better latency and client2server stuff) A combo is created using a bunch of if logic. I used a builder sytem for object creation so instead of new object() you do Combo.build().key1(timeNeeded to press).key2… Each combo can be used for abilities that I’m going to work on next. Speaking about abilities I decided what my mod would be based on, Jujitsu Kaisen! While i’m not a diehard fan of the show, the power system is one of the coolest in all of fiction, so I thought it would be fun to try and implement some abilities (hence the pocket dimention my screenshots are in) anyway, gonna fix the combo system and then work on a simple power see ya!
I’ve been creating a HUD system, though it’s pretty boring so I get distracted and do other stuff. Anyway the combo system is fully functional. Through this I learned that static maps are completely unnecessary as static variables update in each client side jvm. I won’t get into the implementation of my HUD system or the other stuff I’m working on because they’re unfinished so this is more of a minor update
The main summery for today is mindless progress, I’ve continued to work on the Hud system for my combo system but faced multiple issues that took hours to fix (hence the lack of progress) for starters, somewhere during my modding jurney, I forgot that identifiers can’t have uppercase letters, leading me to try remaking the system multiple times. Additionally, while in my original system I added hud elements to the registry when updating, and removed hud elements when reseting, in the new system, I replace that with static variables and if loops. If I don’t face any more major bugs, the HUD system should be done by the next devlog!
The hud system is officially complete! I meant to post this devlog earlier but I had some problems :/ I spent a ton of time figuring out how to render images and I realized it was much easier to just make very specific math that draws lines to the HUD (It doesn’t help that you can’t draw curvy or diagnol lines) I fixed a ton of other problems as well that you can’t read in my commit history I think. This devlog was supposed to be posted a lot earlier but I ended up forgeting to post after writing it lmao. For that reason, I also have to say that the structure of the power system is done and now I’m working on bug fixes as well as making working powers. I really wish I could post a video showing you guys, I’ll try to do so next devlog using something less powerful then OBS. See ya
I finalized the system! The idea is that most of the boring stuff happens in semi-abstract classes like the Sorcery class and the Ability class, which handle server side management and universal methods. Meanwhile, I can initialize real logic through child classes such as the Limitless calss which extends sorcery or the Blue class which extends Ability. I copied the idea from minecrafts Entity system. I’ve also managed to get nearly all of the key binds to work including scrolling (I used a mixin for scrolling). A lot of the hours that were described in this update actually ended up in the previous devlog so in reality it took about 9ish hours of work. Anyway, mostly a programming update, but next time I’m going to start actually adding powers to my modpack!
I got the first power to work! you can find a showcase here: https://youtu.be/t6oah7P1Fyk it may not seem like much, but this means the lower level systems are working, and I can start focusing on making cool stuff. Other then that I also made the combo system more advanced by having it so u can run actions mid combo and you can detect how fast you did the combo. There are a few more things I want to add to the combo system and tbh I thought about re-coding it again (which is a pretty annoying habit that I’ve gotten #OCD) Next update if I can do it in under 10 hours is gonna be really cool and probably coming tomorrow, following might let u see it earlier :D
Blue Kinda Works! Video Showcase The showcase above includes some of the older versions, skip to 0:40 for official version (it was lagging at the time of recording though) The hardest part of this step was the value adjustments. Given my mod gives each player a random value for cursed energy and , a player needs to feel the diffrence between a weak sorcerer and a strong one. I’ll probably continue tweaking the settings for blue until I believe it is good enough. Anyway right now blue isn’t very complicated, it just detects all entities in a certain radius and gives them a velocity based on the gravitational force which is calculated based on radius and constants. I tried using the real life equations but had trouble with them. Finally, in case your wondering, I am planning on switching the particle renderer that is super laggy with a LWJGL openGL sphere renderer or maybe a block display but in order to do that I need to get good at rendering and make a client linear interpolate to simulate smooth movement and overall I really don’t want to but its gotta happen. Next update will either be a finished blue, or me whining about how trash my code is
MY CODE IS SO TRASH! I was working on fixing my innate technique for limitless. The bug in question was an issue where falling non-living entities would end up rubber-banding before sometimes hitting the ground. (I’m not making a showcase video for this use the screenshot and ur imagination) The issue ended up being due to 2 things, one was that minecraft runs the move() function right after applyGravity() so my code would never get the chance to change the gravity. The second was the fact that move() calls are run both by the server and client. The first issue was relatively simple to fix, I just had to learn about advanced mixins and using @ModifyVariable correctly. However the second issue meant that I either had to send a ton of data with packets, or I could do what I had always wanted to do but knew it would take forever… code in client side compatibility. Anyway as of right now I am “almost” done with getting it working. I swear one of these days I am going to share something cool. probably next update or the one after, it’ll come out by Monday if I lock in.
Limitless Innate Upgrades [upgrades showcase] ( https://youtu.be/m7zWsrxv2mA ) uh the devlog link is broken lol (or im just bad idk). I could talk about the things that I worked on behind the scenes unrelated to the innate upgrades but that’s very boring and I talked about them before, the main thing that I fixed was the handling of non-Living Entities with the limitless innate. Basically I used mixins to edit the move code as well as added some things to the client code. I talked a lot about how this worked in a previous devlog, but it took a lot of reading and understanding code to learn how to fix it. Unfortunately my command blocks were broken so I couldn’t showcase the projectile innate system, but otherwise most of the info is in the video
Sorry, this update will probably be really boring. I’ve been sick for the past 3ish days but have still been trying to code. Unfortunately, that means most of my code is pretty bad. The basic rundown of what’s been happening is a realization that player data was being handled really stupidly. I wasn’t even saving things to files meaning once the server shut down, all the information would be deleted. Now I thought at first I could pretty easily deal with this after finishing the mod so I ignored it, but then I started having issues that came from synchronization with client and server. To those of you who looked at my previous devlogs, you can see that I constantly rewrote a lot of my code. This is because sometimes the client and server use the same static variables while other times they don’t. As a result of these two things, I decided to use a library to handle it called Cardinal Components. For most of my coding projects I’ve always wanted to ignore libraries to the best of my abilities and make stuff myself. I believe it’s a good to learn how the internals of a system work but the problem with me was that I would always stay low level. As I learned more about minecraft development, I learned how important it is to have both high and low level skills in order to make bigger projects. There will probably be only 2 or 3 more devlogs before I ship so I’ll try to get as much cool stuff done before then as possible. Big things are coming!
Finished Cardinal Component re-design. It was really weird to get it working because I needed to use an interface and cast variables which I used to avoid doing. Nothing new unfortunately, next update will go into more detail on how I did this! (with new system this /stats command works :D)
Near completion! It’s weird getting a feeling of satisfaction when deleting the most important part of my code. Thats what I felt when deleting the static variables that stored my data. All of the internal systems are now working and my code is so much cleaner. Now entity data is saved successfully, if you die, leave the world or exit the game. In order to do this I had to learn how to use interfaces well. Turns out casting is a lot more useful then one might expect. You can cast interfaces into classes and vise versa and you can use interfaces with getter and setter methods to get data from classes. I always though interfaces were a useless thing that people use to make better looking code but they are helpful. Anyway, I faced a few major bugs throughout the transition into CCA, the main one being the fact that I had to put an entrypoint in the fabric.mod.json file to render entities. It took a long time and I only found it because of some random reddit thread I found. The main issue was that when I implemented an interface, it was supposed to save data for that class in all entities. Heres a tip, if something is wrong and you can’t find the issue, think about whats happening under the hood. For me, I assumed that the entity data would automatically be initialized but interfaces can’t do that. I’m probably explaining it wrong (I’m a little tired rn with coding and college apps). Anyway, theres a lot more I want to do and I wish that stardance had lasted another week so that I could show you all my cool Ideas. I’ll make the final devlog and ship my project later today. So hopefully it works well :D (I worked on a lot of other stuff in these 10 hours but none are finished enough to devlog about; images have a peak)
JJK Mod in minecraft This is the final devlog here is a youtube link to the showcase: Showcase After finishing the backend, I got a lot of progress done! I recommend watching the showcase but I managed to easily get all the abilities to a semi functional state. Thanks to the hard work of previous me, this wasn’t a hard task and I had no major problems. One interesting thing I did was how I worked with red. I used dot products to make red more usable, it actually pushes enemies back like in the show if they are in the same area as the direction red is moving. Other then that the systems were pretty easy to make. A big reason it took so long to get here was because I had no idea how to mod. Unfortunately in order to get everything done today, I had to cut a few corners, meaning that the power renderer is still a particle system. I could go on and on about what i want to add though (that will be in the ship) so I’ll just end it here
Build and Read me update
Ships:
FULL SHOWCASE HERE This is a Minecraft mod based on the power system from Jujitsu Kaisen. It contains a combo system where if you press a number of keys in the right order, the power will activate. as well as lots of room for expansion with other powers thanks to how it’s built. Currently there are 5 functional abilities: The innate technique which slows down entities around the player; the blue technique which attracts entities to a ball; the red technique which repels enemies away from the user; the purple technique which destroys everything in it’s path; and the domain which sends enemies to a dimension where they are unable to do anything At first I had just planned on using this project as a blank slate to learn how to mod Minecraft, but eventually I got inspired to make more interesting things, and it led to me making one of my personal favorite fictional power systems, the JJK cursed techniques. It took a while to figure things out, I spend many hours looking through Minecraft source code and other peoples code as well as tutorials but eventually I figured out how to do different things. This was easily the most challenging part of the project, compared to a mathematically intensive project like openGL. I’m proud of so many things with this project. For one it is the first fun project I made (both to code and to play). I also made very good code. After studying Minecraft code and making tons of mistakes, I eventually learned how to make code that was both expandable and readable. I believe that given another week, I would have been able to create 5 other abilities. If you want to try the project, make sure to look through the readMe and install the mod on the 1.21.11M branch. The README provides critical information about how to use and install the mod....
|
1793339603.2903702
|
1793426003.2903702
|
|
8982
|
vipad by @tymon3310 | Stardance
|
tymon3310
|
1
|
5.29
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T18:53:23Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So vipad is 4x4 2xknob and oled macropad powered by vial (fork of qmk) - so the name is from VI(al)macro(PAD) - vipad. I chose vial instead of mainline qmk bc i have experience with it (ported all keychron kebs to it)", "repo": "https://github.com/Tymon3310/vipad", "demo": ""}]...
|
[{"post_id": 74107, "ts": "202 [{"post_id": 74107, "ts": "2026-09-26T18:08:47Z", "hours": 4.2864, "text": "It works!!!"}, {"post_id": 9389, "ts": "2026-06-15T18:50:48Z", "hours": 0.4183, "text": "so the hardware is complected, i will make fw more polished after i build it."}, {"post_id": 3849, "ts": "2026-06-06T22:20:50Z", "hours": 0.4219, "text": "so almost everything done, but fusion is crashing on export, sooooo lets wait"}]...
|
Title: vipad by @tymon3310 | Stardance
Devlogs:
s Title: vipad by @tymon3310 | Stardance
Devlogs:
so almost everything done, but fusion is crashing on export, sooooo lets wait
so the hardware is complected, i will make fw more polished after i build it.
It works!!!
Ships:
So vipad is 4x4 2xknob and oled macropad powered by vial (fork of qmk) - so the name is from VI(al)macro(PAD) - vipad. I chose vial instead of mainline qmk bc i have experience with it (ported all keychron kebs to it)...
|
1793270959.1980274
|
1793357359.1980274
|
|
53979
|
Tetr.AI by @caleb_welch | Stardance
|
caleb_welch
|
1
|
25.41
|
401
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T04:54:20Z", "hours": 23.0, "multiplier": 17.26, "payout": 401, "blessing": "neutral", "text": "Tetr.AI This is the first release of Tetr.AI, my first ever reinforcement-learning project built for the Hack Club Stardance YSWS. Tetr.AI includes: A custom built Tetris environment built with PyGame which allows you to train and run your own models as well as just play Tetris A PyTorch neural network Deep-Q-learning Model checkpoint saving and loading Saving of training statistics into a CSV file A graphing script to allow you to visualize how well your model trained Windows and Linux setup scripts Model status The training pipeline is completely functional, but due to time constraints this release won’t contain a model which can play Tetris well. I completed two long duration training experiments during development which revealed problems with reward shaping, epsilon, and sparse rewards. Everything on this is documented in the README. Training and experimentation will continue after stardance", "repo": "https://github.com/sourcream1012/Tetr.AI", "demo": "https://github.com/sourcream1012/Tetr.AI/releases/tag/v1.0.1-stardance"}]...
|
[{"post_id": 74121, "ts": "202 [{"post_id": 74121, "ts": "2026-09-26T18:31:12Z", "hours": 2.4075, "text": "Not to big of a devlog but I added executable files for easy running for this project. Also added a training_config json file to easily change training values."}, {"post_id": 70969, "ts": "2026-09-20T04:09:44Z", "hours": 2.9878, "text": "DEVLOG 8: I think I may ship soon… Ok so I’ve hit a road block. Stardance ends soon which means I don’t really have much time left. My project is a completely working reinforcement learning AI which can play Tetris but not well. Originally I wanted to perfect a model and then ship the project but due to Stardance ending soon I may change that. Recent additions Added the ability to resume training on a model you made at your most recent checkpoint Added setup automation scripts for windows and linux Refined README with a getting started section and more detail in the Model History section to give the project more story Because I’m essentially prepped for shipping and it is a completely working project I will probably ship soon. Wish me luck. The screenshots shown are the results from training Tetr.AI-V2"}, {"post_id": 69842, "ts": "2026-09-17T21:48:57Z", "hours": 4.3036, "text": "DEVLOG 7: more AI training (hint: FAILED) This graph shows the results of my first training session of my AI showing how well the AI does over time through the reward. In total it lasted ~17 hours and its obviously not nearly enough time. The reward is supposed to go up over time, which it is. But not fast enough. Overall it only seems to increase in reward over time just by VERY little. Moving onto the other graph which shows the rows cleared over time. As you can see it never really increases on average. This shows that: MY AI SUCKSSSSSSS My AI is dumb Overall my AI can’t learn and I need to just keep on adjusting numbers over and over again."}, {"post_id": 63361, "ts": "2026-09-07T04:24:31Z", "hours": 2.3192, "text": "DEVLOG 6: actual learning Wow two devlogs in pretty much a day… I need to touch grass… But that is not the point. IT IS FINALLY LEARNING (just very inefficiently) Currently it only learns from two things: How many rows it cleared on a single run Whether or not it sold the game Now pretty much the rest of this project will just be tweaking and experimenting with things. Before I ship I do want to train and release a demo model that you can test locally on your PC ( and I may want to test if it would work on android phones too ) that will come with the project. I also want to make it to where you can create and train your own models and potentially share them with other people. CAN’T WAIT FOR EVERYTHING TO BE DONE!!!!!!"}, {"post_id": 63183, "ts": "2026-09-06T21:02:14Z", "hours": 1.6347, "text": "DEVLOG 5: Random movements An update from my previous devlog where I started learning pytorch. I have not learned pytorch to the point to where I can explain everything down to its finest details but enough to make my “AI” do some random junk with no direction. Pretty much I’m just initializing random weights and letting it go. I have 200 input neurons for my 20x10 board. The video I attached below shows the AI just doing some random stuff like rotating non stop and moving left and right."}, {"post_id": 61233, "ts": "2026-09-04T02:07:36Z", "hours": 3.1531, "text": "DEVLOG 4: The beginning of learning PyTorch & Working AI-Tetris-Environment Pretty much the title sums up what I’ve been doing for the past 3h and 9m of this. I have some prior knowledge of the basics of machine learning ( from The Nature Of Code by Daniel Shiffman awesome book about coding would recommend ) by making a single layer perceptron ( basically a single neuron algorithm ) that can separate linearly separable data. I attempted to make a multi layered perceptron which actually puts the network in neural network. But I got stuck on back propagation. I don’t really know what to put as the picture for this devlog so I’ll just show a visualization of a neural network."}, {"post_id": 58338, "ts": "2026-08-30T18:37:11Z", "hours": 2.1031, "text": "DEVLOG 3: TETRIS ✅ THE TETRIS GAME IS PRETTY MUCH COMPLETE (besides some finishing touches) the game is completely playable with: Moving pieces with arrow keys Rotating pieces Deleting rows And the game restarts after there is no more valid places to go So pretty much complete. Now it is time to dive into the deep waters that is… NEURAL NETWORKS Oh boy this is going to be fun (and hard). I already know that the kind of training that I have to do for this is reinforcement learning . Which basically is like giving dopamine to your artificial brain when it does something good and giving it a slap in the neck when it does something bad. Which in return it changes its weights based on its previous performance. But for the first thing I got to do is set up all of the mumbo jumbo that will actually allow the neural network to see. And I think I have a rough understanding on how I’m going to implement that. Stay tuned on this awesome journey of making an AI play Tetris!"}, {"post_id": 57362, "ts": "2026-08-29T14:21:46Z", "hours": 1.8567, "text": "DEVLOG 2 Ok it’s been a couple days but I’ve added key presses where: - Left Arrow = Piece moves to the left - Right Arrow = Piece moves to the right - Down Arrow = Piece soft drops. - Space Bar = Piece hard drops. Overall it wasn’t that hard to implement but I had this bug where after soft dropping it saves that position to the locked pieces array. Which in return kind of broke the whole game. Here is the broken code block: if event . type == pygame . KEYDOWN : if event . key == pygame . K_LEFT : self . currentPiece . x -= 1 if not validSpace ( self . currentPiece , self . grid ): self . currentPiece . x += 1 lockPiece ( self . currentPiece , self . locked_pos ) The problem was the last line where it says lockPiece ( self . currentPiece , self . locked_pos ) So all I had to do was remove that and it works perfectly. Now I need to make the game rules where if you finish a row it deletes it and then the hardest part… ROTATION."}, {"post_id": 55349, "ts": "2026-08-27T04:09:15Z", "hours": 4.8822, "text": "DEVLOG 1: Basic foundations It took me way longer than it should have but I finally did it. I learned how to use PyGame and now I’m on my way to remaking Tetris. I set up a function that puts a random Tetris shape onto the 2D array that is essentially the one source of truth in Tetris at least that’s how I think of it. With PyGame I then update every frame what it should display based on that 2D array. The picture below shows me spinning up 3 instances of this code working. Currently the blocks don’t do much but I’ll start working on that tomorrow. Plus I really want to get the Tetris remake done quick so I can start building and training the neural network to actually play the game for me."}]...
|
Title: Tetr.AI by @caleb_welch | Stardance
Devlog Title: Tetr.AI by @caleb_welch | Stardance
Devlogs:
DEVLOG 1: Basic foundations It took me way longer than it should have but I finally did it. I learned how to use PyGame and now I’m on my way to remaking Tetris. I set up a function that puts a random Tetris shape onto the 2D array that is essentially the one source of truth in Tetris at least that’s how I think of it. With PyGame I then update every frame what it should display based on that 2D array. The picture below shows me spinning up 3 instances of this code working. Currently the blocks don’t do much but I’ll start working on that tomorrow. Plus I really want to get the Tetris remake done quick so I can start building and training the neural network to actually play the game for me.
DEVLOG 2 Ok it’s been a couple days but I’ve added key presses where: - Left Arrow = Piece moves to the left - Right Arrow = Piece moves to the right - Down Arrow = Piece soft drops. - Space Bar = Piece hard drops. Overall it wasn’t that hard to implement but I had this bug where after soft dropping it saves that position to the locked pieces array. Which in return kind of broke the whole game. Here is the broken code block: if event . type == pygame . KEYDOWN : if event . key == pygame . K_LEFT : self . currentPiece . x -= 1 if not validSpace ( self . currentPiece , self . grid ): self . currentPiece . x += 1 lockPiece ( self . currentPiece , self . locked_pos ) The problem was the last line where it says lockPiece ( self . currentPiece , self . locked_pos ) So all I had to do was remove that and it works perfectly. Now I need to make the game rules where if you finish a row it deletes it and then the hardest part… ROTATION.
DEVLOG 3: TETRIS ✅ THE TETRIS GAME IS PRETTY MUCH COMPLETE (besides some finishing touches) the game is completely playable with: Moving pieces with arrow keys Rotating pieces Deleting rows And the game restarts after there is no more valid places to go So pretty much complete. Now it is time to dive into the deep waters that is… NEURAL NETWORKS Oh boy this is going to be fun (and hard). I already know that the kind of training that I have to do for this is reinforcement learning . Which basically is like giving dopamine to your artificial brain when it does something good and giving it a slap in the neck when it does something bad. Which in return it changes its weights based on its previous performance. But for the first thing I got to do is set up all of the mumbo jumbo that will actually allow the neural network to see. And I think I have a rough understanding on how I’m going to implement that. Stay tuned on this awesome journey of making an AI play Tetris!
DEVLOG 4: The beginning of learning PyTorch & Working AI-Tetris-Environment Pretty much the title sums up what I’ve been doing for the past 3h and 9m of this. I have some prior knowledge of the basics of machine learning ( from The Nature Of Code by Daniel Shiffman awesome book about coding would recommend ) by making a single layer perceptron ( basically a single neuron algorithm ) that can separate linearly separable data. I attempted to make a multi layered perceptron which actually puts the network in neural network. But I got stuck on back propagation. I don’t really know what to put as the picture for this devlog so I’ll just show a visualization of a neural network.
DEVLOG 5: Random movements An update from my previous devlog where I started learning pytorch. I have not learned pytorch to the point to where I can explain everything down to its finest details but enough to make my “AI” do some random junk with no direction. Pretty much I’m just initializing random weights and letting it go. I have 200 input neurons for my 20x10 board. The video I attached below shows the AI just doing some random stuff like rotating non stop and moving left and right.
DEVLOG 6: actual learning Wow two devlogs in pretty much a day… I need to touch grass… But that is not the point. IT IS FINALLY LEARNING (just very inefficiently) Currently it only learns from two things: How many rows it cleared on a single run Whether or not it sold the game Now pretty much the rest of this project will just be tweaking and experimenting with things. Before I ship I do want to train and release a demo model that you can test locally on your PC ( and I may want to test if it would work on android phones too ) that will come with the project. I also want to make it to where you can create and train your own models and potentially share them with other people. CAN’T WAIT FOR EVERYTHING TO BE DONE!!!!!!
DEVLOG 7: more AI training (hint: FAILED) This graph shows the results of my first training session of my AI showing how well the AI does over time through the reward. In total it lasted ~17 hours and its obviously not nearly enough time. The reward is supposed to go up over time, which it is. But not fast enough. Overall it only seems to increase in reward over time just by VERY little. Moving onto the other graph which shows the rows cleared over time. As you can see it never really increases on average. This shows that: MY AI SUCKSSSSSSS My AI is dumb Overall my AI can’t learn and I need to just keep on adjusting numbers over and over again.
DEVLOG 8: I think I may ship soon… Ok so I’ve hit a road block. Stardance ends soon which means I don’t really have much time left. My project is a completely working reinforcement learning AI which can play Tetris but not well. Originally I wanted to perfect a model and then ship the project but due to Stardance ending soon I may change that. Recent additions Added the ability to resume training on a model you made at your most recent checkpoint Added setup automation scripts for windows and linux Refined README with a getting started section and more detail in the Model History section to give the project more story Because I’m essentially prepped for shipping and it is a completely working project I will probably ship soon. Wish me luck. The screenshots shown are the results from training Tetr.AI-V2
Not to big of a devlog but I added executable files for easy running for this project. Also added a training_config json file to easily change training values.
Ships:
Tetr.AI This is the first release of Tetr.AI, my first ever reinforcement-learning project built for the Hack Club Stardance YSWS. Tetr.AI includes: A custom built Tetris environment built with PyGame which allows you to train and run your own models as well as just play Tetris A PyTorch neural network Deep-Q-learning Model checkpoint saving and loading Saving of training statistics into a CSV file A graphing script to allow you to visualize how well your model trained Windows and Linux setup scripts Model status The training pipeline is completely functional, but due to time constraints this release won’t contain a model which can play Tetris well. I completed two long duration training experiments during development which revealed problems with reward shaping, epsilon, and sparse rewards. Everything on this is documented in the README. Training and experimentation will continue after stardance...
|
1793152517.067659
|
1793238917.067659
|
|
66107
|
Cassette beasts wiki by @willowmovit | Stardance
|
willowmovit
|
0
|
1.55
|
0
|
[]
|
[{"post_id": 74122, "ts": "202 [{"post_id": 74122, "ts": "2026-09-26T18:32:11Z", "hours": 1.5536, "text": "I got it to be editable!"}]...
|
Title: Cassette beasts wiki by @willowmovit | Star Title: Cassette beasts wiki by @willowmovit | Stardance
Devlogs:
I got it to be editable!...
|
1793094693.6088083
|
1793699493.6088083
|
|
65919
|
My very own WebOS by @Zuffii | Stardance
|
Zuffii
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T05:48:58Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my very own WebOS. Well just version 1 now. I always wanted my very own web and I always loved how apple designs its OS and website. So naturally, I combined the both to make LumenOS", "repo": "https://github.com/Zuffii/lumenos", "demo": "https://zuffii.github.io/lumenos/"}]...
|
[{"post_id": 74136, "ts": "202 [{"post_id": 74136, "ts": "2026-09-26T18:54:16Z", "hours": 0.5333, "text": "devlog #3 — the island era i put a dynamic island in the top of the screen, like the iphone. it’s a black pill that sits over the menu bar and morphs: the bigger news: the music is real . i didn’t want to embed mp3 files so the music app synthesizes lo-fi loops with the WebAudio api — triangle wave chords, a sine bass, random pentatonic notes sprinkled on top, plus a looped noise buffer filtered down for vinyl hiss. there are 3 “tracks” (bpm + chord progressions) and a live frequency visualizer on a canvas. no files, no copyright, just math. also added: settings app — 4 gradient wallpapers, 4 accent colors (the island equalizer, dock dots, progress bars all recolor), saved to localStorage, plus a factory reset button links app — grid of glass cards terminal got an open command, so open settings launches apps island notifications wired into notes, terminal and settings that wraps version 1.0. one html file, no frameworks, no login, and it actually feels like an os. on to WebOS 2 🚀"}, {"post_id": 74110, "ts": "2026-09-26T18:15:12Z", "hours": 0.6, "text": "devlog #2 — window manager arc the os grew a real window system . everything is managed from one createWindow(app) function, so adding a new app is just adding an object with a name, an icon and a render function. what’s new: 3 apps now: about, notes, terminal close / minimize / maximize on every window (green button remembers your old size + position and puts it back) windows resize from a corner grip, focus raises them above the others a dock with the mac hover-magnify effect and little dots under running apps — minimized windows can be brought back from there notes autosave to localStorage as you type (“saving…” → “saved ✓”) terminal got a tiny shell: help, neofetch, echo, ls, clear… the dock magnify is just a css transform on hover:"}, {"post_id": 74056, "ts": "2026-09-26T16:32:14Z", "hours": 0.9, "text": "devlog #1 started making my own os that runs in a browser tab. no frameworks, just one html file, because i want to actually understand every line of it. first build has: a boot screen with a logo + loading bar that fades away a frosted menu bar at the top with a live clock an aurora gradient wallpaper (just layered radial-gradients) one glass window (“about.txt”) with mac style traffic lights the fun part was making the window draggable. i used pointer events instead of mouse events so it would also work if someone opens this on a phone. the trick that made it feel smooth: instead of tracking where the mouse is, next up: more windows, real minimize/maximize, and a dock."}]...
|
Title: My very own WebOS by @Zuffii | Stardance
D Title: My very own WebOS by @Zuffii | Stardance
Devlogs:
devlog #1 started making my own os that runs in a browser tab. no frameworks, just one html file, because i want to actually understand every line of it. first build has: a boot screen with a logo + loading bar that fades away a frosted menu bar at the top with a live clock an aurora gradient wallpaper (just layered radial-gradients) one glass window (“about.txt”) with mac style traffic lights the fun part was making the window draggable. i used pointer events instead of mouse events so it would also work if someone opens this on a phone. the trick that made it feel smooth: instead of tracking where the mouse is, next up: more windows, real minimize/maximize, and a dock.
devlog #2 — window manager arc the os grew a real window system . everything is managed from one createWindow(app) function, so adding a new app is just adding an object with a name, an icon and a render function. what’s new: 3 apps now: about, notes, terminal close / minimize / maximize on every window (green button remembers your old size + position and puts it back) windows resize from a corner grip, focus raises them above the others a dock with the mac hover-magnify effect and little dots under running apps — minimized windows can be brought back from there notes autosave to localStorage as you type (“saving…” → “saved ✓”) terminal got a tiny shell: help, neofetch, echo, ls, clear… the dock magnify is just a css transform on hover:
devlog #3 — the island era i put a dynamic island in the top of the screen, like the iphone. it’s a black pill that sits over the menu bar and morphs: the bigger news: the music is real . i didn’t want to embed mp3 files so the music app synthesizes lo-fi loops with the WebAudio api — triangle wave chords, a sine bass, random pentatonic notes sprinkled on top, plus a looped noise buffer filtered down for vinyl hiss. there are 3 “tracks” (bpm + chord progressions) and a live frequency visualizer on a canvas. no files, no copyright, just math. also added: settings app — 4 gradient wallpapers, 4 accent colors (the island equalizer, dock dots, progress bars all recolor), saved to localStorage, plus a factory reset button links app — grid of glass cards terminal got an open command, so open settings launches apps island notifications wired into notes, terminal and settings that wraps version 1.0. one html file, no frameworks, no login, and it actually feels like an os. on to WebOS 2 🚀
Ships:
I made my very own WebOS. Well just version 1 now. I always wanted my very own web and I always loved how apple designs its OS and website. So naturally, I combined the both to make LumenOS...
|
1793216847.0106287
|
1793303247.0106287
|
|
51584
|
Prompt Injection: 101 by @parth_ida13 | Stardance
|
parth_ida13
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T05:39:21Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a cybersecurity based game, It was really frustrating to lose all my good work so things might be scuffed or corrupted, (but still works) all the systems and functions are saved and foolproof, (check devlogs)", "repo": "https://github.com/parthida13/promptinjection101", "demo": "https://github.com/parthida13/promptinjection101/blob/main/README.md"}]...
|
[{"post_id": 74138, "ts": "202 [{"post_id": 74138, "ts": "2026-09-26T19:03:19Z", "hours": 0.9375, "text": "Lost all my work from OS issues, dont feel much motivated only on track to get 30 hours"}, {"post_id": 60758, "ts": "2026-09-03T10:22:13Z", "hours": 1.2622, "text": "Decided on uploading to pypi library as that would be easier for everyone. Coding left libraries for efficient token usage"}, {"post_id": 56390, "ts": "2026-08-28T04:29:14Z", "hours": 1.1939, "text": "Deciding wheter or not to integrate flask or keep it simple. Creating frontend and deciding if my workload would be excessive or not. Checking back in a few minutes"}, {"post_id": 51778, "ts": "2026-08-21T16:49:53Z", "hours": 0.6269, "text": "Added dual-api crosschecking + reframed blocked_words list. Added stricter XML tags to take user inputs as questions and not commands. I’d be surprised if someone completed the 5th level."}, {"post_id": 51729, "ts": "2026-08-21T15:43:27Z", "hours": 1.1086, "text": "Created all the levels in python. Researched for an hour or so and discovered methods used to protect AI systems from prompt injections. Added base64 scanners and pattern recognizers for making levels 3-5 from hard to near impossible. Next steps are to add dual api verification and a timing system to make sure you can play the entire game without burning out all your api credits. When I get a better pc I’ll recreate this project when the next hackclub event starts but I’ll use ollama so I can make more better systems."}, {"post_id": 51541, "ts": "2026-08-21T09:33:34Z", "hours": 1.0642, "text": "Shifted over to gemini-3.5 flash as it gives you more tokens/more requests per day. The AI finally has perception but since this AI model has built in features for prompt injection I might have to dumb it down to still make the game engaging. I will also be making it much harder in the next levels surpassing the already existing safety filters/features in gemini 3.5 flash"}, {"post_id": 51062, "ts": "2026-08-20T15:23:05Z", "hours": 0.5325, "text": "Created the base/structure of level 1. I am using a framework called OpenAI in python to handle API requests from grok. The first level is supposed to be easy so I didn’t code anything crazy to prevent the user in logging in. To not spoil the upcoming level this is all the code I can show right now"}, {"post_id": 50864, "ts": "2026-08-20T09:53:41Z", "hours": 1.5253, "text": "Created prompt injection:101 as an interactive game from which you try to manipulate the AI into giving you unrestricted access to private information given to the AI by the system. There will be 5 levels initially and then I will ship my project. I tried to use ollama but my system can’t download it :( thats why i’m going to use an API key sadly. Haven’t written much spent the first 20 minutes gathering nessecary libraries and researching about the openAI framework"}]...
|
Title: Prompt Injection: 101 by @parth_ida13 | Sta Title: Prompt Injection: 101 by @parth_ida13 | Stardance
Devlogs:
Created prompt injection:101 as an interactive game from which you try to manipulate the AI into giving you unrestricted access to private information given to the AI by the system. There will be 5 levels initially and then I will ship my project. I tried to use ollama but my system can’t download it :( thats why i’m going to use an API key sadly. Haven’t written much spent the first 20 minutes gathering nessecary libraries and researching about the openAI framework
Created the base/structure of level 1. I am using a framework called OpenAI in python to handle API requests from grok. The first level is supposed to be easy so I didn’t code anything crazy to prevent the user in logging in. To not spoil the upcoming level this is all the code I can show right now
Shifted over to gemini-3.5 flash as it gives you more tokens/more requests per day. The AI finally has perception but since this AI model has built in features for prompt injection I might have to dumb it down to still make the game engaging. I will also be making it much harder in the next levels surpassing the already existing safety filters/features in gemini 3.5 flash
Created all the levels in python. Researched for an hour or so and discovered methods used to protect AI systems from prompt injections. Added base64 scanners and pattern recognizers for making levels 3-5 from hard to near impossible. Next steps are to add dual api verification and a timing system to make sure you can play the entire game without burning out all your api credits. When I get a better pc I’ll recreate this project when the next hackclub event starts but I’ll use ollama so I can make more better systems.
Added dual-api crosschecking + reframed blocked_words list. Added stricter XML tags to take user inputs as questions and not commands. I’d be surprised if someone completed the 5th level.
Deciding wheter or not to integrate flask or keep it simple. Creating frontend and deciding if my workload would be excessive or not. Checking back in a few minutes
Decided on uploading to pypi library as that would be easier for everyone. Coding left libraries for efficient token usage
Lost all my work from OS issues, dont feel much motivated only on track to get 30 hours
Ships:
I made a cybersecurity based game, It was really frustrating to lose all my good work so things might be scuffed or corrupted, (but still works) all the systems and functions are saved and foolproof, (check devlogs)...
|
1793152147.1420996
|
1793238547.1420996
|
|
52081
|
My own site! by @AE | Stardance
|
AE
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T20:09:26Z", "hours": 6.0, "multiplier": 1.28, "payout": 0, "blessing": "neutral", "text": "Este es mi pagina personal. Aunque tiene un diseño simple para mi no fue tan fácil hacerla porque soy muy mala diseñando, estuve cambiando , moviendo y agregando cosas constantemente. Siento que he avanzado un poco en mi habilidad de diseño y por eso quiero compartir este pequeño pero importante proyecto.", "repo": "https://github.com/MANDCHELLE/stardance", "demo": "https://mandchelle.github.io/stardance/"}]...
|
[{"post_id": 74139, "ts": "202 [{"post_id": 74139, "ts": "2026-09-26T19:03:42Z", "hours": 5.6372, "text": "El sitio web que construí es simple pero lo veo bonito. No soy buena diseñando por eso considero que esto es un gran avance ."}]...
|
Title: My own site! by @AE | Stardance
Devlogs:
E Title: My own site! by @AE | Stardance
Devlogs:
El sitio web que construí es simple pero lo veo bonito. No soy buena diseñando por eso considero que esto es un gran avance .
Ships:
Este es mi pagina personal. Aunque tiene un diseño simple para mi no fue tan fácil hacerla porque soy muy mala diseñando, estuve cambiando , moviendo y agregando cosas constantemente. Siento que he avanzado un poco en mi habilidad de diseño y por eso quiero compartir este pequeño pero importante proyecto....
|
1793152226.6412745
|
1793238626.6412745
|
|
65180
|
portfolio by @Erox | Stardance
|
Erox
|
1
|
5.88
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T16:55:51Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my portfolio , i used tailwind + vite to build it . on the last devlog i added my projects and refined a bit more , check my git for more info", "repo": "https://github.com/Erox-02/portfolio", "demo": "https://erox.is-a.dev/"}]...
|
[{"post_id": 74145, "ts": "202 [{"post_id": 74145, "ts": "2026-09-26T19:29:52Z", "hours": 1.7297, "text": "heavily cleaned up the code , changed a lot of code too now heres the final lool"}, {"post_id": 73655, "ts": "2026-09-25T16:20:17Z", "hours": 0.305, "text": "added a logo but it felt way too odd bec of lower quality so i upscaled it , now it looks way better"}, {"post_id": 73639, "ts": "2026-09-25T15:45:25Z", "hours": 0.8453, "text": "Upgraded the overall project , last time i rushed , used my old project’s code but now i will be continuing the project no slop"}, {"post_id": 73219, "ts": "2026-09-24T16:51:11Z", "hours": 0.7719, "text": "done this time made it perfect"}, {"post_id": 73187, "ts": "2026-09-24T15:34:33Z", "hours": 0.2589, "text": "why am i gettin an err? my file exists for sure"}, {"post_id": 73167, "ts": "2026-09-24T14:56:19Z", "hours": 0.5142, "text": "changed the accent color and a lot but it still looks odd maybe i will do a much big change now"}, {"post_id": 73044, "ts": "2026-09-24T08:11:49Z", "hours": 0.3197, "text": "added setup session , but it doesnt look tht cool so i think i will change the #setup to a diff page"}, {"post_id": 73032, "ts": "2026-09-24T07:42:12Z", "hours": 0.3647, "text": "added status and my projects"}, {"post_id": 73014, "ts": "2026-09-24T06:58:57Z", "hours": 0.2783, "text": "added the hero portion also rewrote the hero portion with rajdhani font , yk the sans look too normal check the commits for more"}, {"post_id": 73003, "ts": "2026-09-24T06:17:33Z", "hours": 0.7739, "text": "started the work , currently i have only comps the tagged img shows tht , i will be addin things"}]...
|
Title: portfolio by @Erox | Stardance
Devlogs:
st Title: portfolio by @Erox | Stardance
Devlogs:
started the work , currently i have only comps the tagged img shows tht , i will be addin things
added the hero portion also rewrote the hero portion with rajdhani font , yk the sans look too normal check the commits for more
added status and my projects
added setup session , but it doesnt look tht cool so i think i will change the #setup to a diff page
changed the accent color and a lot but it still looks odd maybe i will do a much big change now
why am i gettin an err? my file exists for sure
done this time made it perfect
Upgraded the overall project , last time i rushed , used my old project’s code but now i will be continuing the project no slop
added a logo but it felt way too odd bec of lower quality so i upscaled it , now it looks way better
heavily cleaned up the code , changed a lot of code too now heres the final lool
Ships:
This is my portfolio , i used tailwind + vite to build it . on the last devlog i added my projects and refined a bit more , check my git for more info...
|
1793213709.9164615
|
1793300109.9164615
|
|
66100
|
AXON by @Vojtik8IT | Stardance
|
Vojtik8IT
|
0
|
1.62
|
0
|
[]
|
[{"post_id": 74149, "ts": "202 [{"post_id": 74149, "ts": "2026-09-26T19:33:48Z", "hours": 1.6164, "text": "Working on AXON-ULTRA AXON ULTRA is a mix of AXON and RPI 4/5 its currently in planning schema phase. I would love any ideas on building or adding things to AXON-ULTRA!"}]...
|
Title: AXON by @Vojtik8IT | Stardance
Devlogs:
Wo Title: AXON by @Vojtik8IT | Stardance
Devlogs:
Working on AXON-ULTRA AXON ULTRA is a mix of AXON and RPI 4/5 its currently in planning schema phase. I would love any ideas on building or adding things to AXON-ULTRA!...
|
1793094687.1346545
|
1793699487.1346545
|
|
8248
|
Freendercover by @Sucrivore | Stardance
|
Sucrivore
|
0
|
14.88
|
0
|
[]
|
[{"post_id": 7415, "ts": "2026 [{"post_id": 7415, "ts": "2026-06-12T10:51:12Z", "hours": 5.3356, "text": "To add Mr. White, the role system had to be completely refactored. Previously, it simply assigned a different word to a random player. I switched to a much more suitable system, allowing the host player to choose a custom player distribution, with the caveat that it must be valid (for example, there must be more or the same number of civilians as undercovers and Mr. White). For the mobile app, a cool selector with sliders was needed, where the min, max, activated, and divisions had to adapt in real time to the constraints of the number of players and other selected values. To accommodate these new inputs, I also had to rebuild the host waiting page from scratch. I took the opportunity to tweak a few things and fix some bugs. And I realize that my file that manages multiplayer on the mobile app is an unreadable monster of more than 800 lines, but it’s my first flutter project so I don’t really know how to organize this big bag of interconnected knots… Anyway, I’m having fun."}, {"post_id": 5111, "ts": "2026-06-08T19:58:13Z", "hours": 0.6022, "text": "I have fixed some things : an infinite turns loop when more than 3 players join the game via network multi, a button showed to all players instead the host, a bad message, now builded directly by the api, and some typos"}, {"post_id": 3760, "ts": "2026-06-06T20:13:50Z", "hours": 2.0417, "text": "Remaked local mode menu"}, {"post_id": 3433, "ts": "2026-06-06T11:26:29Z", "hours": 6.8978, "text": "Creating my first Flutter app, a free version of Undercover"}]...
|
Title: Freendercover by @Sucrivore | Stardance
De Title: Freendercover by @Sucrivore | Stardance
Devlogs:
Creating my first Flutter app, a free version of Undercover
Remaked local mode menu
I have fixed some things : an infinite turns loop when more than 3 players join the game via network multi, a button showed to all players instead the host, a bad message, now builded directly by the api, and some typos
To add Mr. White, the role system had to be completely refactored. Previously, it simply assigned a different word to a random player. I switched to a much more suitable system, allowing the host player to choose a custom player distribution, with the caveat that it must be valid (for example, there must be more or the same number of civilians as undercovers and Mr. White). For the mobile app, a cool selector with sliders was needed, where the min, max, activated, and divisions had to adapt in real time to the constraints of the number of players and other selected values. To accommodate these new inputs, I also had to rebuild the host waiting page from scratch. I took the opportunity to tweak a few things and fix some bugs. And I realize that my file that manages multiplayer on the mobile app is an unreadable monster of more than 800 lines, but it’s my first flutter project so I don’t really know how to organize this big bag of interconnected knots… Anyway, I’m having fun....
|
1792705854.6621914
|
1793310654.6621914
|
|
51635
|
What's YOUR flight path? by @Sandhana | Starda What's YOUR flight path? by @Sandhana | Stardance...
|
Sandhana
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T20:34:47Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an educational game that consists of 5 space-themed minigames to help further the mission of the Global Student Aerospace Initiative, which I am the co-founder of. Each minigame is preceded by an informational screen discussing a different career path within the aerospace field. The game starts with a Title Scene that allows the game to proceed. Every minigame starts with a short Level Scene that informs the user about how many lives they have and what level they are about to start. Minigame 1: Planetary Scientist The user must navigate and jump onto levels to collect scattered planets that they have discovered to deploy spacecraft for further studying. Minigame 2: Exoplanet Researcher The user must click 4 exoplanets that they have previously discovered that they now deem unsuitable for life to remove it from their dataset. Minigame 3: Space Journalist The user must determine if a news article is reliable based on its use of data. Minigame 4: Astronomer The user must click the 8 main stars of the constellation Orion/ Minigame 5: Flight Surgeon The user must determine if an astronaut’s health level have deviated after spaceflight. I have created a death scene if you lose all 5 lives and a winner scene if you survive all 5 minigames.", "repo": "https://github.com/SandhanaRajesh/aerospacegame", "demo": "https://sandhanarajesh.itch.io/global-student-aerospace-initiative-aerospace-career-education-game"}]...
|
[{"post_id": 74153, "ts": "202 [{"post_id": 74153, "ts": "2026-09-26T19:45:07Z", "hours": 1.5694, "text": "This is probably the last devlog before I ship this project. I finished the last minigame today, which is about Flight Surgeons. The user has to compare pre-spaceflight and post-spaceflight reports of an astronaut and determine if ALL of their health levels are normal or not."}, {"post_id": 73795, "ts": "2026-09-26T00:47:35Z", "hours": 4.3981, "text": "Since the previous devlog, I’ve done quite a lot. I debugged and rewired the game flow to include my info screens about the different aerospace field jobs. One issue I had with this was using the wrong name while coding (ex. using screen instead of scene or vice versa). I coded the 3rd Minigame. It’s based on the career of Space Journalism, and essentially the user has to read an article and determine its reliability based on their own notes based on direct sources. I coded the 4th Minigame. It’s based on the career of Astronomy, and the user has to click the 8 main stars of the constellation Orion within 6 seconds to not lose a life. A problem I faced with coding this game was that I didn’t connect the signals to the right nodes, so clicking the stars didn’t do anything. A lot of this time was spent debugging, not actually working lol."}, {"post_id": 67695, "ts": "2026-09-13T21:37:42Z", "hours": 1.9178, "text": "Up to this point, I’ve completed a lot since the previous devlog. I completed the second minigame, which was a clicker game. The user needs to click 4 exoplanets in a certain amount of time to win the game. I also decided that I would lean into the educational aspect of the project (the whole point of making it space themed) and start creating information scenes that the user should read before each game. The first minigame (see previous devlog)’s information scene is all about being a planetary scientist, and the second minigame is about being an exoplanet researcher. The information scenes outline the mission objective (how to win the game; I noticed when rating in Stardance that many of the games didn’t explain what was going on so I found myself highly confused and wanted to fix that in my own game). Importantly, the scene includes a brief overview of each career that each minigame is meant to highlight. My next steps will be to attach a signal to the “got it” button, fix the flow in the code to include the information scene, and code more minigames."}, {"post_id": 62602, "ts": "2026-09-06T02:15:59Z", "hours": 3.1656, "text": "Here’s what I’ve completed today! I created my first minigame, which involves a character (which I designed using squares on Canva) who jumps onto platforms to collect Saturns within a specific time frame. A challenge I faced was getting the Saturns to send out and receive signals correctly. I also had trouble with animating the Saturns to float, but it worked once I restarted that segment."}, {"post_id": 61215, "ts": "2026-09-04T01:20:34Z", "hours": 0.3583, "text": "I’ve actually worked on this for over 2 hours, but I forgot to refresh GoDot so it never even tracked my time…. I actually almost cried but it’s ok, life goes on I guess. Anyways, today I created the first scene that users will see when the game opens. I want this game to be a way for students to learn about unconventional careers in aerospace so they can learn where they can thrive with their specific interests and skills (ex. aerospace x biology -> research space medicine/astrobiology, flight surgeon, etc.) I also created three buttons on the Start Menu today: START, SETTINGS, and QUIT, and I coded the functionality behind each one (tomorrow I need to create the scene for all of these (besides the quit button because that just quits the game) buttons to open) On the beginning scene I designed a black background with stars everywhere, a text box saying “Created by Sandhana Rajesh” and my student initiative’s logo (GSAI aka the Global Student Aerospace Initiative). This game will also serve as a way to let more people learn about my organization that I’ve founded and let them get involved to learn more about aerospace careers and space in general by becoming general members."}]...
|
Title: What's YOUR flight path? by @Sandhana | Title: What's YOUR flight path? by @Sandhana | Stardance
Devlogs:
I’ve actually worked on this for over 2 hours, but I forgot to refresh GoDot so it never even tracked my time…. I actually almost cried but it’s ok, life goes on I guess. Anyways, today I created the first scene that users will see when the game opens. I want this game to be a way for students to learn about unconventional careers in aerospace so they can learn where they can thrive with their specific interests and skills (ex. aerospace x biology -> research space medicine/astrobiology, flight surgeon, etc.) I also created three buttons on the Start Menu today: START, SETTINGS, and QUIT, and I coded the functionality behind each one (tomorrow I need to create the scene for all of these (besides the quit button because that just quits the game) buttons to open) On the beginning scene I designed a black background with stars everywhere, a text box saying “Created by Sandhana Rajesh” and my student initiative’s logo (GSAI aka the Global Student Aerospace Initiative). This game will also serve as a way to let more people learn about my organization that I’ve founded and let them get involved to learn more about aerospace careers and space in general by becoming general members.
Here’s what I’ve completed today! I created my first minigame, which involves a character (which I designed using squares on Canva) who jumps onto platforms to collect Saturns within a specific time frame. A challenge I faced was getting the Saturns to send out and receive signals correctly. I also had trouble with animating the Saturns to float, but it worked once I restarted that segment.
Up to this point, I’ve completed a lot since the previous devlog. I completed the second minigame, which was a clicker game. The user needs to click 4 exoplanets in a certain amount of time to win the game. I also decided that I would lean into the educational aspect of the project (the whole point of making it space themed) and start creating information scenes that the user should read before each game. The first minigame (see previous devlog)’s information scene is all about being a planetary scientist, and the second minigame is about being an exoplanet researcher. The information scenes outline the mission objective (how to win the game; I noticed when rating in Stardance that many of the games didn’t explain what was going on so I found myself highly confused and wanted to fix that in my own game). Importantly, the scene includes a brief overview of each career that each minigame is meant to highlight. My next steps will be to attach a signal to the “got it” button, fix the flow in the code to include the information scene, and code more minigames.
Since the previous devlog, I’ve done quite a lot. I debugged and rewired the game flow to include my info screens about the different aerospace field jobs. One issue I had with this was using the wrong name while coding (ex. using screen instead of scene or vice versa). I coded the 3rd Minigame. It’s based on the career of Space Journalism, and essentially the user has to read an article and determine its reliability based on their own notes based on direct sources. I coded the 4th Minigame. It’s based on the career of Astronomy, and the user has to click the 8 main stars of the constellation Orion within 6 seconds to not lose a life. A problem I faced with coding this game was that I didn’t connect the signals to the right nodes, so clicking the stars didn’t do anything. A lot of this time was spent debugging, not actually working lol.
This is probably the last devlog before I ship this project. I finished the last minigame today, which is about Flight Surgeons. The user has to compare pre-spaceflight and post-spaceflight reports of an astronaut and determine if ALL of their health levels are normal or not.
Ships:
I made an educational game that consists of 5 space-themed minigames to help further the mission of the Global Student Aerospace Initiative, which I am the co-founder of. Each minigame is preceded by an informational screen discussing a different career path within the aerospace field. The game starts with a Title Scene that allows the game to proceed. Every minigame starts with a short Level Scene that informs the user about how many lives they have and what level they are about to start. Minigame 1: Planetary Scientist The user must navigate and jump onto levels to collect scattered planets that they have discovered to deploy spacecraft for further studying. Minigame 2: Exoplanet Researcher The user must click 4 exoplanets that they have previously discovered that they now deem unsuitable for life to remove it from their dataset. Minigame 3: Space Journalist The user must determine if a news article is reliable based on its use of data. Minigame 4: Astronomer The user must click the 8 main stars of the constellation Orion/ Minigame 5: Flight Surgeon The user must determine if an astronaut’s health level have deviated after spaceflight. I have created a death scene if you lose all 5 lives and a winner scene if you survive all 5 minigames....
|
1793152151.3187473
|
1793238551.3187473
|
|
56369
|
Guess Who - Animal Version by @Its_angela | Starda Guess Who - Animal Version by @Its_angela | Stardance...
|
Its_angela
|
0
|
13.92
|
0
|
[]
|
[{"post_id": 74155, "ts": "202 [{"post_id": 74155, "ts": "2026-09-26T19:51:40Z", "hours": 7.8244, "text": "So Far: FINALLY got back into the actual game mechanics!! After being stuck on this for a while, I’ve started working on the guessing system - basically getting the computer to actually USE all the information it’s collected instead of just randomly guessing animals. This involved lots of new subroutines too… YAYY!!! Aside from that, the player can now ask questions and the computer is able to process and reply (to some extent lol). The main challenge has been nested dictionaries (AGAIN). I’ve been working through exactly what each variable represents when looping through Bank, especially the difference between the attribute, the nested dictionary, and the individual value/status inside it. I’ve also started building an info dictionary which will store the characteristics the computer knows about, so it can use these to eliminate animals that don’t match. I’ve also been working on keeping track of animals that have already been ruled out, then using that to create a list of possible animals before making a guess. Basically: Bank → known information → eliminate animals → possible animals → GUESS. The challenge: Because some attributes are single values, some are booleans, and others are lists (like regions/habitats), I can’t just compare everything in exactly the same way. Soooo… there’s definitely still some logic to figure out there!! Next Steps: Finish the guess() subroutine, make sure the computer is correctly eliminating animals based on both yes AND no answers, and then connect everything properly to the main game loop so the computer can actually WIN instead of just guessing forever."}, {"post_id": 67627, "ts": "2026-09-13T19:33:45Z", "hours": 1.9631, "text": "So Far: I re-structured my question bank and animal bank: my old version was inconsistent with use of dictionaries and lists, and whether attributes had multiple or boolean values, which made my code and logic MESSY. It’s been a while since I worked on this project, because quite frankly, I was stuck - turns out this project may have been a little complicated for my first project to learn python with. The first thing I did was try to work my way through the logic, especially where nested dictionaries + lists were involved, because that was my main source of confusion (yes, I did it manually on paper I found that easier). I then experimented a little with lists and dictionaries, until FINALLY rewriting my code so its a lot more consistent and easier to work with!! Next Steps: Yes, this does mean I’ll need to recode my subroutines, soooo… there’s definetely that! Recode my subroutines to work with the new, more consistent data structures. I’ll start with askQ, then processAnswer and animalAttribute, testing each one independently before connecting them together."}, {"post_id": 60520, "ts": "2026-09-02T22:15:05Z", "hours": 1.7542, "text": "So far: FINALLY started building the actual game!! Using the modular approach I mentioned, I built a subroutine that asks a question, validates the answer (nested while loop) and converts it into a Boolean to return it. I’ve also started askQ(), which will use what the computer already knows to choose its next question, so questions are more intentional and don’t feel scripted. The challenge: Some attributes are stored in dictionaries when there are lots of possible answers, like class, diet, habitat, etc., while others are just True/False booleans, like has_fur. I’ve therefore started writing YET ANOTHER dictionary - yep, more more data writing, YAYY!! - to track each attribute as unknown, true or false depending on the information the computer has been given. Most importantly, I’ve worked through functions, parameters, return values, dictionaries, keys/values, append() and local variables. Next Steps: finish the attribute tracking system, make askQ() work, eliminate animals based on data and somehow get the computer answering THE PLAYER’s questions too!!"}, {"post_id": 59263, "ts": "2026-08-31T23:08:35Z", "hours": 2.3806, "text": "So Far: I did a LOTTT of writing. I made two main dictionaries: one containing all the animals and their characteristics, and another containing questions specific to each characteristic. Both have a bunch of embedded lists and dictionaries, so there is a LOT of data in there. Currently at 1050 lines of code… glad that’s out of the way so I can finally start getting the actual game mechanics to work!! Progress: Right now, when the program runs, the player gets assigned an animal, which they can change if they feel like they don’t know enough about it. The computer is assigned an animal too. The player is then shown all the animal options, (complete with emojis, ofc!! [couldn’t find an emoji for them all, sooo… some may be a little unconventional]) and… that’s it for now. Next Steps: I’m going to use a modular approach (thanks GCSE Computing!) so I figure: 1. Making a subroutine that identifies which question to ask next. 2. Making another subroutine that interprets the player’s answer and uses the linked attribute or value of the question to identify a characteristic of the player’s animal. 3. Making YET ANOTHER subroutine that uses those identified characteristics to keep track of which animal the player could have. And last but not least… figuring out how to get the computer to process the questions and answer them. *If anyone is actually reading this, I’d really appreciate any ideas, because I’m not too sure how yet!! *"}]...
|
Title: Guess Who - Animal Version by @Its_angela | Title: Guess Who - Animal Version by @Its_angela | Stardance
Devlogs:
So Far: I did a LOTTT of writing. I made two main dictionaries: one containing all the animals and their characteristics, and another containing questions specific to each characteristic. Both have a bunch of embedded lists and dictionaries, so there is a LOT of data in there. Currently at 1050 lines of code… glad that’s out of the way so I can finally start getting the actual game mechanics to work!! Progress: Right now, when the program runs, the player gets assigned an animal, which they can change if they feel like they don’t know enough about it. The computer is assigned an animal too. The player is then shown all the animal options, (complete with emojis, ofc!! [couldn’t find an emoji for them all, sooo… some may be a little unconventional]) and… that’s it for now. Next Steps: I’m going to use a modular approach (thanks GCSE Computing!) so I figure: 1. Making a subroutine that identifies which question to ask next. 2. Making another subroutine that interprets the player’s answer and uses the linked attribute or value of the question to identify a characteristic of the player’s animal. 3. Making YET ANOTHER subroutine that uses those identified characteristics to keep track of which animal the player could have. And last but not least… figuring out how to get the computer to process the questions and answer them. *If anyone is actually reading this, I’d really appreciate any ideas, because I’m not too sure how yet!! *
So far: FINALLY started building the actual game!! Using the modular approach I mentioned, I built a subroutine that asks a question, validates the answer (nested while loop) and converts it into a Boolean to return it. I’ve also started askQ(), which will use what the computer already knows to choose its next question, so questions are more intentional and don’t feel scripted. The challenge: Some attributes are stored in dictionaries when there are lots of possible answers, like class, diet, habitat, etc., while others are just True/False booleans, like has_fur. I’ve therefore started writing YET ANOTHER dictionary - yep, more more data writing, YAYY!! - to track each attribute as unknown, true or false depending on the information the computer has been given. Most importantly, I’ve worked through functions, parameters, return values, dictionaries, keys/values, append() and local variables. Next Steps: finish the attribute tracking system, make askQ() work, eliminate animals based on data and somehow get the computer answering THE PLAYER’s questions too!!
So Far: I re-structured my question bank and animal bank: my old version was inconsistent with use of dictionaries and lists, and whether attributes had multiple or boolean values, which made my code and logic MESSY. It’s been a while since I worked on this project, because quite frankly, I was stuck - turns out this project may have been a little complicated for my first project to learn python with. The first thing I did was try to work my way through the logic, especially where nested dictionaries + lists were involved, because that was my main source of confusion (yes, I did it manually on paper I found that easier). I then experimented a little with lists and dictionaries, until FINALLY rewriting my code so its a lot more consistent and easier to work with!! Next Steps: Yes, this does mean I’ll need to recode my subroutines, soooo… there’s definetely that! Recode my subroutines to work with the new, more consistent data structures. I’ll start with askQ, then processAnswer and animalAttribute, testing each one independently before connecting them together.
So Far: FINALLY got back into the actual game mechanics!! After being stuck on this for a while, I’ve started working on the guessing system - basically getting the computer to actually USE all the information it’s collected instead of just randomly guessing animals. This involved lots of new subroutines too… YAYY!!! Aside from that, the player can now ask questions and the computer is able to process and reply (to some extent lol). The main challenge has been nested dictionaries (AGAIN). I’ve been working through exactly what each variable represents when looping through Bank, especially the difference between the attribute, the nested dictionary, and the individual value/status inside it. I’ve also started building an info dictionary which will store the characteristics the computer knows about, so it can use these to eliminate animals that don’t match. I’ve also been working on keeping track of animals that have already been ruled out, then using that to create a list of possible animals before making a guess. Basically: Bank → known information → eliminate animals → possible animals → GUESS. The challenge: Because some attributes are single values, some are booleans, and others are lists (like regions/habitats), I can’t just compare everything in exactly the same way. Soooo… there’s definitely still some logic to figure out there!! Next Steps: Finish the guess() subroutine, make sure the computer is correctly eliminating animals based on both yes AND no answers, and then connect everything properly to the main game loop so the computer can actually WIN instead of just guessing forever....
|
1792659268.4936168
|
1793264068.4936168
|
|
66117
|
ICloud Alternative by @vaishantn | Stardance
|
vaishantn
|
0
|
10.1
|
0
|
[]
|
[{"post_id": 74169, "ts": "202 [{"post_id": 74169, "ts": "2026-09-26T20:27:02Z", "hours": 10.1044, "text": "I am sick and tired of paid subscriptions. So, I made an alternative to iCloud. This also has an extra feature of converting files."}]...
|
Title: ICloud Alternative by @vaishantn | Stardanc Title: ICloud Alternative by @vaishantn | Stardance
Devlogs:
I am sick and tired of paid subscriptions. So, I made an alternative to iCloud. This also has an extra feature of converting files....
|
1793094710.0614731
|
1793699510.0614731
|
|
17221
|
Desktop Quick Note Taker by @Greg_ios | Stardance
|
Greg_ios
|
0
|
0.78
|
0
|
[]
|
[{"post_id": 7417, "ts": "2026 [{"post_id": 7417, "ts": "2026-06-12T10:59:16Z", "hours": 0.3425, "text": "Add note-taking application with system tray support Implemented a Tkinter-based GUI for taking and displaying notes. Integrated JSON file handling for saving and loading notes. Added functionality to show notes in a tree view. Included keyboard shortcut (Ctrl + Alt + N) to open the note-taking app. Set up a system tray icon using pystray for easy access to the application. Added an exit option in the system tray menu to close the application. Included an image asset (notes.png) for the system tray icon."}, {"post_id": 7406, "ts": "2026-06-12T10:36:17Z", "hours": 0.4328, "text": "Make the basic logic for the Desktop Quick Note Taker. But I have some problems with the show notes"}]...
|
Title: Desktop Quick Note Taker by @Greg_ios | Sta Title: Desktop Quick Note Taker by @Greg_ios | Stardance
Devlogs:
Make the basic logic for the Desktop Quick Note Taker. But I have some problems with the show notes
Add note-taking application with system tray support Implemented a Tkinter-based GUI for taking and displaying notes. Integrated JSON file handling for saving and loading notes. Added functionality to show notes in a tree view. Included keyboard shortcut (Ctrl + Alt + N) to open the note-taking app. Set up a system tray icon using pystray for easy access to the application. Added an exit option in the system tray menu to close the application. Included an image asset (notes.png) for the system tray icon....
|
1792774242.8538733
|
1793379042.8538733
|
|
65268
|
PrivateOS by @suvrathkesaraju | Stardance
|
suvrathkesaraju
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T20:55:24Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Private OS! an WEBos thats made to run things locally! Features A desktop enviroment with the abilty to open cand close windows(open by clicking on the app dock item and close using the red circle on the corners of windows) A top bar features a live time in AM/PM format! top bar also features a battery widget but it only works in chromium based browsers (no Tor or Firefox based browsers including but not limited to brave and zen) an appdock that lets you open an app by clicking on the apps icon A notes app that lets you write down plain text and download said plain text so you can keep it on you Hard Drive -A audio player that elts you add your audio file(mp3, wav, etc) and play it back", "repo": "https://github.com/suvrathkesaraju-lgtm/PrivateOS", "demo": "https://suvrathkesaraju-lgtm.github.io/PrivateOS/"}]...
|
[{"post_id": 74173, "ts": "202 [{"post_id": 74173, "ts": "2026-09-26T20:47:17Z", "hours": 0.2692, "text": "Added a README.md and thats about it"}, {"post_id": 74166, "ts": "2026-09-26T20:24:46Z", "hours": 1.4481, "text": "I added a music player app! -new music player app -plays local music files that you give -includes playback controls -does not save your file!!! this part was very challenging when it came to css more than the script the script wasnt easy but i had a good tutorial on youtube that made it so i could quickly make the script part. the css on the otherhand i couldnt just copy from the video and it made sure i had a rough time lol. I spent a sold 20 minutes thinking my seek bar was gone just to realize it was hidden behind another element. anyways im gonna write the read me and ship it soon!"}, {"post_id": 74112, "ts": "2026-09-26T18:21:10Z", "hours": 4.7419, "text": "So i accidentally made this a new project even though it was a restart so i had to do some relinking anwyays heres the 2 dev logs that got deleted as collateral damage of my poor setup ………………………………………………………………………………………………………………………… Restarted Project i was tired for my first attempt at an OS so i gave it a second go (and i wanted to get it rated instead of as a mission) -I made afunctional top bar that updates time realtime -added a battery widget in the top bar that tracks battery -added a dock at the bottom(not been pushed to github yet) -added a notes app(in progress & not been pushed to github) unlike my last attempt this time i seperated all my files my script, css, and html! this not only made it easier to read, it also amde it easier to edit and made this iteration much faster to implement than the last where it took me almost 4 hours to get to the same point! while i was working on my dock on the bottom i noticed that using transform: translate(-50%, -50%) that the dock was always may pixels above the bottom even when “bottom: 0%” so i edited. i didnt realize that the culprit was was the transform and spent 20 minutes before i finally igured out hwo to fix it and changed it to translate(-50%, -10%). ………………………………………………………………………………………………………………………… I added a draggable windows and the first app which is a notes app! -fixed off center time -added app dock that functions -made a functioning notes app -added draggable windows -added closable windows during this session i had one big problem i spent an hour fixing it. it was the save notes button which i added an onclick to but when i did so nothing happened. i thought the logic was wrong and proceeded to spend an hour trying to fix it but after words i noticed that i forgot to type function before the initializing the function and just wrote the function name. I was pretty frustrated at how simple the fix was and now i feel like i lost an hour of my life Lol. ………………………………………………………………………………………………………………………… anyways the project can be tested on github pages!"}, {"post_id": 73792, "ts": "2026-09-26T00:27:07Z", "hours": 1.3786, "text": "I mainly spent my time revamping the UI and adding window dragging! Changes: Swapped the Wallpaper Added Window Dragging and closing Swapped Color Pallette made UI less ‘floaty’ i spent around ~30 minutes to get the windows to drag and ~15 minutes to close them using java script which was not too hard! unfortunately i still struggle with CSS since while i was making it i noticed that there was a scrollbar at the bottom and the page was wider than the screen. I started off trying to fix it by moving the weather checker(which i still have to make function) more inward but that didn’t give much results, so i tried to change the whole body and set a certain width but that made it worse. after around ~50 minutes i tried changing the top bar’s width from 100% down and that fixed it i used trial and error to find the perfect percent before i get a scroll bar as 99.275%."}, {"post_id": 73762, "ts": "2026-09-25T21:35:08Z", "hours": 2.4078, "text": "I started the project! -created the index -added a wallpaper -added a welcome screen -added a top bar -added static time -added my current weather(i will try to create live weather next update) -made windows translucent The first part was going fine until i had to add the image for the music logo onto the welcome! i made the mistake of trying to use position absolute which took the image out of the div which made me lose ~45 minutes of time before i realized that the “position: absolute;” only works on the child so i then i went digging online to find that the best way to do it is to set “display: block; margin: 0 auto;” in style for the image!"}]...
|
Title: PrivateOS by @suvrathkesaraju | Stardance
Title: PrivateOS by @suvrathkesaraju | Stardance
Devlogs:
I started the project! -created the index -added a wallpaper -added a welcome screen -added a top bar -added static time -added my current weather(i will try to create live weather next update) -made windows translucent The first part was going fine until i had to add the image for the music logo onto the welcome! i made the mistake of trying to use position absolute which took the image out of the div which made me lose ~45 minutes of time before i realized that the “position: absolute;” only works on the child so i then i went digging online to find that the best way to do it is to set “display: block; margin: 0 auto;” in style for the image!
I mainly spent my time revamping the UI and adding window dragging! Changes: Swapped the Wallpaper Added Window Dragging and closing Swapped Color Pallette made UI less ‘floaty’ i spent around ~30 minutes to get the windows to drag and ~15 minutes to close them using java script which was not too hard! unfortunately i still struggle with CSS since while i was making it i noticed that there was a scrollbar at the bottom and the page was wider than the screen. I started off trying to fix it by moving the weather checker(which i still have to make function) more inward but that didn’t give much results, so i tried to change the whole body and set a certain width but that made it worse. after around ~50 minutes i tried changing the top bar’s width from 100% down and that fixed it i used trial and error to find the perfect percent before i get a scroll bar as 99.275%.
So i accidentally made this a new project even though it was a restart so i had to do some relinking anwyays heres the 2 dev logs that got deleted as collateral damage of my poor setup ………………………………………………………………………………………………………………………… Restarted Project i was tired for my first attempt at an OS so i gave it a second go (and i wanted to get it rated instead of as a mission) -I made afunctional top bar that updates time realtime -added a battery widget in the top bar that tracks battery -added a dock at the bottom(not been pushed to github yet) -added a notes app(in progress & not been pushed to github) unlike my last attempt this time i seperated all my files my script, css, and html! this not only made it easier to read, it also amde it easier to edit and made this iteration much faster to implement than the last where it took me almost 4 hours to get to the same point! while i was working on my dock on the bottom i noticed that using transform: translate(-50%, -50%) that the dock was always may pixels above the bottom even when “bottom: 0%” so i edited. i didnt realize that the culprit was was the transform and spent 20 minutes before i finally igured out hwo to fix it and changed it to translate(-50%, -10%). ………………………………………………………………………………………………………………………… I added a draggable windows and the first app which is a notes app! -fixed off center time -added app dock that functions -made a functioning notes app -added draggable windows -added closable windows during this session i had one big problem i spent an hour fixing it. it was the save notes button which i added an onclick to but when i did so nothing happened. i thought the logic was wrong and proceeded to spend an hour trying to fix it but after words i noticed that i forgot to type function before the initializing the function and just wrote the function name. I was pretty frustrated at how simple the fix was and now i feel like i lost an hour of my life Lol. ………………………………………………………………………………………………………………………… anyways the project can be tested on github pages!
I added a music player app! -new music player app -plays local music files that you give -includes playback controls -does not save your file!!! this part was very challenging when it came to css more than the script the script wasnt easy but i had a good tutorial on youtube that made it so i could quickly make the script part. the css on the otherhand i couldnt just copy from the video and it made sure i had a rough time lol. I spent a sold 20 minutes thinking my seek bar was gone just to realize it was hidden behind another element. anyways im gonna write the read me and ship it soon!
Added a README.md and thats about it
Ships:
Private OS! an WEBos thats made to run things locally! Features A desktop enviroment with the abilty to open cand close windows(open by clicking on the app dock item and close using the red circle on the corners of windows) A top bar features a live time in AM/PM format! top bar also features a battery widget but it only works in chromium based browsers (no Tor or Firefox based browsers including but not limited to brave and zen) an appdock that lets you open an app by clicking on the apps icon A notes app that lets you write down plain text and download said plain text so you can keep it on you Hard Drive -A audio player that elts you add your audio file(mp3, wav, etc) and play it back...
|
1793213726.0120926
|
1793300126.0120926
|
|
66011
|
Coder AI by @Vojtik8IT | Stardance
|
Vojtik8IT
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T21:54:01Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "**An open-source AI Discord assistant built to help you planning your ideas, building them, and importing them to GitHub! Highlights: Automated code generation with a GitHub integration Lightweight and easy to setup Feedback and stars are welcome!", "repo": "https://github.com/koubik-design/coder-bot", "demo": "https://discord.com/oauth2/authorize?client_id=1537085683955535923"}]...
|
[{"post_id": 74180, "ts": "202 [{"post_id": 74180, "ts": "2026-09-26T21:10:50Z", "hours": 1.6997, "text": "The logging After many thinking i think the logging needs to be better, so i am going to work on a better logging system and try to add: AutoModeration Slash commands"}]...
|
Title: Coder AI by @Vojtik8IT | Stardance
Devlogs Title: Coder AI by @Vojtik8IT | Stardance
Devlogs:
The logging After many thinking i think the logging needs to be better, so i am going to work on a better logging system and try to add: AutoModeration Slash commands
Ships:
**An open-source AI Discord assistant built to help you planning your ideas, building them, and importing them to GitHub! Highlights: Automated code generation with a GitHub integration Lightweight and easy to setup Feedback and stars are welcome!...
|
1793216870.7128491
|
1793303270.7128491
|
|
66132
|
Chromebook Batocera PC Case by @vulcan4378 | Stard Chromebook Batocera PC Case by @vulcan4378 | Stardance...
|
vulcan4378
|
0
|
1.88
|
0
|
[]
|
[{"post_id": 74192, "ts": "202 [{"post_id": 74192, "ts": "2026-09-26T21:43:15Z", "hours": 0.3339, "text": "Two tiny addons. First addon being the added vents int the back so hot air gets out. Second addon being the shelf For the motherboards sub board this should be close to the finish"}, {"post_id": 74181, "ts": "2026-09-26T21:11:11Z", "hours": 1.5508, "text": "I started making the case and heatsink. I made the heatsink linier so when the fans blow they blow through keeping both the petg plastic and heatsink cool. I also hid the fans so they are not a eye sore and made sure they get air. In the same slot I made a are so that I can add leds so It looks like a steam machine. There will be more handy addons tomorrow. TIMELAPSE LINKS https://lapse.hackclub.com/timelapse/VSEK-76tTF_P https://lapse.hackclub.com/timelapse/fE0kpQJJf6nG"}]...
|
Title: Chromebook Batocera PC Case by @vulcan4378 Title: Chromebook Batocera PC Case by @vulcan4378 | Stardance
Devlogs:
I started making the case and heatsink. I made the heatsink linier so when the fans blow they blow through keeping both the petg plastic and heatsink cool. I also hid the fans so they are not a eye sore and made sure they get air. In the same slot I made a are so that I can add leds so It looks like a steam machine. There will be more handy addons tomorrow. TIMELAPSE LINKS https://lapse.hackclub.com/timelapse/VSEK-76tTF_P https://lapse.hackclub.com/timelapse/fE0kpQJJf6nG
Two tiny addons. First addon being the added vents int the back so hot air gets out. Second addon being the shelf For the motherboards sub board this should be close to the finish...
|
1793094732.3150153
|
1793699532.3150153
|
|
66126
|
Turbo Toads: Neon Run by @Itsalhasa | Stardance
|
Itsalhasa
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T22:15:02Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I finished my game Turbo Toads! I put coding, added the player, coins, enemies, platforms and the portal. I also put it on GitHub and made a demo so people can play it. It was not to hard and not to easy but yeah.", "repo": "https://github.com/Alhasa1/Turbo-Toads-", "demo": "https://alhasa1.github.io/Turbo-Toads-/"}]...
|
[{"post_id": 74199, "ts": "202 [{"post_id": 74199, "ts": "2026-09-26T22:10:02Z", "hours": 0.2742, "text": "YOO guys day one making a game"}]...
|
Title: Turbo Toads: Neon Run by @Itsalhasa | Stard Title: Turbo Toads: Neon Run by @Itsalhasa | Stardance
Devlogs:
YOO guys day one making a game
Ships:
I finished my game Turbo Toads! I put coding, added the player, coins, enemies, platforms and the portal. I also put it on GitHub and made a demo so people can play it. It was not to hard and not to easy but yeah....
|
1793216898.6682599
|
1793303298.6682599
|
|
65900
|
Visitor Site by @luke_ib_bronson | Stardance
|
luke_ib_bronson
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T22:23:20Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Message to Mega was created as a means for people to send messages to me without any judgment and to claim a spot in the registry, like historic visitor websites people have made in the past. I have worked on the project mostly disconnected from stardance and hackclub for hours on my own, attempting to make the quality presentable and publishable. People on the website can post a message of their own, use their own username, see other people’s messages, and give suggestions on the website. The website features responsive mobile styling that adapts to mobile browsers. The backend is not publicly editable, so if someone would like me to delete one of their messages they are encouraged to contact me at [email protected] . Generally, message submissions are run through the backend to allow them to speak their mind, but prevent any kind of blocked words or phrases, spam, promotion, urls, etc. (full list can be found in the project README] I have also added an adjustable backend variable to change the message character limits easily preventing extremely long messages. Some other features that I have added are a side bar with a page index that allows you to quickly jump to a section and a contact section, a spotify widget that updates to a playlist I have made, a clickable heart counter on the side, and suggestion form box for playlist suggestions. I am currently working on improving the form and am considering removing the spotify widget to protect my personal account privacy. I may also add a total visitor count and remove some of the unnecessary animations in order to be more resource efficient. This project is currently licensed under an MIT license .", "repo": "https://github.com/megamann81/message-to-mega", "demo": "https://message-to-mega.vercel.app/"}]...
|
[{"post_id": 74202, "ts": "202 [{"post_id": 74202, "ts": "2026-09-26T22:15:37Z", "hours": 0.4858, "text": "Message to Mega Project Purpose This markdown file was made by megamann81 to explain this projects purpose for the Stardance Challenge project (this part was made for the repository to explain the PROJECTPURPOSE.md file) Message to Mega was created as a means for people to send messages to me without any judgment and to claim a spot in the registry, like historic visitor websites people have made in the past. People on the website can post a message of their own, use their own username, see other people’s messages, and give suggestions on the website. The website features responsive mobile styling that adapts to mobile browsers. The backend for the project is located at https://wcafxaensepvnhzebixg.supabase.co The backend is not publicly editable, so if someone would like me to delete one of their messages they are encouraged to contact me at [email protected] . Generally, message submissions are run through the backend to allow them to speak their mind, but prevent any kind of blocked words or phrases, spam, promotion, urls, etc. (full list can be found in the project README ) I have also added an adjustable backend variable to change the message character limits easily preventing extremely long messages. Some other features that I have added are a side bar with a page index that allows you to quickly jump to a section and a contact section, a spotify widget that updates to a playlist I have made, a clickable heart counter on the side, and suggestion form box for playlist suggestions. I am currently working on improving the form and am considering removing the spotify widget to protect my personal account privacy. I may also add a total visitor count and remove some of the unnecessary animations in order to be more resource efficient. This project is currently licensed under an MIT license ."}]...
|
Title: Visitor Site by @luke_ib_bronson | Stardanc Title: Visitor Site by @luke_ib_bronson | Stardance
Devlogs:
Message to Mega Project Purpose This markdown file was made by megamann81 to explain this projects purpose for the Stardance Challenge project (this part was made for the repository to explain the PROJECTPURPOSE.md file) Message to Mega was created as a means for people to send messages to me without any judgment and to claim a spot in the registry, like historic visitor websites people have made in the past. People on the website can post a message of their own, use their own username, see other people’s messages, and give suggestions on the website. The website features responsive mobile styling that adapts to mobile browsers. The backend for the project is located at https://wcafxaensepvnhzebixg.supabase.co The backend is not publicly editable, so if someone would like me to delete one of their messages they are encouraged to contact me at [email protected] . Generally, message submissions are run through the backend to allow them to speak their mind, but prevent any kind of blocked words or phrases, spam, promotion, urls, etc. (full list can be found in the project README ) I have also added an adjustable backend variable to change the message character limits easily preventing extremely long messages. Some other features that I have added are a side bar with a page index that allows you to quickly jump to a section and a contact section, a spotify widget that updates to a playlist I have made, a clickable heart counter on the side, and suggestion form box for playlist suggestions. I am currently working on improving the form and am considering removing the spotify widget to protect my personal account privacy. I may also add a total visitor count and remove some of the unnecessary animations in order to be more resource efficient. This project is currently licensed under an MIT license .
Ships:
Message to Mega was created as a means for people to send messages to me without any judgment and to claim a spot in the registry, like historic visitor websites people have made in the past. I have worked on the project mostly disconnected from stardance and hackclub for hours on my own, attempting to make the quality presentable and publishable. People on the website can post a message of their own, use their own username, see other people’s messages, and give suggestions on the website. The website features responsive mobile styling that adapts to mobile browsers. The backend is not publicly editable, so if someone would like me to delete one of their messages they are encouraged to contact me at [email protected] . Generally, message submissions are run through the backend to allow them to speak their mind, but prevent any kind of blocked words or phrases, spam, promotion, urls, etc. (full list can be found in the project README] I have also added an adjustable backend variable to change the message character limits easily preventing extremely long messages. Some other features that I have added are a side bar with a page index that allows you to quickly jump to a section and a contact section, a spotify widget that updates to a playlist I have made, a clickable heart counter on the side, and suggestion form box for playlist suggestions. I am currently working on improving the form and am considering removing the spotify widget to protect my personal account privacy. I may also add a total visitor count and remove some of the unnecessary animations in order to be more resource efficient. This project is currently licensed under an MIT license ....
|
1793216837.3457031
|
1793303237.3457031
|
|
66142
|
MicroDevSaftey by @I-like-BWRs | Stardance
|
I-like-BWRs
|
0
|
0.43
|
0
|
[]
|
[{"post_id": 74206, "ts": "202 [{"post_id": 74206, "ts": "2026-09-26T22:20:03Z", "hours": 0.4333, "text": "The very beginning …. Since Stardance has been extended by a month I though I would make a quick and cool project to finish off. So this idea was born about a smoke alarm, mixed with a tempreture sensor, VOC sensor, current sensor and other air quality sensors. The idea is I get a wireless surge protected multiplug board - then control it over wifi from a small control box - with buttons to trip power to all my bench equipment in the case of: Dangerous Heat Smoke Over Current Also make it has alarms that go off if it senses fumes in the air. So like a room saftey moniter that also does power control. I spent most of this devlog debating in my head if I should make the sensor box separate or in the same box as the power control one."}]...
|
Title: MicroDevSaftey by @I-like-BWRs | Stardance
Title: MicroDevSaftey by @I-like-BWRs | Stardance
Devlogs:
The very beginning …. Since Stardance has been extended by a month I though I would make a quick and cool project to finish off. So this idea was born about a smoke alarm, mixed with a tempreture sensor, VOC sensor, current sensor and other air quality sensors. The idea is I get a wireless surge protected multiplug board - then control it over wifi from a small control box - with buttons to trip power to all my bench equipment in the case of: Dangerous Heat Smoke Over Current Also make it has alarms that go off if it senses fumes in the air. So like a room saftey moniter that also does power control. I spent most of this devlog debating in my head if I should make the sensor box separate or in the same box as the power control one....
|
1793094746.7655113
|
1793699546.7655113
|
|
66129
|
Personal site by @olton | Stardance
|
olton
|
0
|
0.87
|
0
|
[]
|
[{"post_id": 74210, "ts": "202 [{"post_id": 74210, "ts": "2026-09-26T22:23:58Z", "hours": 0.8669, "text": "Started working on da website. Made list of things to add and a very basic sketch of how the webpage will look. I want that the user can click different parts of the image to explore different parts of the website so I experimented with ways to do that. Mainly with image maps. But they seem to be outdated so will look into more modern solutions tomorrow."}]...
|
Title: Personal site by @olton | Stardance
Devlog Title: Personal site by @olton | Stardance
Devlogs:
Started working on da website. Made list of things to add and a very basic sketch of how the webpage will look. I want that the user can click different parts of the image to explore different parts of the website so I experimented with ways to do that. Mainly with image maps. But they seem to be outdated so will look into more modern solutions tomorrow....
|
1793094725.41495
|
1793699525.41495
|
|
54759
|
NotGoingToBeLateToSchool by @Vedant_Daga | Stardan NotGoingToBeLateToSchool by @Vedant_Daga | Stardance...
|
Vedant_Daga
|
0
|
12.05
|
0
|
[]
|
[{"post_id": 74214, "ts": "202 [{"post_id": 74214, "ts": "2026-09-26T22:43:21Z", "hours": 1.6458, "text": "Devlog 5 fixed all teh issues the review brought up"}, {"post_id": 66350, "ts": "2026-09-12T03:58:10Z", "hours": 0.8417, "text": "Devlog 6 updated the case as per reviewer btw the screws on the front link up to a bar on teh back to keep it even more secure (reviewer look at this)"}, {"post_id": 65174, "ts": "2026-09-10T03:44:43Z", "hours": 0.9633, "text": "Devlog 5 - NotGoingToBeLateToSchool fixing the repo for submission adding mounting holes for the display made the entire thing like 4mm larger to make the display fit better"}, {"post_id": 61881, "ts": "2026-09-05T01:25:36Z", "hours": 3.4417, "text": "Devlog 4 - NotGoingToBeLateToSchool finally finished CADing the board (idk if thats a word) i kinda had to redo the entire board but oh well yk the final case its in two parts the top piece which is gonna be glued down and the body of the shape which has posts to hold the pcb moved the xiao and the display header to the bottom i also decided to use headers cuz this is my first time soldering a pcb so thats smth that could make this slightly easier the problem (cuz obviusly it cant be a smooth process the switch is 15.6mm across the plate flange and a 1u dsa cap is 18.4mm my keys were on 15.09mm so thats too small so the switches overlapped and so did the switch caps and i didnt want to have to cad the caps too rerouted everything to make sure it all fits the new pcb 461 tracks, 14 vias, was 284 (basically cut down hella on the overlapping things) i still have to make all the angles not right angles (i didnt know abt that until i say it on slack tdy when i was checking my pings (good to know ig)) things that i updated on the cad itself had to shift the usb cutout down a ton cuz i didnt account for the header lengths before firmware finished it. 4 alarms with their own days, info pages for weather, hackatime, now playing and world clocks put the spinning globe from my hackpad oled on the clock face next: get it approved so i can get the kit"}, {"post_id": 59985, "ts": "2026-09-02T02:10:33Z", "hours": 1.0489, "text": "Devlog 3 - NotGoingToBeLateToSchool penciled the full case design on paper (with dimensions and math cuz its annoying to have to figure that out by myself) paper first then onshape cuz thats easier and i can worry about things like pcb fitting and stuff beforehand switched to onshape from fusion and its kinda better cuz “create part studio in context” lets me model the case straight off the imported pcb step instead of retyping dimensions ill still prolly use fusion a lot, but like im more biased to onshape (thanks blare!) the shape its like a right trapeziod which i shelled the pcb is gonna sit on those posts you see and then imma screw it in the screen is gonna be in the front openign with teh jumpers and stuff thats abt it next: finishing the CAD"}, {"post_id": 58522, "ts": "2026-08-30T23:16:39Z", "hours": 0.2536, "text": "Devlog 2 - NotGoingToBeLateToSchool firmware is basically done wifi + ntp so it knows the time without an rtc clock face 3x3 matrix scan alarm with a buzzer that speeds up the longer you ignore it 3 snoozes max, then it makes you type a code on the keypad to kill it the display was the annoying bit. 284x76 is not a size the st7789 library expects, so it needs init(76, 284) and setOffsets(82, 18) or you get the picture shoved into a corner. and Adafruit_ST7789 makes setOffsets protected, so you have to subclass it just to call it. posting the cad in more detail next time, sorry (scared of losing my streak) this is my planned cad design"}, {"post_id": 56935, "ts": "2026-08-28T23:20:02Z", "hours": 3.8572, "text": "Devlog 1 - NotGoingToBeLateToSchool what it is : xiao esp32c3, 3x3 keypad on top of the case, 2.25in st7789 on the front on jumpers. ambient display by day, alarm by night. features auto rotates through weather / hackatime hours / now playing / world clocks pulls real iphone notifications over ble with ancs at alarm time it pairs as a ble media remote and tells my phone to hit play on spotify, so i wake up to music not a piezo 3 snoozes max. on the 3rd you type a code on the keypad to kill it screen ramps brighter as the alarm approaches, fake sunrise the board (schematic + pcb done and routed) 69.5 x 97mm, 2 layers, 25 footprints 284 tracks, 22 vias, about 2.1m of copper keys on the top side at 19.05 pitch, everything else underneath so the case only shows keycaps xiao at the back with usb-c out the rear, display header at the front edge so the jumper run is short diodes tucked into the gaps between key rows stuff i got wrong thought i could make it a bluetooth speaker. c3 is ble only, no bluetooth classic, so a2dp is impossible. hence the ble remote workaround spent ages thinking the extra pins on top of the xiao were spare. they’re jtag pads for gpio i was already using so bl goes to gnd and rst to 3v3 like the docs say. no hardware brightness, sunrise ramp is a dimming palette instead wanted a rotary encoder, isn’t in the kit. went 3x3 matrix instead, 9 keys off 6 pins using diodes already in the box next : case cad, then firmware"}]...
|
Title: NotGoingToBeLateToSchool by @Vedant_Daga | Title: NotGoingToBeLateToSchool by @Vedant_Daga | Stardance
Devlogs:
Devlog 1 - NotGoingToBeLateToSchool what it is : xiao esp32c3, 3x3 keypad on top of the case, 2.25in st7789 on the front on jumpers. ambient display by day, alarm by night. features auto rotates through weather / hackatime hours / now playing / world clocks pulls real iphone notifications over ble with ancs at alarm time it pairs as a ble media remote and tells my phone to hit play on spotify, so i wake up to music not a piezo 3 snoozes max. on the 3rd you type a code on the keypad to kill it screen ramps brighter as the alarm approaches, fake sunrise the board (schematic + pcb done and routed) 69.5 x 97mm, 2 layers, 25 footprints 284 tracks, 22 vias, about 2.1m of copper keys on the top side at 19.05 pitch, everything else underneath so the case only shows keycaps xiao at the back with usb-c out the rear, display header at the front edge so the jumper run is short diodes tucked into the gaps between key rows stuff i got wrong thought i could make it a bluetooth speaker. c3 is ble only, no bluetooth classic, so a2dp is impossible. hence the ble remote workaround spent ages thinking the extra pins on top of the xiao were spare. they’re jtag pads for gpio i was already using so bl goes to gnd and rst to 3v3 like the docs say. no hardware brightness, sunrise ramp is a dimming palette instead wanted a rotary encoder, isn’t in the kit. went 3x3 matrix instead, 9 keys off 6 pins using diodes already in the box next : case cad, then firmware
Devlog 2 - NotGoingToBeLateToSchool firmware is basically done wifi + ntp so it knows the time without an rtc clock face 3x3 matrix scan alarm with a buzzer that speeds up the longer you ignore it 3 snoozes max, then it makes you type a code on the keypad to kill it the display was the annoying bit. 284x76 is not a size the st7789 library expects, so it needs init(76, 284) and setOffsets(82, 18) or you get the picture shoved into a corner. and Adafruit_ST7789 makes setOffsets protected, so you have to subclass it just to call it. posting the cad in more detail next time, sorry (scared of losing my streak) this is my planned cad design
Devlog 3 - NotGoingToBeLateToSchool penciled the full case design on paper (with dimensions and math cuz its annoying to have to figure that out by myself) paper first then onshape cuz thats easier and i can worry about things like pcb fitting and stuff beforehand switched to onshape from fusion and its kinda better cuz “create part studio in context” lets me model the case straight off the imported pcb step instead of retyping dimensions ill still prolly use fusion a lot, but like im more biased to onshape (thanks blare!) the shape its like a right trapeziod which i shelled the pcb is gonna sit on those posts you see and then imma screw it in the screen is gonna be in the front openign with teh jumpers and stuff thats abt it next: finishing the CAD
Devlog 4 - NotGoingToBeLateToSchool finally finished CADing the board (idk if thats a word) i kinda had to redo the entire board but oh well yk the final case its in two parts the top piece which is gonna be glued down and the body of the shape which has posts to hold the pcb moved the xiao and the display header to the bottom i also decided to use headers cuz this is my first time soldering a pcb so thats smth that could make this slightly easier the problem (cuz obviusly it cant be a smooth process the switch is 15.6mm across the plate flange and a 1u dsa cap is 18.4mm my keys were on 15.09mm so thats too small so the switches overlapped and so did the switch caps and i didnt want to have to cad the caps too rerouted everything to make sure it all fits the new pcb 461 tracks, 14 vias, was 284 (basically cut down hella on the overlapping things) i still have to make all the angles not right angles (i didnt know abt that until i say it on slack tdy when i was checking my pings (good to know ig)) things that i updated on the cad itself had to shift the usb cutout down a ton cuz i didnt account for the header lengths before firmware finished it. 4 alarms with their own days, info pages for weather, hackatime, now playing and world clocks put the spinning globe from my hackpad oled on the clock face next: get it approved so i can get the kit
Devlog 5 - NotGoingToBeLateToSchool fixing the repo for submission adding mounting holes for the display made the entire thing like 4mm larger to make the display fit better
Devlog 6 updated the case as per reviewer btw the screws on the front link up to a bar on teh back to keep it even more secure (reviewer look at this)
Devlog 5 fixed all teh issues the review brought up...
|
1792803218.7955706
|
1793408018.7955706
|
|
61503
|
SimpleOS by @reyansh_saindane | Stardance
|
reyansh_saindane
|
2
|
10.0
|
12
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T23:01:58Z", "hours": 3.0, "multiplier": 3.44, "payout": 12, "blessing": "neutral", "text": "I made a SimpleOS for the WebOS challenge. The most challenging part of this project was the notes app (because it took a log time to style properly) and the weather app (because I had to connect it to an API). I’m really proud of this project because I know barely any HTML/CSS/JS and I was still able to build something pretty clean and coherent. Try it out yourself at the link below!", "repo": "https://github.com/ReyanshS11/SimpleOS", "demo": "https://reyanshs11.github.io/SimpleOS"}, {"ship_num": 2, "ts": "2026-09-20T17:07:50Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Simple WebOS. The theme is to keep it simple. It has a simple notes app, a simple date and time, and a simple weather app. The most challenging thing for me in this project was learning HTML/CSS/JS. I have had barely any experience with those in the past (like a few hours), so this project really helped me learn new things. I am most proud of the weather app because I had to connect it to an API.", "repo": "https://github.com/ReyanshS11/SimpleOS", "demo": "https://reyanshs11.github.io/SimpleOS"}]...
|
[{"post_id": 74219, "ts": "202 [{"post_id": 74219, "ts": "2026-09-26T22:57:44Z", "hours": 0.8744, "text": "Music app I added a music app with 5 different choices of music (all instrumental because they were they only free downloads I could find). I’m going to ship now!"}, {"post_id": 74183, "ts": "2026-09-26T21:13:17Z", "hours": 1.1025, "text": "Two new apps! I added two new apps! You can now open Google in SimpleOS and you can also change the background color."}, {"post_id": 71994, "ts": "2026-09-21T23:16:20Z", "hours": 1.4242, "text": "New app! I just made a timer app. I couldn’t think of any ideas for apps so I just went to some default smartphone apps, and ended up choosing a timer. If you have any ideas, I’m open to them. Just comment on this devlog."}, {"post_id": 70863, "ts": "2026-09-19T21:48:38Z", "hours": 0.3825, "text": "Small change to the notes I made it so that you can now add notes and edit their names."}, {"post_id": 70851, "ts": "2026-09-19T21:23:50Z", "hours": 3.5383, "text": "Finished website I just finished the website. The final website has a welcome screen, notes app, and a weather app with real time weather data from your location!"}, {"post_id": 67409, "ts": "2026-09-13T14:40:57Z", "hours": 3.4986, "text": "Finished basic functionality I’m building a very simple webOS (maybe too simple). I’ve just finished the basic functionality, which includes, adding a window, opening and closing it, and a top bar with data like data and time. Next up is to make some apps!"}]...
|
Title: SimpleOS by @reyansh_saindane | Stardance
Title: SimpleOS by @reyansh_saindane | Stardance
Devlogs:
Finished basic functionality I’m building a very simple webOS (maybe too simple). I’ve just finished the basic functionality, which includes, adding a window, opening and closing it, and a top bar with data like data and time. Next up is to make some apps!
Finished website I just finished the website. The final website has a welcome screen, notes app, and a weather app with real time weather data from your location!
Small change to the notes I made it so that you can now add notes and edit their names.
New app! I just made a timer app. I couldn’t think of any ideas for apps so I just went to some default smartphone apps, and ended up choosing a timer. If you have any ideas, I’m open to them. Just comment on this devlog.
Two new apps! I added two new apps! You can now open Google in SimpleOS and you can also change the background color.
Music app I added a music app with 5 different choices of music (all instrumental because they were they only free downloads I could find). I’m going to ship now!
Ships:
I made a Simple WebOS. The theme is to keep it simple. It has a simple notes app, a simple date and time, and a simple weather app. The most challenging thing for me in this project was learning HTML/CSS/JS. I have had barely any experience with those in the past (like a few hours), so this project really helped me learn new things. I am most proud of the weather app because I had to connect it to an API.
I made a SimpleOS for the WebOS challenge. The most challenging part of this project was the notes app (because it took a log time to style properly) and the weather app (because I had to connect it to an API). I’m really proud of this project because I know barely any HTML/CSS/JS and I was still able to build something pretty clean and coherent. Try it out yourself at the link below!...
|
1793209733.978546
|
1793296133.978546
|
|
49998
|
Portable Dice by @TCNCRTR | Stardance
|
TCNCRTR
|
0
|
4.52
|
0
|
[]
|
[{"post_id": 74225, "ts": "202 [{"post_id": 74225, "ts": "2026-09-26T23:59:30Z", "hours": 1.9289, "text": "I restarted it due to the previous version having over 300+ errors, so i used the previous code to help develop the new one. I was able to make the 6-sided die work perfectly, but once added the d1-10, it broke, i tried to fix it, but i was being unsure of how to make the randomizer part efficient and work properly with more than 1 type of dice."}, {"post_id": 51954, "ts": "2026-08-21T22:22:34Z", "hours": 1.3847, "text": "i worked on creating different modes, for dice from D6, to D2, only issues that arose was failure to change between modes thru than D5 and D6, and the roll, would allow for D6 to somehow roll values from 11 to 1."}, {"post_id": 51294, "ts": "2026-08-20T21:03:54Z", "hours": 0.3839, "text": "I attempted to build the menu screen for the dice, now the background set almost perfectly, but the buttons are being an issue, as im still unsure how to program that once one button is clicked, then another button is clicked, but it cannot reverse backward. So far, i have made the option for 4-sided dice, and 6-sided dice. the screenshot below, is my code for the background used in every screen, its simple, but doable."}, {"post_id": 48574, "ts": "2026-08-17T00:51:58Z", "hours": 0.8253, "text": "i built the homescreen for my spinner, yall know those spinners that randomly choose numbers or names, so im creating that, but a portable option, could also work as a portable dice. i also inputted some test samples to see if it will all work right, one button, the blue one, will be made to choose between different dice levels (aka. 6,12,15,100, etc) and left , the red one, will be used to roll a number. If you see some leds, those were a failed experiment of how to input them into this project, i kept them incase i want to put it in a later update."}]...
|
Title: Portable Dice by @TCNCRTR | Stardance
Devl Title: Portable Dice by @TCNCRTR | Stardance
Devlogs:
i built the homescreen for my spinner, yall know those spinners that randomly choose numbers or names, so im creating that, but a portable option, could also work as a portable dice. i also inputted some test samples to see if it will all work right, one button, the blue one, will be made to choose between different dice levels (aka. 6,12,15,100, etc) and left , the red one, will be used to roll a number. If you see some leds, those were a failed experiment of how to input them into this project, i kept them incase i want to put it in a later update.
I attempted to build the menu screen for the dice, now the background set almost perfectly, but the buttons are being an issue, as im still unsure how to program that once one button is clicked, then another button is clicked, but it cannot reverse backward. So far, i have made the option for 4-sided dice, and 6-sided dice. the screenshot below, is my code for the background used in every screen, its simple, but doable.
i worked on creating different modes, for dice from D6, to D2, only issues that arose was failure to change between modes thru than D5 and D6, and the roll, would allow for D6 to somehow roll values from 11 to 1.
I restarted it due to the previous version having over 300+ errors, so i used the previous code to help develop the new one. I was able to make the 6-sided die work perfectly, but once added the d1-10, it broke, i tried to fix it, but i was being unsure of how to make the randomizer part efficient and work properly with more than 1 type of dice....
|
1793314639.872936
|
1793919439.872936
|
|
66060
|
My awesome macropad! by @lotus64 | Stardance
|
lotus64
|
0
|
0.35
|
0
|
[]
|
[{"post_id": 74231, "ts": "202 [{"post_id": 74231, "ts": "2026-09-27T00:40:09Z", "hours": 0.35, "text": "A macro pad, first time on kicad i dont know where i am going but this is interesting !"}]...
|
Title: My awesome macropad! by @lotus64 | Stardanc Title: My awesome macropad! by @lotus64 | Stardance
Devlogs:
A macro pad, first time on kicad i dont know where i am going but this is interesting !...
|
1793094634.3327124
|
1793699434.3327124
|
|
63316
|
What Don't You Know by @Air-Fryer | Stardance
|
Air-Fryer
|
0
|
0.45
|
0
|
[]
|
[{"post_id": 74244, "ts": "202 [{"post_id": 74244, "ts": "2026-09-27T01:42:26Z", "hours": 0.45, "text": "Cursor, consider yourself created!"}]...
|
Title: What Don't You Know by @Air-Fryer | Sta Title: What Don't You Know by @Air-Fryer | Stardance
Devlogs:
Cursor, consider yourself created!...
|
1793051328.6959276
|
1793656128.6959276
|
|
64484
|
whats up in nasa by @shauz | Stardance
|
shauz
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T01:54:15Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i have made a very attractive looking ui for this Nasa website. this website calls NASA’s api key for todays article and photo and displays it beautifully in the website. LANGUAGES USED: JavaScript, css, html", "repo": "https://github.com/wowaidummy/Random-website-project", "demo": "https://nasaarticles.vercel.app"}]...
|
[{"post_id": 74248, "ts": "202 [{"post_id": 74248, "ts": "2026-09-27T01:51:23Z", "hours": 0.2886, "text": "the app was not displaying on the webso now i hosted it properly using vercel"}, {"post_id": 74029, "ts": "2026-09-26T15:38:04Z", "hours": 0.2661, "text": "I have completed the website for the nasa api project. this porject calls tha nasa api for an image and a article and displays it with flawless css for a clean and proper webpage. ive use ai for debugging and fixing error. thanks for checking out!"}]...
|
Title: whats up in nasa by @shauz | Stardance
Dev Title: whats up in nasa by @shauz | Stardance
Devlogs:
I have completed the website for the nasa api project. this porject calls tha nasa api for an image and a article and displays it with flawless css for a clean and proper webpage. ive use ai for debugging and fixing error. thanks for checking out!
the app was not displaying on the webso now i hosted it properly using vercel
Ships:
i have made a very attractive looking ui for this Nasa website. this website calls NASA’s api key for todays article and photo and displays it beautifully in the website. LANGUAGES USED: JavaScript, css, html...
|
1793213596.2241044
|
1793299996.2241044
|