|
6775
|
Manenti Macropad by @Manenti | Stardance
|
|
1
|
3.12
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-04T20:18:15Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a custom 3-key macropad for media control. The keyboard has three buttons: previous track, next track, and play/pause. I designed the PCB in KiCad, modeled the case and top plate in Autodesk Fusion 360, and wrote the firmware using KMK with CircuitPython. The most challenging part was designing the 3D case around the PCB, especially aligning the USB-C cutout, adjusting the wall height, and making the top and bottom pieces fit correctly. I also had to learn how to export the PCB as a STEP file and use it as a reference inside Fusion 360. I am proud that I built the whole project from the electronics to the mechanical case and firmware. This was my first time using Fusion 360, so finishing a working enclosure with a top plate, bottom case, USB cutout, and screw mounting points was a big achievement. To test the project, flash CircuitPython onto a compatible board such as the Seeed Studio XIAO RP2040, copy KMK to the CIRCUITPY drive, and place the code.py firmware file on the board. The switches are connected to pins D0, D1, and D2, and the LEDs are connected to D3. Once connected to a computer, the macropad should work as a USB keyboard and send media control commands.", "repo": "https://github.com/noname697/Amazing-Macropad", "demo": ""}]...
|
[{"post_id": 27309, "ts": "202 [{"post_id": 27309, "ts": "2026-07-12T19:32:51Z", "hours": 2.7664, "text": "Atualizações Added pilot holes for heat-set inserts to improve alignment during installation. Added pass-through screw holes to the top case for M3 screws. Added four mounting holes to the PCB aligned with the case pillars. Rewrite the README"}, {"post_id": 2473, "ts": "2026-06-04T23:53:08Z", "hours": 0.3522, "text": "Translating the Readme.md"}, {"post_id": 2353, "ts": "2026-06-04T20:04:13Z", "hours": 0.4636, "text": "Finishing the project"}]...
|
Title: Manenti Macropad by @Manenti | Stardance
D Title: Manenti Macropad by @Manenti | Stardance
Devlogs:
Finishing the project
Translating the Readme.md
Atualizações Added pilot holes for heat-set inserts to improve alignment during installation. Added pass-through screw holes to the top case for M3 screws. Added four mounting holes to the PCB aligned with the case pillars. Rewrite the README
Ships:
I made a custom 3-key macropad for media control. The keyboard has three buttons: previous track, next track, and play/pause. I designed the PCB in KiCad, modeled the case and top plate in Autodesk Fusion 360, and wrote the firmware using KMK with CircuitPython. The most challenging part was designing the 3D case around the PCB, especially aligning the USB-C cutout, adjusting the wall height, and making the top and bottom pieces fit correctly. I also had to learn how to export the PCB as a STEP file and use it as a reference inside Fusion 360. I am proud that I built the whole project from the electronics to the mechanical case and firmware. This was my first time using Fusion 360, so finishing a working enclosure with a top plate, bottom case, USB cutout, and screw mounting points was a big achievement. To test the project, flash CircuitPython onto a compatible board such as the Seeed Studio XIAO RP2040, copy KMK to the CIRCUITPY drive, and place the code.py firmware file on the board. The switches are connected to pins D0, D1, and D2, and the LEDs are connected to D3. Once connected to a computer, the macropad should work as a USB keyboard and send media control commands....
|
1792997710.7454205
|
1793084110.7454205
|
|
26055
|
Private Instagram Frontend by @thisisforjunk56 | S Private Instagram Frontend by @thisisforjunk56 | Stardance...
|
thisisforjunk56
|
1
|
7.0
|
40
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T20:03:24Z", "hours": 7.0, "multiplier": 5.78, "payout": 40, "blessing": "neutral", "text": "I made a private frontend for Instagram reels (doesn’t work for posts) so that I could share reels with my friends who don’t have an instagram account and don’t want to make one. It took me a while because I forgot yt-dlp had support for cookies so that I could let it use my auth cookie after I had logged in, so I was scratching my head trying to figure out how to make it work. and then I read the docs and figured out why.", "repo": "https://github.com/thisisforjunk56/private-instagram-frontend", "demo": "https://ig.eofr.dev/"}]...
|
[{"post_id": 17979, "ts": "202 [{"post_id": 17979, "ts": "2026-06-28T22:50:43Z", "hours": 6.8886, "text": "I forgot ot log my time noooooo Anyway, this is as much time as I’m willing to put into this. It’s a small app so that you can share Instagram reels with friends that don’t have an instagram account"}]...
|
Title: Private Instagram Frontend by @thisisforjun Title: Private Instagram Frontend by @thisisforjunk56 | Stardance
Devlogs:
I forgot ot log my time noooooo Anyway, this is as much time as I’m willing to put into this. It’s a small app so that you can share Instagram reels with friends that don’t have an instagram account
Ships:
I made a private frontend for Instagram reels (doesn’t work for posts) so that I could share reels with my friends who don’t have an instagram account and don’t want to make one. It took me a while because I forgot yt-dlp had support for cookies so that I could let it use my auth cookie after I had logged in, so I was scratching my head trying to figure out how to make it work. and then I read the docs and figured out why....
|
1792997709.8945777
|
1793084109.8945777
|
|
25788
|
kBOT by @kaansen9611 | Stardance
|
kaansen9611
|
1
|
1.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-25T21:19:46Z", "hours": 1.0, "multiplier": 1.82, "payout": 2, "blessing": "neutral", "text": "I built kBOT, a Slack bot that responds to custom slash commands and runs 24/7.The biggest challenge was deployment and debugging. I had to solve issues with Slack configuration, GitHub updates, and making sure the bot was running the latest version of the code.I’m proud that I kept working through those problems and successfully got every command working reliably.To test kBOT, join the provided Slack workspace and use the commands in the #kaans-workshop channel.", "repo": "https://github.com/KaanSen9611/kBOT", "demo": "https://hackclub.enterprise.slack.com/archives/C0BE3EYJWTS"}]...
|
[{"post_id": 15907, "ts": "202 [{"post_id": 15907, "ts": "2026-06-25T21:06:18Z", "hours": 0.3339, "text": "I deployed kBOT to a Nest container and it’s now running 24/7 After setting up the server and configuring the environment, I successfully got the bot running continuously without needing my computer to stay online.This is a big milestone for the project because kBOT is now available at all times"}, {"post_id": 15747, "ts": "2026-06-25T16:56:12Z", "hours": 0.5622, "text": "Today I created kBOT and completed the first successful tests. I set up the bot, connected it to Slack, and verified that it could properly receive and respond to commands. After some debugging and testing, everything started working as expected. This marks the first working version of kBOT. More features, commands, and improvements are planned for future updates."}]...
|
Title: kBOT by @kaansen9611 | Stardance
Devlogs:
Title: kBOT by @kaansen9611 | Stardance
Devlogs:
Today I created kBOT and completed the first successful tests. I set up the bot, connected it to Slack, and verified that it could properly receive and respond to commands. After some debugging and testing, everything started working as expected. This marks the first working version of kBOT. More features, commands, and improvements are planned for future updates.
I deployed kBOT to a Nest container and it’s now running 24/7 After setting up the server and configuring the environment, I successfully got the bot running continuously without needing my computer to stay online.This is a big milestone for the project because kBOT is now available at all times
Ships:
I built kBOT, a Slack bot that responds to custom slash commands and runs 24/7.The biggest challenge was deployment and debugging. I had to solve issues with Slack configuration, GitHub updates, and making sure the bot was running the latest version of the code.I’m proud that I kept working through those problems and successfully got every command working reliably.To test kBOT, join the provided Slack workspace and use the commands in the #kaans-workshop channel....
|
1792997708.786697
|
1793084108.786697
|
|
27955
|
go(al!) study by @shuaiyf | Stardance
|
shuaiyf
|
1
|
17.0
|
101
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T20:37:05Z", "hours": 17.0, "multiplier": 5.0, "payout": 101, "blessing": "neutral", "text": "Do you want to keep up with a soccer / football match, but can’t because you don’t have TSN or cable TV? Can’t because you have work, or you have to study? Want to larp being a football fan? These were exact dilemmas that I faced this summer during the FIFA World Cup. That is why I built “go(al!) study”, a real ball that I gutted, then mounted an OLED display and my RaspberryPi into. It is a small, very customized scoreboard for both FIFA and any other soccer / football match I want to larp - er, I mean keep up with. This is my first hardware project that I built by myself. I’ve worked very little with RaspberryPi’s and no experience with OLED displays at all, but I found it was a very rewarding experience to learn (shout-out to my dad! he’s a hardware engineer and this project would not be possible without the technology that he donated to me!) Happy with how it turned out in the end :)", "repo": "https://github.com/selinayunfei/software-goalstudy", "demo": ""}]...
|
[{"post_id": 30871, "ts": "202 [{"post_id": 30871, "ts": "2026-07-18T20:27:59Z", "hours": 1.8078, "text": "⋆˚꩜。 Devlog Six : Hooray!! Last devlog (for now…) Finished up some finishing edits to the code, including comments, etc. and finished up my README file! This is definitely one of the higher effort Readme’s I’ve made, and includes a haste guide on how to set it up yourself (Python library installations, RaspberryPi terminal commands). I also recorded a demo - don’t know if I did it right, bear with me! Overall, really happy with how everything turned out. This is one of my first hardware projects - and the first I’ve tried on my own - and I’m really glad I’ve been pushing myself to try to learn new skills, even if it’s just a basic hardware project. Excited to see what I can build next."}, {"post_id": 29895, "ts": "2026-07-17T01:55:46Z", "hours": 0.5003, "text": "⋆˚꩜。 Devlog Six : Wanted to decorate it a little so I sketched some patterns :) Really wanted to shout out to Capo Verde - drew England because their flag was easy and Canada bc that’s my country !! rah!!"}, {"post_id": 29876, "ts": "2026-07-17T01:18:13Z", "hours": 1.4028, "text": "⋆˚꩜。 Devlog Five : A couple of things for today! Bugs are fixed! The program worked perfectly during the Spain-France game! :) For the final piece of software, I set a piece of code in my Pi which runs the program automatically when it boots. While I was originally going to CAD and 3D print a ball, I realised that I did not have enough resources to complete the job and I also didn’t want to drag the project out longer by learning how to do CAD and finding a 3D printing place in my city. Thus, I did the obvious: I gutted a real rubber soccer ball and put my Pi into it! I secured the display using paper clips and filled the ball back with stuffing. The whole process took a lot shorter than I though; however, I had a mishap with Lapse (used it on my iPad for the first tiome) and completely did not realise that it was not recording for a good chunk of it….. Overall, the ball feels… very homey and very “DIY”, but for my first hardware project I kind of like it! I didn’t expect myself to have an 100% polished project and am happy with what I have for now. Certainly there are improvements I’m going to make for the F1 and figure skater versions of this project! SPAIN LOCK IN FOR FINALS SPAIN PLEASE"}, {"post_id": 28040, "ts": "2026-07-14T01:56:15Z", "hours": 1.1414, "text": "⋆˚꩜。 Devlog Four : Ran into some bugs while live testing Argentina vs. Switzerland match. Realised that the program was getting stuck in the gaps between half-time and second half as well as second half and extra time. Did some debugging! Tried to live test with this Atlanta vs. Colegiales match but was unable to reproduce the error since the game ended at FT. We’ll see how well my program does during the France-Spain game tomorrow! :,)"}, {"post_id": 26959, "ts": "2026-07-12T01:45:44Z", "hours": 3.9281, "text": "⋆˚꩜。 Devlog Three : Started the hardware aspect of this project! Connected to my RaspberryPi via SSH and realised that it was a lot easier to just translate all of the code into Python to run it on my Pi. Learned how to draw on the OLED display, and it ended up being a lot smoother and straightforward of a process than I expected! Was able to transfer the features I had written for my website really easily onto the display. I was able to test the scoreboard in real time! Next steps: Minor adjustments to display. CAD and 3D print a football to enclose all components! :) PS: NORWAY </3 AFKAJ live testing this was one of the most stressful things i ever did and it was NOT because of the code. extra time was an experience. norway + haaland my goat you will always be famous."}, {"post_id": 21045, "ts": "2026-07-02T20:22:50Z", "hours": 2.4742, "text": "⋆˚꩜。 Devlog Two : Now has a functioning timer and score count for live data from the API! The program differentiates between half-time, penalty shootouts, and the actual game. Decided to focus on football exclusively for now, abandoning my idea of also including F1 and Figure Skating for later versions of this project. Also considering that this will later be a hardware project and not a website, I plan on moving this exclusively to a JS project, with scores printed in the terminal!"}, {"post_id": 18063, "ts": "2026-06-29T01:35:46Z", "hours": 5.5678, "text": "⋆˚꩜。 Devlog One : This is the software version of a hardware project I’ve been wanting to make! Basic UI done and added API for live FIFA data! Unfortunately forgot to take a screenshot during the FIFA game, will attach when they play tomorrow :) Designed the rough UI for the F1 race today, did not attach to API yet."}]...
|
Title: go(al!) study by @shuaiyf | Stardance
Devl Title: go(al!) study by @shuaiyf | Stardance
Devlogs:
⋆˚꩜。 Devlog One : This is the software version of a hardware project I’ve been wanting to make! Basic UI done and added API for live FIFA data! Unfortunately forgot to take a screenshot during the FIFA game, will attach when they play tomorrow :) Designed the rough UI for the F1 race today, did not attach to API yet.
⋆˚꩜。 Devlog Two : Now has a functioning timer and score count for live data from the API! The program differentiates between half-time, penalty shootouts, and the actual game. Decided to focus on football exclusively for now, abandoning my idea of also including F1 and Figure Skating for later versions of this project. Also considering that this will later be a hardware project and not a website, I plan on moving this exclusively to a JS project, with scores printed in the terminal!
⋆˚꩜。 Devlog Three : Started the hardware aspect of this project! Connected to my RaspberryPi via SSH and realised that it was a lot easier to just translate all of the code into Python to run it on my Pi. Learned how to draw on the OLED display, and it ended up being a lot smoother and straightforward of a process than I expected! Was able to transfer the features I had written for my website really easily onto the display. I was able to test the scoreboard in real time! Next steps: Minor adjustments to display. CAD and 3D print a football to enclose all components! :) PS: NORWAY </3 AFKAJ live testing this was one of the most stressful things i ever did and it was NOT because of the code. extra time was an experience. norway + haaland my goat you will always be famous.
⋆˚꩜。 Devlog Four : Ran into some bugs while live testing Argentina vs. Switzerland match. Realised that the program was getting stuck in the gaps between half-time and second half as well as second half and extra time. Did some debugging! Tried to live test with this Atlanta vs. Colegiales match but was unable to reproduce the error since the game ended at FT. We’ll see how well my program does during the France-Spain game tomorrow! :,)
⋆˚꩜。 Devlog Five : A couple of things for today! Bugs are fixed! The program worked perfectly during the Spain-France game! :) For the final piece of software, I set a piece of code in my Pi which runs the program automatically when it boots. While I was originally going to CAD and 3D print a ball, I realised that I did not have enough resources to complete the job and I also didn’t want to drag the project out longer by learning how to do CAD and finding a 3D printing place in my city. Thus, I did the obvious: I gutted a real rubber soccer ball and put my Pi into it! I secured the display using paper clips and filled the ball back with stuffing. The whole process took a lot shorter than I though; however, I had a mishap with Lapse (used it on my iPad for the first tiome) and completely did not realise that it was not recording for a good chunk of it….. Overall, the ball feels… very homey and very “DIY”, but for my first hardware project I kind of like it! I didn’t expect myself to have an 100% polished project and am happy with what I have for now. Certainly there are improvements I’m going to make for the F1 and figure skater versions of this project! SPAIN LOCK IN FOR FINALS SPAIN PLEASE
⋆˚꩜。 Devlog Six : Wanted to decorate it a little so I sketched some patterns :) Really wanted to shout out to Capo Verde - drew England because their flag was easy and Canada bc that’s my country !! rah!!
⋆˚꩜。 Devlog Six : Hooray!! Last devlog (for now…) Finished up some finishing edits to the code, including comments, etc. and finished up my README file! This is definitely one of the higher effort Readme’s I’ve made, and includes a haste guide on how to set it up yourself (Python library installations, RaspberryPi terminal commands). I also recorded a demo - don’t know if I did it right, bear with me! Overall, really happy with how everything turned out. This is one of my first hardware projects - and the first I’ve tried on my own - and I’m really glad I’ve been pushing myself to try to learn new skills, even if it’s just a basic hardware project. Excited to see what I can build next.
Ships:
Do you want to keep up with a soccer / football match, but can’t because you don’t have TSN or cable TV? Can’t because you have work, or you have to study? Want to larp being a football fan? These were exact dilemmas that I faced this summer during the FIFA World Cup. That is why I built “go(al!) study”, a real ball that I gutted, then mounted an OLED display and my RaspberryPi into. It is a small, very customized scoreboard for both FIFA and any other soccer / football match I want to larp - er, I mean keep up with. This is my first hardware project that I built by myself. I’ve worked very little with RaspberryPi’s and no experience with OLED displays at all, but I found it was a very rewarding experience to learn (shout-out to my dad! he’s a hardware engineer and this project would not be possible without the technology that he donated to me!) Happy with how it turned out in the end :)...
|
1792997707.641758
|
1793084107.641758
|
|
10110
|
Vencord Autoinstall by @snows_alt | Stardance
|
snows_alt
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-12T04:23:45Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a script that later turned into an executable to solve the issue of vencord randomly uninstalling when discord would update. To achieve this I first made a simple script to interact with the vencord installer CLI using subprocess. After this was done I made another script to automatically download a verify the integrity of the vencord installer CLI. After this I made another script that scheduled the running of the update script so it gets ran automatically on login. And then I packaged it all into a zip and EXE using pyinstaller and set that as a release! To try out the script you must have discord and vencord installed and to build it you need UV. Best of luck to anyone trying this out feel free to report any issues to me on GitHub!", "repo": "https://github.com/snqwq/Vencord-Autoinstall", "demo": "https://github.com/snqwq/Vencord-Autoinstall/releases/latest"}]...
|
[{"post_id": 7279, "ts": "2026 [{"post_id": 7279, "ts": "2026-06-12T04:13:05Z", "hours": 0.3656, "text": "Made a cool logo and updated readme :) All credit for the original vencord logo goes to the vencord team i literally just added autoinstall to the bottom trying to keep with the style and stuff, and it turned out pretty well I think."}, {"post_id": 7188, "ts": "2026-06-12T00:17:23Z", "hours": 3.0678, "text": "Made 0.1.0 of my script to automate vencord installation. The goal of this script is to prevent the occasional uninstallation of vencord whenever discord updates. All interaction with discord is through vencords own cli installer the script is just to automate its usage. Its currently only available for windows but linux support is hopefully going to happen soon :)"}]...
|
Title: Vencord Autoinstall by @snows_alt | Stardan Title: Vencord Autoinstall by @snows_alt | Stardance
Devlogs:
Made 0.1.0 of my script to automate vencord installation. The goal of this script is to prevent the occasional uninstallation of vencord whenever discord updates. All interaction with discord is through vencords own cli installer the script is just to automate its usage. Its currently only available for windows but linux support is hopefully going to happen soon :)
Made a cool logo and updated readme :) All credit for the original vencord logo goes to the vencord team i literally just added autoinstall to the bottom trying to keep with the style and stuff, and it turned out pretty well I think.
Ships:
I made a script that later turned into an executable to solve the issue of vencord randomly uninstalling when discord would update. To achieve this I first made a simple script to interact with the vencord installer CLI using subprocess. After this was done I made another script to automatically download a verify the integrity of the vencord installer CLI. After this I made another script that scheduled the running of the update script so it gets ran automatically on login. And then I packaged it all into a zip and EXE using pyinstaller and set that as a release! To try out the script you must have discord and vencord installed and to build it you need UV. Best of luck to anyone trying this out feel free to report any issues to me on GitHub!...
|
1792997706.7371056
|
1793084106.7371056
|
|
13482
|
milesOS by @miles_s_aguilar | Stardance
|
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T07:40:59Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "First ship of my OS! Try it out! I ported my pokemon walking simulator into it, just to really test the capabilities of the browser. There is a notes app which also saves your notes to your browser, and an about me section as well. I plan to add more to this in the future", "repo": "https://github.com/stackofdoggos/DoggoOS", "demo": "https://milesaguilar.com/OS/"}]...
|
[{"post_id": 11751, "ts": "202 [{"post_id": 11751, "ts": "2026-06-19T04:14:10Z", "hours": 1.3164, "text": "Working on hosting – just waiting for SSL Certificate to be issued :) Also went ahead and implemented my pokemon project in here"}, {"post_id": 6321, "ts": "2026-06-10T17:13:26Z", "hours": 0.8036, "text": "Finished the fourth part of the webOS Jam! I’m thinking that maybe I want to pivot to a pokemon-themed browser? I’m really not sure, but I want a unifying theme that I like… but is still representative of me. At least the apps will be pokemon-themed. Anyways, I added a Kartana-themed notes app. I thought Kartana would be appropriate since it’s a pokemon modelled after origami!"}, {"post_id": 5740, "ts": "2026-06-09T17:15:37Z", "hours": 0.8353, "text": "Just finished the 3rd part of the webOS Jam. Along with achieving the required tasks, I included a macOS-inspired traffic light button menu in the header. This is the 2nd (in addition to the dog gif) improvement I have made over the guide. Something that was challenging to perfect was the little icons (specifically the chevrons) within each of the buttons. I’m not sure if I want to continue with a strictly macOS design philosophy, though. I anticipate I’ll add a finder and other advanced functionality. If I abide by a macOS design philosophy, that might make the UI unecessarily bloated so I might do some paper sketches of something that looks like macOS but is more simplistic. We’ll see, though!"}, {"post_id": 5244, "ts": "2026-06-08T23:07:49Z", "hours": 1.5997, "text": "First 2 Parts of webOS Jam! Added middle div, background image, and top bar. A challenge that I undertook for the top bar was adding the gif of the dog in the center."}]...
|
Title: milesOS by @miles_s_aguilar | Stardance
De Title: milesOS by @miles_s_aguilar | Stardance
Devlogs:
First 2 Parts of webOS Jam! Added middle div, background image, and top bar. A challenge that I undertook for the top bar was adding the gif of the dog in the center.
Just finished the 3rd part of the webOS Jam. Along with achieving the required tasks, I included a macOS-inspired traffic light button menu in the header. This is the 2nd (in addition to the dog gif) improvement I have made over the guide. Something that was challenging to perfect was the little icons (specifically the chevrons) within each of the buttons. I’m not sure if I want to continue with a strictly macOS design philosophy, though. I anticipate I’ll add a finder and other advanced functionality. If I abide by a macOS design philosophy, that might make the UI unecessarily bloated so I might do some paper sketches of something that looks like macOS but is more simplistic. We’ll see, though!
Finished the fourth part of the webOS Jam! I’m thinking that maybe I want to pivot to a pokemon-themed browser? I’m really not sure, but I want a unifying theme that I like… but is still representative of me. At least the apps will be pokemon-themed. Anyways, I added a Kartana-themed notes app. I thought Kartana would be appropriate since it’s a pokemon modelled after origami!
Working on hosting – just waiting for SSL Certificate to be issued :) Also went ahead and implemented my pokemon project in here
Ships:
First ship of my OS! Try it out! I ported my pokemon walking simulator into it, just to really test the capabilities of the browser. There is a notes app which also saves your notes to your browser, and an about me section as well. I plan to add more to this in the future...
|
1792997705.5825574
|
1793084105.5825574
|
|
8111
|
Poorup.io by @jeremy | Stardance
|
jeremy
|
3
|
179.0
|
2137
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-06T17:48:41Z", "hours": 135.0, "multiplier": 18.44, "payout": 1778, "blessing": "neutral", "text": "Poorup — Biggest Update to date I’ve given the project a major overhaul, from its visual identity and everything else. This is geninuly one of the best projects i have created and iam proud to announce it I first started Poorup 3 and 1/2 months ago as a project to get introcude into webdesing and since then i have created 4 more website and revesiting it really shows my growth. Of course Ai was used by even then I could really feel my growth What was challening i decide to stay on CSS, html, and js instead of transferring it into another language for a simple reason i wanted to test how far i can push these 3 languages( i was just to lazy to learn a new language) How I used AI AI WAS USED IN THIS PROJECT for debugging and coding no UI or art generation. AI was a substantial coding and debugging tool, especially for backend work, bot logic, and tricky multiplayer edge cases. I used CodeScene to identify code-health hotspots. I wrote many page-specific backend features myself, then used GPT/Codex to help debug or split some larger hotspot files into smaller modules. Ai was also used to fix bugs in the Ipad Ui I created Poorup’s frontend UI and its SVG and art assets myself. AI helped in coding but never touched art. I didn’t compose the soundtrack. I selected open-source and other openly licensed tracks; their sources and license details are in the audio credits . I also rewrote the Git history to make the repository cleaner, so the current commit log isn’t a complete record of the project’s development. Also after around the 6th or 7th devlog i turned ai traccking of as to not fraud myself hours So if needed deplete hours. What’s new in this patch UI Full ui rework of everything nothing was left out every single Ui elemt was redone by scratch, with upto 6 themse each with their own custom soundtrack and background, this was the largest wish people had wished for when they reviewed my game and iam so proud of the UI. Boards and multiplayer New 40 and Metro-52 boards, with custom visual themes. Public rooms and private rooms with shareable codes; people can join as guests. Configurable rules, including double rent, vacation cash, even building, and randomized turn order. A deeper economy system Bank loans, player-to-player loans, equity deals, and hybrid contracts, with collateral and default consequences. Sponsored purchases: one player can fund another player’s property purchase in exchange for an agreed share. Negotiating now youre able to negotiate all offers you get instead of accepting or declining on the spot you can also keep them on hold An optional stock market for all the quant bros(gamblers) casino so now youre able to gamble Social I also added a full social systems with achievements, friends inviting people to lobbys seeing match history and more, also added the option to create your own 16x16 user icon Events one of the biggest features I decided to add global events which appear under certain conditions like to many houses standing which should reference the 2008 housing crises i also added stock market crash and alot more. Also global events can also combine to create seacil ones Parlor patrol this was supposed to be a cool minigame while waiting for your friends but it doesnt work and i cant fix the bug for the life of me so you can test it out but it doesnt work correclty all svg assets for it exist", "repo": "https://github.com/jeremy341/Poorup/", "demo": "https://poorup.jeremy-d.hackclub.app/"}, {"ship_num": 2, "ts": "2026-08-11T21:30:56Z", "hours": 7.0, "multiplier": 15.34, "payout": 115, "blessing": "neutral", "text": "Project Update I didnt even notice but all the changes i did i the last patches never got shipped so this one is about the last to changes which were adding modals, creating new UI and removing AI code check it out https://poorup.jeremy-d.hackclub.app/", "repo": "https://github.com/jeremy341/Poorup/", "demo": "https://poorup.jeremy-d.hackclub.app/"}, {"ship_num": 3, "ts": "2026-06-17T14:42:48Z", "hours": 17.0, "multiplier": 14.39, "payout": 244, "blessing": "neutral", "text": "Poorup Poorup is a real-time multiplayer board game inspired by Richup(Monopoly), playable entirely in the browser What did I make? A full multiplayer board game running on a Node.js server with Socket.IO for real-time communication. The client is pure HTML, CSS, and JavaScript, no frameworks which is stupid if I look back on it . Features include: Room-based lobbies with a shareable room code Full Monopoly-style rules: buying, renting, building houses and hotels, mortgaging, and trading Live auctions with a countdown timer when a property is declined Configurable game rules per room (double rent, vacation cash, even build, auction, mortgage, randomized turn order, no rent in jail) Reconnect support — if you disconnect mid-turn, you can rejoin and resume In-game chat Automatic room cleanup when everyone leaves What was challenging? Shared states across multiple clients. Every player action, rolling dice, buying a property, placing a bid, has to be read server-side, broadcast to everyone, and reflected correctly on each client without race conditions or desync. Getting that right, especially during edge cases, took a lot of work. Edge cases in disconnects. A player disconnecting mid-auction is a different problem than disconnecting on their turn, which is different from the host disconnecting entirely. Each case needed its own handling: timers need to be cleared, pending actions need to be resolved, and remaining players need to stay in a valid game state. and i need alot of time and a bit of AI to fix that for me. Building a complete game UI with vanilla CSS. No component library, no utility framework — every modal, toggle, property card, and animation is hand-written. Honestly needed a lot of AI help here. Probally should have used a libary if I look back at it but it was fun to do it in plain CSS also for anyone wondering why the favicon is the one from vite i never deleted it and i wasnt in the mode to redesign a new one and tried to use the board map but that didnt work for some reason. What am I proud of? The architecture. The game logic lives entirely in gameLogic.js and has no knowledge of sockets or HTTP. The server in server.js wires events to logic calls and broadcasts the results. That separation made the codebase much easier to debug than it would have been otherwise but i needed AI to implement the idea i had the idea but wasnt quite able to do it. How to test it git clone https://github.com/jeremy341/Poorup.git cd Poorup npm install npm start Then open http://localhost:8080 in two separate tabs or browser windows.", "repo": "https://github.com/jeremy341/Poorup/", "demo": "https://poorup.jeremy-d.hackclub.app/"}]...
|
[{"post_id": 81740, "ts": "202 [{"post_id": 81740, "ts": "2026-10-22T09:55:56Z", "hours": 9.6928, "text": "Rework #1 Now you could be asking yourself? What have i done in the last 8 days to not post? Well Iam nearly finished with the full rework off all UI, Bug fixing and introducing new features, Chart Engine So i redid the whole system for charts and decided to build my own, because though i had one which worked it looked horrendous and really didnt fit poorup, you can see the new chart engine in the screenshot Game history I redid the whole entire game history system, because to be honest it was heavily vibed including its Ui and while cheking it, it looked like trash so I sat myself down and worked tiresly to fully redo it, and I even implemented the new chart system into it, Modals, Modals, Modals So I REDID NEARLY EVERY SINGLE MODAL IN THE GAME to provide a better User experience this took hella long and while doing it i noticed i had hackatime tracking off, because i had been working on some personal projects, hence the reason I only posted now because I lost so many hours, #Next Features Well to be honest there really arent anymore features i can add, the only thing left is fixing bugs and preparing it for the release and advertising it on reddit"}, {"post_id": 79607, "ts": "2026-10-14T18:07:25Z", "hours": 10.3072, "text": "Devlog after ship So after getting hella positive feedback regarding poorup which i highly appreciate my aim is to now make it have an even better user experience and etc. why? cause from the feedback i got, there are 3 areas I need to tackle, UI, game logic which is to complex and the User experience including rules and etc, Full redesign of the ingame lobby So after getting feedback that the board was to smallwhich was kinda expected and that the whole game is just clutered which i also assumed would happen cause all the features dont fit into the game i have done the following. I have redesigned the full ingame lobby with a new layout further inspired by richup(didnt want to do this but they have the most optimial layout) I have also redone the whole entire admin window cause to be honest it was horrondous and hard to use, and also just some small changes all around full redesign of modals so after doing the lobby i have now decided to fully redo a lot of the modal to have a better layout and etc so they are way more user friendly and acttually easy to understand, this also included cutting alot of features from certain modals because they just made them to complex and hard to use Cards and airpots this was something i was orrignally planning to release in the last ship but i just decided to ship it with this one i have finnaly added the option to buy new bank cards which you can use to get benefits like cashback of 10% on purchsees like rent payment suprise cards and other stuff, and I also added the option to use airpots to fly from one point to another and allow players to set the prices, Bots After reflecting a bit on my ai usage for the bots i decided to fully plug the whole programm into a repo which visualises it to see if it checks out with my mental map and I noticed so much slop which I would have never noticed before, this includes the whole Bot logic which i have probally never looked at cause i knew i wouldnt be able to code them. Though i probally should have cause this is the biggest slop i have ever seen and It introduced so many bugs which the ai couldnt find Next steps Right now all these changes are locally and not on github which are around +17000 lines of code and my aim is to further clean this up and fully push it with a new domain which is alredy online but will be kept hidden. here are soem before and afters, the more clutterd ones are the befores and the simplifyed ones after"}, {"post_id": 75006, "ts": "2026-09-28T20:36:43Z", "hours": 10.8294, "text": "Poorup Redesign - Devlog #11 (FUCK MY LIFE) I am geniunly so tired of this project and my life in general i was so busy in the last few days cause of school and after shool clubs. This phase was mainly about recoding the Bot engine by hand, and updating the stock market modal inside the game also added New Ui for theme chooser and music and also added more sound tracks. I also redid statistics tabs in profile by hand and added better match history tracking Bot engine To be honest to Bot engine was so much AI stuff that i genuinly didnt understand what it was build on and how that is why I decided to take some time to read and research all the papers its build on and how it works. I then rewrote large parts of it to improve it and also found mutipile bugs in the logic of how it works and how it assigns values New account and preferences tab I fully redid some parts of the accounts and prefences tab to now allow for easier choosing of themes and also worked on the music engine so the music loops and youre able to choose different music depending on the theme. #Statsics tab I redid the whole tab as I found it quite stacked with 12 boxes for statsics and decicd to now add internal tabs to make it look cleaner this was a quick 30 minute changes as I didnt change logic but just frontend Next Steps Hopefully shipping adding HCAI and testing the AI bots and further UI refinement on tablet UI and 1440px desktop cause these are 2 of the most weirdest sizes https://poorup.jeremy-d.hackclub.app/ also if anybody wants to check it our but it is nowhere near finished so dont expect anything"}, {"post_id": 73301, "ts": "2026-09-24T20:06:52Z", "hours": 28.7353, "text": "Poorup Redesign - Devlog #10 Iam aware this phase is 30 hours this is just cause i used hella AI and didnt want to count it towards my payout. this phase mainly about finishing touches running mutipile tests suits playing some games and finishing some things also fixing Ui and redoing the Ui of the Music First of all I added music for each of the 6 theme with a secondary theme which you can select under account and preferences I also made it easier to spot the different themes as they were hella hidden to be honest. Deactivation of palor patrol Though i didnt want to this I needed to deactivate palor patrol as it was simply impossible to use I checked m code in detail used and really did everything but I couldnt find the bug which makes it unplayablle so as long as I cant manage to fix it I have to deacitvate it. Next Phase pushing everything on nest setting up a piepleine so nest automatticaly pulls everything I push onto main in my repo and finnaly realsing it with thhe bots for players to use."}, {"post_id": 70576, "ts": "2026-09-19T11:55:06Z", "hours": 11.6328, "text": "Poorup Redesign - Devlog #9 this phase was mainly about adding some missing things fully balancing everything also used the new model jev from typesafe as it was a perfect fit for the task. Admin Dashboard I now added a section in the admin Dashboard fully centered around the Bots which allows for dropping in any provider and choosing the model and see the request if theyre failing or not and etc this took quite a while as I coded this myself again as I wanted to practice a bit though I still needed Ai help as Iam so trash at js Removing TOS pages As i mentioned in the last devlog i have now decided to remove the TOS pages as they were jst not good looking and not complete and not needed. Music system I decided to remove the music player and rather make it so 1 music track is there for each theme and my next step ix expanding the profile page to allow choosing another music track as 12 are available in total but only 6 are used rn. I also decided that I am going to move the Theme chooser somewhere else as people get no indicator rn to find it New Idea for the Future Also I had a great Idea which i can incoperate into this but after the next ship. Its training a custom ml model on all the matches played by people and then incoperating it in the game. Because essentialy it would be a custom AI/Bot that is able to play monopoly as good as possible new features I also added the option to download all the data cause i noticed its saved on the server and maybe smb wants to download it will then be in a json. I also added the option to add an recovery email, because my plan is to allow people to sign up without email but they still need an option to recover data if needed I also added the option to rovoke all otehr session tokens then the onnes youre logged into rn, so essentially log out of all other devices and server sessions Next steps Cleaning up Ai code and reading through it all, 1 or 2 adjustments in Ui for example the global event banner needs to be relocated or the graphs for match history need to remade. Also the ranking page needs a little redesing. The next one will be the LAST ONE cause i cant deal with stardance anymore all my projects are getting rejected for dumb reasons, so this will be the last devlog and if it does not get accepted iam relocating somewhere else."}, {"post_id": 68664, "ts": "2026-09-15T14:29:22Z", "hours": 15.3047, "text": "Poorup Redesign - Devlog #8 this phase mainly about consolidating the backend and adding a New admin only dashboard which will allow to analyze things easier for balane patches and etc in the future. This Phase was written only by hand hence the long time, normally I would use AI to speed up the process but I wanted to get some practice in. Also added legal and TOS pages Backend I found mutipile bugs such as simple Game bugs to not so simple leackage problems and other stuff which took quite some time to fix by hand and this really shows how I will probally pause using AI for coding after this project for a while Admin Dashboard I created this Dashboard so I would be allowed to pracitally analyze everything from how certain things affect the game and for example analyze them to see if they need fixes, balances or even remove them entirly. I also added things like seeing a rough strucutre of where my player base is from. If anybody is abusing the game somehow or bot traffic. Tos Pages These took quite long and were quite the hassle but I did it. though i am debating jus tdeleting them as I couldnt fill them out entirley as certain information is needed which would then make them 100% fool proof I forgot I also updated the Snow Theme and added music for each theme with a small music player in the bottom left though I just noticed I placed the icons wrong should be a quick 2 line fix Next Steps do the last fixes finnaly test the AI bots as they are fully setup but not setup do some balancing and realese it The next post should really be the last. Hopefully."}, {"post_id": 66650, "ts": "2026-09-12T14:36:54Z", "hours": 16.8883, "text": "Poorup Redesign - Devlog #7 This phase was mainly about doing a full audit over the game, fixing bugs which were still hidden inside the server and UI, and making the whole project easier to trust before the next merge. Finalising Bots, adding, themes adding new suprise features and more. Themes I decided to create 5 more themes which will fully change the look of the game, for the 5 i decided on 5 directions first of light mode, and then the 4 seasons so summer,autumm, winter, and spring. These took quite some time to create but I think they came out quite decent though they still need cleaning up Ranking Seasons I have now added ranking seasons which are 1 month each if you manage to rank on the leaderbaord at the end of the season you get a special cosmetic(newly added system) and a special Title Cosmetics I added a full cosmetics system and the ranking system so you can now get cosmetics from 2 places, either by getting them at the end of the season form the leaderboard or by getting them from achievements Card Upgrade I also now added the features to upgrade your bank account, if you pay enough money you can upgrade your card for 1000$ this gives you a card with 5% cashback which is the Spaarkasse karte(german Bank) and the nex level is the amex black card wich give you 10$ cashback and amex points which you can use for flying. Gambling UI I also decided to now give the gambling UI an animation it now has the same kind of case opening animation as CS2 so the roulette which goes form right to left. Plane station card Also made it so that you can now use the airplanes to skip things so you can fly to another station but of course you will have to pay alot and you have to pay a landing fee. If a player owns an Airpot he can decide the flying fee himeslf and the landing fee which means he could extort people if he is smart enough Quick Table I did some changes to Quick Table as it used to create a new public room every time. It now checks the live public room directory first, joins the most suitable open table, retries if somebody fills it during the join, and only creates a new Standard-40 room when no table can be joined. Private room codes are never exposed and the server still makes the final decision. Favicon I also designed a quick little favicon which is Just a P with a box around it but it looks quite good Music Candidates I am now searching for new Music for each theme so music changes with the theme Next Steps Cleaning up the UI one final time trying everything out and finally realsing the Beta and promoting it on reddit."}, {"post_id": 63820, "ts": "2026-09-07T19:51:24Z", "hours": 5.0128, "text": "Poorup Redesign - Devlog #6 This phase was mainly about adding more depth to the player interactions, improving the bot system, and making the rankings feel more alive. Deal Negotiation I redesigned the deal flow so trades, loans, equity, and hybrid deals all work in the same way. When you receive a deal, a modal appears with accept and negotiate. If you close it, the deal does not get declined and stays inside the Finance rail. Both players can now see the same deal collapsed in Finance. The receiver can negotiate, while the sender can adjust or cancel the deal. You can open a full read-only view, change the parameters, and send the new version back. The server also checks old deal IDs so an outdated modal cannot change a newer deal. Sponsored Purchases I also added sponsored purchases. If a player cannot afford a property, they can ask the table for help. Other players can reserve contributions, and once the full amount is available, the buyer accepts and is forced to buy that exact property. The money is automatically returned if the request is canceled, the property changes owner, or a player disconnects. It is not a loan and does not create equity. Bots I continued improving the AI and no-AI bots. The bots now receive more context about the board, current obligations, loans, events, opponents, future rent risk, expected cash flow, and their own previous decisions.AI bots can now also counter trades, negotiate player contracts, choose debt rescue actions, and make auction decisions. If the AI provider runs out of credits or fails, the no api key AI takes over Rankings I added recent trend indicators to the ranking rows, so you can see if a player is moving up, down, or staying flat. I also added a seasonal ranking scope based on the current calendar season. Rules Fixes I also fixed the Double GO setting so landing exactly on GO now pays the boosted amount, while simply passing GO still pays the normal amount.TestingI expanded the tests and ran long bot campaigns with auctions, loans, casino, market, global events, sponsorships, and negotiations. The latest regression suite passes and the longer 2,500-game campaign had zero stalled games. Next Steps The next major step is making the bots simulate several complete future turns and improving long-term negotiation behavior. After that I want to add deeper browser testing and seasonal ranking rewards. Also to lazy to do screenshots of new UI so you will get everything in the next devpost"}, {"post_id": 63109, "ts": "2026-09-06T18:42:52Z", "hours": 11.5353, "text": "Poorup Redesign - Devlog #5 This phase was mainly about fixing all bugs still exisitng, refactoring further with codescene and letting AI run over my code, also fixed some small missing features and simple bugs myself. Choosing Icon I noticed a bug in which because of logic I made before setting up custom icons the programm mapped custom icons people created onto persets and blocked them so for example your icon had red in it, the game decided to map it onto the red preset in the backend blocking it but showing yours in game, this came because I never rewrote this section after introducing custom icons. Ownership icon Before this change owenship on board was only shown with a simple like quadrat in the top right corner of the tile in the color you picked this is also something left over from the old preset logic. I decided to make it so It shows a smaller version of the face of the player which makes it look a lot cleaner. Missing Buttons This was mainly because I let AI write to much of my code, the finical trading tab which is centered around equity and everything missed a dropdown to choose who you send the trade to and even the button to send the trade which was a dumb oversight on my end. I also added a simple backend system for the dropdown inside that modal to only show the propertys a person owns. Bots I also continued working on the bot system though this was mainly watching tutorials and brainstorming further Next Steps Fix last bugs, fully add bot system and make sure UI looks good to release the first beta test hopefully the next post will be the last"}, {"post_id": 62110, "ts": "2026-09-05T11:15:14Z", "hours": 13.0397, "text": "Poorup Redesign - Devlog #4 This phase was mainly about setting up codescene doing a full restructuing with the help of AI and fixing bugs and adding missing features. I also added a simple, gambling and stock market system. Bots I first started with setting up the initial idea of bots so to the UI and a bit of the backend logic for bots and how they will interact with the game iam nowhere finished and I havent tried it out yet. Codescene After checking out the github studentpack again after a while I saw codescene, which is a code reviewer similar to coderabbit. I struggled a bit with the Setup but after running an analysisi I noticed how abysmall my codebase really is and how its missing structure, archtiectuer and etc, for example sepearting certain getures from game logic.js and creating their own thread for it. I also setup a full pr pipieline which I can use with my AI agents which aim will be fixing my architecture, and finding bugs before i push them. bugs I ran Qwen 3.8 flash on my pr pipileine with codescene and let it work indepnedlty to full restructer my codebase so the results are better and I have better architectural design I also let it fix any bugs it found. Bugs I found While trying out the game i found mutipile BUGS one of them affecting my secret minigame palor patrol. For some reason I was losing hearts for no appearent reason. The reason behind it was that even though UI was hidden the helicopters were still flying through. For some reason the heart bug still exists afterwards and even the AI isnt able to find out what it is so Iam completating making architecture changes to it. #Gambling I added a smile gambling system where you can bet money on a roulete on red, black, and green I didnt add any animation for it as I found it unecessary and I also made sure iam legally clear to make sth like this Stock market I created a simple stock market tab and backend which allows people to buy indexes of a property and made sure to connect it with global events so global events can affect the stock market but that is nowhere near usable. Next Steps Iam going to let my AI continue improving my codebase with codescene and continue the Stock market and afterwards add the bots."}, {"post_id": 60301, "ts": "2026-09-02T16:03:55Z", "hours": 10.9608, "text": "Poorup Redesign – Devlog #3 This phase was about expanding the social side of Poorup, adding more depth to the game, and planning future systems that make every round feel more alive. Social, Rankings, Achievements I added a complete friend system. Players can search for unique usernames, send and accept friend requests, remove or block players, report users, invite friends to rooms, and view public profiles without leaving the lobby. Profiles now include statistics such as wins, win rate, games played, average money, bankruptcies, achievements, and match history. I also added global rankings for wins, win rate, games played, achievements, and other statistics. Rankings and Social are now independent tabs instead of modals, with wider layouts that use the available screen space more effectively. Achievements now have custom pixel-art and SVG icons, rarity levels from Common to Mythical, filters, dates, categories, and clickable detail modals. Mythical achievements are extremely rare and can trigger a server-wide announcement for every player. Easter Egg I added the hidden Parlor Patrol minigame. Pressing CTRL + P on the home screen opens a secret mode where you shoot down police helicopters, planes, and drones. It includes custom explosions, animations, sounds, score tracking, and a secret achievement. Global Events Global Events are rare events that affect every player instead of only the person who landed on a tile. They can be triggered by round conditions or Surprise cards and can last several rounds. Ideas include: Housing Bubble Pop Credit Freeze Inflation Spiral Bank Run Interest Rate Shock Airport Strike Energy Crisis Tax Scandal City Election Rent Control Tourism Boom Supply Chain Breakdown Events can combine with each other, create unexpected situations, and unlock secret achievements. I also want a global-event setting that is simply on or off, while event strength and duration scale with the round length. Rules Page I added a complete Rules tab designed like a pixel-art game manual. It explains the board, movement, properties, loans, cards, achievements, global events, social features, and settings. It uses an internal book-style scroll so the main application does not become a long scrolling page. Future Systems I am also planning a casino system using virtual money, with red, black, and green bets where the odds are not equal. Another planned feature is a fictional stock market connected to properties, countries, airports, utilities, and global events. Events could crash markets, increase rent values, affect airports, or create temporary investment opportunities. I also want to add unethical and outrages bank loans with high interest, strict repayment rules, and serious consequences. Music/sound icons I also added simple music and sound icons for the buttons instead of having the music on/off text Next Steps The next phase will be making these systems work together while keeping the game balanced, and also adding AI bots which utilise AI like deepseek v4 and so on so they able to actually judge the situation and think of possible ways for them to win. The aim is to use hcai to power them. I will also add normal BOTS as a fallback if my usage runs out"}, {"post_id": 58798, "ts": "2026-08-31T11:42:39Z", "hours": 9.8108, "text": "Poorup Redesign – Devlog #2 This phase was about continuing the complete redesign of the website, deciding on a UI theme, and implementing a new feature that I had wanted from the start but was not advanced enough to create before. New UI I am very proud to announce a complete redesign of the application. I decided to fully embrace a pixelated theme, and I personally think it looks great. It is genuinely one of the best UI systems I have ever designed. New Feature I decided to expand the trading system. You can now give out loans in exchange for premiums, equity, money, and more. This allows you to create fully customizable loans, such as: I give you $200 for 30% permanent equity in this spot. This means that you have to pay 30% less rent when you land on it and gain 30% of all rent paid on that plot. This is a system I have never seen in a Monopoly game, and I wanted to implement it from the start when I first had the idea for Poorup. New Feature #2 I have also decided to take the advice I was given and implement a room system. This allows players to join and create rooms, as well as make them public or private. I also added a quick-table feature that matches you with other people who have pressed the button, allowing you to play a quick round with random players. New Feature #3 I have created a complete profile system. You can now create a profile, view your statistics, win percentage, average money, and more. You are also able to create custom 32×32 icons to use while playing the game. New Feature #4 I also decided to add sounds and an open-source soundtrack I found called Pondering the Cosmos . which i think fits my new theme perfectly but maybe iam going to change it Next Step AI Bots The next Step will be adding bots but normal bots are boring they are just glofired search engines why i want to be a bit creative. I will use hackclub ai provider and give the bot a brain by combinging them with an AI like deepseek v4 flash this means the bot will be able to check how is he performing what are the most logical steps sell buy properties and trade and if wanted even chat with the user to make a deal would anybody like that?"}, {"post_id": 57234, "ts": "2026-08-29T10:31:03Z", "hours": 1.5744, "text": "Poorup Redesign So after my last ship i read through all the reviews and have decided to continue this project even though i really didnt plan for that. So there were 3 addition people wanted. A new UI, being able to join random people, better Animations and a Dev mode to test in solo player possibly with mods. What did i do? So i first started with thinking of a new design route so i asked chatgpt for some references of a good design. I decided on making the Whole Ui pixellated similar to the Arcade style and fully redesingen the SVG witth and now iam going to go over it and adjust it to fit ours. Of course this took like around 6 hours but I use figma on desktop and the browser tracking of hackatime doesnt seem to work how do you like the new svg? Next Steps Next Steps i redesignen the Full Ui to fit this pexelated style and making sure it looks good"}, {"post_id": 14594, "ts": "2026-06-23T19:20:12Z", "hours": 5.6261, "text": "Project Update: Bug Fixes Overview This phase was all about polishing the user experience, squashing gameplay bugs, and adding new repository documentation. After getting feedback I decided to change The whole UI Dynamic Theming & UI Improvements One of the major frontend improvements in this sprint was fixing the player icon chooser button functionality in the web interface. Fully redesignen the Front-End and more. I first of all started with replacing my .root with some new colors which are greenish. I also added some simple fade in/out animations to all Popups. Another bug was that it couldn’t quite fit in a screen of the size 1980 x 1080. I fixed that by making it possible to scroll down so everything you need for the game is shown on your screen. The way i tested it is by local hosting it and then pressin F12 in the browser and then you could adjust the size of the Window which was pretty neat. Also fixed a lot more of UI bugs such as weird buttons and more but this was the important stuff. Squashing Gameplay Bugs I knocked out two major bugs in this update: Trading System Fix: There was a bug where it wasnt possible for people to only request something without giving anything or make only money transactions so I fixed this. Special Property Popups: I resolved a rendering issue with the popups for special properties, specifically the Airports and Companies (Utilities). Now, when a player interacts with these tiles, the modal correctly pulls the specific data object and displays the unique rent calculations and purchase prices. Documentation Revamp I updated the README.md to ensure the decumentation was on point for anyone cloning the repo. I refactored and renamed SHOWCASE.md to Instructions.md . This provides a much clearer, step-by-step guide on how the game operates and how to get the local server running instead of just showcasing the Repo more. Conclusion The feedback was essential and really showed me how sloppy I worked it should now work perfectly even though i couldnt test it for 4 people"}, {"post_id": 11340, "ts": "2026-06-18T15:32:39Z", "hours": 1.8406, "text": "Update: UI/UX Fixes, Auction System Fixes, and Property Manager Integration FInal This update focused on providing a better user experience and just making it less buggy Key Changes 1. UI/UX Improvements Refactored layout components to improve visual consistency. Updated navigation paths so it makes more sense for the User and is just more logical Adjusted CSS rules to improve the game across different screen sizes. 2. Auction System Fixes Addressed synchronization issues with the auction state. Fixed logical errors in bid processing and countdown timers. 3. Property Manager Integration Fixed the Property Manager feature, allowing users to track and organize their properties. Integrated the property database schema with the existing auction mechanisms. Created user views for listing and editing properties. So just new UI 4. General Bug Fixes & Stability Cleaned up left over parts of old system"}, {"post_id": 10630, "ts": "2026-06-17T14:13:23Z", "hours": 2.5769, "text": "Poorup — Production Ready Over the past few days I’ve been doing a full production-readiness pass on Poorup . Here’s what I worked on: Bug fixes — Fixed auction edge cases where a disconnecting player would leave a ghost bid, locking the game Memory leak prevention — Added a garbage collector on the server to clean up empty rooms after 10 minutes UI polish — Fixed text cut-off in buttons and settings toggles, improved layout consistency across screen sizes Layout centering — The game board is now properly centered vertically and horizontally in the viewport Accessibility — Added focus-visible styles for keyboard navigation New setting — Exposed the “Double rent” toggle in the UI (the rule already existed in the engine) Code quality — Added JSDoc comments to core server classes, removed dead code The game is now polished and stable. Im shipping it"}, {"post_id": 8803, "ts": "2026-06-14T16:57:35Z", "hours": 0.465, "text": "Overview Today I worked on the front end an am basically finished with the easy stuff Iam now going to add the player icon and etc Front End I designed my front end and i think i can say that I am pretty good at basic JS/HTML/CSS and this project teached me alot Iam probally going to wrap it up in the next 2 post and focus on smth else. Monopoly repo After resarching a bit i found another open source monopoly game and my plan is now to copy some backend logic from it but i need to adjust it because his game is made to be playable localy and mine online so it will take same adjustment #Backend I added a Room system with the help of mutipile videos in which a random room code is generated and the server saves the generated room code making it possible for another use to insert it. The code will be if the round was ended."}, {"post_id": 8249, "ts": "2026-06-13T18:30:59Z", "hours": 2.8419, "text": "Overview Over the last few days, I’ve been triying to refactor my project, but i realised something I killed it i refactored it so often that i lost sight of the real goal and will proablly start from scratch restarting it from 0 i designed and svg file but just couldnt implement the right way. Cleaning the SVG My biggest headache was the game board. I designed a beautiful, detailed map in Figma, but exporting it as an SVG just made things difficult i tried making i clickable but i didnt know how to and i found no totorials regarding this so i will probally just create a board using html and css or maybe look for solution using ai Current System Status At the moment i have decided to refractor to vue by advice of some friends and ai because it makes the backend easier but i will proablly change back, because iam realising Iam making the project more complex than it has to be also. Conclusion I just wasted time trying to learn new stuff an refractoring and trying to not use ai. I would like for some adivice which ai I should use and if I should stick with vue or stay with or change back to default also this made me reflect on what kind of perfectionist iam an I will probally wrap up this project in the next few days because I realised front end is not for me I will continue learning it but will soon work on either python or C project after. I will just add the missing features with Ai"}, {"post_id": 6430, "ts": "2026-06-10T20:16:01Z", "hours": 0.6117, "text": "#Overview So today i didnt really code just refactored again and went back to css and decided to design all design elements in figma. It was pretty easy and II am now qustoning why i didnt do that instead also i only copied these 2. I will make my own streets afterwards and i also decided to redesign the website because it realy just a copy and i dont want to be sued but the board will probally look the same just different countries and maybe prices need to look for balancing and how it is normally in monopoly. But this probally going to take 2 to 3 days cause i really dont got any time in the next few days."}, {"post_id": 5789, "ts": "2026-06-09T18:22:00Z", "hours": 0.7531, "text": "Project Update: The Great Refactor & React Integration 📋 Overview Damn this looks trash just a small update and i jsut noticed tailwind actaully looks like trash are there any alternatives because i didnt expect it to look this bad in comparison to before and yes i do know its looks aigenrerated but i did myslef also tailwind is pretty easy if you get the hang of it just looks trash maybe going to watch some tuts cause i cant upload the final product like this."}, {"post_id": 5743, "ts": "2026-06-09T17:20:02Z", "hours": 1.3414, "text": "Overview This phase was a major point for the project. After successfully implementing the lobby chat and the 11x11 Monopoly board using Vanilla JS and CSS Grid, I realized that managing the game states (turns, money, properties, transactions) in Vanilla JS was going to lead to unmanageable spaghetti code and was way to hard. To keep the project clean and professional, I decided to perform a complete “hard reset” and refactor the entire frontend into a modern React Single Page Application (SPA) utilizing Tailwind CSS v4 [1.1.1, 1.1.8]. I always though about using it but found it weird and dififult for a beginer The Great Redesign Instead of keeping duplicate file structures or nesting my React app in a subfolder, I decided to do a complete wipe of the repository and initialize Vite directly at the root of my Poorup folder [1.1.1]. My backend directory ( server/ ) with the working Socket.io logic stays at the root level, sitting side-by-side with my brand-new React source directory ( src/ ).Because i didnt want to rewrite that all Tailwind v4 & Vite Setup (React Redesign - Lab 1) I verified that the setup is 100% correct by creating a basic functional component in src/App.jsx and rendering a test heading styled in large, bold, violet text using Tailwind v4 utility classes [1.1.8]. It compiled instantly and loaded perfectly in the browser. Next Steps Now that the modern React + Tailwind ecosystem is up and running at the root, I am starting Lab Challenge 2 (React Redesign) . I’ll be creating a dedicated <LandingScreen /> component, managing the nickname input using React useState hooks, and connecting Socket.io to React to emit player connection data back to the server [1.1.1, 1.2.6]. You know lab challenges for this i will watch some more videos leanr more js and learn react if possible Conclusion Deciding to start over from a blank folder was tough, but it was absolutely necessary. The codebase feels incredibly clean and changing to React will save me massive amounts of time as I start building out the actual Monopoly gameplay. But i now learned alot in the time i decided to atleast built the lobby and board in vanilla js,css and html. Also anybody knows an ki which is good in front end because i just realised iam trash in front end and ki is too"}, {"post_id": 5131, "ts": "2026-06-08T20:23:58Z", "hours": 1.7286, "text": "Overview This phase was important even though it was short. I transitioned from basic static mockups to building a fully functional, real-time multiplayer lobby system. I resolved tricky logical bugs and fought port conflicts, I also expanded my knowledge on js and am probally going to need to take a break to really learn all of js and will soon watch a 22 hour tut. Fixing the SPA Screen Switch (Lab 9) I started by tackling the dynamic transition from the login screen ( #landing-screen ) to the lobby screen ( #lobby-screen ). Space in HTML ID: I accidentally wrote id=\"landing screen\" (with a space) in my HTML, which broke my JavaScript’s querySelector because IDs cannot have spaces. Once I replaced the space with a dash ( id=\"landing-screen\" ) Now it works perfectly fine. Port Conflicts Right after getting the transitions working, my local server crashed on Port 3000. My terminal crashed and restored its history, leaving a Node process running in the background and locking the port i still dont know why it does that just looked on reddit and youtube. To easily bypass this without fighting Windows process managers, I updated my server.js and local client connection to run on Port 3005 . It started up instantly. Designing the 3-Column Lobby (Lab 10) With the screen switching working, I redesigned the lobby HTML to match the responsive 3-column layout of Richup.io [1]. I used Flexbox ( flex: 1 and flex: 2 for the center) to align: Left Column: A placeholder invite link input and a scrollable chat area [1]. Center Column: The player greeting, token color picker, and “Join Game” button [1]. Right Column: Game settings (dropdowns for starting cash) [1]. Structuring this required a bit of tweaking but not to hard. Interactive Color Picker & Socket Events (Lab 11) Next, I tackled the token selection grid [1]. I styled four distinct color circles (Red, Blue, Green, Yellow) in CSS and set up a .selected class that applies a thick white border and a glowing shadow. In client.js , I wrote a forEach loop that listens for clicks on each circle, removes the .selected class from all others, adds it to the active circle, and stores the selection in a global variable. On the server side, I set up a 'join-room' socket listener. Now, when a player selects a color and clicks “Join Game”, the client emits the color choice, and the backend successfully receives and logs it in the terminal [1]. Server-Side Multiplayer Sync (Lab 12) The most exciting part and hard part today was implementing real-time state synchronization. I declared a global activePlayers dictionary on the server to keep track of active sessions. When a user logs in, they are registered in the dictionary. When they choose a color and click “Join Game”, their color is updated, and the server broadcasts the entire updated list to all active clients via io.emit(\"update-players\") [1]. On the client side, I wrote a listener that clears out the #player-list and dynamically rebuilds it, coloring each player’s username text to match their selected token color. I also handled the 'disconnect' socket event to delete players from the dictionary when they close it. You can see the messaged in the terminal and yes it is antigravity but i dont use the ai and have only used it to refractor my notes, so i dont even have tokens anymore cause of the amount of notes i had. So i also decided i probally need to expand my file directory and iam thinking of using tailwind css or just using css and making custom icons using favicons and etc by using figma also i got approved for the Student github :)."}, {"post_id": 4397, "ts": "2026-06-07T18:32:25Z", "hours": 3.6853, "text": "Overview Today was massive for Poorup. I officially made the first steps into the website, creating the backend for the hompage and creating the CSS.. Transitioning From HTML to CSS I officially finished the basic HTML path on freeCodeCamp! It feels great to have the basic foundation down. I am still missing a lot of depth in semantic HTML and more advanced stuff, but I have enough of experienc to now build on it. I just need to learn some more js and CSS. I then watched some video regarding CSS and worked on it. I realised that CSS is really simple but involes alot of googling to find certain functions . I did one rooky mistake which was having the css file not in the right folder so it wasnt loading correctly and i was quite suprised Backend & Real-Time Socket.io Integration This is where the real engineering started today. Since Poorup is a real-time multiplayer board game, I can’t just use standard HTTP requests where the browser has to reload every time a player moves. I needed a permanent, open connection between the browser and the server. I set up a Node.js server with Express in server/server.js to serve my static folder. Then, I integrated Socket.io: Express Server: Serving the public folder on http://localhost:3000 . Socket.io Setup: Wrapped the Express app in an HTTP server and configured the connection listeners. Client-Side JS: Wrote client.js to capture input data and handle form events. The Struggle: I ran into a bug where clicking “Play” triggered the server connection even when the username field was completely empty, which bypassed my HTML required attribute. After digging into my event listeners, I realized I was listening to the click event on the button instead of the submit event on the form . Since the browser’s native validation only checks fields during a form submission, the click listener was bypassing it. Switching my listener to form.addEventListener(\"submit\") fixed the empty-name validation instantly. When I run node server/server.js now and type a name in the browser, the server terminal immediately logs the connection and prints the player’s name in real-time. Next Steps & Screen Switching Now that the backend is running and successfully communicating with the client, my next step is handling the UI transitions. Since we don’t want a full page reload (which would kill the WebSocket connection), I am working on setting up a Single Page Application (SPA) structure ,aksed ki what to do next by usign my earlier stated Lab approach in which i dont get code but how to do stuff and have to implement it. I am currently working on Lab Challenge 9 , where I will be wrapping the login screen in a #landing-screen div and the lobby in a #lobby-screen div. I’ll use JS to dynamically swap the .hidden class as soon as the server acknowledges that a player has successfully joined. Conclusion Overall, this phase was a huge step up from just writing static tags. I’m taking active notes on everything which you will later find in a second repo so you can build it your own with all the Lab challenges. I find it to be quite rewarding but now i have to lock in for school cause i got a vocabulary test in 2 days. I will probally upload a demo soon an do some major changes to color, theme, name and etc for copyright reasons"}, {"post_id": 3686, "ts": "2026-06-06T18:51:12Z", "hours": 2.2747, "text": "Stardance Progress Log: Poorup Development Current Progress Learning Path: Almost completed the Basic HTML section on freeCodeCamp. Note-taking: Iam taking personal notes on semantic HTML, document structures, tags, and form elements. My Learning Methodology (AI as a Mentor) To make sure I actually understand every line of code I write, I am using a strict, self-guided approach to learning: First of all i have strictly said to the ai to never write code for me and never give me the answer and just show me how i could achieve it. Also the ai acts strictly as a mentor. It analyzes my goals and designs custom “Lab Challenges” formatted exactly like freeCodeCamp exercises (with Objectives, User Stories, and Test suites). Because i found this to be quite efective. Also i decided to install the live preview extenstion to see my code in person and debug it easiear. What I’ve Built So Far Landing Page Structure: Created a solid textual game menu and lobby framework in public/index.html using headings ( h1 , h2 ), paragraphs, an unordered list for features, and an ordered list for instructions. Interactive Elements: Added call-to-action buttons for joining and creating lobbies. Next Steps Currently working on Lab Challenge 2 given by the ai: The Player Registration Form to practice form validation, input types (text, radio, checkbox), and connecting labels with inputs via attributes. Once HTML basics are solid, I will start exploring basic CSS styling."}, {"post_id": 2926, "ts": "2026-06-05T20:35:05Z", "hours": 0.7811, "text": "I have now started with creating the Github and also learning some HTML with free Code Camp. I also decided to take some notes in a md file reading through the guides"}]...
|
Title: Poorup.io by @jeremy | Stardance
Devlogs:
Title: Poorup.io by @jeremy | Stardance
Devlogs:
I have now started with creating the Github and also learning some HTML with free Code Camp. I also decided to take some notes in a md file reading through the guides
Stardance Progress Log: Poorup Development Current Progress Learning Path: Almost completed the Basic HTML section on freeCodeCamp. Note-taking: Iam taking personal notes on semantic HTML, document structures, tags, and form elements. My Learning Methodology (AI as a Mentor) To make sure I actually understand every line of code I write, I am using a strict, self-guided approach to learning: First of all i have strictly said to the ai to never write code for me and never give me the answer and just show me how i could achieve it. Also the ai acts strictly as a mentor. It analyzes my goals and designs custom “Lab Challenges” formatted exactly like freeCodeCamp exercises (with Objectives, User Stories, and Test suites). Because i found this to be quite efective. Also i decided to install the live preview extenstion to see my code in person and debug it easiear. What I’ve Built So Far Landing Page Structure: Created a solid textual game menu and lobby framework in public/index.html using headings ( h1 , h2 ), paragraphs, an unordered list for features, and an ordered list for instructions. Interactive Elements: Added call-to-action buttons for joining and creating lobbies. Next Steps Currently working on Lab Challenge 2 given by the ai: The Player Registration Form to practice form validation, input types (text, radio, checkbox), and connecting labels with inputs via attributes. Once HTML basics are solid, I will start exploring basic CSS styling.
Overview Today was massive for Poorup. I officially made the first steps into the website, creating the backend for the hompage and creating the CSS.. Transitioning From HTML to CSS I officially finished the basic HTML path on freeCodeCamp! It feels great to have the basic foundation down. I am still missing a lot of depth in semantic HTML and more advanced stuff, but I have enough of experienc to now build on it. I just need to learn some more js and CSS. I then watched some video regarding CSS and worked on it. I realised that CSS is really simple but involes alot of googling to find certain functions . I did one rooky mistake which was having the css file not in the right folder so it wasnt loading correctly and i was quite suprised Backend & Real-Time Socket.io Integration This is where the real engineering started today. Since Poorup is a real-time multiplayer board game, I can’t just use standard HTTP requests where the browser has to reload every time a player moves. I needed a permanent, open connection between the browser and the server. I set up a Node.js server with Express in server/server.js to serve my static folder. Then, I integrated Socket.io: Express Server: Serving the public folder on http://localhost:3000 . Socket.io Setup: Wrapped the Express app in an HTTP server and configured the connection listeners. Client-Side JS: Wrote client.js to capture input data and handle form events. The Struggle: I ran into a bug where clicking “Play” triggered the server connection even when the username field was completely empty, which bypassed my HTML required attribute. After digging into my event listeners, I realized I was listening to the click event on the button instead of the submit event on the form . Since the browser’s native validation only checks fields during a form submission, the click listener was bypassing it. Switching my listener to form.addEventListener("submit") fixed the empty-name validation instantly. When I run node server/server.js now and type a name in the browser, the server terminal immediately logs the connection and prints the player’s name in real-time. Next Steps & Screen Switching Now that the backend is running and successfully communicating with the client, my next step is handling the UI transitions. Since we don’t want a full page reload (which would kill the WebSocket connection), I am working on setting up a Single Page Application (SPA) structure ,aksed ki what to do next by usign my earlier stated Lab approach in which i dont get code but how to do stuff and have to implement it. I am currently working on Lab Challenge 9 , where I will be wrapping the login screen in a #landing-screen div and the lobby in a #lobby-screen div. I’ll use JS to dynamically swap the .hidden class as soon as the server acknowledges that a player has successfully joined. Conclusion Overall, this phase was a huge step up from just writing static tags. I’m taking active notes on everything which you will later find in a second repo so you can build it your own with all the Lab challenges. I find it to be quite rewarding but now i have to lock in for school cause i got a vocabulary test in 2 days. I will probally upload a demo soon an do some major changes to color, theme, name and etc for copyright reasons
Overview This phase was important even though it was short. I transitioned from basic static mockups to building a fully functional, real-time multiplayer lobby system. I resolved tricky logical bugs and fought port conflicts, I also expanded my knowledge on js and am probally going to need to take a break to really learn all of js and will soon watch a 22 hour tut. Fixing the SPA Screen Switch (Lab 9) I started by tackling the dynamic transition from the login screen ( #landing-screen ) to the lobby screen ( #lobby-screen ). Space in HTML ID: I accidentally wrote id="landing screen" (with a space) in my HTML, which broke my JavaScript’s querySelector because IDs cannot have spaces. Once I replaced the space with a dash ( id="landing-screen" ) Now it works perfectly fine. Port Conflicts Right after getting the transitions working, my local server crashed on Port 3000. My terminal crashed and restored its history, leaving a Node process running in the background and locking the port i still dont know why it does that just looked on reddit and youtube. To easily bypass this without fighting Windows process managers, I updated my server.js and local client connection to run on Port 3005 . It started up instantly. Designing the 3-Column Lobby (Lab 10) With the screen switching working, I redesigned the lobby HTML to match the responsive 3-column layout of Richup.io [1]. I used Flexbox ( flex: 1 and flex: 2 for the center) to align: Left Column: A placeholder invite link input and a scrollable chat area [1]. Center Column: The player greeting, token color picker, and “Join Game” button [1]. Right Column: Game settings (dropdowns for starting cash) [1]. Structuring this required a bit of tweaking but not to hard. Interactive Color Picker & Socket Events (Lab 11) Next, I tackled the token selection grid [1]. I styled four distinct color circles (Red, Blue, Green, Yellow) in CSS and set up a .selected class that applies a thick white border and a glowing shadow. In client.js , I wrote a forEach loop that listens for clicks on each circle, removes the .selected class from all others, adds it to the active circle, and stores the selection in a global variable. On the server side, I set up a 'join-room' socket listener. Now, when a player selects a color and clicks “Join Game”, the client emits the color choice, and the backend successfully receives and logs it in the terminal [1]. Server-Side Multiplayer Sync (Lab 12) The most exciting part and hard part today was implementing real-time state synchronization. I declared a global activePlayers dictionary on the server to keep track of active sessions. When a user logs in, they are registered in the dictionary. When they choose a color and click “Join Game”, their color is updated, and the server broadcasts the entire updated list to all active clients via io.emit("update-players") [1]. On the client side, I wrote a listener that clears out the #player-list and dynamically rebuilds it, coloring each player’s username text to match their selected token color. I also handled the 'disconnect' socket event to delete players from the dictionary when they close it. You can see the messaged in the terminal and yes it is antigravity but i dont use the ai and have only used it to refractor my notes, so i dont even have tokens anymore cause of the amount of notes i had. So i also decided i probally need to expand my file directory and iam thinking of using tailwind css or just using css and making custom icons using favicons and etc by using figma also i got approved for the Student github :).
Overview This phase was a major point for the project. After successfully implementing the lobby chat and the 11x11 Monopoly board using Vanilla JS and CSS Grid, I realized that managing the game states (turns, money, properties, transactions) in Vanilla JS was going to lead to unmanageable spaghetti code and was way to hard. To keep the project clean and professional, I decided to perform a complete “hard reset” and refactor the entire frontend into a modern React Single Page Application (SPA) utilizing Tailwind CSS v4 [1.1.1, 1.1.8]. I always though about using it but found it weird and dififult for a beginer The Great Redesign Instead of keeping duplicate file structures or nesting my React app in a subfolder, I decided to do a complete wipe of the repository and initialize Vite directly at the root of my Poorup folder [1.1.1]. My backend directory ( server/ ) with the working Socket.io logic stays at the root level, sitting side-by-side with my brand-new React source directory ( src/ ).Because i didnt want to rewrite that all Tailwind v4 & Vite Setup (React Redesign - Lab 1) I verified that the setup is 100% correct by creating a basic functional component in src/App.jsx and rendering a test heading styled in large, bold, violet text using Tailwind v4 utility classes [1.1.8]. It compiled instantly and loaded perfectly in the browser. Next Steps Now that the modern React + Tailwind ecosystem is up and running at the root, I am starting Lab Challenge 2 (React Redesign) . I’ll be creating a dedicated <LandingScreen /> component, managing the nickname input using React useState hooks, and connecting Socket.io to React to emit player connection data back to the server [1.1.1, 1.2.6]. You know lab challenges for this i will watch some more videos leanr more js and learn react if possible Conclusion Deciding to start over from a blank folder was tough, but it was absolutely necessary. The codebase feels incredibly clean and changing to React will save me massive amounts of time as I start building out the actual Monopoly gameplay. But i now learned alot in the time i decided to atleast built the lobby and board in vanilla js,css and html. Also anybody knows an ki which is good in front end because i just realised iam trash in front end and ki is too
Project Update: The Great Refactor & React Integration 📋 Overview Damn this looks trash just a small update and i jsut noticed tailwind actaully looks like trash are there any alternatives because i didnt expect it to look this bad in comparison to before and yes i do know its looks aigenrerated but i did myslef also tailwind is pretty easy if you get the hang of it just looks trash maybe going to watch some tuts cause i cant upload the final product like this.
#Overview So today i didnt really code just refactored again and went back to css and decided to design all design elements in figma. It was pretty easy and II am now qustoning why i didnt do that instead also i only copied these 2. I will make my own streets afterwards and i also decided to redesign the website because it realy just a copy and i dont want to be sued but the board will probally look the same just different countries and maybe prices need to look for balancing and how it is normally in monopoly. But this probally going to take 2 to 3 days cause i really dont got any time in the next few days.
Overview Over the last few days, I’ve been triying to refactor my project, but i realised something I killed it i refactored it so often that i lost sight of the real goal and will proablly start from scratch restarting it from 0 i designed and svg file but just couldnt implement the right way. Cleaning the SVG My biggest headache was the game board. I designed a beautiful, detailed map in Figma, but exporting it as an SVG just made things difficult i tried making i clickable but i didnt know how to and i found no totorials regarding this so i will probally just create a board using html and css or maybe look for solution using ai Current System Status At the moment i have decided to refractor to vue by advice of some friends and ai because it makes the backend easier but i will proablly change back, because iam realising Iam making the project more complex than it has to be also. Conclusion I just wasted time trying to learn new stuff an refractoring and trying to not use ai. I would like for some adivice which ai I should use and if I should stick with vue or stay with or change back to default also this made me reflect on what kind of perfectionist iam an I will probally wrap up this project in the next few days because I realised front end is not for me I will continue learning it but will soon work on either python or C project after. I will just add the missing features with Ai
Overview Today I worked on the front end an am basically finished with the easy stuff Iam now going to add the player icon and etc Front End I designed my front end and i think i can say that I am pretty good at basic JS/HTML/CSS and this project teached me alot Iam probally going to wrap it up in the next 2 post and focus on smth else. Monopoly repo After resarching a bit i found another open source monopoly game and my plan is now to copy some backend logic from it but i need to adjust it because his game is made to be playable localy and mine online so it will take same adjustment #Backend I added a Room system with the help of mutipile videos in which a random room code is generated and the server saves the generated room code making it possible for another use to insert it. The code will be if the round was ended.
Poorup — Production Ready Over the past few days I’ve been doing a full production-readiness pass on Poorup . Here’s what I worked on: Bug fixes — Fixed auction edge cases where a disconnecting player would leave a ghost bid, locking the game Memory leak prevention — Added a garbage collector on the server to clean up empty rooms after 10 minutes UI polish — Fixed text cut-off in buttons and settings toggles, improved layout consistency across screen sizes Layout centering — The game board is now properly centered vertically and horizontally in the viewport Accessibility — Added focus-visible styles for keyboard navigation New setting — Exposed the “Double rent” toggle in the UI (the rule already existed in the engine) Code quality — Added JSDoc comments to core server classes, removed dead code The game is now polished and stable. Im shipping it
Update: UI/UX Fixes, Auction System Fixes, and Property Manager Integration FInal This update focused on providing a better user experience and just making it less buggy Key Changes 1. UI/UX Improvements Refactored layout components to improve visual consistency. Updated navigation paths so it makes more sense for the User and is just more logical Adjusted CSS rules to improve the game across different screen sizes. 2. Auction System Fixes Addressed synchronization issues with the auction state. Fixed logical errors in bid processing and countdown timers. 3. Property Manager Integration Fixed the Property Manager feature, allowing users to track and organize their properties. Integrated the property database schema with the existing auction mechanisms. Created user views for listing and editing properties. So just new UI 4. General Bug Fixes & Stability Cleaned up left over parts of old system
Project Update: Bug Fixes Overview This phase was all about polishing the user experience, squashing gameplay bugs, and adding new repository documentation. After getting feedback I decided to change The whole UI Dynamic Theming & UI Improvements One of the major frontend improvements in this sprint was fixing the player icon chooser button functionality in the web interface. Fully redesignen the Front-End and more. I first of all started with replacing my .root with some new colors which are greenish. I also added some simple fade in/out animations to all Popups. Another bug was that it couldn’t quite fit in a screen of the size 1980 x 1080. I fixed that by making it possible to scroll down so everything you need for the game is shown on your screen. The way i tested it is by local hosting it and then pressin F12 in the browser and then you could adjust the size of the Window which was pretty neat. Also fixed a lot more of UI bugs such as weird buttons and more but this was the important stuff. Squashing Gameplay Bugs I knocked out two major bugs in this update: Trading System Fix: There was a bug where it wasnt possible for people to only request something without giving anything or make only money transactions so I fixed this. Special Property Popups: I resolved a rendering issue with the popups for special properties, specifically the Airports and Companies (Utilities). Now, when a player interacts with these tiles, the modal correctly pulls the specific data object and displays the unique rent calculations and purchase prices. Documentation Revamp I updated the README.md to ensure the decumentation was on point for anyone cloning the repo. I refactored and renamed SHOWCASE.md to Instructions.md . This provides a much clearer, step-by-step guide on how the game operates and how to get the local server running instead of just showcasing the Repo more. Conclusion The feedback was essential and really showed me how sloppy I worked it should now work perfectly even though i couldnt test it for 4 people
Poorup Redesign So after my last ship i read through all the reviews and have decided to continue this project even though i really didnt plan for that. So there were 3 addition people wanted. A new UI, being able to join random people, better Animations and a Dev mode to test in solo player possibly with mods. What did i do? So i first started with thinking of a new design route so i asked chatgpt for some references of a good design. I decided on making the Whole Ui pixellated similar to the Arcade style and fully redesingen the SVG witth and now iam going to go over it and adjust it to fit ours. Of course this took like around 6 hours but I use figma on desktop and the browser tracking of hackatime doesnt seem to work how do you like the new svg? Next Steps Next Steps i redesignen the Full Ui to fit this pexelated style and making sure it looks good
Poorup Redesign – Devlog #2 This phase was about continuing the complete redesign of the website, deciding on a UI theme, and implementing a new feature that I had wanted from the start but was not advanced enough to create before. New UI I am very proud to announce a complete redesign of the application. I decided to fully embrace a pixelated theme, and I personally think it looks great. It is genuinely one of the best UI systems I have ever designed. New Feature I decided to expand the trading system. You can now give out loans in exchange for premiums, equity, money, and more. This allows you to create fully customizable loans, such as: I give you $200 for 30% permanent equity in this spot. This means that you have to pay 30% less rent when you land on it and gain 30% of all rent paid on that plot. This is a system I have never seen in a Monopoly game, and I wanted to implement it from the start when I first had the idea for Poorup. New Feature #2 I have also decided to take the advice I was given and implement a room system. This allows players to join and create rooms, as well as make them public or private. I also added a quick-table feature that matches you with other people who have pressed the button, allowing you to play a quick round with random players. New Feature #3 I have created a complete profile system. You can now create a profile, view your statistics, win percentage, average money, and more. You are also able to create custom 32×32 icons to use while playing the game. New Feature #4 I also decided to add sounds and an open-source soundtrack I found called Pondering the Cosmos . which i think fits my new theme perfectly but maybe iam going to change it Next Step AI Bots The next Step will be adding bots but normal bots are boring they are just glofired search engines why i want to be a bit creative. I will use hackclub ai provider and give the bot a brain by combinging them with an AI like deepseek v4 flash this means the bot will be able to check how is he performing what are the most logical steps sell buy properties and trade and if wanted even chat with the user to make a deal would anybody like that?
Poorup Redesign – Devlog #3 This phase was about expanding the social side of Poorup, adding more depth to the game, and planning future systems that make every round feel more alive. Social, Rankings, Achievements I added a complete friend system. Players can search for unique usernames, send and accept friend requests, remove or block players, report users, invite friends to rooms, and view public profiles without leaving the lobby. Profiles now include statistics such as wins, win rate, games played, average money, bankruptcies, achievements, and match history. I also added global rankings for wins, win rate, games played, achievements, and other statistics. Rankings and Social are now independent tabs instead of modals, with wider layouts that use the available screen space more effectively. Achievements now have custom pixel-art and SVG icons, rarity levels from Common to Mythical, filters, dates, categories, and clickable detail modals. Mythical achievements are extremely rare and can trigger a server-wide announcement for every player. Easter Egg I added the hidden Parlor Patrol minigame. Pressing CTRL + P on the home screen opens a secret mode where you shoot down police helicopters, planes, and drones. It includes custom explosions, animations, sounds, score tracking, and a secret achievement. Global Events Global Events are rare events that affect every player instead of only the person who landed on a tile. They can be triggered by round conditions or Surprise cards and can last several rounds. Ideas include: Housing Bubble Pop Credit Freeze Inflation Spiral Bank Run Interest Rate Shock Airport Strike Energy Crisis Tax Scandal City Election Rent Control Tourism Boom Supply Chain Breakdown Events can combine with each other, create unexpected situations, and unlock secret achievements. I also want a global-event setting that is simply on or off, while event strength and duration scale with the round length. Rules Page I added a complete Rules tab designed like a pixel-art game manual. It explains the board, movement, properties, loans, cards, achievements, global events, social features, and settings. It uses an internal book-style scroll so the main application does not become a long scrolling page. Future Systems I am also planning a casino system using virtual money, with red, black, and green bets where the odds are not equal. Another planned feature is a fictional stock market connected to properties, countries, airports, utilities, and global events. Events could crash markets, increase rent values, affect airports, or create temporary investment opportunities. I also want to add unethical and outrages bank loans with high interest, strict repayment rules, and serious consequences. Music/sound icons I also added simple music and sound icons for the buttons instead of having the music on/off text Next Steps The next phase will be making these systems work together while keeping the game balanced, and also adding AI bots which utilise AI like deepseek v4 and so on so they able to actually judge the situation and think of possible ways for them to win. The aim is to use hcai to power them. I will also add normal BOTS as a fallback if my usage runs out
Poorup Redesign - Devlog #4 This phase was mainly about setting up codescene doing a full restructuing with the help of AI and fixing bugs and adding missing features. I also added a simple, gambling and stock market system. Bots I first started with setting up the initial idea of bots so to the UI and a bit of the backend logic for bots and how they will interact with the game iam nowhere finished and I havent tried it out yet. Codescene After checking out the github studentpack again after a while I saw codescene, which is a code reviewer similar to coderabbit. I struggled a bit with the Setup but after running an analysisi I noticed how abysmall my codebase really is and how its missing structure, archtiectuer and etc, for example sepearting certain getures from game logic.js and creating their own thread for it. I also setup a full pr pipieline which I can use with my AI agents which aim will be fixing my architecture, and finding bugs before i push them. bugs I ran Qwen 3.8 flash on my pr pipileine with codescene and let it work indepnedlty to full restructer my codebase so the results are better and I have better architectural design I also let it fix any bugs it found. Bugs I found While trying out the game i found mutipile BUGS one of them affecting my secret minigame palor patrol. For some reason I was losing hearts for no appearent reason. The reason behind it was that even though UI was hidden the helicopters were still flying through. For some reason the heart bug still exists afterwards and even the AI isnt able to find out what it is so Iam completating making architecture changes to it. #Gambling I added a smile gambling system where you can bet money on a roulete on red, black, and green I didnt add any animation for it as I found it unecessary and I also made sure iam legally clear to make sth like this Stock market I created a simple stock market tab and backend which allows people to buy indexes of a property and made sure to connect it with global events so global events can affect the stock market but that is nowhere near usable. Next Steps Iam going to let my AI continue improving my codebase with codescene and continue the Stock market and afterwards add the bots.
Poorup Redesign - Devlog #5 This phase was mainly about fixing all bugs still exisitng, refactoring further with codescene and letting AI run over my code, also fixed some small missing features and simple bugs myself. Choosing Icon I noticed a bug in which because of logic I made before setting up custom icons the programm mapped custom icons people created onto persets and blocked them so for example your icon had red in it, the game decided to map it onto the red preset in the backend blocking it but showing yours in game, this came because I never rewrote this section after introducing custom icons. Ownership icon Before this change owenship on board was only shown with a simple like quadrat in the top right corner of the tile in the color you picked this is also something left over from the old preset logic. I decided to make it so It shows a smaller version of the face of the player which makes it look a lot cleaner. Missing Buttons This was mainly because I let AI write to much of my code, the finical trading tab which is centered around equity and everything missed a dropdown to choose who you send the trade to and even the button to send the trade which was a dumb oversight on my end. I also added a simple backend system for the dropdown inside that modal to only show the propertys a person owns. Bots I also continued working on the bot system though this was mainly watching tutorials and brainstorming further Next Steps Fix last bugs, fully add bot system and make sure UI looks good to release the first beta test hopefully the next post will be the last
Poorup Redesign - Devlog #6 This phase was mainly about adding more depth to the player interactions, improving the bot system, and making the rankings feel more alive. Deal Negotiation I redesigned the deal flow so trades, loans, equity, and hybrid deals all work in the same way. When you receive a deal, a modal appears with accept and negotiate. If you close it, the deal does not get declined and stays inside the Finance rail. Both players can now see the same deal collapsed in Finance. The receiver can negotiate, while the sender can adjust or cancel the deal. You can open a full read-only view, change the parameters, and send the new version back. The server also checks old deal IDs so an outdated modal cannot change a newer deal. Sponsored Purchases I also added sponsored purchases. If a player cannot afford a property, they can ask the table for help. Other players can reserve contributions, and once the full amount is available, the buyer accepts and is forced to buy that exact property. The money is automatically returned if the request is canceled, the property changes owner, or a player disconnects. It is not a loan and does not create equity. Bots I continued improving the AI and no-AI bots. The bots now receive more context about the board, current obligations, loans, events, opponents, future rent risk, expected cash flow, and their own previous decisions.AI bots can now also counter trades, negotiate player contracts, choose debt rescue actions, and make auction decisions. If the AI provider runs out of credits or fails, the no api key AI takes over Rankings I added recent trend indicators to the ranking rows, so you can see if a player is moving up, down, or staying flat. I also added a seasonal ranking scope based on the current calendar season. Rules Fixes I also fixed the Double GO setting so landing exactly on GO now pays the boosted amount, while simply passing GO still pays the normal amount.TestingI expanded the tests and ran long bot campaigns with auctions, loans, casino, market, global events, sponsorships, and negotiations. The latest regression suite passes and the longer 2,500-game campaign had zero stalled games. Next Steps The next major step is making the bots simulate several complete future turns and improving long-term negotiation behavior. After that I want to add deeper browser testing and seasonal ranking rewards. Also to lazy to do screenshots of new UI so you will get everything in the next devpost
Poorup Redesign - Devlog #7 This phase was mainly about doing a full audit over the game, fixing bugs which were still hidden inside the server and UI, and making the whole project easier to trust before the next merge. Finalising Bots, adding, themes adding new suprise features and more. Themes I decided to create 5 more themes which will fully change the look of the game, for the 5 i decided on 5 directions first of light mode, and then the 4 seasons so summer,autumm, winter, and spring. These took quite some time to create but I think they came out quite decent though they still need cleaning up Ranking Seasons I have now added ranking seasons which are 1 month each if you manage to rank on the leaderbaord at the end of the season you get a special cosmetic(newly added system) and a special Title Cosmetics I added a full cosmetics system and the ranking system so you can now get cosmetics from 2 places, either by getting them at the end of the season form the leaderboard or by getting them from achievements Card Upgrade I also now added the features to upgrade your bank account, if you pay enough money you can upgrade your card for 1000$ this gives you a card with 5% cashback which is the Spaarkasse karte(german Bank) and the nex level is the amex black card wich give you 10$ cashback and amex points which you can use for flying. Gambling UI I also decided to now give the gambling UI an animation it now has the same kind of case opening animation as CS2 so the roulette which goes form right to left. Plane station card Also made it so that you can now use the airplanes to skip things so you can fly to another station but of course you will have to pay alot and you have to pay a landing fee. If a player owns an Airpot he can decide the flying fee himeslf and the landing fee which means he could extort people if he is smart enough Quick Table I did some changes to Quick Table as it used to create a new public room every time. It now checks the live public room directory first, joins the most suitable open table, retries if somebody fills it during the join, and only creates a new Standard-40 room when no table can be joined. Private room codes are never exposed and the server still makes the final decision. Favicon I also designed a quick little favicon which is Just a P with a box around it but it looks quite good Music Candidates I am now searching for new Music for each theme so music changes with the theme Next Steps Cleaning up the UI one final time trying everything out and finally realsing the Beta and promoting it on reddit.
Poorup Redesign - Devlog #8 this phase mainly about consolidating the backend and adding a New admin only dashboard which will allow to analyze things easier for balane patches and etc in the future. This Phase was written only by hand hence the long time, normally I would use AI to speed up the process but I wanted to get some practice in. Also added legal and TOS pages Backend I found mutipile bugs such as simple Game bugs to not so simple leackage problems and other stuff which took quite some time to fix by hand and this really shows how I will probally pause using AI for coding after this project for a while Admin Dashboard I created this Dashboard so I would be allowed to pracitally analyze everything from how certain things affect the game and for example analyze them to see if they need fixes, balances or even remove them entirly. I also added things like seeing a rough strucutre of where my player base is from. If anybody is abusing the game somehow or bot traffic. Tos Pages These took quite long and were quite the hassle but I did it. though i am debating jus tdeleting them as I couldnt fill them out entirley as certain information is needed which would then make them 100% fool proof I forgot I also updated the Snow Theme and added music for each theme with a small music player in the bottom left though I just noticed I placed the icons wrong should be a quick 2 line fix Next Steps do the last fixes finnaly test the AI bots as they are fully setup but not setup do some balancing and realese it The next post should really be the last. Hopefully.
Poorup Redesign - Devlog #9 this phase was mainly about adding some missing things fully balancing everything also used the new model jev from typesafe as it was a perfect fit for the task. Admin Dashboard I now added a section in the admin Dashboard fully centered around the Bots which allows for dropping in any provider and choosing the model and see the request if theyre failing or not and etc this took quite a while as I coded this myself again as I wanted to practice a bit though I still needed Ai help as Iam so trash at js Removing TOS pages As i mentioned in the last devlog i have now decided to remove the TOS pages as they were jst not good looking and not complete and not needed. Music system I decided to remove the music player and rather make it so 1 music track is there for each theme and my next step ix expanding the profile page to allow choosing another music track as 12 are available in total but only 6 are used rn. I also decided that I am going to move the Theme chooser somewhere else as people get no indicator rn to find it New Idea for the Future Also I had a great Idea which i can incoperate into this but after the next ship. Its training a custom ml model on all the matches played by people and then incoperating it in the game. Because essentialy it would be a custom AI/Bot that is able to play monopoly as good as possible new features I also added the option to download all the data cause i noticed its saved on the server and maybe smb wants to download it will then be in a json. I also added the option to add an recovery email, because my plan is to allow people to sign up without email but they still need an option to recover data if needed I also added the option to rovoke all otehr session tokens then the onnes youre logged into rn, so essentially log out of all other devices and server sessions Next steps Cleaning up Ai code and reading through it all, 1 or 2 adjustments in Ui for example the global event banner needs to be relocated or the graphs for match history need to remade. Also the ranking page needs a little redesing. The next one will be the LAST ONE cause i cant deal with stardance anymore all my projects are getting rejected for dumb reasons, so this will be the last devlog and if it does not get accepted iam relocating somewhere else.
Poorup Redesign - Devlog #10 Iam aware this phase is 30 hours this is just cause i used hella AI and didnt want to count it towards my payout. this phase mainly about finishing touches running mutipile tests suits playing some games and finishing some things also fixing Ui and redoing the Ui of the Music First of all I added music for each of the 6 theme with a secondary theme which you can select under account and preferences I also made it easier to spot the different themes as they were hella hidden to be honest. Deactivation of palor patrol Though i didnt want to this I needed to deactivate palor patrol as it was simply impossible to use I checked m code in detail used and really did everything but I couldnt find the bug which makes it unplayablle so as long as I cant manage to fix it I have to deacitvate it. Next Phase pushing everything on nest setting up a piepleine so nest automatticaly pulls everything I push onto main in my repo and finnaly realsing it with thhe bots for players to use.
Poorup Redesign - Devlog #11 (FUCK MY LIFE) I am geniunly so tired of this project and my life in general i was so busy in the last few days cause of school and after shool clubs. This phase was mainly about recoding the Bot engine by hand, and updating the stock market modal inside the game also added New Ui for theme chooser and music and also added more sound tracks. I also redid statistics tabs in profile by hand and added better match history tracking Bot engine To be honest to Bot engine was so much AI stuff that i genuinly didnt understand what it was build on and how that is why I decided to take some time to read and research all the papers its build on and how it works. I then rewrote large parts of it to improve it and also found mutipile bugs in the logic of how it works and how it assigns values New account and preferences tab I fully redid some parts of the accounts and prefences tab to now allow for easier choosing of themes and also worked on the music engine so the music loops and youre able to choose different music depending on the theme. #Statsics tab I redid the whole tab as I found it quite stacked with 12 boxes for statsics and decicd to now add internal tabs to make it look cleaner this was a quick 30 minute changes as I didnt change logic but just frontend Next Steps Hopefully shipping adding HCAI and testing the AI bots and further UI refinement on tablet UI and 1440px desktop cause these are 2 of the most weirdest sizes https://poorup.jeremy-d.hackclub.app/ also if anybody wants to check it our but it is nowhere near finished so dont expect anything
Devlog after ship So after getting hella positive feedback regarding poorup which i highly appreciate my aim is to now make it have an even better user experience and etc. why? cause from the feedback i got, there are 3 areas I need to tackle, UI, game logic which is to complex and the User experience including rules and etc, Full redesign of the ingame lobby So after getting feedback that the board was to smallwhich was kinda expected and that the whole game is just clutered which i also assumed would happen cause all the features dont fit into the game i have done the following. I have redesigned the full ingame lobby with a new layout further inspired by richup(didnt want to do this but they have the most optimial layout) I have also redone the whole entire admin window cause to be honest it was horrondous and hard to use, and also just some small changes all around full redesign of modals so after doing the lobby i have now decided to fully redo a lot of the modal to have a better layout and etc so they are way more user friendly and acttually easy to understand, this also included cutting alot of features from certain modals because they just made them to complex and hard to use Cards and airpots this was something i was orrignally planning to release in the last ship but i just decided to ship it with this one i have finnaly added the option to buy new bank cards which you can use to get benefits like cashback of 10% on purchsees like rent payment suprise cards and other stuff, and I also added the option to use airpots to fly from one point to another and allow players to set the prices, Bots After reflecting a bit on my ai usage for the bots i decided to fully plug the whole programm into a repo which visualises it to see if it checks out with my mental map and I noticed so much slop which I would have never noticed before, this includes the whole Bot logic which i have probally never looked at cause i knew i wouldnt be able to code them. Though i probally should have cause this is the biggest slop i have ever seen and It introduced so many bugs which the ai couldnt find Next steps Right now all these changes are locally and not on github which are around +17000 lines of code and my aim is to further clean this up and fully push it with a new domain which is alredy online but will be kept hidden. here are soem before and afters, the more clutterd ones are the befores and the simplifyed ones after
Rework #1 Now you could be asking yourself? What have i done in the last 8 days to not post? Well Iam nearly finished with the full rework off all UI, Bug fixing and introducing new features, Chart Engine So i redid the whole system for charts and decided to build my own, because though i had one which worked it looked horrendous and really didnt fit poorup, you can see the new chart engine in the screenshot Game history I redid the whole entire game history system, because to be honest it was heavily vibed including its Ui and while cheking it, it looked like trash so I sat myself down and worked tiresly to fully redo it, and I even implemented the new chart system into it, Modals, Modals, Modals So I REDID NEARLY EVERY SINGLE MODAL IN THE GAME to provide a better User experience this took hella long and while doing it i noticed i had hackatime tracking off, because i had been working on some personal projects, hence the reason I only posted now because I lost so many hours, #Next Features Well to be honest there really arent anymore features i can add, the only thing left is fixing bugs and preparing it for the release and advertising it on reddit
Ships:
Poorup Poorup is a real-time multiplayer board game inspired by Richup(Monopoly), playable entirely in the browser What did I make? A full multiplayer board game running on a Node.js server with Socket.IO for real-time communication. The client is pure HTML, CSS, and JavaScript, no frameworks which is stupid if I look back on it . Features include: Room-based lobbies with a shareable room code Full Monopoly-style rules: buying, renting, building houses and hotels, mortgaging, and trading Live auctions with a countdown timer when a property is declined Configurable game rules per room (double rent, vacation cash, even build, auction, mortgage, randomized turn order, no rent in jail) Reconnect support — if you disconnect mid-turn, you can rejoin and resume In-game chat Automatic room cleanup when everyone leaves What was challenging? Shared states across multiple clients. Every player action, rolling dice, buying a property, placing a bid, has to be read server-side, broadcast to everyone, and reflected correctly on each client without race conditions or desync. Getting that right, especially during edge cases, took a lot of work. Edge cases in disconnects. A player disconnecting mid-auction is a different problem than disconnecting on their turn, which is different from the host disconnecting entirely. Each case needed its own handling: timers need to be cleared, pending actions need to be resolved, and remaining players need to stay in a valid game state. and i need alot of time and a bit of AI to fix that for me. Building a complete game UI with vanilla CSS. No component library, no utility framework — every modal, toggle, property card, and animation is hand-written. Honestly needed a lot of AI help here. Probally should have used a libary if I look back at it but it was fun to do it in plain CSS also for anyone wondering why the favicon is the one from vite i never deleted it and i wasnt in the mode to redesign a new one and tried to use the board map but that didnt work for some reason. What am I proud of? The architecture. The game logic lives entirely in gameLogic.js and has no knowledge of sockets or HTTP. The server in server.js wires events to logic calls and broadcasts the results. That separation made the codebase much easier to debug than it would have been otherwise but i needed AI to implement the idea i had the idea but wasnt quite able to do it. How to test it git clone https://github.com/jeremy341/Poorup.git cd Poorup npm install npm start Then open http://localhost:8080 in two separate tabs or browser windows.
Project Update I didnt even notice but all the changes i did i the last patches never got shipped so this one is about the last to changes which were adding modals, creating new UI and removing AI code check it out https://poorup.jeremy-d.hackclub.app/
Poorup — Biggest Update to date I’ve given the project a major overhaul, from its visual identity and everything else. This is geninuly one of the best projects i have created and iam proud to announce it I first started Poorup 3 and 1/2 months ago as a project to get introcude into webdesing and since then i have created 4 more website and revesiting it really shows my growth. Of course Ai was used by even then I could really feel my growth What was challening i decide to stay on CSS, html, and js instead of transferring it into another language for a simple reason i wanted to test how far i can push these 3 languages( i was just to lazy to learn a new language) How I used AI AI WAS USED IN THIS PROJECT for debugging and coding no UI or art generation. AI was a substantial coding and debugging tool, especially for backend work, bot logic, and tricky multiplayer edge cases. I used CodeScene to identify code-health hotspots. I wrote many page-specific backend features myself, then used GPT/Codex to help debug or split some larger hotspot files into smaller modules. Ai was also used to fix bugs in the Ipad Ui I created Poorup’s frontend UI and its SVG and art assets myself. AI helped in coding but never touched art. I didn’t compose the soundtrack. I selected open-source and other openly licensed tracks; their sources and license details are in the audio credits . I also rewrote the Git history to make the repository cleaner, so the current commit log isn’t a complete record of the project’s development. Also after around the 6th or 7th devlog i turned ai traccking of as to not fraud myself hours So if needed deplete hours. What’s new in this patch UI Full ui rework of everything nothing was left out every single Ui elemt was redone by scratch, with upto 6 themse each with their own custom soundtrack and background, this was the largest wish people had wished for when they reviewed my game and iam so proud of the UI. Boards and multiplayer New 40 and Metro-52 boards, with custom visual themes. Public rooms and private rooms with shareable codes; people can join as guests. Configurable rules, including double rent, vacation cash, even building, and randomized turn order. A deeper economy system Bank loans, player-to-player loans, equity deals, and hybrid contracts, with collateral and default consequences. Sponsored purchases: one player can fund another player’s property purchase in exchange for an agreed share. Negotiating now youre able to negotiate all offers you get instead of accepting or declining on the spot you can also keep them on hold An optional stock market for all the quant bros(gamblers) casino so now youre able to gamble Social I also added a full social systems with achievements, friends inviting people to lobbys seeing match history and more, also added the option to create your own 16x16 user icon Events one of the biggest features I decided to add global events which appear under certain conditions like to many houses standing which should reference the 2008 housing crises i also added stock market crash and alot more. Also global events can also combine to create seacil ones Parlor patrol this was supposed to be a cool minigame while waiting for your friends but it doesnt work and i cant fix the bug for the life of me so you can test it out but it doesnt work correclty all svg assets for it exist...
|
1792997704.104603
|
1793084104.104603
|
|
37299
|
rock_paper_scissors_OS by @flloatwer | Stardance
|
flloatwer
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-19T21:29:10Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "rpsOS is made completely in Assembly. Writing the code only took 20 minutes, debugging it took 2 hours. It didn’t take long to make, but its only supposed to be a quick first project.", "repo": "https://github.com/Flloatwer/rpsos", "demo": "https://flloatwer.github.io/rpsos/"}]...
|
[{"post_id": 31467, "ts": "202 [{"post_id": 31467, "ts": "2026-07-19T20:53:39Z", "hours": 1.5447, "text": "Finally got it working. Debugging assembly is a nightmare but somehow managed to get it working"}, {"post_id": 31307, "ts": "2026-07-19T16:31:57Z", "hours": 0.4806, "text": "Got it booting and printing working"}]...
|
Title: rock_paper_scissors_OS by @flloatwer | Star Title: rock_paper_scissors_OS by @flloatwer | Stardance
Devlogs:
Got it booting and printing working
Finally got it working. Debugging assembly is a nightmare but somehow managed to get it working
Ships:
rpsOS is made completely in Assembly. Writing the code only took 20 minutes, debugging it took 2 hours. It didn’t take long to make, but its only supposed to be a quick first project....
|
1792997703.2139995
|
1793084103.2139995
|
|
51525
|
SpeedOS by @ravioli | Stardance
|
ravioli
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T12:25:10Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is SpeedOS, a webOS that i am developing for racing fans, it features movable and closable windows, an embedded music player and a welcome screen The project is built on HTML, CSS and JavaScript.", "repo": "https://github.com/ravioliiii665/SpeedOS", "demo": "https://ravioliiii665.github.io/SpeedOS/"}]...
|
[{"post_id": 60184, "ts": "202 [{"post_id": 60184, "ts": "2026-09-02T12:21:02Z", "hours": 0.2942, "text": "Changed the music playlist, made all windows dismissible and cleaned up my code (moved embedded css to style.css)"}, {"post_id": 56601, "ts": "2026-08-28T12:47:00Z", "hours": 1.6706, "text": "Made windows movable, made the welcome window dismissible and changed some pictures."}, {"post_id": 52218, "ts": "2026-08-22T09:58:01Z", "hours": 4.9353, "text": "This is step one of building my own, racing inspired OS!"}]...
|
Title: SpeedOS by @ravioli | Stardance
Devlogs:
T Title: SpeedOS by @ravioli | Stardance
Devlogs:
This is step one of building my own, racing inspired OS!
Made windows movable, made the welcome window dismissible and changed some pictures.
Changed the music playlist, made all windows dismissible and cleaned up my code (moved embedded css to style.css)
Ships:
This is SpeedOS, a webOS that i am developing for racing fans, it features movable and closable windows, an embedded music player and a welcome screen The project is built on HTML, CSS and JavaScript....
|
1792997702.3298347
|
1793084102.3298347
|
|
40758
|
Game Contained Entirely Within a Minecraft Shader Game Contained Entirely Within a Minecraft Shader by @_Pm7 | Stardance...
|
_Pm7
|
1
|
48.0
|
941
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T23:53:19Z", "hours": 48.0, "multiplier": 19.46, "payout": 941, "blessing": "neutral", "text": "I created a fully functional 3d game that runs entirely through a vanilla Minecraft postprocessing effect. Anyone who owns minecraft java edition will be able to load this onto a world and play it. Player input is collected via a datapack that changes colors on the screen when keys are pressed, but besides that the entire game’s code is contained in a resource pack. It is complete with a tank-style movement system, key-door interactions, enemies, and an intuitive level loading system.", "repo": "https://github.com/Pm7-dev/posteffect-game", "demo": "https://github.com/Pm7-dev/posteffect-game/releases/latest"}]...
|
[{"post_id": 59271, "ts": "202 [{"post_id": 59271, "ts": "2026-08-31T23:38:05Z", "hours": 2.5286, "text": "It’s finally finished! After designing the main level and getting some friends to playtest it, I’m happy to say that this project is finally ready for release! The game can now be played by anyone with vanilla Minecraft Java Edition!!"}, {"post_id": 58473, "ts": "2026-08-30T21:49:59Z", "hours": 7.7214, "text": "Added cats I have added my friend’s cat, Mumuy, into the game as an enemy which follows the player around and attacks if she gets close. This took such an incredible amount of pain and debugging with the memory buffer that I’m almost ready to call this project done. In the next devlog I’d like to polish up some things and then finally release the project."}, {"post_id": 52456, "ts": "2026-08-22T16:05:18Z", "hours": 7.8172, "text": "I knew this would take a long time but uh….. oh. I have now created a functioning inventory pickup system, and opening doors will now check to make sure the player is holding the corresponding colored key before it opens. To do this, I had to store an array of colors of the keys in the program memory for the player’s inventory. But since I can’t always guarantee that the array doesn’t have gaps in it, each frame also generates a list of positions of the colors addresses (I guess in a really cursed way you could call these pointers?) so I don’t have to sample the entire inventory list for every pixel in the rendering passes and can instead read the pointers list to know what inventory index to render."}, {"post_id": 49341, "ts": "2026-08-18T03:29:17Z", "hours": 6.1069, "text": "Added spinning keys as placeable objects in the map image I modeled this key in blender and rendered out eight frames of it spinning to create this texture atlas. The atlas is pulled from based on the GameTime. Loading keys into memory from the map proved to be quite a challenge. When initializing the map, the shader reads the map texture for any pixels with opacity 150 and treats them as keys, loading them and their data into a few rows in memory. The data stored and updated along with them is: Their coordinates on the map, their colors, their distance offset from the player, and their rotational offset from the player. Using this data, I created a render pass after the map renderer that adds these in. Next will be a pickup system so they can be used to unlock doors. The player inventory system is probably gonna suuuuuuck to make."}, {"post_id": 47224, "ts": "2026-08-15T00:20:59Z", "hours": 3.9419, "text": "Map units can now be destroyed in real time by pressing the space bar. Listening for the player jump predicate and treating it like an “action” input allows me to make the map destructible. This will be used later to make doors that require keys to open. Additionally, inputs are now polled independently of one another, as shown later in the video. Each input set (movement, rotation, action) has its own text display associated with it, and now the shader samples from three points on the screen to get all the inputs at once."}, {"post_id": 44039, "ts": "2026-08-09T15:30:26Z", "hours": 1.9911, "text": "Wall texture atlas created The shader now looks for specific rgb values in the map so it knows what part of the atlas to sample from, allowing me to choose which wall texture to render when making the game map. Next I will be working on wall collision and an item pickup system."}, {"post_id": 42366, "ts": "2026-08-07T01:37:06Z", "hours": 1.3319, "text": "Wall textures are now sampled from texture images using the raycast positions, I can determine the x coordinate to sample from on the texture just by modding the larger coordinate by one (making the texture repeat every unit.) The Y coordinate is based on the current calculated wall height (determined by the distance between the raycast and the player.) Next I will make textures loaded on an atlas instead of a single image so I can make multiple different types of wall."}, {"post_id": 39874, "ts": "2026-08-03T04:25:21Z", "hours": 7.4583, "text": "Spent a huge amount of time refactoring my entire fragment shader pipeline, splitting it into more than two render passes. Before, there was one pass to update data, and one to render the data. Now there are six: Player input -> Update Map -> Update Player -> Collect Raycast Data -> Render Map -> Update Global Data All these passes share one 512x512 persistent render target to store/load data, which gives me about one megabyte of “ram” given that each pixel stores 32 bits. This should be more than enough for what I need. Currently, I don’t even use half of it, with the largest chunk storing the 256x256 game level that can now be affected by the player. As an added bonus to this new render target storage method, I now store the coordinates of where each camera raycast hits, so I can map textures to the walls. I think I’ll work on a system to do this next."}, {"post_id": 38857, "ts": "2026-08-01T12:49:37Z", "hours": 3.535, "text": "4th Devlog, Rewritten the raycasting system. Now the map is gridlocked to its texture, with each pixel representing one unit. The raycast only has to check the status of each pixel it passes through on the map image rather than sampling at a defined distance interval that could potentially pass through the corners of units. I also fixed the previous fisheye effect by multiplying the caculated ray distance by the cosine of its angle offset from the center Next I would like to work on texture mapping to the walls, but with what I plan to add in the future I think I might spend some time refactoring the way I store the program’s memory so I can fit more data in it and organize it better."}, {"post_id": 37362, "ts": "2026-07-30T00:50:21Z", "hours": 1.4472, "text": "Beginnings of player input Because shader code is run entirely on the GPU, I can’t just directly listen for keyboard input. The only thing that the shader code actually reads is the colors rendered to the screen by minecraft, so I needed to make a sort of “translation layer” that listens for player input in minecraft and outputs a color on the screen so it can be read and interpreted by the shader code. My really jank test rig As shown in the video, the color of the square updates depending on the pressed keys. The inputs are gathered using minecraft’s “predicate” system and are translated to the background color of a text display entity. The player is mounted to an armor stand to stop them from moving away, keeping the text display in the center of the screen always. How I keep track of data in code that can’t store variables If a shader can only read colors, how does it remember where the player is? This question was one that I had until I discovered minecraft’s support for the persistent render target. This allows the shader to sample from the pixels it renders in the current frame in the next frame. A floating point number is stored using thirty two bits. Each pixel’s color is stored with eight bits of precision each for red, green, blue, and alpha channels, which also happens to total 32 bits. So I wrote what is possibly the strangest utility I have ever written, that can translate a float to an rgba color and an rgba color to a float. Now, using a persistent render target that is simply never rendered to the screen, I can store the player’s x, y, and camera position in colors, and update them based on the color in the middle of the screen from the minecraft render. I suppose the persistent render target sorta counts as the game’s “RAM.” I’ll be using it to store a lot more data in the future, but next I’ll be fixing up some issues I found with rendering and player control."}, {"post_id": 36763, "ts": "2026-07-29T01:02:02Z", "hours": 3.0931, "text": "I finally got some actual visual output!! After fixing many compiler errors, and then another few that kept causing the loaded data to reset, I got this output. The current system renders walls based on the pixel’s distance from a wall defined by a texture (visualized in the picture). This created a sort of fisheye distortion that I’ll try and work out later, but I’m happy with my progress for now, and would like to focus on getting player movement functional"}, {"post_id": 36141, "ts": "2026-07-28T01:24:17Z", "hours": 1.3989, "text": "Minecraft has in recent snapshots greatly improved the capabilities of its shader system, now allowing postprocessing shaders “post effects” to be applied using commands. This has wildly changed what is now possible in vanilla minecraft and I immediately was overcome with excitement about what was now possible. After playing around with it for a while and discovering the “persistent” mode on custom render targets, I realized that even more than expected was now possible, and found a way to make posteffects that have fade-in animations by updating the value in a persistent render target over the course of a few frames. To make it consistent across different frame rates, I had to figure out a way to get a deltatime (time between frames), which I was able to do using the GameTime uniform in minecraft. Having gotten a deltatime, I began wondering about the possibilities of creating a fully functional game contained entirely in a minecraft postprocessing shader…"}]...
|
Title: Game Contained Entirely Within a Minecraft Title: Game Contained Entirely Within a Minecraft Shader by @_Pm7 | Stardance
Devlogs:
Minecraft has in recent snapshots greatly improved the capabilities of its shader system, now allowing postprocessing shaders “post effects” to be applied using commands. This has wildly changed what is now possible in vanilla minecraft and I immediately was overcome with excitement about what was now possible. After playing around with it for a while and discovering the “persistent” mode on custom render targets, I realized that even more than expected was now possible, and found a way to make posteffects that have fade-in animations by updating the value in a persistent render target over the course of a few frames. To make it consistent across different frame rates, I had to figure out a way to get a deltatime (time between frames), which I was able to do using the GameTime uniform in minecraft. Having gotten a deltatime, I began wondering about the possibilities of creating a fully functional game contained entirely in a minecraft postprocessing shader…
I finally got some actual visual output!! After fixing many compiler errors, and then another few that kept causing the loaded data to reset, I got this output. The current system renders walls based on the pixel’s distance from a wall defined by a texture (visualized in the picture). This created a sort of fisheye distortion that I’ll try and work out later, but I’m happy with my progress for now, and would like to focus on getting player movement functional
Beginnings of player input Because shader code is run entirely on the GPU, I can’t just directly listen for keyboard input. The only thing that the shader code actually reads is the colors rendered to the screen by minecraft, so I needed to make a sort of “translation layer” that listens for player input in minecraft and outputs a color on the screen so it can be read and interpreted by the shader code. My really jank test rig As shown in the video, the color of the square updates depending on the pressed keys. The inputs are gathered using minecraft’s “predicate” system and are translated to the background color of a text display entity. The player is mounted to an armor stand to stop them from moving away, keeping the text display in the center of the screen always. How I keep track of data in code that can’t store variables If a shader can only read colors, how does it remember where the player is? This question was one that I had until I discovered minecraft’s support for the persistent render target. This allows the shader to sample from the pixels it renders in the current frame in the next frame. A floating point number is stored using thirty two bits. Each pixel’s color is stored with eight bits of precision each for red, green, blue, and alpha channels, which also happens to total 32 bits. So I wrote what is possibly the strangest utility I have ever written, that can translate a float to an rgba color and an rgba color to a float. Now, using a persistent render target that is simply never rendered to the screen, I can store the player’s x, y, and camera position in colors, and update them based on the color in the middle of the screen from the minecraft render. I suppose the persistent render target sorta counts as the game’s “RAM.” I’ll be using it to store a lot more data in the future, but next I’ll be fixing up some issues I found with rendering and player control.
4th Devlog, Rewritten the raycasting system. Now the map is gridlocked to its texture, with each pixel representing one unit. The raycast only has to check the status of each pixel it passes through on the map image rather than sampling at a defined distance interval that could potentially pass through the corners of units. I also fixed the previous fisheye effect by multiplying the caculated ray distance by the cosine of its angle offset from the center Next I would like to work on texture mapping to the walls, but with what I plan to add in the future I think I might spend some time refactoring the way I store the program’s memory so I can fit more data in it and organize it better.
Spent a huge amount of time refactoring my entire fragment shader pipeline, splitting it into more than two render passes. Before, there was one pass to update data, and one to render the data. Now there are six: Player input -> Update Map -> Update Player -> Collect Raycast Data -> Render Map -> Update Global Data All these passes share one 512x512 persistent render target to store/load data, which gives me about one megabyte of “ram” given that each pixel stores 32 bits. This should be more than enough for what I need. Currently, I don’t even use half of it, with the largest chunk storing the 256x256 game level that can now be affected by the player. As an added bonus to this new render target storage method, I now store the coordinates of where each camera raycast hits, so I can map textures to the walls. I think I’ll work on a system to do this next.
Wall textures are now sampled from texture images using the raycast positions, I can determine the x coordinate to sample from on the texture just by modding the larger coordinate by one (making the texture repeat every unit.) The Y coordinate is based on the current calculated wall height (determined by the distance between the raycast and the player.) Next I will make textures loaded on an atlas instead of a single image so I can make multiple different types of wall.
Wall texture atlas created The shader now looks for specific rgb values in the map so it knows what part of the atlas to sample from, allowing me to choose which wall texture to render when making the game map. Next I will be working on wall collision and an item pickup system.
Map units can now be destroyed in real time by pressing the space bar. Listening for the player jump predicate and treating it like an “action” input allows me to make the map destructible. This will be used later to make doors that require keys to open. Additionally, inputs are now polled independently of one another, as shown later in the video. Each input set (movement, rotation, action) has its own text display associated with it, and now the shader samples from three points on the screen to get all the inputs at once.
Added spinning keys as placeable objects in the map image I modeled this key in blender and rendered out eight frames of it spinning to create this texture atlas. The atlas is pulled from based on the GameTime. Loading keys into memory from the map proved to be quite a challenge. When initializing the map, the shader reads the map texture for any pixels with opacity 150 and treats them as keys, loading them and their data into a few rows in memory. The data stored and updated along with them is: Their coordinates on the map, their colors, their distance offset from the player, and their rotational offset from the player. Using this data, I created a render pass after the map renderer that adds these in. Next will be a pickup system so they can be used to unlock doors. The player inventory system is probably gonna suuuuuuck to make.
I knew this would take a long time but uh….. oh. I have now created a functioning inventory pickup system, and opening doors will now check to make sure the player is holding the corresponding colored key before it opens. To do this, I had to store an array of colors of the keys in the program memory for the player’s inventory. But since I can’t always guarantee that the array doesn’t have gaps in it, each frame also generates a list of positions of the colors addresses (I guess in a really cursed way you could call these pointers?) so I don’t have to sample the entire inventory list for every pixel in the rendering passes and can instead read the pointers list to know what inventory index to render.
Added cats I have added my friend’s cat, Mumuy, into the game as an enemy which follows the player around and attacks if she gets close. This took such an incredible amount of pain and debugging with the memory buffer that I’m almost ready to call this project done. In the next devlog I’d like to polish up some things and then finally release the project.
It’s finally finished! After designing the main level and getting some friends to playtest it, I’m happy to say that this project is finally ready for release! The game can now be played by anyone with vanilla Minecraft Java Edition!!
Ships:
I created a fully functional 3d game that runs entirely through a vanilla Minecraft postprocessing effect. Anyone who owns minecraft java edition will be able to load this onto a world and play it. Player input is collected via a datapack that changes colors on the screen when keys are pressed, but besides that the entire game’s code is contained in a resource pack. It is complete with a tank-style movement system, key-door interactions, enemies, and an intuitive level loading system....
|
1792997701.1433141
|
1793084101.1433141
|
|
53127
|
VirtualSync by @Cosmic | Stardance
|
Cosmic
|
1
|
20.28
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T17:37:15Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "yea I know i didnt put anything in the github or anything its for a reason I will try to put it there if I can and I wanted to do Web OS2 but its been locked even tho Web Os 1 has been completed ages ago.(10 days or smth like that) No reply no unlock no reward so mainly I am working on that and this Is completed as everything was done.", "repo": "https://github.com/Arhan-collab/vS", "demo": ""}]...
|
[{"post_id": 65993, "ts": "202 [{"post_id": 65993, "ts": "2026-09-11T14:39:39Z", "hours": 3.2831, "text": "hmmm IDK I am annoyed and everything but yessir now gimme that DUST hehe ‘v’"}, {"post_id": 60972, "ts": "2026-09-03T17:32:25Z", "hours": 3.0336, "text": "Added an Oled screen along with crashing out with those and I guess its probably the last Cuz I basically finished this project i mean apart from printing the case which I will but not right now as 3D designing is smth not on my level yet"}, {"post_id": 55731, "ts": "2026-08-27T18:22:24Z", "hours": 7.9, "text": "getting started.. after fixing the hardware AGAIN"}, {"post_id": 53490, "ts": "2026-08-24T01:59:52Z", "hours": 5.6833, "text": "Finished soldering"}]...
|
Title: VirtualSync by @Cosmic | Stardance
Devlogs Title: VirtualSync by @Cosmic | Stardance
Devlogs:
Finished soldering
getting started.. after fixing the hardware AGAIN
Added an Oled screen along with crashing out with those and I guess its probably the last Cuz I basically finished this project i mean apart from printing the case which I will but not right now as 3D designing is smth not on my level yet
hmmm IDK I am annoyed and everything but yessir now gimme that DUST hehe ‘v’
Ships:
yea I know i didnt put anything in the github or anything its for a reason I will try to put it there if I can and I wanted to do Web OS2 but its been locked even tho Web Os 1 has been completed ages ago.(10 days or smth like that) No reply no unlock no reward so mainly I am working on that and this Is completed as everything was done....
|
1792997700.0155373
|
1793084100.0155373
|
|
42536
|
Web OS 1 (first project!!) by @nishy- | Stardance
|
nishy-
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T18:51:12Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "ship #1 woohoo! anyways i finally got my first window simulating after 2 hours of trial and error, i’m gonna add a buncha more stuff in webOS2 bc if i don’t this OS is gonna just be poop Time to actually lock in! (if you have any good githubs i can look at or tutorials please send them my way!)", "repo": "https://github.com/nishyns/WebOS", "demo": "https://nishyns.github.io/WebOS/"}]...
|
[{"post_id": 56797, "ts": "202 [{"post_id": 56797, "ts": "2026-08-28T18:29:58Z", "hours": 4.1319, "text": "Ship #1? I was struggling with simulating a window for like two hours after trial and error and re writing my code a few times i finally simulated my gallery app! Sorry that the OS looks so poop rn and that there’s only one app, for webOS 2 I’m gonna lock in and redo the gallery app, add doomscroll, a calculator, a calendar app, snake mini game (maybe suika too ) add an embedded browser with youtube wikipedia neal.fun + sfx and background music (music player app) maybe editable wallpapers bc it sounds easy on paper but ik it wont be easy"}, {"post_id": 51739, "ts": "2026-08-21T15:57:10Z", "hours": 3.8753, "text": "After a long time i’ve finally completed tutorials 3 and 4! I added dragabble windows and my first app! (the notes app that SerenityUX showed in the tutorial) The reason I almost four hours is because my mind was boggled by tutorial three, so after looking at other projects code and the tutorial a few times and lots of troubleshooting I finally got it to work!"}, {"post_id": 42117, "ts": "2026-08-06T18:08:29Z", "hours": 1.8656, "text": "AeroOS Devlog 1 I’ve been working on my website for 2 hours (that didn’t count because I didn’t do wakatime correctly) and the time that’s showing here (1 hour 45ish minutes) So far I have followed tutorials 1 and 2 and my website looks like this (attached image) The current features are, Showing the live time (EST) Having a link that sends you to youtube A random rotating disc (hopefully i can later make this disc send you to a nice spotify playlist) some text and a top bar Features I want to add in the future are Background music (fruitger aero music) Minigames snake minigame Funny videos (like 50 videos that are from old youtube like funny 10 second videos) A calculator Ms paint? Dragabble shortcuts trash bin Notes app Radio? (Shows background musci playing or swtich to other channel for random songs I like) A good README Loading screen"}]...
|
Title: Web OS 1 (first project!!) by @nishy- | Sta Title: Web OS 1 (first project!!) by @nishy- | Stardance
Devlogs:
AeroOS Devlog 1 I’ve been working on my website for 2 hours (that didn’t count because I didn’t do wakatime correctly) and the time that’s showing here (1 hour 45ish minutes) So far I have followed tutorials 1 and 2 and my website looks like this (attached image) The current features are, Showing the live time (EST) Having a link that sends you to youtube A random rotating disc (hopefully i can later make this disc send you to a nice spotify playlist) some text and a top bar Features I want to add in the future are Background music (fruitger aero music) Minigames snake minigame Funny videos (like 50 videos that are from old youtube like funny 10 second videos) A calculator Ms paint? Dragabble shortcuts trash bin Notes app Radio? (Shows background musci playing or swtich to other channel for random songs I like) A good README Loading screen
After a long time i’ve finally completed tutorials 3 and 4! I added dragabble windows and my first app! (the notes app that SerenityUX showed in the tutorial) The reason I almost four hours is because my mind was boggled by tutorial three, so after looking at other projects code and the tutorial a few times and lots of troubleshooting I finally got it to work!
Ship #1? I was struggling with simulating a window for like two hours after trial and error and re writing my code a few times i finally simulated my gallery app! Sorry that the OS looks so poop rn and that there’s only one app, for webOS 2 I’m gonna lock in and redo the gallery app, add doomscroll, a calculator, a calendar app, snake mini game (maybe suika too ) add an embedded browser with youtube wikipedia neal.fun + sfx and background music (music player app) maybe editable wallpapers bc it sounds easy on paper but ik it wont be easy
Ships:
ship #1 woohoo! anyways i finally got my first window simulating after 2 hours of trial and error, i’m gonna add a buncha more stuff in webOS2 bc if i don’t this OS is gonna just be poop Time to actually lock in! (if you have any good githubs i can look at or tutorials please send them my way!)...
|
1792997698.8983078
|
1793084098.8983078
|
|
13631
|
wire snipping game by @aalex | Stardance
|
aalex
|
1
|
4.0
|
18
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-18T19:07:55Z", "hours": 4.0, "multiplier": 5.0, "payout": 18, "blessing": "neutral", "text": "I made a bomb defusal game featuring snipable wires, a customed designed spraying mechanism, and a case to go around the ardunio which doubles as a holder for the beeper. this project made me get comfortable with modeling around real objects, and writing ardunio code. check out the video of the project in action and let me know and please send any suggestions or feedback. thank you!", "repo": "https://github.com/icelolcream4-beep/bombdefusal", "demo": ""}]...
|
[{"post_id": 9618, "ts": "2026 [{"post_id": 9618, "ts": "2026-06-16T00:44:31Z", "hours": 0.8683, "text": "the core of the project is done! using the updated code and a hot glued support below the main servo holder the project just needs a case to hide the electronics."}, {"post_id": 8445, "ts": "2026-06-14T01:23:37Z", "hours": 1.7161, "text": "just finished the mount for the spray bottle/servo aswell as polishing the code."}, {"post_id": 5323, "ts": "2026-06-09T01:51:42Z", "hours": 1.0922, "text": "i just finished finished a rough draft of detecting when wires are disconnected."}]...
|
Title: wire snipping game by @aalex | Stardance
D Title: wire snipping game by @aalex | Stardance
Devlogs:
i just finished finished a rough draft of detecting when wires are disconnected.
just finished the mount for the spray bottle/servo aswell as polishing the code.
the core of the project is done! using the updated code and a hot glued support below the main servo holder the project just needs a case to hide the electronics.
Ships:
I made a bomb defusal game featuring snipable wires, a customed designed spraying mechanism, and a case to go around the ardunio which doubles as a holder for the beeper. this project made me get comfortable with modeling around real objects, and writing ardunio code. check out the video of the project in action and let me know and please send any suggestions or feedback. thank you!...
|
1792997697.756236
|
1793084097.756236
|
|
209
|
kindness generator by @kenji | Stardance
|
kenji
|
1
|
7.0
|
87
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T14:26:24Z", "hours": 7.0, "multiplier": 12.05, "payout": 87, "blessing": "neutral", "text": "i was making random acts of kindness or kindness generator, what hard is the script and the category style bcs is had some typo at there What I am proud of is the new challenge button and the animation when we opens the web!!!!!", "repo": "https://github.com/coplikso/kindness-generator", "demo": "https://coplikso.github.io/kindness-generator/"}]...
|
[{"post_id": 3522, "ts": "2026 [{"post_id": 3522, "ts": "2026-06-06T14:33:12Z", "hours": 2.0656, "text": "HEYYY GUYSSSSS, its been a while since the last devs yk, btw the web is done (no) but there is still something i wanna change like the color isn’t stardance enough and the challenge still not enough its only like.. 30 or smth, anyway what i have worked on is the category the animation when we refresh it and um that is it i guess, i’ll prob demo it so you guys can try to spread kindness to other people!!!!!!!!! luv you alllll"}, {"post_id": 2622, "ts": "2026-06-05T07:52:23Z", "hours": 1.3706, "text": "what changes im making is first of all the streak button i make it more “square” and the challenge,done, and share button is already having some cool effect that i luvvvv. that is just from me, baii"}, {"post_id": 1924, "ts": "2026-06-04T05:00:26Z", "hours": 1.1553, "text": "yo gng, so i have made the button to make a new challenge and the challlenge text!! next ill gonna be adding more style and script!!!!!!!"}, {"post_id": 1326, "ts": "2026-06-03T08:15:37Z", "hours": 0.7567, "text": "yooo gng, so i have added the box column for the challenge its cool tho"}, {"post_id": 741, "ts": "2026-06-02T11:24:37Z", "hours": 0.6286, "text": "the header has been centered and i have already added the orange thingy at the top"}, {"post_id": 460, "ts": "2026-06-01T22:13:45Z", "hours": 0.4944, "text": "so i have been working on the css file, the header is much cooler now, bcs of the font and the flex, luv it😆"}, {"post_id": 202, "ts": "2026-06-01T07:53:58Z", "hours": 0.7775, "text": "44m = i only got the html file, nothing else but i love the way it is to be tho. that is just from me"}]...
|
Title: kindness generator by @kenji | Stardance
D Title: kindness generator by @kenji | Stardance
Devlogs:
44m = i only got the html file, nothing else but i love the way it is to be tho. that is just from me
so i have been working on the css file, the header is much cooler now, bcs of the font and the flex, luv it😆
the header has been centered and i have already added the orange thingy at the top
yooo gng, so i have added the box column for the challenge its cool tho
yo gng, so i have made the button to make a new challenge and the challlenge text!! next ill gonna be adding more style and script!!!!!!!
what changes im making is first of all the streak button i make it more “square” and the challenge,done, and share button is already having some cool effect that i luvvvv. that is just from me, baii
HEYYY GUYSSSSS, its been a while since the last devs yk, btw the web is done (no) but there is still something i wanna change like the color isn’t stardance enough and the challenge still not enough its only like.. 30 or smth, anyway what i have worked on is the category the animation when we refresh it and um that is it i guess, i’ll prob demo it so you guys can try to spread kindness to other people!!!!!!!!! luv you alllll
Ships:
i was making random acts of kindness or kindness generator, what hard is the script and the category style bcs is had some typo at there What I am proud of is the new challenge button and the animation when we opens the web!!!!!...
|
1792997696.6379638
|
1793084096.6379638
|
|
3397
|
Moonshine by @kritik | Stardance
|
kritik
|
1
|
58.21
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-08T01:46:24Z", "hours": 47.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a materials science engine meant to try and come up with candidates for novel materials with a high likleyhood of stability and validity for more advanced algorithms. The challenging part was integrating all the different tools being used, as well as perfectly tuning all tools to create accurate structures in as little time as possible. I am proud of the beautiful structures created by this algorithm. What to know to test this project is that its very unlikely a new material will be found on the first few tries, this has to be run for a while so start at the beta processing layer and run what is in the Alpha Arrays file. There is also lots of inaccuracies in this pipeline due to using off the self locally hosted LLM’s so you might have to run each layer a few times and not all candidates will be made.", "repo": "https://github.com/K200811/Project-MoonshineV2-Live", "demo": "https://github.com/K200811/Project-MoonshineV2-Live/releases/tag/v1.0.0"}]...
|
[{"post_id": 28069, "ts": "202 [{"post_id": 28069, "ts": "2026-07-14T02:58:00Z", "hours": 6.2922, "text": "IMPORTANT NOTE MOONSHINE TAKES A FEW HOURS TO RUN FOR THE BETA AND GAMMA LAYERS, SO JUST CHECK THE TERMINAL THAT OPENS UP WITH THE UI TO MAKE SURE EVERYTHING IS WORKING AND JUST WAIT YOU CAN ALSO SEE IT WORKING THROUGH THAT TERMINAL OUTPUT JUST MAKE SURE TO DOWNLOAD OLLAMA AND THE TWO AI MODELES THAT GO WITH IT, GEMMA THREE AND DEEPSEAK R1 . . . . In this last devlog I am showing how I turned my python project into a file that anyone can download and use on there Mac device without fiddling with python files and github repos. And boy was that a adventure. Firstly I know quite a bit about building python projects and everthing to do with building projects inside VSCode. I know ABSOLUTLY NOTHING about turning that into something others can easily use. The battles I faught with learning about file paths and directories and temp folders and the whole bajazz was enough to make Roman warriors run. But nontheless with Claude as my sensie and enough caffine to send a todler to the moon I was able to figure it out and Im going to outline some of it now. Firstly this project is a multi script project where you run each stage (Alpha - Epsilon) and check the output for each and move onto the next stage and so on jsut becuase thats how I liked it best. Now to comuncate information through differtent scripts I used JSON’s. But when packaging a python project you must make it so that insted of just writting with open (, …) the filename cant just be a name, it has to be a whole path. Learning that fact and how to implement that was a strugle. Then came the strugle of makeing a master script. At the begining of my master script I was importing each python file for each stage. That mixed with not having a run function in each stage and using if “name” == “ main ” to run all the main code for each stage resulted in a kathuple amount of erros and problems such as scripts not running, multiple windows being created, and more. The last bug problem was how to package everything together. I tried command after command with nothing working, only to then learn of how I must move all my files into the Dict folder created when packaging in order to make suer everything works properly. Now I just have to put this in a github release and everyone can use the executable file I have made."}, {"post_id": 26802, "ts": "2026-07-11T20:06:17Z", "hours": 4.9181, "text": "Realizing the importance of A UI for this I had base 44 whip up a UI you can connect to the python backend once you download it so you can see the stats of the algorithm running"}, {"post_id": 24366, "ts": "2026-07-07T21:33:11Z", "hours": 30.3122, "text": "MOONSHINE PROJECT FULLY FINISHED. In this devlog I am going to share how I was able to finally complete the Moonshine algorithm into a system that can autonomously generate novel crystal structures. Firstly The Beta and Gamma processing layers were changed to use locally hosted ollama models for the AI reasoning capabilities. In the Gamma layer a few changes were made as well. After constant experimenting with different AI models and architectures for the pipeline this was the one that I landed on. In the Gamma layer Ollama uses Deepseek to generate parameters for PyXtal crystal structure generation. I learned through constant experimentation that the PyXtal library’s randomness for crystal structure generation is much worse than I thought initially. Initially I thought with 10-20 tries the right structure would be generated. But no. Now what happens is the pipeline takes the parameters generated by deepseek and creates 500 pyXtal crystal structures. This adds about 3 minutes to the compute time for each candidate coming in from the Beta Processing Layer, but increases total accuracy by about 40%. The reason this helps is because PyXtal doesn’t get the structure right the first time, so by creating 500 and then picking the lowest energy generation we get the best structure we can from PyXtal. The next change made was the CHGNet relaxation phase inside of the Gamma Processing Layer. Initially I was using a random combination of convergence values, and structure optimizers. I changed that so now there are two layers to the relaxation phase. The first phase is a rough, low level, coarse relaxation that creates a rough initial structure, this is done by keeping the convergence value at 0.01 and using the basic UnitCellFillter optimizer. In the more stricter final relaxation pass the convergence value is tightened to 0.001 and the more advanced FrechetCellFilter is used. This has two benefits. firstly after the first pass the structure can be checked for validity and discarded if it is invalid before moving onto more expensive relaxation, secondly the structure created by PyXtal is relaxed more gently, by first getting an initial form and then being tightened down to its final form instead of taking the initial broken PyXtal structure and immediately forcing it into a tight final structure. It’s kind of like working with clay when making pots. Next comes the new Delta Processing Layer. The delta processing layer tests the structures made by the Gamma Processing layer further by subjecting it to a suite of tests. Atomic overlap, composition, coordination number plusability, oxidation number plusability, and structure matching against the materials project is tested on the crystal. This is done five times per candidate in beta since gamma produces five structures per candidate. This effectively tests validity and novelty for each structure. Finally comes the new Epsilon Processing Layer. This layer analyzes the structures created to give a better understanding of what we created, along with creating slab structures for the unit cell structure. Slab structures are just unit cell structures repeated into 3d space. Unit cell analysis returns density, unit cell volume, lattice parameters, final space group symmetry, local atomic geometry, bond lengths, bond angles, and prototype classification. Then comes the slab analisis. First the slabs are created by pymatgen, the main library used in this entire project, and analyzed for the following: surface symmetry, polarity, surface normal vectors, scale factors, center of mass alignment, termination layer composition, candidate adsorption sites, and total surface area. Slabs are created along the three Miller indices; there are just numbers that tell how the crystal is sliced in 3d space in reference to the three axes, (1,0,0) (1,1,0) and (1,1,1). And that’s the algorithm I spent over a month on. Now I have to just leave it running for a while and see if it finds any new crystal materials."}, {"post_id": 10331, "ts": "2026-06-17T00:19:18Z", "hours": 8.4331, "text": "I finished the Gamma Processing layer. This is the part of the file that takes in the formulas we created and screened in the Beta Processing Layer and then creates there structures and run a few initial validity tests on them. . First we start off with importing all the infinity stones of materials science. Then we get into our functions . First comes the Initial Super Gamma function. Ooooo fancyyy. No just kidding, I named everything so that I could tell which step of the process it came in just by reading the name. Initial tells me its the first and the Keyword super tells me its one of if not the first function to be run. Since keeping the order of every function run is super important for this to be built well this helps a lot. In the Initial Super Gamma Function we have a LLM, whos job is to take a look at the formula we created in the Beta Processing Layer and figure out what are the correct inputs to put into PyXtal for that formula. I will get into PyXtal in a bit . Next comes the SubGammaFunction. This function is nothing more than a overglorified string parser. It takes the output from the LLM, finds the key information we want, Dim, Group, Species, NumIons, and extracts them into variables we can input into PyXtal. Now all that seams straight forward right? So you can imagine my surprise when I was getting error after error in parsing the LLM response. I was so confused for some reason it could not extract the species from the response???? Yeah no it turned out I spelled species wrong in the function call. :) I know I make complaint jokes but its bugs, erros, and moments like that , that really make coding such a laugh, even those moments I really so enjoy. . Now back to the project! After parsing out all the information we can finally get to the interesting part 😈. CREATING AWESOME CRYSTAL STRUCTURES!!!!! PyXtal is a python tool that lets us randomly generate structures that don’t disobey fundamental laws of chemistry, such as Wyckoff positioning. The main challenge I had to overcome here was maintaining the structural group I had assigned to this crystal. PyXtal would be actively trying to create the best structure it thought was best but I wanted to preserve certain geometries to test since that is the most important thing in crystal creation . ANOTHER HUGE PROBLEM, I KEPT RUNNING OUT OF FREE CREDITS TO USE THE HUGGINGFACE AI MODELS. In the middle I tried to switch to Ollama locally hosted models I have before, but the remembered why I left them, THEY TAKE FOREVER. . After we create the PyXtal structures we run them through CHGNet to relax the structures, PyXtal SUCKS at creating low energy, high stability structures, its good at creating structures that don’t break certain rules such as Wyckoff positioning. After CHGNet relaxes the structure. It gives up the Stress values on the structure and the forces acting on the lattice of the crystal. We run 2 small loops to check each value and make sure its under 0.1 which is the value that is considered unstable for both metrics. If it passes the tests then its structure file is stored."}, {"post_id": 5973, "ts": "2026-06-10T00:36:20Z", "hours": 4.5428, "text": "Firstly I wrapped up the first step of this pipeline. I firstly changed Array Process to Alpha Process, and inside of it created functions for each step of that process making everything clean, professional, and modular. . After that I created a file called BetaProcess and restarted the Chemistry Checks there since there turned out to be MANY more steps to that process than what I had initially thought. Now what happens is firstly the Arrays we created in the Alpha Process are sent to deep seek to be put back together into molecular formulas. I this requires a new overly long prompt that details out all the steps the AI must take and chemistry rules and exceptions it must consider. I took some time in perfecting this prompt. After we get the reconstructed molecule we have to parse it out. Right now the LLM gives the molecule along with a whole response. I originally tried using Re to parse out the molecular formula. That didn’t work so then I had to format the LLM response to keep the answer at the end so I could just run normal string parsing to get the molecule. Then its shot off to the same LLM and prompt as the last devlog to find out how plausible the molecule is. . The challenges in this phase were making sure the deepsake model could put together even the hardest type of molecules so a big part of this was continuous testing and modifying of the prompt. . LLM’s are strange in how they always feel the need to have a 2 page explanation for every response. Because of that a bug challenge was figuring out how to parse out the information we want from each LLM response. . I was getting a headache looking at the outputs of this phase. Just words and number mushing together everywhere. So then I spent a lot of time formatting the output of this phase to make the information readable, understandable, and intuitive to follow."}, {"post_id": 4311, "ts": "2026-06-07T15:55:11Z", "hours": 3.3108, "text": "I started building the version 2 of Project Moonshine, a algorithm that’s meant to discover new crystals. This new engine takes a input of a reference material such as NH4H2PO4, and then breaks it into individual elements. It then systematically replaces every element with every element from the periodic table to generate THOUSANDS of potential new crystals. I got this idea from how real materials science discovery takes place. Scientists in a simulation mix and mash elements, using there extensive knowledge of chemistry to create new materials they think could work. Then atoms and elements are changed more to see what else can be created. . After we have our candidates I decided to first run initial screenings on the candidates to remove the ones that obviously won’t form stable crystals. I was initially going to test everything so we don’t lost any new crystals, but from version 1 I learned the enormous amount of time and compute that takes place in running high accuracy tests on these candidates (about 5 hours per test per molecule), and considering the fact I have over 10,000 CANDIDATES! and factoring in I want to finish this within the decade, I decided to run initial screenings. . I use the Qwen 2.5 model for plausibility analysis and deep seek to reconstruct the crystals from there array form that we created them in. When creating the candidates we break everything up into arrays, I thought the process of putting them back together would be as simple as counting the amount of times they appear in a array and then creating the empirical formula based on those subscripts of the elements. BUT NO. CHEMISTRY HAS 1000 RULES AND A 1000 MORE EXCEPTIONS IN MOLECULE FORMING. Instead of coding in every single one of these rules and exceptions , I decided to just use a AI model with strong reasoning. I am currently testing if this system for testing works. . Next I plan on improving the Chemistry rule set that these AI’s use so that I can make more accurate judgments about molecular forming and stability."}]...
|
Title: Moonshine by @kritik | Stardance
Devlogs:
Title: Moonshine by @kritik | Stardance
Devlogs:
I started building the version 2 of Project Moonshine, a algorithm that’s meant to discover new crystals. This new engine takes a input of a reference material such as NH4H2PO4, and then breaks it into individual elements. It then systematically replaces every element with every element from the periodic table to generate THOUSANDS of potential new crystals. I got this idea from how real materials science discovery takes place. Scientists in a simulation mix and mash elements, using there extensive knowledge of chemistry to create new materials they think could work. Then atoms and elements are changed more to see what else can be created. . After we have our candidates I decided to first run initial screenings on the candidates to remove the ones that obviously won’t form stable crystals. I was initially going to test everything so we don’t lost any new crystals, but from version 1 I learned the enormous amount of time and compute that takes place in running high accuracy tests on these candidates (about 5 hours per test per molecule), and considering the fact I have over 10,000 CANDIDATES! and factoring in I want to finish this within the decade, I decided to run initial screenings. . I use the Qwen 2.5 model for plausibility analysis and deep seek to reconstruct the crystals from there array form that we created them in. When creating the candidates we break everything up into arrays, I thought the process of putting them back together would be as simple as counting the amount of times they appear in a array and then creating the empirical formula based on those subscripts of the elements. BUT NO. CHEMISTRY HAS 1000 RULES AND A 1000 MORE EXCEPTIONS IN MOLECULE FORMING. Instead of coding in every single one of these rules and exceptions , I decided to just use a AI model with strong reasoning. I am currently testing if this system for testing works. . Next I plan on improving the Chemistry rule set that these AI’s use so that I can make more accurate judgments about molecular forming and stability.
Firstly I wrapped up the first step of this pipeline. I firstly changed Array Process to Alpha Process, and inside of it created functions for each step of that process making everything clean, professional, and modular. . After that I created a file called BetaProcess and restarted the Chemistry Checks there since there turned out to be MANY more steps to that process than what I had initially thought. Now what happens is firstly the Arrays we created in the Alpha Process are sent to deep seek to be put back together into molecular formulas. I this requires a new overly long prompt that details out all the steps the AI must take and chemistry rules and exceptions it must consider. I took some time in perfecting this prompt. After we get the reconstructed molecule we have to parse it out. Right now the LLM gives the molecule along with a whole response. I originally tried using Re to parse out the molecular formula. That didn’t work so then I had to format the LLM response to keep the answer at the end so I could just run normal string parsing to get the molecule. Then its shot off to the same LLM and prompt as the last devlog to find out how plausible the molecule is. . The challenges in this phase were making sure the deepsake model could put together even the hardest type of molecules so a big part of this was continuous testing and modifying of the prompt. . LLM’s are strange in how they always feel the need to have a 2 page explanation for every response. Because of that a bug challenge was figuring out how to parse out the information we want from each LLM response. . I was getting a headache looking at the outputs of this phase. Just words and number mushing together everywhere. So then I spent a lot of time formatting the output of this phase to make the information readable, understandable, and intuitive to follow.
I finished the Gamma Processing layer. This is the part of the file that takes in the formulas we created and screened in the Beta Processing Layer and then creates there structures and run a few initial validity tests on them. . First we start off with importing all the infinity stones of materials science. Then we get into our functions . First comes the Initial Super Gamma function. Ooooo fancyyy. No just kidding, I named everything so that I could tell which step of the process it came in just by reading the name. Initial tells me its the first and the Keyword super tells me its one of if not the first function to be run. Since keeping the order of every function run is super important for this to be built well this helps a lot. In the Initial Super Gamma Function we have a LLM, whos job is to take a look at the formula we created in the Beta Processing Layer and figure out what are the correct inputs to put into PyXtal for that formula. I will get into PyXtal in a bit . Next comes the SubGammaFunction. This function is nothing more than a overglorified string parser. It takes the output from the LLM, finds the key information we want, Dim, Group, Species, NumIons, and extracts them into variables we can input into PyXtal. Now all that seams straight forward right? So you can imagine my surprise when I was getting error after error in parsing the LLM response. I was so confused for some reason it could not extract the species from the response???? Yeah no it turned out I spelled species wrong in the function call. :) I know I make complaint jokes but its bugs, erros, and moments like that , that really make coding such a laugh, even those moments I really so enjoy. . Now back to the project! After parsing out all the information we can finally get to the interesting part 😈. CREATING AWESOME CRYSTAL STRUCTURES!!!!! PyXtal is a python tool that lets us randomly generate structures that don’t disobey fundamental laws of chemistry, such as Wyckoff positioning. The main challenge I had to overcome here was maintaining the structural group I had assigned to this crystal. PyXtal would be actively trying to create the best structure it thought was best but I wanted to preserve certain geometries to test since that is the most important thing in crystal creation . ANOTHER HUGE PROBLEM, I KEPT RUNNING OUT OF FREE CREDITS TO USE THE HUGGINGFACE AI MODELS. In the middle I tried to switch to Ollama locally hosted models I have before, but the remembered why I left them, THEY TAKE FOREVER. . After we create the PyXtal structures we run them through CHGNet to relax the structures, PyXtal SUCKS at creating low energy, high stability structures, its good at creating structures that don’t break certain rules such as Wyckoff positioning. After CHGNet relaxes the structure. It gives up the Stress values on the structure and the forces acting on the lattice of the crystal. We run 2 small loops to check each value and make sure its under 0.1 which is the value that is considered unstable for both metrics. If it passes the tests then its structure file is stored.
MOONSHINE PROJECT FULLY FINISHED. In this devlog I am going to share how I was able to finally complete the Moonshine algorithm into a system that can autonomously generate novel crystal structures. Firstly The Beta and Gamma processing layers were changed to use locally hosted ollama models for the AI reasoning capabilities. In the Gamma layer a few changes were made as well. After constant experimenting with different AI models and architectures for the pipeline this was the one that I landed on. In the Gamma layer Ollama uses Deepseek to generate parameters for PyXtal crystal structure generation. I learned through constant experimentation that the PyXtal library’s randomness for crystal structure generation is much worse than I thought initially. Initially I thought with 10-20 tries the right structure would be generated. But no. Now what happens is the pipeline takes the parameters generated by deepseek and creates 500 pyXtal crystal structures. This adds about 3 minutes to the compute time for each candidate coming in from the Beta Processing Layer, but increases total accuracy by about 40%. The reason this helps is because PyXtal doesn’t get the structure right the first time, so by creating 500 and then picking the lowest energy generation we get the best structure we can from PyXtal. The next change made was the CHGNet relaxation phase inside of the Gamma Processing Layer. Initially I was using a random combination of convergence values, and structure optimizers. I changed that so now there are two layers to the relaxation phase. The first phase is a rough, low level, coarse relaxation that creates a rough initial structure, this is done by keeping the convergence value at 0.01 and using the basic UnitCellFillter optimizer. In the more stricter final relaxation pass the convergence value is tightened to 0.001 and the more advanced FrechetCellFilter is used. This has two benefits. firstly after the first pass the structure can be checked for validity and discarded if it is invalid before moving onto more expensive relaxation, secondly the structure created by PyXtal is relaxed more gently, by first getting an initial form and then being tightened down to its final form instead of taking the initial broken PyXtal structure and immediately forcing it into a tight final structure. It’s kind of like working with clay when making pots. Next comes the new Delta Processing Layer. The delta processing layer tests the structures made by the Gamma Processing layer further by subjecting it to a suite of tests. Atomic overlap, composition, coordination number plusability, oxidation number plusability, and structure matching against the materials project is tested on the crystal. This is done five times per candidate in beta since gamma produces five structures per candidate. This effectively tests validity and novelty for each structure. Finally comes the new Epsilon Processing Layer. This layer analyzes the structures created to give a better understanding of what we created, along with creating slab structures for the unit cell structure. Slab structures are just unit cell structures repeated into 3d space. Unit cell analysis returns density, unit cell volume, lattice parameters, final space group symmetry, local atomic geometry, bond lengths, bond angles, and prototype classification. Then comes the slab analisis. First the slabs are created by pymatgen, the main library used in this entire project, and analyzed for the following: surface symmetry, polarity, surface normal vectors, scale factors, center of mass alignment, termination layer composition, candidate adsorption sites, and total surface area. Slabs are created along the three Miller indices; there are just numbers that tell how the crystal is sliced in 3d space in reference to the three axes, (1,0,0) (1,1,0) and (1,1,1). And that’s the algorithm I spent over a month on. Now I have to just leave it running for a while and see if it finds any new crystal materials.
Realizing the importance of A UI for this I had base 44 whip up a UI you can connect to the python backend once you download it so you can see the stats of the algorithm running
IMPORTANT NOTE MOONSHINE TAKES A FEW HOURS TO RUN FOR THE BETA AND GAMMA LAYERS, SO JUST CHECK THE TERMINAL THAT OPENS UP WITH THE UI TO MAKE SURE EVERYTHING IS WORKING AND JUST WAIT YOU CAN ALSO SEE IT WORKING THROUGH THAT TERMINAL OUTPUT JUST MAKE SURE TO DOWNLOAD OLLAMA AND THE TWO AI MODELES THAT GO WITH IT, GEMMA THREE AND DEEPSEAK R1 . . . . In this last devlog I am showing how I turned my python project into a file that anyone can download and use on there Mac device without fiddling with python files and github repos. And boy was that a adventure. Firstly I know quite a bit about building python projects and everthing to do with building projects inside VSCode. I know ABSOLUTLY NOTHING about turning that into something others can easily use. The battles I faught with learning about file paths and directories and temp folders and the whole bajazz was enough to make Roman warriors run. But nontheless with Claude as my sensie and enough caffine to send a todler to the moon I was able to figure it out and Im going to outline some of it now. Firstly this project is a multi script project where you run each stage (Alpha - Epsilon) and check the output for each and move onto the next stage and so on jsut becuase thats how I liked it best. Now to comuncate information through differtent scripts I used JSON’s. But when packaging a python project you must make it so that insted of just writting with open (, …) the filename cant just be a name, it has to be a whole path. Learning that fact and how to implement that was a strugle. Then came the strugle of makeing a master script. At the begining of my master script I was importing each python file for each stage. That mixed with not having a run function in each stage and using if “name” == “ main ” to run all the main code for each stage resulted in a kathuple amount of erros and problems such as scripts not running, multiple windows being created, and more. The last bug problem was how to package everything together. I tried command after command with nothing working, only to then learn of how I must move all my files into the Dict folder created when packaging in order to make suer everything works properly. Now I just have to put this in a github release and everyone can use the executable file I have made.
Ships:
I made a materials science engine meant to try and come up with candidates for novel materials with a high likleyhood of stability and validity for more advanced algorithms. The challenging part was integrating all the different tools being used, as well as perfectly tuning all tools to create accurate structures in as little time as possible. I am proud of the beautiful structures created by this algorithm. What to know to test this project is that its very unlikely a new material will be found on the first few tries, this has to be run for a while so start at the beta processing layer and run what is in the Alpha Arrays file. There is also lots of inaccuracies in this pipeline due to using off the self locally hosted LLM’s so you might have to run each layer a few times and not all candidates will be made....
|
1792997694.8511636
|
1793084094.8511636
|
|
13919
|
TapOS by @TAP | Stardance
|
TAP
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T07:40:29Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own webos! I had been procrastinated for a while. Well it has an introduction app, like the one in the guide and a future projects app which saved the notes in the cache. And it has a calculator, contacts and weather app which pulls data from the openmetro api! Overall it was pretty fun to dive into html, css and js after a while!", "repo": "https://github.com/sudo-apt-install-tap/WebOS", "demo": "https://sudo-apt-install-tap.github.io/WebOS/window.html"}]...
|
[{"post_id": 23340, "ts": "202 [{"post_id": 23340, "ts": "2026-07-06T07:09:37Z", "hours": 0.5383, "text": "added apps!!"}, {"post_id": 23312, "ts": "2026-07-06T05:55:27Z", "hours": 1.5697, "text": "Finished Part 4 and fixed the bug!"}, {"post_id": 7932, "ts": "2026-06-13T07:17:10Z", "hours": 0.7817, "text": "Organized everything and made moveable! Done with part 3"}, {"post_id": 7917, "ts": "2026-06-13T06:14:59Z", "hours": 1.2219, "text": "Finished the second part!"}, {"post_id": 7886, "ts": "2026-06-13T04:56:35Z", "hours": 0.5953, "text": "Made the basic layout! Finished part 1"}]...
|
Title: TapOS by @TAP | Stardance
Devlogs:
Made th Title: TapOS by @TAP | Stardance
Devlogs:
Made the basic layout! Finished part 1
Finished the second part!
Organized everything and made moveable! Done with part 3
Finished Part 4 and fixed the bug!
added apps!!
Ships:
I made my own webos! I had been procrastinated for a while. Well it has an introduction app, like the one in the guide and a future projects app which saved the notes in the cache. And it has a calculator, contacts and weather app which pulls data from the openmetro api! Overall it was pretty fun to dive into html, css and js after a while!...
|
1792997693.7132397
|
1793084093.7132397
|
|
19916
|
Frictionless by @MurodbekTuychiyev | Stardance
|
MurodbekTuychiyev
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T17:26:37Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built ‘AI Vision Studio’ to eliminate the friction of complex text-to-image tools. I spent hours engineering 3 major QoL improvements: 1) Integrated multi-platform Aspect Ratios (1:1, 16:9, 9:16). 2) Added rapid AI Style Enhancers (Realistic, Cyberpunk, Anime tags) to auto-refine keywords. 3) Designed a browser Local Storage history engine so users never lose their digital art. The app is fully working, highly responsive, and production-ready!", "repo": "https://github.com/Murodbektuychiyev/AI_Image_Generator", "demo": "https://ai-image-generator-kappa-dusky.vercel.app/"}]...
|
[{"post_id": 22267, "ts": "202 [{"post_id": 22267, "ts": "2026-07-04T17:23:49Z", "hours": 1.2625, "text": "I built ‘AI Vision Studio’ to eliminate the friction of complex text-to-image tools. I spent hours engineering 3 major QoL improvements: Integrated multi-platform Aspect Ratios (1:1, 16:9, 9:16). Added rapid AI Style Enhancers (Realistic, Cyberpunk, Anime tags) to auto-refine keywords. Designed a browser Local Storage history engine so users never lose their digital art. The app is fully working, highly responsive, and production-ready!"}]...
|
Title: Frictionless by @MurodbekTuychiyev | Starda Title: Frictionless by @MurodbekTuychiyev | Stardance
Devlogs:
I built ‘AI Vision Studio’ to eliminate the friction of complex text-to-image tools. I spent hours engineering 3 major QoL improvements: Integrated multi-platform Aspect Ratios (1:1, 16:9, 9:16). Added rapid AI Style Enhancers (Realistic, Cyberpunk, Anime tags) to auto-refine keywords. Designed a browser Local Storage history engine so users never lose their digital art. The app is fully working, highly responsive, and production-ready!
Ships:
I built ‘AI Vision Studio’ to eliminate the friction of complex text-to-image tools. I spent hours engineering 3 major QoL improvements: 1) Integrated multi-platform Aspect Ratios (1:1, 16:9, 9:16). 2) Added rapid AI Style Enhancers (Realistic, Cyberpunk, Anime tags) to auto-refine keywords. 3) Designed a browser Local Storage history engine so users never lose their digital art. The app is fully working, highly responsive, and production-ready!...
|
1792997692.8525858
|
1793084092.8525858
|
|
16242
|
Drone Interceptor by @aarav_patel0436 | Stardance
|
aarav_patel0436
|
1
|
35.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-23T19:15:00Z", "hours": 35.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Drone Interceptor because I wanted to see if I could make a computer actually understand where a drone is in 3D space and aim a physical tracking system at it. It started as a simple idea: detect a drone with a camera, estimate its position, and move a turret to follow it. But the project slowly turned into a much bigger journey through computer vision, electronics, firmware, controls, PCB design, and a lot of debugging. The first version used YOLOv8 to detect drones from a webcam. From there, I added camera calibration, depth estimation, 3D position tracking, prediction arrows, and live turret control using a Raspberry Pi Pico 2. I tested pan and tilt tracking with a stepper motor and servo, and eventually got the turret tracking system and depth perception working together. The hardest part was definitely the hardware. I originally tried to hack into a commercial drone controller by sending joystick-like signals from my computer through a Pico. After a lot of testing, voltage measurements, broken controller moments, resistor changes, and late-night debugging, I realized that approach was too fragile. So I pivoted: instead of fighting the controller, I designed my own custom PCBs while still reusing the small Snaptain SP350 drone frame, motors, and propellers. I’m proud of this project because it became more than just code. It has real firmware, real electronics, real CAD, real PCB files, simulation videos, and a working tracking pipeline. I also made demo simulations that show how the drone tracking, following, orbiting, and standoff behavior would work, so the project can be understood even while I’m waiting for the PCBs to arrive. Right now, the turret tracking and depth perception system work, the code is organized, the README has setup instructions and demo links, and the custom PCB fabrication files are ready. The next step is assembling the PCBs when they arrive and continuing the flight-control side on real hardware.", "repo": "https://github.com/aaravpatel0/DroneInterception", "demo": ""}]...
|
[{"post_id": 14501, "ts": "202 [{"post_id": 14501, "ts": "2026-06-23T17:21:00Z", "hours": 9.3503, "text": "Today I finished the main code and PCB design work for the drone tracking and interception project. The software side is now working, including the turret tracking system and the depth perception setup. I tested the camera-based tracking, servo movement, and position estimation, and the system is able to detect and follow the target properly. A big part of the project also changed direction. At first, I was trying to hack into a commercial drone controller and control the drone that way, but that turned out to be unreliable and difficult to build on. After testing, debugging, and experimenting with different control methods, I pivoted to designing my own custom PCBs for the drone instead. I am still using the original drone frame, but the electronics will be custom-made so I can control the motors and hardware much more directly. I also finished designing the custom PCBs for the project. One board is for the drone-side control hardware, and the other is for the turret/control setup that connects the computer, camera, stepper, servos, and control electronics together in a cleaner and more organized way. After a lot of debugging, redesigning, and checking the layouts, the boards are ready to be manufactured. At this point, most of the major development work is complete. The code is finished, the tracking and depth perception systems have been tested, and the PCB files are ready. Now I just need to wait for the custom PCBs to arrive so I can assemble the hardware, test everything together, and finish the final version of the project. I couldn’t post all my videos and screenshots in this one post, but hopefully everyone will be able to see them in the future."}, {"post_id": 12253, "ts": "2026-06-20T00:41:36Z", "hours": 21.5931, "text": "Finally, I’m getting close to finishing both the turret and the drone-control system.On the turret side, the vision tracking pipeline is working with the servo. The detector can find the drone, estimate its position in the camera frame, and send movement commands to the tracking hardware. The next major step is testing the full pan-and-tilt behavior together, so the turret can smoothly follow a moving drone instead of only proving that one axis works. This will involve tuning the tracking response, reducing jitter, and making sure the servo and pan mechanism move accurately without overshooting.On the drone-control side, this was a huge milestone. After accidentally damaging the drone controller board, repairing it, and spending hours debugging different circuit designs, I finally got computer-based control working through a Raspberry Pi Pico 2. The Pico acts as a ground-station hardware bridge: it receives control commands from the computer over USB and converts them into analog joystick-like signals that the drone remote can understand.One of the biggest problems was that the original joystick potentiometers were still physically connected to the controller board, so they were pulling the signal voltage back toward center. After testing with a voltmeter, I found that the Pico was sending the correct signal, but the controller board was loading it down. Changing the resistor value in the filter circuit gave the Pico enough authority over the signal line while still keeping the output controlled and smooth.At this point, the system can successfully influence the drone remote from the computer. The next step is to finish testing all control channels, verify the voltage ranges with the multimeter, and then move into careful live movement tests. This is the first time the project has connected the detection/tracking software to real hardware control in a way that actually works."}, {"post_id": 8980, "ts": "2026-06-14T23:19:58Z", "hours": 4.0464, "text": "After taking a brief pause from this project during finals week, I’m excited to share that I finally got real-time drone tracking working. The system can now detect my drone from a live camera feed using a custom-trained YOLOv8 model and draw reliable bounding boxes around it. From there, I calculate the center of the drone’s bounding box, compare it to the center of the camera frame, and use that offset to track where the drone is moving. I also started mapping that position onto a 3D graph using OpenCV, with only one camera instead of a multi-camera setup. This took quite a bit of math and debugging. I had to work through monocular camera geometry, pixel offsets, scaling, and OpenCV visualization before the tracking started making sense. I also trained and tested my own drone detection model, then built the pipeline so the model can run live, pick the highest-confidence drone detection, and output useful position/error data in real time. The next step is connecting this tracking system to the physical turret. The code now calculates horizontal and vertical error values from the drone’s position in the frame, which can be sent to an Arduino to control pan and tilt movement. Currently I’m working on “hacking” into this small drone I own, and doing some resoldering and rewiring so that this store-bought drone can be controlled digitally though my Arduino instead of through a human with its remote. Then using this digital control system, I can then intercept the larger flying drone and take it down."}]...
|
Title: Drone Interceptor by @aarav_patel0436 | Sta Title: Drone Interceptor by @aarav_patel0436 | Stardance
Devlogs:
After taking a brief pause from this project during finals week, I’m excited to share that I finally got real-time drone tracking working. The system can now detect my drone from a live camera feed using a custom-trained YOLOv8 model and draw reliable bounding boxes around it. From there, I calculate the center of the drone’s bounding box, compare it to the center of the camera frame, and use that offset to track where the drone is moving. I also started mapping that position onto a 3D graph using OpenCV, with only one camera instead of a multi-camera setup. This took quite a bit of math and debugging. I had to work through monocular camera geometry, pixel offsets, scaling, and OpenCV visualization before the tracking started making sense. I also trained and tested my own drone detection model, then built the pipeline so the model can run live, pick the highest-confidence drone detection, and output useful position/error data in real time. The next step is connecting this tracking system to the physical turret. The code now calculates horizontal and vertical error values from the drone’s position in the frame, which can be sent to an Arduino to control pan and tilt movement. Currently I’m working on “hacking” into this small drone I own, and doing some resoldering and rewiring so that this store-bought drone can be controlled digitally though my Arduino instead of through a human with its remote. Then using this digital control system, I can then intercept the larger flying drone and take it down.
Finally, I’m getting close to finishing both the turret and the drone-control system.On the turret side, the vision tracking pipeline is working with the servo. The detector can find the drone, estimate its position in the camera frame, and send movement commands to the tracking hardware. The next major step is testing the full pan-and-tilt behavior together, so the turret can smoothly follow a moving drone instead of only proving that one axis works. This will involve tuning the tracking response, reducing jitter, and making sure the servo and pan mechanism move accurately without overshooting.On the drone-control side, this was a huge milestone. After accidentally damaging the drone controller board, repairing it, and spending hours debugging different circuit designs, I finally got computer-based control working through a Raspberry Pi Pico 2. The Pico acts as a ground-station hardware bridge: it receives control commands from the computer over USB and converts them into analog joystick-like signals that the drone remote can understand.One of the biggest problems was that the original joystick potentiometers were still physically connected to the controller board, so they were pulling the signal voltage back toward center. After testing with a voltmeter, I found that the Pico was sending the correct signal, but the controller board was loading it down. Changing the resistor value in the filter circuit gave the Pico enough authority over the signal line while still keeping the output controlled and smooth.At this point, the system can successfully influence the drone remote from the computer. The next step is to finish testing all control channels, verify the voltage ranges with the multimeter, and then move into careful live movement tests. This is the first time the project has connected the detection/tracking software to real hardware control in a way that actually works.
Today I finished the main code and PCB design work for the drone tracking and interception project. The software side is now working, including the turret tracking system and the depth perception setup. I tested the camera-based tracking, servo movement, and position estimation, and the system is able to detect and follow the target properly. A big part of the project also changed direction. At first, I was trying to hack into a commercial drone controller and control the drone that way, but that turned out to be unreliable and difficult to build on. After testing, debugging, and experimenting with different control methods, I pivoted to designing my own custom PCBs for the drone instead. I am still using the original drone frame, but the electronics will be custom-made so I can control the motors and hardware much more directly. I also finished designing the custom PCBs for the project. One board is for the drone-side control hardware, and the other is for the turret/control setup that connects the computer, camera, stepper, servos, and control electronics together in a cleaner and more organized way. After a lot of debugging, redesigning, and checking the layouts, the boards are ready to be manufactured. At this point, most of the major development work is complete. The code is finished, the tracking and depth perception systems have been tested, and the PCB files are ready. Now I just need to wait for the custom PCBs to arrive so I can assemble the hardware, test everything together, and finish the final version of the project. I couldn’t post all my videos and screenshots in this one post, but hopefully everyone will be able to see them in the future.
Ships:
I built Drone Interceptor because I wanted to see if I could make a computer actually understand where a drone is in 3D space and aim a physical tracking system at it. It started as a simple idea: detect a drone with a camera, estimate its position, and move a turret to follow it. But the project slowly turned into a much bigger journey through computer vision, electronics, firmware, controls, PCB design, and a lot of debugging. The first version used YOLOv8 to detect drones from a webcam. From there, I added camera calibration, depth estimation, 3D position tracking, prediction arrows, and live turret control using a Raspberry Pi Pico 2. I tested pan and tilt tracking with a stepper motor and servo, and eventually got the turret tracking system and depth perception working together. The hardest part was definitely the hardware. I originally tried to hack into a commercial drone controller by sending joystick-like signals from my computer through a Pico. After a lot of testing, voltage measurements, broken controller moments, resistor changes, and late-night debugging, I realized that approach was too fragile. So I pivoted: instead of fighting the controller, I designed my own custom PCBs while still reusing the small Snaptain SP350 drone frame, motors, and propellers. I’m proud of this project because it became more than just code. It has real firmware, real electronics, real CAD, real PCB files, simulation videos, and a working tracking pipeline. I also made demo simulations that show how the drone tracking, following, orbiting, and standoff behavior would work, so the project can be understood even while I’m waiting for the PCBs to arrive. Right now, the turret tracking and depth perception system work, the code is organized, the README has setup instructions and demo links, and the custom PCB fabrication files are ready. The next step is assembling the PCBs when they arrive and continuing the flight-control side on real hardware....
|
1792997691.7474303
|
1793084091.7474303
|
|
42521
|
FrogOS by @exasperadou | Stardance
|
exasperadou
|
1
|
21.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T21:36:30Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Im really proud of my project FrogOS. It’s a small operating system built with HTML, CSS, JavaScript and Python. It has 2 different apps: Notes, and a built-in browser. The hardest part was definitely making the browser work because the making process was a little bit complex and i had to learn so much stuff. I hope you guys like it.", "repo": "https://github.com/exasperadou-max/FrogOS", "demo": "https://frog-os-weld.vercel.app/"}]...
|
[{"post_id": 54090, "ts": "202 [{"post_id": 54090, "ts": "2026-08-24T21:31:10Z", "hours": 4.5572, "text": "Im finally done!"}, {"post_id": 48597, "ts": "2026-08-17T01:48:28Z", "hours": 0.3253, "text": "When i was deploying the proxy to vercel and checking it i realized i have so much to fix this will take a lot more 😭😭😭😭"}, {"post_id": 48568, "ts": "2026-08-17T00:38:48Z", "hours": 2.0819, "text": "Im done! Im just checking everything before deploying"}, {"post_id": 45519, "ts": "2026-08-12T02:01:13Z", "hours": 3.0289, "text": "Im almost done but i had to do some weird stuff to get the browser to work. I had to learn so much stuff and I will probably be done in a few days"}, {"post_id": 44364, "ts": "2026-08-10T02:23:53Z", "hours": 3.085, "text": "I fixed a LOT of bugs and just optimized the code because it was kinda messy, also, i started working on the browser and added the icons on the desktop and dock c:"}, {"post_id": 40498, "ts": "2026-08-04T02:20:43Z", "hours": 1.1364, "text": "I didnt really do much today. I fixed some bugs and optimized the code and began to code the next app. I want to build a browser inside the OS but im realizing that is kinda complex to have an actual working browser that lets you use the internet so that will take a while :c"}, {"post_id": 39692, "ts": "2026-08-02T20:34:49Z", "hours": 2.8906, "text": "I finished creating the notes app. I added a dock too"}, {"post_id": 39215, "ts": "2026-08-02T01:10:52Z", "hours": 2.0225, "text": "I added a topbar bar and made the window system c:"}, {"post_id": 39100, "ts": "2026-08-01T20:08:28Z", "hours": 1.6689, "text": "I started with FrogOs, here is the first part, the welcome screen. I will improve it later on when im done with the other parts c:"}]...
|
Title: FrogOS by @exasperadou | Stardance
Devlogs Title: FrogOS by @exasperadou | Stardance
Devlogs:
I started with FrogOs, here is the first part, the welcome screen. I will improve it later on when im done with the other parts c:
I added a topbar bar and made the window system c:
I finished creating the notes app. I added a dock too
I didnt really do much today. I fixed some bugs and optimized the code and began to code the next app. I want to build a browser inside the OS but im realizing that is kinda complex to have an actual working browser that lets you use the internet so that will take a while :c
I fixed a LOT of bugs and just optimized the code because it was kinda messy, also, i started working on the browser and added the icons on the desktop and dock c:
Im almost done but i had to do some weird stuff to get the browser to work. I had to learn so much stuff and I will probably be done in a few days
Im done! Im just checking everything before deploying
When i was deploying the proxy to vercel and checking it i realized i have so much to fix this will take a lot more 😭😭😭😭
Im finally done!
Ships:
Im really proud of my project FrogOS. It’s a small operating system built with HTML, CSS, JavaScript and Python. It has 2 different apps: Notes, and a built-in browser. The hardest part was definitely making the browser work because the making process was a little bit complex and i had to learn so much stuff. I hope you guys like it....
|
1792997690.5687258
|
1793084090.5687258
|
|
15825
|
My very own WebOS by @Justin76 | Stardance
|
Justin76
|
1
|
5.3
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T22:34:55Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created an OS with 3 windows and 2 apps. The 2 apps are a app with an embed link to a TikTok that I like, and the offline app goes to a photo of a car in real-life that I saw recently and thought was interesting. The main challenge of my OS was the guide not being exact or having multiple interpretations during some parts but at the same time I also think that helped me go off on my own and try hard to fix problems I encountered. The thing I am the proudest of overall was even creating this OS. When it comes to creativity, I find myself on the less creative side but as someone just starting Star dance, I am glad I took the push to try and create something and worked hard to make this work. The way the OS works is it opens with the introduction window which is movable through the steering wheel and can be closed with the red button and opened with the CarOS name. Second there’s the apps which can be opened my clicking on them and closed the same way as the introduction with the red button. Overall, I am very proud of my project and look forward to working on a different hardware project which will start posting Devlogs for soon😉", "repo": "https://github.com/JustinluvsRockets/Car-OS", "demo": "https://justinluvsrockets.github.io/Car-OS/"}]...
|
[{"post_id": 10845, "ts": "202 [{"post_id": 10845, "ts": "2026-06-17T19:50:51Z", "hours": 0.305, "text": "Fixed the issues in the code causing the demo link to not function. At first I wanted to organize my Github through folders but me placing the index.html in a folder caused Github to not be able to find the images and for the site to not work. In the end I was able to fix this by removing the index.html from the folder."}, {"post_id": 10281, "ts": "2026-06-16T22:26:27Z", "hours": 0.26, "text": "Final Devlog for this project. As I was tidying up the code I was dissatisfied with the current fonts of a couple of the windows, so I decided to change them for the better. I also finished up creating folders for my GitHub Repository and organized my GitHub, so it looks a lot cleaner and a lot smoother for anyone who wants to try my OS p.s if you try my OS Subaru>every car ever made"}, {"post_id": 10168, "ts": "2026-06-16T19:41:17Z", "hours": 4.2242, "text": "Ive Finished my first OS. CarOS a OS based on cars and the best mode of transportation. I decided to make two apps one with a TikTok edit I liked and another with a real life car I saw that looked cool. Overall, it took a long time of debugging and fixing issues I faced."}, {"post_id": 7053, "ts": "2026-06-11T20:22:30Z", "hours": 0.7992, "text": "The start of my first WebOS I added an embed link to a TikTok I thought was nice. So far, it’s pretty grim but I’m planning to add a lot more in part two."}]...
|
Title: My very own WebOS by @Justin76 | Stardance
Title: My very own WebOS by @Justin76 | Stardance
Devlogs:
The start of my first WebOS I added an embed link to a TikTok I thought was nice. So far, it’s pretty grim but I’m planning to add a lot more in part two.
Ive Finished my first OS. CarOS a OS based on cars and the best mode of transportation. I decided to make two apps one with a TikTok edit I liked and another with a real life car I saw that looked cool. Overall, it took a long time of debugging and fixing issues I faced.
Final Devlog for this project. As I was tidying up the code I was dissatisfied with the current fonts of a couple of the windows, so I decided to change them for the better. I also finished up creating folders for my GitHub Repository and organized my GitHub, so it looks a lot cleaner and a lot smoother for anyone who wants to try my OS p.s if you try my OS Subaru>every car ever made
Fixed the issues in the code causing the demo link to not function. At first I wanted to organize my Github through folders but me placing the index.html in a folder caused Github to not be able to find the images and for the site to not work. In the end I was able to fix this by removing the index.html from the folder.
Ships:
I created an OS with 3 windows and 2 apps. The 2 apps are a app with an embed link to a TikTok that I like, and the offline app goes to a photo of a car in real-life that I saw recently and thought was interesting. The main challenge of my OS was the guide not being exact or having multiple interpretations during some parts but at the same time I also think that helped me go off on my own and try hard to fix problems I encountered. The thing I am the proudest of overall was even creating this OS. When it comes to creativity, I find myself on the less creative side but as someone just starting Star dance, I am glad I took the push to try and create something and worked hard to make this work. The way the OS works is it opens with the introduction window which is movable through the steering wheel and can be closed with the red button and opened with the CarOS name. Second there’s the apps which can be opened my clicking on them and closed the same way as the introduction with the red button. Overall, I am very proud of my project and look forward to working on a different hardware project which will start posting Devlogs for soon😉...
|
1792997689.4285805
|
1793084089.4285805
|
|
30891
|
OpenDTC by @ameenfr | Stardance
|
ameenfr
|
1
|
12.0
|
104
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T05:17:46Z", "hours": 12.0, "multiplier": 8.99, "payout": 104, "blessing": "neutral", "text": "I made openDTC a bus tracker using the GTFS data published by delhi. the project is split into the api for the realtime updates and the frontend part for showing the map this project is not even close to complete i needa add the search for buses and stops i need to get up to date gtfs data so that i can see which trip the bus is currently on but this is still v1 so its fine. my laptop had crashed once during this cuz the api was refreshing wayy too much and too many downloads where happening and i hadnt enabled canvas. after that i had the sense to add marker clusters and enable canvas. the api is deployed on vercel and the map on github pages", "repo": "https://github.com/dorkishguy/opendmtc", "demo": "https://dorkishguy.github.io/openDTC/"}]...
|
[{"post_id": 29318, "ts": "202 [{"post_id": 29318, "ts": "2026-07-16T05:11:43Z", "hours": 0.7997, "text": "done deploying the api on vercel and the map on github pages also changed from osm"}, {"post_id": 29099, "ts": "2026-07-15T19:16:19Z", "hours": 2.4778, "text": "implemented real time buses after going through debug hell made everything come together with main.py the blue ones are buses added marker clusters to improve performance performance boost is noticeable and thats all"}, {"post_id": 27856, "ts": "2026-07-13T19:11:29Z", "hours": 7.5753, "text": "implemented a lot like a db then added a map of stops now working on adding the buses on the map"}, {"post_id": 22705, "ts": "2026-07-05T08:40:28Z", "hours": 0.7356, "text": "connected git properly and got the realtime data through requests"}]...
|
Title: OpenDTC by @ameenfr | Stardance
Devlogs:
c Title: OpenDTC by @ameenfr | Stardance
Devlogs:
connected git properly and got the realtime data through requests
implemented a lot like a db then added a map of stops now working on adding the buses on the map
implemented real time buses after going through debug hell made everything come together with main.py the blue ones are buses added marker clusters to improve performance performance boost is noticeable and thats all
done deploying the api on vercel and the map on github pages also changed from osm
Ships:
I made openDTC a bus tracker using the GTFS data published by delhi. the project is split into the api for the realtime updates and the frontend part for showing the map this project is not even close to complete i needa add the search for buses and stops i need to get up to date gtfs data so that i can see which trip the bus is currently on but this is still v1 so its fine. my laptop had crashed once during this cuz the api was refreshing wayy too much and too many downloads where happening and i hadnt enabled canvas. after that i had the sense to add marker clusters and enable canvas. the api is deployed on vercel and the map on github pages...
|
1792997688.317176
|
1793084088.317176
|
|
25795
|
chemOStry by @Nauticos | Stardance
|
Nauticos
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T18:03:53Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a web-based OS with an inspiration around chemistry! This was a challenge (took a lot longer that I thought it would) but I had fun in the process and learned a lot of new skills! I am proud of myself finding workaround solutions to problems I had by myself (of course I did look online when I was really stuck). NOTE: The weather app will NOT work on the website due to no API key being inputted, however if you copy the files and input your own OpenWeather API key into config.js, the weather app WILL work. Thanks for reading!", "repo": "https://github.com/Nauticos/chemOStry", "demo": "https://nauticos.github.io/chemOStry/"}]...
|
[{"post_id": 20140, "ts": "202 [{"post_id": 20140, "ts": "2026-07-01T18:00:47Z", "hours": 0.3561, "text": "Managed to set up the website on Github pages, ready to ship!"}, {"post_id": 20125, "ts": "2026-07-01T17:31:50Z", "hours": 1.1514, "text": "After a short panic from an accidental API push to Github, I think I should be able to ship soon. I’ve added an example file (below) to show the format for the config.js file (I have .gitignore’d it now)."}, {"post_id": 20064, "ts": "2026-07-01T15:59:31Z", "hours": 0.3172, "text": "Made some tweaks to the icons, gonna try make a weather app!"}, {"post_id": 20044, "ts": "2026-07-01T15:36:44Z", "hours": 5.3278, "text": "Taken a while, but I’ve finished part 4 of the guide. Has been quite confusing at times, but it’s been fun so far and I’m proud of what I’ve made!"}]...
|
Title: chemOStry by @Nauticos | Stardance
Devlogs Title: chemOStry by @Nauticos | Stardance
Devlogs:
Taken a while, but I’ve finished part 4 of the guide. Has been quite confusing at times, but it’s been fun so far and I’m proud of what I’ve made!
Made some tweaks to the icons, gonna try make a weather app!
After a short panic from an accidental API push to Github, I think I should be able to ship soon. I’ve added an example file (below) to show the format for the config.js file (I have .gitignore’d it now).
Managed to set up the website on Github pages, ready to ship!
Ships:
I made a web-based OS with an inspiration around chemistry! This was a challenge (took a lot longer that I thought it would) but I had fun in the process and learned a lot of new skills! I am proud of myself finding workaround solutions to problems I had by myself (of course I did look online when I was really stuck). NOTE: The weather app will NOT work on the website due to no API key being inputted, however if you copy the files and input your own OpenWeather API key into config.js, the weather app WILL work. Thanks for reading!...
|
1792997687.2015705
|
1793084087.2015705
|
|
10052
|
Sat_Snather by @shaunthepyro | Stardance
|
shaunthepyro
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-06T21:06:59Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I mad the circuit for a Satellite trscker. Btu need hardwre to buildwhich is a RTL SDR v4 and a esp32 CYD. I am sure this pCB works after simulations.", "repo": "https://github.com/shaunupi123/SatSnatcher", "demo": ""}]...
|
[{"post_id": 3770, "ts": "2026 [{"post_id": 3770, "ts": "2026-06-06T20:23:07Z", "hours": 0.6908, "text": "I am working on a satellite tracker which can listen to down link of satellites by using a pi pico to change position of a Yagi antenna using servos which will be turned based on the Azimuth and elevation of the satellite I can get from the Orbitron satellite TLE database"}]...
|
Title: Sat_Snather by @shaunthepyro | Stardance
D Title: Sat_Snather by @shaunthepyro | Stardance
Devlogs:
I am working on a satellite tracker which can listen to down link of satellites by using a pi pico to change position of a Yagi antenna using servos which will be turned based on the Azimuth and elevation of the satellite I can get from the Orbitron satellite TLE database
Ships:
I mad the circuit for a Satellite trscker. Btu need hardwre to buildwhich is a RTL SDR v4 and a esp32 CYD. I am sure this pCB works after simulations....
|
1792997686.3011773
|
1793084086.3011773
|
|
27010
|
Barcode Number Game by @chandos4473 | Stardance
|
chandos4473
|
1
|
1.0
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T08:41:05Z", "hours": 1.0, "multiplier": 11.67, "payout": 15, "blessing": "neutral", "text": "What is it? An interactive math-puzzle game built using Python and Streamlit that turns a real-world hidden engineering mechanism—the retail fallback key-in process—into a fun arcade experience. How does it work? What’s the challenge? Standard retail UPC-A barcodes are exactly 12 digits long and rely on a strict mathematical Modulo-10 Checksum Algorithm to prevent scanning errors. When a barcode is physically scratched, cashiers must type the numbers manually. This game simulates that broken terminal protocol: it generates 11 random barcode digits but completely blinds one variable slot with a ❓ question mark. The player is given the final 12th Check Digit and must use modular algebra in reverse to calculate the missing digit before submitting their code verification. Attempt-Based Scoring Matrix: Built to reward care over careless guessing. A perfect first-try scan awards +10 points. A second attempt awards +5 points, and a final manual override squeaks by with +1 point. Three-Strike Terminal Lockout: If a player records 3 consecutive checksum failures, a system error state triggers. The script locks out the number entry widget, reveals the correct answer in a terminal log, and forces them to click a manual “Initialize Next Puzzle Sequence” button to reset the parameters. Persistent Session State Memory: Leverages st.session_state vectors to freeze the random barcode matrix across input submissions, avoiding accidental page-reload re-randomization bugs. Mathematically Honest Help Expander: Features a drop-down panel displaying a step-by-step breakdown of the live calculation. It creates a temporary blind_digits copy array, replacing the hidden variable with a clean 0 so players can inspect the raw odd-position (weighted x3) and even-position sums to reverse-engineer the math.", "repo": "https://github.com/chandos4473-cpu/Barcode-Checkdigit-Puzzle/", "demo": "https://barcode-checkdigit-puzzle-psp2chtca8t3d9d7vfjngc.streamlit.app/"}]...
|
[{"post_id": 17039, "ts": "202 [{"post_id": 17039, "ts": "2026-06-27T17:35:59Z", "hours": 0.3975, "text": "The game is complete! I might add some extra features later on but for now it’s done. The game has a strike counter, a punishing score adder (1st try 10 pts, 2nd try 5 pts, 3rd try 1 pt, >3rd try 0 pts) The help dropdown does most of the calculations leaving a much more easily solvable calculation."}, {"post_id": 17016, "ts": "2026-06-27T16:57:21Z", "hours": 0.5022, "text": "I have now added a player input box and a help dropdown which reveals the step by step process to work out the missing number using modulo 10. The score now increases by 10 every time a digit is guessed correctly. A new puzzle is generated every time the player guesses it correctly."}, {"post_id": 16974, "ts": "2026-06-27T15:41:54Z", "hours": 0.3822, "text": "I have implemented the modulo 10 formula for calculating the check digit at the end of the barcode. I have also tested my streamlit logic"}]...
|
Title: Barcode Number Game by @chandos4473 | Stard Title: Barcode Number Game by @chandos4473 | Stardance
Devlogs:
I have implemented the modulo 10 formula for calculating the check digit at the end of the barcode. I have also tested my streamlit logic
I have now added a player input box and a help dropdown which reveals the step by step process to work out the missing number using modulo 10. The score now increases by 10 every time a digit is guessed correctly. A new puzzle is generated every time the player guesses it correctly.
The game is complete! I might add some extra features later on but for now it’s done. The game has a strike counter, a punishing score adder (1st try 10 pts, 2nd try 5 pts, 3rd try 1 pt, >3rd try 0 pts) The help dropdown does most of the calculations leaving a much more easily solvable calculation.
Ships:
What is it? An interactive math-puzzle game built using Python and Streamlit that turns a real-world hidden engineering mechanism—the retail fallback key-in process—into a fun arcade experience. How does it work? What’s the challenge? Standard retail UPC-A barcodes are exactly 12 digits long and rely on a strict mathematical Modulo-10 Checksum Algorithm to prevent scanning errors. When a barcode is physically scratched, cashiers must type the numbers manually. This game simulates that broken terminal protocol: it generates 11 random barcode digits but completely blinds one variable slot with a ❓ question mark. The player is given the final 12th Check Digit and must use modular algebra in reverse to calculate the missing digit before submitting their code verification. Attempt-Based Scoring Matrix: Built to reward care over careless guessing. A perfect first-try scan awards +10 points. A second attempt awards +5 points, and a final manual override squeaks by with +1 point. Three-Strike Terminal Lockout: If a player records 3 consecutive checksum failures, a system error state triggers. The script locks out the number entry widget, reveals the correct answer in a terminal log, and forces them to click a manual “Initialize Next Puzzle Sequence” button to reset the parameters. Persistent Session State Memory: Leverages st.session_state vectors to freeze the random barcode matrix across input submissions, avoiding accidental page-reload re-randomization bugs. Mathematically Honest Help Expander: Features a drop-down panel displaying a step-by-step breakdown of the live calculation. It creates a temporary blind_digits copy array, replacing the hidden variable with a clean 0 so players can inspect the raw odd-position (weighted x3) and even-position sums to reverse-engineer the math....
|
1792997683.3638282
|
1793084083.3638282
|
|
35955
|
Bloom by @vallabhii | Stardance
|
vallabhii
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T16:08:41Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made major progress on Bloom, my PCOS wellness tracker! Today I completed the core features and successfully deployed the app, making it accessible online. I also refined the UI, fixed several bugs, improved responsiveness, and polished the overall user experience. Bloom helps users track their wellness, build healthier habits, and makes PCOS management feel more approachable through a clean, user-friendly interface. Excited to keep iterating and adding more features!", "repo": "https://github.com/vallabhii/hackathons", "demo": "https://m.youtube.com/watch?v=srShtdq6pno&pp=2AEAkAIB"}]...
|
[{"post_id": 29556, "ts": "202 [{"post_id": 29556, "ts": "2026-07-16T16:04:14Z", "hours": 0.3056, "text": "Made major progress on Bloom, my PCOS wellness tracker!Today I completed the core features and successfully deployed the app, making it accessible online. I also refined the UI, fixed several bugs, improved responsiveness, and polished the overall user experience.Bloom helps users track their wellness, build healthier habits, and makes PCOS management feel more approachable through a clean, user-friendly interface. Excited to keep iterating and adding more features!"}]...
|
Title: Bloom by @vallabhii | Stardance
Devlogs:
M Title: Bloom by @vallabhii | Stardance
Devlogs:
Made major progress on Bloom, my PCOS wellness tracker!Today I completed the core features and successfully deployed the app, making it accessible online. I also refined the UI, fixed several bugs, improved responsiveness, and polished the overall user experience.Bloom helps users track their wellness, build healthier habits, and makes PCOS management feel more approachable through a clean, user-friendly interface. Excited to keep iterating and adding more features!
Ships:
Made major progress on Bloom, my PCOS wellness tracker! Today I completed the core features and successfully deployed the app, making it accessible online. I also refined the UI, fixed several bugs, improved responsiveness, and polished the overall user experience. Bloom helps users track their wellness, build healthier habits, and makes PCOS management feel more approachable through a clean, user-friendly interface. Excited to keep iterating and adding more features!...
|
1792997682.4934983
|
1793084082.4934983
|
|
30522
|
Lauren's Project Portfolio by @Lauren_hackalic Lauren's Project Portfolio by @Lauren_hackalicious | Stardance...
|
Lauren_hackalicious
|
1
|
23.0
|
297
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-19T17:41:42Z", "hours": 23.0, "multiplier": 13.05, "payout": 297, "blessing": "neutral", "text": "I created a project portfolio and personal website. You can learn a little about me as it pertains to my coding journey and involvement at school. I learned how to animate objects on screen and create variations of the same thing, for example, the banners. They all carry the same essence. And I learned how to create a slideshow effect. Users can swipe on the About Me page to view three different pictures relating to my after-school activities. I would like readers to know that they, depending on the size of their screen, zoom out by 25% for a proper viewing experience. This project was created on a MacBook Neo, so I had to zoom my screen out to program this website. I recommend users enable autoplay because this website automatically plays music on the landing and project pages. The last thing I would like to mention is to interact with my website! A lot of things have “overflow: scroll” enabled, so try to find everything that would require you to scroll. P.S. If you’re having a hard time navigating the website, click the Word , as it contains the href attributes.", "repo": "https://github.com/example0d1n/Portfolio", "demo": "https://example0d1n.github.io/Portfolio/"}]...
|
[{"post_id": 50485, "ts": "202 [{"post_id": 50485, "ts": "2026-08-19T17:27:32Z", "hours": 0.7914, "text": "Read.Me discretion. Zoom out your screen by 25% for a proper website viewing experience. If you don’t, unfortunately, elements will appear squished together. If I had more time this summer, I would create a more responsive layout. The picture linked to this devlog is the result of the website if it isn’t zoomed out enough for the proper viewing experience. I also had to replace all the videos on the project page with screenshots because the files were too large, over 100 MB, to push into a GitHub repository. This saddens me because it did make that page less static. PLEASE take the time to read the README."}, {"post_id": 50041, "ts": "2026-08-19T02:14:49Z", "hours": 3.9425, "text": "Website complete…for now I added music that plays automatically on the landing and projects page | I started and finished the About Me tab. It features a Linktree to all my socials. Beneath is a music player featuring my favorite songs from Olivia Rodrigo, Beabadoobee, KATSEYE, and Laufey. On the right, I briefly discuss my involvement at my school. I finished adding the captions to all my projects on the projects page. I decided to pause my progress on this website as school starts up for me, and I need to begin reviewing core subjects for my classes. I had fun creating this website and hope to continue working on it outside of Stardance."}, {"post_id": 48657, "ts": "2026-08-17T04:24:56Z", "hours": 1.6494, "text": "About Me update: I only began structuring the layout of how I want my Linktree to appear in this section of the website. The styling is NOWHERE near complete, especially since there will be a lot more I place under the Linktree to talk about what I do in school that relates to STEM/Computer science. The koi fish image is actually a gif"}, {"post_id": 47796, "ts": "2026-08-15T23:54:31Z", "hours": 3.0403, "text": "Project page complete for now!! I worked tirelessly to complete this page today because school starts soon, and I won’t have much time to work on any more huge web projects until my next seasonal break. I added 5 of my completed summer projects and included the portfolio website because it’ll be my biggest project yet! I recorded a live demo of each project that automatically plays upon opening the page, so users can see what each website is about without reading the bio. I also attached the live link just in case users want to try out the website for themselves. (I really wish I could attach a video to this devlog, but Stardance isn’t working with me when it comes to the videos"}, {"post_id": 47282, "ts": "2026-08-15T04:03:28Z", "hours": 1.4347, "text": "Landing page complete!: | aligned an ocean gif with the update logs to keep the layout consistent (balanced). I added a spinning dolphin because it was so funny to me and fit the Frutiger Aero theme anyway, so I was like… why not? I FINALLY updated the navigation buttons on the side because they were looking pretty plain compared to the rest of the page. In the next devlog, I will have worked on the project. The dolphin IS spinning"}, {"post_id": 46640, "ts": "2026-08-14T01:18:45Z", "hours": 0.6122, "text": "I’ve been having issues posting a devlog today due to this error. I’m going to edit this devlog once this stops appearing on my screen. I can’t find the screenshot of the original update to my website, but I did fix the unevenness of the pixel background widget and updated the weather widget! Check out my most recent devlog to see the changes; I’m having issues uploading videos to Stardance devlogs."}, {"post_id": 46115, "ts": "2026-08-13T03:36:37Z", "hours": 2.395, "text": "Center section complete…for now 1. I added a GIF with a scenic pixel background to lessen the static feel of the area! I matched the banner with the update log for consistency. 2. I moved on to the right side of the container. It took about 30 minutes to figure out how to place items on the right side because the way I programmed the container didn’t account for the layout. I went back and forth between moving divs around and asking GitHub Copilot how to fix the issue. I concluded that creating a separate div within the container div, outside the “main” div, resolved the issue. 3. After debugging, I added a live clock (in military time) and inserted a weather widget."}, {"post_id": 45506, "ts": "2026-08-12T01:27:56Z", "hours": 2.0222, "text": "Big big things todayyyy I finished customizing the welcome textbox by aligning the h1 tag to the left (horayy). I added an infinite carousel with things that I like/am interested in. The update log is primarily for future updates after I ship this portfolio and to keep up with the progress I make, even if it seems minimal. The Update log uses the CSS element “overflow: scroll”."}, {"post_id": 44992, "ts": "2026-08-11T03:55:44Z", "hours": 3.0992, "text": "Changed the theme again lol 😭 I made my portfolio website Frutiger Aero because it’s bright and easier for me to style!! I had to delete my original code since it made customizing the content inside the main container difficult! My fav thing about this version is the banner at the top of the main container."}, {"post_id": 44252, "ts": "2026-08-09T21:40:01Z", "hours": 2.3014, "text": "HUGE REVAMP I was inspired by early 2000s-themed websites and redesigned my portfolio to show more of my personality. The old version was too corporate for me. In the new design, I am incorporating themes of My Little Pony, one of my childhood shows! It is pretty bare-bones right now. To get the layout, I used Figma! I recommend this website as it really helps get the ball rolling. The colors are all over the place because I’m still trying to figure out how exactly I want everything placed. AKA, these are not the final colors/fonts/style."}, {"post_id": 21889, "ts": "2026-07-04T02:00:02Z", "hours": 1.44, "text": "1st Devlog I decided it was finally time to create a webpage dedicated to storing all my projects! As an aspiring computer science major, I feel this is crucial to have on deck. I played around with how I wanted things to be laid out and ended up with this design. Is it plain? Yes. Is it also straight to the point? Also yes. This will be amongst my shorter projects since all I need to do is fill out the template I created in HTML."}]...
|
Title: Lauren's Project Portfolio by @Lauren_h Title: Lauren's Project Portfolio by @Lauren_hackalicious | Stardance
Devlogs:
1st Devlog I decided it was finally time to create a webpage dedicated to storing all my projects! As an aspiring computer science major, I feel this is crucial to have on deck. I played around with how I wanted things to be laid out and ended up with this design. Is it plain? Yes. Is it also straight to the point? Also yes. This will be amongst my shorter projects since all I need to do is fill out the template I created in HTML.
HUGE REVAMP I was inspired by early 2000s-themed websites and redesigned my portfolio to show more of my personality. The old version was too corporate for me. In the new design, I am incorporating themes of My Little Pony, one of my childhood shows! It is pretty bare-bones right now. To get the layout, I used Figma! I recommend this website as it really helps get the ball rolling. The colors are all over the place because I’m still trying to figure out how exactly I want everything placed. AKA, these are not the final colors/fonts/style.
Changed the theme again lol 😭 I made my portfolio website Frutiger Aero because it’s bright and easier for me to style!! I had to delete my original code since it made customizing the content inside the main container difficult! My fav thing about this version is the banner at the top of the main container.
Big big things todayyyy I finished customizing the welcome textbox by aligning the h1 tag to the left (horayy). I added an infinite carousel with things that I like/am interested in. The update log is primarily for future updates after I ship this portfolio and to keep up with the progress I make, even if it seems minimal. The Update log uses the CSS element “overflow: scroll”.
Center section complete…for now 1. I added a GIF with a scenic pixel background to lessen the static feel of the area! I matched the banner with the update log for consistency. 2. I moved on to the right side of the container. It took about 30 minutes to figure out how to place items on the right side because the way I programmed the container didn’t account for the layout. I went back and forth between moving divs around and asking GitHub Copilot how to fix the issue. I concluded that creating a separate div within the container div, outside the “main” div, resolved the issue. 3. After debugging, I added a live clock (in military time) and inserted a weather widget.
I’ve been having issues posting a devlog today due to this error. I’m going to edit this devlog once this stops appearing on my screen. I can’t find the screenshot of the original update to my website, but I did fix the unevenness of the pixel background widget and updated the weather widget! Check out my most recent devlog to see the changes; I’m having issues uploading videos to Stardance devlogs.
Landing page complete!: | aligned an ocean gif with the update logs to keep the layout consistent (balanced). I added a spinning dolphin because it was so funny to me and fit the Frutiger Aero theme anyway, so I was like… why not? I FINALLY updated the navigation buttons on the side because they were looking pretty plain compared to the rest of the page. In the next devlog, I will have worked on the project. The dolphin IS spinning
Project page complete for now!! I worked tirelessly to complete this page today because school starts soon, and I won’t have much time to work on any more huge web projects until my next seasonal break. I added 5 of my completed summer projects and included the portfolio website because it’ll be my biggest project yet! I recorded a live demo of each project that automatically plays upon opening the page, so users can see what each website is about without reading the bio. I also attached the live link just in case users want to try out the website for themselves. (I really wish I could attach a video to this devlog, but Stardance isn’t working with me when it comes to the videos
About Me update: I only began structuring the layout of how I want my Linktree to appear in this section of the website. The styling is NOWHERE near complete, especially since there will be a lot more I place under the Linktree to talk about what I do in school that relates to STEM/Computer science. The koi fish image is actually a gif
Website complete…for now I added music that plays automatically on the landing and projects page | I started and finished the About Me tab. It features a Linktree to all my socials. Beneath is a music player featuring my favorite songs from Olivia Rodrigo, Beabadoobee, KATSEYE, and Laufey. On the right, I briefly discuss my involvement at my school. I finished adding the captions to all my projects on the projects page. I decided to pause my progress on this website as school starts up for me, and I need to begin reviewing core subjects for my classes. I had fun creating this website and hope to continue working on it outside of Stardance.
Read.Me discretion. Zoom out your screen by 25% for a proper website viewing experience. If you don’t, unfortunately, elements will appear squished together. If I had more time this summer, I would create a more responsive layout. The picture linked to this devlog is the result of the website if it isn’t zoomed out enough for the proper viewing experience. I also had to replace all the videos on the project page with screenshots because the files were too large, over 100 MB, to push into a GitHub repository. This saddens me because it did make that page less static. PLEASE take the time to read the README.
Ships:
I created a project portfolio and personal website. You can learn a little about me as it pertains to my coding journey and involvement at school. I learned how to animate objects on screen and create variations of the same thing, for example, the banners. They all carry the same essence. And I learned how to create a slideshow effect. Users can swipe on the About Me page to view three different pictures relating to my after-school activities. I would like readers to know that they, depending on the size of their screen, zoom out by 25% for a proper viewing experience. This project was created on a MacBook Neo, so I had to zoom my screen out to program this website. I recommend users enable autoplay because this website automatically plays music on the landing and project pages. The last thing I would like to mention is to interact with my website! A lot of things have “overflow: scroll” enabled, so try to find everything that would require you to scroll. P.S. If you’re having a hard time navigating the website, click the Word , as it contains the href attributes....
|
1792997681.323745
|
1793084081.323745
|
|
25853
|
Printing Kiosk by @roberto | Stardance
|
roberto
|
1
|
56.03
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T18:11:27Z", "hours": 35.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This project has been an exciting journey in transforming a manual workflow into an automated system. I created a self-service Printing Kiosk system that runs entirely on Linux. The system allows users to send documents via WhatsApp, which the kiosk automatically processes, converts into PDFs, lets the user configure the printing settings and sends directly to a printer via the CUPS native printing system. The interface is a modern, web-based dashboard built with NiceGUI, configured to run in browser Kiosk mode. The decision to rewrite the application interface from Tkinter to NiceGUI was a significant architectural shift, requiring to reimplement the layout and logic to support a web-based, Kiosk-ready experience. If someone were to set this up, they should keep mind that it is designed to be the only process running locally so it may be demanding. The setup script is straigntforward, users must manually configure config.json file and run the .sh file to setup all the application.", "repo": "https://github.com/rob80fame/printing-kiosk", "demo": "https://github.com/rob80fame/printing-kiosk/releases/tag/WIN"}]...
|
[{"post_id": 78741, "ts": "202 [{"post_id": 78741, "ts": "2026-10-11T13:34:32Z", "hours": 2.1419, "text": "bug fixes ( timers didn’t quite fit in, git update useless in installer) created exe with pyinstaller migrated to sqllite for easyer use"}, {"post_id": 74473, "ts": "2026-09-27T13:39:44Z", "hours": 1.0136, "text": "created .bat file for installation, I was unable to host it so it has to be installed on a Windows pc to work."}, {"post_id": 73250, "ts": "2026-09-24T17:50:55Z", "hours": 1.7158, "text": "ADDED auto update in python case if multiple pdf is not selected first, possibility to add multiple images inactivity timer code refactory merged policy.txt in config.json merge app.py and backend.py TODO create start.bat/sh with dual logic (with config modifier) fix merging problem"}, {"post_id": 71736, "ts": "2026-09-21T12:45:55Z", "hours": 0.7597, "text": "ADDED auto update in python case if multiple pdf is not selected first, possibility to add multiple images TODO merge app.py and backend.py inactivity timer"}, {"post_id": 70090, "ts": "2026-09-18T13:12:26Z", "hours": 0.3458, "text": "Added proportional resizing and unproportional resizing, fixed printing after resize. TODO more images in one file to resize"}, {"post_id": 69618, "ts": "2026-09-17T12:57:49Z", "hours": 3.1444, "text": "added feature: reduce/enlarge images to size todo: fix scaling issue (as in images)"}, {"post_id": 68079, "ts": "2026-09-14T14:12:19Z", "hours": 0.6703, "text": "FIXED 2x page not working"}, {"post_id": 67171, "ts": "2026-09-13T07:36:12Z", "hours": 1.9642, "text": "TODO reduce/enlarge images to size 2x page not working ADDED added policy e disclaimer added reduce/enlarge text size fixed multiple copies pricing bug"}, {"post_id": 65932, "ts": "2026-09-11T12:28:27Z", "hours": 0.6939, "text": "added privacy and policy readed from .txt file so it is easier to modify removed scroll when not needed"}, {"post_id": 65327, "ts": "2026-09-10T12:23:30Z", "hours": 2.0125, "text": "ADDED FUNCTION BUTTON SECTION NOW GOING BACK FROM PRINTING GOES TO FILE SELECTION NOW AFTER PRINTING GOES TO FILE SELECTION BACKEND OFFLINE WARNING PAGE ADDED ADMIN PAGEFIXED UI BUG"}, {"post_id": 63430, "ts": "2026-09-07T08:37:20Z", "hours": 1.2119, "text": "added print from usb key with fixed code configurable with config.json TODO: -update render_print_config with config.json changes ridimensiomanento manuale immagini touch scroll preview funzione riduci dimensioni testo"}, {"post_id": 63116, "ts": "2026-09-06T18:57:00Z", "hours": 1.6589, "text": "added features- input screen auto focus on txt input, limited only to numbers, without arrows added A1, A2 as 4xA3 and 2xA3"}, {"post_id": 62266, "ts": "2026-09-05T15:37:23Z", "hours": 2.6622, "text": "Implemented .bat and .sh file to auto install everything, added email reception as a way to send files"}, {"post_id": 31825, "ts": "2026-07-20T14:47:23Z", "hours": 1.0378, "text": "frontend demo"}, {"post_id": 30244, "ts": "2026-07-17T17:44:08Z", "hours": 0.8569, "text": "finished .sh for installation minor fixes"}, {"post_id": 30209, "ts": "2026-07-17T16:37:44Z", "hours": 8.74, "text": "Tkinter version fully working, but I needed to access it remotely so switched to niceGUI merged all the files (leaving only with backend.py and app.py) optimized for touch screen remote control modified to work on Linux as well as on Windows (using lp or SumatraPDF) added a button in configuration_ui to shut down the server remotely creating .sh file to install everything automatically"}, {"post_id": 28129, "ts": "2026-07-14T06:58:27Z", "hours": 0.8608, "text": "minor ui fixes to simplify usability"}, {"post_id": 26573, "ts": "2026-07-11T14:10:43Z", "hours": 2.3042, "text": "added multi printing (it merges the files selected onto one and prints it) added code 00000 (customizable in config.json) to exit application"}, {"post_id": 25952, "ts": "2026-07-10T14:00:56Z", "hours": 2.715, "text": "bug fix added cumulative pricing on main ui added tmp file for costs"}, {"post_id": 22281, "ts": "2026-07-04T17:45:18Z", "hours": 4.6311, "text": "completed a first fully working version implementing configurations TODOS: cumulative pricing on app.py print multiple files longclicking"}, {"post_id": 21560, "ts": "2026-07-03T16:08:42Z", "hours": 3.6578, "text": "fix of file structure, creation of starting ui and retrieval of datas"}, {"post_id": 20719, "ts": "2026-07-02T11:52:58Z", "hours": 2.1989, "text": "Printing Frontend demo finished"}, {"post_id": 20101, "ts": "2026-07-01T16:56:35Z", "hours": 4.2733, "text": "working on a python frontend using cmd Sumatra printing (even though I do not love the look of it)"}, {"post_id": 18382, "ts": "2026-06-29T14:54:35Z", "hours": 1.7942, "text": "Backend demo completed with all funtionalities. Started frontend with C# using PrintDialogX as base to create custom print interface"}, {"post_id": 17596, "ts": "2026-06-28T13:46:46Z", "hours": 2.7036, "text": "Finished setting up the environment locally with evolution_api, completed a demo for the backend part that recieves, saves and stores images (for now, planing on including documents)"}, {"post_id": 16230, "ts": "2026-06-26T11:27:17Z", "hours": 0.6822, "text": "trying to set up evolution api with docker"}]...
|
Title: Printing Kiosk by @roberto | Stardance
Dev Title: Printing Kiosk by @roberto | Stardance
Devlogs:
trying to set up evolution api with docker
Finished setting up the environment locally with evolution_api, completed a demo for the backend part that recieves, saves and stores images (for now, planing on including documents)
Backend demo completed with all funtionalities. Started frontend with C# using PrintDialogX as base to create custom print interface
working on a python frontend using cmd Sumatra printing (even though I do not love the look of it)
Printing Frontend demo finished
fix of file structure, creation of starting ui and retrieval of datas
completed a first fully working version implementing configurations TODOS: cumulative pricing on app.py print multiple files longclicking
bug fix added cumulative pricing on main ui added tmp file for costs
added multi printing (it merges the files selected onto one and prints it) added code 00000 (customizable in config.json) to exit application
minor ui fixes to simplify usability
Tkinter version fully working, but I needed to access it remotely so switched to niceGUI merged all the files (leaving only with backend.py and app.py) optimized for touch screen remote control modified to work on Linux as well as on Windows (using lp or SumatraPDF) added a button in configuration_ui to shut down the server remotely creating .sh file to install everything automatically
finished .sh for installation minor fixes
frontend demo
Implemented .bat and .sh file to auto install everything, added email reception as a way to send files
added features- input screen auto focus on txt input, limited only to numbers, without arrows added A1, A2 as 4xA3 and 2xA3
added print from usb key with fixed code configurable with config.json TODO: -update render_print_config with config.json changes ridimensiomanento manuale immagini touch scroll preview funzione riduci dimensioni testo
ADDED FUNCTION BUTTON SECTION NOW GOING BACK FROM PRINTING GOES TO FILE SELECTION NOW AFTER PRINTING GOES TO FILE SELECTION BACKEND OFFLINE WARNING PAGE ADDED ADMIN PAGEFIXED UI BUG
added privacy and policy readed from .txt file so it is easier to modify removed scroll when not needed
TODO reduce/enlarge images to size 2x page not working ADDED added policy e disclaimer added reduce/enlarge text size fixed multiple copies pricing bug
FIXED 2x page not working
added feature: reduce/enlarge images to size todo: fix scaling issue (as in images)
Added proportional resizing and unproportional resizing, fixed printing after resize. TODO more images in one file to resize
ADDED auto update in python case if multiple pdf is not selected first, possibility to add multiple images TODO merge app.py and backend.py inactivity timer
ADDED auto update in python case if multiple pdf is not selected first, possibility to add multiple images inactivity timer code refactory merged policy.txt in config.json merge app.py and backend.py TODO create start.bat/sh with dual logic (with config modifier) fix merging problem
created .bat file for installation, I was unable to host it so it has to be installed on a Windows pc to work.
bug fixes ( timers didn’t quite fit in, git update useless in installer) created exe with pyinstaller migrated to sqllite for easyer use
Ships:
This project has been an exciting journey in transforming a manual workflow into an automated system. I created a self-service Printing Kiosk system that runs entirely on Linux. The system allows users to send documents via WhatsApp, which the kiosk automatically processes, converts into PDFs, lets the user configure the printing settings and sends directly to a printer via the CUPS native printing system. The interface is a modern, web-based dashboard built with NiceGUI, configured to run in browser Kiosk mode. The decision to rewrite the application interface from Tkinter to NiceGUI was a significant architectural shift, requiring to reimplement the layout and logic to support a web-based, Kiosk-ready experience. If someone were to set this up, they should keep mind that it is designed to be the only process running locally so it may be demanding. The setup script is straigntforward, users must manually configure config.json file and run the .sh file to setup all the application....
|
1792997680.0420299
|
1793084080.0420299
|
|
37736
|
Wage a Minute! by @itzzmarkus | Stardance
|
itzzmarkus
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-20T19:38:51Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Created a Firefox/Chrome extension that uses your hourly / yearly wage to calculate how much an item costs. It automatically replaces all prices on a website with the equivalent hours required based on your wage!", "repo": "https://github.com/itzzmarkus/WageAMinute", "demo": "https://youtu.be/wmm83jZxyyM"}]...
|
[{"post_id": 31956, "ts": "202 [{"post_id": 31956, "ts": "2026-07-20T19:37:29Z", "hours": 0.2719, "text": "Finished adding Amazon fix, and tested!"}, {"post_id": 31944, "ts": "2026-07-20T19:15:45Z", "hours": 1.0131, "text": "Tailwind extension popup and saving to local storage, added website walk"}]...
|
Title: Wage a Minute! by @itzzmarkus | Stardance
Title: Wage a Minute! by @itzzmarkus | Stardance
Devlogs:
Tailwind extension popup and saving to local storage, added website walk
Finished adding Amazon fix, and tested!
Ships:
Created a Firefox/Chrome extension that uses your hourly / yearly wage to calculate how much an item costs. It automatically replaces all prices on a website with the equivalent hours required based on your wage!...
|
1792997679.138419
|
1793084079.138419
|
|
31759
|
Cool Shelf by @BenjaminLewis | Stardance
|
BenjaminLewis
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T20:28:17Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a shelf. The width is 15 Inches the side is 6 Inches with three drawers. There are many different parts to the shelf, so you need to put it back together with glue. On the shelf, there is Baby Yoda, the Lakers, and different animals drinking boba. One challenge that I have is that I need to cut them into parts because it’s too big for my printer", "repo": "https://github.com/Benjaminsjlewis/My-Cool-Shelf", "demo": ""}]...
|
[{"post_id": 52623, "ts": "202 [{"post_id": 52623, "ts": "2026-08-22T20:52:53Z", "hours": 0.3303, "text": "Cool Shelf Just the last piece that I was 5H because I did something wrong. So I’m waiting for the printer to be done; meanwhile, I’m trying to make the drawer slide better and clean all the sand out of it."}, {"post_id": 50734, "ts": "2026-08-20T02:35:33Z", "hours": 0.6736, "text": "Cool Shelf Almost there, last piece!!!"}, {"post_id": 50614, "ts": "2026-08-19T20:44:23Z", "hours": 0.6017, "text": "Cool Shelf I sanded it the half of the shelf and glued it together"}, {"post_id": 49773, "ts": "2026-08-18T18:14:21Z", "hours": 0.55, "text": "Cool Shelf Almost there; I’m done with all the drawers. Now I just need to put the shelf together."}, {"post_id": 48527, "ts": "2026-08-16T22:51:28Z", "hours": 1.4328, "text": "Cool shelf Because of the size of my printer, I can’t print all of the things at the same time, so I have to cut them into parts. I also sanded and glued the shelf today."}, {"post_id": 44877, "ts": "2026-08-10T22:23:16Z", "hours": 0.9503, "text": "Shelf I started making this shelf before I knew about the hackers club, so I have more than 5+ hours that I didn’t record. Now everything is done, but because I have a1 min, I need to cut it into parts."}]...
|
Title: Cool Shelf by @BenjaminLewis | Stardance
D Title: Cool Shelf by @BenjaminLewis | Stardance
Devlogs:
Shelf I started making this shelf before I knew about the hackers club, so I have more than 5+ hours that I didn’t record. Now everything is done, but because I have a1 min, I need to cut it into parts.
Cool shelf Because of the size of my printer, I can’t print all of the things at the same time, so I have to cut them into parts. I also sanded and glued the shelf today.
Cool Shelf Almost there; I’m done with all the drawers. Now I just need to put the shelf together.
Cool Shelf I sanded it the half of the shelf and glued it together
Cool Shelf Almost there, last piece!!!
Cool Shelf Just the last piece that I was 5H because I did something wrong. So I’m waiting for the printer to be done; meanwhile, I’m trying to make the drawer slide better and clean all the sand out of it.
Ships:
This is a shelf. The width is 15 Inches the side is 6 Inches with three drawers. There are many different parts to the shelf, so you need to put it back together with glue. On the shelf, there is Baby Yoda, the Lakers, and different animals drinking boba. One challenge that I have is that I need to cut them into parts because it’s too big for my printer...
|
1792997677.9996698
|
1793084077.9996698
|
|
9936
|
Relay by @InvalidJoker | Stardance
|
InvalidJoker
|
2
|
27.0
|
411
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T21:09:50Z", "hours": 9.0, "multiplier": 17.24, "payout": 161, "blessing": "neutral", "text": "Relay v2? (if we can call it like that) Now that the base was solid and we had most of the features I focused on refining everything so I did exactly that: New UI Mutli Regional Relays Auto Updater QoL changes in general Have fun and try it out now: https://github.com/InvalidJoker/relay/tree/main#installation", "repo": "https://github.com/InvalidJoker/relay", "demo": "https://relay.koder.wtf"}, {"ship_num": 2, "ts": "2026-06-20T09:23:45Z", "hours": 18.0, "multiplier": 14.37, "payout": 250, "blessing": "neutral", "text": "Relay’s first ship I think Relay is finally ready for its first-ever ship! You can find instructions on how to use it at https://relay.koder.wtf For a long time, I’ve been looking for a nice solution to tunnel my local Minecraft servers and websites so I could share them with friends, and Relay is exactly that. Obviously, Relay isn’t even close to being finished yet and will continue to receive updates over time. :D So yeah, go ahead and give it a try! :p", "repo": "https://github.com/InvalidJoker/relay", "demo": "https://relay.koder.wtf"}]...
|
[{"post_id": 78872, "ts": "202 [{"post_id": 78872, "ts": "2026-10-11T20:45:08Z", "hours": 4.1264, "text": "Scaling Relay improve http performance add region based relay deployments some ui improvements add auto updater support Relay now supports choosing the best relay between multiple relays per “host”. Obv. we give you the freedom to say that you just want to have relay x and every feature we previously had will works as usual. I obv. did some more small changes as you can see above"}, {"post_id": 78115, "ts": "2026-10-09T16:31:40Z", "hours": 5.1892, "text": "Relay Rebranding I’ve completely rewritten the Relay website in Nuxt, fixing many bugs along the way and giving it a more polished, modern design that better fits the project. Check it out now at: https://relay.koder.wtf/"}, {"post_id": 12429, "ts": "2026-06-20T08:59:53Z", "hours": 2.8692, "text": "Relay is now public I think Relay has reached a point where I’m comfortable letting other people try it out. It’s now available at https://relay.koder.wtf/dashboard . The CLI supports Windows, macOS, and Linux, and can be installed with a simple script ( https://relay.koder.wtf/#how-it-works ). Currently, each user gets 2 reserved ports, 3 subdomains, and 1 completely custom domain. There’s still plenty of work ahead. Over the coming weeks, I’ll continue improving Relay and completely rework the dashboard, as it doesn’t look quite as polished as I’d like yet. I also plan to add a way for users to request additional subdomains directly through the platform. For now, I’d love for people to try it out and share their feedback."}, {"post_id": 11257, "ts": "2026-06-18T12:37:43Z", "hours": 6.2831, "text": "First Working Version I’ve got a first real version of Relay up and running :D The dashboard works, and both the HTTP and TCP proxy are stable. Next up is mostly cleanup: polishing the frontend, improving the CLI tools, and finally implementing run configurations so you can have a relay.toml file in your project and don’t have to type the entire command every time. After that, I’ll put together a demo deployment so people can actually try it out and break it a bit."}, {"post_id": 7483, "ts": "2026-06-12T14:20:09Z", "hours": 4.9442, "text": "I’ve started working on the frontend for Relay and made some structural changes. One major change is the removal of the dedicated Rust backend. All functionality is now handled directly within the Svelte application, simplifying development and deployment complexity. For the UI, I chose a minimal design built with shadcn-svelte. This gives Relay a clean, modern look. Upcoming Features: The dashboard will soon allow you to: Create and manage custom domains and subdomains Reserve specific ports for your projects, so you don’t have to send new ports to your friends everytime More updates soon :D"}, {"post_id": 4414, "ts": "2026-06-07T18:51:59Z", "hours": 2.6497, "text": "I wanted the CLI to be as intuitive as possible, so I came up with the following design. I’ve also made progress on building the Relay server itself. It now includes a communication layer for interacting with the CLI and supports client authentication."}, {"post_id": 4094, "ts": "2026-06-07T09:08:17Z", "hours": 0.7886, "text": "What is Relay? Relay is a TCP tunneling service. Unlike many other services on the market, it will be open-source and free to use (with some limitations, of course). We also plan to offer unique features, such as persistent domains, so your friends won’t have to update the URL every time they want to visit your site. Relay is currently a work in progress, so don’t expect anything too crazy just yet. I’ll keep you updated :)"}]...
|
Title: Relay by @InvalidJoker | Stardance
Devlogs Title: Relay by @InvalidJoker | Stardance
Devlogs:
What is Relay? Relay is a TCP tunneling service. Unlike many other services on the market, it will be open-source and free to use (with some limitations, of course). We also plan to offer unique features, such as persistent domains, so your friends won’t have to update the URL every time they want to visit your site. Relay is currently a work in progress, so don’t expect anything too crazy just yet. I’ll keep you updated :)
I wanted the CLI to be as intuitive as possible, so I came up with the following design. I’ve also made progress on building the Relay server itself. It now includes a communication layer for interacting with the CLI and supports client authentication.
I’ve started working on the frontend for Relay and made some structural changes. One major change is the removal of the dedicated Rust backend. All functionality is now handled directly within the Svelte application, simplifying development and deployment complexity. For the UI, I chose a minimal design built with shadcn-svelte. This gives Relay a clean, modern look. Upcoming Features: The dashboard will soon allow you to: Create and manage custom domains and subdomains Reserve specific ports for your projects, so you don’t have to send new ports to your friends everytime More updates soon :D
First Working Version I’ve got a first real version of Relay up and running :D The dashboard works, and both the HTTP and TCP proxy are stable. Next up is mostly cleanup: polishing the frontend, improving the CLI tools, and finally implementing run configurations so you can have a relay.toml file in your project and don’t have to type the entire command every time. After that, I’ll put together a demo deployment so people can actually try it out and break it a bit.
Relay is now public I think Relay has reached a point where I’m comfortable letting other people try it out. It’s now available at https://relay.koder.wtf/dashboard . The CLI supports Windows, macOS, and Linux, and can be installed with a simple script ( https://relay.koder.wtf/#how-it-works ). Currently, each user gets 2 reserved ports, 3 subdomains, and 1 completely custom domain. There’s still plenty of work ahead. Over the coming weeks, I’ll continue improving Relay and completely rework the dashboard, as it doesn’t look quite as polished as I’d like yet. I also plan to add a way for users to request additional subdomains directly through the platform. For now, I’d love for people to try it out and share their feedback.
Relay Rebranding I’ve completely rewritten the Relay website in Nuxt, fixing many bugs along the way and giving it a more polished, modern design that better fits the project. Check it out now at: https://relay.koder.wtf/
Scaling Relay improve http performance add region based relay deployments some ui improvements add auto updater support Relay now supports choosing the best relay between multiple relays per “host”. Obv. we give you the freedom to say that you just want to have relay x and every feature we previously had will works as usual. I obv. did some more small changes as you can see above
Ships:
Relay’s first ship I think Relay is finally ready for its first-ever ship! You can find instructions on how to use it at https://relay.koder.wtf For a long time, I’ve been looking for a nice solution to tunnel my local Minecraft servers and websites so I could share them with friends, and Relay is exactly that. Obviously, Relay isn’t even close to being finished yet and will continue to receive updates over time. :D So yeah, go ahead and give it a try! :p
Relay v2? (if we can call it like that) Now that the base was solid and we had most of the features I focused on refining everything so I did exactly that: New UI Mutli Regional Relays Auto Updater QoL changes in general Have fun and try it out now: https://github.com/InvalidJoker/relay/tree/main#installation...
|
1792997676.812085
|
1793084076.812085
|
|
21555
|
My very own WebOS by @lakshya | Stardance
|
lakshya
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T21:46:58Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A space-themed webos that features the apod from nasa as the background and has 2 space-themed apps", "repo": "https://github.com/Lakshya0034/astra-os", "demo": "https://lakshya0034.github.io/astra-os/"}]...
|
[{"post_id": 17178, "ts": "202 [{"post_id": 17178, "ts": "2026-06-27T21:41:21Z", "hours": 0.3908, "text": "Successfully integrated the nasa APOD background on the desktop and added an info card with data pulled from NASA."}, {"post_id": 17150, "ts": "2026-06-27T20:48:29Z", "hours": 1.4836, "text": "Devlog #2 built a terminal with some basic fun commands and a solar system visualiser app with some details about each body. added the api for the launches will try to fetch nasa apod images for the wallpaper background next"}, {"post_id": 17069, "ts": "2026-06-27T18:30:35Z", "hours": 0.7667, "text": "Currently building a launch tracker app. I’m working on using an api to fetch the information"}]...
|
Title: My very own WebOS by @lakshya | Stardance
Title: My very own WebOS by @lakshya | Stardance
Devlogs:
Currently building a launch tracker app. I’m working on using an api to fetch the information
Devlog #2 built a terminal with some basic fun commands and a solar system visualiser app with some details about each body. added the api for the launches will try to fetch nasa apod images for the wallpaper background next
Successfully integrated the nasa APOD background on the desktop and added an info card with data pulled from NASA.
Ships:
A space-themed webos that features the apod from nasa as the background and has 2 space-themed apps...
|
1792997675.9130583
|
1793084075.9130583
|
|
19871
|
Object detection with ESP32-S3 CAM by @prodscooty Object detection with ESP32-S3 CAM by @prodscooty | Stardance...
|
prodscooty
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T20:01:35Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an object detection system using a model trained to run on an ESP32-S3 with 8MB of PSRAM. I also used a sort of OCR model trained on the MNIST dataset + some self-made images to identity the pallet’s ID and associate the pallet with the object placed on it.", "repo": "https://github.com/scootymadethis/ice-conveyor-camera", "demo": "https://3f0b3088-fccc-4d4f-900e-c670de587065-00-33ktcnc60pp70.riker.replit.dev:5000/"}]...
|
[{"post_id": 25477, "ts": "202 [{"post_id": 25477, "ts": "2026-07-09T19:30:39Z", "hours": 2.4222, "text": "Devlog #4: I finished the project! I was able to complete the object detection part, along with creating the model to flash onto the ESP32-S3. I also added another ESP32-S3 with the camera module to capture the side of the pallets so I can combine the pallet’s ID with the object on it. The OCR model was also made for the ESP32-S3 using the MNIST dataset + some images that I took."}, {"post_id": 15598, "ts": "2026-06-25T11:18:03Z", "hours": 8.1131, "text": "Devlog #3: BIG CHANGES HERE! I was able to install LiDAR sensors to detect pallets moving under the ESP32 and quickly take a picture that gets sent to the HUB. The main problem I had was managing the communication between the ESP32 and the Python HUB, and the solution I came up with was ensuring only 1 request can be made at a time, so for example if the ESP32 is sending a frame to the HUB, I block all commands from the HUB. This made the overall experience much better since I didn’t have to reset the ESP because it was freezed on a non-existent request! Besides general improvements to the UI, the main change was the addition of another ESP32 with a ML model flashed on it, which does object detection to understand what is traveling on the pallet. I learned that finding a model that can fit on an ESP32-S3 is quite difficult, so the path I chose was Knowledge Distillation, where the ESP32 was the student. To experiment, I used a linear one layer model, which does recognize objects but has some problems, so I will probably try to redo the process with a more complex model."}, {"post_id": 10643, "ts": "2026-06-17T14:36:34Z", "hours": 4.5833, "text": "Devlog #2: I completed the camera post-processing part, added the option to change the ESP32 IP directly from the web interface, and improved the data transfer between the ESP32 and the backend to make image capture faster and more reliable. The next step is to add IR sensors to detect when pallets pass under the camera, so the system can trigger captures automatically."}, {"post_id": 9911, "ts": "2026-06-16T12:46:42Z", "hours": 6.92, "text": "Devlog #1: After rewriting the entire project base and switching the communication protocol from HTTP to TCP, I’m now working on camera exposure control to make object detection more reliable, even in poor lighting conditions."}]...
|
Title: Object detection with ESP32-S3 CAM by @prod Title: Object detection with ESP32-S3 CAM by @prodscooty | Stardance
Devlogs:
Devlog #1: After rewriting the entire project base and switching the communication protocol from HTTP to TCP, I’m now working on camera exposure control to make object detection more reliable, even in poor lighting conditions.
Devlog #2: I completed the camera post-processing part, added the option to change the ESP32 IP directly from the web interface, and improved the data transfer between the ESP32 and the backend to make image capture faster and more reliable. The next step is to add IR sensors to detect when pallets pass under the camera, so the system can trigger captures automatically.
Devlog #3: BIG CHANGES HERE! I was able to install LiDAR sensors to detect pallets moving under the ESP32 and quickly take a picture that gets sent to the HUB. The main problem I had was managing the communication between the ESP32 and the Python HUB, and the solution I came up with was ensuring only 1 request can be made at a time, so for example if the ESP32 is sending a frame to the HUB, I block all commands from the HUB. This made the overall experience much better since I didn’t have to reset the ESP because it was freezed on a non-existent request! Besides general improvements to the UI, the main change was the addition of another ESP32 with a ML model flashed on it, which does object detection to understand what is traveling on the pallet. I learned that finding a model that can fit on an ESP32-S3 is quite difficult, so the path I chose was Knowledge Distillation, where the ESP32 was the student. To experiment, I used a linear one layer model, which does recognize objects but has some problems, so I will probably try to redo the process with a more complex model.
Devlog #4: I finished the project! I was able to complete the object detection part, along with creating the model to flash onto the ESP32-S3. I also added another ESP32-S3 with the camera module to capture the side of the pallets so I can combine the pallet’s ID with the object on it. The OCR model was also made for the ESP32-S3 using the MNIST dataset + some images that I took.
Ships:
I made an object detection system using a model trained to run on an ESP32-S3 with 8MB of PSRAM. I also used a sort of OCR model trained on the MNIST dataset + some self-made images to identity the pallet’s ID and associate the pallet with the object placed on it....
|
1792997674.7875056
|
1793084074.7875056
|
|
22669
|
Pi Proxy Bridge by @tosterabgx | Stardance
|
tosterabgx
|
1
|
17.16
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-21T22:06:14Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Say hi to my project!! Pi Proxy Bridge is a setup where a Raspberry Pi works as a WiFi-to-WiFi proxy access point with support for Xray Core. At home, we have a security webcam that doesn’t work without a proxy, but it can’t connect to one itself. So, I decided to build my own proxy bridge for it. This is the first working version, and I want to expand this project further, probably wrapping everything up in Docker and adding a router local web page for easier configuration. But for now, you can check out the video demonstration!", "repo": "https://github.com/felowctl/pi-proxy-bridge", "demo": "https://github.com/felowctl/pi-proxy-bridge#installation"}]...
|
[{"post_id": 24856, "ts": "202 [{"post_id": 24856, "ts": "2026-07-08T18:21:36Z", "hours": 5.9192, "text": "The final touches It has been a long time since the last devlog, but I finally added some quality-of-life features. The admin page PiRouter serves an admin webpage on a standard ip 192.168.50.1 behind the auth (default password is Admin , but don’t tell anyone). It has a number of configurations for the wifi and proxy. It also has a theme switch, but i don’t think that anyone will ever use the light theme ;p Other stuff Fixed some bugs and added a bit more configurability during the installation process. That’s it! I think that this will be my last devlog, so thanks to anyone watching this. Bye!"}, {"post_id": 14292, "ts": "2026-06-23T11:03:11Z", "hours": 4.245, "text": "Virtual AP update From now on, you don’t need an additional USB dongle for Pi Proxy Bridge to work! Better interface Updated the installer. It now starts by asking which mode you want (virtual interface or second adapter). Then, it asks configuration questions like Hotspot SSID Hotspot password Hotspot’s channel Whether to use 5GHz README update I also updated the README to better explain how my project works, as well as some setup tips."}, {"post_id": 13362, "ts": "2026-06-21T21:53:01Z", "hours": 2.2947, "text": "Bulletproofing the install script Spent two hours cooking my installer to perfection. But now we also have a logo! What’s new Added several checks for sudo access, WiFi interfaces and required packages Added the uninstall script Made a video showcasing Pi Proxy Bridge at work The time wasn’t logged, but I spent an hour trying to find free video editing software and blur out my ip address :p"}, {"post_id": 12813, "ts": "2026-06-20T23:35:53Z", "hours": 2.9625, "text": "Feature-full prototype + installation script Added Xray Core and the routing rules so everything works together. Checked it with ifconfig.me . Also, I decided to automate the whole configuration process and made a bash installation script, which seems to work. Learned a bunch of cool little bash things along the way, like set -e (which stops the script if an error occurs) or the difference between > and &> ."}, {"post_id": 12720, "ts": "2026-06-20T19:36:30Z", "hours": 1.2225, "text": "It works! (kinda) Installed and configured hostapd (a tool for creating a hotspot) Sounds simple but… After setting up an access point, my phone did not connect and was just saying “Obtaining IP address”. Turns out, I also needed to install a DHCP server (dnsmasq) so it assigns different IP addresses to devices on the network. But there’s no proxy right now, so…. more updates are to come"}, {"post_id": 12490, "ts": "2026-06-20T12:11:18Z", "hours": 0.3514, "text": "Architecture Sketch Sketched out how my Pi Proxy Bridge works. The Idea Raspberry Pi (4B in my case) connects to my home wifi and shares its own hotspot at the same time. Anything on that hotspot gets routed through a proxy. My separate webcam (which needs a proxy to run, but can’t start one itself) connects to the hotspot and gets a proxied internet connection. Profit. Details Needs a dedicated USB wifi dongle No WireGuard or OpenVPN, because they often get blocked. Went with Xray-Core instead (vless, trojan, shadowsocks, etc.)"}]...
|
Title: Pi Proxy Bridge by @tosterabgx | Stardance
Title: Pi Proxy Bridge by @tosterabgx | Stardance
Devlogs:
Architecture Sketch Sketched out how my Pi Proxy Bridge works. The Idea Raspberry Pi (4B in my case) connects to my home wifi and shares its own hotspot at the same time. Anything on that hotspot gets routed through a proxy. My separate webcam (which needs a proxy to run, but can’t start one itself) connects to the hotspot and gets a proxied internet connection. Profit. Details Needs a dedicated USB wifi dongle No WireGuard or OpenVPN, because they often get blocked. Went with Xray-Core instead (vless, trojan, shadowsocks, etc.)
It works! (kinda) Installed and configured hostapd (a tool for creating a hotspot) Sounds simple but… After setting up an access point, my phone did not connect and was just saying “Obtaining IP address”. Turns out, I also needed to install a DHCP server (dnsmasq) so it assigns different IP addresses to devices on the network. But there’s no proxy right now, so…. more updates are to come
Feature-full prototype + installation script Added Xray Core and the routing rules so everything works together. Checked it with ifconfig.me . Also, I decided to automate the whole configuration process and made a bash installation script, which seems to work. Learned a bunch of cool little bash things along the way, like set -e (which stops the script if an error occurs) or the difference between > and &> .
Bulletproofing the install script Spent two hours cooking my installer to perfection. But now we also have a logo! What’s new Added several checks for sudo access, WiFi interfaces and required packages Added the uninstall script Made a video showcasing Pi Proxy Bridge at work The time wasn’t logged, but I spent an hour trying to find free video editing software and blur out my ip address :p
Virtual AP update From now on, you don’t need an additional USB dongle for Pi Proxy Bridge to work! Better interface Updated the installer. It now starts by asking which mode you want (virtual interface or second adapter). Then, it asks configuration questions like Hotspot SSID Hotspot password Hotspot’s channel Whether to use 5GHz README update I also updated the README to better explain how my project works, as well as some setup tips.
The final touches It has been a long time since the last devlog, but I finally added some quality-of-life features. The admin page PiRouter serves an admin webpage on a standard ip 192.168.50.1 behind the auth (default password is Admin , but don’t tell anyone). It has a number of configurations for the wifi and proxy. It also has a theme switch, but i don’t think that anyone will ever use the light theme ;p Other stuff Fixed some bugs and added a bit more configurability during the installation process. That’s it! I think that this will be my last devlog, so thanks to anyone watching this. Bye!
Ships:
Say hi to my project!! Pi Proxy Bridge is a setup where a Raspberry Pi works as a WiFi-to-WiFi proxy access point with support for Xray Core. At home, we have a security webcam that doesn’t work without a proxy, but it can’t connect to one itself. So, I decided to build my own proxy bridge for it. This is the first working version, and I want to expand this project further, probably wrapping everything up in Docker and adding a router local web page for easier configuration. But for now, you can check out the video demonstration!...
|
1792997673.6358452
|
1793084073.6358452
|
|
15613
|
AstroPage by @kristiansiska | Stardance
|
kristiansiska
|
1
|
22.19
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-20T17:29:44Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made AstroPage - student platform based on edupage. Milions of students are using edupage for their education but some things are a real pain, like calculating your grades if you have many, or forgeting to sign up for lunch and beeing hungry, or making some reaaaaally boring homework. AstraPage doesn’t want to replace Edupage, it only gives you features that are missing in classical Edupage. You can sign in with your edupage credentials and your school’s custom subdomain (the string before .edupage.org.). AstroPage is never storing your password - it sends login to edupage login endpoint and receives JWT session cookie that it uses to further communicate with edupage api. The biggest cheallanges were actually using the api and trying to get stuff from it that is not in their documentation. This took long hours in jupiter notebook of trial and error. I am proud of this whole project, mostly of the good industry standard dev practices like CICD, encriptions, pre-loading etc… For now, I disabled the let AI make my homework because I am too scared of having a security flaw and getting 20k ai bill when I wake up. For the quality of life improvement I present this: You can calculate your grades inside of this app - sandbox - remove/add grades - full controll. You can sign up for lunch prior a few weeks so you will no longer be forgeting to sign up. Let AI make my homework button for all homework because some if it is really boring. Could you live without it? Yes. Is it a QoL? Also yes.", "repo": "https://github.com/kristiansiska311-ship-it/AstroPage", "demo": "https://astropage.onboard.academy"}]...
|
[{"post_id": 16922, "ts": "202 [{"post_id": 16922, "ts": "2026-06-27T14:14:22Z", "hours": 1.1903, "text": "I had to do a qucik css rework. It got and upgrade. The design now is way more interesting."}, {"post_id": 12634, "ts": "2026-06-20T17:09:08Z", "hours": 1.4478, "text": "I added a phone responsive design, configured and deployed the app on my home RaspberryPi server with CICD working pipeline and all encryption. It was my first time configuring CICD. Wakatime didn’t track my time spent on github and ssh connection on my server ;(. I believe, this is a final step to this project. I learned many things. CI/DC, caching, improved at system design, docker, react, python, learned how useful Jupiter Notebook can be, using cloudflare on higher level. Projects like this are actually helping me become better software engenier."}, {"post_id": 12531, "ts": "2026-06-20T13:48:51Z", "hours": 7.9678, "text": "HELLO. Today I woke up half sick so my parents did not force me to help around the household. Soo I decided that it is time to bring this project one step closer to the end. What changed? Many things changed. There were many thing added in the latest update but 50% of them were not working. AI is good coding assistant but it can’t do magic and you need to write the important stuff yourself or it won’t work. I will start with the homework: When opening homework, you could see only like last 12-16 homework due to the method how it was requested. That changed and now you can see all of the homework since the start of the school year. Added actual “let ai make my homework” functionality. Now, it sends the whole homework with its attachments to gemini with your user specific prompt and shows what gemini returns. It needs some work on it to work 100% but the functionality is there. Next tab: Timetable. Claude gave a pretty good draft for the timetable but 50% of it was missing so I had to manually test the edupage api in my PoC scripts to see the exact output. It took pretty long to get familiar with the api but I managed to make it work. Then I implemented that solution to my app backend. I found a featrue that returns all the missing teachers and substitution for the whole school so I combined this with the schedule - it shows you canceled classes etc… The grades tab hasn’t changed that much beacause it was already working pretty good. Canteen tab: Canteen tab received a big upgrade. I have not talked about it in my devlogs that much but it has really improved. You can see all lunches and menus that that are available in your school canteen. - This was an issue since it worked only half of the time. The debugging process was the same - PoC scripts to test the edupage api and then implementing the solution to the actual app. You can sign in and sign out of lunches and I added auto order feature because sometimes I was forgetting to sign up for lunch. The signing up prior had also not been working for a while and I managed to fix it with the same looong steps of making a poc, talking to api and implementing working solution. Big feature was english/slovak page translation, since I am from Slovakia I made Slovak translation my priority. I learned how to make multilingual pages thanks to this project. But the main features are the ones that people don’t see. I added a caching system, TTL system for data and pre-loading system - When user logs in, app sends all the reqests - grades, canteen, timetable, homework - so when user goes to some tab, the data is already half there and when he switches tabs again, the data doesn’t dissapear. This is a huge UX improvement. It was implemented before but only to grades page and there was no TTL for it so it could get old and misleading. For the sake of UX reload buttons were added so user can manually reload data. Next steps: Hardening, Polishing, Adding better AI support and finally publishing and shipping my project. I feel like I am close to making this really work. Thank you for reading."}, {"post_id": 11237, "ts": "2026-06-18T11:54:24Z", "hours": 5.6511, "text": "Today I was presenting this project at school so I make a presentation branch where I removed all 50% working pages - I was left with the grade calculator. I think it is a great tool because trying to calculate your grades on some more complicated subject can be pain. This grade calculator changes the expirience. Also The whole project had a redesign into this darker more cool theme than the AI slop one. I really like how the page is looking right now. Added: Grade calculator tab Timetable tab - still working on, my api has some request issues for some days. It is weird and I am trying to fix it. Canteen - the school canteen menu and function to sign up week prior - still working on. And dashboard is getting a full redesign."}, {"post_id": 8719, "ts": "2026-06-14T14:16:02Z", "hours": 2.9397, "text": "Soooo. Just finished the tabs. 1. Home - where some basic overview will be. Now, it is only filled with mock data but I am connecting it with backend in the next step. 2. Homework - tab, where students can track their homework - possible, make AI do it for them. The data is connected to backend and is currently working. I am going to implement some best practices such as pre-loading the data once the student logs in so the transition is seamless. 3. page - Canteen - page where students will have better information about their food, food pricing, how does the food look like and such. Edupage has no feature to sign automaticly like 4 weeks prior and sometimes I forgot to sign up for lunch and I am hungry so it is a nice feature to have. ;)"}, {"post_id": 7361, "ts": "2026-06-12T08:28:32Z", "hours": 2.7922, "text": "AstroPage - portal for students using EduPage that will make their student lives easier. This is just vibecoded ui in react. More complex design will be done when the whole project will be working as expected. Now, I am focusing on the backend, security, user privacy and overall system design. I have come to a milestone where the login page works as expected, students can login via their edupage credentials - the passwords are not stored anywhere, the server calls edupage api and tries to log in with it, when sucesfull, only the session is handed to the app so users have maximum privacy. I built the project on my foundations: Fast API skeleton repo, where I have all the setup for my fast api aplications so I am not always building from zero. I am really exited about this project. It will be a life changer for people using edupage. If you have any feature ideas, you can share them with me."}]...
|
Title: AstroPage by @kristiansiska | Stardance
De Title: AstroPage by @kristiansiska | Stardance
Devlogs:
AstroPage - portal for students using EduPage that will make their student lives easier. This is just vibecoded ui in react. More complex design will be done when the whole project will be working as expected. Now, I am focusing on the backend, security, user privacy and overall system design. I have come to a milestone where the login page works as expected, students can login via their edupage credentials - the passwords are not stored anywhere, the server calls edupage api and tries to log in with it, when sucesfull, only the session is handed to the app so users have maximum privacy. I built the project on my foundations: Fast API skeleton repo, where I have all the setup for my fast api aplications so I am not always building from zero. I am really exited about this project. It will be a life changer for people using edupage. If you have any feature ideas, you can share them with me.
Soooo. Just finished the tabs. 1. Home - where some basic overview will be. Now, it is only filled with mock data but I am connecting it with backend in the next step. 2. Homework - tab, where students can track their homework - possible, make AI do it for them. The data is connected to backend and is currently working. I am going to implement some best practices such as pre-loading the data once the student logs in so the transition is seamless. 3. page - Canteen - page where students will have better information about their food, food pricing, how does the food look like and such. Edupage has no feature to sign automaticly like 4 weeks prior and sometimes I forgot to sign up for lunch and I am hungry so it is a nice feature to have. ;)
Today I was presenting this project at school so I make a presentation branch where I removed all 50% working pages - I was left with the grade calculator. I think it is a great tool because trying to calculate your grades on some more complicated subject can be pain. This grade calculator changes the expirience. Also The whole project had a redesign into this darker more cool theme than the AI slop one. I really like how the page is looking right now. Added: Grade calculator tab Timetable tab - still working on, my api has some request issues for some days. It is weird and I am trying to fix it. Canteen - the school canteen menu and function to sign up week prior - still working on. And dashboard is getting a full redesign.
HELLO. Today I woke up half sick so my parents did not force me to help around the household. Soo I decided that it is time to bring this project one step closer to the end. What changed? Many things changed. There were many thing added in the latest update but 50% of them were not working. AI is good coding assistant but it can’t do magic and you need to write the important stuff yourself or it won’t work. I will start with the homework: When opening homework, you could see only like last 12-16 homework due to the method how it was requested. That changed and now you can see all of the homework since the start of the school year. Added actual “let ai make my homework” functionality. Now, it sends the whole homework with its attachments to gemini with your user specific prompt and shows what gemini returns. It needs some work on it to work 100% but the functionality is there. Next tab: Timetable. Claude gave a pretty good draft for the timetable but 50% of it was missing so I had to manually test the edupage api in my PoC scripts to see the exact output. It took pretty long to get familiar with the api but I managed to make it work. Then I implemented that solution to my app backend. I found a featrue that returns all the missing teachers and substitution for the whole school so I combined this with the schedule - it shows you canceled classes etc… The grades tab hasn’t changed that much beacause it was already working pretty good. Canteen tab: Canteen tab received a big upgrade. I have not talked about it in my devlogs that much but it has really improved. You can see all lunches and menus that that are available in your school canteen. - This was an issue since it worked only half of the time. The debugging process was the same - PoC scripts to test the edupage api and then implementing the solution to the actual app. You can sign in and sign out of lunches and I added auto order feature because sometimes I was forgetting to sign up for lunch. The signing up prior had also not been working for a while and I managed to fix it with the same looong steps of making a poc, talking to api and implementing working solution. Big feature was english/slovak page translation, since I am from Slovakia I made Slovak translation my priority. I learned how to make multilingual pages thanks to this project. But the main features are the ones that people don’t see. I added a caching system, TTL system for data and pre-loading system - When user logs in, app sends all the reqests - grades, canteen, timetable, homework - so when user goes to some tab, the data is already half there and when he switches tabs again, the data doesn’t dissapear. This is a huge UX improvement. It was implemented before but only to grades page and there was no TTL for it so it could get old and misleading. For the sake of UX reload buttons were added so user can manually reload data. Next steps: Hardening, Polishing, Adding better AI support and finally publishing and shipping my project. I feel like I am close to making this really work. Thank you for reading.
I added a phone responsive design, configured and deployed the app on my home RaspberryPi server with CICD working pipeline and all encryption. It was my first time configuring CICD. Wakatime didn’t track my time spent on github and ssh connection on my server ;(. I believe, this is a final step to this project. I learned many things. CI/DC, caching, improved at system design, docker, react, python, learned how useful Jupiter Notebook can be, using cloudflare on higher level. Projects like this are actually helping me become better software engenier.
I had to do a qucik css rework. It got and upgrade. The design now is way more interesting.
Ships:
I made AstroPage - student platform based on edupage. Milions of students are using edupage for their education but some things are a real pain, like calculating your grades if you have many, or forgeting to sign up for lunch and beeing hungry, or making some reaaaaally boring homework. AstraPage doesn’t want to replace Edupage, it only gives you features that are missing in classical Edupage. You can sign in with your edupage credentials and your school’s custom subdomain (the string before .edupage.org.). AstroPage is never storing your password - it sends login to edupage login endpoint and receives JWT session cookie that it uses to further communicate with edupage api. The biggest cheallanges were actually using the api and trying to get stuff from it that is not in their documentation. This took long hours in jupiter notebook of trial and error. I am proud of this whole project, mostly of the good industry standard dev practices like CICD, encriptions, pre-loading etc… For now, I disabled the let AI make my homework because I am too scared of having a security flaw and getting 20k ai bill when I wake up. For the quality of life improvement I present this: You can calculate your grades inside of this app - sandbox - remove/add grades - full controll. You can sign up for lunch prior a few weeks so you will no longer be forgeting to sign up. Let AI make my homework button for all homework because some if it is really boring. Could you live without it? Yes. Is it a QoL? Also yes....
|
1792997672.4479892
|
1793084072.4479892
|
|
36795
|
Motivation Slack Bot! by @HenryBrewer | Stardance
|
HenryBrewer
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T22:32:27Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a slack bot, /halden, that sends you a motivational picture of an animal every X minutes! (The photos are super cute!). It is so motivating!!! It was very challenging parsing the images so they displayed, not just as a url! Very proud I got it to work good enough and that the random send, would send a random dog/fox/cat, not just a dog! Very easy to test it, just invite it to a slack channel and send it, the messages are also private to you! (not everyone is a fan of animals!). GET MOTIVATED!!!", "repo": "https://github.com/henrybrewer00-dotcom/Halden-Slack-Bot/", "demo": "https://hackclub.enterprise.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 30925, "ts": "202 [{"post_id": 30925, "ts": "2026-07-18T22:21:00Z", "hours": 1.1367, "text": "Hi! Finally got the motivation every minute!!! And made it a random photo (not just a dog). This acc took me a decent amount of time….But its amazing!!! how is there anything more motivating?"}, {"post_id": 30583, "ts": "2026-07-18T08:55:53Z", "hours": 1.1425, "text": "Finished the MVP, it works great! Got some pretty great photos!"}]...
|
Title: Motivation Slack Bot! by @HenryBrewer | Sta Title: Motivation Slack Bot! by @HenryBrewer | Stardance
Devlogs:
Finished the MVP, it works great! Got some pretty great photos!
Hi! Finally got the motivation every minute!!! And made it a random photo (not just a dog). This acc took me a decent amount of time….But its amazing!!! how is there anything more motivating?
Ships:
I made a slack bot, /halden, that sends you a motivational picture of an animal every X minutes! (The photos are super cute!). It is so motivating!!! It was very challenging parsing the images so they displayed, not just as a url! Very proud I got it to work good enough and that the random send, would send a random dog/fox/cat, not just a dog! Very easy to test it, just invite it to a slack channel and send it, the messages are also private to you! (not everyone is a fan of animals!). GET MOTIVATED!!!...
|
1792997671.3517544
|
1793084071.3517544
|
|
32645
|
Calculator by @Pery | Stardance
|
Pery
|
2
|
2.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T21:19:00Z", "hours": 1.0, "multiplier": 1.04, "payout": 1, "blessing": "neutral", "text": "Update is up to date! feel free to check it out!!", "repo": "https://github.com/davidperyro-stack/calculator", "demo": "https://davidperyro-stack.github.io/calculator/"}, {"ship_num": 2, "ts": "2026-07-10T11:31:34Z", "hours": 1.0, "multiplier": 1.25, "payout": 1, "blessing": "neutral", "text": "Project finally done! tbh it was harder than the personal site project qwq. at least i finished it! (In the photo is the calculator that did 1+1)", "repo": "https://github.com/davidperyro-stack/calculator", "demo": "https://davidperyro-stack.github.io/calculator/"}]...
|
[{"post_id": 39718, "ts": "202 [{"post_id": 39718, "ts": "2026-08-02T21:07:43Z", "hours": 0.2917, "text": "devlog 2.3# Update is finally done, added some random quotes perfect for this project (math stuff and one random,you will see it and its true.) the quotes changes when you refresh,also added a counter everytime you click on blahaj."}, {"post_id": 39694, "ts": "2026-08-02T20:36:10Z", "hours": 0.3525, "text": "devlog 2.2# Fixed the site layout (ALMOST removing the scroll bar when the zoom is at 100%). the incounter i was in that the calculator went STRAIGHT TO LEFT. fixed that tho, and moved the blahaj on the center right side so NO MORE SCROLLL BARRR YAYY. (also copy pasted the background from my other projects :P)"}, {"post_id": 37276, "ts": "2026-07-29T21:22:48Z", "hours": 0.3392, "text": "devlog 1.2: ive heard yall reviews and now im improving… already made the design a little beautiful. added AC and DEL button (AC to delete everything and DEL to delete one thing). My plan now is to: -improve README -add keyboard support -and probally making the design more beautiful if i can"}, {"post_id": 25884, "ts": "2026-07-10T11:29:42Z", "hours": 0.3128, "text": "spinning blahaj"}, {"post_id": 25863, "ts": "2026-07-10T10:48:31Z", "hours": 0.2717, "text": "added my personal site! (i will add this calculator on projects too) (im about to add spinning blahaj cuz why not)"}, {"post_id": 25849, "ts": "2026-07-10T10:23:39Z", "hours": 0.5939, "text": "purple calculator"}]...
|
Title: Calculator by @Pery | Stardance
Devlogs:
p Title: Calculator by @Pery | Stardance
Devlogs:
purple calculator
added my personal site! (i will add this calculator on projects too) (im about to add spinning blahaj cuz why not)
spinning blahaj
devlog 1.2: ive heard yall reviews and now im improving… already made the design a little beautiful. added AC and DEL button (AC to delete everything and DEL to delete one thing). My plan now is to: -improve README -add keyboard support -and probally making the design more beautiful if i can
devlog 2.2# Fixed the site layout (ALMOST removing the scroll bar when the zoom is at 100%). the incounter i was in that the calculator went STRAIGHT TO LEFT. fixed that tho, and moved the blahaj on the center right side so NO MORE SCROLLL BARRR YAYY. (also copy pasted the background from my other projects :P)
devlog 2.3# Update is finally done, added some random quotes perfect for this project (math stuff and one random,you will see it and its true.) the quotes changes when you refresh,also added a counter everytime you click on blahaj.
Ships:
Project finally done! tbh it was harder than the personal site project qwq. at least i finished it! (In the photo is the calculator that did 1+1)
Update is up to date! feel free to check it out!!...
|
1792997670.171503
|
1793084070.171503
|
|
7618
|
AI Model by @Neerav | Stardance
|
Neerav
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T17:11:34Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an Ai model for people to be able to complete their daily tasks with less time. Syrox AI can help with school work like math homework and other stuff. The thing that was challenging for me was to decide what type of UI did I want for Syrox AI.", "repo": "https://github.com/Syrox-1x/Syrox-Ai", "demo": "https://syroxai-sidrq8ge.manus.space"}]...
|
[{"post_id": 18466, "ts": "202 [{"post_id": 18466, "ts": "2026-06-29T17:05:52Z", "hours": 0.4992, "text": "Just Updated Syrox Ai to be able to log into an account. Because to be able to save chats people need to be logged into an account."}, {"post_id": 14549, "ts": "2026-06-23T18:22:49Z", "hours": 0.45, "text": "Syrox Ai"}]...
|
Title: AI Model by @Neerav | Stardance
Devlogs:
S Title: AI Model by @Neerav | Stardance
Devlogs:
Syrox Ai
Just Updated Syrox Ai to be able to log into an account. Because to be able to save chats people need to be logged into an account.
Ships:
I made an Ai model for people to be able to complete their daily tasks with less time. Syrox AI can help with school work like math homework and other stuff. The thing that was challenging for me was to decide what type of UI did I want for Syrox AI....
|
1792997669.2772124
|
1793084069.2772124
|
|
662
|
Network Suite by @Argentrhino | Stardance
|
Argentrhino
|
2
|
6.0
|
16
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T00:49:24Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a terminal‑based network monitoring tool built with Python and Textual. It scans the local network, shows active devices, logs online/offline events, and provides commands like /ping, /scan, and /log for deeper inspection. The challenging parts were getting async tasks to run without freezing the UI and making the status bar behave correctly while multiple workers update it. I am proud of how the project behaves correctly across the different platforms, running through the binary EXE and the downloaded source code. If running the EXE, logs are stored in: %APPDATA%\\NetworkSuite\\history.json If running from source, logs are stored in: ./data/history.json Before running the project from source, you must install the dependencies: pip install -r dependencies.txt Then you can run: python tui.py The app requires Python 3.10+ if running from source. Please look at README.md for more details on the different commands and their functions.", "repo": "https://github.com/Argentrhino/network-suite", "demo": "https://github.com/Argentrhino/network-suite/blob/main/Network%20Suite.exe"}, {"ship_num": 2, "ts": "2026-06-01T08:37:34Z", "hours": 2.0, "multiplier": 7.23, "payout": 16, "blessing": "neutral", "text": "I built a terminal‑based network scanner that lists the devices connected to your LAN using ARP, mDNS, vendor lookup, hostname resolution, ping stats, and multi‑mode port scanning. The hardest part was getting all the networking features to run smoothly without freezing the UI with all the components in the code. I’m proud that it feels like a real tool because it is fast and functions well. To test it, just install Python, run pip install -r dependencies.txt, then start it with python tui.py and try commands like /scan or /ping.", "repo": "https://github.com/Argentrhino/network-suite", "demo": "https://github.com/Argentrhino/network-suite/blob/main/Network%20Suite.exe"}]...
|
[{"post_id": 23185, "ts": "202 [{"post_id": 23185, "ts": "2026-07-06T00:33:27Z", "hours": 1.4156, "text": "Added a logging feature so that it now logs to a history.json in appdata for the exe, and it logs to history.json in the repository folder if the source code is downloaded and run."}, {"post_id": 1971, "ts": "2026-06-04T07:10:19Z", "hours": 1.2478, "text": "I added a customisable auto-refresh interval and made the status bar show a corresponding message. I also updated the readme. As I am not very familiar with git, I used an incorrect command at some point and broke my project when syncing. Then restored it back to a known good point and implemented that update again."}, {"post_id": 749, "ts": "2026-06-02T11:46:06Z", "hours": 1.2697, "text": "Cross-platform support! MacOS and Linux support is now live. I added OS detection to the scanner so it switches seamlessly between Windows, macOS and Linux. The hardest part was handling the OS differences as they each use different commands and formatting. After a couple rounds of debugging, I have verified that the utility works on macOS in addition to Windows, but Linux still needs proper testing."}, {"post_id": 227, "ts": "2026-06-01T10:36:57Z", "hours": 0.275, "text": "Compiled an EXE of the code as is, published on my repository. Much easier than downloading the python files to set up - just download the EXE and open!"}, {"post_id": 206, "ts": "2026-06-01T08:23:56Z", "hours": 0.4939, "text": "Added a detailed README which will include setup for the packaged exe version when I release it."}, {"post_id": 194, "ts": "2026-06-01T07:05:37Z", "hours": 1.8508, "text": "Changed from IMCP ping sweep to arp first hybrid scanning and added TCP and UDP port databases to show port names/functions when scanning. I couldn’t stand the way the UI blocked when it was scanning. I thought it was caused by the scan being too slow so I changed to parallel scanning. After an hour of wrestling with the code and many errors later it still didn’t work as I thought it was fixed by getting the scan done faster. Then found out that I had to put scanning in a background thread and this finally allowed the UI to be responsive during scanning."}]...
|
Title: Network Suite by @Argentrhino | Stardance
Title: Network Suite by @Argentrhino | Stardance
Devlogs:
Changed from IMCP ping sweep to arp first hybrid scanning and added TCP and UDP port databases to show port names/functions when scanning. I couldn’t stand the way the UI blocked when it was scanning. I thought it was caused by the scan being too slow so I changed to parallel scanning. After an hour of wrestling with the code and many errors later it still didn’t work as I thought it was fixed by getting the scan done faster. Then found out that I had to put scanning in a background thread and this finally allowed the UI to be responsive during scanning.
Added a detailed README which will include setup for the packaged exe version when I release it.
Compiled an EXE of the code as is, published on my repository. Much easier than downloading the python files to set up - just download the EXE and open!
Cross-platform support! MacOS and Linux support is now live. I added OS detection to the scanner so it switches seamlessly between Windows, macOS and Linux. The hardest part was handling the OS differences as they each use different commands and formatting. After a couple rounds of debugging, I have verified that the utility works on macOS in addition to Windows, but Linux still needs proper testing.
I added a customisable auto-refresh interval and made the status bar show a corresponding message. I also updated the readme. As I am not very familiar with git, I used an incorrect command at some point and broke my project when syncing. Then restored it back to a known good point and implemented that update again.
Added a logging feature so that it now logs to a history.json in appdata for the exe, and it logs to history.json in the repository folder if the source code is downloaded and run.
Ships:
I built a terminal‑based network scanner that lists the devices connected to your LAN using ARP, mDNS, vendor lookup, hostname resolution, ping stats, and multi‑mode port scanning. The hardest part was getting all the networking features to run smoothly without freezing the UI with all the components in the code. I’m proud that it feels like a real tool because it is fast and functions well. To test it, just install Python, run pip install -r dependencies.txt, then start it with python tui.py and try commands like /scan or /ping.
I made a terminal‑based network monitoring tool built with Python and Textual. It scans the local network, shows active devices, logs online/offline events, and provides commands like /ping, /scan, and /log for deeper inspection. The challenging parts were getting async tasks to run without freezing the UI and making the status bar behave correctly while multiple workers update it. I am proud of how the project behaves correctly across the different platforms, running through the binary EXE and the downloaded source code. If running the EXE, logs are stored in: %APPDATA%\NetworkSuite\history.json If running from source, logs are stored in: ./data/history.json Before running the project from source, you must install the dependencies: pip install -r dependencies.txt Then you can run: python tui.py The app requires Python 3.10+ if running from source. Please look at README.md for more details on the different commands and their functions....
|
1792997668.1322467
|
1793084068.1322467
|
|
30119
|
Site-Slap by @Ziyaad | Stardance
|
Ziyaad
|
1
|
7.0
|
116
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T19:40:56Z", "hours": 7.0, "multiplier": 17.93, "payout": 116, "blessing": "neutral", "text": "Shipped: Site Slap Paste a URL. Get a score out of 100. Get roasted. Site Slap is an AI design critic. It screenshots any live website, shows it to a vision model, and judges the visual design the way a person with taste would. No SEO metrics, no performance audit. You get a score, a one-sentence verdict, three specific roasts, and three fixes that would actually move the number. Then the part I’m proudest of: hit View Upgraded and a draggable, mac-style popup opens with your site rebuilt, fixes applied, rendered live inside a sandboxed iframe. Both versions start generating in the background while you’re still reading your roast, so the popup usually opens already loaded. Minor upgrade or full redesign, your choice. The whole app ships in three skins: basic, decent, and fire. Same tool, three levels of design effort. Fire is the one worth seeing, with an aurora hero built in pure CSS, snap scrolling, and a score that counts up. The skin switcher is a live demonstration of what the scoring scale actually means. The technicals, briefly: Next.js and TypeScript on Vercel. Microlink handles screenshots, so there is no headless browser to babysit. Groq’s Llama 4 Scout does the judging for free, and Claude Haiku writes the upgraded site as a single self-contained HTML file, about three cents per render with a daily cap. The generated pages contain no JavaScript, and the iframe’s empty sandbox attribute makes sure none could run regardless. The scoring is deliberately harsh. Minimal is not the same as designed, and blank is not the same as clean. Go slap your own site before someone else does: https://site-slap-topaz.vercel.app", "repo": "https://github.com/Zrk16/site-slap", "demo": "https://site-slap-topaz.vercel.app/"}]...
|
[{"post_id": 23660, "ts": "202 [{"post_id": 23660, "ts": "2026-07-06T19:28:52Z", "hours": 0.8058, "text": "Site Slap Devlog #5 (it ships today) TL;DR the popup got its brain: it renders your actual upgraded site now, written by Claude Haiku, shown in a sandboxed iframe went through three ai models to kill the slop. the free ones couldn’t write html final polish landed: tab name, hand favicon, pulsing dots pulling people to the better skins found out the site was invisible to everyone except me. fixed an hour before shipping site slap is live. link at the bottom. go get roasted. the upgrade renderer the moment your slap result lands, two requests fire in the background, one per tier. by the time you scroll down and hit view upgraded, the redesign is already sitting there. Claude Haiku gets the screenshot plus the fixes and writes your site back as one self-contained html file. no javascript allowed, and the iframe’s empty sandbox attribute makes sure it wouldn’t matter anyway. prompts are requests. sandboxes are enforcement. the roasts still run free on groq. scoring doesn’t need the muscle, writing html does. about three cents per render, daily capped so a viral day costs me a dollar and not my whole balance. three models and a thumbnail trick groq’s scout wrote the first upgrades. overlapping headlines, floating color blocks. i gave it a page of design rules. still slop. maverick was better and slower. haiku ended the argument. the other half of “broken” renders was my fault: the model writes desktop css and i was rendering it in a 670px frame. now the iframe is actually 1280px wide and a css transform scales it to 52%, like a thumbnail. layout at real size, display at small size. best bug of the week: one render had perfect nav links next to three giant ugly buttons. turns out buttons don’t inherit fonts. browsers give buttons their own default font unless you write button { font: inherit } . that reset is now a mandatory line the model must paste, not a rule it might remember. the launch blocker nobody saw an hour before shipping, i checked the live url from outside my account. login page. vercel’s deployment protection was walling everything, production included. i’d been looking at my site logged in for days, seeing it fine, while every public url served a vercel login screen. the site worked perfectly and nobody on earth could see it. one setting flipped, one clean domain added, and then a real test from the outside: curl the live api, no cookies, no login. example.com came back with a 40 and “barely functional, utterly forgettable.” the renderer returned real html with the viewport meta exactly where the prompt demands it. green across the board. you and the public do not see the same internet. test logged out. thank you this project went from “paste a url, get roasted” scribbled in a chat to a three-skin app with an ai design critic and a popup that redesigns your site in front of you. five devlogs, three dead heroes, two ai providers, one rem/em bug i will never make again. thanks to Hack Club and Stardance for the reason to ship instead of endlessly polish. thanks to everyone who read these devlogs and watched the thing grow. and thanks to arngren.net for being the calibration anchor no prompt could do without. it ships. Tip of the Day open your deployed site in an incognito window before you share it anywhere. logged-in you and the public are two different visitors, and only one of them matters on launch day. 🖐️ go slap your site https://site-slap-topaz.vercel.app"}, {"post_id": 23493, "ts": "2026-07-06T14:51:20Z", "hours": 1.4147, "text": "Site Slap Devlog #4 (pasted it twice, rendered it never) TL;DR fire skin got its upgrade wave: cinematic slow timing, snap scrolling between full-height panels, three tabs replaced by one pulsing button, and a draggable popup window the popup drags at 60fps because React never hears about it. position lives in a ref and writes straight to the dom my paste of the popup duplicated 12 lines of jsx, and the line that actually renders it never existed. the button flipped state into the void next: the popup stops showing a fix list and starts showing your actual upgraded site the upgrade wave four changes in one session. the window expands first, then the text rises in. everything slowed to about half its old speed, long delays between each element, so switching to fire feels like a scene opening instead of ui popping in. the page now snap-scrolls between full-height panels: hero, score, screenshot, roast, fixes. one flick per section. the og / quick fix / full fix tabs are gone from fire. in their place, one button at the end of the fixes that pulses a sonar ring and says view upgraded. the floating window clicking it opens what looks like another mac window. traffic lights, a title bar, and the red dot actually closes it. you can grab the title bar and drag it anywhere on screen. inside: your current score for contrast, the upgraded score in the big serif, and a minor / full toggle that swaps both the number and the fix list. it works. what i learned dragging with react state is a trap. pointermove fires around 60 times a second, and putting the position in state would re-render the whole component on every single event. instead the position lives in a ref. pointerdown records where you grabbed and where the window already was. pointermove computes the offset and writes style.transform directly onto the dom node. React never re-renders during the drag, so it stays smooth. the other half is setPointerCapture . without it, dragging fast outruns the title bar, the cursor leaves the element, and the window gets dropped mid-drag. capture pins every pointer event to the bar until you let go. also learned the dumb way that pasting a component in is not the same as shipping it. my paste duplicated a 12 line block of jsx, and i never added the line that renders the window when the state flips. state going true means nothing if nothing reads it. what’s next the popup body swaps the fix list for the upgraded site itself. Groq’s vision model looks at the screenshot plus the fixes and writes a new version of the page as one self-contained html file, rendered inside a sandboxed iframe both upgrade tiers start generating in the background the moment the slap result lands, so the popup opens already loaded push it, then check the Vercel deploy Tip of the Day if a button does nothing, check whether the thing it opens is ever rendered. flipping state to true is only half the job. something has to read that state and put pixels on screen."}, {"post_id": 23229, "ts": "2026-07-06T01:42:04Z", "hours": 1.9244, "text": "Site Slap Devlog #3 (the hero that died twice before it shipped) TL;DR fire skin is done. the third and final tier, dark cinematic, animated aurora hero in pure css the original plan was an ai-generated image hero, then an ai video. both died. the final version uses zero assets three motion moments: staggered word reveal on load, score count-up, roast lines fading in on scroll one bug in the results css: rem where em should be. the “/100” rendered at 4 pixels tall the plan kept dying fire was supposed to have a generated image hero. i made the image, it came out painterly instead of real, i liked it anyway. then i tried animating it into a looping video. the videos came out static, then the download button stopped working, and my credits were almost gone. so i dropped the whole thing. the replacement is an aurora effect built entirely in css. no image, no video, no library, nothing to download. rose, amber and teal glows drifting over near-black. it loads instantly and it can’t break. how the aurora works two repeating linear gradients stacked on one div. the first paints thin diagonal stripes of rose, amber and teal. the second paints stripes of the background color on top, so it cuts gaps into the first one. then filter: blur(42px) melts the stripes into soft bands of light. the movement is one keyframe. the background is sized at 300% width, and background-position slides from 50% to 350% over 26 seconds on a loop. the stripes drift sideways like slow northern lights. that’s the entire trick, one animated property, gpu-composited, no jank. the motion the headline is five words, each wrapped in its own span with a staggered animation-delay. they rise 28px and fade in one after another on load. when results land, the page auto-scrolls down and the score counts up from 0 with a requestAnimationFrame loop and a cubic ease-out, so it sprints early and settles slow. the roast and fix lines start invisible. an IntersectionObserver adds a class when each one enters the viewport, staggered 80ms apart. it works. what i learned em and rem are not interchangeable, and the difference is exactly one letter. the giant score is clamped up to 168px. next to it, “/100” is sized at 0.28em, which means 28% of the parent’s font size, so it scales with the score. i typed 0.28rem instead. rem means 28% of the root font size, 16px. so “/100” rendered at about 4.5 pixels. invisible. em looks at the parent. rem looks at the page. one letter, 40 pixel difference. also, prefers-reduced-motion has a trap. if you just set animation: none on elements that start at opacity 0, they stay at opacity 0 forever. the media query has to force opacity: 1 back on, or reduced-motion users get a blank page. Tip of the Day if your css animation “isn’t working”, check whether it already finished. a mount animation runs once in the first second. if you looked away, you missed it, and the end state looks identical to no animation at all."}, {"post_id": 21879, "ts": "2026-07-04T01:45:00Z", "hours": 1.2911, "text": "Site Slap Devlog #2 (it looks like a real app now) TL;DR wrapped the whole thing in a mac-style browser window with traffic lights and a skin switcher screenshot buffer so microlink waits for the site to actually finish loading skeleton loaders so the ui doesn’t just sit there looking dead the window the app had no personality before. it was just a black page with a text input. it worked but it felt like a prototype. now the whole thing lives inside a browser-window shell. dark title bar, red yellow green traffic lights top-left, three tabs across the top, basic, decent, fire. those tabs are the skin switcher. click one and the content inside the window changes completely. only basic is wired up right now. decent and fire both say “coming soon.” but the chrome is done, it’s consistent, and it holds everything together. the screenshot buffer microlink was taking the screenshot too early. some sites load fast enough, but anything with javascript rendering would come out half-built. spinners, blank sections, layouts that hadn’t collapsed yet. added waitFor=2500 to the microlink request. it waits 2.5 seconds after the page loads before grabbing the screenshot. costs a bit of latency but the results are actually what the site looks like. skeleton loaders while the slap is processing there’s nothing to show. before this it was just a blank area and a button that said “slapping…” you had no idea if it was working. now there are ghost blocks that pulse while it loads. one tall block for where the screenshot will be, then smaller ones for the score, verdict, roast, and fixes. the layout mirrors the real result so when it drops in it doesn’t feel like a jump cut. it works. what i learned the shimmer animation is simpler than it looks. it’s one div with a gradient that’s twice the width of the element. background-size: 200% 100% stretches the gradient out. then an animation shifts background-position from 200% 0 to -200% 0 , which sweeps the lighter middle band across the div left to right. no javascript. no opacity toggle. just a moving gradient. the whole thing is one css keyframe and four lines of inline style. what’s next decent skin and fire skin. the chrome is ready. decent is a clean modern redesign of the same tool, same data, different presentation. fire is the stardance premium version with motion. that one needs real thought before any code gets written. Tip of the Day screenshot your site at 375px width before you ship anything. most people will see it on a phone first. if it breaks there, nothing else matters."}, {"post_id": 21529, "ts": "2026-07-03T15:28:19Z", "hours": 1.3783, "text": "Site Slap Devlog #1 V0 (the ai gave arngren.net a 42) TL;DR built the full backend: screenshot, vision model, score + roast + fixes wired it to a live ui and deployed on Vercel tuned the prompt the idea paste a url. get a score. get roasted. that’s the whole thing. no seo metrics, no performance audit. just a vision model looking at your site the way a person would, and being honest about it. how the backend works three steps, one route. first, microlink takes a screenshot of the live site. it’s a simple GET request, no chromium to manage, no headless browser on the server. just a url in, a screenshot url back. then that screenshot url goes straight to Groq’s vision model, llama 4 scout. it sees what the site actually looks like, not the html. the prompt tells it to score on visual vibe only, and return raw JSON with a score, a verdict, a roast, and three fixes. then /api/slap hands that JSON back to the client. it works. the markdown fence bug linear.app broke it on the first test. Groq decided to wrap the JSON in a code block even though the prompt said not to. one line fix: strip the fences before parsing. linear scored fine after that. what i learned the model is too generous by default. arngren.net is one of the most visually chaotic sites on the internet. it got a 42. that’s “meh” territory. the prompt said “0-30 is painful” but the model hedged toward the middle anyway. turns out you have to anchor the scale with specific examples and tell it to actually use the low end. added “arngren.net level” next to the 0-15 range and “be harsh when it’s bad” as a direct instruction. scores tightened up. the prompt is the model’s personality. treat it like code. Tip of the Day go slap your own site before someone else does. you already know what’s wrong with it."}]...
|
Title: Site-Slap by @Ziyaad | Stardance
Devlogs:
Title: Site-Slap by @Ziyaad | Stardance
Devlogs:
Site Slap Devlog #1 V0 (the ai gave arngren.net a 42) TL;DR built the full backend: screenshot, vision model, score + roast + fixes wired it to a live ui and deployed on Vercel tuned the prompt the idea paste a url. get a score. get roasted. that’s the whole thing. no seo metrics, no performance audit. just a vision model looking at your site the way a person would, and being honest about it. how the backend works three steps, one route. first, microlink takes a screenshot of the live site. it’s a simple GET request, no chromium to manage, no headless browser on the server. just a url in, a screenshot url back. then that screenshot url goes straight to Groq’s vision model, llama 4 scout. it sees what the site actually looks like, not the html. the prompt tells it to score on visual vibe only, and return raw JSON with a score, a verdict, a roast, and three fixes. then /api/slap hands that JSON back to the client. it works. the markdown fence bug linear.app broke it on the first test. Groq decided to wrap the JSON in a code block even though the prompt said not to. one line fix: strip the fences before parsing. linear scored fine after that. what i learned the model is too generous by default. arngren.net is one of the most visually chaotic sites on the internet. it got a 42. that’s “meh” territory. the prompt said “0-30 is painful” but the model hedged toward the middle anyway. turns out you have to anchor the scale with specific examples and tell it to actually use the low end. added “arngren.net level” next to the 0-15 range and “be harsh when it’s bad” as a direct instruction. scores tightened up. the prompt is the model’s personality. treat it like code. Tip of the Day go slap your own site before someone else does. you already know what’s wrong with it.
Site Slap Devlog #2 (it looks like a real app now) TL;DR wrapped the whole thing in a mac-style browser window with traffic lights and a skin switcher screenshot buffer so microlink waits for the site to actually finish loading skeleton loaders so the ui doesn’t just sit there looking dead the window the app had no personality before. it was just a black page with a text input. it worked but it felt like a prototype. now the whole thing lives inside a browser-window shell. dark title bar, red yellow green traffic lights top-left, three tabs across the top, basic, decent, fire. those tabs are the skin switcher. click one and the content inside the window changes completely. only basic is wired up right now. decent and fire both say “coming soon.” but the chrome is done, it’s consistent, and it holds everything together. the screenshot buffer microlink was taking the screenshot too early. some sites load fast enough, but anything with javascript rendering would come out half-built. spinners, blank sections, layouts that hadn’t collapsed yet. added waitFor=2500 to the microlink request. it waits 2.5 seconds after the page loads before grabbing the screenshot. costs a bit of latency but the results are actually what the site looks like. skeleton loaders while the slap is processing there’s nothing to show. before this it was just a blank area and a button that said “slapping…” you had no idea if it was working. now there are ghost blocks that pulse while it loads. one tall block for where the screenshot will be, then smaller ones for the score, verdict, roast, and fixes. the layout mirrors the real result so when it drops in it doesn’t feel like a jump cut. it works. what i learned the shimmer animation is simpler than it looks. it’s one div with a gradient that’s twice the width of the element. background-size: 200% 100% stretches the gradient out. then an animation shifts background-position from 200% 0 to -200% 0 , which sweeps the lighter middle band across the div left to right. no javascript. no opacity toggle. just a moving gradient. the whole thing is one css keyframe and four lines of inline style. what’s next decent skin and fire skin. the chrome is ready. decent is a clean modern redesign of the same tool, same data, different presentation. fire is the stardance premium version with motion. that one needs real thought before any code gets written. Tip of the Day screenshot your site at 375px width before you ship anything. most people will see it on a phone first. if it breaks there, nothing else matters.
Site Slap Devlog #3 (the hero that died twice before it shipped) TL;DR fire skin is done. the third and final tier, dark cinematic, animated aurora hero in pure css the original plan was an ai-generated image hero, then an ai video. both died. the final version uses zero assets three motion moments: staggered word reveal on load, score count-up, roast lines fading in on scroll one bug in the results css: rem where em should be. the “/100” rendered at 4 pixels tall the plan kept dying fire was supposed to have a generated image hero. i made the image, it came out painterly instead of real, i liked it anyway. then i tried animating it into a looping video. the videos came out static, then the download button stopped working, and my credits were almost gone. so i dropped the whole thing. the replacement is an aurora effect built entirely in css. no image, no video, no library, nothing to download. rose, amber and teal glows drifting over near-black. it loads instantly and it can’t break. how the aurora works two repeating linear gradients stacked on one div. the first paints thin diagonal stripes of rose, amber and teal. the second paints stripes of the background color on top, so it cuts gaps into the first one. then filter: blur(42px) melts the stripes into soft bands of light. the movement is one keyframe. the background is sized at 300% width, and background-position slides from 50% to 350% over 26 seconds on a loop. the stripes drift sideways like slow northern lights. that’s the entire trick, one animated property, gpu-composited, no jank. the motion the headline is five words, each wrapped in its own span with a staggered animation-delay. they rise 28px and fade in one after another on load. when results land, the page auto-scrolls down and the score counts up from 0 with a requestAnimationFrame loop and a cubic ease-out, so it sprints early and settles slow. the roast and fix lines start invisible. an IntersectionObserver adds a class when each one enters the viewport, staggered 80ms apart. it works. what i learned em and rem are not interchangeable, and the difference is exactly one letter. the giant score is clamped up to 168px. next to it, “/100” is sized at 0.28em, which means 28% of the parent’s font size, so it scales with the score. i typed 0.28rem instead. rem means 28% of the root font size, 16px. so “/100” rendered at about 4.5 pixels. invisible. em looks at the parent. rem looks at the page. one letter, 40 pixel difference. also, prefers-reduced-motion has a trap. if you just set animation: none on elements that start at opacity 0, they stay at opacity 0 forever. the media query has to force opacity: 1 back on, or reduced-motion users get a blank page. Tip of the Day if your css animation “isn’t working”, check whether it already finished. a mount animation runs once in the first second. if you looked away, you missed it, and the end state looks identical to no animation at all.
Site Slap Devlog #4 (pasted it twice, rendered it never) TL;DR fire skin got its upgrade wave: cinematic slow timing, snap scrolling between full-height panels, three tabs replaced by one pulsing button, and a draggable popup window the popup drags at 60fps because React never hears about it. position lives in a ref and writes straight to the dom my paste of the popup duplicated 12 lines of jsx, and the line that actually renders it never existed. the button flipped state into the void next: the popup stops showing a fix list and starts showing your actual upgraded site the upgrade wave four changes in one session. the window expands first, then the text rises in. everything slowed to about half its old speed, long delays between each element, so switching to fire feels like a scene opening instead of ui popping in. the page now snap-scrolls between full-height panels: hero, score, screenshot, roast, fixes. one flick per section. the og / quick fix / full fix tabs are gone from fire. in their place, one button at the end of the fixes that pulses a sonar ring and says view upgraded. the floating window clicking it opens what looks like another mac window. traffic lights, a title bar, and the red dot actually closes it. you can grab the title bar and drag it anywhere on screen. inside: your current score for contrast, the upgraded score in the big serif, and a minor / full toggle that swaps both the number and the fix list. it works. what i learned dragging with react state is a trap. pointermove fires around 60 times a second, and putting the position in state would re-render the whole component on every single event. instead the position lives in a ref. pointerdown records where you grabbed and where the window already was. pointermove computes the offset and writes style.transform directly onto the dom node. React never re-renders during the drag, so it stays smooth. the other half is setPointerCapture . without it, dragging fast outruns the title bar, the cursor leaves the element, and the window gets dropped mid-drag. capture pins every pointer event to the bar until you let go. also learned the dumb way that pasting a component in is not the same as shipping it. my paste duplicated a 12 line block of jsx, and i never added the line that renders the window when the state flips. state going true means nothing if nothing reads it. what’s next the popup body swaps the fix list for the upgraded site itself. Groq’s vision model looks at the screenshot plus the fixes and writes a new version of the page as one self-contained html file, rendered inside a sandboxed iframe both upgrade tiers start generating in the background the moment the slap result lands, so the popup opens already loaded push it, then check the Vercel deploy Tip of the Day if a button does nothing, check whether the thing it opens is ever rendered. flipping state to true is only half the job. something has to read that state and put pixels on screen.
Site Slap Devlog #5 (it ships today) TL;DR the popup got its brain: it renders your actual upgraded site now, written by Claude Haiku, shown in a sandboxed iframe went through three ai models to kill the slop. the free ones couldn’t write html final polish landed: tab name, hand favicon, pulsing dots pulling people to the better skins found out the site was invisible to everyone except me. fixed an hour before shipping site slap is live. link at the bottom. go get roasted. the upgrade renderer the moment your slap result lands, two requests fire in the background, one per tier. by the time you scroll down and hit view upgraded, the redesign is already sitting there. Claude Haiku gets the screenshot plus the fixes and writes your site back as one self-contained html file. no javascript allowed, and the iframe’s empty sandbox attribute makes sure it wouldn’t matter anyway. prompts are requests. sandboxes are enforcement. the roasts still run free on groq. scoring doesn’t need the muscle, writing html does. about three cents per render, daily capped so a viral day costs me a dollar and not my whole balance. three models and a thumbnail trick groq’s scout wrote the first upgrades. overlapping headlines, floating color blocks. i gave it a page of design rules. still slop. maverick was better and slower. haiku ended the argument. the other half of “broken” renders was my fault: the model writes desktop css and i was rendering it in a 670px frame. now the iframe is actually 1280px wide and a css transform scales it to 52%, like a thumbnail. layout at real size, display at small size. best bug of the week: one render had perfect nav links next to three giant ugly buttons. turns out buttons don’t inherit fonts. browsers give buttons their own default font unless you write button { font: inherit } . that reset is now a mandatory line the model must paste, not a rule it might remember. the launch blocker nobody saw an hour before shipping, i checked the live url from outside my account. login page. vercel’s deployment protection was walling everything, production included. i’d been looking at my site logged in for days, seeing it fine, while every public url served a vercel login screen. the site worked perfectly and nobody on earth could see it. one setting flipped, one clean domain added, and then a real test from the outside: curl the live api, no cookies, no login. example.com came back with a 40 and “barely functional, utterly forgettable.” the renderer returned real html with the viewport meta exactly where the prompt demands it. green across the board. you and the public do not see the same internet. test logged out. thank you this project went from “paste a url, get roasted” scribbled in a chat to a three-skin app with an ai design critic and a popup that redesigns your site in front of you. five devlogs, three dead heroes, two ai providers, one rem/em bug i will never make again. thanks to Hack Club and Stardance for the reason to ship instead of endlessly polish. thanks to everyone who read these devlogs and watched the thing grow. and thanks to arngren.net for being the calibration anchor no prompt could do without. it ships. Tip of the Day open your deployed site in an incognito window before you share it anywhere. logged-in you and the public are two different visitors, and only one of them matters on launch day. 🖐️ go slap your site https://site-slap-topaz.vercel.app
Ships:
Shipped: Site Slap Paste a URL. Get a score out of 100. Get roasted. Site Slap is an AI design critic. It screenshots any live website, shows it to a vision model, and judges the visual design the way a person with taste would. No SEO metrics, no performance audit. You get a score, a one-sentence verdict, three specific roasts, and three fixes that would actually move the number. Then the part I’m proudest of: hit View Upgraded and a draggable, mac-style popup opens with your site rebuilt, fixes applied, rendered live inside a sandboxed iframe. Both versions start generating in the background while you’re still reading your roast, so the popup usually opens already loaded. Minor upgrade or full redesign, your choice. The whole app ships in three skins: basic, decent, and fire. Same tool, three levels of design effort. Fire is the one worth seeing, with an aurora hero built in pure CSS, snap scrolling, and a score that counts up. The skin switcher is a live demonstration of what the scoring scale actually means. The technicals, briefly: Next.js and TypeScript on Vercel. Microlink handles screenshots, so there is no headless browser to babysit. Groq’s Llama 4 Scout does the judging for free, and Claude Haiku writes the upgraded site as a single self-contained HTML file, about three cents per render with a daily cap. The generated pages contain no JavaScript, and the iframe’s empty sandbox attribute makes sure none could run regardless. The scoring is deliberately harsh. Minimal is not the same as designed, and blank is not the same as clean. Go slap your own site before someone else does: https://site-slap-topaz.vercel.app...
|
1792997666.9688902
|
1793084066.9688902
|
|
18438
|
GTK Forms by @albu_adam | Stardance
|
albu_adam
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T18:11:38Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Rust crate for creating forms with GTK, mainly through a derive proc-macro. It was challenging to figure out how proc-macros actually worked at first, but I eventually got the hang of it and managed to get it to generate the code to create a GTK widget and pull data from it.", "repo": "https://github.com/adamalbu/gtk-forms-mirror", "demo": "https://vimeo.com/1202217294?share=copy&fl=sv&fe=ci"}]...
|
[{"post_id": 10769, "ts": "202 [{"post_id": 10769, "ts": "2026-06-17T18:00:42Z", "hours": 0.4139, "text": "I added content to the README.md and published the (two) crates to crates.io"}, {"post_id": 10731, "ts": "2026-06-17T16:45:52Z", "hours": 9.6678, "text": "It’s in a usable state right now with basic features. The derive proc-macro can add text input and number fields, allowing to create forms quickly and easily."}]...
|
Title: GTK Forms by @albu_adam | Stardance
Devlog Title: GTK Forms by @albu_adam | Stardance
Devlogs:
It’s in a usable state right now with basic features. The derive proc-macro can add text input and number fields, allowing to create forms quickly and easily.
I added content to the README.md and published the (two) crates to crates.io
Ships:
I made a Rust crate for creating forms with GTK, mainly through a derive proc-macro. It was challenging to figure out how proc-macros actually worked at first, but I eventually got the hang of it and managed to get it to generate the code to create a GTK widget and pull data from it....
|
1792997666.0970812
|
1793084066.0970812
|
|
19677
|
modOS by @Huseyin | Stardance
|
Huseyin
|
2
|
69.87
|
203
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T14:51:27Z", "hours": 47.0, "multiplier": 4.4, "payout": 203, "blessing": "neutral", "text": "modOS Sevda Çiçeği: A fully open-source, modular, and multi-platform webOS. Features: modOS, unlike other webOS projects, has a plentiful of unique features allowing more customization: Modular build. Developer friendly API’s Pre-built desktop Account service And many more! Usage: modOS can be used everywhere by anyone, making it a great option for people on the move. Development: modOS comes with API’s to allow integration and make it easier for developers to make new packages.", "repo": "https://github.com/krambo345/modOS", "demo": "https://modos.krambo.space"}, {"ship_num": 2, "ts": "2026-06-30T18:15:01Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Welcome to modOS v1.0.0 Cambaz. It is a full webOS that comes with the basics of a computer. This full (almost) stable release is modular, flexible, and heavily optimized to up stand multiple situations. There were many challenges when it came to converting what I did from the guide into a modular system. It came with many problems, errors, lack of sleep, so on and so forth. Thanks to Lil ’G(PT), I was able to automate small tasks like converting HTML apps to a format that could be published in JSON. Features of modOS Cambaz: A fully modular system, with the ability to publish your own JS files with others. A small “terminal” named run. Package/App manager. Bartender(the bar of modOS) WER (Window Manager of modOS) Automated system set up. Developer friendly design. An aesthetic that combines 2000s retro and today’s modern. From here, the future releases of modOS will focus on making a full, complete package manager which makes distributing and receiving applications across modOS more easy. NOTE: In order to use many of the special features of modOS, you have to download and run modOS locally on your device. The picture shows what you would get in an out-of-the-box experience.", "repo": "https://github.com/krambo345/modOS", "demo": "https://modos.krambo.space"}]...
|
[{"post_id": 68315, "ts": "202 [{"post_id": 68315, "ts": "2026-09-14T22:29:25Z", "hours": 2.7064, "text": "SO MUCH BETTER! modOS is now more than just a template for your OS. It now makes it easier to template your own web OS! New Additions Settings package Splash Screen(you can turn it off in settings!) Saving settings 💾 Uses With these new features, your modOS account will officially have a working function. You can open your environment wherever you want. Future Plans Saving installed packages Saving user-made files/folders(There is already a immature version, however it does not work). Package development IDE. Customized Splash Screen Notification Daemon D-Bus Events 😟 Problems That Occured Resetting custom CSS. New user check(supposed to work. literally no reason it should not) Send Recommendations/Suggestions Sorry for excess use of EMOJIS they are fun"}, {"post_id": 67589, "ts": "2026-09-13T18:52:38Z", "hours": 3.1647, "text": "A Path to Stable From the previous… and unsuccessful ship… I learned many things that could improve modOS(other than a temporary Firebase bug🙄) First of all, there were a lot of bugs. A plenty of the time reported on this devlog are from bug fixing. Secondly, seems like people want to be able to customize the preinstalled system. So I have been working on a settings package to allow managing your account and CUSTOMIZING your system! DISCOVERY❗! Apperiantly, because modOS is modular by design, and because you can import packages, and because you can edit those packages, it turns out app development in the sense of an IDE is by design built in to modOS! With this, I was able to resolve many package related bugs running in a live environment, and even build packages! This will be utilized even more to hopefully make a full modern IDE package for anyone to use and build packages!!! Check out the video below for demonstration! I am looking for ideas, so please hit me up with some!"}, {"post_id": 47520, "ts": "2026-08-15T14:07:54Z", "hours": 8.6556, "text": "Adding stuff As of now, modOS comes with pre-installed packages to get you, the user, started. These include terminal, desktop, bartender, wer(window manager), editor, and more! With these packages you can install more packages(that do not exist yet). Do you want to be a developer? modOS is made to be one of the most developer friendly webOS’s out there! With over 10 different API’s, you can build applications that are easily integrated into the system. You can check out the source code of each package I made for modOS via first, finding the package with ls packages (in terminal) and then reading them with cat packages/PACKAGE (also in terminal)! oooor just go to the krambools github repository https://github.com/krambo345/krambools Bootstrap recovery Bootstrap works right now, for me. However, if anyone else gets errors while booting modOS, they will have the opportunity to repair it via bootstrap recovery that is presented upon failure. link due to a situation, i can not put modOS link to the information. use this link to access modOS: https://modos.krambo.space Thank yall"}, {"post_id": 45147, "ts": "2026-08-11T13:30:21Z", "hours": 11.2347, "text": "BOOYAH! After so long, we finally have VISUAL IMPROVEMENT!!! Before we start, I would appreciate if y’all followed modOS! Link: modos.krambo.space New Additions: You can now install(via packer get) or remove(via packer remove) ANY PACKAGE(from existing directory, use packer fetch for a list) You get some propriety software for modOS so it is easier for you to do stuff :) Package delivered commands! Developers can implement their own commands and API’s to the modOS ecosystem! API integration into packages Dependencies work flow modOS-VT has officially been made modOS, with the original being retired under modOS-pre. It will be removed from GitHub soon. And MANY more minor updates! Things that are needed to be fixed Guest option does not work, special rules needed to be implemented. packer.get API blindly makes a new blob file every time it is used(potential memory leak) There is no settings feature(yet), so the accounts are pretty useless rn. Sorry. And yeah that’s it to my knowledge DEVELOPERS!!! You can officially use the modOS API to make an application for the modOS ecosystem! Sadly, we do not have any documentation, but you can see the existing packages I made for reference, I tried my best to make it easy on y’all! https://github.com/krambo345/krambools/tree/master Publishing If you are a developer that made an application for modOS(tysm!), there sadly is no official way to register the application to modOS(yet!). It is still being implemented. Please hold on to your application until there is a method. Follow this project to be updated for when it is implemented! Thank you! Disclaimers: AI has been heavily used in this part of the project due to the advanced levels of TS used(that I can’t do myself). In my defense, this is the first project I ever made using TypeScript and Vite. Almost every new feature exposes me to another new thing(and problem) to learn!"}, {"post_id": 42585, "ts": "2026-08-07T12:28:48Z", "hours": 7.7994, "text": "Tada! modOS-VT is SO close to being done! I feel it! Disclaimers AI was heavily used at this point of the project. The reason is that the code was starting to get very messy(and not cool looking), which is why I asked AI to REORGANIZE the code. It basically took what I wrote, made them more organized, and made the connections. It is more than likely that the AI added a few of lines itself. Alongside that, I used AI to COMPLETELY make a terminal system using xterm.js(node module). The reason is, xterm has one of the worst and most incomplete documentations I ever saw. I really couldn’t make it myself after three tries. And finally, I used AI to make a package installation/launching system, as that would lead me into parts of Java/Type Script that I previously had no experience with. I am still trying to learn how to make it myself, however. I am very sorry for the heavy usage of AI. This is a very niche project that you can not find a lot of information for. I believe the code still meets AI requirements of Stardance. New Additions There is a fully set-up(with a Firebase back end) account management system to signup or login users. There is a guest option for people who just want to try it out! System-wide terminal. It is made so different software can be built on it! Package installation and launching: This is HUGE! This is what was needed to make modOS MODULAR ! New API’s Very cool and clean looking code(developer friendly). Future Updates modOS-VT will be rebranded to just modOS. There will be some base packages that are needed to make. A README.md for developers with the instructions on making a package. And yeah that is what’s left for modOS-VT."}, {"post_id": 28076, "ts": "2026-07-14T03:22:04Z", "hours": 9.6597, "text": "Longer Yet Shorter [Dev Post 6] After some long work, modOS is finally getting easier to get done. But it’s not done just yet. What is new? modOS now has some basic API’s, which will be used in the future by developers to make applications that can be fully integrated into the ecosystem. Bootstrap is reaching completion, which will bring us to the next step: display. We also have one of the most important functions of an OS, file management! modOS utilizes zenfs/core to store files and folders(alongside their structure) in memory! This will allow the creation of file explorers, document making, and more! This is also a crucial piece to make a modular OS. What is needed? modOS still needs some more API’s, most which will come from packages. Due to that, the next dev post should be of packer, the official package manager for modOS. It will be the connectiong between users, database, and developers. User <--> Database <--> Developer Meaning dev’s will be able to publish packages, and user’s will be able to download them! And finally, we need an account session thingy to keep track of each user’s installed packages. This also will allow the usage of YOUR modOS anywhere! Final Regards pretty cool"}, {"post_id": 25326, "ts": "2026-07-09T15:28:04Z", "hours": 6.805, "text": "A New Beginning [Dev Post 5] Here is what I got done ever since I announced modOS Sevda Çiçeği! git init So we now have modOS-VT as a GitHub repository. It’s pretty cool. VT stands for Vite Type, indicating how the project utilizes Vite and TypeScript instead of just html and javascript. What is made? I made: A bootstrap, which initializes every service necessary for modOS runtime. Basic system. Firebase!!! Jeez, why did it take 7 hours? Well, my friend, modOS is completely modular. So there is a bit of contradiction when I need to make a bootstrap that launches things, if there is no things . I worked on making a placeholder for almost everything. Core Idea modOS will be just like any other Linux distribution. You have the base system that gives you whatever you need. And you install user-generated content with a package manager! It will be so cool! But right now, I am still working on making the base system part. PSST! Do you want to contribute to modOS by making an app for it? Well you absolutely can! Right now it’s a bit difficult as there is no modOS . However, you can develop applications using typescript any time! Later modOS versions will come with API’s that you can integrate your app into the modOS ecosystem. Challenges The main challenge was getting started with modOS… again… but when I did start, it starts flowing like butter. What I LOVE about modOS right now: Because modOS-VT is built on Vite, I can use packages and make it easier to use with GitHub pages! I did not have to make 15 commits for a bug fix while setting up GitHub pages! Final Regards Thank you. :)"}, {"post_id": 19732, "ts": "2026-07-01T03:52:27Z", "hours": 3.1253, "text": "Announcing modOS Sevda Çiçeği Concept After completing the pretty underdeveloped modOS Cambaz, I think it is time we move on to a full, stable, environment. Plans for modOS Sevda Çiçeği: A fully modular webOS where you can change everything from the window rules to the very development environment. A package manager for distributing, installing, and managing user created packages. A full modOS API for consistency and compatibality. And MANY more. Here is a checklist/roadmap for modOS that you can follow as I check off the tasks: https://docs.google.com/document/d/1H7caegzGowVeYkntmm87eaJ8XJtSyU1Pbvb5vVNmgYI/edit?usp=sharing Logged hours for this dev post come from earlier bug fixes and polishing to modOS Cambaz alongside the making of modOS Sevda Çiçeği"}, {"post_id": 19271, "ts": "2026-06-30T15:17:32Z", "hours": 6.3744, "text": "The End..? [Dev Post 4] With the guide finally being done, I announce modOS v1.0.0 Cambaz . Before I nerd out about everything added, here is more information about Mor ve Ötesi , the band behind Cambaz: https://en.wikipedia.org/wiki/Mor_ve_%C3%B6tesi Why is modOS different? Well, throughout the path of following the guide and making modOS, I completely rejected the idea of a hard-coded anything. Sure, it might be open-source, but what is the point of open-source if changing the source is going to take many hours of coding? modOS competes against a permanent webOS. The following features highlight how modOS achieves that: modOS does not have any hard-coded applications, bar, desktop, etc. Every app is found in a JSON file (apps.json located in /base/system/) which can be modified to install any application you want, easily! Currently this step is manual, and there is no official repository of verified applications. However, that is subject to change. Bartender (the bar system of modOS) is a JavaScript file (bartender.js found in /base/system/bartender.js) which can be modified to make the bar whatever you want! WER (Window Manager for modOS) is a script that inserts window functions such as the minimize and close buttons alongside the name of the window, icon, and movement system. The whole script is launched with initwindow(win) where win is the main window element. Got confused with the initwindow(win) command? Not to worry, modOS comes with the exec command, which follows the format exec(appname, icon) , where you can determine the name of the application ( REQUIRED ) and its icon ( NOT REQUIRED ). Whenever the command is run, the script ( exec.js found in /base/system/ ) looks through apps.json and pulls the necessary content and scripts, giving you a fully functional app. Note: If you decide to use a custom icon with an existing app, exec.js will still use the icon used in the database to maintain the developers creativity! So are you even more lazy? Cuz modOS desktop shows every app in apps.json for easier access. All you need is the ability to double click the app you want! Note: Psst! There are hidden applications. You need to run showhidden() to show them, and hidehidden() if you would like to hide them back. You can customize modOS off of the base CSS by editing config.css (config.css found in /system/user/) Default Applications List App Template: It is a template for you to make your own app! (hidden by default) run: An alternative for the developer console that comes with modern browsers. A great option for mobile users or older, unsupported browsers. Release Notes: Your updated news for modOS! Theme Song: The theme song of modOS! Plays Cambaz by Mor ve Ötesi. Future Updates A signup/login system is planned to be added for cross-platform sync ability (e.g. apps, settings, customizations, etc). This will be optional and you can still use modOS as a guest. modOS developer mode: A way for you to build applications for you and others on modOS! Window minimization: Currently, windows do get minimized. However, you really cannot un-minimize them without running the command document.querySelector(\".win\").style.display=\"block\" , which is unreliable and annoying. More applications: You will use modOS developer mode to develop applications for the ecosystem. No more work for me."}, {"post_id": 18381, "ts": "2026-06-29T14:53:03Z", "hours": 7.1789, "text": "A Big Jump [Dev Post 3] Here is an update of what I’ve been working on over the weekend. And there is a lot! Window Movement I followed the guide to make windows movable. However, there was a challenge. Challenge If I want to make modOS modular, how could I identify user-made windows? The guide showed a hard-coded movement system, but that would mean other people couldn’t make their own apps! Solution I used .querySelector to give every window of the same class movement functionality while keeping each instance separate. This means no matter how many windows of the same app you make, they’ll all be movable! So yes, you could have 30 copies of the same ping pong app ( not on modOS… yet ) and every window would work normally. Account Feature (Still in Progress) This is mainly what took most of the 7 hours I logged today. What was used? I used Firebase to establish a backend where user info would be stored. The info consists of a username, password, and user data. The first two are self-explanatory, but the data will store user changes to their OS so they can jump back in where they left off. Challenges The account creation script should theoretically work. However, I didn’t build the project around a package manager. Firebase works much better with one, meaning the project would need to be migrated to a framework like Vite. Solution There is a solution: create a new repository with Vite installed, then move everything over. I really didn’t want to deal with that right now, so the account feature will be implemented once the base build of modOS is complete. App Launching You can now use a terminal interface to launch apps! Challenges To keep apps modular while still being… apps, I couldn’t just say “open this app.” I needed users to be able to define a preferred name, icon, and content. The first two were easy, but I also needed a list of apps and their content. This way, future modOS developers can publish their applications to the modOS environment. Solution There is now an apps.json file with a full list of apps ( 1 app right now ). Whenever you launch an app via exec(name, icon) from the Dev Console, it checks whether the app exists in the JSON file and, if it does, fetches its corresponding content. A Step Towards Modular… modOS is officially MODULAR ! What is modular as of now? Many things! I scratched the modular clock idea from the previous Dev Post… AND REPLACED IT WITH A COMPLETELY MODULAR BAR!!! So now the entire bar is modular. :) Apps are now modular too! You can launch any app via exec(name, icon) in the Dev Console (often opened with F12) to render a new window with your preferred name and icon. The clock idea was scratched… BUT THE CLOCK ITSELF IS STILL MODULAR! Challenges Making things modular takes a lot of time. You don’t just write your program in HTML anymore—you have to generate it through JavaScript. To make it modular, individual variables need to go through their own processes before everything connects together. And of course… that usually comes with a bug or two. Solution Uh… yeah, that was the challenge. Doesn’t really need a solution. Releases From now on, every new release will be named after a song from a 2000s Turkish Alternative Rock band. The next major release will be called: modOS v0.x.x-alpha [Mor Ve Ötesi - Cambaz] Make sure you give it a listen. It’s a banger! Final Thoughts I think the project is going very well. It’s taking a lot of time, but it’s worthwhile since I’m learning new things about a programming language I’ve been using for five years now. I’m hoping to add more features, finish the base build, and finally move on to the backend side of things."}, {"post_id": 10467, "ts": "2026-06-17T06:18:54Z", "hours": 2.2683, "text": "Getting Started [Dev Post 2] Today, I did not do much visual progress. However, there is way more that goes on in the background. What’s new? We now have a bar tender. There is a clock now. But it’s not just any clock, this clock is MODULAR ! A very fancy weather widget with a very (not) fancy API. A MODULAR Clock? What does that mean? I’m glad you asked. Unlike a traditional clock, this clock actually is separated in multiple tags. That means you can move the tags around to change the order of the clock values. API This Dev Post is sponsored by wttr.in! With it’s simple, no sign-up, and no data limit, wttr.in is in my top 5 API’s. With a single fetch , we achieve great things like burnin’ hot weather. Notes: The clock is by definition modular, however not too accessible. This will be fixed with future updates. No, this Dev Post is not actually sponsored. You can check out the current state of modOS here ."}, {"post_id": 9757, "ts": "2026-06-16T05:59:35Z", "hours": 1.2353, "text": "modOS v0.0.1-alpha [Dev Post 1] This is a base release for an early preview of the main idea for modOS. Current “features” Website loads. Backgrounds. Base window infrastructure. Cool window hover/leave effect. :D Notes: Although the project is supposed to be modular, it is still in early development. So every line is hard-coded and is not modular."}]...
|
Title: modOS by @Huseyin | Stardance
Devlogs:
mod Title: modOS by @Huseyin | Stardance
Devlogs:
modOS v0.0.1-alpha [Dev Post 1] This is a base release for an early preview of the main idea for modOS. Current “features” Website loads. Backgrounds. Base window infrastructure. Cool window hover/leave effect. :D Notes: Although the project is supposed to be modular, it is still in early development. So every line is hard-coded and is not modular.
Getting Started [Dev Post 2] Today, I did not do much visual progress. However, there is way more that goes on in the background. What’s new? We now have a bar tender. There is a clock now. But it’s not just any clock, this clock is MODULAR ! A very fancy weather widget with a very (not) fancy API. A MODULAR Clock? What does that mean? I’m glad you asked. Unlike a traditional clock, this clock actually is separated in multiple tags. That means you can move the tags around to change the order of the clock values. API This Dev Post is sponsored by wttr.in! With it’s simple, no sign-up, and no data limit, wttr.in is in my top 5 API’s. With a single fetch , we achieve great things like burnin’ hot weather. Notes: The clock is by definition modular, however not too accessible. This will be fixed with future updates. No, this Dev Post is not actually sponsored. You can check out the current state of modOS here .
A Big Jump [Dev Post 3] Here is an update of what I’ve been working on over the weekend. And there is a lot! Window Movement I followed the guide to make windows movable. However, there was a challenge. Challenge If I want to make modOS modular, how could I identify user-made windows? The guide showed a hard-coded movement system, but that would mean other people couldn’t make their own apps! Solution I used .querySelector to give every window of the same class movement functionality while keeping each instance separate. This means no matter how many windows of the same app you make, they’ll all be movable! So yes, you could have 30 copies of the same ping pong app ( not on modOS… yet ) and every window would work normally. Account Feature (Still in Progress) This is mainly what took most of the 7 hours I logged today. What was used? I used Firebase to establish a backend where user info would be stored. The info consists of a username, password, and user data. The first two are self-explanatory, but the data will store user changes to their OS so they can jump back in where they left off. Challenges The account creation script should theoretically work. However, I didn’t build the project around a package manager. Firebase works much better with one, meaning the project would need to be migrated to a framework like Vite. Solution There is a solution: create a new repository with Vite installed, then move everything over. I really didn’t want to deal with that right now, so the account feature will be implemented once the base build of modOS is complete. App Launching You can now use a terminal interface to launch apps! Challenges To keep apps modular while still being… apps, I couldn’t just say “open this app.” I needed users to be able to define a preferred name, icon, and content. The first two were easy, but I also needed a list of apps and their content. This way, future modOS developers can publish their applications to the modOS environment. Solution There is now an apps.json file with a full list of apps ( 1 app right now ). Whenever you launch an app via exec(name, icon) from the Dev Console, it checks whether the app exists in the JSON file and, if it does, fetches its corresponding content. A Step Towards Modular… modOS is officially MODULAR ! What is modular as of now? Many things! I scratched the modular clock idea from the previous Dev Post… AND REPLACED IT WITH A COMPLETELY MODULAR BAR!!! So now the entire bar is modular. :) Apps are now modular too! You can launch any app via exec(name, icon) in the Dev Console (often opened with F12) to render a new window with your preferred name and icon. The clock idea was scratched… BUT THE CLOCK ITSELF IS STILL MODULAR! Challenges Making things modular takes a lot of time. You don’t just write your program in HTML anymore—you have to generate it through JavaScript. To make it modular, individual variables need to go through their own processes before everything connects together. And of course… that usually comes with a bug or two. Solution Uh… yeah, that was the challenge. Doesn’t really need a solution. Releases From now on, every new release will be named after a song from a 2000s Turkish Alternative Rock band. The next major release will be called: modOS v0.x.x-alpha [Mor Ve Ötesi - Cambaz] Make sure you give it a listen. It’s a banger! Final Thoughts I think the project is going very well. It’s taking a lot of time, but it’s worthwhile since I’m learning new things about a programming language I’ve been using for five years now. I’m hoping to add more features, finish the base build, and finally move on to the backend side of things.
The End..? [Dev Post 4] With the guide finally being done, I announce modOS v1.0.0 Cambaz . Before I nerd out about everything added, here is more information about Mor ve Ötesi , the band behind Cambaz: https://en.wikipedia.org/wiki/Mor_ve_%C3%B6tesi Why is modOS different? Well, throughout the path of following the guide and making modOS, I completely rejected the idea of a hard-coded anything. Sure, it might be open-source, but what is the point of open-source if changing the source is going to take many hours of coding? modOS competes against a permanent webOS. The following features highlight how modOS achieves that: modOS does not have any hard-coded applications, bar, desktop, etc. Every app is found in a JSON file (apps.json located in /base/system/) which can be modified to install any application you want, easily! Currently this step is manual, and there is no official repository of verified applications. However, that is subject to change. Bartender (the bar system of modOS) is a JavaScript file (bartender.js found in /base/system/bartender.js) which can be modified to make the bar whatever you want! WER (Window Manager for modOS) is a script that inserts window functions such as the minimize and close buttons alongside the name of the window, icon, and movement system. The whole script is launched with initwindow(win) where win is the main window element. Got confused with the initwindow(win) command? Not to worry, modOS comes with the exec command, which follows the format exec(appname, icon) , where you can determine the name of the application ( REQUIRED ) and its icon ( NOT REQUIRED ). Whenever the command is run, the script ( exec.js found in /base/system/ ) looks through apps.json and pulls the necessary content and scripts, giving you a fully functional app. Note: If you decide to use a custom icon with an existing app, exec.js will still use the icon used in the database to maintain the developers creativity! So are you even more lazy? Cuz modOS desktop shows every app in apps.json for easier access. All you need is the ability to double click the app you want! Note: Psst! There are hidden applications. You need to run showhidden() to show them, and hidehidden() if you would like to hide them back. You can customize modOS off of the base CSS by editing config.css (config.css found in /system/user/) Default Applications List App Template: It is a template for you to make your own app! (hidden by default) run: An alternative for the developer console that comes with modern browsers. A great option for mobile users or older, unsupported browsers. Release Notes: Your updated news for modOS! Theme Song: The theme song of modOS! Plays Cambaz by Mor ve Ötesi. Future Updates A signup/login system is planned to be added for cross-platform sync ability (e.g. apps, settings, customizations, etc). This will be optional and you can still use modOS as a guest. modOS developer mode: A way for you to build applications for you and others on modOS! Window minimization: Currently, windows do get minimized. However, you really cannot un-minimize them without running the command document.querySelector(".win").style.display="block" , which is unreliable and annoying. More applications: You will use modOS developer mode to develop applications for the ecosystem. No more work for me.
Announcing modOS Sevda Çiçeği Concept After completing the pretty underdeveloped modOS Cambaz, I think it is time we move on to a full, stable, environment. Plans for modOS Sevda Çiçeği: A fully modular webOS where you can change everything from the window rules to the very development environment. A package manager for distributing, installing, and managing user created packages. A full modOS API for consistency and compatibality. And MANY more. Here is a checklist/roadmap for modOS that you can follow as I check off the tasks: https://docs.google.com/document/d/1H7caegzGowVeYkntmm87eaJ8XJtSyU1Pbvb5vVNmgYI/edit?usp=sharing Logged hours for this dev post come from earlier bug fixes and polishing to modOS Cambaz alongside the making of modOS Sevda Çiçeği
A New Beginning [Dev Post 5] Here is what I got done ever since I announced modOS Sevda Çiçeği! git init So we now have modOS-VT as a GitHub repository. It’s pretty cool. VT stands for Vite Type, indicating how the project utilizes Vite and TypeScript instead of just html and javascript. What is made? I made: A bootstrap, which initializes every service necessary for modOS runtime. Basic system. Firebase!!! Jeez, why did it take 7 hours? Well, my friend, modOS is completely modular. So there is a bit of contradiction when I need to make a bootstrap that launches things, if there is no things . I worked on making a placeholder for almost everything. Core Idea modOS will be just like any other Linux distribution. You have the base system that gives you whatever you need. And you install user-generated content with a package manager! It will be so cool! But right now, I am still working on making the base system part. PSST! Do you want to contribute to modOS by making an app for it? Well you absolutely can! Right now it’s a bit difficult as there is no modOS . However, you can develop applications using typescript any time! Later modOS versions will come with API’s that you can integrate your app into the modOS ecosystem. Challenges The main challenge was getting started with modOS… again… but when I did start, it starts flowing like butter. What I LOVE about modOS right now: Because modOS-VT is built on Vite, I can use packages and make it easier to use with GitHub pages! I did not have to make 15 commits for a bug fix while setting up GitHub pages! Final Regards Thank you. :)
Longer Yet Shorter [Dev Post 6] After some long work, modOS is finally getting easier to get done. But it’s not done just yet. What is new? modOS now has some basic API’s, which will be used in the future by developers to make applications that can be fully integrated into the ecosystem. Bootstrap is reaching completion, which will bring us to the next step: display. We also have one of the most important functions of an OS, file management! modOS utilizes zenfs/core to store files and folders(alongside their structure) in memory! This will allow the creation of file explorers, document making, and more! This is also a crucial piece to make a modular OS. What is needed? modOS still needs some more API’s, most which will come from packages. Due to that, the next dev post should be of packer, the official package manager for modOS. It will be the connectiong between users, database, and developers. User <--> Database <--> Developer Meaning dev’s will be able to publish packages, and user’s will be able to download them! And finally, we need an account session thingy to keep track of each user’s installed packages. This also will allow the usage of YOUR modOS anywhere! Final Regards pretty cool
Tada! modOS-VT is SO close to being done! I feel it! Disclaimers AI was heavily used at this point of the project. The reason is that the code was starting to get very messy(and not cool looking), which is why I asked AI to REORGANIZE the code. It basically took what I wrote, made them more organized, and made the connections. It is more than likely that the AI added a few of lines itself. Alongside that, I used AI to COMPLETELY make a terminal system using xterm.js(node module). The reason is, xterm has one of the worst and most incomplete documentations I ever saw. I really couldn’t make it myself after three tries. And finally, I used AI to make a package installation/launching system, as that would lead me into parts of Java/Type Script that I previously had no experience with. I am still trying to learn how to make it myself, however. I am very sorry for the heavy usage of AI. This is a very niche project that you can not find a lot of information for. I believe the code still meets AI requirements of Stardance. New Additions There is a fully set-up(with a Firebase back end) account management system to signup or login users. There is a guest option for people who just want to try it out! System-wide terminal. It is made so different software can be built on it! Package installation and launching: This is HUGE! This is what was needed to make modOS MODULAR ! New API’s Very cool and clean looking code(developer friendly). Future Updates modOS-VT will be rebranded to just modOS. There will be some base packages that are needed to make. A README.md for developers with the instructions on making a package. And yeah that is what’s left for modOS-VT.
BOOYAH! After so long, we finally have VISUAL IMPROVEMENT!!! Before we start, I would appreciate if y’all followed modOS! Link: modos.krambo.space New Additions: You can now install(via packer get) or remove(via packer remove) ANY PACKAGE(from existing directory, use packer fetch for a list) You get some propriety software for modOS so it is easier for you to do stuff :) Package delivered commands! Developers can implement their own commands and API’s to the modOS ecosystem! API integration into packages Dependencies work flow modOS-VT has officially been made modOS, with the original being retired under modOS-pre. It will be removed from GitHub soon. And MANY more minor updates! Things that are needed to be fixed Guest option does not work, special rules needed to be implemented. packer.get API blindly makes a new blob file every time it is used(potential memory leak) There is no settings feature(yet), so the accounts are pretty useless rn. Sorry. And yeah that’s it to my knowledge DEVELOPERS!!! You can officially use the modOS API to make an application for the modOS ecosystem! Sadly, we do not have any documentation, but you can see the existing packages I made for reference, I tried my best to make it easy on y’all! https://github.com/krambo345/krambools/tree/master Publishing If you are a developer that made an application for modOS(tysm!), there sadly is no official way to register the application to modOS(yet!). It is still being implemented. Please hold on to your application until there is a method. Follow this project to be updated for when it is implemented! Thank you! Disclaimers: AI has been heavily used in this part of the project due to the advanced levels of TS used(that I can’t do myself). In my defense, this is the first project I ever made using TypeScript and Vite. Almost every new feature exposes me to another new thing(and problem) to learn!
Adding stuff As of now, modOS comes with pre-installed packages to get you, the user, started. These include terminal, desktop, bartender, wer(window manager), editor, and more! With these packages you can install more packages(that do not exist yet). Do you want to be a developer? modOS is made to be one of the most developer friendly webOS’s out there! With over 10 different API’s, you can build applications that are easily integrated into the system. You can check out the source code of each package I made for modOS via first, finding the package with ls packages (in terminal) and then reading them with cat packages/PACKAGE (also in terminal)! oooor just go to the krambools github repository https://github.com/krambo345/krambools Bootstrap recovery Bootstrap works right now, for me. However, if anyone else gets errors while booting modOS, they will have the opportunity to repair it via bootstrap recovery that is presented upon failure. link due to a situation, i can not put modOS link to the information. use this link to access modOS: https://modos.krambo.space Thank yall
A Path to Stable From the previous… and unsuccessful ship… I learned many things that could improve modOS(other than a temporary Firebase bug🙄) First of all, there were a lot of bugs. A plenty of the time reported on this devlog are from bug fixing. Secondly, seems like people want to be able to customize the preinstalled system. So I have been working on a settings package to allow managing your account and CUSTOMIZING your system! DISCOVERY❗! Apperiantly, because modOS is modular by design, and because you can import packages, and because you can edit those packages, it turns out app development in the sense of an IDE is by design built in to modOS! With this, I was able to resolve many package related bugs running in a live environment, and even build packages! This will be utilized even more to hopefully make a full modern IDE package for anyone to use and build packages!!! Check out the video below for demonstration! I am looking for ideas, so please hit me up with some!
SO MUCH BETTER! modOS is now more than just a template for your OS. It now makes it easier to template your own web OS! New Additions Settings package Splash Screen(you can turn it off in settings!) Saving settings 💾 Uses With these new features, your modOS account will officially have a working function. You can open your environment wherever you want. Future Plans Saving installed packages Saving user-made files/folders(There is already a immature version, however it does not work). Package development IDE. Customized Splash Screen Notification Daemon D-Bus Events 😟 Problems That Occured Resetting custom CSS. New user check(supposed to work. literally no reason it should not) Send Recommendations/Suggestions Sorry for excess use of EMOJIS they are fun
Ships:
Welcome to modOS v1.0.0 Cambaz. It is a full webOS that comes with the basics of a computer. This full (almost) stable release is modular, flexible, and heavily optimized to up stand multiple situations. There were many challenges when it came to converting what I did from the guide into a modular system. It came with many problems, errors, lack of sleep, so on and so forth. Thanks to Lil ’G(PT), I was able to automate small tasks like converting HTML apps to a format that could be published in JSON. Features of modOS Cambaz: A fully modular system, with the ability to publish your own JS files with others. A small “terminal” named run. Package/App manager. Bartender(the bar of modOS) WER (Window Manager of modOS) Automated system set up. Developer friendly design. An aesthetic that combines 2000s retro and today’s modern. From here, the future releases of modOS will focus on making a full, complete package manager which makes distributing and receiving applications across modOS more easy. NOTE: In order to use many of the special features of modOS, you have to download and run modOS locally on your device. The picture shows what you would get in an out-of-the-box experience.
modOS Sevda Çiçeği: A fully open-source, modular, and multi-platform webOS. Features: modOS, unlike other webOS projects, has a plentiful of unique features allowing more customization: Modular build. Developer friendly API’s Pre-built desktop Account service And many more! Usage: modOS can be used everywhere by anyone, making it a great option for people on the move. Development: modOS comes with API’s to allow integration and make it easier for developers to make new packages....
|
1792997664.9169457
|
1793084064.9169457
|
|
19926
|
Personal Website 🫀 by @i | Stardance
|
i
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-21T07:44:57Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a personal website for myself, and the css was quite challenging but in the end, i did it. it has a guestbook feature and a last.fm integration. it also has art made by yours truly to make it more aesthetic. more features coming 🔜.", "repo": "https://github.com/tarfish/tarfish-site", "demo": "https://tarfish-eight.vercel.app/"}]...
|
[{"post_id": 12976, "ts": "202 [{"post_id": 12976, "ts": "2026-06-21T07:18:39Z", "hours": 5.2644, "text": "hey, this is the first devlog for my new personal website, i plan on adding more features to this site, but here’s what i have right now. there’s a last.fm api integration which shows viewers the last song i’ve played, and a guestbook integration with atabook. it has really good css imo and some footer art which i made by myself using procreate. ( https://lapse.hackclub.com/timelapse/QPIQvb1qWELt )"}]...
|
Title: Personal Website 🫀 by @i | Stardance
Devlo Title: Personal Website 🫀 by @i | Stardance
Devlogs:
hey, this is the first devlog for my new personal website, i plan on adding more features to this site, but here’s what i have right now. there’s a last.fm api integration which shows viewers the last song i’ve played, and a guestbook integration with atabook. it has really good css imo and some footer art which i made by myself using procreate. ( https://lapse.hackclub.com/timelapse/QPIQvb1qWELt )
Ships:
i made a personal website for myself, and the css was quite challenging but in the end, i did it. it has a guestbook feature and a last.fm integration. it also has art made by yours truly to make it more aesthetic. more features coming 🔜....
|
1792997664.0766118
|
1793084064.0766118
|
|
10984
|
slackbot by @fabianbuthere | Stardance
|
fabianbuthere
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T16:38:52Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "The product is not nearly as exciting as the code for it. I had to work with WebSockets, Slack’s (confusing (at least for me)) API and remote deployment (on Railway), including Docker. All in all a fun little project! And in Rust. I love Rust.", "repo": "https://github.com/Fabian2611/slackbot/", "demo": "https://hackclub.enterprise.slack.com/archives/C0BHJU4LEFJ"}]...
|
[{"post_id": 4328, "ts": "2026 [{"post_id": 4328, "ts": "2026-06-07T16:31:36Z", "hours": 0.6353, "text": "Cat commands are here! yayyy :3"}, {"post_id": 4295, "ts": "2026-06-07T15:40:05Z", "hours": 0.6217, "text": "The bot is running! I first set up shuttle, and only realised it was discontinued a few months ago when I tried to deploy. Now I use railway, and it works!"}, {"post_id": 4257, "ts": "2026-06-07T14:40:35Z", "hours": 2.0675, "text": "The bot is running! Getting the WebSocket to work was rather easy, the Slack API is really hard to navigate though. Not sure if I can host it on Nest (or similar services) if it is not NodeJS, that’s my next stop."}]...
|
Title: slackbot by @fabianbuthere | Stardance
Dev Title: slackbot by @fabianbuthere | Stardance
Devlogs:
The bot is running! Getting the WebSocket to work was rather easy, the Slack API is really hard to navigate though. Not sure if I can host it on Nest (or similar services) if it is not NodeJS, that’s my next stop.
The bot is running! I first set up shuttle, and only realised it was discontinued a few months ago when I tried to deploy. Now I use railway, and it works!
Cat commands are here! yayyy :3
Ships:
The product is not nearly as exciting as the code for it. I had to work with WebSockets, Slack’s (confusing (at least for me)) API and remote deployment (on Railway), including Docker. All in all a fun little project! And in Rust. I love Rust....
|
1792997662.9777372
|
1793084062.9777372
|
|
14166
|
CosmoOS by @noel_ | Stardance
|
noel_
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T14:20:29Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "CosmoOS is a cosmos styled desktop in your browser with draggable windows, two games, notifications, media player, and a black hole shutdown. The challenging part was managing game loops to prevent double-rendering and fixing the starfield when CSS and JavaScript conflicted. I am proud that I finished it, the rotating asteroids, black hole animation, window snapping, and fallback drawings if images are missing. Usage: Double-click icons to open windows, arrow keys and Space to play games, click Start then Shut Down for the black hole, then a Restart button appears after 2 seconds.", "repo": "https://github.com/9noel/cosmo-os", "demo": "https://cosmo-os.vercel.app"}]...
|
[{"post_id": 9952, "ts": "2026 [{"post_id": 9952, "ts": "2026-06-16T14:09:56Z", "hours": 0.4228, "text": "Devlog #3 What’s new: Windows now snap to screen edges and to each other when dragged within 20px. I also added keyboard shortcuts: Alt+W closes the active window, Alt+N opens Notes, Alt+I opens System Info, and Escape also closes windows. The starfield broke after I added the JavaScript movement, the CSS animation and the JS were fighting each other, making stars drift off-screen forever. Fixed it by removing the CSS animation entirely and letting the JS handle everything. Stars now recycle forever. The window snapping: The snap detection checks both horizontal and vertical alignment. Windows snap left/right and top/bottom to each other and to the screen edges. It’s subtle but makes the desktop feel much more polished. What’s next: That’s it. Three devlogs, all features done, bugs fixed. Time to ship finally."}, {"post_id": 9902, "ts": "2026-06-16T12:29:45Z", "hours": 1.3467, "text": "Devlog #2 What changed since last time: The asteroid game no longer double‑draws, media player notifications actually work, windows can’t be dragged off‑screen anymore, and there’s a restart button after shutdown. Oh, and it now lives on GitHub with a live demo on Vercel. The last 10% took longer than expected. The GitHub push failed. Also, the asteroid canvas resize bug kept breaking the game on window resize, then I fixed it with a debounced restart. The shutdown screen had no recovery, so I added a RESTART button after the black hole animation. Now you can actually get back in. What’s next: Shipping the project. Live demo at cosmo-os.vercel.app. Code on GitHub. The README is clean, the assets are credited, and the fallback drawings mean it works even if some images are missing. Would I build it the same way again? Yes and no. The rewrite from the over‑ambitious first version was the best call. Next time, I’d start smaller and add features iteratively. But for now, CosmoOS is out there in the void."}, {"post_id": 6312, "ts": "2026-06-10T16:54:27Z", "hours": 3.7467, "text": "Devlog #1 So what’s here: A space themed desktop environment with draggable windows, a notification center, two arcade games (SpaceSnake + Asteroid Destroyer), a music player, and a secret shutdown animation. My first version tried to do too much, custom file system, terminal emulator, easter eggs. After almost one and a half hour of nothing working, I deleted almost everything and started over with just the window manager and games. Best decision I made. The rewrite took another one and a half hour and it actually runs. Next up: Fix the double-draw asteroid bug (I have two loops running), preload images so they don’t reload every frame(optimalisation), and write a README. Then I’ll make a demo site and then ship the project. PS: Yes, the asteroids rotate. Yes, I spent way too long on that."}]...
|
Title: CosmoOS by @noel_ | Stardance
Devlogs:
Dev Title: CosmoOS by @noel_ | Stardance
Devlogs:
Devlog #1 So what’s here: A space themed desktop environment with draggable windows, a notification center, two arcade games (SpaceSnake + Asteroid Destroyer), a music player, and a secret shutdown animation. My first version tried to do too much, custom file system, terminal emulator, easter eggs. After almost one and a half hour of nothing working, I deleted almost everything and started over with just the window manager and games. Best decision I made. The rewrite took another one and a half hour and it actually runs. Next up: Fix the double-draw asteroid bug (I have two loops running), preload images so they don’t reload every frame(optimalisation), and write a README. Then I’ll make a demo site and then ship the project. PS: Yes, the asteroids rotate. Yes, I spent way too long on that.
Devlog #2 What changed since last time: The asteroid game no longer double‑draws, media player notifications actually work, windows can’t be dragged off‑screen anymore, and there’s a restart button after shutdown. Oh, and it now lives on GitHub with a live demo on Vercel. The last 10% took longer than expected. The GitHub push failed. Also, the asteroid canvas resize bug kept breaking the game on window resize, then I fixed it with a debounced restart. The shutdown screen had no recovery, so I added a RESTART button after the black hole animation. Now you can actually get back in. What’s next: Shipping the project. Live demo at cosmo-os.vercel.app. Code on GitHub. The README is clean, the assets are credited, and the fallback drawings mean it works even if some images are missing. Would I build it the same way again? Yes and no. The rewrite from the over‑ambitious first version was the best call. Next time, I’d start smaller and add features iteratively. But for now, CosmoOS is out there in the void.
Devlog #3 What’s new: Windows now snap to screen edges and to each other when dragged within 20px. I also added keyboard shortcuts: Alt+W closes the active window, Alt+N opens Notes, Alt+I opens System Info, and Escape also closes windows. The starfield broke after I added the JavaScript movement, the CSS animation and the JS were fighting each other, making stars drift off-screen forever. Fixed it by removing the CSS animation entirely and letting the JS handle everything. Stars now recycle forever. The window snapping: The snap detection checks both horizontal and vertical alignment. Windows snap left/right and top/bottom to each other and to the screen edges. It’s subtle but makes the desktop feel much more polished. What’s next: That’s it. Three devlogs, all features done, bugs fixed. Time to ship finally.
Ships:
CosmoOS is a cosmos styled desktop in your browser with draggable windows, two games, notifications, media player, and a black hole shutdown. The challenging part was managing game loops to prevent double-rendering and fixing the starfield when CSS and JavaScript conflicted. I am proud that I finished it, the rotating asteroids, black hole animation, window snapping, and fallback drawings if images are missing. Usage: Double-click icons to open windows, arrow keys and Space to play games, click Start then Shut Down for the black hole, then a Restart button appears after 2 seconds....
|
1792997661.861639
|
1793084061.861639
|
|
17898
|
Stellar (not an operating system )) by @yashasvib Stellar (not an operating system )) by @yashasvib | Stardance...
|
yashasvib
|
3
|
19.0
|
147
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-12T14:59:43Z", "hours": 13.0, "multiplier": 7.95, "payout": 54, "blessing": "neutral", "text": "guys!! i tried updating this application and this is a modified version of stellaros Imagine a place where you can literally explore the entire solar system like it’s Google Maps, but for space. You can zoom into planets, check out moons, watch asteroids move, and just kinda “float” around the universe in real time. It pulls all its data directly from official NASA sources, so everything you’re seeing is actually legit and updated, not random internet stuff. You can click on any planet or space object and instantly get all the details—like what it’s made of, how far it is, what’s happening around it, and even cool mission info. It also shows a copy of real-time movement of planets and space events,(random, it calculate the movement of planet in the following way- my planets around the sun is definately not real -time but in same proportional ratio as I found on NASA(in simple terms for example if Earth takes 365 1/4 day to revolve around the sun , my project take the data for how much time earth take and compare it to other planets and then make them revolve around with same proportional speed and distance )) (and the mission are devloped with the help of AI -I take data from the NASA and I try to take only those missions which I can perfectly display in terms of their position (from where they started and to where )and this part I took help of AI (chatgpt to be specific )and it helped me display a perfect spacepath of that mission using js .) so i try to make the whole thing feels alive instead of static. i am currently just working on it and plz share your thought and ideas how could i make it even better . AND PEOPLE OFTEN GET CONFUSED THAT IT IS A OPERATING SYSTEM BUT NO!! ITS A INTERACTIVE WEBS.. !!", "repo": "https://github.com/yashasvi-2012-star/StellarOS", "demo": "https://stellarosyuqi.vercel.app/"}, {"ship_num": 2, "ts": "2026-07-08T12:59:08Z", "hours": 4.0, "multiplier": 14.22, "payout": 55, "blessing": "neutral", "text": "StellarOS GUYS!!! !! Imagine an operating system where you can literally explore the entire solar system like it’s Google Maps, but for space. You can zoom into planets, check out THIER moons, watch asteroids move. It pulls all its data directly from official NASA sources and its website , so everything you’re seeing is actually legit and updated, not random internet stuff. You can click on any planet or space object and instantly get all the details—like what it’s made of, how far it is, what’s happening around it, and even cool mission info. I tried my best with this project .I hope u like it !! make sure to give me feedback !! things used and their sources languages used- 1-HTML (major) 2-CSS 3-JAVA SCRIPT Images and their sources 1- the background image of the landing page-it was found on google and I had my heart over it but I could not find it again so I had to use AI to create one on the based of my memory (yep I gave it prompt on the basis of my memory and the real image’s credit goes to their owner (sadly I can’t remember)) 2-the images used for planets for their yk.. texture is from NASA and it is fitted into circular frames which revovle around in their respective orbits 3- the images used in the info panel has also been taken from official NASA uploaded images as in the form of ${imageBase} text based database and the mission trajectory projections 1- all the information comes from my database which contain information from YK.. NNNAAASSSAAA….. 2-the paths projected for space missions are yk.from nasa cause bro why not?!?! but the thing here is that I only found some yk information and I had to take help of AI to create their trajectory AI usage declaration 1- as mentioned above I used AI for creating the first landing page background and then the trajectory of space missions 2-I also used AI for debugging and took it’s help with errors witch occured in dry running of my codes thank you note !! You are either here for reviewing my project or rating my project , and I sincerely hope that my project meet your expectations and I want to thank you for everything you have done in my favour !! MAY YOU HAVE A HAPPYDAY !! and English is not my first language , so forgive me for grammatic error ! THANK YOU !! BYE !!!", "repo": "https://github.com/yashasvi-2012-star/StellarOS", "demo": "https://stellarosyuqi.vercel.app/"}, {"ship_num": 3, "ts": "2026-06-15T18:58:37Z", "hours": 2.0, "multiplier": 17.74, "payout": 38, "blessing": "neutral", "text": "guys!! Imagine an operating system where you can literally explore the entire solar system like it’s Google Maps, but for space. You can zoom into planets, check out moons, watch asteroids move,. It pulls all its data directly from official NASA sources, so everything you’re seeing is actually legit and updated, not random internet stuff. You can click on any planet or space object and instantly get all the details—like what it’s made of, how far it is, what’s happening around it, and even cool mission info. , so the whole thing feels alive instead of static. plz share your thought and ideas how could i make it even better .i tried my best with this project .i hope u like it !! make sure to give me feedback !! BYE !!!", "repo": "https://github.com/yashasvi-2012-star/StellarOS", "demo": "https://stellarosyuqi.vercel.app/"}]...
|
[{"post_id": 32961, "ts": "202 [{"post_id": 32961, "ts": "2026-07-22T13:32:26Z", "hours": 5.1514, "text": "HI GUYS !! this time i think i have a sad news to deliver - that i messed my whole code and it took 5 hr to sort things out , according to my AI teacher my biggest bad habit is that i try to make things short and easy and in the hasle of making things short i mess the things pretty bad (yes i have AI as an optional subject in school ) so i guess that in the next devlog i come here with a good new !! BYE !!!"}, {"post_id": 28313, "ts": "2026-07-14T14:16:46Z", "hours": 5.2233, "text": "hi guyss once upon a time i had my original road map for stellar but there were errors and errors and more errors so guess we have to stop this project (also that i have a major event in school comming up -EXAMS !! ) but ill try do little by little more changes , more functions and i guess my following devlogs from this one gonna talk bout how to fix mistakes and i guess you all are working fine with your projects !!"}, {"post_id": 25979, "ts": "2026-07-10T14:58:47Z", "hours": 3.0736, "text": "HEY GUYS !! todays update - I think my idea was messy and thus no possible outcome was drawn out of my this coding session . i think my idea to make it go even further into solarsystem and present all the data that humans possibly know (basic ) bout them had BACKFIRED ME !! cause it is really getting messy and i even did changes in my code i hope its sorted"}, {"post_id": 24672, "ts": "2026-07-08T12:47:26Z", "hours": 1.2872, "text": "HEY !!!! CAN YOU SEE THE STARTS ?!?! IS IT GLOWY ENOUGH ??!!??"}, {"post_id": 24198, "ts": "2026-07-07T16:45:49Z", "hours": 0.6389, "text": "hey !! this is gonna be short cuz I had a busy day today and I only did the README I changed thing -like removing old reffrences adding new ones and all !!"}, {"post_id": 24021, "ts": "2026-07-07T09:34:28Z", "hours": 1.6561, "text": "hi !! I thought why not to keep this going and keep on adding new features !!! today i only did re arrangements in my code so that my new codes yk don’t clash ..and I also started planning out bout the codes and all. and I think this project will approximately take 8-9 hours if I only add these planned feature. if I decide to add more it will probably take 20-21 hr. that’s all for today bye !!!"}, {"post_id": 12063, "ts": "2026-06-19T17:49:40Z", "hours": 0.3544, "text": "hiiii !!!!! now i have just connected my this project with my OS and each and everything is workin’ and this is just how I IMAGIENED IT !!!!"}, {"post_id": 9384, "ts": "2026-06-15T18:40:56Z", "hours": 1.0717, "text": "HELLO GUYSS!!!! this is my third update on STELLAROS and i now think ite finally completed . i’ve added pop-ups of information when you click them and even added the moon when u click a planet with moon . and fixed some bugs that even created a mess with my code . i hope you all enjoy it . i’d really like a feedback and it has been the longest time taking part of the project ."}, {"post_id": 8813, "ts": "2026-06-14T17:21:34Z", "hours": 0.275, "text": "HELLO GUYS!!!!! this is to update you all about my webs.. StellarOS. i have fixed some bugs , made the asteroid buttons working and add the solar system in middle rather then in the side .i think the orbits are not quite visible but the planets are all moving the following image shows about the solar mission i mentioned in the earlier devlog . i did some stars outside our solar system their far away so you may have to search for them a bit . ok so this was hard and this is somewhat how i imagined it and i may even add more to it . next i will be working on pop up box that appears when a planet is clicked . i will make sure to keep you all updated BYE !!!"}, {"post_id": 8755, "ts": "2026-06-14T15:48:21Z", "hours": 0.4989, "text": "HEYYY!!!!!! wlcm to second update of stellarOS (don’t go on it’s name and i forgot to post this devlog so im posting it just before third devlog ). this time a designed the second page of my webs.. it was pretty hard tho . i had to take help of ai cause my zoom feature wont just work and even if it did sometime too slow or too fast . and i also added a panel at the side of the screen to show space programs , u select a program it give’s its info and even the path it travelled on the mission . and i even add a button to leave our solar system but theirs nothing beyond our solar system and i am working on it , and i have added one more button to view asteroids(it really do show ) . i hope you guys visit it and just give me honest feed back so i get to improve more . BEST OF LUCK GUYS !!!"}, {"post_id": 7957, "ts": "2026-06-13T08:53:03Z", "hours": 0.2689, "text": "HEY!! this is the first update on my StellarOS . this is a webs.. that first lands on a screen i tried to design as a cockpit of a spaceship . then when u press the botton (blue one )its takes you to second page tho i have not designed the second page yet (just did some basics ). and i hope i get to complete it nicelly i will try keep u all update BYE !!!"}]...
|
Title: Stellar (not an operating system )) by @yas Title: Stellar (not an operating system )) by @yashasvib | Stardance
Devlogs:
HEY!! this is the first update on my StellarOS . this is a webs.. that first lands on a screen i tried to design as a cockpit of a spaceship . then when u press the botton (blue one )its takes you to second page tho i have not designed the second page yet (just did some basics ). and i hope i get to complete it nicelly i will try keep u all update BYE !!!
HEYYY!!!!!! wlcm to second update of stellarOS (don’t go on it’s name and i forgot to post this devlog so im posting it just before third devlog ). this time a designed the second page of my webs.. it was pretty hard tho . i had to take help of ai cause my zoom feature wont just work and even if it did sometime too slow or too fast . and i also added a panel at the side of the screen to show space programs , u select a program it give’s its info and even the path it travelled on the mission . and i even add a button to leave our solar system but theirs nothing beyond our solar system and i am working on it , and i have added one more button to view asteroids(it really do show ) . i hope you guys visit it and just give me honest feed back so i get to improve more . BEST OF LUCK GUYS !!!
HELLO GUYS!!!!! this is to update you all about my webs.. StellarOS. i have fixed some bugs , made the asteroid buttons working and add the solar system in middle rather then in the side .i think the orbits are not quite visible but the planets are all moving the following image shows about the solar mission i mentioned in the earlier devlog . i did some stars outside our solar system their far away so you may have to search for them a bit . ok so this was hard and this is somewhat how i imagined it and i may even add more to it . next i will be working on pop up box that appears when a planet is clicked . i will make sure to keep you all updated BYE !!!
HELLO GUYSS!!!! this is my third update on STELLAROS and i now think ite finally completed . i’ve added pop-ups of information when you click them and even added the moon when u click a planet with moon . and fixed some bugs that even created a mess with my code . i hope you all enjoy it . i’d really like a feedback and it has been the longest time taking part of the project .
hiiii !!!!! now i have just connected my this project with my OS and each and everything is workin’ and this is just how I IMAGIENED IT !!!!
hi !! I thought why not to keep this going and keep on adding new features !!! today i only did re arrangements in my code so that my new codes yk don’t clash ..and I also started planning out bout the codes and all. and I think this project will approximately take 8-9 hours if I only add these planned feature. if I decide to add more it will probably take 20-21 hr. that’s all for today bye !!!
hey !! this is gonna be short cuz I had a busy day today and I only did the README I changed thing -like removing old reffrences adding new ones and all !!
HEY !!!! CAN YOU SEE THE STARTS ?!?! IS IT GLOWY ENOUGH ??!!??
HEY GUYS !! todays update - I think my idea was messy and thus no possible outcome was drawn out of my this coding session . i think my idea to make it go even further into solarsystem and present all the data that humans possibly know (basic ) bout them had BACKFIRED ME !! cause it is really getting messy and i even did changes in my code i hope its sorted
hi guyss once upon a time i had my original road map for stellar but there were errors and errors and more errors so guess we have to stop this project (also that i have a major event in school comming up -EXAMS !! ) but ill try do little by little more changes , more functions and i guess my following devlogs from this one gonna talk bout how to fix mistakes and i guess you all are working fine with your projects !!
HI GUYS !! this time i think i have a sad news to deliver - that i messed my whole code and it took 5 hr to sort things out , according to my AI teacher my biggest bad habit is that i try to make things short and easy and in the hasle of making things short i mess the things pretty bad (yes i have AI as an optional subject in school ) so i guess that in the next devlog i come here with a good new !! BYE !!!
Ships:
guys!! Imagine an operating system where you can literally explore the entire solar system like it’s Google Maps, but for space. You can zoom into planets, check out moons, watch asteroids move,. It pulls all its data directly from official NASA sources, so everything you’re seeing is actually legit and updated, not random internet stuff. You can click on any planet or space object and instantly get all the details—like what it’s made of, how far it is, what’s happening around it, and even cool mission info. , so the whole thing feels alive instead of static. plz share your thought and ideas how could i make it even better .i tried my best with this project .i hope u like it !! make sure to give me feedback !! BYE !!!
StellarOS GUYS!!! !! Imagine an operating system where you can literally explore the entire solar system like it’s Google Maps, but for space. You can zoom into planets, check out THIER moons, watch asteroids move. It pulls all its data directly from official NASA sources and its website , so everything you’re seeing is actually legit and updated, not random internet stuff. You can click on any planet or space object and instantly get all the details—like what it’s made of, how far it is, what’s happening around it, and even cool mission info. I tried my best with this project .I hope u like it !! make sure to give me feedback !! things used and their sources languages used- 1-HTML (major) 2-CSS 3-JAVA SCRIPT Images and their sources 1- the background image of the landing page-it was found on google and I had my heart over it but I could not find it again so I had to use AI to create one on the based of my memory (yep I gave it prompt on the basis of my memory and the real image’s credit goes to their owner (sadly I can’t remember)) 2-the images used for planets for their yk.. texture is from NASA and it is fitted into circular frames which revovle around in their respective orbits 3- the images used in the info panel has also been taken from official NASA uploaded images as in the form of ${imageBase} text based database and the mission trajectory projections 1- all the information comes from my database which contain information from YK.. NNNAAASSSAAA….. 2-the paths projected for space missions are yk.from nasa cause bro why not?!?! but the thing here is that I only found some yk information and I had to take help of AI to create their trajectory AI usage declaration 1- as mentioned above I used AI for creating the first landing page background and then the trajectory of space missions 2-I also used AI for debugging and took it’s help with errors witch occured in dry running of my codes thank you note !! You are either here for reviewing my project or rating my project , and I sincerely hope that my project meet your expectations and I want to thank you for everything you have done in my favour !! MAY YOU HAVE A HAPPYDAY !! and English is not my first language , so forgive me for grammatic error ! THANK YOU !! BYE !!!
guys!! i tried updating this application and this is a modified version of stellaros Imagine a place where you can literally explore the entire solar system like it’s Google Maps, but for space. You can zoom into planets, check out moons, watch asteroids move, and just kinda “float” around the universe in real time. It pulls all its data directly from official NASA sources, so everything you’re seeing is actually legit and updated, not random internet stuff. You can click on any planet or space object and instantly get all the details—like what it’s made of, how far it is, what’s happening around it, and even cool mission info. It also shows a copy of real-time movement of planets and space events,(random, it calculate the movement of planet in the following way- my planets around the sun is definately not real -time but in same proportional ratio as I found on NASA(in simple terms for example if Earth takes 365 1/4 day to revolve around the sun , my project take the data for how much time earth take and compare it to other planets and then make them revolve around with same proportional speed and distance )) (and the mission are devloped with the help of AI -I take data from the NASA and I try to take only those missions which I can perfectly display in terms of their position (from where they started and to where )and this part I took help of AI (chatgpt to be specific )and it helped me display a perfect spacepath of that mission using js .) so i try to make the whole thing feels alive instead of static. i am currently just working on it and plz share your thought and ideas how could i make it even better . AND PEOPLE OFTEN GET CONFUSED THAT IT IS A OPERATING SYSTEM BUT NO!! ITS A INTERACTIVE WEBS.. !!...
|
1792997660.6548908
|
1793084060.6548908
|
|
20353
|
Offline Youtube-esque player by @Fury | Stardance
|
Fury
|
1
|
23.27
|
127
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T04:10:27Z", "hours": 23.0, "multiplier": 5.56, "payout": 127, "blessing": "neutral", "text": "I made an Offline Media player", "repo": "https://github.com/Furyx407/Offline-YT-Player", "demo": "https://github.com/Furyx407/Offline-YT-Player/releases/tag/V1.0.0"}]...
|
[{"post_id": 19836, "ts": "202 [{"post_id": 19836, "ts": "2026-07-01T07:15:55Z", "hours": 0.2714, "text": "Added a Windows executable, was annoying because there is not an easy way to convert python to windows executable on Linux ( PyInstaller converts it to a Linux executable)"}, {"post_id": 18121, "ts": "2026-06-29T04:03:55Z", "hours": 2.5006, "text": "Implemented ability to resize thumbnails"}, {"post_id": 15346, "ts": "2026-06-24T23:03:21Z", "hours": 1.1494, "text": "Added ability to change the playback speed, it was somehow easier than having the icons change colours ( I am still procrastinating it)"}, {"post_id": 14722, "ts": "2026-06-23T22:39:33Z", "hours": 0.7844, "text": "Made settings persistent and added a toggle to set duration label to time left, making settings persistent was easier than expected as it was just a couple lines of code but getting syntax correctly was annoying."}, {"post_id": 14194, "ts": "2026-06-23T05:56:02Z", "hours": 0.6967, "text": "Implemented (Working) Dark and light mode, not currently persistent but was annoying because I had to make a custom toggle switch."}, {"post_id": 14122, "ts": "2026-06-23T03:06:05Z", "hours": 5.3253, "text": "Implemented settings with toggle options, haven’t populated it yet but implementing a toggle switch was hard as there isn’t one natively in PyQt6"}, {"post_id": 12509, "ts": "2026-06-20T13:05:28Z", "hours": 3.3236, "text": "Implemented basic video playback"}, {"post_id": 11931, "ts": "2026-06-19T13:52:04Z", "hours": 7.0711, "text": "Implemented Thumbnails and title (with wrapping), thumbnails layout changes with resizing"}, {"post_id": 10938, "ts": "2026-06-17T22:35:09Z", "hours": 2.1292, "text": "Implement PyQt6 & added exit button and search box"}]...
|
Title: Offline Youtube-esque player by @Fury | Sta Title: Offline Youtube-esque player by @Fury | Stardance
Devlogs:
Implement PyQt6 & added exit button and search box
Implemented Thumbnails and title (with wrapping), thumbnails layout changes with resizing
Implemented basic video playback
Implemented settings with toggle options, haven’t populated it yet but implementing a toggle switch was hard as there isn’t one natively in PyQt6
Implemented (Working) Dark and light mode, not currently persistent but was annoying because I had to make a custom toggle switch.
Made settings persistent and added a toggle to set duration label to time left, making settings persistent was easier than expected as it was just a couple lines of code but getting syntax correctly was annoying.
Added ability to change the playback speed, it was somehow easier than having the icons change colours ( I am still procrastinating it)
Implemented ability to resize thumbnails
Added a Windows executable, was annoying because there is not an easy way to convert python to windows executable on Linux ( PyInstaller converts it to a Linux executable)
Ships:
I made an Offline Media player...
|
1792997658.68875
|
1793084058.68875
|
|
7336
|
VoidBoard by @AuraMonster | Stardance
|
AuraMonster
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-11T14:49:37Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a macropad, so that it can do many things. The hardest part was the PCB designing because some parts were confusing.", "repo": "https://github.com/mdmutahhar24-pixel/VoidBoard", "demo": ""}]...
|
[{"post_id": 6549, "ts": "2026 [{"post_id": 6549, "ts": "2026-06-11T00:13:41Z", "hours": 4.3, "text": "What Is Voidboard going to be used for? I am thinking of using VoidBoard for shortcuts, keyboard, and numpad. It may not be obvious, but it’s design coloring was influenced by Hollow Knight. Current Progress: Finished Schematic Finished PCB Finished CAD Finished Firmware Uploaded all necessary files to Github Repository"}]...
|
Title: VoidBoard by @AuraMonster | Stardance
Devl Title: VoidBoard by @AuraMonster | Stardance
Devlogs:
What Is Voidboard going to be used for? I am thinking of using VoidBoard for shortcuts, keyboard, and numpad. It may not be obvious, but it’s design coloring was influenced by Hollow Knight. Current Progress: Finished Schematic Finished PCB Finished CAD Finished Firmware Uploaded all necessary files to Github Repository
Ships:
I made a macropad, so that it can do many things. The hardest part was the PCB designing because some parts were confusing....
|
1792997657.7326274
|
1793084057.7326274
|
|
9912
|
Counter by @B754a | Stardance
|
B754a
|
1
|
4.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T20:14:13Z", "hours": 4.0, "multiplier": 1.05, "payout": 4, "blessing": "neutral", "text": "A counter there was some issues like the website not working so I changed the extension I’m proud because this is the fist project I have done and there was no ai", "repo": "https://github.com/B754a-Dev/A-counter", "demo": "https://b754a-dev.github.io/A-counter/"}]...
|
[{"post_id": 4479, "ts": "2026 [{"post_id": 4479, "ts": "2026-06-07T20:10:44Z", "hours": 0.8292, "text": "counting thing"}, {"post_id": 4294, "ts": "2026-06-07T15:40:00Z", "hours": 0.5894, "text": "Random number generator"}, {"post_id": 4268, "ts": "2026-06-07T14:56:25Z", "hours": 0.7067, "text": "Made a counter and it works"}, {"post_id": 4241, "ts": "2026-06-07T14:11:43Z", "hours": 0.2967, "text": "Simple website"}, {"post_id": 4228, "ts": "2026-06-07T13:53:18Z", "hours": 0.2878, "text": "better website"}, {"post_id": 4215, "ts": "2026-06-07T13:30:35Z", "hours": 0.2631, "text": "Button that didnt work"}, {"post_id": 4207, "ts": "2026-06-07T13:11:32Z", "hours": 1.1036, "text": "Website"}]...
|
Title: Counter by @B754a | Stardance
Devlogs:
Web Title: Counter by @B754a | Stardance
Devlogs:
Website
Button that didnt work
better website
Simple website
Made a counter and it works
Random number generator
counting thing
Ships:
A counter there was some issues like the website not working so I changed the extension I’m proud because this is the fist project I have done and there was no ai...
|
1792997656.6004543
|
1793084056.6004543
|
|
23497
|
A website for my friends work by @rosikur | Starda A website for my friends work by @rosikur | Stardance...
|
rosikur
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T17:05:49Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website for my cousin whose started his own buissines . The difficult things were that i was procastranating a lot and that i had exams but now im done with all theexams", "repo": "https://github.com/rosikur/friends-website", "demo": "https://rosikur.github.io/friends-website/"}]...
|
[{"post_id": 16339, "ts": "202 [{"post_id": 16339, "ts": "2026-06-26T16:10:50Z", "hours": 1.6072, "text": "finished the design"}, {"post_id": 13062, "ts": "2026-06-21T11:21:47Z", "hours": 1.6358, "text": "making the css first and then the html(kinda dumb)"}]...
|
Title: A website for my friends work by @rosikur | Title: A website for my friends work by @rosikur | Stardance
Devlogs:
making the css first and then the html(kinda dumb)
finished the design
Ships:
I made a website for my cousin whose started his own buissines . The difficult things were that i was procastranating a lot and that i had exams but now im done with all theexams...
|
1792997655.72189
|
1793084055.72189
|
|
54771
|
my portfolio by @yugo | Stardance
|
yugo
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T22:38:46Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hello my people, i made a portfolio about myself and i wanted to make it like a terminal theme. the reason why i have a flower in ascii is because i kinda use it as my logo on my business card and wanted to transfer it here. the most challenging part was getting the base structure and fixing js code when needed. i apologise for not making any devlogs, im not used to it :(", "repo": "https://github.com/YugoBond/portfolio", "demo": "https://yugobond.github.io/portfolio/"}]...
|
[{"post_id": 63230, "ts": "202 [{"post_id": 63230, "ts": "2026-09-06T22:29:35Z", "hours": 3.7858, "text": "hashing function in the portfolio, it turned out really cool and really good :D"}]...
|
Title: my portfolio by @yugo | Stardance
Devlogs: Title: my portfolio by @yugo | Stardance
Devlogs:
hashing function in the portfolio, it turned out really cool and really good :D
Ships:
hello my people, i made a portfolio about myself and i wanted to make it like a terminal theme. the reason why i have a flower in ascii is because i kinda use it as my logo on my business card and wanted to transfer it here. the most challenging part was getting the base structure and fixing js code when needed. i apologise for not making any devlogs, im not used to it :(...
|
1792997654.8328333
|
1793084054.8328333
|