|
15804
|
Crunchyroll Multi Sub by @AndyNoob | Stardance
|
AndyNoob
|
1
|
46.9
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T22:15:32Z", "hours": 46.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Alright, it’s been a pretty long ride, so let me try to sum this up. - The idea for this extension sprang forth when I was trying to watch Frieren. For context, on Crunchyroll dubbed shows, there are two types of subtitles (for the most part, AD subs also exist but are very uncommon), closed caption and on screen translation subtitles: closed caption captures only character dialogues (generally), whereas the on screen translation subs translate signs and such on screen, typically using ASS subtitles (so fancy typesetting texts). - As it so turned out, you can’t pick both subtitles at the same time, which makes it really annoying for me to hear what the dialogues are saying if there are a lot of sound effects and BGM. So, I decided to look into how I can render both types of subtitles. - After a long course of development, and many hurdles (mostly related to Crunchyroll’s internal API being very not external developer friendly, I wonder why…), I was able to ship this little extension, which currently has about 200 or so active users? - -TLDR: Crunchyroll default subtitle system sucks so I made it better. Also if you don’t have Crunchyroll just watch this slightly outdated demo video: https://www.youtube.com/watch?v=C6fvmeJ0SoM", "repo": "https://github.com/AndyNoob/crunchyroll-dual-subs", "demo": "https://chromewebstore.google.com/detail/crunchyroll-dual-subs/mahcmkjllaabldhminilhldfiickigmi"}]...
|
[{"post_id": 79415, "ts": "202 [{"post_id": 79415, "ts": "2026-10-13T21:22:25Z", "hours": 0.9047, "text": "NEW FEATURE ALERT - Due to popular requests (one person on Github who opened an issue), I have added a spanking new feature to move subtitles up and down. LIFE CHANGING, I know. - Rahaha, more stuff incoming. Also the more I work on tis the more I realize my code sucks."}, {"post_id": 72422, "ts": "2026-09-22T22:05:42Z", "hours": 1.7556, "text": "Yoo - Kind of forgot to post this one. Basically, I just made it so the subtitles loaded from the original audio are marked as [original] , you can pick either or. - That’s about it. Yay"}, {"post_id": 39304, "ts": "2026-08-02T06:02:52Z", "hours": 9.5822, "text": "Been a minute. - Let’s see what I worked on… Mostly fixing minor issues. LIke subtitles being unmovable. And after that fixed it teleporting to Narnia when being moved. While I was doing that, I actually finished the subtitle editor in last devlog that I actually didn’t finish. - Aside from the UI, there’s also numerous minor bugs that sometimes causes the side bar to malfunction. And some that causes the extension to not load. All that good stuff. - The biggest update, however, is that the extension, using a very, very sneaky method, now loads additional subtitles for dubbed episodes. Typically, the majority of subtitles are made for the original audio language (Japanese mostly), and they are usually drag-and-drop ready for other audio languages. The idea is nothing new, but I had to brainstorm a new way of achieving that. - Essentially, the extension “mimics” the Crunchyroll player by making a stream request to the original audio language, and capturing the subtitles. All before the actual player starts its own stream request. This way, we don’t trigger the concurrent stream limit. Pretty neat! - Also added a on/off switch because you never know when this might break. Peak CSS right here haha."}, {"post_id": 33250, "ts": "2026-07-23T00:31:38Z", "hours": 7.1061, "text": "Worked on a bunch of stuff, mostly random issues: extension broken on Opera, extension randomly not updating subtitles, features of extension randomly bricking if you do a specific set of stuff (like adding and deleting masks really fast). - Other than that, I added a new subtitle style editor. I thought it was gonna be a 30min quick change. And then it ended up being like 4 hours long. The font selector is so damn annoying to add because there’s really only one way to do it, and that’s through Google. And of course it’s going to be a pain in the rear when it’s Google. - Whatever, at least it looks good."}, {"post_id": 29868, "ts": "2026-07-17T00:59:24Z", "hours": 3.2006, "text": "Fixed a bunnnnnch of issues as an aftermath of the last devlog… Took a minute but I finally released 0.12.0 (and immediately realized there’s more bugs. Also cleaned up the README and made it look real fancy."}, {"post_id": 28206, "ts": "2026-07-14T10:49:37Z", "hours": 7.2869, "text": "Ok, it’s been a minute, so let me go over the changes. (also i finally figured out you need to shift + enter to do new line bruh) Firstly, in preparation for the subtitle masking feature, I changed the extension popup to be a side bar/panel instead. This way, you can keep it open while you interact with the page. Secondly, I swapped the old “Reset subtitle position” button (which didn’t even work LMAO) with the new “Edit subtitle configuration” button. When you click it, a new section expands. This is where my other project (move-it) plays in! (see video). When you add a mask, it will block out subtitles using the CSS clip-path property, which is pretty neat! I also fixed a bunch of random issues along the way, so yay!"}, {"post_id": 25032, "ts": "2026-07-08T23:35:26Z", "hours": 6.48, "text": "Forgot to post devlogs ngl… Anyways, I fixed a bunch of weird bugs and compatibility issues with other extensions and userscripts. And then, I spent a few hours restyling the scoped options menu. Look at it moveee- Anyways, the moving part is made with a see through ::after element that is moved using the CSS transform: translateX element. I am able to move it programmatically by changing a CSS property/variable that translateX reads from. And then, I slapped a fancy transition on there. Works like a charm! (I had considered doing slide effect on the actual options, but that seemed like too much work haha.)"}, {"post_id": 10370, "ts": "2026-06-17T01:40:31Z", "hours": 3.7725, "text": "Working on the prerequisite parts of implementing a subtitle masking feature (hide subtitle base on defined areas). Also released 0.11.0 of the extension. Out on chrome already but firefox will probably be another month :sigh:"}, {"post_id": 8287, "ts": "2026-06-13T19:39:02Z", "hours": 0.7133, "text": "Nice… negative notes. The users’ll absolutely adore this."}, {"post_id": 7889, "ts": "2026-06-13T05:08:58Z", "hours": 3.8869, "text": "IT MOVESSS!! What’s happening here is that the extension loads JSON data from an unlisted Gist and reads the developer notes that I put down every 5 hours. Once it does, it populates the popup with those notes. The “1 new notes” thing isn’t actively updated yet, so I’ll implement that next. Just need to keep track of opened notes using their slug. Only took 4 hrs 🫠"}, {"post_id": 7250, "ts": "2026-06-12T02:53:56Z", "hours": 2.3333, "text": "Currently trying to add a dev note/changelog system by loading a gist that I have loaded on my system as a git repo and then symlinked as a file in my actual project. I actually did not know you could do that, learned it from Claude ha! Anyways, adding a new section to the popup menu, so I had to make some space. My solution: SMOOOOTH drop down. Note how the border-radius on the bottom of the overlay settings change from 0 to rounded at different speed depending on if the drop down is retracting vs. extending. CSS is a pain in the rear even when AI is helping…"}]...
|
Title: Crunchyroll Multi Sub by @AndyNoob | Starda Title: Crunchyroll Multi Sub by @AndyNoob | Stardance
Devlogs:
Currently trying to add a dev note/changelog system by loading a gist that I have loaded on my system as a git repo and then symlinked as a file in my actual project. I actually did not know you could do that, learned it from Claude ha! Anyways, adding a new section to the popup menu, so I had to make some space. My solution: SMOOOOTH drop down. Note how the border-radius on the bottom of the overlay settings change from 0 to rounded at different speed depending on if the drop down is retracting vs. extending. CSS is a pain in the rear even when AI is helping…
IT MOVESSS!! What’s happening here is that the extension loads JSON data from an unlisted Gist and reads the developer notes that I put down every 5 hours. Once it does, it populates the popup with those notes. The “1 new notes” thing isn’t actively updated yet, so I’ll implement that next. Just need to keep track of opened notes using their slug. Only took 4 hrs 🫠
Nice… negative notes. The users’ll absolutely adore this.
Working on the prerequisite parts of implementing a subtitle masking feature (hide subtitle base on defined areas). Also released 0.11.0 of the extension. Out on chrome already but firefox will probably be another month :sigh:
Forgot to post devlogs ngl… Anyways, I fixed a bunch of weird bugs and compatibility issues with other extensions and userscripts. And then, I spent a few hours restyling the scoped options menu. Look at it moveee- Anyways, the moving part is made with a see through ::after element that is moved using the CSS transform: translateX element. I am able to move it programmatically by changing a CSS property/variable that translateX reads from. And then, I slapped a fancy transition on there. Works like a charm! (I had considered doing slide effect on the actual options, but that seemed like too much work haha.)
Ok, it’s been a minute, so let me go over the changes. (also i finally figured out you need to shift + enter to do new line bruh) Firstly, in preparation for the subtitle masking feature, I changed the extension popup to be a side bar/panel instead. This way, you can keep it open while you interact with the page. Secondly, I swapped the old “Reset subtitle position” button (which didn’t even work LMAO) with the new “Edit subtitle configuration” button. When you click it, a new section expands. This is where my other project (move-it) plays in! (see video). When you add a mask, it will block out subtitles using the CSS clip-path property, which is pretty neat! I also fixed a bunch of random issues along the way, so yay!
Fixed a bunnnnnch of issues as an aftermath of the last devlog… Took a minute but I finally released 0.12.0 (and immediately realized there’s more bugs. Also cleaned up the README and made it look real fancy.
Worked on a bunch of stuff, mostly random issues: extension broken on Opera, extension randomly not updating subtitles, features of extension randomly bricking if you do a specific set of stuff (like adding and deleting masks really fast). - Other than that, I added a new subtitle style editor. I thought it was gonna be a 30min quick change. And then it ended up being like 4 hours long. The font selector is so damn annoying to add because there’s really only one way to do it, and that’s through Google. And of course it’s going to be a pain in the rear when it’s Google. - Whatever, at least it looks good.
Been a minute. - Let’s see what I worked on… Mostly fixing minor issues. LIke subtitles being unmovable. And after that fixed it teleporting to Narnia when being moved. While I was doing that, I actually finished the subtitle editor in last devlog that I actually didn’t finish. - Aside from the UI, there’s also numerous minor bugs that sometimes causes the side bar to malfunction. And some that causes the extension to not load. All that good stuff. - The biggest update, however, is that the extension, using a very, very sneaky method, now loads additional subtitles for dubbed episodes. Typically, the majority of subtitles are made for the original audio language (Japanese mostly), and they are usually drag-and-drop ready for other audio languages. The idea is nothing new, but I had to brainstorm a new way of achieving that. - Essentially, the extension “mimics” the Crunchyroll player by making a stream request to the original audio language, and capturing the subtitles. All before the actual player starts its own stream request. This way, we don’t trigger the concurrent stream limit. Pretty neat! - Also added a on/off switch because you never know when this might break. Peak CSS right here haha.
Yoo - Kind of forgot to post this one. Basically, I just made it so the subtitles loaded from the original audio are marked as [original] , you can pick either or. - That’s about it. Yay
NEW FEATURE ALERT - Due to popular requests (one person on Github who opened an issue), I have added a spanking new feature to move subtitles up and down. LIFE CHANGING, I know. - Rahaha, more stuff incoming. Also the more I work on tis the more I realize my code sucks.
Ships:
Alright, it’s been a pretty long ride, so let me try to sum this up. - The idea for this extension sprang forth when I was trying to watch Frieren. For context, on Crunchyroll dubbed shows, there are two types of subtitles (for the most part, AD subs also exist but are very uncommon), closed caption and on screen translation subtitles: closed caption captures only character dialogues (generally), whereas the on screen translation subs translate signs and such on screen, typically using ASS subtitles (so fancy typesetting texts). - As it so turned out, you can’t pick both subtitles at the same time, which makes it really annoying for me to hear what the dialogues are saying if there are a lot of sound effects and BGM. So, I decided to look into how I can render both types of subtitles. - After a long course of development, and many hurdles (mostly related to Crunchyroll’s internal API being very not external developer friendly, I wonder why…), I was able to ship this little extension, which currently has about 200 or so active users? - -TLDR: Crunchyroll default subtitle system sucks so I made it better. Also if you don’t have Crunchyroll just watch this slightly outdated demo video: https://www.youtube.com/watch?v=C6fvmeJ0SoM...
|
1793148944.4409976
|
1793235344.4409976
|
|
5556
|
3D physics simulator by @qstorm | Stardance
|
qstorm
|
1
|
46.89
|
201
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T01:58:00Z", "hours": 45.0, "multiplier": 9.87, "payout": 201, "blessing": "neutral", "text": "The 3D renderer portion of this project is officially complete, importing unique objects like the teapot is currently not possible but adding objects is! This is the first stage before I implement collision and physics!", "repo": "https://github.com/qstorm1/3D-pysics-Simulator", "demo": "https://github.com/qstorm1/3D-pysics-Simulator/releases/tag/pre-1.1"}]...
|
[{"post_id": 44984, "ts": "202 [{"post_id": 44984, "ts": "2026-08-11T03:25:41Z", "hours": 1.8914, "text": "Update to build! I had some issues with building the project in git. almost lost my project files lmao. Anyway, I used maven to create a build, which basically means automatically pushing file to a .jar file. I had to use AI to get some automation done just because I didn’t know how to use build tools very well. Anyway now you don’t need to download off a shady google drive link! If anyone is curious as to what maven is check out this article https://www.geeksforgeeks.org/java/what-is-a-build-tool/"}, {"post_id": 40435, "ts": "2026-08-03T23:06:25Z", "hours": 11.8056, "text": "Currently in order to understand the more advance complexities of collision detection I’ve been working on a simple 2d particle collision engine, right now I’m working on correctly depicting movement using an rk4 movement system and continuous collision detection. I’ve also mananged to make a simple sweep and prune algorithm, once I get movement to work I plan on adding the axis alligned thing so that it works with other shapes. afterwards I may need to completely rearrange my code because of some thread related issues. In short, my program uses 3 threads the renderer, the physics engine, and the UI handler. Currently some issues have arose in the rendering thread due to swing not being very good with the override canvas feature, therefore meaning I have to rewrite the drawing system and rendering thread (though all the math and the pipeline it self shouldn’t face any changes). I plan on not adding shaders for a bit though. Furthermore, I plan on temporarly pausing work on this project, actually for the last week I haven’t really worked much on it because I spend so much time researching and not a lot of time coding. My current computer is on the verge of breaking so I really need to get hours in for a new one. Additionally I’ve been intrested in working on minecraft modding so IDK when I’ll start up this project again"}, {"post_id": 27328, "ts": "2026-07-12T20:15:23Z", "hours": 33.0056, "text": "Settings menu and new object creation menu has been implemented! (though not very good yet), After I fix all the bugs and make sure everything is working correctly, I plan on replacing the boring swing components with unique designs"}, {"post_id": 12874, "ts": "2026-06-21T02:50:42Z", "hours": 0.3347, "text": "Completed 3D renderer using perspective projection basic physics has been implemented (before joining Stardance but after June 1st) currently working on user interface and cleaning up code (If your rating me based off devlogs after my first ship then you should look at my later ships cause my first few suck)"}]...
|
Title: 3D physics simulator by @qstorm | Stardance Title: 3D physics simulator by @qstorm | Stardance
Devlogs:
Completed 3D renderer using perspective projection basic physics has been implemented (before joining Stardance but after June 1st) currently working on user interface and cleaning up code (If your rating me based off devlogs after my first ship then you should look at my later ships cause my first few suck)
Settings menu and new object creation menu has been implemented! (though not very good yet), After I fix all the bugs and make sure everything is working correctly, I plan on replacing the boring swing components with unique designs
Currently in order to understand the more advance complexities of collision detection I’ve been working on a simple 2d particle collision engine, right now I’m working on correctly depicting movement using an rk4 movement system and continuous collision detection. I’ve also mananged to make a simple sweep and prune algorithm, once I get movement to work I plan on adding the axis alligned thing so that it works with other shapes. afterwards I may need to completely rearrange my code because of some thread related issues. In short, my program uses 3 threads the renderer, the physics engine, and the UI handler. Currently some issues have arose in the rendering thread due to swing not being very good with the override canvas feature, therefore meaning I have to rewrite the drawing system and rendering thread (though all the math and the pipeline it self shouldn’t face any changes). I plan on not adding shaders for a bit though. Furthermore, I plan on temporarly pausing work on this project, actually for the last week I haven’t really worked much on it because I spend so much time researching and not a lot of time coding. My current computer is on the verge of breaking so I really need to get hours in for a new one. Additionally I’ve been intrested in working on minecraft modding so IDK when I’ll start up this project again
Update to build! I had some issues with building the project in git. almost lost my project files lmao. Anyway, I used maven to create a build, which basically means automatically pushing file to a .jar file. I had to use AI to get some automation done just because I didn’t know how to use build tools very well. Anyway now you don’t need to download off a shady google drive link! If anyone is curious as to what maven is check out this article https://www.geeksforgeeks.org/java/what-is-a-build-tool/
Ships:
The 3D renderer portion of this project is officially complete, importing unique objects like the teapot is currently not possible but adding objects is! This is the first stage before I implement collision and physics!...
|
1793087722.6028178
|
1793174122.6028178
|
|
26474
|
DesicCat by @salmorejo | Stardance
|
salmorejo
|
0
|
46.88
|
0
|
[]
|
[{"post_id": 34850, "ts": "202 [{"post_id": 34850, "ts": "2026-07-25T21:41:32Z", "hours": 2.4597, "text": "Devlog 5: Hardware test Just a quick update. I’ve created this test PCB that has everything integrated; it works correctly, and I haven’t detected any errors in it or in the code during testing. However, the results are rather disappointing… The chamber doesn’t reach the target temperature within the required time. I’ve concluded that to fix this, I need to change how the heat is generated and distributed. I’ll have an update soon on how I’m going to redesign it."}, {"post_id": 33109, "ts": "2026-07-22T18:46:59Z", "hours": 23.57, "text": "Devlog 4: Final touches to the software (fr this time) First of all, here’s the GitHub repository for you to check out. I’m finally happy with the code, and now I’m going to move to the CAD design. It’s been a while since I posted a devlog because I wanted to have it almost finished before doing so. Since I’m doing a speedrun and want to finish this as soon as possible (there are some interesting new projects coming up 👀), I’m going to give a quick recap: Now the interface automatically detects if it’s in DEMO mode by checking whether you’re on the GitHub link or if the URL includes ?demo. The physical version is fully operational, and I’m already testing it in real-world scenarios (it’s not ready to show off yet). It now detects your browser’s language and adjusts automatically (it’s only in English and Spanish, and, ngl ,it’s done with AI) and you can configure the lenguage in the code. Fixed some minor bugs and improved the overall experience. There’s now a functional GitHub page (I think) with a README in progress. Another important point is that there were no security measures. Now it detects sensor failures, thermal runaways, as well as hardcoded blocks and unusual backend traffic. Both the web version and the offline version detect these issues. These are basic measures, but they’re quite necessary. I’ve done some testing with cat litter, and it has potential. I still have to finish the README and all the parts, but I’m getting closer and closer to shipping it. For the next devlog, I’ll show a physical test of how it works. P.S.: I hope you like DesicCat (it’s a mix of “desiccant” and “cat”, in case you didn’t get it ), and I PROMISE you that the images aren’t AI-generated, I actually made them myself, but I lowkey suck at graphical design."}, {"post_id": 25357, "ts": "2026-07-09T16:28:43Z", "hours": 14.8467, "text": "Devlog 3: Final touches to the software I’ve finished the part I like the least (I like them all, but this is the one I like the least ), which is the programming and getting everything ready to tackle the most interesting part of the hardware. I’ve been pretty busy these past few days, so I’ve made only minor progress, but I finally finished the following: The interface is now much nicer and easier to understand, since the structure has been completely overhauled and the design has been streamlined (Claude might have had something to do with that ). Now with 🆒 graphs! I’ve reviewed the code for the ESP32 and fixed some security issues related to Wi-Fi credentials. I’ve also optimized some parts responsible for handling the web interface data, with a little help since I’d never done this before. Now, since the web interface is much more resource-intensive, it’s not directly embedded in the C++ code that’s compiled onto the ESP32, which saves memory and frees up space for other, more important processes. Here’s an example of how I’ve been doing it so far: //Cpp stuff// const char HTML_PAGE[] PROGMEM = R\"rawhtml( <!DOCTYPE html><html> <title>Amazing HTML page</title> <body> <h1>Incredible Title</h1> <p>Wonderful Paragraph.</p> </body> </html> )rawhtml; //Rest of the code// Now, instead, I have the three files: index.html, style.css, and scrypt.js, and I use PlatformIO (the same tool used for Marlin firmware on 3D printers ) to save them directly to the ESP32 without needing to compile them with the rest of the code. There is now also an offline version. The ESP32 tries to connect to the last Wi-Fi network it was connected to, and if that network doesn’t exist or it’s the first time it’s connecting, you can enter new credentials. If it goes a certain amount of time without connecting to any network, it switches to offline mode and is controlled entirely by hardware. To complete the project (or at least the items on my to-do list) I need to do the following: Demonstrate a proof of concept showing how the cat litter is used in the project (which is one of the project’s key features, and I haven’t done anything with it yet ) Write a proper README to make it easier to use Make the GitHub repository public so you can test it Make the hardware even easier to use by reducing the controls to two buttons Design the parts to be printed and put everything together I think that’s it… I’m going to keep doing it my own way until I finish it, but if anyone is interested, I’d be happy to tell them or do whatever they ask of me!"}, {"post_id": 17903, "ts": "2026-06-28T20:47:17Z", "hours": 4.2569, "text": "Optimization and interface upgrades Just minor changes. I’ve tried to change the interface, but I’m very inexperienced with HTML, so it might just stay the way it was. I’m probably going to focus on the project itself; creating a good interface is NOT my strength. 🥶 -Code: 65% -Hardware: 20%"}, {"post_id": 17262, "ts": "2026-06-27T23:52:45Z", "hours": 1.7508, "text": "Preliminary tests and other initial steps The idea is fully developed and it’s all in my head; now I just need to bring it to life… So far, I’ve only run a few physical tests on the ESP32, identifying some bugs that I’ll have to fix. The web interface is fully operational and bug-free, but it needs to be improved to make it more visually appealing. All the logic seems correct, but there are still some security vulnerabilities. -Code: 65% -Hardware: 20%"}]...
|
Title: DesicCat by @salmorejo | Stardance
Devlogs Title: DesicCat by @salmorejo | Stardance
Devlogs:
Preliminary tests and other initial steps The idea is fully developed and it’s all in my head; now I just need to bring it to life… So far, I’ve only run a few physical tests on the ESP32, identifying some bugs that I’ll have to fix. The web interface is fully operational and bug-free, but it needs to be improved to make it more visually appealing. All the logic seems correct, but there are still some security vulnerabilities. -Code: 65% -Hardware: 20%
Optimization and interface upgrades Just minor changes. I’ve tried to change the interface, but I’m very inexperienced with HTML, so it might just stay the way it was. I’m probably going to focus on the project itself; creating a good interface is NOT my strength. 🥶 -Code: 65% -Hardware: 20%
Devlog 3: Final touches to the software I’ve finished the part I like the least (I like them all, but this is the one I like the least ), which is the programming and getting everything ready to tackle the most interesting part of the hardware. I’ve been pretty busy these past few days, so I’ve made only minor progress, but I finally finished the following: The interface is now much nicer and easier to understand, since the structure has been completely overhauled and the design has been streamlined (Claude might have had something to do with that ). Now with 🆒 graphs! I’ve reviewed the code for the ESP32 and fixed some security issues related to Wi-Fi credentials. I’ve also optimized some parts responsible for handling the web interface data, with a little help since I’d never done this before. Now, since the web interface is much more resource-intensive, it’s not directly embedded in the C++ code that’s compiled onto the ESP32, which saves memory and frees up space for other, more important processes. Here’s an example of how I’ve been doing it so far: //Cpp stuff// const char HTML_PAGE[] PROGMEM = R"rawhtml( <!DOCTYPE html><html> <title>Amazing HTML page</title> <body> <h1>Incredible Title</h1> <p>Wonderful Paragraph.</p> </body> </html> )rawhtml; //Rest of the code// Now, instead, I have the three files: index.html, style.css, and scrypt.js, and I use PlatformIO (the same tool used for Marlin firmware on 3D printers ) to save them directly to the ESP32 without needing to compile them with the rest of the code. There is now also an offline version. The ESP32 tries to connect to the last Wi-Fi network it was connected to, and if that network doesn’t exist or it’s the first time it’s connecting, you can enter new credentials. If it goes a certain amount of time without connecting to any network, it switches to offline mode and is controlled entirely by hardware. To complete the project (or at least the items on my to-do list) I need to do the following: Demonstrate a proof of concept showing how the cat litter is used in the project (which is one of the project’s key features, and I haven’t done anything with it yet ) Write a proper README to make it easier to use Make the GitHub repository public so you can test it Make the hardware even easier to use by reducing the controls to two buttons Design the parts to be printed and put everything together I think that’s it… I’m going to keep doing it my own way until I finish it, but if anyone is interested, I’d be happy to tell them or do whatever they ask of me!
Devlog 4: Final touches to the software (fr this time) First of all, here’s the GitHub repository for you to check out. I’m finally happy with the code, and now I’m going to move to the CAD design. It’s been a while since I posted a devlog because I wanted to have it almost finished before doing so. Since I’m doing a speedrun and want to finish this as soon as possible (there are some interesting new projects coming up 👀), I’m going to give a quick recap: Now the interface automatically detects if it’s in DEMO mode by checking whether you’re on the GitHub link or if the URL includes ?demo. The physical version is fully operational, and I’m already testing it in real-world scenarios (it’s not ready to show off yet). It now detects your browser’s language and adjusts automatically (it’s only in English and Spanish, and, ngl ,it’s done with AI) and you can configure the lenguage in the code. Fixed some minor bugs and improved the overall experience. There’s now a functional GitHub page (I think) with a README in progress. Another important point is that there were no security measures. Now it detects sensor failures, thermal runaways, as well as hardcoded blocks and unusual backend traffic. Both the web version and the offline version detect these issues. These are basic measures, but they’re quite necessary. I’ve done some testing with cat litter, and it has potential. I still have to finish the README and all the parts, but I’m getting closer and closer to shipping it. For the next devlog, I’ll show a physical test of how it works. P.S.: I hope you like DesicCat (it’s a mix of “desiccant” and “cat”, in case you didn’t get it ), and I PROMISE you that the images aren’t AI-generated, I actually made them myself, but I lowkey suck at graphical design.
Devlog 5: Hardware test Just a quick update. I’ve created this test PCB that has everything integrated; it works correctly, and I haven’t detected any errors in it or in the code during testing. However, the results are rather disappointing… The chamber doesn’t reach the target temperature within the required time. I’ve concluded that to fix this, I need to change how the heat is generated and distributed. I’ll have an update soon on how I’m going to redesign it....
|
1792561898.6919544
|
1793166698.6919544
|
|
55085
|
Tidal-keys by @ElGOATFilipino | Stardance
|
ElGOATFilipino
|
0
|
46.83
|
0
|
[]
|
[{"post_id": 82754, "ts": "202 [{"post_id": 82754, "ts": "2026-10-25T19:01:20Z", "hours": 1.9011, "text": "Finished BOM! Probably the most painful things to find were the 3u and ISO enter keycaps(30$ shipping), so I decided to ask my supplier for the case parts if he could also print the iso enter keycap (he said yes, so yay). I reduced the 3u to 2.75u since its easier to get. I decided that the enter should be the only 3d printed part, since regular keycaps last longer than 3d printed ones. Now I need to make a README! I made a little gif for it (stardance for some reason cant load it)."}, {"post_id": 81364, "ts": "2026-10-21T00:12:22Z", "hours": 1.4014, "text": "Almost done with the BOM! I think all the components are listed, except the keycaps, I’m going to do that tommorow. A lot of weird stuff are there, for example, only using 4 screws but the bundle is 100pcs (even though its the cheapeast)"}, {"post_id": 81131, "ts": "2026-10-20T00:44:53Z", "hours": 0.7167, "text": "Started making the BOM! Probably the thing that shocked me most were the Cherry MX2A prices (20 dollars for 36 keys!), so I tried hunting for the best key-value deal. In the end I settled for a 29 dollar 70 pcs on Aliexpress (cheapest option)"}, {"post_id": 80826, "ts": "2026-10-18T22:23:44Z", "hours": 0.9831, "text": "Finished debugging my code! It took a suprisingly long time since I had to wait like 5 minutes in between fixing sessions (16 git pushes!) to determine where the error is, though it was mainly syntax errors here and there."}, {"post_id": 80223, "ts": "2026-10-16T19:47:46Z", "hours": 1.3489, "text": "Finished the zmk code! Hi! Today I just added missing features like bluetooth, rgb, and battery level, though it took me a while because I constantly got lost in the guide and didnt understand what I was reading (especially the bluetooth part). Now all thats left is the bom and the github repo!"}, {"post_id": 80183, "ts": "2026-10-16T16:31:48Z", "hours": 4.16, "text": "Finished assembly!! Mainly took a bit longer on it because I had to fix some model errors, but apart from that everything went smoothly, the keyboard case is done! Also started working on the code, which is actually pretty simple, since im just following the zmk firmware guide."}, {"post_id": 77442, "ts": "2026-10-07T00:58:37Z", "hours": 7.2786, "text": "Hi everyone!! Sorry for not devolging in like what, more than 2 weeks? I just haven’t had a lot of time lately, had to study for a lot of test + school dances, ect,etc,etc. This means not a lot has happened these days, I’ve mainly been doing the assembly (which is almost completed) + modifying some parts bercause they didnt fit. I had a huge derail on this project, because I thought that each keycap had a litte 1mm spacing in between them, turn out that was definitely not true, so I had to work +3 hours to fix all that in the board and CAD. (I wish I had known that sooner! 😭) Trying to find keycaps for it is an actual PAIN, I really cant find 3u keycaps for DSA, so I had to improvise (just scaled a 1u horizontally, all add in the stumps later) *Right side is still in process! Also the enter key is kinda off scale, have to look into that."}, {"post_id": 70656, "ts": "2026-09-19T15:07:26Z", "hours": 5.9494, "text": "Right side CAD complete!! As planned in my figma sketch, I went with the beach themed right side split, I even added little starfish in that little empty space in the bottom right. I also decided to keep the dent that the left side has, that way they look symmetrical. Plus, I made a lid for the battery compartment with corresponding colors for each one! Now all thats left is to make the assembly! Shouldnt take long. I think I’ll do three designs: One for the left, the other for the right, and a 3rd one where both of them are together (for the picture!)"}, {"post_id": 68889, "ts": "2026-09-15T23:26:52Z", "hours": 3.9442, "text": "Finished the left splits components! Today I finished polishing the bottom part of the split, like adding the battery wire hole, and screw holes. I also made the top part of the split! I used the color stackup I said I was going to use in my figma sketch, mainly dark tones of blue. I also added white arrows (which appear in the TW title screen) on a little raised platform, and a few little bubbles as extra deco). An import change I made was changing the screws from M3 → M2, since the M2 are smaller and leave more space for clearances. Now all thats left is to make the assembly design of it! That means every single screw, key, keycap, heatset insert. And after that would come the right split and firmware!"}, {"post_id": 67682, "ts": "2026-09-13T21:02:03Z", "hours": 3.7714, "text": "(Almost) Finished making the bottom plate of the left side of my split keyboard!! As soon as I started modeling the plate, I realized I’m incredibly slow and bad at CAD, It took me almost 3 hours just to do it. Rewatching my recordings, I was probably anxious and kind of confused about the measurements and how the stackup will be. Hoepfully with the other plates I take less (I already know what to do). All I did was follow my figma drawings and I added a few modifications, such as a little wrist rest and a little thing at the top (planning to put the drawings there). Also added the little battery compartment on the bottom, and as I’m writing this, I just noticed that the battery box has no where to connect to the pcb, so I have to add that still. Another thing: I’m going to see what’s up with the hours I logged becasue according to stardance I’ve worked 4, but when I look at my lapse it only sums up to around 3 hours, so I’m going to ask in slack."}, {"post_id": 63137, "ts": "2026-09-06T19:31:10Z", "hours": 2.4481, "text": "Design time!!!!! 🌠🌠 Ok, so I didnt have much time to work on the split keyboard because I had to study for a LOT of tests. Usually before I desing something in fusion 360, I like to sketch it out first, I usually do it on my phone, but I decided to give figma a shot for this project. I probably took more time trying to figure out how properly use figma, I made some very messy stuff in it. I had two main ideas while working: First idea : Left → Wave Right → Beach But the little fleck that a wave has at the back would be bothersame while gaming. Second Idea : Based off the tidal wave title screen Left → top part of t.s Right → bottom part of t.s Cool color palette (Dark + Bright) Long story short, second idea won because its simpler and cleaner than the first one. Thats why its good to sketch it out first! Because if I had gone with my first idea immediately in fusion, I would’ve had to design all over again because I would’ve noticed the bad fleck- So now all thats left is to design the CAD!"}, {"post_id": 58429, "ts": "2026-08-30T20:56:12Z", "hours": 4.1267, "text": "PCB Finished!!! I am SUPER happy because I finished the split keyboards PCB! Though I had to redo some parts because I got confused with the footprints, so like an hour wasted right there because of a small mistake. Long story short , the LCSC SK6803 MINI-E footprint was NOT right, I discovered that all the leds in the SK series are reverse mounted (the LCSC was not), meaning that every single led in my pcb was wrong, and therefore, every single trace tied to it . Also, there were like 10000 DRC errors, because of the same LED footprint, the copper is incredibly close to the cut-out, so KiCAD just started freaking out. The cherry on top🍒🎂 : KiCAD crashed as soon as I finished everything that I just mentioned, so I had to do EVERYTHING again in 20 minutes. Other changes!: I moved some of the battery pads so I could route the LEDS easier Made all silkscreen texts face the same way so it’s easier to read + cool GD wave drawings Made each split keyboard have their own gnd net (KiCAD was trying to tie them together) Mousebites in between🐭 Assigned all the 3D models for every component! Soo, I could say the split keyboards PCB is finished , so now the next step is CAD, I still don’t know how I’m going to design the case so it looks like Tidal wave, probably going to make it cyan with fish maybe? I’ll see later."}, {"post_id": 57635, "ts": "2026-08-29T20:47:38Z", "hours": 3.6208, "text": "Almost finished with the second half of the split keyboard! I spent most of my time fighting with KiCad’s UI and trying to get the measurements of the board right, at some point I made the mistake of making the board 11.75cm and not the 11.73cm it was supposed to be (took me like 40 minutes to try and fix it), so all the wires and stuff had to be moved and replaced. I want to make each side of the board click somehow? Like not actually click but something like giving the illusion that you can merge them. Fun thing: I discovered that the key footprint library I’m using has more than just plain old keys, it has fun shapes! Like the “enter” key, plus, they are compatible with the Kailh hotswap I’m using! Another thing that I forgot to mention was that I added an extra button to the matrix, because there were some very big empty spaces near the thumb that could use an extra button, so the total button count for the split keyboard is 48. Also some keys that will use spaces slightly bigger than 1u (such as CAPS and Right shift) that are too small for the stabilizers (smallest is 2u), are a bit farther apart so they fit in the keyboard, and use the space they are supposed to. Right now I still have to check the DRC for errors + some power routing I forgot on the right side. I’m also thinking about adding some silkscreen designs to some of the free spaces on the board, so it doesnt look empty."}, {"post_id": 56781, "ts": "2026-08-28T18:00:22Z", "hours": 3.8422, "text": "Today I completed the left half of my split keyboard! I had a bit of a problem with the LED model I was going to use, since I was planning to sue the SK6812MINI-e, but discovered that it actually needs 5V to work, which is bad since we only have 3.7V coming from a 1S LiPo Battery. So, I switched to its 3mA counterpart “SK6803MINI-E” which can operate at 3.4V instead of 5. Routing wasn’t that much of a problem, a few vias usually fixed the problem. I still don’t know about the battery pads, I feel like they shouldn’t go where they are (maybe they are too close to the edge?). But apart from that, everything is ok! Now I just have to make the right side of the keyboard"}, {"post_id": 56217, "ts": "2026-08-27T21:47:10Z", "hours": 1.3364, "text": "Started making the schematic for the keyboard! I decided to go with the popular XIAO nRF52840 module, since it has wireless capabilities. The big problem for me was trying to manage my GPIO’s, since for 5 rows and 5 columns I need 10 GPIO’s, + a battery sensor, which is 11 gpio’s total (MCU max), but I was looking forward to adding sk6812mini-e leds. But I discovered that the nRF52840 has a battery sensor integrated so that would free up the necesary gpio for the leds. Another problem I had was trying to manage the button count, I was constantly switching from 6 rows, 4 columns to 5 rows 5 columns, and so on. I decided to use a 5x5 layout but leave one row (lowest one) with 3 thumb keys, which would be space, Lctrl, and LAlt. For the diodes, I decided to go with the classic 1N5819, and for the switches I decided to use the Kailh hotswap footprints."}]...
|
Title: Tidal-keys by @ElGOATFilipino | Stardance
Title: Tidal-keys by @ElGOATFilipino | Stardance
Devlogs:
Started making the schematic for the keyboard! I decided to go with the popular XIAO nRF52840 module, since it has wireless capabilities. The big problem for me was trying to manage my GPIO’s, since for 5 rows and 5 columns I need 10 GPIO’s, + a battery sensor, which is 11 gpio’s total (MCU max), but I was looking forward to adding sk6812mini-e leds. But I discovered that the nRF52840 has a battery sensor integrated so that would free up the necesary gpio for the leds. Another problem I had was trying to manage the button count, I was constantly switching from 6 rows, 4 columns to 5 rows 5 columns, and so on. I decided to use a 5x5 layout but leave one row (lowest one) with 3 thumb keys, which would be space, Lctrl, and LAlt. For the diodes, I decided to go with the classic 1N5819, and for the switches I decided to use the Kailh hotswap footprints.
Today I completed the left half of my split keyboard! I had a bit of a problem with the LED model I was going to use, since I was planning to sue the SK6812MINI-e, but discovered that it actually needs 5V to work, which is bad since we only have 3.7V coming from a 1S LiPo Battery. So, I switched to its 3mA counterpart “SK6803MINI-E” which can operate at 3.4V instead of 5. Routing wasn’t that much of a problem, a few vias usually fixed the problem. I still don’t know about the battery pads, I feel like they shouldn’t go where they are (maybe they are too close to the edge?). But apart from that, everything is ok! Now I just have to make the right side of the keyboard
Almost finished with the second half of the split keyboard! I spent most of my time fighting with KiCad’s UI and trying to get the measurements of the board right, at some point I made the mistake of making the board 11.75cm and not the 11.73cm it was supposed to be (took me like 40 minutes to try and fix it), so all the wires and stuff had to be moved and replaced. I want to make each side of the board click somehow? Like not actually click but something like giving the illusion that you can merge them. Fun thing: I discovered that the key footprint library I’m using has more than just plain old keys, it has fun shapes! Like the “enter” key, plus, they are compatible with the Kailh hotswap I’m using! Another thing that I forgot to mention was that I added an extra button to the matrix, because there were some very big empty spaces near the thumb that could use an extra button, so the total button count for the split keyboard is 48. Also some keys that will use spaces slightly bigger than 1u (such as CAPS and Right shift) that are too small for the stabilizers (smallest is 2u), are a bit farther apart so they fit in the keyboard, and use the space they are supposed to. Right now I still have to check the DRC for errors + some power routing I forgot on the right side. I’m also thinking about adding some silkscreen designs to some of the free spaces on the board, so it doesnt look empty.
PCB Finished!!! I am SUPER happy because I finished the split keyboards PCB! Though I had to redo some parts because I got confused with the footprints, so like an hour wasted right there because of a small mistake. Long story short , the LCSC SK6803 MINI-E footprint was NOT right, I discovered that all the leds in the SK series are reverse mounted (the LCSC was not), meaning that every single led in my pcb was wrong, and therefore, every single trace tied to it . Also, there were like 10000 DRC errors, because of the same LED footprint, the copper is incredibly close to the cut-out, so KiCAD just started freaking out. The cherry on top🍒🎂 : KiCAD crashed as soon as I finished everything that I just mentioned, so I had to do EVERYTHING again in 20 minutes. Other changes!: I moved some of the battery pads so I could route the LEDS easier Made all silkscreen texts face the same way so it’s easier to read + cool GD wave drawings Made each split keyboard have their own gnd net (KiCAD was trying to tie them together) Mousebites in between🐭 Assigned all the 3D models for every component! Soo, I could say the split keyboards PCB is finished , so now the next step is CAD, I still don’t know how I’m going to design the case so it looks like Tidal wave, probably going to make it cyan with fish maybe? I’ll see later.
Design time!!!!! 🌠🌠 Ok, so I didnt have much time to work on the split keyboard because I had to study for a LOT of tests. Usually before I desing something in fusion 360, I like to sketch it out first, I usually do it on my phone, but I decided to give figma a shot for this project. I probably took more time trying to figure out how properly use figma, I made some very messy stuff in it. I had two main ideas while working: First idea : Left → Wave Right → Beach But the little fleck that a wave has at the back would be bothersame while gaming. Second Idea : Based off the tidal wave title screen Left → top part of t.s Right → bottom part of t.s Cool color palette (Dark + Bright) Long story short, second idea won because its simpler and cleaner than the first one. Thats why its good to sketch it out first! Because if I had gone with my first idea immediately in fusion, I would’ve had to design all over again because I would’ve noticed the bad fleck- So now all thats left is to design the CAD!
(Almost) Finished making the bottom plate of the left side of my split keyboard!! As soon as I started modeling the plate, I realized I’m incredibly slow and bad at CAD, It took me almost 3 hours just to do it. Rewatching my recordings, I was probably anxious and kind of confused about the measurements and how the stackup will be. Hoepfully with the other plates I take less (I already know what to do). All I did was follow my figma drawings and I added a few modifications, such as a little wrist rest and a little thing at the top (planning to put the drawings there). Also added the little battery compartment on the bottom, and as I’m writing this, I just noticed that the battery box has no where to connect to the pcb, so I have to add that still. Another thing: I’m going to see what’s up with the hours I logged becasue according to stardance I’ve worked 4, but when I look at my lapse it only sums up to around 3 hours, so I’m going to ask in slack.
Finished the left splits components! Today I finished polishing the bottom part of the split, like adding the battery wire hole, and screw holes. I also made the top part of the split! I used the color stackup I said I was going to use in my figma sketch, mainly dark tones of blue. I also added white arrows (which appear in the TW title screen) on a little raised platform, and a few little bubbles as extra deco). An import change I made was changing the screws from M3 → M2, since the M2 are smaller and leave more space for clearances. Now all thats left is to make the assembly design of it! That means every single screw, key, keycap, heatset insert. And after that would come the right split and firmware!
Right side CAD complete!! As planned in my figma sketch, I went with the beach themed right side split, I even added little starfish in that little empty space in the bottom right. I also decided to keep the dent that the left side has, that way they look symmetrical. Plus, I made a lid for the battery compartment with corresponding colors for each one! Now all thats left is to make the assembly! Shouldnt take long. I think I’ll do three designs: One for the left, the other for the right, and a 3rd one where both of them are together (for the picture!)
Hi everyone!! Sorry for not devolging in like what, more than 2 weeks? I just haven’t had a lot of time lately, had to study for a lot of test + school dances, ect,etc,etc. This means not a lot has happened these days, I’ve mainly been doing the assembly (which is almost completed) + modifying some parts bercause they didnt fit. I had a huge derail on this project, because I thought that each keycap had a litte 1mm spacing in between them, turn out that was definitely not true, so I had to work +3 hours to fix all that in the board and CAD. (I wish I had known that sooner! 😭) Trying to find keycaps for it is an actual PAIN, I really cant find 3u keycaps for DSA, so I had to improvise (just scaled a 1u horizontally, all add in the stumps later) *Right side is still in process! Also the enter key is kinda off scale, have to look into that.
Finished assembly!! Mainly took a bit longer on it because I had to fix some model errors, but apart from that everything went smoothly, the keyboard case is done! Also started working on the code, which is actually pretty simple, since im just following the zmk firmware guide.
Finished the zmk code! Hi! Today I just added missing features like bluetooth, rgb, and battery level, though it took me a while because I constantly got lost in the guide and didnt understand what I was reading (especially the bluetooth part). Now all thats left is the bom and the github repo!
Finished debugging my code! It took a suprisingly long time since I had to wait like 5 minutes in between fixing sessions (16 git pushes!) to determine where the error is, though it was mainly syntax errors here and there.
Started making the BOM! Probably the thing that shocked me most were the Cherry MX2A prices (20 dollars for 36 keys!), so I tried hunting for the best key-value deal. In the end I settled for a 29 dollar 70 pcs on Aliexpress (cheapest option)
Almost done with the BOM! I think all the components are listed, except the keycaps, I’m going to do that tommorow. A lot of weird stuff are there, for example, only using 4 screws but the bundle is 100pcs (even though its the cheapeast)
Finished BOM! Probably the most painful things to find were the 3u and ISO enter keycaps(30$ shipping), so I decided to ask my supplier for the case parts if he could also print the iso enter keycap (he said yes, so yay). I reduced the 3u to 2.75u since its easier to get. I decided that the enter should be the only 3d printed part, since regular keycaps last longer than 3d printed ones. Now I need to make a README! I made a little gif for it (stardance for some reason cant load it)....
|
1793141410.9157627
|
1793746210.9157627
|
|
33760
|
EcoRover by @muhamedanber | Stardance
|
muhamedanber
|
0
|
46.81
|
0
|
[]
|
[{"post_id": 74316, "ts": "202 [{"post_id": 74316, "ts": "2026-09-27T05:21:15Z", "hours": 9.0006, "text": "Devlog #7: Pin-Pinching Hacks, Mechanical Chaos, and Big Life Updates – From Sep 21st to Sep 26th 2026 – This past week has been an absolute blur of hardware troubleshooting, unexpected setbacks, physical injuries, and huge personal milestones. After sending Jay@Stardance a video proving the Arduino Mega was officially toast ( RIP ), I jumped straight into assembling the cooling setup with the TEC1-12706 Peltier module. That thing gets insanely hot within seconds leaving me with a nice second degree burn as a souvenir. Since I still didn’t have a new tip for my soldering iron, I wired up the main rocker switch using good old Egyptian electrician techniques, twisting the bare wires around the pins in a slightly cursed knot, followed by plenty of electrical tape and heat shrink tubing. With hardware up in the air, I spent considerable time optimizing circuit logic to minimize GPIO pins so the entire project could run on a single Arduino Uno if replacement funding fell through. Bypassing the microcontroller for components that stay on continuously (like the relay) saved digital pins immediately. By tying all eight HC-SR04 ultrasonic sensor TRIG pins into a single line, the total GPIO requirement dropped down to just 13 pins, 1 shared TRIG pin + 8 individual ECHO pins 4 directional control pins for the L298N motor driver On the physical build side, I finished the insulated fridge compartment, mounted access doors, installed locking latches, and laid out the lower drive chassis. Hot glue turned out to be useless against motor torque, and the heavy lithium battery pack caused the chassis to drag, so I installed a heavy duty caster wheel underneath the frame to balance the weight. Then came the hardware headaches. The cheap 12V cooling fans turned out to be completely dead on arrival (details in the journal.md). Instead of dealing with local return hassles, I mounted them decoratively for display while keeping the working Peltier module unpowered to prevent further burns. Mid-week brought an incredible thing: I got accepted into the Faculty of Science at Cairo University! 🥳 With the Stardance deadline extended to October 31st, I took a brief breather to celebrate followed by a quick internet outage that paused video logs. so I took 2 days off Getting back to assembly, initial power tests revealed the DC motors were running way too fast. To tame the speed, I removed the jumpers on the L298N driver to enable PWM speed control, using up the absolute last 2 available GPIO pins on the Uno. I also had to rebalance the wheel alignment to expand the base area. The heavy battery was originally locking up the motors in the bottom tier, so I relocated it up to the middle tier which it’s super crowded now, but cable management kept it clean. Naturally, I managed to cut my hand on the saw again while trimming wheel clearance, but thankfully it was minor. With the chassis built and the electronics wired, the rover is practically finished. All that remains is picking up a few extra Female-Male jumper wires to mount the ultrasonic sensors on my way to college today, and EcoRover will officially be ready for initial testing. (I’m too tired to put photos, so here’s red mike wazowski again"}, {"post_id": 71596, "ts": "2026-09-21T03:52:23Z", "hours": 8.8233, "text": "Devlog #6: Unboxing, Sawdust Wars, and Smoking Arduinos – From Sep 17th to Sep 20th 2026 – The last four days have been an absolute fever dream. All 58 components finally arrived in one piece! Huge shoutout to the local sellers who threw in thank-you notes, a car freshener, and a random red Mike Wazowski figurine inside the box with the Arduino Mega . Unhinged, but cute. Naturally, right as everything landed, my body hit peak flu with brutal bone aches. But I pushed through to start assembly and prep the updated BOM. I had to cover a few out-of-pocket expenses for miscellaneous screws and hinges I forgot to calculate 🤦🏻. Also the only 3mm plywood I could source on Amazon that fit the budget came in ~30x50cm sheets, so I’m building this first physical prototype using the raw panels as is while keeping core frame dimensions intact. Later on, I decided to cut wood. Pro-tip: foldable handsaws are dangerous. I pressed the release button with my hand in the folding track. A quick flash of blood and a mini heart attack later, it stopped bleeding, thank God. Despite my clumsiness, I cut the middle layer outer shell, fridge frame, logic board mount, and lower latching mechanism. I blacked out from exhaustion right after and woke up to an immediate eviction notice from my grandma: zero woodworking in the living room. I relocated my entire workshop out to the balcony. It’s actually a great setup, plus I’ve made friends with the local balcony mouse who hangs out while I work. Despite the flu, I finished the chassis over 2 days, prepared doors/panels, and packed up the gear to move back inside. I started assembling electronics by wiring the main power rail. Within an hour, I completely scorched my soldering iron tip 🙃. Since tips are super cheap in Egypt, I’m replacing it out of pocket. My cousin set up a meeting with an electrician friend for a masterclass, but he wasn’t much help so I figured it out on my own. Health-wise, the flu is receding. Personal life is at peak chaos, but thank god we manage 🤡. Then came one of the most chaotic testing days yet. I built a 5V power distributor for the HC-SR04 sensors, routing power through the Arduino Mega’s internal regulator to get 5V . Multimeter read a clean 5.0V . Pure satisfaction. Then came the tragedy. While staring at my schematic to figure out the next step, I was holding the probe in my left hand. My hand drifted. The bare metal probe tip bridged the Arduino’s 5V pin and GND pin simultaneously. Faint click. Scent of burnt toast. I yanked the power cord instantly. Plugged back in, the board ran super hot. Multimeter showed the regulator blowing a raw 7V straight into the ATmega2560 chip. The brain of EcoRover was officially fried. I spent 20-30 minutes in full despair, but thank god, what happened happened. I reached out to the Stardance grant reviewer to explain the short circuit. Worst case: I’ll fall back to my personal non-original Arduino Uno and figure out a massive GPIO multiplexing hack to run all 8 sensors and drivers on fewer pins. Best case scenario: They approve a $ 20 grant top-up for a replacement Mega so I can stay on schedule before the September 30 deadline. To keep momentum, I tested the drive motors. My CAD planned for 2 L298N s, but Gemini sayed using 1 driver and wiring motors in parallel for differential steering. I wired it, flipped the switch, and… total silence. I panicked, thinking I blew the L298N driver. Swapped to my backup still zero power. I probed the main power line: 0V . Then I checked the inline safety fuse I wired earlier. The fuse wire was completely snapped! It blew the microsecond it sensed the high amp spike from my reverse polarity mistake, saving both motor drivers from getting destroyed. Seeing a safety feature you designed actually perform its job in real-time and save hardware from your own clumsiness is an unmatched feeling. I replaced the tiny car fuse, flipped the switch, and"}, {"post_id": 68396, "ts": "2026-09-15T01:53:37Z", "hours": 4.885, "text": "Devlog #5: Funding Cleared, Amazon, and Currency stuff – From Sep 1st to Sep 15th 2026 – Today, the funding finally got approved!!!!!! I woke up to absolute green lights and the best notification ever. Naturally, within 3 hours the money completely evaporated lol 😂. But honestly, two major roadblocks popped up back to back, only for one good fate to come through and overwrite all the stress thank god. The first headache was payment processing. Future Electronics (who was supposed to be my primary supplier for the Arduino Mega and the main LiPo setup) doesn’t accept card payments. Then RAM Electronics whicj is my second biggest supplier, turned out not to accept foreign cards. Since the grant was issued as a virtual card, that meant zero local offline shops and zero local sites without online gateways. So I had to pivot entirely to uncle Amazon who is slightly more expensive for a lot of things here, so I immediately googled \"177 usd to egp\" . The conversion hit 9,158.42 EGP (which was wayyy higher than the original 8 grand budget I calculated weeks ago) i thought i’d need to cut corners but thank god the extra grand payed for the price difference! For the first time in history the EGP dip against the USD actually worked in my favor. I didn’t just cover the costs I was fully prepared to start axing components from the build, but thank God, I didn’t have to cut a single thing. After checking out every single line item the project needed, the card balance is sitting clean at exactly $0.64 USD. The order log is wild its 43 individual orders totaling 58 pieces, modules, and physical tools. Overall shipping added up to just under 5 bucks. The sheer dopamine hit of smashing that checkout button is still running high because lowkey this is officially the biggest Amazon order of my life. Deliveries start rolling in tomorrow (aka today cuz i still havent slept and its 0450am) and will keep trickling in over the next few days. We also had to make two crucial hardware adjustments on the fly The LiPo Swap: The original LiPo battery plan had to go. Future was the only local vendor stocking the specific pack, they’re notoriously hazardous to ship/store, and finding proper balance chargers online locally was an absolute dead end. We’re swapping the primary power delivery to a safer, more accessible Lithium Ion setup. Card Only Sourcing: As mentioned, because this is an international card grant, any vendor without structured online payment processing had to be swapped out of the supply chain entirely. I’m currently in the middle of rebuilding and restructuring the entire BOM to reflect the exact Amazon components, specs, and updated unit prices. I’ll push the updated BOM file directly to the GitHub repo as soon as it’s finalized. Huge thanks again to Jay @ Stardance Hardware for helping clear the administrative loops and getting the grant active! <3 Immediate Action Plan Unbox and inspect all 58 individual components upon arrival over the next few days Complete the updated BOM spreadsheet with exact Amazon item links and prices Push the updated BOM.md and CAD changes to the main GitHub repository Lay out the real-world bench assembly and start initial power testing"}, {"post_id": 59668, "ts": "2026-09-01T16:16:29Z", "hours": 7.4781, "text": "Devlog #4: Funding Loops, Licensing Hassles, and a Huge Local Win – From Jul 31st to Sep 1st 2026 – Man, August was an absolute administrative marathon. First came the banking wild goose chase. I went through the whole process of opening a brand new USD bank account in Egypt specifically to receive the project grant, only to find out right after activation that funding was being issued as a card grant anyway 🤡. Total facepalm moment, but a good reality check to stop making assumptions before jumping through hoops. To make matters more frustrating, the grant review hit a few speedbumps. Stardance flagged my initial README as AI-generated and asked me to clean it up, fix my BOM pricing into USD, link standard STEP files, and push the initial firmware to the repo. I also ended up building off an open source obstacle detection script to get the base firmware pre release ready. Between waiting on grant replies, keeping up with these repo adjustments, and dealing with some heavy life updates floating in the background, things got pretty exhausting and its been already 8 days. Luckily, the highlight of this entire month came from reaching out to VeryNile. If you don’t know them, they are a fantastic Egyptian initiative that cleans plastic waste from the Nile using local boats, pays local fishermen to collect the waste, and employs local women from Qorsaya island to upcycle that plastic into new materials. They have a CNC machine that engraves directly on their recycled plastic sheets. Since our missions align so closely on sustainability and local impact, I wanted to collaborate with them on a custom plate for EcoRover that features our logos and a “Made in Egypt” emblem and some other logos. After a couple of calls with their team, Sama from VeryNile confirmed they would engrave and donate the custom plate for free! 🎉 with that the core design, licensing (CC-BY-NC-SA 4.0 for the hardware assets via Zenodo -to get a DOI- and MIT for the code), and local partnerships are locked in. Next up: picking up the custom plate from Qorsaya and starting physical assembly!"}, {"post_id": 49363, "ts": "2026-08-18T04:20:17Z", "hours": 6.0258, "text": "Devlog #3: Pivot, Wiring Struggles, and Learning the Hard Way – From Aug 13th to Aug 18th 2026 – Alr, a lot has happened since Devlog 2! First off, I traveled back to Egypt on August 13th, and the internet here is honestly making video editing a whole mission. I was originally using Google Vids and its AI auto-trimmer to cut out silences from my documentary footage, but uploading massive video files to Drive here completely destroys the internet plan and takes forever. I tried switching over to Premiere Pro (which my laptop usually handles pretty well), but it started lagging badly and making my laptop run super hot. After wasting about 3 hours trying to get it to run smoothly with zero luck, I decided to completely pivot: I’m setting aside the documentary video for now and focusing on keeping a detailed journal.md directly in the GitHub repo instead, uploading as many progress time-lapses there as I can. On the hardware side, I started modeling the electronics in Fritzing. Even though it’s only my second time using it, the connections are insanely annoying to trace out. I’m pretty sure some of the schematic lines look wrong on paper, but I have the whole circuit clear in my mind, so I just modeled it anyway to visualize the layout. I’ll make sure everything is hooked up correctly when I actually assemble the physical board. I also finalized the Bill of Materials (BOM) and did some price comparisons across different stores. To keep things safe, I added a few crucial safety measures like an inline fuse and a rocker switch so nothing accidentally shorts out or catches fire. Speaking of not blowing things up, I reached out to a fellow engineer, Mustafa Qasid (a mechatronics engineer and currently a B1 aircraft maintenance engineer at EgyptAir), to get his feedback on my circuit setup. Huge shout out to him! He was super supportive, though he made it clear he won’t give me direct shortcuts on the electronics. He wants me to learn through trial and error, but he promised he’d step in and tell me if anything I wired is genuinely dangerous or going to go kaboom. If it’s safe, he’s letting me figure out the best way on my own, which I really respect. Next up, finishing the parts procurement and actually getting hands-on with the physical build. Thx for reading!"}, {"post_id": 36293, "ts": "2026-07-28T09:39:29Z", "hours": 8.1536, "text": "Devlog #2: The CAD Nightmare and the New Dimensions – From jul 15 to jul 23rd 2026– Alr this whole CAD thing is a total headache. When I first started, Gemini suggested a 40x30cm footprint and 60cm height. I just started drawing it and didn’t notice it was way too short, making the trash compartment totally inaccessible and the fridge way too tiny. I didn’t notice till I was already cadding. Since 30x40cm is a good footprint, I decided to keep that but when I pulled out a physical tape measure and imagined the project I found myself bending over just to reach over that height! So, I pushed it up to 90cm, which feels much better. Gemini assumed I would use heavy materials, but I’m going lightweight, so Inshallah it won’t tip over. Now the new dimensions are: Bottom tier: 10cm for the battery, motors and H bridges, and counterweights if needed. Middle tier: The fridge and logic board layer, now pushed from 35 to 45cm. Top tier: The trash compartment, changed to 35cm instead of 15cm so people can actually use it. A quick heads up if you forgot. It’s a fancy trashcan after all, it has wheels and sensors and it’s gonna be wandering around in food courts with a built-in fridge. And it’s gonna store food leftovers. That way, whenever someone needs food, they can just take it without having to ask anyone, keeping their dignity completely intact. While still serving as a trashcan with 4 holes so it can be recycled later. Back to the story XD: This was my first time ever cadding, so I drew everything in Photoshop first. Then I watched a 20 minute video and figured the rest out in Fusion 360 on my own. Fusion was pretty heavy for my laptop, so it was a nightmare when parts failed and I had to remodel them from scratch. And in the end when I was rendering it looked a bit weird but im not gonna change it cuz i’m exhausted tbh and my patience is running thin. Also during cadding, I added some access panels for maintenance and emergency latches in case god forbid we needed to kill the power. As for the video, I decided not to script it word for word anymore, so I’m just running the camera and letting it happen. Next up, I’m modeling the electronics in fritzing (which unlike fusion I know how to use) separately, updating the BOM, working on the GitHub repo, and finally editing the existing footage. Thx for reading"}, {"post_id": 28273, "ts": "2026-07-14T12:59:15Z", "hours": 2.4453, "text": "Devlog #1: Taking EcoRover Off the Slideshow – jul 12th 2026 – Let me be honest for a second. A while ago my school pressured me and my friends into entering a local hackathon. I had exactly 24 hours to brainstorm an idea, throw a team together, build a quick prototype, and set up a booth for the final judging visit. I came up with a concept called EcoBot , which was a smart, autonomous recycling bin and bread leftovers collector designed for schools. On paper it was cool but in reality? It never actually got built. It lived and died on a slideshow to check a school box. But I actually liked the concept. So for Stardance this summer I decided to bring it back and build it for real. Except this time there’s no rush, no team, and no cutting corners to pass a class. I’m going completely solo as EcoRover . A quick BG about me: I’m Mohamed Anber, an 18yo Egyptian teen who happened to join Stardance in the final year before I’m too old for it. For the last 3 years I’ve been volunteering as an EMR with the Saudi Red Crescent Authority and a Tech Dept. supervisor with the Egyptian Red Crescent. I’ve built some pretty cool projects before (u can check them out on my website btw: https://muhamedanber.space/ ) though none of them involved trying to keep bread fresh while driving a fancy motorized trash can around. We’ll try to make smth good. 🛠️ The new Blueprint & The Specs I’ve changed the idea partially. It’s still a fancy trashcan after all, but instead of going around at schools, it’s gonna be for food courts with a built-in fridge. So instead of bread remainings, it’s gonna take food leftovers and save them. That way, whenever someone needs food, they can just take it without having to ask anyone, keeping their dignity completely intact. I’m building a triple-decker chassis: Bottom tier: Handles the heavy power and movement.* Middle tier: Houses an insulated compartment kept cold by a Peltier cooling module to keep those leftovers fresh.* top tier: Handles sorting whatever thrown into to recycle later. The Tabletop MVP Specs: The Brain: Arduino Mega 2560 (absolutely need the massive amount of IO pins). The Eyes: 4x HC-SR04 Ultrasonic Sensors mapped North, South, East, and West for 360° obstacle avoidance. The Muscle: 4x DC Yellow Smart Car Motors paired with dual L298N H-Bridge drivers. I wanted to go with mecanum wheels at first but it’s gonna be too much of a hustle rn, so we’re just doing differential drive. The Fridge: Since an actual 12V mini fridge is gonna be soo heavy, expensive and just not practical, I’m using a TEC1-12706 Peltier Thermoelectric Cooler switched via a 12V Relay module. 📹 Current Status That’s pretty much everything I’ve got down so far. Plus, I’m working on a long video to document the whole journey, so I’ve already scripted and filmed the first part-ish. Thx for reading this far, more updates soon!"}]...
|
Title: EcoRover by @muhamedanber | Stardance
Devl Title: EcoRover by @muhamedanber | Stardance
Devlogs:
Devlog #1: Taking EcoRover Off the Slideshow – jul 12th 2026 – Let me be honest for a second. A while ago my school pressured me and my friends into entering a local hackathon. I had exactly 24 hours to brainstorm an idea, throw a team together, build a quick prototype, and set up a booth for the final judging visit. I came up with a concept called EcoBot , which was a smart, autonomous recycling bin and bread leftovers collector designed for schools. On paper it was cool but in reality? It never actually got built. It lived and died on a slideshow to check a school box. But I actually liked the concept. So for Stardance this summer I decided to bring it back and build it for real. Except this time there’s no rush, no team, and no cutting corners to pass a class. I’m going completely solo as EcoRover . A quick BG about me: I’m Mohamed Anber, an 18yo Egyptian teen who happened to join Stardance in the final year before I’m too old for it. For the last 3 years I’ve been volunteering as an EMR with the Saudi Red Crescent Authority and a Tech Dept. supervisor with the Egyptian Red Crescent. I’ve built some pretty cool projects before (u can check them out on my website btw: https://muhamedanber.space/ ) though none of them involved trying to keep bread fresh while driving a fancy motorized trash can around. We’ll try to make smth good. 🛠️ The new Blueprint & The Specs I’ve changed the idea partially. It’s still a fancy trashcan after all, but instead of going around at schools, it’s gonna be for food courts with a built-in fridge. So instead of bread remainings, it’s gonna take food leftovers and save them. That way, whenever someone needs food, they can just take it without having to ask anyone, keeping their dignity completely intact. I’m building a triple-decker chassis: Bottom tier: Handles the heavy power and movement.* Middle tier: Houses an insulated compartment kept cold by a Peltier cooling module to keep those leftovers fresh.* top tier: Handles sorting whatever thrown into to recycle later. The Tabletop MVP Specs: The Brain: Arduino Mega 2560 (absolutely need the massive amount of IO pins). The Eyes: 4x HC-SR04 Ultrasonic Sensors mapped North, South, East, and West for 360° obstacle avoidance. The Muscle: 4x DC Yellow Smart Car Motors paired with dual L298N H-Bridge drivers. I wanted to go with mecanum wheels at first but it’s gonna be too much of a hustle rn, so we’re just doing differential drive. The Fridge: Since an actual 12V mini fridge is gonna be soo heavy, expensive and just not practical, I’m using a TEC1-12706 Peltier Thermoelectric Cooler switched via a 12V Relay module. 📹 Current Status That’s pretty much everything I’ve got down so far. Plus, I’m working on a long video to document the whole journey, so I’ve already scripted and filmed the first part-ish. Thx for reading this far, more updates soon!
Devlog #2: The CAD Nightmare and the New Dimensions – From jul 15 to jul 23rd 2026– Alr this whole CAD thing is a total headache. When I first started, Gemini suggested a 40x30cm footprint and 60cm height. I just started drawing it and didn’t notice it was way too short, making the trash compartment totally inaccessible and the fridge way too tiny. I didn’t notice till I was already cadding. Since 30x40cm is a good footprint, I decided to keep that but when I pulled out a physical tape measure and imagined the project I found myself bending over just to reach over that height! So, I pushed it up to 90cm, which feels much better. Gemini assumed I would use heavy materials, but I’m going lightweight, so Inshallah it won’t tip over. Now the new dimensions are: Bottom tier: 10cm for the battery, motors and H bridges, and counterweights if needed. Middle tier: The fridge and logic board layer, now pushed from 35 to 45cm. Top tier: The trash compartment, changed to 35cm instead of 15cm so people can actually use it. A quick heads up if you forgot. It’s a fancy trashcan after all, it has wheels and sensors and it’s gonna be wandering around in food courts with a built-in fridge. And it’s gonna store food leftovers. That way, whenever someone needs food, they can just take it without having to ask anyone, keeping their dignity completely intact. While still serving as a trashcan with 4 holes so it can be recycled later. Back to the story XD: This was my first time ever cadding, so I drew everything in Photoshop first. Then I watched a 20 minute video and figured the rest out in Fusion 360 on my own. Fusion was pretty heavy for my laptop, so it was a nightmare when parts failed and I had to remodel them from scratch. And in the end when I was rendering it looked a bit weird but im not gonna change it cuz i’m exhausted tbh and my patience is running thin. Also during cadding, I added some access panels for maintenance and emergency latches in case god forbid we needed to kill the power. As for the video, I decided not to script it word for word anymore, so I’m just running the camera and letting it happen. Next up, I’m modeling the electronics in fritzing (which unlike fusion I know how to use) separately, updating the BOM, working on the GitHub repo, and finally editing the existing footage. Thx for reading
Devlog #3: Pivot, Wiring Struggles, and Learning the Hard Way – From Aug 13th to Aug 18th 2026 – Alr, a lot has happened since Devlog 2! First off, I traveled back to Egypt on August 13th, and the internet here is honestly making video editing a whole mission. I was originally using Google Vids and its AI auto-trimmer to cut out silences from my documentary footage, but uploading massive video files to Drive here completely destroys the internet plan and takes forever. I tried switching over to Premiere Pro (which my laptop usually handles pretty well), but it started lagging badly and making my laptop run super hot. After wasting about 3 hours trying to get it to run smoothly with zero luck, I decided to completely pivot: I’m setting aside the documentary video for now and focusing on keeping a detailed journal.md directly in the GitHub repo instead, uploading as many progress time-lapses there as I can. On the hardware side, I started modeling the electronics in Fritzing. Even though it’s only my second time using it, the connections are insanely annoying to trace out. I’m pretty sure some of the schematic lines look wrong on paper, but I have the whole circuit clear in my mind, so I just modeled it anyway to visualize the layout. I’ll make sure everything is hooked up correctly when I actually assemble the physical board. I also finalized the Bill of Materials (BOM) and did some price comparisons across different stores. To keep things safe, I added a few crucial safety measures like an inline fuse and a rocker switch so nothing accidentally shorts out or catches fire. Speaking of not blowing things up, I reached out to a fellow engineer, Mustafa Qasid (a mechatronics engineer and currently a B1 aircraft maintenance engineer at EgyptAir), to get his feedback on my circuit setup. Huge shout out to him! He was super supportive, though he made it clear he won’t give me direct shortcuts on the electronics. He wants me to learn through trial and error, but he promised he’d step in and tell me if anything I wired is genuinely dangerous or going to go kaboom. If it’s safe, he’s letting me figure out the best way on my own, which I really respect. Next up, finishing the parts procurement and actually getting hands-on with the physical build. Thx for reading!
Devlog #4: Funding Loops, Licensing Hassles, and a Huge Local Win – From Jul 31st to Sep 1st 2026 – Man, August was an absolute administrative marathon. First came the banking wild goose chase. I went through the whole process of opening a brand new USD bank account in Egypt specifically to receive the project grant, only to find out right after activation that funding was being issued as a card grant anyway 🤡. Total facepalm moment, but a good reality check to stop making assumptions before jumping through hoops. To make matters more frustrating, the grant review hit a few speedbumps. Stardance flagged my initial README as AI-generated and asked me to clean it up, fix my BOM pricing into USD, link standard STEP files, and push the initial firmware to the repo. I also ended up building off an open source obstacle detection script to get the base firmware pre release ready. Between waiting on grant replies, keeping up with these repo adjustments, and dealing with some heavy life updates floating in the background, things got pretty exhausting and its been already 8 days. Luckily, the highlight of this entire month came from reaching out to VeryNile. If you don’t know them, they are a fantastic Egyptian initiative that cleans plastic waste from the Nile using local boats, pays local fishermen to collect the waste, and employs local women from Qorsaya island to upcycle that plastic into new materials. They have a CNC machine that engraves directly on their recycled plastic sheets. Since our missions align so closely on sustainability and local impact, I wanted to collaborate with them on a custom plate for EcoRover that features our logos and a “Made in Egypt” emblem and some other logos. After a couple of calls with their team, Sama from VeryNile confirmed they would engrave and donate the custom plate for free! 🎉 with that the core design, licensing (CC-BY-NC-SA 4.0 for the hardware assets via Zenodo -to get a DOI- and MIT for the code), and local partnerships are locked in. Next up: picking up the custom plate from Qorsaya and starting physical assembly!
Devlog #5: Funding Cleared, Amazon, and Currency stuff – From Sep 1st to Sep 15th 2026 – Today, the funding finally got approved!!!!!! I woke up to absolute green lights and the best notification ever. Naturally, within 3 hours the money completely evaporated lol 😂. But honestly, two major roadblocks popped up back to back, only for one good fate to come through and overwrite all the stress thank god. The first headache was payment processing. Future Electronics (who was supposed to be my primary supplier for the Arduino Mega and the main LiPo setup) doesn’t accept card payments. Then RAM Electronics whicj is my second biggest supplier, turned out not to accept foreign cards. Since the grant was issued as a virtual card, that meant zero local offline shops and zero local sites without online gateways. So I had to pivot entirely to uncle Amazon who is slightly more expensive for a lot of things here, so I immediately googled "177 usd to egp" . The conversion hit 9,158.42 EGP (which was wayyy higher than the original 8 grand budget I calculated weeks ago) i thought i’d need to cut corners but thank god the extra grand payed for the price difference! For the first time in history the EGP dip against the USD actually worked in my favor. I didn’t just cover the costs I was fully prepared to start axing components from the build, but thank God, I didn’t have to cut a single thing. After checking out every single line item the project needed, the card balance is sitting clean at exactly $0.64 USD. The order log is wild its 43 individual orders totaling 58 pieces, modules, and physical tools. Overall shipping added up to just under 5 bucks. The sheer dopamine hit of smashing that checkout button is still running high because lowkey this is officially the biggest Amazon order of my life. Deliveries start rolling in tomorrow (aka today cuz i still havent slept and its 0450am) and will keep trickling in over the next few days. We also had to make two crucial hardware adjustments on the fly The LiPo Swap: The original LiPo battery plan had to go. Future was the only local vendor stocking the specific pack, they’re notoriously hazardous to ship/store, and finding proper balance chargers online locally was an absolute dead end. We’re swapping the primary power delivery to a safer, more accessible Lithium Ion setup. Card Only Sourcing: As mentioned, because this is an international card grant, any vendor without structured online payment processing had to be swapped out of the supply chain entirely. I’m currently in the middle of rebuilding and restructuring the entire BOM to reflect the exact Amazon components, specs, and updated unit prices. I’ll push the updated BOM file directly to the GitHub repo as soon as it’s finalized. Huge thanks again to Jay @ Stardance Hardware for helping clear the administrative loops and getting the grant active! <3 Immediate Action Plan Unbox and inspect all 58 individual components upon arrival over the next few days Complete the updated BOM spreadsheet with exact Amazon item links and prices Push the updated BOM.md and CAD changes to the main GitHub repository Lay out the real-world bench assembly and start initial power testing
Devlog #6: Unboxing, Sawdust Wars, and Smoking Arduinos – From Sep 17th to Sep 20th 2026 – The last four days have been an absolute fever dream. All 58 components finally arrived in one piece! Huge shoutout to the local sellers who threw in thank-you notes, a car freshener, and a random red Mike Wazowski figurine inside the box with the Arduino Mega . Unhinged, but cute. Naturally, right as everything landed, my body hit peak flu with brutal bone aches. But I pushed through to start assembly and prep the updated BOM. I had to cover a few out-of-pocket expenses for miscellaneous screws and hinges I forgot to calculate 🤦🏻. Also the only 3mm plywood I could source on Amazon that fit the budget came in ~30x50cm sheets, so I’m building this first physical prototype using the raw panels as is while keeping core frame dimensions intact. Later on, I decided to cut wood. Pro-tip: foldable handsaws are dangerous. I pressed the release button with my hand in the folding track. A quick flash of blood and a mini heart attack later, it stopped bleeding, thank God. Despite my clumsiness, I cut the middle layer outer shell, fridge frame, logic board mount, and lower latching mechanism. I blacked out from exhaustion right after and woke up to an immediate eviction notice from my grandma: zero woodworking in the living room. I relocated my entire workshop out to the balcony. It’s actually a great setup, plus I’ve made friends with the local balcony mouse who hangs out while I work. Despite the flu, I finished the chassis over 2 days, prepared doors/panels, and packed up the gear to move back inside. I started assembling electronics by wiring the main power rail. Within an hour, I completely scorched my soldering iron tip 🙃. Since tips are super cheap in Egypt, I’m replacing it out of pocket. My cousin set up a meeting with an electrician friend for a masterclass, but he wasn’t much help so I figured it out on my own. Health-wise, the flu is receding. Personal life is at peak chaos, but thank god we manage 🤡. Then came one of the most chaotic testing days yet. I built a 5V power distributor for the HC-SR04 sensors, routing power through the Arduino Mega’s internal regulator to get 5V . Multimeter read a clean 5.0V . Pure satisfaction. Then came the tragedy. While staring at my schematic to figure out the next step, I was holding the probe in my left hand. My hand drifted. The bare metal probe tip bridged the Arduino’s 5V pin and GND pin simultaneously. Faint click. Scent of burnt toast. I yanked the power cord instantly. Plugged back in, the board ran super hot. Multimeter showed the regulator blowing a raw 7V straight into the ATmega2560 chip. The brain of EcoRover was officially fried. I spent 20-30 minutes in full despair, but thank god, what happened happened. I reached out to the Stardance grant reviewer to explain the short circuit. Worst case: I’ll fall back to my personal non-original Arduino Uno and figure out a massive GPIO multiplexing hack to run all 8 sensors and drivers on fewer pins. Best case scenario: They approve a $ 20 grant top-up for a replacement Mega so I can stay on schedule before the September 30 deadline. To keep momentum, I tested the drive motors. My CAD planned for 2 L298N s, but Gemini sayed using 1 driver and wiring motors in parallel for differential steering. I wired it, flipped the switch, and… total silence. I panicked, thinking I blew the L298N driver. Swapped to my backup still zero power. I probed the main power line: 0V . Then I checked the inline safety fuse I wired earlier. The fuse wire was completely snapped! It blew the microsecond it sensed the high amp spike from my reverse polarity mistake, saving both motor drivers from getting destroyed. Seeing a safety feature you designed actually perform its job in real-time and save hardware from your own clumsiness is an unmatched feeling. I replaced the tiny car fuse, flipped the switch, and
Devlog #7: Pin-Pinching Hacks, Mechanical Chaos, and Big Life Updates – From Sep 21st to Sep 26th 2026 – This past week has been an absolute blur of hardware troubleshooting, unexpected setbacks, physical injuries, and huge personal milestones. After sending Jay@Stardance a video proving the Arduino Mega was officially toast ( RIP ), I jumped straight into assembling the cooling setup with the TEC1-12706 Peltier module. That thing gets insanely hot within seconds leaving me with a nice second degree burn as a souvenir. Since I still didn’t have a new tip for my soldering iron, I wired up the main rocker switch using good old Egyptian electrician techniques, twisting the bare wires around the pins in a slightly cursed knot, followed by plenty of electrical tape and heat shrink tubing. With hardware up in the air, I spent considerable time optimizing circuit logic to minimize GPIO pins so the entire project could run on a single Arduino Uno if replacement funding fell through. Bypassing the microcontroller for components that stay on continuously (like the relay) saved digital pins immediately. By tying all eight HC-SR04 ultrasonic sensor TRIG pins into a single line, the total GPIO requirement dropped down to just 13 pins, 1 shared TRIG pin + 8 individual ECHO pins 4 directional control pins for the L298N motor driver On the physical build side, I finished the insulated fridge compartment, mounted access doors, installed locking latches, and laid out the lower drive chassis. Hot glue turned out to be useless against motor torque, and the heavy lithium battery pack caused the chassis to drag, so I installed a heavy duty caster wheel underneath the frame to balance the weight. Then came the hardware headaches. The cheap 12V cooling fans turned out to be completely dead on arrival (details in the journal.md). Instead of dealing with local return hassles, I mounted them decoratively for display while keeping the working Peltier module unpowered to prevent further burns. Mid-week brought an incredible thing: I got accepted into the Faculty of Science at Cairo University! 🥳 With the Stardance deadline extended to October 31st, I took a brief breather to celebrate followed by a quick internet outage that paused video logs. so I took 2 days off Getting back to assembly, initial power tests revealed the DC motors were running way too fast. To tame the speed, I removed the jumpers on the L298N driver to enable PWM speed control, using up the absolute last 2 available GPIO pins on the Uno. I also had to rebalance the wheel alignment to expand the base area. The heavy battery was originally locking up the motors in the bottom tier, so I relocated it up to the middle tier which it’s super crowded now, but cable management kept it clean. Naturally, I managed to cut my hand on the saw again while trimming wheel clearance, but thankfully it was minor. With the chassis built and the electronics wired, the rover is practically finished. All that remains is picking up a few extra Female-Male jumper wires to mount the ultrasonic sensors on my way to college today, and EcoRover will officially be ready for initial testing. (I’m too tired to put photos, so here’s red mike wazowski again...
|
1792561759.9054863
|
1793166559.9054863
|
|
48624
|
Student Planner by @kelliecpiano | Stardance
|
kelliecpiano
|
0
|
46.77
|
0
|
[]
|
[{"post_id": 73377, "ts": "202 [{"post_id": 73377, "ts": "2026-09-25T01:18:58Z", "hours": 29.5442, "text": "hi, alright i forgot to do this I changed a huge amount of stuff, the theming is mostly different, changed to a star theming and i polished a bunch of the small stuff like the ai announcements, moved to an actual vercel server + linked to actual claude api. also added a super cool looking hero on the home page!"}, {"post_id": 59990, "ts": "2026-09-02T02:26:55Z", "hours": 1.3233, "text": "I added a cute pomodoro timer and music player to my planner! As of now, the UI is SUPER ugly, but at least it functions, and it’s some cute productivity tools that I think will make the planner more fun and also more of a dashboard for your work. Something I’m struggling on is how I should organize these so that the regular schedule still shows up properly, but these are also easily accessible… any thoughts would be greatly appreciated in the comments!"}, {"post_id": 59300, "ts": "2026-09-01T00:39:54Z", "hours": 2.9981, "text": "Suggested Tasks Module: Done! tldr: the website now suggests assignments using ai inferencing, and catches duplicates with pre-existing tasks after a LOT of wrestling with the prompts. Alright, the title is a bit deceiving, it’s not the best right now. As you might know, I’m trying to get my website to automatically pull Canvas Assignments, and not only that but also read teacher announcements and use an AI model to inference what assignments the teacher put in the announcements. Now, the assignment maker thingy works, it creates proposed tasks pretty appropriately and more or less catches everything. Of course, the user shouldn’t rely entirely on the AI since it’s quite experimental but at least it works. The issue with that though is that the AI that makes the tasks doesn’t know what tasks the user already has (the stuff that’s auto imported from canvas, which is super consistent because it’s literally canvas’s data). So, I had to build a duplicate checker, which is another ai model that compares the task that’s proposed with plausible other tasks in a time frame in the same class. If it believes it’s the same assignment, it’ll display a warning telling the student it’s likely the same task as X. IT WAS SO HARD GETTING THE OLLAMA MODEL TO RETURN ACCURATE JSON AND ACTUALLY INFERENCE CORRECTLY BUT I DID IT. (some info in the ss is redacted for my privacy :))"}, {"post_id": 53501, "ts": "2026-08-24T02:26:27Z", "hours": 0.9378, "text": "I finally made the planner sync with the extension! So, now, the planner website grabs the info from the prisma database instead of just directly using the API Key (which was what I was doing before in the earliest phases of my development). Now, when you click sync button, the assignments sync to the database and the planner pulls from database to display the assignments! There’s also a button to analyze announcements now, it pulls again from the database as well, and prints the inferenced tasks into the console for now (eventually it’ll be a quick approval menu that the user just swipes/clicks a button to approve the ai inferenced tasks)"}, {"post_id": 50732, "ts": "2026-08-20T02:33:09Z", "hours": 0.5061, "text": "I managed to get the extension logging in working! Now the extension redirects to a page on my site when you click Sign in, then once you’re authenticated on the site, the extension recognizes that authenticated token and says “signed in”!"}, {"post_id": 50063, "ts": "2026-08-19T03:19:37Z", "hours": 1.1944, "text": "Continuing on my journey to work on the extension: Soooooo, it’s quite difficult, honestly more difficult than I expected, but I got it to create a window popup that will save the canvas url (in case different institutions use different urls), a manual sync button which will eventually be automatic, and also a button to sign in. Right now the callback doesn’t work properly for the sign in, but it at least redirects properly to the website server!!"}, {"post_id": 48659, "ts": "2026-08-17T04:30:25Z", "hours": 0.4258, "text": "What a hectic 25 minutes! The original goal of this project is to get it to be able to automatically pull announcements and assignments from canvas with as little effort from the user as possible, but only after doing some research (like 10-15 hours of working on this project later), I REALIZED YOU NEED A DEVELOPER KEY FOR THE API METHOD I WAS THINKING OF!! That was pretty frustrating, because there’s no way I’m going to get permissions from all the schools I want to reach from this eventually that a random person built a schedule app and just ask them to allow me to access their data. Thankfully though, I managed to figure out a workaround, which is to create a lightweight browser extension that just gets the data from canvas and sends it to the website. I’ve literally never built a chrome extension before, but I got it to pull a bit of info from canvas automatically and print to console. (oh also I got an ugly looking login page working, but hey at least it works!) That’s all, thank you!"}, {"post_id": 47799, "ts": "2026-08-16T00:21:15Z", "hours": 0.5467, "text": "Finished actual Google OAuth and the ability to sign in and sign out! I’m working on making it a true account system but at least I’m one step of the way, hehe :)"}, {"post_id": 47777, "ts": "2026-08-15T22:59:15Z", "hours": 9.2931, "text": "Worked on a bunch of stuff, I just started the project but have a lot of basic stuff done. Lots of things like setting tasks, using the block method that works the best for me, ability to change from light to dark mode, and xp system. currently working on oauth and account system!"}]...
|
Title: Student Planner by @kelliecpiano | Stardanc Title: Student Planner by @kelliecpiano | Stardance
Devlogs:
Worked on a bunch of stuff, I just started the project but have a lot of basic stuff done. Lots of things like setting tasks, using the block method that works the best for me, ability to change from light to dark mode, and xp system. currently working on oauth and account system!
Finished actual Google OAuth and the ability to sign in and sign out! I’m working on making it a true account system but at least I’m one step of the way, hehe :)
What a hectic 25 minutes! The original goal of this project is to get it to be able to automatically pull announcements and assignments from canvas with as little effort from the user as possible, but only after doing some research (like 10-15 hours of working on this project later), I REALIZED YOU NEED A DEVELOPER KEY FOR THE API METHOD I WAS THINKING OF!! That was pretty frustrating, because there’s no way I’m going to get permissions from all the schools I want to reach from this eventually that a random person built a schedule app and just ask them to allow me to access their data. Thankfully though, I managed to figure out a workaround, which is to create a lightweight browser extension that just gets the data from canvas and sends it to the website. I’ve literally never built a chrome extension before, but I got it to pull a bit of info from canvas automatically and print to console. (oh also I got an ugly looking login page working, but hey at least it works!) That’s all, thank you!
Continuing on my journey to work on the extension: Soooooo, it’s quite difficult, honestly more difficult than I expected, but I got it to create a window popup that will save the canvas url (in case different institutions use different urls), a manual sync button which will eventually be automatic, and also a button to sign in. Right now the callback doesn’t work properly for the sign in, but it at least redirects properly to the website server!!
I managed to get the extension logging in working! Now the extension redirects to a page on my site when you click Sign in, then once you’re authenticated on the site, the extension recognizes that authenticated token and says “signed in”!
I finally made the planner sync with the extension! So, now, the planner website grabs the info from the prisma database instead of just directly using the API Key (which was what I was doing before in the earliest phases of my development). Now, when you click sync button, the assignments sync to the database and the planner pulls from database to display the assignments! There’s also a button to analyze announcements now, it pulls again from the database as well, and prints the inferenced tasks into the console for now (eventually it’ll be a quick approval menu that the user just swipes/clicks a button to approve the ai inferenced tasks)
Suggested Tasks Module: Done! tldr: the website now suggests assignments using ai inferencing, and catches duplicates with pre-existing tasks after a LOT of wrestling with the prompts. Alright, the title is a bit deceiving, it’s not the best right now. As you might know, I’m trying to get my website to automatically pull Canvas Assignments, and not only that but also read teacher announcements and use an AI model to inference what assignments the teacher put in the announcements. Now, the assignment maker thingy works, it creates proposed tasks pretty appropriately and more or less catches everything. Of course, the user shouldn’t rely entirely on the AI since it’s quite experimental but at least it works. The issue with that though is that the AI that makes the tasks doesn’t know what tasks the user already has (the stuff that’s auto imported from canvas, which is super consistent because it’s literally canvas’s data). So, I had to build a duplicate checker, which is another ai model that compares the task that’s proposed with plausible other tasks in a time frame in the same class. If it believes it’s the same assignment, it’ll display a warning telling the student it’s likely the same task as X. IT WAS SO HARD GETTING THE OLLAMA MODEL TO RETURN ACCURATE JSON AND ACTUALLY INFERENCE CORRECTLY BUT I DID IT. (some info in the ss is redacted for my privacy :))
I added a cute pomodoro timer and music player to my planner! As of now, the UI is SUPER ugly, but at least it functions, and it’s some cute productivity tools that I think will make the planner more fun and also more of a dashboard for your work. Something I’m struggling on is how I should organize these so that the regular schedule still shows up properly, but these are also easily accessible… any thoughts would be greatly appreciated in the comments!
hi, alright i forgot to do this I changed a huge amount of stuff, the theming is mostly different, changed to a star theming and i polished a bunch of the small stuff like the ai announcements, moved to an actual vercel server + linked to actual claude api. also added a super cool looking hero on the home page!...
|
1792558461.205281
|
1793163261.205281
|
|
15446
|
zap by @bernardq | Stardance
|
bernardq
|
2
|
46.68
|
338
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T19:23:17Z", "hours": 24.0, "multiplier": 7.58, "payout": 182, "blessing": "neutral", "text": "So, I built a package manager in Python. The biggest challenge I experienced was organizing my code, debugging, and building complex features. I’m proud that it works, and I’m proud of all the time I spent coding it. My project documentation is on GitHub, which is the best place I have to write and maintain it. Zap can install, remove, and download packages without installing them, as well as update packages and perform other features. Try out my project, and if you want to add your projects to the Zap repository, contact me on Slack or GitHub. Thanks for Reading!", "repo": "https://github.com/Bkner3/zap", "demo": "https://github.com/Bkner3/zap/releases"}, {"ship_num": 2, "ts": "2026-07-11T21:53:33Z", "hours": 16.0, "multiplier": 9.85, "payout": 156, "blessing": "neutral", "text": "Hello everyone! My project is a package manager built entirely in Python. I challenged myself to create something simple for everyone—both for the people creating the repository and for those who will use it. I am really proud of myself for dedicating so much effort to this project. ⚠️ Project Status & Requirements Please note that this project is currently in Beta and some commands might not be fully functional or ready yet. System Requirements: Python 3.0 or higher is required. To run the project in script mode, you must install the following dependencies: requests, colorama, and tqdm. Current Limitations: The tools inside repo-tools (used for creating repositories) are currently disabled while they undergo updates. In the meantime, if you want to create a repository, you can use the example index provided in the GitHub README and simply replace the package and file names with your own. If you have any questions or run into issues, please feel free to open an issue or ask here on GitHub. I am more than happy to help!", "repo": "https://github.com/Bkner3/zap", "demo": "https://github.com/Bkner3/zap/releases"}]...
|
[{"post_id": 77160, "ts": "202 [{"post_id": 77160, "ts": "2026-10-05T20:41:48Z", "hours": 1.8519, "text": "Devlog #32 I’m tired of working on this, I try one thing and it doesn’t work I try another even worse but I’m working to launch the zap for linux I just don’t have test packages or packages to release if any wants to launch their package on the zap let me know."}, {"post_id": 76875, "ts": "2026-10-04T21:59:26Z", "hours": 1.7056, "text": "Devlog #31 After some time, I finally had time to work on ZAP again. Today I started fixing some bugs in ZAP, tested the installation script, and added the installation instructions to the README on the main page. ZAP is still in beta, and I know some things don’t work yet, but I want to sleep. I tested the installer on Debian-based systems, but I haven’t tested it on Arch, Alpine, or other obscure distros yet. My linux test PC specs are shown above, and the error is also shown above."}, {"post_id": 74178, "ts": "2026-09-26T21:04:57Z", "hours": 1.0075, "text": "#Devlog #30 Updating the zap web page for the new version."}, {"post_id": 73050, "ts": "2026-09-24T08:47:09Z", "hours": 0.6928, "text": "Devlog #29 Today I finally finished the Linux installation script!"}, {"post_id": 72864, "ts": "2026-09-23T21:50:36Z", "hours": 0.6369, "text": "Devlog #28 So today, I started writing the installation script for Linux. Sorry if I don’t give many updates school just started today!"}, {"post_id": 70055, "ts": "2026-09-18T11:18:17Z", "hours": 0.3489, "text": "Devlog #27 Today, I run zap on Linux and lost my sanity with the complexity of using Linux on an old PC and all the configuration. The hello test package will be available this afternoon. Thanks for reading!"}, {"post_id": 69672, "ts": "2026-09-17T15:29:16Z", "hours": 0.4408, "text": "Devlog #26 Today, I changed the code so that ZAP can have a Linux version. I spent an hour trying to install pip on my Linux PC, but I couldn’t get it to work. I switched to another PC, and now I’m going to test it."}, {"post_id": 69197, "ts": "2026-09-16T15:56:48Z", "hours": 3.8558, "text": "Devlog #25 Making small changes to the code in the past days to launch the version 0.7.0-beta."}, {"post_id": 66646, "ts": "2026-09-12T14:35:05Z", "hours": 0.7144, "text": "Devlog #24 Today, I made some small changes to the project. The next thing I’m going to add is a system to check whether the local index is outdated and update it if necessary."}, {"post_id": 66005, "ts": "2026-09-11T15:00:04Z", "hours": 0.9475, "text": "Devlog #23 Today, I correct a error in the launcher system code and I tried to create a 3 packages to show who it works but they don’t work."}, {"post_id": 65639, "ts": "2026-09-10T22:10:37Z", "hours": 3.4558, "text": "Devlog #22 Today, yesterday I added a function that checks if all packages / dependencies are in the list to be downloaded, also adding the author variable to the database, and some minor changes. Thanks for reading! 😊"}, {"post_id": 64327, "ts": "2026-09-08T16:48:39Z", "hours": 1.4808, "text": "Devlog #21 Updating the README so I can release version 0.7 tomorrow!"}, {"post_id": 63686, "ts": "2026-09-07T16:52:05Z", "hours": 1.5267, "text": "Devlog #20 Today, with the help of ChatGPT, I created the dependency system. The ZAP can now resolve package dependencies and find the correct versions required by each package. It can also handle multiple versions of the same dependency and create launchers with the required dependencies added to the PATH. This means different packages can use different versions of the same dependency without conflicts."}, {"post_id": 61833, "ts": "2026-09-04T22:52:52Z", "hours": 0.6039, "text": "Devlog #19 Today, with the help of ChatGPT, I created a system to check if a dependency’s version is compatible with the program. For example, if a dependency is specified as dependency@>=1.0.0 , the system will analyze the required version and check whether the available version is compatible."}, {"post_id": 58496, "ts": "2026-08-30T22:28:18Z", "hours": 1.8736, "text": "Devlog #18 Today, I added a new parameter to the database for dependencies, and I started working on the dependency system. I don’t know if I mentioned it in the previous devlog, but I also created the confirmation button. Thanks for reading! And if you want to launch your project on Zap, please contact me. Thanks for reading!"}, {"post_id": 54778, "ts": "2026-08-25T21:48:08Z", "hours": 1.4942, "text": "Devlog #17 Hello! Today I finally started working on the scary part of a package manager: dependencies ⛈️⛈️. Warning Today I only worked on the system that grabs the dependencies. The way dependencies will work is through the .cmd launchers stored in: C:/Users/Your_User/AppData/Local/Zap/sl Each package will have its own launcher, and that launcher will be responsible for setting up the environment required by that package. For example, imagine your program uses lib_a version 1.0 , while another program uses lib_a version 2.0 . Instead of putting everything in the same place and causing conflicts, each .cmd launcher will temporarily add the required dependencies to the PATH . This means that both versions can coexist without interfering with each other. Dependencies can also have their own dependencies. When one package depends on another package, its launcher can create its own environment with the dependencies it requires. This creates a kind of lightweight sandbox for each package. The goal is to keep dependencies isolated while keeping the system simple and transparent. This is definitely one of the more complicated parts of the package manager, but I’m finally starting to figure out the architecture. Warning This changes are not avaiable yet!"}, {"post_id": 51693, "ts": "2026-08-21T14:52:13Z", "hours": 2.9186, "text": "Devlog #16 Today, I changed the way you configure Zap. The example below shows how to hide the logo. Before: zap config hl Now: zap config set show_logo true Previously, you couldn’t view the configuration from the program. Now, zap config list shows the current configuration. Warning The configuration is currently only used to enable, disable, or change the logo and debug settings. I’m also finally using Python’s virtual environment to work on the project. These changes will be included in the next release. For now, they are available in the dev branch. And thank you to everyone who has checked out the project and given feedback. If anyone wants to publish their projects and make them available in the Zap repository, please leave a comment or try to contact me."}, {"post_id": 40270, "ts": "2026-08-03T18:11:13Z", "hours": 2.7706, "text": "Devlog #15 Today, I re-write the Readme, launch a release (v0.6.5-beta), I created a official repository and add a test package named hello."}, {"post_id": 32531, "ts": "2026-07-21T19:25:58Z", "hours": 0.7503, "text": "Devlog #14 Today I separated repo-tools from the Zap parser and started developing it in its own branch."}, {"post_id": 30730, "ts": "2026-07-18T15:33:21Z", "hours": 0.9061, "text": "Devlog #13 Adding the info commmad."}, {"post_id": 28369, "ts": "2026-07-14T16:15:58Z", "hours": 0.7253, "text": "adding a gitignore and deleting the repo-tools to start from zero."}, {"post_id": 26852, "ts": "2026-07-11T21:29:51Z", "hours": 1.3656, "text": "Devlog #11 - Now I added upgrades to the zap website but I down publish yet. Sorry for my robotic English."}, {"post_id": 26585, "ts": "2026-07-11T14:33:30Z", "hours": 2.1264, "text": "Devlog #10 Today I added the repo-remove command, which removes a repository URL from the index file. I also made some small improvements to the project’s directory structure."}, {"post_id": 24630, "ts": "2026-07-08T10:54:59Z", "hours": 1.2447, "text": "Devlog - 09 Today I added a base_url parameter to the index configuration, allowing the domain to be changed more easily without having to manually update all links. I also fixed issues in the Makefile that were causing broken executables with no output. Finally, I merged my work from the GitHub dev branch into the GitHub main branch."}, {"post_id": 22463, "ts": "2026-07-04T22:40:05Z", "hours": 1.1542, "text": "Devlog - 08 Starting to create an installation script and configure my VS Code for another computer."}, {"post_id": 17617, "ts": "2026-06-28T14:21:40Z", "hours": 1.2869, "text": "Devlog - 07 Today, I added an upgrade feature to update ZAP to the latest version. The code is untested because I have to return my school laptop and move everything over to my dad’s computer. I don’t know when I will be back to active development."}, {"post_id": 17010, "ts": "2026-06-27T16:37:05Z", "hours": 1.5008, "text": "Devlog - 06. Today I added a function to check if a package is compatible with the operating system where the program is running."}, {"post_id": 11987, "ts": "2026-06-19T15:47:52Z", "hours": 1.6478, "text": "Devlog - 05 Beginning of the creation of the repo-tools that will be used to create and edit an index."}, {"post_id": 11537, "ts": "2026-06-18T20:43:38Z", "hours": 0.5406, "text": "Devlog - 04 Today I added a SHA-256 integrity verification system. The package manager now generates and compares file hashes to validate downloaded files and prevent corrupted or modified packages from being installed."}, {"post_id": 9316, "ts": "2026-06-15T17:01:19Z", "hours": 1.1847, "text": "Devlog - 03 Today I created and finished the update command."}, {"post_id": 6876, "ts": "2026-06-11T15:04:47Z", "hours": 2.6628, "text": "Devlog - 02 Today I finished the logging system and started updating the README. What’s new: Complete activity logging README improvements and setup guide Next step: polishing the project documentation and create a better structure for the packages."}, {"post_id": 6340, "ts": "2026-06-10T17:51:33Z", "hours": 1.0964, "text": "Now I am implementing the log system."}]...
|
Title: zap by @bernardq | Stardance
Devlogs:
Now Title: zap by @bernardq | Stardance
Devlogs:
Now I am implementing the log system.
Devlog - 02 Today I finished the logging system and started updating the README. What’s new: Complete activity logging README improvements and setup guide Next step: polishing the project documentation and create a better structure for the packages.
Devlog - 03 Today I created and finished the update command.
Devlog - 04 Today I added a SHA-256 integrity verification system. The package manager now generates and compares file hashes to validate downloaded files and prevent corrupted or modified packages from being installed.
Devlog - 05 Beginning of the creation of the repo-tools that will be used to create and edit an index.
Devlog - 06. Today I added a function to check if a package is compatible with the operating system where the program is running.
Devlog - 07 Today, I added an upgrade feature to update ZAP to the latest version. The code is untested because I have to return my school laptop and move everything over to my dad’s computer. I don’t know when I will be back to active development.
Devlog - 08 Starting to create an installation script and configure my VS Code for another computer.
Devlog - 09 Today I added a base_url parameter to the index configuration, allowing the domain to be changed more easily without having to manually update all links. I also fixed issues in the Makefile that were causing broken executables with no output. Finally, I merged my work from the GitHub dev branch into the GitHub main branch.
Devlog #10 Today I added the repo-remove command, which removes a repository URL from the index file. I also made some small improvements to the project’s directory structure.
Devlog #11 - Now I added upgrades to the zap website but I down publish yet. Sorry for my robotic English.
adding a gitignore and deleting the repo-tools to start from zero.
Devlog #13 Adding the info commmad.
Devlog #14 Today I separated repo-tools from the Zap parser and started developing it in its own branch.
Devlog #15 Today, I re-write the Readme, launch a release (v0.6.5-beta), I created a official repository and add a test package named hello.
Devlog #16 Today, I changed the way you configure Zap. The example below shows how to hide the logo. Before: zap config hl Now: zap config set show_logo true Previously, you couldn’t view the configuration from the program. Now, zap config list shows the current configuration. Warning The configuration is currently only used to enable, disable, or change the logo and debug settings. I’m also finally using Python’s virtual environment to work on the project. These changes will be included in the next release. For now, they are available in the dev branch. And thank you to everyone who has checked out the project and given feedback. If anyone wants to publish their projects and make them available in the Zap repository, please leave a comment or try to contact me.
Devlog #17 Hello! Today I finally started working on the scary part of a package manager: dependencies ⛈️⛈️. Warning Today I only worked on the system that grabs the dependencies. The way dependencies will work is through the .cmd launchers stored in: C:/Users/Your_User/AppData/Local/Zap/sl Each package will have its own launcher, and that launcher will be responsible for setting up the environment required by that package. For example, imagine your program uses lib_a version 1.0 , while another program uses lib_a version 2.0 . Instead of putting everything in the same place and causing conflicts, each .cmd launcher will temporarily add the required dependencies to the PATH . This means that both versions can coexist without interfering with each other. Dependencies can also have their own dependencies. When one package depends on another package, its launcher can create its own environment with the dependencies it requires. This creates a kind of lightweight sandbox for each package. The goal is to keep dependencies isolated while keeping the system simple and transparent. This is definitely one of the more complicated parts of the package manager, but I’m finally starting to figure out the architecture. Warning This changes are not avaiable yet!
Devlog #18 Today, I added a new parameter to the database for dependencies, and I started working on the dependency system. I don’t know if I mentioned it in the previous devlog, but I also created the confirmation button. Thanks for reading! And if you want to launch your project on Zap, please contact me. Thanks for reading!
Devlog #19 Today, with the help of ChatGPT, I created a system to check if a dependency’s version is compatible with the program. For example, if a dependency is specified as dependency@>=1.0.0 , the system will analyze the required version and check whether the available version is compatible.
Devlog #20 Today, with the help of ChatGPT, I created the dependency system. The ZAP can now resolve package dependencies and find the correct versions required by each package. It can also handle multiple versions of the same dependency and create launchers with the required dependencies added to the PATH. This means different packages can use different versions of the same dependency without conflicts.
Devlog #21 Updating the README so I can release version 0.7 tomorrow!
Devlog #22 Today, yesterday I added a function that checks if all packages / dependencies are in the list to be downloaded, also adding the author variable to the database, and some minor changes. Thanks for reading! 😊
Devlog #23 Today, I correct a error in the launcher system code and I tried to create a 3 packages to show who it works but they don’t work.
Devlog #24 Today, I made some small changes to the project. The next thing I’m going to add is a system to check whether the local index is outdated and update it if necessary.
Devlog #25 Making small changes to the code in the past days to launch the version 0.7.0-beta.
Devlog #26 Today, I changed the code so that ZAP can have a Linux version. I spent an hour trying to install pip on my Linux PC, but I couldn’t get it to work. I switched to another PC, and now I’m going to test it.
Devlog #27 Today, I run zap on Linux and lost my sanity with the complexity of using Linux on an old PC and all the configuration. The hello test package will be available this afternoon. Thanks for reading!
Devlog #28 So today, I started writing the installation script for Linux. Sorry if I don’t give many updates school just started today!
Devlog #29 Today I finally finished the Linux installation script!
#Devlog #30 Updating the zap web page for the new version.
Devlog #31 After some time, I finally had time to work on ZAP again. Today I started fixing some bugs in ZAP, tested the installation script, and added the installation instructions to the README on the main page. ZAP is still in beta, and I know some things don’t work yet, but I want to sleep. I tested the installer on Debian-based systems, but I haven’t tested it on Arch, Alpine, or other obscure distros yet. My linux test PC specs are shown above, and the error is also shown above.
Devlog #32 I’m tired of working on this, I try one thing and it doesn’t work I try another even worse but I’m working to launch the zap for linux I just don’t have test packages or packages to release if any wants to launch their package on the zap let me know.
Ships:
Hello everyone! My project is a package manager built entirely in Python. I challenged myself to create something simple for everyone—both for the people creating the repository and for those who will use it. I am really proud of myself for dedicating so much effort to this project. ⚠️ Project Status & Requirements Please note that this project is currently in Beta and some commands might not be fully functional or ready yet. System Requirements: Python 3.0 or higher is required. To run the project in script mode, you must install the following dependencies: requests, colorama, and tqdm. Current Limitations: The tools inside repo-tools (used for creating repositories) are currently disabled while they undergo updates. In the meantime, if you want to create a repository, you can use the example index provided in the GitHub README and simply replace the package and file names with your own. If you have any questions or run into issues, please feel free to open an issue or ask here on GitHub. I am more than happy to help!
So, I built a package manager in Python. The biggest challenge I experienced was organizing my code, debugging, and building complex features. I’m proud that it works, and I’m proud of all the time I spent coding it. My project documentation is on GitHub, which is the best place I have to write and maintain it. Zap can install, remove, and download packages without installing them, as well as update packages and perform other features. Try out my project, and if you want to add your projects to the Zap repository, contact me on Slack or GitHub. Thanks for Reading!...
|
1793105608.2457697
|
1793192008.2457697
|
|
44484
|
Card-Arcade by @MrKnowledge | Stardance
|
MrKnowledge
|
0
|
46.56
|
0
|
[]
|
[{"post_id": 66217, "ts": "202 [{"post_id": 66217, "ts": "2026-09-11T22:01:41Z", "hours": 9.8403, "text": "Poker Logic HandRanks I added the evaluation algorithms to check what hand every player has. WebSocket Finally I added the websocket. It still has only its ground features, but I’ll port all of the game functions that I wrote already in the static server to the websocket. NewCards I previously handled the cards as Strings and got the rank/suit through charAt(int) but that is not clean and breaks for eg. 10S. I changed it to two enums and the record Card."}, {"post_id": 59043, "ts": "2026-08-31T17:04:16Z", "hours": 9.8775, "text": "Nothing big but still a lot Expanding Game and Player In the last devlog I started with Spring and just added these classes. Now those classes have a lot of additional functions to make them work for poker some of the game functions will move later to the websocket. Although they had a big upgrade they are not complete. The Game class is still only for poker, when I’m done with poker I’ll try to seperate them for a cleaner structure. Something you can see The frontend has now the ability to load and render the players with all of their data(chips, Name) to the correct spot. This is one of the functions that will later be present in the websocket but for now are just an endpoint in the server. Cookies, yum so tasty I created my first cookie, to store the playerUUID. Cookie are for the game very Important so I dont have to store these things in the js frontend, but I a storage that was designed for these things."}, {"post_id": 48443, "ts": "2026-08-16T19:50:29Z", "hours": 12.7128, "text": "Time for a new Backend Because the backend I had felt like to basic stuff that a framework could do much better I started using Spring framework. It reduced so much work and improved my code by a lot. So I deleted my manual written server code and went for the framework. And it was a great decision. Spring It is a great framework that makes adding endpoints very easy. And using the RestControllers as well as normal Controllers make communication a lot easier via JSON. And the overall structure is supported by the good structuring of the generated template. Logic I created the classes Game, Poker and Player but I’m not sure for the final server/game structure jet Frontend To test the backend you need of course a corresponding frontend. I added an start page to enter your name, create and join an game. I also added a function that takes a value and turns in into chip stacks. Next is the websocket to run the actual poker game along with the frontend running this"}, {"post_id": 44062, "ts": "2026-08-09T16:08:19Z", "hours": 1.7569, "text": "Backend time. To give the game a function and not to be just some unfinished design I wrote an Java HTML Server that will replace my live preview local webserver. At the moment the server is just loading the website poker.html and all of the textures. but because of my file structure the fileHandler didn’t wanted to work with 3 Roots but eventually I got it to work. I wrote this server with help of an ai assisted version of an html server from an previous private project. Next I will add the functionality to create new games (for new games the frontend of this will come later) and to load such an game"}, {"post_id": 43434, "ts": "2026-08-08T17:48:54Z", "hours": 2.5153, "text": "The front end is visually done. In the center is the playing table with the pot and community cards and on the bottom you got 4 buttons to Raise Call Fold and Check. Now I will continue with the Code for the room generation in both frontend and backend."}, {"post_id": 42941, "ts": "2026-08-07T22:37:09Z", "hours": 9.8525, "text": "Hi this is the first post of my project where I recreate some card games. The first I chose to do is poker Texas Hold’Em. In this first post I present you the design for a player but there is unfortunately just the design by now I spend to much time on this. I made too many small adjustments and also changed the unit of the chips and cards that took so much time to finally make them appear in the right way it. the pattern reminds a little of honeycombs. The next steps are to add buttons and the positioning of the community cards and the chips in the pot. Additionally I need to add the positioning of the players when playing with 2-8 players (oh and maybe also a portrait mode for phones)"}]...
|
Title: Card-Arcade by @MrKnowledge | Stardance
De Title: Card-Arcade by @MrKnowledge | Stardance
Devlogs:
Hi this is the first post of my project where I recreate some card games. The first I chose to do is poker Texas Hold’Em. In this first post I present you the design for a player but there is unfortunately just the design by now I spend to much time on this. I made too many small adjustments and also changed the unit of the chips and cards that took so much time to finally make them appear in the right way it. the pattern reminds a little of honeycombs. The next steps are to add buttons and the positioning of the community cards and the chips in the pot. Additionally I need to add the positioning of the players when playing with 2-8 players (oh and maybe also a portrait mode for phones)
The front end is visually done. In the center is the playing table with the pot and community cards and on the bottom you got 4 buttons to Raise Call Fold and Check. Now I will continue with the Code for the room generation in both frontend and backend.
Backend time. To give the game a function and not to be just some unfinished design I wrote an Java HTML Server that will replace my live preview local webserver. At the moment the server is just loading the website poker.html and all of the textures. but because of my file structure the fileHandler didn’t wanted to work with 3 Roots but eventually I got it to work. I wrote this server with help of an ai assisted version of an html server from an previous private project. Next I will add the functionality to create new games (for new games the frontend of this will come later) and to load such an game
Time for a new Backend Because the backend I had felt like to basic stuff that a framework could do much better I started using Spring framework. It reduced so much work and improved my code by a lot. So I deleted my manual written server code and went for the framework. And it was a great decision. Spring It is a great framework that makes adding endpoints very easy. And using the RestControllers as well as normal Controllers make communication a lot easier via JSON. And the overall structure is supported by the good structuring of the generated template. Logic I created the classes Game, Poker and Player but I’m not sure for the final server/game structure jet Frontend To test the backend you need of course a corresponding frontend. I added an start page to enter your name, create and join an game. I also added a function that takes a value and turns in into chip stacks. Next is the websocket to run the actual poker game along with the frontend running this
Nothing big but still a lot Expanding Game and Player In the last devlog I started with Spring and just added these classes. Now those classes have a lot of additional functions to make them work for poker some of the game functions will move later to the websocket. Although they had a big upgrade they are not complete. The Game class is still only for poker, when I’m done with poker I’ll try to seperate them for a cleaner structure. Something you can see The frontend has now the ability to load and render the players with all of their data(chips, Name) to the correct spot. This is one of the functions that will later be present in the websocket but for now are just an endpoint in the server. Cookies, yum so tasty I created my first cookie, to store the playerUUID. Cookie are for the game very Important so I dont have to store these things in the js frontend, but I a storage that was designed for these things.
Poker Logic HandRanks I added the evaluation algorithms to check what hand every player has. WebSocket Finally I added the websocket. It still has only its ground features, but I’ll port all of the game functions that I wrote already in the static server to the websocket. NewCards I previously handled the cards as Strings and got the rank/suit through charAt(int) but that is not clean and breaks for eg. 10S. I changed it to two enums and the record Card....
|
1792587107.8954003
|
1793191907.8954003
|
|
24969
|
Taikyoku Shogi by @Harry_wct | Stardance
|
Harry_wct
|
0
|
46.52
|
0
|
[]
|
[{"post_id": 80146, "ts": "202 [{"post_id": 80146, "ts": "2026-10-16T12:15:24Z", "hours": 4.4033, "text": "Made the UI not horrible! I’ve spent some time reading design courses. I should make the boxes a bit taller, but in general I feel like this is at the very least much better than the disorganized slop before."}, {"post_id": 78756, "ts": "2026-10-11T14:44:18Z", "hours": 4.8028, "text": "I finally got my ass to write the stupid code to let you actually play against the model on the website! Now you can get your ass beat to this random model that still kinda doesn’t know how to checkmate but besides!"}, {"post_id": 77764, "ts": "2026-10-08T06:16:29Z", "hours": 4.5239, "text": "making some very very basic visual improvements to my site. I am NOT A SITE DESIGN EXPERT please do not murder me. If you have any ideas please leave in comments. In terms of the bot, struggling as usual. Did some more speedups with the help of Claude though. Hopefully next update I’ll be able to chuck it into the board to play with."}, {"post_id": 73180, "ts": "2026-09-24T15:16:11Z", "hours": 4.1522, "text": "A whole lot of nothingness… Right now the work is mostly trying to debug whatever the heck is wrong with the bot that is learning this game. Other than that though, some actual quality-of-life features (like this ingame display) is being coded. Holidays upcoming, so with stardance extended I can actually spend a bunch of time working on this!"}, {"post_id": 66968, "ts": "2026-09-12T23:17:32Z", "hours": 8.33, "text": "There’s not that much visible stuff, but I’ve spent absolutely monumental amounts of time trying to get the engine working. Thank you marimo for allowing me to use free cloud GPUs lol Either way, I’ve somewhat procrastinated on actually getting the more Quality-of-Life aspects of the board viewer to work. In the next release I probably will include a move-sample viewer, a “pieces in danger” viewer, and a promotions list for the convenience of the end user."}, {"post_id": 60835, "ts": "2026-09-03T13:44:03Z", "hours": 5.7703, "text": "The board is complete now, and unfortunately I have to resort to using claude code to write optimized C code so that the base corpus of move generation doesn’t take literally 90 years to do. (ALL of the green “U” is claude-generated)"}, {"post_id": 56636, "ts": "2026-08-28T13:59:18Z", "hours": 11.7144, "text": "More pieces! God it’s been so long since I uploaded one of these."}, {"post_id": 14787, "ts": "2026-06-24T00:54:13Z", "hours": 2.8278, "text": "still stuck in board creation hell…"}]...
|
Title: Taikyoku Shogi by @Harry_wct | Stardance
D Title: Taikyoku Shogi by @Harry_wct | Stardance
Devlogs:
still stuck in board creation hell…
More pieces! God it’s been so long since I uploaded one of these.
The board is complete now, and unfortunately I have to resort to using claude code to write optimized C code so that the base corpus of move generation doesn’t take literally 90 years to do. (ALL of the green “U” is claude-generated)
There’s not that much visible stuff, but I’ve spent absolutely monumental amounts of time trying to get the engine working. Thank you marimo for allowing me to use free cloud GPUs lol Either way, I’ve somewhat procrastinated on actually getting the more Quality-of-Life aspects of the board viewer to work. In the next release I probably will include a move-sample viewer, a “pieces in danger” viewer, and a promotions list for the convenience of the end user.
A whole lot of nothingness… Right now the work is mostly trying to debug whatever the heck is wrong with the bot that is learning this game. Other than that though, some actual quality-of-life features (like this ingame display) is being coded. Holidays upcoming, so with stardance extended I can actually spend a bunch of time working on this!
making some very very basic visual improvements to my site. I am NOT A SITE DESIGN EXPERT please do not murder me. If you have any ideas please leave in comments. In terms of the bot, struggling as usual. Did some more speedups with the help of Claude though. Hopefully next update I’ll be able to chuck it into the board to play with.
I finally got my ass to write the stupid code to let you actually play against the model on the website! Now you can get your ass beat to this random model that still kinda doesn’t know how to checkmate but besides!
Made the UI not horrible! I’ve spent some time reading design courses. I should make the boxes a bit taller, but in general I feel like this is at the very least much better than the disorganized slop before....
|
1792579775.6198254
|
1793184575.6198254
|
|
400
|
Stardance! (yes, this site) by @AVD | Stardance
|
AVD
|
1
|
46.44
|
42
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-01T17:19:26Z", "hours": 3.0, "multiplier": 13.72, "payout": 42, "blessing": "neutral", "text": "I added to the ship post modal, and supported uploading images on ship event!", "repo": "https://github.com/hackclub/stardance", "demo": "https://stardance.hackclub.com"}]...
|
[{"post_id": 26166, "ts": "202 [{"post_id": 26166, "ts": "2026-07-10T20:10:16Z", "hours": 39.34, "text": "Ohh i forgot to devlog 😢 Did some YSWS Things. added gambling (kinda) and did some fraud prevention"}, {"post_id": 1611, "ts": "2026-06-03T19:03:10Z", "hours": 4.0956, "text": "I added git commit graphs to the review page! + I also added video functionality for ship certifications!"}, {"post_id": 339, "ts": "2026-06-01T17:19:05Z", "hours": 0.7122, "text": "I finished that up!"}, {"post_id": 120, "ts": "2026-05-31T20:55:25Z", "hours": 2.3506, "text": "Today I worked on adding screenshots to Ship posts!"}]...
|
Title: Stardance! (yes, this site) by @AVD | Stard Title: Stardance! (yes, this site) by @AVD | Stardance
Devlogs:
Today I worked on adding screenshots to Ship posts!
I finished that up!
I added git commit graphs to the review page! + I also added video functionality for ship certifications!
Ohh i forgot to devlog 😢 Did some YSWS Things. added gambling (kinda) and did some fraud prevention
Ships:
I added to the ship post modal, and supported uploading images on ship event!...
|
1793083753.2115643
|
1793170153.2115643
|
|
35977
|
pideonwash website by @Lexx | Stardance
|
Lexx
|
0
|
46.31
|
0
|
[]
|
[{"post_id": 70730, "ts": "202 [{"post_id": 70730, "ts": "2026-09-19T17:39:52Z", "hours": 2.6106, "text": "Finalising the team page"}, {"post_id": 60754, "ts": "2026-09-03T10:13:41Z", "hours": 5.3256, "text": "V1.0 RELEASE DAY!! in the last two to three days we worked on finalizing everything and making sure we can publish everythin. We also made some brand new brand assets. Yesterday evening I finished configuring all the cloudflare tunnels. you can visit our website and everything there is to tell about us on pideonwash.com"}, {"post_id": 57650, "ts": "2026-08-29T21:14:57Z", "hours": 1.6183, "text": "random bug fixes almost time to get everything on the internet with our own domain just some very wierd and small little bugs along the way today"}, {"post_id": 56216, "ts": "2026-08-27T21:36:48Z", "hours": 4.2083, "text": "Part 04 of the casting call page rework. today i “finished” the backend. as well as worked on all the function I as an Admin wanna have and how i wanna get notified when someone registers. But i also now build the concept of the logic behind the registration pages."}, {"post_id": 55051, "ts": "2026-08-26T14:10:34Z", "hours": 4.3706, "text": "part 03 of the casting call page rework. today i implemented the feated from my team and redesigned/rethought how will go throu the form and the whole application prozess."}, {"post_id": 53931, "ts": "2026-08-24T17:09:18Z", "hours": 2.5769, "text": "DEVLOG Today I moved everything onto a dedicated Webserver. Consisting of an old Thinkpad running ZimaOS with a dedicated Ubuntu VM for the Webserver. So that i can soon actually start coding the backend logic. I also improved some small things that buged me. As well as a new feature on the hompage."}, {"post_id": 51009, "ts": "2026-08-20T14:28:45Z", "hours": 1.0661, "text": "part 02 of the casting call page rework. Today I “finished” the camera roll and the final screen of the application form as well as I worked out how the application system will be working once we publish."}, {"post_id": 50609, "ts": "2026-08-19T20:28:08Z", "hours": 3.0261, "text": "part 01 of the casting call page rework. Today i worked on the whole logic behind it and how it would make sense the build the form and the questions within."}, {"post_id": 41278, "ts": "2026-08-05T12:09:18Z", "hours": 1.5436, "text": "Made sure that the user really notices that we ARE searching for them"}, {"post_id": 40673, "ts": "2026-08-04T11:08:44Z", "hours": 1.1169, "text": "added UI/UX improvements and lightend up the background so that loading times are reduced"}, {"post_id": 40572, "ts": "2026-08-04T06:48:15Z", "hours": 2.5111, "text": "made the castingCall from prettier and added an external email sender in the background"}, {"post_id": 36241, "ts": "2026-07-28T06:14:20Z", "hours": 1.6653, "text": "figured out the initial Independent design language of Exire which is the first production of PIDEONWASH"}, {"post_id": 33382, "ts": "2026-07-23T08:34:39Z", "hours": 1.6306, "text": "added a new image window view effect (more when the real roll out is)"}, {"post_id": 32947, "ts": "2026-07-22T13:05:06Z", "hours": 0.8131, "text": "Temporär fix für das UX problem bei der characters page auf mobile usage"}, {"post_id": 32393, "ts": "2026-07-21T15:27:58Z", "hours": 0.8236, "text": "Codebase cleanup"}, {"post_id": 32369, "ts": "2026-07-21T14:33:27Z", "hours": 0.6547, "text": "minimal detail clean up, consistent design language"}, {"post_id": 32282, "ts": "2026-07-21T11:03:11Z", "hours": 3.4517, "text": "exire subjects page rework"}, {"post_id": 31319, "ts": "2026-07-19T16:49:37Z", "hours": 0.2792, "text": "made the new stats addition responsive"}, {"post_id": 31300, "ts": "2026-07-19T16:19:32Z", "hours": 1.3314, "text": "stats addition made to the backstage site"}, {"post_id": 31208, "ts": "2026-07-19T12:54:41Z", "hours": 0.6161, "text": "fixed the navigation of the project grid"}, {"post_id": 31148, "ts": "2026-07-19T09:59:01Z", "hours": 5.0719, "text": "a recent part on the homepage and several accessability updates"}]...
|
Title: pideonwash website by @Lexx | Stardance
De Title: pideonwash website by @Lexx | Stardance
Devlogs:
a recent part on the homepage and several accessability updates
fixed the navigation of the project grid
stats addition made to the backstage site
made the new stats addition responsive
exire subjects page rework
minimal detail clean up, consistent design language
Codebase cleanup
Temporär fix für das UX problem bei der characters page auf mobile usage
added a new image window view effect (more when the real roll out is)
figured out the initial Independent design language of Exire which is the first production of PIDEONWASH
made the castingCall from prettier and added an external email sender in the background
added UI/UX improvements and lightend up the background so that loading times are reduced
Made sure that the user really notices that we ARE searching for them
part 01 of the casting call page rework. Today i worked on the whole logic behind it and how it would make sense the build the form and the questions within.
part 02 of the casting call page rework. Today I “finished” the camera roll and the final screen of the application form as well as I worked out how the application system will be working once we publish.
DEVLOG Today I moved everything onto a dedicated Webserver. Consisting of an old Thinkpad running ZimaOS with a dedicated Ubuntu VM for the Webserver. So that i can soon actually start coding the backend logic. I also improved some small things that buged me. As well as a new feature on the hompage.
part 03 of the casting call page rework. today i implemented the feated from my team and redesigned/rethought how will go throu the form and the whole application prozess.
Part 04 of the casting call page rework. today i “finished” the backend. as well as worked on all the function I as an Admin wanna have and how i wanna get notified when someone registers. But i also now build the concept of the logic behind the registration pages.
random bug fixes almost time to get everything on the internet with our own domain just some very wierd and small little bugs along the way today
V1.0 RELEASE DAY!! in the last two to three days we worked on finalizing everything and making sure we can publish everythin. We also made some brand new brand assets. Yesterday evening I finished configuring all the cloudflare tunnels. you can visit our website and everything there is to tell about us on pideonwash.com
Finalising the team page...
|
1792676979.6149807
|
1793281779.6149807
|
|
7260
|
Nebula by @CVictor | Stardance
|
CVictor
|
0
|
46.14
|
0
|
[]
|
[{"post_id": 56455, "ts": "202 [{"post_id": 56455, "ts": "2026-08-28T07:01:12Z", "hours": 16.0547, "text": "For the past few weeks, I have been working on the hardware of my project. All components has been soldered onto the PCB and all pieces has been printed."}, {"post_id": 48712, "ts": "2026-08-17T07:05:20Z", "hours": 9.2172, "text": "CAD, Soldering, PCB design, all at once. Its been a busy month so I have been building all the progress bit by bit. Major updates and Progress: -Change MPU 6050 to LSM6DS3 -Get rid of the servo arms on both side -Functioning Webpage to control the bot via bluetooth. LSM6DS3 is overall a more reliable that the commonly known MPU 6050 The servo arms were not that important function wise but they took up too much space on the PCB layout, hense I remove its. The webpage is hosted via github and currently it can connect to esp through bluetooth and design patterns for the matrix led that serves as the face of my robot. Pretty much all, I am currently in the process of accumilating all the necessary hardware and materials. Hope I can post a build log soon on my Instagram page @vtr_lab , consider following!"}, {"post_id": 32837, "ts": "2026-07-22T07:28:39Z", "hours": 1.8131, "text": "Working on CAD and Assembling hardware."}, {"post_id": 23248, "ts": "2026-07-06T02:45:49Z", "hours": 10.1858, "text": "Finished Routing My PCB: Process: STEP 1. Check all schematics STEP 2. Use auto routing function, define the thickness or trace for each type of trace: eg. 11.1V-1.25mm, logic-0.254mm, 5V-0.9mm……etc. STEP 3. Skip the routing for GND nets STEP 4. Adjust any wiring STEP 5. Pour Copper layer for the grounds —————————————————–The process sounds easy, atleast that’s what I though at first, but here are some things that I learned and challenges encounter in the process: Schematics is the easy part, do it well and it could you could save alot of time in the routing section. When letting the software to handle auto-routing, make sure to leave out the GND nets so make the wiring less complex. Route the GND nets at last with copper filled layer to ensure all grounds and securely connected. Issue encounted->Isolated island As posted in the image, even after pouring in the GND layer , there still is a ratline between the ground port of C7 to other components, meaning the ground of the part is not connected. This is a common issue for auto routing other nets first , ignoring ground and make it an isolated island. Solution: To fix the problem, I swap the position of C7 and U8 so that the C7 will not be caught in the connectionof U8 to my ESP which is the main reason why C7 is electronically isolated. After that, we can simply regenerate the ground copper layer to fix the issue. Issue encounted-> Antenna Clearout: Since my project will rely heavily on RC control, I need to clearout the copper ground below the antenna part of my esp as the double copper layer could potentially block radio signal. That’s it for now, the design final reaches “DRC(0)” and now I am adding silktouch design to the bottom layer for the final touch before sending the file for production!!!!! . . . See yall later."}, {"post_id": 18183, "ts": "2026-06-29T07:25:37Z", "hours": 2.5339, "text": "Polishing My Schematics, AGAIN!!! Since My previous schematics relied heavily on net ports, it becomes hard to understand the relationship between components as I moved on to the routing part. Therefore, I am now going back to the schematics and check the wiring block by block. Current Progress: Power Block Sensors and Servos MPU6050 Stepper Driver Logic / Pinout of ESP Stepper Motor Currently(2/6). Checking progress includes tiding up wires and use more wires instead of all net ports. Checking amounts of decoupling capacitor needed for each component. Making sure that each individual block of components can run (electrically). Yeah, hope I get back to routing soon and finish the PCB, also, I want to gather some idea for PCB art for my first functionable PCB, so submit any ideas through commenting on this dev post of consider following vtr_lab on instagram(I am close to having more post than followers😭😭). Thanks alot~ 2026/6/29, Victor"}, {"post_id": 14929, "ts": "2026-06-24T07:47:17Z", "hours": 0.7333, "text": "Finalizing schematics and layout before routing- Problems encounter: clearing messy schematics, double checking component layouts, making sure the system links as planned. The main curren t struggle from being able to route the PCB is that some of the capacitors had been incorrectly route in the schematics part, therefore, I will need to take inspection into them before moving on."}, {"post_id": 11265, "ts": "2026-06-18T12:56:52Z", "hours": 3.4, "text": "I spent an afternoon finalizing my schematics and turned it into a PCB. After I finished the schematics, I entered the wiring phase and put all the components into a 84*59mm board that will be house in my final robot. The arrangement of the components took more time than I expected as some wiring were needed to be redesign so that the wiring on the board would not be that complicated and span across the whole board. Overall, I am satisfy with the current placement of the modules and will be starting to wire up the components tomorrow. Side note: I got the filaments needed to print the case of my robot so production and assembly is near!!!!(So excited, Hardware>Software). Anyways, see ya’ll tomorrow when hopefully I can finish all the wiring on the components!"}, {"post_id": 11126, "ts": "2026-06-18T06:23:41Z", "hours": 1.0336, "text": "Working on the schematics for a custom PCB in the robot. For the project, I am using EasyEDA to make my PCB. I am finished with the schematics and will be moving onto the wiring part. I am very excited to see this project come together. for the components in the project, I used a 11.1v battery as the robots power source, ESP32 as main logi c and control as it could bluetooth connect to my joystick controller, I chose a MAX7219 LED matrix as the face of the robot to give it a pixel-ly feel, and i used two 24mm nema17 as the robots drivetrain. Lastly, I hvae a HC-SR04 distance sensor and more importantly a MPU 6050 for the robots tilt feedback and achieve two wheel balance."}, {"post_id": 10476, "ts": "2026-06-17T06:56:26Z", "hours": 0.9003, "text": "Recap on past CAD on the project and explore color scheme for the final build. I started my design on the self-balancing robot almost a month before Stardance started, therefore, most of the CAD was finished in this period, except for the rim of the wheels which I have not settle on a design that I like yet. For my first time lapse on the the project, I replicated a wheel rim that I tested different color on my robot in Fusion360. I mainly focus on design with two colors for ease of printing and not using tons of different rolls of filament. So the hardware part of the robot is almost done, therefore, I will move on to PCB design with EasyEdaSTD for the next step and try more types wheel rim for my final design. Initially, I was going to use perfboards for the wiring, but I fear that could get messy and hard to debug real quick. I am currently done with half of the schematics and finalized the hardware modules using. (Please following Instagram: vtr_lab)(thx)"}, {"post_id": 7871, "ts": "2026-06-13T04:00:48Z", "hours": 0.2667, "text": "A self balancing Robot driven on two Nema 17 stepper motor and ESP 32 as main logic control. Currently, I am 85% done with hardware design, except the mount for the stepper motors. I am designing my CAD in Fusion360 and working on custom PCB in EasyEDA. In addition, how do I track work time outside coding, like working on PCB or Hardware, how are those hours logged into Hackclub? Thank you!"}]...
|
Title: Nebula by @CVictor | Stardance
Devlogs:
A Title: Nebula by @CVictor | Stardance
Devlogs:
A self balancing Robot driven on two Nema 17 stepper motor and ESP 32 as main logic control. Currently, I am 85% done with hardware design, except the mount for the stepper motors. I am designing my CAD in Fusion360 and working on custom PCB in EasyEDA. In addition, how do I track work time outside coding, like working on PCB or Hardware, how are those hours logged into Hackclub? Thank you!
Recap on past CAD on the project and explore color scheme for the final build. I started my design on the self-balancing robot almost a month before Stardance started, therefore, most of the CAD was finished in this period, except for the rim of the wheels which I have not settle on a design that I like yet. For my first time lapse on the the project, I replicated a wheel rim that I tested different color on my robot in Fusion360. I mainly focus on design with two colors for ease of printing and not using tons of different rolls of filament. So the hardware part of the robot is almost done, therefore, I will move on to PCB design with EasyEdaSTD for the next step and try more types wheel rim for my final design. Initially, I was going to use perfboards for the wiring, but I fear that could get messy and hard to debug real quick. I am currently done with half of the schematics and finalized the hardware modules using. (Please following Instagram: vtr_lab)(thx)
Working on the schematics for a custom PCB in the robot. For the project, I am using EasyEDA to make my PCB. I am finished with the schematics and will be moving onto the wiring part. I am very excited to see this project come together. for the components in the project, I used a 11.1v battery as the robots power source, ESP32 as main logi c and control as it could bluetooth connect to my joystick controller, I chose a MAX7219 LED matrix as the face of the robot to give it a pixel-ly feel, and i used two 24mm nema17 as the robots drivetrain. Lastly, I hvae a HC-SR04 distance sensor and more importantly a MPU 6050 for the robots tilt feedback and achieve two wheel balance.
I spent an afternoon finalizing my schematics and turned it into a PCB. After I finished the schematics, I entered the wiring phase and put all the components into a 84*59mm board that will be house in my final robot. The arrangement of the components took more time than I expected as some wiring were needed to be redesign so that the wiring on the board would not be that complicated and span across the whole board. Overall, I am satisfy with the current placement of the modules and will be starting to wire up the components tomorrow. Side note: I got the filaments needed to print the case of my robot so production and assembly is near!!!!(So excited, Hardware>Software). Anyways, see ya’ll tomorrow when hopefully I can finish all the wiring on the components!
Finalizing schematics and layout before routing- Problems encounter: clearing messy schematics, double checking component layouts, making sure the system links as planned. The main curren t struggle from being able to route the PCB is that some of the capacitors had been incorrectly route in the schematics part, therefore, I will need to take inspection into them before moving on.
Polishing My Schematics, AGAIN!!! Since My previous schematics relied heavily on net ports, it becomes hard to understand the relationship between components as I moved on to the routing part. Therefore, I am now going back to the schematics and check the wiring block by block. Current Progress: Power Block Sensors and Servos MPU6050 Stepper Driver Logic / Pinout of ESP Stepper Motor Currently(2/6). Checking progress includes tiding up wires and use more wires instead of all net ports. Checking amounts of decoupling capacitor needed for each component. Making sure that each individual block of components can run (electrically). Yeah, hope I get back to routing soon and finish the PCB, also, I want to gather some idea for PCB art for my first functionable PCB, so submit any ideas through commenting on this dev post of consider following vtr_lab on instagram(I am close to having more post than followers😭😭). Thanks alot~ 2026/6/29, Victor
Finished Routing My PCB: Process: STEP 1. Check all schematics STEP 2. Use auto routing function, define the thickness or trace for each type of trace: eg. 11.1V-1.25mm, logic-0.254mm, 5V-0.9mm……etc. STEP 3. Skip the routing for GND nets STEP 4. Adjust any wiring STEP 5. Pour Copper layer for the grounds —————————————————–The process sounds easy, atleast that’s what I though at first, but here are some things that I learned and challenges encounter in the process: Schematics is the easy part, do it well and it could you could save alot of time in the routing section. When letting the software to handle auto-routing, make sure to leave out the GND nets so make the wiring less complex. Route the GND nets at last with copper filled layer to ensure all grounds and securely connected. Issue encounted->Isolated island As posted in the image, even after pouring in the GND layer , there still is a ratline between the ground port of C7 to other components, meaning the ground of the part is not connected. This is a common issue for auto routing other nets first , ignoring ground and make it an isolated island. Solution: To fix the problem, I swap the position of C7 and U8 so that the C7 will not be caught in the connectionof U8 to my ESP which is the main reason why C7 is electronically isolated. After that, we can simply regenerate the ground copper layer to fix the issue. Issue encounted-> Antenna Clearout: Since my project will rely heavily on RC control, I need to clearout the copper ground below the antenna part of my esp as the double copper layer could potentially block radio signal. That’s it for now, the design final reaches “DRC(0)” and now I am adding silktouch design to the bottom layer for the final touch before sending the file for production!!!!! . . . See yall later.
Working on CAD and Assembling hardware.
CAD, Soldering, PCB design, all at once. Its been a busy month so I have been building all the progress bit by bit. Major updates and Progress: -Change MPU 6050 to LSM6DS3 -Get rid of the servo arms on both side -Functioning Webpage to control the bot via bluetooth. LSM6DS3 is overall a more reliable that the commonly known MPU 6050 The servo arms were not that important function wise but they took up too much space on the PCB layout, hense I remove its. The webpage is hosted via github and currently it can connect to esp through bluetooth and design patterns for the matrix led that serves as the face of my robot. Pretty much all, I am currently in the process of accumilating all the necessary hardware and materials. Hope I can post a build log soon on my Instagram page @vtr_lab , consider following!
For the past few weeks, I have been working on the hardware of my project. All components has been soldered onto the PCB and all pieces has been printed....
|
1792778002.444943
|
1793382802.444943
|
|
16341
|
FeraSetu by @himanshu-singh7 | Stardance
|
himanshu-singh7
|
1
|
46.13
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-13T07:31:59Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i make ferasetu the name itself sayes a bridge between shopkeepers and customer . um it was easy not too much hard but it takes me a month to build and the challanging part was that i have to find an vps which is free (as i am student and with no money my parents dont give me money ) first i used amd 1 gb then leapcell and now cloudflare worker and for frontend we are using appwriter and for auth we are using appwriter and for databse we use d1 and for image we are thinking to use appwriter databse and for ai usage we used sarvam which is free and we added oauth and many othe it taken an month to build but i later know about hacktime then i connect to it and it is showing 7 hours only . yess i am proud of it as i take survey from other shopkeeper they are interested for this and yes i am proud of it as i work very hard for this . nothing people should know only website link or read readme.md", "repo": "https://github.com/rahul-gound/ferasetu", "demo": "https://ferasetu.com"}]...
|
[{"post_id": 67120, "ts": "202 [{"post_id": 67120, "ts": "2026-09-13T05:35:53Z", "hours": 27.5597, "text": "added new lanfing page ui , added working login and sign up page using workos added pricing and working : cashfree transaction , ferasetu email (only some part is left),ai router and more , giving subdoamin . making website templates with new logo and sitemap.xml"}, {"post_id": 27104, "ts": "2026-07-12T11:28:16Z", "hours": 10.3003, "text": "i was improving ui and making it fast and i was learning python added d1 database and sooner to add custom domain finding bug"}, {"post_id": 8559, "ts": "2026-06-14T07:04:06Z", "hours": 1.2658, "text": "i was fixing the ui and added and fixed admin page"}, {"post_id": 7930, "ts": "2026-06-13T07:08:19Z", "hours": 1.3117, "text": "we fixed ui and added smtp and google oauth"}, {"post_id": 7876, "ts": "2026-06-13T04:17:05Z", "hours": 5.9444, "text": "Devlog #1 — Building FeraSetu for Stardance Today I started preparing FeraSetu as my Stardance project. FeraSetu is a web app for local shopkeepers. The idea is simple: many small shops still take orders through calls or WhatsApp, and managing products, orders, invoices, and customers manually becomes confusing. I wanted to build a simple digital bridge for them. The main goal of FeraSetu is to help a shopkeeper create an online shop, add products, receive orders, manage invoices, and view basic business activity from one dashboard. What I worked on I focused on making the project clear and organized for shipping. I reviewed the current project structure and separated the frontend and backend parts. The frontend uses React, Vite, and TypeScript. The backend uses Node.js, Express, and TypeScript. The project also has pages for dashboard, products, orders, analytics, AI assistant, website builder, and public shop pages. I also worked on planning the README so that reviewers can understand the project quickly. Instead of only writing a big startup-style description, I want the README to explain what the project does, how to run it, what features are working, and what I learned while building it. Current features Right now, FeraSetu is planned around these main features: Shopkeeper dashboard Product management Order management Public shop page Website builder with templates Basic invoice system Feedback/survey page AI assistant for shop-related help The public shop page is important because it shows the real purpose of the project. A shopkeeper should be able to publish a small online store that customers can visit. Why I am building this I am building FeraSetu because I think local shops need simple tools. Many shopkeepers do not need a huge e-commerce system. They need something easy: add products, share a shop link, get orders, and manage them. I want FeraSetu to feel practical, not overcomplicated. Problems I noticed One problem is that the project has many ideas, so I need to keep the MVP focused. If I try to build everything at once, it can become messy. For Stardance, I will focus on the core flow: Create or open a shopkeeper dashboard Add products View/manage orders Publish a public shop page Show clear setup instructions in the README What I learned I learned that a good project is not only about writing code. It also needs clear documentation, clean structure, and a working demo. If someone opens the GitHub repo, they should quickly understand what the project is and how to run it. I also learned that writing a README is part of building the product, not just extra work. Next steps Next, I want to: Improve the README Add screenshots Make the frontend cleaner Test the backend endpoints Make sure the public shop page looks good on mobile Record what I built during each devlog FeraSetu is still a work in progress, but I want to keep improving it step by step and ship a real working project for Stardance."}]...
|
Title: FeraSetu by @himanshu-singh7 | Stardance
D Title: FeraSetu by @himanshu-singh7 | Stardance
Devlogs:
Devlog #1 — Building FeraSetu for Stardance Today I started preparing FeraSetu as my Stardance project. FeraSetu is a web app for local shopkeepers. The idea is simple: many small shops still take orders through calls or WhatsApp, and managing products, orders, invoices, and customers manually becomes confusing. I wanted to build a simple digital bridge for them. The main goal of FeraSetu is to help a shopkeeper create an online shop, add products, receive orders, manage invoices, and view basic business activity from one dashboard. What I worked on I focused on making the project clear and organized for shipping. I reviewed the current project structure and separated the frontend and backend parts. The frontend uses React, Vite, and TypeScript. The backend uses Node.js, Express, and TypeScript. The project also has pages for dashboard, products, orders, analytics, AI assistant, website builder, and public shop pages. I also worked on planning the README so that reviewers can understand the project quickly. Instead of only writing a big startup-style description, I want the README to explain what the project does, how to run it, what features are working, and what I learned while building it. Current features Right now, FeraSetu is planned around these main features: Shopkeeper dashboard Product management Order management Public shop page Website builder with templates Basic invoice system Feedback/survey page AI assistant for shop-related help The public shop page is important because it shows the real purpose of the project. A shopkeeper should be able to publish a small online store that customers can visit. Why I am building this I am building FeraSetu because I think local shops need simple tools. Many shopkeepers do not need a huge e-commerce system. They need something easy: add products, share a shop link, get orders, and manage them. I want FeraSetu to feel practical, not overcomplicated. Problems I noticed One problem is that the project has many ideas, so I need to keep the MVP focused. If I try to build everything at once, it can become messy. For Stardance, I will focus on the core flow: Create or open a shopkeeper dashboard Add products View/manage orders Publish a public shop page Show clear setup instructions in the README What I learned I learned that a good project is not only about writing code. It also needs clear documentation, clean structure, and a working demo. If someone opens the GitHub repo, they should quickly understand what the project is and how to run it. I also learned that writing a README is part of building the product, not just extra work. Next steps Next, I want to: Improve the README Add screenshots Make the frontend cleaner Test the backend endpoints Make sure the public shop page looks good on mobile Record what I built during each devlog FeraSetu is still a work in progress, but I want to keep improving it step by step and ship a real working project for Stardance.
we fixed ui and added smtp and google oauth
i was fixing the ui and added and fixed admin page
i was improving ui and making it fast and i was learning python added d1 database and sooner to add custom domain finding bug
added new lanfing page ui , added working login and sign up page using workos added pricing and working : cashfree transaction , ferasetu email (only some part is left),ai router and more , giving subdoamin . making website templates with new logo and sitemap.xml
Ships:
i make ferasetu the name itself sayes a bridge between shopkeepers and customer . um it was easy not too much hard but it takes me a month to build and the challanging part was that i have to find an vps which is free (as i am student and with no money my parents dont give me money ) first i used amd 1 gb then leapcell and now cloudflare worker and for frontend we are using appwriter and for auth we are using appwriter and for databse we use d1 and for image we are thinking to use appwriter databse and for ai usage we used sarvam which is free and we added oauth and many othe it taken an month to build but i later know about hacktime then i connect to it and it is showing 7 hours only . yess i am proud of it as i take survey from other shopkeeper they are interested for this and yes i am proud of it as i work very hard for this . nothing people should know only website link or read readme.md...
|
1793119962.2584918
|
1793206362.2584918
|
|
1450
|
Browser by @voidmaster000 | Stardance
|
voidmaster000
|
0
|
46.1
|
0
|
[]
|
[{"post_id": 82193, "ts": "202 [{"post_id": 82193, "ts": "2026-10-24T07:14:40Z", "hours": 46.1011, "text": "the browser shall be made, and it shall be made in the spirit of the previous days, the ones which we cherish with the deepest of our hearts and the highest of our hopes, for a return, a return so wide that can even move heavens, for we are the ones who never cease to move ahead, and up."}]...
|
Title: Browser by @voidmaster000 | Stardance
Devl Title: Browser by @voidmaster000 | Stardance
Devlogs:
the browser shall be made, and it shall be made in the spirit of the previous days, the ones which we cherish with the deepest of our hearts and the highest of our hopes, for a return, a return so wide that can even move heavens, for we are the ones who never cease to move ahead, and up....
|
1793148746.591305
|
1793753546.591305
|
|
24407
|
Kronoblock by @gerald | Stardance
|
gerald
|
0
|
46.03
|
0
|
[]
|
[{"post_id": 43729, "ts": "202 [{"post_id": 43729, "ts": "2026-08-09T04:19:31Z", "hours": 2.0664, "text": "Kronoblock Devlog 2 I finished the inventory gui interaction system, or at least the basics of it. I’m starting off simple by first basing it off of Minecraft’s, but I’ll try to add some changes later to make it more unique. Currently, inventories don’t save, so I’ll be adding that later as well. Let me know if you find any bugs with it in after I release an updated build. Additionally, the weird chunk-edge artifacts like the grass decoration sticking out where it’s not supposed to (due to the mesher not recognizing blocks in unloaded chunks) should be fixed now. Chunk loading should be a little faster too."}, {"post_id": 42963, "ts": "2026-08-07T23:19:38Z", "hours": 43.9667, "text": "Kronoblock Devlog 1 Hello everyone! just want to share a game that I’ve been working on called Kronoblock. It’s a web-based Minecraft-like with (planned) time travel and turn-based combat mechanics. It’s still in very early development, and pointers or suggestions would be appreciated (i have no idea what im really doing). Currently, it only has some basic features: chunks and basic terrain generation block placement movement & collisions basic entity system basic gui’s: main menu, world menu, inventory but hopefully I can make some substantial progress. I’m admittedly a slow programmer, so don’t expect the most frequent updates. To try it out, open the Github repository and follow the instructions to play it there (also read some of the notes there). Questions, feedback, or any form of help are appreciated."}]...
|
Title: Kronoblock by @gerald | Stardance
Devlogs: Title: Kronoblock by @gerald | Stardance
Devlogs:
Kronoblock Devlog 1 Hello everyone! just want to share a game that I’ve been working on called Kronoblock. It’s a web-based Minecraft-like with (planned) time travel and turn-based combat mechanics. It’s still in very early development, and pointers or suggestions would be appreciated (i have no idea what im really doing). Currently, it only has some basic features: chunks and basic terrain generation block placement movement & collisions basic entity system basic gui’s: main menu, world menu, inventory but hopefully I can make some substantial progress. I’m admittedly a slow programmer, so don’t expect the most frequent updates. To try it out, open the Github repository and follow the instructions to play it there (also read some of the notes there). Questions, feedback, or any form of help are appreciated.
Kronoblock Devlog 2 I finished the inventory gui interaction system, or at least the basics of it. I’m starting off simple by first basing it off of Minecraft’s, but I’ll try to add some changes later to make it more unique. Currently, inventories don’t save, so I’ll be adding that later as well. Let me know if you find any bugs with it in after I release an updated build. Additionally, the weird chunk-edge artifacts like the grass decoration sticking out where it’s not supposed to (due to the mesher not recognizing blocks in unloaded chunks) should be fixed now. Chunk loading should be a little faster too....
|
1792594269.9416022
|
1793199069.9416022
|
|
6820
|
cycloidal_geabox_robotic_arm by @Aarnav | Stardanc cycloidal_geabox_robotic_arm by @Aarnav | Stardance...
|
Aarnav
|
0
|
46.02
|
0
|
[]
|
[{"post_id": 25011, "ts": "202 [{"post_id": 25011, "ts": "2026-07-08T22:40:19Z", "hours": 11.7172, "text": "Fixed up github and ordered parts"}, {"post_id": 15517, "ts": "2026-06-25T06:37:53Z", "hours": 15.1131, "text": "editted the gripper to make it smaler to work with my design"}, {"post_id": 10479, "ts": "2026-06-17T06:58:52Z", "hours": 2.0361, "text": "I finished up the assembaly and everything should be complete now hoping to get funding now. Also pulled a free model from online for the gripper."}, {"post_id": 10269, "ts": "2026-06-16T22:17:58Z", "hours": 0.4522, "text": "fixed connection to allow movement and also made mount for FOC"}, {"post_id": 9445, "ts": "2026-06-15T20:13:52Z", "hours": 0.8797, "text": "worked on the connection from the base to the arm"}, {"post_id": 8940, "ts": "2026-06-14T21:11:40Z", "hours": 1.4569, "text": "worked on connecting arm components to the turning base"}, {"post_id": 7835, "ts": "2026-06-13T02:21:29Z", "hours": 0.7325, "text": "I set up the ir sensor for the optical encoder for the base hopefully this works scrapped the idea of using the tiny magnets"}, {"post_id": 6483, "ts": "2026-06-10T22:03:14Z", "hours": 1.5375, "text": "working on encoder for base going to use these magnets"}, {"post_id": 5266, "ts": "2026-06-08T23:49:17Z", "hours": 1.3906, "text": "set up the encoder and other part of the arm"}, {"post_id": 5147, "ts": "2026-06-08T20:44:01Z", "hours": 0.7189, "text": "worked on building out the arm for the robotic arm"}, {"post_id": 4439, "ts": "2026-06-07T19:16:30Z", "hours": 1.1783, "text": "I finished the full two stage gearbox. The next stage is the actuator."}, {"post_id": 3740, "ts": "2026-06-06T19:41:09Z", "hours": 1.0444, "text": "worked on connecting the first stage to the second stage and designed the base for the output"}, {"post_id": 3071, "ts": "2026-06-05T23:29:20Z", "hours": 2.1458, "text": "created the screw holes and figured out te output shaft set up the holes for the output to and verified everything worked together"}, {"post_id": 2596, "ts": "2026-06-05T06:32:31Z", "hours": 1.58, "text": "Fixed up the design ad bult the rollers our. Next going to design the part that recieves the motion"}, {"post_id": 2449, "ts": "2026-06-04T22:53:24Z", "hours": 1.4614, "text": "I have fixed up the design removing unecessary parts and built the housing for the first stage for the cyloidal drive"}, {"post_id": 2339, "ts": "2026-06-04T19:38:55Z", "hours": 2.5794, "text": "I have built the “crack shaft” of the cycloidal drive and I have also built the enclosure for the motor"}]...
|
Title: cycloidal_geabox_robotic_arm by @Aarnav | S Title: cycloidal_geabox_robotic_arm by @Aarnav | Stardance
Devlogs:
I have built the “crack shaft” of the cycloidal drive and I have also built the enclosure for the motor
I have fixed up the design removing unecessary parts and built the housing for the first stage for the cyloidal drive
Fixed up the design ad bult the rollers our. Next going to design the part that recieves the motion
created the screw holes and figured out te output shaft set up the holes for the output to and verified everything worked together
worked on connecting the first stage to the second stage and designed the base for the output
I finished the full two stage gearbox. The next stage is the actuator.
worked on building out the arm for the robotic arm
set up the encoder and other part of the arm
working on encoder for base going to use these magnets
I set up the ir sensor for the optical encoder for the base hopefully this works scrapped the idea of using the tiny magnets
worked on connecting arm components to the turning base
worked on the connection from the base to the arm
fixed connection to allow movement and also made mount for FOC
I finished up the assembaly and everything should be complete now hoping to get funding now. Also pulled a free model from online for the gripper.
editted the gripper to make it smaler to work with my design
Fixed up github and ordered parts...
|
1792594402.7382367
|
1793199202.7382367
|
|
6948
|
Needoh Factory by @Oscar_da_best | Stardance
|
Oscar_da_best
|
2
|
46.0
|
399
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T09:36:31Z", "hours": 6.0, "multiplier": 8.4, "payout": 54, "blessing": "neutral", "text": "I added a obby island to the project and made the game run a little better in general less bugs now and i am working on ading all the coming soon features", "repo": "https://github.com/Duder-coolman/needoh-tycoon", "demo": "https://www.roblox.com/games/85070662876748/Needoh-Factory"}, {"ship_num": 2, "ts": "2026-09-15T02:11:55Z", "hours": 40.0, "multiplier": 8.67, "payout": 345, "blessing": "neutral", "text": "I made a game called Needoh Factory where you buy needohs and merge them to get cooler needohs that make more money. This was a challanging project because I challenged myself to step away from AI an really test what I could do as well as basiclly learing Luau for the first time. I am proud of how far I have come on this journey and proud of the effort I put into this game. anyone who wats to test my project can test it as long as they make a roblox account!", "repo": "https://github.com/Duder-coolman/needoh-tycoon", "demo": "https://www.roblox.com/games/85070662876748/Needoh-Factory"}]...
|
[{"post_id": 78999, "ts": "202 [{"post_id": 78999, "ts": "2026-10-12T09:34:08Z", "hours": 1.1264, "text": "I made a new gem curency and fixed some more bugs that were pretty game breaking like things getting out of the droppers"}, {"post_id": 78019, "ts": "2026-10-09T07:03:58Z", "hours": 2.2419, "text": "I added a parkour island as somthing to do while you passivly make money and the parkour will reward a new currency called gems which will be very useful in the future."}, {"post_id": 77759, "ts": "2026-10-08T05:48:11Z", "hours": 3.0975, "text": "I replaced my script with a Module script allowing me to use the function in other parts of my game like when the player joins or amy other time I need to update the GUI. Mainly jut doing bug fixes right now before I add any more big features to the game and I dont really remember everything I did. :P"}, {"post_id": 68404, "ts": "2026-09-15T02:07:23Z", "hours": 2.4011, "text": "Finished up the game early, a lot is not done but there will be an update hopefully before stardance ends"}, {"post_id": 66425, "ts": "2026-09-12T07:50:55Z", "hours": 5.7147, "text": "There are three pictures I really dislike UI but I am pushing through it and had some fun making the map more decorated. made a working teleport system. Next I will make a shop for the ingame currency and I will add background music as well as making the purchases work. I’m really enjoying this project and hoping to finish in the next week!! :)"}, {"post_id": 65184, "ts": "2026-09-10T04:05:22Z", "hours": 5.5197, "text": "I finisshed the conversion sysstem that allows the player to convert thier needohs into monye finally completeing the core loop of the game. it is not playable and I will be debugging and decorating for the next 10-15 hours🥳🥳 then I can finally ship it I also completed a startup script so that all the UI can update when A player joins the game to display the correct prices and I watched a tutorial on how to make numbers with suffixes after them to make the pricees easier to read."}, {"post_id": 55382, "ts": "2026-08-27T05:38:59Z", "hours": 5.3786, "text": "i added coded the dropper models into the tower and now you can buy them and merge three to get the next level up. they also drop mini and simplified versions of themselves that the player can pick up for a currency that will then be turned into coins im super happy that this project is coming along and am looking forward to shiping it soon."}, {"post_id": 52062, "ts": "2026-08-22T03:48:39Z", "hours": 4.2428, "text": "I made the second row this time. give me some feedback please i like any critisizm just keep in mind I litteraly just started learning. the first row is in my last post. happy to begin working on the main loop of the game soon."}, {"post_id": 48697, "ts": "2026-08-17T06:30:55Z", "hours": 3.6744, "text": "Made a whole pack of runic symbols that I will sell on roblox’s marketplace for $0.99 and made 10 models for my game planning on finishing the other 10 tommorow."}, {"post_id": 47227, "ts": "2026-08-15T00:29:49Z", "hours": 2.0911, "text": "Made the buttons more appealing and rewrote the button purchasing script to make it less repetetive."}, {"post_id": 43160, "ts": "2026-08-08T08:30:52Z", "hours": 5.4481, "text": "Made a save data storage script and a script to buy droppers I cannot figure out how to add code blocks so these terrible pictures will have to do"}, {"post_id": 5630, "ts": "2026-06-09T14:38:25Z", "hours": 2.2406, "text": "I added the main element of the game and made a plot system that gives the player a plot when they load in. (lighting looks bad because it is not textured yet)"}, {"post_id": 4036, "ts": "2026-06-07T06:49:08Z", "hours": 1.775, "text": "Added pathways and portals for obstacle courses, its so hard to make pathways… planning on making a lot of progress tommorow and waiting to finishing building so I can start scripting 🙏"}, {"post_id": 3341, "ts": "2026-06-06T07:05:12Z", "hours": 0.5228, "text": "Added water around the islands and bridges connecting them. planning on locking in tomorrow"}, {"post_id": 2599, "ts": "2026-06-05T06:43:34Z", "hours": 0.3025, "text": "Currently very busy finishing up school but I was able to make a measured out map."}, {"post_id": 1982, "ts": "2026-06-04T07:40:57Z", "hours": 0.5017, "text": "Basic Hover effect for button along with other basic thing I like to set up when I start a project"}]...
|
Title: Needoh Factory by @Oscar_da_best | Stardanc Title: Needoh Factory by @Oscar_da_best | Stardance
Devlogs:
Basic Hover effect for button along with other basic thing I like to set up when I start a project
Currently very busy finishing up school but I was able to make a measured out map.
Added water around the islands and bridges connecting them. planning on locking in tomorrow
Added pathways and portals for obstacle courses, its so hard to make pathways… planning on making a lot of progress tommorow and waiting to finishing building so I can start scripting 🙏
I added the main element of the game and made a plot system that gives the player a plot when they load in. (lighting looks bad because it is not textured yet)
Made a save data storage script and a script to buy droppers I cannot figure out how to add code blocks so these terrible pictures will have to do
Made the buttons more appealing and rewrote the button purchasing script to make it less repetetive.
Made a whole pack of runic symbols that I will sell on roblox’s marketplace for $0.99 and made 10 models for my game planning on finishing the other 10 tommorow.
I made the second row this time. give me some feedback please i like any critisizm just keep in mind I litteraly just started learning. the first row is in my last post. happy to begin working on the main loop of the game soon.
i added coded the dropper models into the tower and now you can buy them and merge three to get the next level up. they also drop mini and simplified versions of themselves that the player can pick up for a currency that will then be turned into coins im super happy that this project is coming along and am looking forward to shiping it soon.
I finisshed the conversion sysstem that allows the player to convert thier needohs into monye finally completeing the core loop of the game. it is not playable and I will be debugging and decorating for the next 10-15 hours🥳🥳 then I can finally ship it I also completed a startup script so that all the UI can update when A player joins the game to display the correct prices and I watched a tutorial on how to make numbers with suffixes after them to make the pricees easier to read.
There are three pictures I really dislike UI but I am pushing through it and had some fun making the map more decorated. made a working teleport system. Next I will make a shop for the ingame currency and I will add background music as well as making the purchases work. I’m really enjoying this project and hoping to finish in the next week!! :)
Finished up the game early, a lot is not done but there will be an update hopefully before stardance ends
I replaced my script with a Module script allowing me to use the function in other parts of my game like when the player joins or amy other time I need to update the GUI. Mainly jut doing bug fixes right now before I add any more big features to the game and I dont really remember everything I did. :P
I added a parkour island as somthing to do while you passivly make money and the parkour will reward a new currency called gems which will be very useful in the future.
I made a new gem curency and fixed some more bugs that were pretty game breaking like things getting out of the droppers
Ships:
I made a game called Needoh Factory where you buy needohs and merge them to get cooler needohs that make more money. This was a challanging project because I challenged myself to step away from AI an really test what I could do as well as basiclly learing Luau for the first time. I am proud of how far I have come on this journey and proud of the effort I put into this game. anyone who wats to test my project can test it as long as they make a roblox account!
I added a obby island to the project and made the game run a little better in general less bugs now and i am working on ading all the coming soon features...
|
1793148782.9288151
|
1793235182.9288151
|
|
10684
|
Solve It by @Shish | Stardance
|
Shish
|
1
|
46.0
|
843
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T08:10:55Z", "hours": 46.0, "multiplier": 18.48, "payout": 843, "blessing": "neutral", "text": "As students, we all require notes and questions when we are practicing for any competitive exams, whenever I wanted the same, I had to ask my friends or I had to buy PYQs online. So to tackle that, I made a website where you can easily post notes and PYQs FOR FREE without even signing up. The website is called SolveIt. There are many things that can be done on the website like uploading PYQs or Notes or any other study related material for a specific competitive examination in a PDF format. If the exam is state specific, you can select the state too. Currently it is only available for India, USA, China, United Kingdom and Australia. It also includes many exams like Gaokao, NEET, JEE, SAT, ACT, QCE, etc. While uploading you can specify your country, state, examination name, year, class/grade and subject. In the settings page, you can make your own avatar (it is inspired by skribbl.io) and yes, the scribbles are hand drawn. You can also delete your account if you wish to, and many other things like changing the password, email and deleting previously uploaded papers. You can navigate easily on the browse page by using the searchbar as well as the filters. Filters will only show those options which are available. You can click on a card and view the paper inside the site itself if you don’t wish to download it. Moreover, you can see more details like uploaded by, uploaded on, length and size of the document and much more. The most challenging part of this project was the backend as always. Routes didn’t work initially when I started off, I couldn’t figure out a way to make scribbled borders so I took help of AI for that. MOST ANNOYING part was the avatar builder, I had to make hand drawn scribbles and convert it into svg paths and then modify those paths according to the container. I also took help of AI to encrypt the passwords of the user. I am very proud of the fact that I have self hosted this website, with the raspberry pi 5 that I received from Hackclub this year. I used Cloudflared private tunnel. Entire backend and database is on RPI. I really wanted to add more things to the project but due to academics and school work, I have to ship it now or else I won’t get time for my upcoming examinations. Before you test it, I would like to make a request that if you face any problem, please report it by going to Report a Bug page so that I come to know about it and can fix it as soon as possible. For more details about the project and if you want to know about it in detail, please read the README file.", "repo": "https://github.com/C0nfu5ing-5pring/SolveIt", "demo": "https://solve-it-nine.vercel.app"}]...
|
[{"post_id": 70459, "ts": "202 [{"post_id": 70459, "ts": "2026-09-19T07:27:32Z", "hours": 1.5328, "text": "v (0.7.0-Beta) Continue as Guest + README + more Updates Added hand drawn images to the home page reducing the white space that was looking ugly earlier Added continue as guest feature, if a user continues as guest, they won’t be able to delete their account or change their email address as well as password Wrote the README file I still do not consider this project as completely done, I will be adding more features to it once I am done with my academics What next? I’ll ship it most probably"}, {"post_id": 70419, "ts": "2026-09-19T04:55:34Z", "hours": 0.6714, "text": "v(0.6.0-Beta) Password change Updates I have decided not to include themes as I can no longer work on this project due to school work academics I just want to finish this project as soon as I can. Next devlog might be the last devlog of this project where I’ll add “Continue as guest” feature for shipwrights SO, in this update, I’ve just basically copy pasted the change email logic and made a change password feature. I literally copy pasted it and then modified it for password hence it took less time What next? I’ll be summing up this project by adding continue as guest feature"}, {"post_id": 69546, "ts": "2026-09-17T08:45:17Z", "hours": 4.2175, "text": "v(0.5.0-Beta) Avatar builder + bug fixes Updates Now you can make your own avatar just like skribbl.io!!!!! It took so much of my time tbh, I had to hand draw every doodle, I wanted to record it on lapse but couldn’t as screen recording wasn’t working on iPad for some reason and also when I screenshared, the screen went black for some reason. I contacted lapse-help on slack but didn’t find any solution so I decided not to let it go Added a new updateavatar component which lets you make your own avatar and update it if you want to!! Did layout fixes on large screen devices as only horizontal scroll was allowed and vertical scroll was disabled (my friend told me, I didn’t even notice it lol) Fixed frontend as well as backend bugs during the making of this avatar feature This devlog is toooooo big ik but i couldn’t find time daily due to school and assignments and all What next? I’ll work on themes, black white and system themes. The basic ones I’ll also work on “Continue as guest” so that shipwrights don’t have to login when they go through the project I’ll most probably end the project for now after these features are implemented as I need to prepare for upcoming examinations and also stardance is coming to an end :("}, {"post_id": 64001, "ts": "2026-09-08T03:22:18Z", "hours": 1.3669, "text": "v(0.4.4-Beta) Session expiry bug fix + responsiveness fixed Updates Fixed the responsiveness issue on small screen devices I also faced another issue, My friends were unable to download papers and it displayed “Error during downloading” So I took help of AI to know what the problem is and it said that It was because their token had expired SOOOOO…. I increased the token expiry limit to 30 days AND if the token is expired, you will be asked to login again. I applied this throughout the website, upload, browse, report and download I’ll also be switching to nest as I don’t fully trust my ISP and also because shipwright’s review policy said so. BUT i’ll do it towards the end once every feature is almost well built. I’ve applied to nest and hope they accept it as soon as possible! What next? Next, I’ll work on Avatar maker like skribbl.io (this is going to be tuffffffffff)"}, {"post_id": 62200, "ts": "2026-09-05T13:50:17Z", "hours": 1.7614, "text": "v(0.4.3-Beta) See uploads and delete them Updates Now you can see your uploads in the settings page and delete them if you wish to If you click on the card, it’ll redirect you to a separate page where you can see the paper in detail What next? Next, I’ll work on fixing the responsiveness issue on small screen devices"}, {"post_id": 62041, "ts": "2026-09-05T08:10:07Z", "hours": 0.8733, "text": "v(0.4.1-Beta) Delete account Updates Now you can permanently delete your account. Once you delete your account, all the posts from that account will be removed from the website. For this, I made /delete-me route What next? Next, I’ll make a section where users can manage their papers, they can delete their papers if they want After that, I’ll be working on fixing the responsiveness issue on small screen devices"}, {"post_id": 61935, "ts": "2026-09-05T03:30:17Z", "hours": 1.3983, "text": "v(0.4.1-Beta) Update Email address + Errors Updates Added errors and toasts throughout the website Added update email address feature I’ll be keeping next few devlogs small as I will be working on each feature one by one What next? Next, I’ll work on Delete account feature"}, {"post_id": 61644, "ts": "2026-09-04T17:18:43Z", "hours": 3.3133, "text": "(0.4.0-Beta) Settings page + 404 handling Updates Handled 404 error (I had to because my WiFi was down several times today. Many of my friends thought that it was my mistake but actually WiFi was down so my rpi couldn’t serve data) Made settings page and displayed user data on it. I have added an easter egg when the site is down, so basically when there’s an 404 err, you can see an easter can which I’ve added to the site. On the settings page, I have Apprearance settings, Account settings, Preference settings and Delete account. None of them are functional yet. Took a lot of time to create a route (/me). As I faced a lot of bugs while doing so. What next? I know i’ve again delayed making doodles, I WILL MAKE THEM istg I’ll also fix the resonsiveness issue on small screen devices I’ll work on making the settings page functional I have 2 days off at school so I am going yo use them very efficiently!!"}, {"post_id": 59537, "ts": "2026-09-01T12:41:50Z", "hours": 2.4753, "text": "v(0.3.0-Beta) Separate paper view + Searchbar Updates Added a searchbar (finally Now, you can view each paper separately inside the website itself Made very very very small changes in the design of the website Now you can click on the logo to direcly go back to the browse page (Yeah, I know it’s not something genius) What next? I REALLY want to add doodles but I have been delaying it TOO much now! I think I might be working on it (not sure tho) I also need to make a pfp maker, where users can make their own pfp kinda like the one on skribbl.io. Actually this entire design is inspired by skribbl.io I’ll also be adding user settings page and all where they can change theme, fonts and… okay, just font and themes for now."}, {"post_id": 57954, "ts": "2026-08-30T09:07:53Z", "hours": 3.155, "text": "v(0.2-Beta) Deployed + Reviews + More Updates Soooooo, the site it live. andithasalotofproblems!!! I made the site live and asked my friends to use it and fill it with notes. many of them complained about bugs so, I fixed some of them and NOW, I need to add a search bar on the site (I completely forgot lol). In these 3 hours, I deployed the website (this time didn’t get counted as I was working on the terminal. But it took around 1 and a half hour). So in 3 hours, I handled bugs and fixed some of them, enhanced responsiveness as some of my friends complained that they couldn’t scroll on the website or smthng. Added more information on the card, Added 2 new columns named description and type (as requested by a friend). Changed the layout of lower part of the card a little bit (made it a little bit clean). Made the upload code a bit efficient by removing repetitive code. What next? Next, I’ll work on making a search bar on the website so it is easy to use and navigate I’ll be taking inputs from friends and working on them I will be making a separate page where the user can see the pdf each separately insite the site Next devlog is going to be CHUNKY!!!"}, {"post_id": 55439, "ts": "2026-08-27T08:29:00Z", "hours": 2.7292, "text": "v(0.1.3-Alpha) Report bug feature and it’s backend + Enhanced responsiveness across the website + colours Updates Enhanced responsivess across the site Added colours and sketchy borders and colours wherever I could Added new report bug feature along with it’s backend (this one took time as WiFi went off and I couldn’t ssh into my rpi) What next? I’ll be making doodles (YES, i’ll be hand drawing them) I haven’t thought about anything else yet! BUT, I might be making the website public and push it into the beta version, for that, I’ll need to setup a cloudflare connection via my rpi (aghh i’ll look into it once I am fully convinced with the frontend."}, {"post_id": 55023, "ts": "2026-08-26T13:27:40Z", "hours": 2.46, "text": "v(0.1.2-Alpha) Scribbly Borders + New countries Updates Added scribbly lines/borders (used AI’s help) Added new countries and their examinations (UK, USA, Australia, China) Added mansory layout so that i don’t have to worry about responsiveness later What next? Next, i’ll work on adding colours to the site and add doodle"}, {"post_id": 54456, "ts": "2026-08-25T14:03:23Z", "hours": 3.4747, "text": "(v.0.1.1-Alpha) New UI + Notifications+ More info about the file Updates Added new design inspired by scribbles and doodles. (Still figuring out how to make scribbled borders) Enhanced responsiveness for new design Displayed more information about the file uploaded by the user such as File size and no. of pages file contains. Fixed a few bugs related to login and logout pages Added notifications (Yet to design it, atp, it’s just a basic design and not synced to the project design) Deleted unwanted files that I had made earlier during setting up the folder structure. What next? Next, I’ll work on adding design to the notification componentk Then, I’ll be adding doodles and stuff to fill up the white space I also wish to add more countries like The USA, Canada, UK, which have competitive exams."}, {"post_id": 48046, "ts": "2026-08-16T10:24:38Z", "hours": 1.7575, "text": "(v0.1.0-Alpha) Responsiveness + Fixed a loop hole + Showing more details in the card Updates Enhanced responsivess (sidebar, header, browse page for mob iles and large screen devices) Displayed more info like region, year, subject, uploaded by, uploaded at, exam name, etc. to the card Fixed loop hole, earlier, a user could access the browse page, basically entire website without logging in lol. Added a new field to the database in papers table which stores the user’s name instead of just storing the id number of that person What next? I am thinking of adding notifications using react-toastify and sound effects I’ll work on designing the card. I am considering to change the entire design and lean more towards a brutalist design Next update is going to be a major one Where was I since last 12 days? I have been busy with school work and also my mid-terms are commencing from 1st of September so, I couldn’t give more time to thr project. This could also happen in the near future until my exams are completed (11th Sept)"}, {"post_id": 40839, "ts": "2026-08-04T16:56:36Z", "hours": 1.3603, "text": "(v0.0.8-Alpha) Sidebar and Responsivenes Updates Added responsiveness to the login, signup, upload, home pages and header component Made the sidebar functional, you can now filter data based on year, country, state, exam i think currently, on smaller devices, the font size is a lot smaller, if you guys feel the same please give me a review so that I can improve it! What next? Next, I’ll work on enhancing the responsiveness And also, i’ll start designing the card which will contain details of the papers I also need to handle edge cases like not showing upload button to guest users and so many loop holes that are still there in this project."}, {"post_id": 40157, "ts": "2026-08-03T15:48:18Z", "hours": 1.5133, "text": "v(0.0.7-Alpha) Download Feature Updates Added the download feature. you can click on the card to open the PDF file on the browser What next? Next, I’ll work on responsiveness"}, {"post_id": 38911, "ts": "2026-08-01T14:31:53Z", "hours": 0.6728, "text": "v(0.0.6-Alpha) Log out + Showing data from db Update Added log out feature (it was quite easy just had to apply some display conditions to the buttons and remove the user’s token from the localStorage) Added data from the db in the form of cards on /browse. It is not at all good-looking. I’ll work on it once I implement the download feature in it. What next? I’ll be implementing the download files feature I’ll start working on making the website responsive"}, {"post_id": 38751, "ts": "2026-08-01T09:45:07Z", "hours": 2.0417, "text": "v(0.0.5) Frontend revamp Updates Revamped the frontend design Added drag and drop file submission feature The site is not yet responsive Log in and sign up pages are also changed Browse and home pages are changed (there are some white spaces that I hate rn but i’ll tackle that some other time) really loving working on this project can’t stop thinking about ideas!! Next steps Will enhance the functionality of the header (now it is static meaning even if the user is logged in, it will show login/sign up buttons) I’ll add a logout button or smthng. Currently, all the uploaded files don’t appear on the /browse section so i’ll have to deal with that too!"}, {"post_id": 38700, "ts": "2026-08-01T07:01:18Z", "hours": 0.6944, "text": "v(0.0.4-Alpha) Upload Feature - Frontend Updates Completed the frontend part of upload feature Added tags so that navigation is smoother Currently, i have only added india in the future, i’ll other countries too. I am not focusing much on design as well as responsiveness. I will tackle that towards the end. What next? Next, I’ll work on the home page + browse page Browse page will display all the files uploaded by people"}, {"post_id": 38679, "ts": "2026-08-01T05:58:47Z", "hours": 2.3167, "text": "v(0.0.4-Alpha) Upload Feature - Backend Updates Upload feature is working!!! (backend for now) that too smoothly! Used multer middleware to handle PDF uploads. Files up to 25MB are acceptable for now. PDFs are saved on /uploads folder on the server Only logged in logged in users can upload files Built /api/papers with filters like class, subject, exam_name, country, state, year and file_path. What next? Now i’ll work on the frontend part of this feature"}, {"post_id": 38386, "ts": "2026-07-31T18:48:52Z", "hours": 2.6156, "text": "v(0.0.3-Alpha) Layout Design Updates Making layouts is not a one time thing so I made a temporary layout which took a lot of trial and errors Don’t mind the colours/text size or fonts and all as it is still under development Currently it’s working only locally as the project is still in alpha version and also, nothing is responsive for smaller screen sizes What Next? Most probably next I will be working on the Upload feature along with it’s backend"}, {"post_id": 38145, "ts": "2026-07-31T12:00:46Z", "hours": 1.7397, "text": "v(0.0.2) Login and Sign up - Frontend Updates Almost lost the project (accidently deleted the repo Writing the logic for login/sign up for the first was kind of tough hence took more time! It works smoothly now What next? Most probably i’ll work on the landing page and the designing part"}, {"post_id": 38074, "ts": "2026-07-31T08:44:11Z", "hours": 0.8119, "text": "(v0.0.2-Alpha) Login and Sign up - Backend Updates Login and signup functionality completed and is functional I also used bcrypt to encrypt the user’s password What next? I will now work on the frontend part of the website so i will be making the dashboard, login and signup pages. I might have to look for good designs too"}, {"post_id": 38048, "ts": "2026-07-31T07:18:49Z", "hours": 0.6389, "text": "v(0.0.1-Alpha) Initial Setup Made a database on rpi with tables and their schemas Frontend basic setup completed with file structure What next? First I’ll work on the backend and then come to frontend so next few devlogs might be boring for some people :("}]...
|
Title: Solve It by @Shish | Stardance
Devlogs:
v( Title: Solve It by @Shish | Stardance
Devlogs:
v(0.0.1-Alpha) Initial Setup Made a database on rpi with tables and their schemas Frontend basic setup completed with file structure What next? First I’ll work on the backend and then come to frontend so next few devlogs might be boring for some people :(
(v0.0.2-Alpha) Login and Sign up - Backend Updates Login and signup functionality completed and is functional I also used bcrypt to encrypt the user’s password What next? I will now work on the frontend part of the website so i will be making the dashboard, login and signup pages. I might have to look for good designs too
v(0.0.2) Login and Sign up - Frontend Updates Almost lost the project (accidently deleted the repo Writing the logic for login/sign up for the first was kind of tough hence took more time! It works smoothly now What next? Most probably i’ll work on the landing page and the designing part
v(0.0.3-Alpha) Layout Design Updates Making layouts is not a one time thing so I made a temporary layout which took a lot of trial and errors Don’t mind the colours/text size or fonts and all as it is still under development Currently it’s working only locally as the project is still in alpha version and also, nothing is responsive for smaller screen sizes What Next? Most probably next I will be working on the Upload feature along with it’s backend
v(0.0.4-Alpha) Upload Feature - Backend Updates Upload feature is working!!! (backend for now) that too smoothly! Used multer middleware to handle PDF uploads. Files up to 25MB are acceptable for now. PDFs are saved on /uploads folder on the server Only logged in logged in users can upload files Built /api/papers with filters like class, subject, exam_name, country, state, year and file_path. What next? Now i’ll work on the frontend part of this feature
v(0.0.4-Alpha) Upload Feature - Frontend Updates Completed the frontend part of upload feature Added tags so that navigation is smoother Currently, i have only added india in the future, i’ll other countries too. I am not focusing much on design as well as responsiveness. I will tackle that towards the end. What next? Next, I’ll work on the home page + browse page Browse page will display all the files uploaded by people
v(0.0.5) Frontend revamp Updates Revamped the frontend design Added drag and drop file submission feature The site is not yet responsive Log in and sign up pages are also changed Browse and home pages are changed (there are some white spaces that I hate rn but i’ll tackle that some other time) really loving working on this project can’t stop thinking about ideas!! Next steps Will enhance the functionality of the header (now it is static meaning even if the user is logged in, it will show login/sign up buttons) I’ll add a logout button or smthng. Currently, all the uploaded files don’t appear on the /browse section so i’ll have to deal with that too!
v(0.0.6-Alpha) Log out + Showing data from db Update Added log out feature (it was quite easy just had to apply some display conditions to the buttons and remove the user’s token from the localStorage) Added data from the db in the form of cards on /browse. It is not at all good-looking. I’ll work on it once I implement the download feature in it. What next? I’ll be implementing the download files feature I’ll start working on making the website responsive
v(0.0.7-Alpha) Download Feature Updates Added the download feature. you can click on the card to open the PDF file on the browser What next? Next, I’ll work on responsiveness
(v0.0.8-Alpha) Sidebar and Responsivenes Updates Added responsiveness to the login, signup, upload, home pages and header component Made the sidebar functional, you can now filter data based on year, country, state, exam i think currently, on smaller devices, the font size is a lot smaller, if you guys feel the same please give me a review so that I can improve it! What next? Next, I’ll work on enhancing the responsiveness And also, i’ll start designing the card which will contain details of the papers I also need to handle edge cases like not showing upload button to guest users and so many loop holes that are still there in this project.
(v0.1.0-Alpha) Responsiveness + Fixed a loop hole + Showing more details in the card Updates Enhanced responsivess (sidebar, header, browse page for mob iles and large screen devices) Displayed more info like region, year, subject, uploaded by, uploaded at, exam name, etc. to the card Fixed loop hole, earlier, a user could access the browse page, basically entire website without logging in lol. Added a new field to the database in papers table which stores the user’s name instead of just storing the id number of that person What next? I am thinking of adding notifications using react-toastify and sound effects I’ll work on designing the card. I am considering to change the entire design and lean more towards a brutalist design Next update is going to be a major one Where was I since last 12 days? I have been busy with school work and also my mid-terms are commencing from 1st of September so, I couldn’t give more time to thr project. This could also happen in the near future until my exams are completed (11th Sept)
(v.0.1.1-Alpha) New UI + Notifications+ More info about the file Updates Added new design inspired by scribbles and doodles. (Still figuring out how to make scribbled borders) Enhanced responsiveness for new design Displayed more information about the file uploaded by the user such as File size and no. of pages file contains. Fixed a few bugs related to login and logout pages Added notifications (Yet to design it, atp, it’s just a basic design and not synced to the project design) Deleted unwanted files that I had made earlier during setting up the folder structure. What next? Next, I’ll work on adding design to the notification componentk Then, I’ll be adding doodles and stuff to fill up the white space I also wish to add more countries like The USA, Canada, UK, which have competitive exams.
v(0.1.2-Alpha) Scribbly Borders + New countries Updates Added scribbly lines/borders (used AI’s help) Added new countries and their examinations (UK, USA, Australia, China) Added mansory layout so that i don’t have to worry about responsiveness later What next? Next, i’ll work on adding colours to the site and add doodle
v(0.1.3-Alpha) Report bug feature and it’s backend + Enhanced responsiveness across the website + colours Updates Enhanced responsivess across the site Added colours and sketchy borders and colours wherever I could Added new report bug feature along with it’s backend (this one took time as WiFi went off and I couldn’t ssh into my rpi) What next? I’ll be making doodles (YES, i’ll be hand drawing them) I haven’t thought about anything else yet! BUT, I might be making the website public and push it into the beta version, for that, I’ll need to setup a cloudflare connection via my rpi (aghh i’ll look into it once I am fully convinced with the frontend.
v(0.2-Beta) Deployed + Reviews + More Updates Soooooo, the site it live. andithasalotofproblems!!! I made the site live and asked my friends to use it and fill it with notes. many of them complained about bugs so, I fixed some of them and NOW, I need to add a search bar on the site (I completely forgot lol). In these 3 hours, I deployed the website (this time didn’t get counted as I was working on the terminal. But it took around 1 and a half hour). So in 3 hours, I handled bugs and fixed some of them, enhanced responsiveness as some of my friends complained that they couldn’t scroll on the website or smthng. Added more information on the card, Added 2 new columns named description and type (as requested by a friend). Changed the layout of lower part of the card a little bit (made it a little bit clean). Made the upload code a bit efficient by removing repetitive code. What next? Next, I’ll work on making a search bar on the website so it is easy to use and navigate I’ll be taking inputs from friends and working on them I will be making a separate page where the user can see the pdf each separately insite the site Next devlog is going to be CHUNKY!!!
v(0.3.0-Beta) Separate paper view + Searchbar Updates Added a searchbar (finally Now, you can view each paper separately inside the website itself Made very very very small changes in the design of the website Now you can click on the logo to direcly go back to the browse page (Yeah, I know it’s not something genius) What next? I REALLY want to add doodles but I have been delaying it TOO much now! I think I might be working on it (not sure tho) I also need to make a pfp maker, where users can make their own pfp kinda like the one on skribbl.io. Actually this entire design is inspired by skribbl.io I’ll also be adding user settings page and all where they can change theme, fonts and… okay, just font and themes for now.
(0.4.0-Beta) Settings page + 404 handling Updates Handled 404 error (I had to because my WiFi was down several times today. Many of my friends thought that it was my mistake but actually WiFi was down so my rpi couldn’t serve data) Made settings page and displayed user data on it. I have added an easter egg when the site is down, so basically when there’s an 404 err, you can see an easter can which I’ve added to the site. On the settings page, I have Apprearance settings, Account settings, Preference settings and Delete account. None of them are functional yet. Took a lot of time to create a route (/me). As I faced a lot of bugs while doing so. What next? I know i’ve again delayed making doodles, I WILL MAKE THEM istg I’ll also fix the resonsiveness issue on small screen devices I’ll work on making the settings page functional I have 2 days off at school so I am going yo use them very efficiently!!
v(0.4.1-Beta) Update Email address + Errors Updates Added errors and toasts throughout the website Added update email address feature I’ll be keeping next few devlogs small as I will be working on each feature one by one What next? Next, I’ll work on Delete account feature
v(0.4.1-Beta) Delete account Updates Now you can permanently delete your account. Once you delete your account, all the posts from that account will be removed from the website. For this, I made /delete-me route What next? Next, I’ll make a section where users can manage their papers, they can delete their papers if they want After that, I’ll be working on fixing the responsiveness issue on small screen devices
v(0.4.3-Beta) See uploads and delete them Updates Now you can see your uploads in the settings page and delete them if you wish to If you click on the card, it’ll redirect you to a separate page where you can see the paper in detail What next? Next, I’ll work on fixing the responsiveness issue on small screen devices
v(0.4.4-Beta) Session expiry bug fix + responsiveness fixed Updates Fixed the responsiveness issue on small screen devices I also faced another issue, My friends were unable to download papers and it displayed “Error during downloading” So I took help of AI to know what the problem is and it said that It was because their token had expired SOOOOO…. I increased the token expiry limit to 30 days AND if the token is expired, you will be asked to login again. I applied this throughout the website, upload, browse, report and download I’ll also be switching to nest as I don’t fully trust my ISP and also because shipwright’s review policy said so. BUT i’ll do it towards the end once every feature is almost well built. I’ve applied to nest and hope they accept it as soon as possible! What next? Next, I’ll work on Avatar maker like skribbl.io (this is going to be tuffffffffff)
v(0.5.0-Beta) Avatar builder + bug fixes Updates Now you can make your own avatar just like skribbl.io!!!!! It took so much of my time tbh, I had to hand draw every doodle, I wanted to record it on lapse but couldn’t as screen recording wasn’t working on iPad for some reason and also when I screenshared, the screen went black for some reason. I contacted lapse-help on slack but didn’t find any solution so I decided not to let it go Added a new updateavatar component which lets you make your own avatar and update it if you want to!! Did layout fixes on large screen devices as only horizontal scroll was allowed and vertical scroll was disabled (my friend told me, I didn’t even notice it lol) Fixed frontend as well as backend bugs during the making of this avatar feature This devlog is toooooo big ik but i couldn’t find time daily due to school and assignments and all What next? I’ll work on themes, black white and system themes. The basic ones I’ll also work on “Continue as guest” so that shipwrights don’t have to login when they go through the project I’ll most probably end the project for now after these features are implemented as I need to prepare for upcoming examinations and also stardance is coming to an end :(
v(0.6.0-Beta) Password change Updates I have decided not to include themes as I can no longer work on this project due to school work academics I just want to finish this project as soon as I can. Next devlog might be the last devlog of this project where I’ll add “Continue as guest” feature for shipwrights SO, in this update, I’ve just basically copy pasted the change email logic and made a change password feature. I literally copy pasted it and then modified it for password hence it took less time What next? I’ll be summing up this project by adding continue as guest feature
v (0.7.0-Beta) Continue as Guest + README + more Updates Added hand drawn images to the home page reducing the white space that was looking ugly earlier Added continue as guest feature, if a user continues as guest, they won’t be able to delete their account or change their email address as well as password Wrote the README file I still do not consider this project as completely done, I will be adding more features to it once I am done with my academics What next? I’ll ship it most probably
Ships:
As students, we all require notes and questions when we are practicing for any competitive exams, whenever I wanted the same, I had to ask my friends or I had to buy PYQs online. So to tackle that, I made a website where you can easily post notes and PYQs FOR FREE without even signing up. The website is called SolveIt. There are many things that can be done on the website like uploading PYQs or Notes or any other study related material for a specific competitive examination in a PDF format. If the exam is state specific, you can select the state too. Currently it is only available for India, USA, China, United Kingdom and Australia. It also includes many exams like Gaokao, NEET, JEE, SAT, ACT, QCE, etc. While uploading you can specify your country, state, examination name, year, class/grade and subject. In the settings page, you can make your own avatar (it is inspired by skribbl.io) and yes, the scribbles are hand drawn. You can also delete your account if you wish to, and many other things like changing the password, email and deleting previously uploaded papers. You can navigate easily on the browse page by using the searchbar as well as the filters. Filters will only show those options which are available. You can click on a card and view the paper inside the site itself if you don’t wish to download it. Moreover, you can see more details like uploaded by, uploaded on, length and size of the document and much more. The most challenging part of this project was the backend as always. Routes didn’t work initially when I started off, I couldn’t figure out a way to make scribbled borders so I took help of AI for that. MOST ANNOYING part was the avatar builder, I had to make hand drawn scribbles and convert it into svg paths and then modify those paths according to the container. I also took help of AI to encrypt the passwords of the user. I am very proud of the fact that I have self hosted this website, with the raspberry pi 5 that I received from Hackclub this year. I used Cloudflared private tunnel. Entire backend and database is on RPI. I really wanted to add more things to the project but due to academics and school work, I have to ship it now or else I won’t get time for my upcoming examinations. Before you test it, I would like to make a request that if you face any problem, please report it by going to Report a Bug page so that I come to know about it and can fix it as soon as possible. For more details about the project and if you want to know about it in detail, please read the README file....
|
1793148708.7590725
|
1793235108.7590725
|
|
14075
|
Particle World by @Fawy2010 | Stardance
|
Fawy2010
|
1
|
46.0
|
797
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-20T15:27:00Z", "hours": 46.0, "multiplier": 17.19, "payout": 797, "blessing": "neutral", "text": "I made a particle simulator, where every particle has a color and interact with other particles based on color. I found it to be challenging, to find out how exactly compute shaders and shaders as a whole work, because I had to figure out stuff like the communication between CPU and GPU and what the syntax of HLSL, the language shaders are written in, is. But now I’m proud of the result, even I with an laptop using an integrated graphics card, can simulate up to 60’000 particles at once, at a decent speed. But for the people that want to test out my project, I think the best way to experience it, is to just try out different stuff and see if you manage to get something that you like.", "repo": "https://github.com/Fawy20210/Particle-World", "demo": "https://fawy2020.itch.io/particle-world"}]...
|
[{"post_id": 31439, "ts": "202 [{"post_id": 31439, "ts": "2026-07-19T20:12:22Z", "hours": 1.2411, "text": "Devlog 11: Fixed a Bug & Finished README The bug I mentioned in my last devlog, the one where I couldn’t understand why it only happens when a number is odd, I still don’t understand it, but I managed to fix it. In the shader I use for rendering, I used fmod(InstanceID, colorCount) for finding out what color a particle is, but in my compute shader i do it like this InstanceID % colorCount , and apparently those do something different with the same int input? I don’t know. But now it’s fixed, and I added a Demo video to my README. So now I can finally ship this."}, {"post_id": 31345, "ts": "2026-07-19T17:37:48Z", "hours": 7.5317, "text": "Devlog 10: Writing a README & finding bugs So, I now pretty much have finished writing my README, only thing missing is a demo video, but before I can add that, I’ll have to fix a bug. Because apparently when you input a odd number as the amount of colors, the values in the matrixes are not the one of the color shown, but of the color 1 to the left/up? But only for odd numbers, even numbers work fine? But anyway, I also added a FPS counter to the simulation. So now I’ll go to either try find out why that bug happens, or just add something that makes the bug invisible."}, {"post_id": 28362, "ts": "2026-07-14T15:59:28Z", "hours": 3.1242, "text": "Devlog 9: Input Validation & Bug Fixing Knowing that I know my code to well, I gave a working version of it to my sister, to watch her try it, and see if there’s anything somebody could do, that isn’t really intended. And it turns out there is! It seems quite obvious now, but one thing you could do, but weren’t supposed to , was inputting any values you want, which is fine if you know what you’re doing, but most probably you won’t, so I had to add Input validation. In some places it was more important than in others, because your GPU really doesn’t like it if you define a buffer with a negative size, which happend if you inputted a negative amount of particles. I also cleaned up the files a bit, by taking all unused files, and putting them in a folder called… “Unused”, really clever name choice, isn’t it? So now, I get to prepare for Shipping my project, although I’m not really looking forward to writing the README yet."}, {"post_id": 27344, "ts": "2026-07-12T20:42:35Z", "hours": 8.0836, "text": "Devlog 8: Matrix editing & Camera Movement So I know I said in Devlog 7 , I would only polish some stuff and get ready to ship, but I just couldn’t not add the ability to edit the Matrixes and move the Camera, the first of the two, I was able to do with the help the GridLayout Component, which automatically arranges all it’s children in a grid. I did that by dynamically adding an UI input Element for each Value in the Matrix, and putting in the corresponding Value. And now, you can change the values of each Cell, and when you’re finished, you can hit apply, and now you’ve changed the behaviour of the particles, yay! Getting the Camera to zoom and move in a way I like, was really hard, probably because I was kind of tired, or maybe because I’m just stupid, who knows. But anyway, I’m using Unitys Input System to geth mouse movements and scrolling, so that I can then read out the value of those in my Script. The zooming is works like this: Zoom += Zoom * ( ScrollValue / 10 ); CameraSize = OriginalCameraSize * Zoom And the camera movement works by turning the mouse position an the screen into a position in the World Space, and multiplying it wiht the suqre of zoom, so that the movement gets slower and slower when you zoom in. There is even more to it than this, but it would be a pretty long Devlog if I explained everything, so I guess next time I shouldn’t wait 8h to write a Devlog. (:"}, {"post_id": 24326, "ts": "2026-07-07T20:41:50Z", "hours": 6.0033, "text": "Devlog 7: Adding a UI I finally did it, I added an UI to it, it doesn’t include everything I wanted, but it doesn’t have to be perfect, especially seeing as Unity thought it had to nuke half my work an the UI, just as I wanted to save it, that was quite annoying . But now you can control pretty much everything except the stuff that you can’t through the UI, like the amount of particles to simulate, some range values, physics variables, and of course the color of the particles. So now I probably just need to polish some stuff and get everything ready to be shipped, and then I’ll probably ship it, we’ll see."}, {"post_id": 23653, "ts": "2026-07-06T19:13:59Z", "hours": 9.1275, "text": "Devlog 6: Compute Shaders! So I know the next thing, and only thing left, on my To-Do list, as seen in my last Devlog , was to add an GUI/interface , but I wanted to improve on how many particles you can simulate at once, so I researched how shaders and compute shader work, and made one that could do everything my C# script could do too, but faster, as compute shaders run on the GPU, which is really good at doing things in parallel. But it wasn’t easy, as I had no idea how both shaders and compute shaders work, and I still don’t really know how shaders work, but atleast I know how compute shaders work now. But getting to this point, where it finally works, took me the entire day, with having to do research and having to keep trying new stuff to find something that works, but I think it was worth it. But I was kind of too lazzy to implement a BitonicMergeSort to sort using the GPU, so I took that code from https://github.com/SebLague/Fluid-Sim , and slightly altered it, so it would work for me. So now, I’ll just have to add an GUI or something like that, adjust some stuff, (like changing it so the particles don’t spawn in a symmetric grid, or particles don’t spawning inside other particles anymore), and clean everything up, and then I’d probably be ready ship it for the first time, depending on whether I wanna add more stuff first or not."}, {"post_id": 22862, "ts": "2026-07-05T14:15:16Z", "hours": 3.2097, "text": "Devlog 5: Speed up thanks to Spatial Partitioning So now I’ve done it, the next thing on my To-Do list is completed, as seen in my last Devlog , it was to Optimize and Improve calculations , and I did that, mostly by implementing Spatial Partitioning. How it works is that, if there is only a certain range around an particle, in this case the MaxRange, you can pretty much ignore everything outside of this range when calculating attraction, instead of having to check the distance to each particle, and getting the same result. To do that you split the area where the particles can be into squares(Cells) with length of MaxRange, and then assinging each particle a key, which you get like this: key = someHashFunction(CellPos.x, CellPos.y) % ParticleAmount And then with some sorting and such, you can calculate the attractions, only the Cell the particles in, and the 8 cells around it. This was somewhat simplified, but I hope one could understand it. And in the video below, you can see me simulating 4000 particles, at roughly 10 fps, which might not sound like a lot, but compared to before, where simulating 2000 particles resulted in about 5 fps, it certainly is. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface"}, {"post_id": 22342, "ts": "2026-07-04T19:24:13Z", "hours": 3.5164, "text": "Devlog 4: Getting to a working version Like mentioned in my last Devlog , one thing I had to do was adding interaction based on color and distance, and hurray! I did both! So I did it by having an array of floats, which contains the attraction matrix, but flattend, and did the same for the distance values, basically like this: array[i + j * width] = matrix[i][j] I also made a function that based on a minRange and maxRange around a particle calculates it’s attraction to other particles, if it’s closer than minRange, it gets pushed away, otherwise if it’s closer than maxRange, it gets attracted or repelled based on the attraction matrix. I made it so instead of using Time.deltaTime it now uses a fixed value that you can change, and added friction, so the particles, making the particles alot more stable than they’d be otherwise. So now, I’d have a usable version of Particle Life, but as you can see my To-Do list isn’t quite finished yet. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface"}, {"post_id": 22150, "ts": "2026-07-04T13:49:27Z", "hours": 1.7964, "text": "Devlog 3: Implemented some stuff In Devlog 2 I wrote down what I planned to do next, and now I’ve done it. I added an adjustable border that when crossed moves the particles back inside, and makes them bounce of by inverting their velocity, but dampening it a bit. Then I made it so whenever you start, it arranges the amount of particles you choose in a grid, in the middle of the border, with adjustable spacing between the particles. Then I made it so you can chose however many colors you want, and the colors will be equaly distributed to all the particles. I did this by basically doing this: particleColor[i] = colorList[i % colorList.length] Where the colorList[] is made up from the colors you input in the inspector. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface"}, {"post_id": 22079, "ts": "2026-07-04T10:25:13Z", "hours": 1.2128, "text": "Devlog 2: Changing my approach I have now decided to not have each particle be a GameObject, but instead handle all of them from 1 Script that stores each particles position and velocity, to then calculate interactions and draw them. Right now I’m doing the drawing using Graphics.RenderMesh() for each individual particle, and I can already have them be attracted or repelled by each other. What I plan on doing next: Add a border, so the particles don’t escape. Make it so the particles starting positions are spread out. Add the possibility for particles to have different colors."}, {"post_id": 21677, "ts": "2026-07-03T19:17:27Z", "hours": 1.5361, "text": "Devlog 1: Starting my Project So first I had to set up my Unity project, link it to a GitHub repo, and then installed HackaTime to track the time I work in Unity. So I wanna create something based on Particle Life , but with a few changes and twists. So up until now, I have already made a Script that gets all colliders in a certain range around the GameObject it’s attached to, by using Physics2D.OverlapCircleAll() , and then calculates and applies a certain force into the direction of that other Collider, by using RigidBody2D.AddForce() . But right now, they still act the same towards all other particles, not just those of the same color. And now, I have also come to the conclusion that I will have to think about whether I wanna do this Project using the GPU for the calculations, or not, because I’ve realized that only using the CPU might not have the greatest performance, but the way I’m currently doing stuff, probably won’t work for a compute shader."}]...
|
Title: Particle World by @Fawy2010 | Stardance
De Title: Particle World by @Fawy2010 | Stardance
Devlogs:
Devlog 1: Starting my Project So first I had to set up my Unity project, link it to a GitHub repo, and then installed HackaTime to track the time I work in Unity. So I wanna create something based on Particle Life , but with a few changes and twists. So up until now, I have already made a Script that gets all colliders in a certain range around the GameObject it’s attached to, by using Physics2D.OverlapCircleAll() , and then calculates and applies a certain force into the direction of that other Collider, by using RigidBody2D.AddForce() . But right now, they still act the same towards all other particles, not just those of the same color. And now, I have also come to the conclusion that I will have to think about whether I wanna do this Project using the GPU for the calculations, or not, because I’ve realized that only using the CPU might not have the greatest performance, but the way I’m currently doing stuff, probably won’t work for a compute shader.
Devlog 2: Changing my approach I have now decided to not have each particle be a GameObject, but instead handle all of them from 1 Script that stores each particles position and velocity, to then calculate interactions and draw them. Right now I’m doing the drawing using Graphics.RenderMesh() for each individual particle, and I can already have them be attracted or repelled by each other. What I plan on doing next: Add a border, so the particles don’t escape. Make it so the particles starting positions are spread out. Add the possibility for particles to have different colors.
Devlog 3: Implemented some stuff In Devlog 2 I wrote down what I planned to do next, and now I’ve done it. I added an adjustable border that when crossed moves the particles back inside, and makes them bounce of by inverting their velocity, but dampening it a bit. Then I made it so whenever you start, it arranges the amount of particles you choose in a grid, in the middle of the border, with adjustable spacing between the particles. Then I made it so you can chose however many colors you want, and the colors will be equaly distributed to all the particles. I did this by basically doing this: particleColor[i] = colorList[i % colorList.length] Where the colorList[] is made up from the colors you input in the inspector. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface
Devlog 4: Getting to a working version Like mentioned in my last Devlog , one thing I had to do was adding interaction based on color and distance, and hurray! I did both! So I did it by having an array of floats, which contains the attraction matrix, but flattend, and did the same for the distance values, basically like this: array[i + j * width] = matrix[i][j] I also made a function that based on a minRange and maxRange around a particle calculates it’s attraction to other particles, if it’s closer than minRange, it gets pushed away, otherwise if it’s closer than maxRange, it gets attracted or repelled based on the attraction matrix. I made it so instead of using Time.deltaTime it now uses a fixed value that you can change, and added friction, so the particles, making the particles alot more stable than they’d be otherwise. So now, I’d have a usable version of Particle Life, but as you can see my To-Do list isn’t quite finished yet. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface
Devlog 5: Speed up thanks to Spatial Partitioning So now I’ve done it, the next thing on my To-Do list is completed, as seen in my last Devlog , it was to Optimize and Improve calculations , and I did that, mostly by implementing Spatial Partitioning. How it works is that, if there is only a certain range around an particle, in this case the MaxRange, you can pretty much ignore everything outside of this range when calculating attraction, instead of having to check the distance to each particle, and getting the same result. To do that you split the area where the particles can be into squares(Cells) with length of MaxRange, and then assinging each particle a key, which you get like this: key = someHashFunction(CellPos.x, CellPos.y) % ParticleAmount And then with some sorting and such, you can calculate the attractions, only the Cell the particles in, and the 8 cells around it. This was somewhat simplified, but I hope one could understand it. And in the video below, you can see me simulating 4000 particles, at roughly 10 fps, which might not sound like a lot, but compared to before, where simulating 2000 particles resulted in about 5 fps, it certainly is. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface
Devlog 6: Compute Shaders! So I know the next thing, and only thing left, on my To-Do list, as seen in my last Devlog , was to add an GUI/interface , but I wanted to improve on how many particles you can simulate at once, so I researched how shaders and compute shader work, and made one that could do everything my C# script could do too, but faster, as compute shaders run on the GPU, which is really good at doing things in parallel. But it wasn’t easy, as I had no idea how both shaders and compute shaders work, and I still don’t really know how shaders work, but atleast I know how compute shaders work now. But getting to this point, where it finally works, took me the entire day, with having to do research and having to keep trying new stuff to find something that works, but I think it was worth it. But I was kind of too lazzy to implement a BitonicMergeSort to sort using the GPU, so I took that code from https://github.com/SebLague/Fluid-Sim , and slightly altered it, so it would work for me. So now, I’ll just have to add an GUI or something like that, adjust some stuff, (like changing it so the particles don’t spawn in a symmetric grid, or particles don’t spawning inside other particles anymore), and clean everything up, and then I’d probably be ready ship it for the first time, depending on whether I wanna add more stuff first or not.
Devlog 7: Adding a UI I finally did it, I added an UI to it, it doesn’t include everything I wanted, but it doesn’t have to be perfect, especially seeing as Unity thought it had to nuke half my work an the UI, just as I wanted to save it, that was quite annoying . But now you can control pretty much everything except the stuff that you can’t through the UI, like the amount of particles to simulate, some range values, physics variables, and of course the color of the particles. So now I probably just need to polish some stuff and get everything ready to be shipped, and then I’ll probably ship it, we’ll see.
Devlog 8: Matrix editing & Camera Movement So I know I said in Devlog 7 , I would only polish some stuff and get ready to ship, but I just couldn’t not add the ability to edit the Matrixes and move the Camera, the first of the two, I was able to do with the help the GridLayout Component, which automatically arranges all it’s children in a grid. I did that by dynamically adding an UI input Element for each Value in the Matrix, and putting in the corresponding Value. And now, you can change the values of each Cell, and when you’re finished, you can hit apply, and now you’ve changed the behaviour of the particles, yay! Getting the Camera to zoom and move in a way I like, was really hard, probably because I was kind of tired, or maybe because I’m just stupid, who knows. But anyway, I’m using Unitys Input System to geth mouse movements and scrolling, so that I can then read out the value of those in my Script. The zooming is works like this: Zoom += Zoom * ( ScrollValue / 10 ); CameraSize = OriginalCameraSize * Zoom And the camera movement works by turning the mouse position an the screen into a position in the World Space, and multiplying it wiht the suqre of zoom, so that the movement gets slower and slower when you zoom in. There is even more to it than this, but it would be a pretty long Devlog if I explained everything, so I guess next time I shouldn’t wait 8h to write a Devlog. (:
Devlog 9: Input Validation & Bug Fixing Knowing that I know my code to well, I gave a working version of it to my sister, to watch her try it, and see if there’s anything somebody could do, that isn’t really intended. And it turns out there is! It seems quite obvious now, but one thing you could do, but weren’t supposed to , was inputting any values you want, which is fine if you know what you’re doing, but most probably you won’t, so I had to add Input validation. In some places it was more important than in others, because your GPU really doesn’t like it if you define a buffer with a negative size, which happend if you inputted a negative amount of particles. I also cleaned up the files a bit, by taking all unused files, and putting them in a folder called… “Unused”, really clever name choice, isn’t it? So now, I get to prepare for Shipping my project, although I’m not really looking forward to writing the README yet.
Devlog 10: Writing a README & finding bugs So, I now pretty much have finished writing my README, only thing missing is a demo video, but before I can add that, I’ll have to fix a bug. Because apparently when you input a odd number as the amount of colors, the values in the matrixes are not the one of the color shown, but of the color 1 to the left/up? But only for odd numbers, even numbers work fine? But anyway, I also added a FPS counter to the simulation. So now I’ll go to either try find out why that bug happens, or just add something that makes the bug invisible.
Devlog 11: Fixed a Bug & Finished README The bug I mentioned in my last devlog, the one where I couldn’t understand why it only happens when a number is odd, I still don’t understand it, but I managed to fix it. In the shader I use for rendering, I used fmod(InstanceID, colorCount) for finding out what color a particle is, but in my compute shader i do it like this InstanceID % colorCount , and apparently those do something different with the same int input? I don’t know. But now it’s fixed, and I added a Demo video to my README. So now I can finally ship this.
Ships:
I made a particle simulator, where every particle has a color and interact with other particles based on color. I found it to be challenging, to find out how exactly compute shaders and shaders as a whole work, because I had to figure out stuff like the communication between CPU and GPU and what the syntax of HLSL, the language shaders are written in, is. But now I’m proud of the result, even I with an laptop using an integrated graphics card, can simulate up to 60’000 particles at once, at a decent speed. But for the people that want to test out my project, I think the best way to experience it, is to just try out different stuff and see if you manage to get something that you like....
|
1793062446.0258493
|
1793148846.0258493
|
|
20987
|
Pancake FRC Turret by @strixt | Stardance
|
strixt
|
1
|
46.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-17T23:35:12Z", "hours": 46.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I cadded an FRC Turret designed around the 2026 game REBUILT. This project started off as a personal project, just a cad but after I finished I convinced my team to let me build it but I shipped it now because the parts will come after stardance :(. Everything you need to know about this turret is in the google doc below: https://docs.google.com/document/d/19otRmG-d0zHCSDyZ5glDNmW7cP3afZkpb5Q3BmI4kPE/edit?tab=t.0 (P.S. to the mod reading this is it possible i can get my hours back? I didnt know that you had to devlog every 10 hours)", "repo": "https://github.com/strixt1/FRC-Pancake-Style-Turret-", "demo": ""}]...
|
[{"post_id": 49492, "ts": "202 [{"post_id": 49492, "ts": "2026-08-18T11:07:52Z", "hours": 40.1572, "text": "Its been a long time huh. I basically finished the whole thing, however to catch yall up to speed I have created the ultimate devlog. PLS look at this google doc if you can. I made a whole essentially an ESSAY trying to make a recap with at most info as needed but its too long to post so here is the google doc with it in https://docs.google.com/document/d/19otRmG-d0zHCSDyZ5glDNmW7cP3afZkpb5Q3BmI4kPE/edit?tab=t.0 4"}, {"post_id": 27641, "ts": "2026-07-13T12:19:20Z", "hours": 5.3853, "text": "The Turret Sketch of everything is complete. Turret Gearing: The turret gearing is geared to 1:56.25, powered by one kraken x44. The turret is supported by 4 box tubes (2 1x1 and 2 2x1) Shooter Geometry: Using very similar to team 4414. 3 inch flywheel/ stealth wheel with a 1 inch sushi roller on the other side powered 1:1 by 2 kraken x60s. 1 inch compression between the roller and the flywheel. Bottom bearing is an 8 inch bearing for dye rotor. Wiring: Wiring a turret can be difficult, since no slip ring means no free rotation. That’s why I have this e-chain. This allows the turret to spin a 360 full rotation before spinning back. the e-chain is constantly tensioned with an 8 lb spring to help it reset its position when the turret needs it"}]...
|
Title: Pancake FRC Turret by @strixt | Stardance
Title: Pancake FRC Turret by @strixt | Stardance
Devlogs:
The Turret Sketch of everything is complete. Turret Gearing: The turret gearing is geared to 1:56.25, powered by one kraken x44. The turret is supported by 4 box tubes (2 1x1 and 2 2x1) Shooter Geometry: Using very similar to team 4414. 3 inch flywheel/ stealth wheel with a 1 inch sushi roller on the other side powered 1:1 by 2 kraken x60s. 1 inch compression between the roller and the flywheel. Bottom bearing is an 8 inch bearing for dye rotor. Wiring: Wiring a turret can be difficult, since no slip ring means no free rotation. That’s why I have this e-chain. This allows the turret to spin a 360 full rotation before spinning back. the e-chain is constantly tensioned with an 8 lb spring to help it reset its position when the turret needs it
Its been a long time huh. I basically finished the whole thing, however to catch yall up to speed I have created the ultimate devlog. PLS look at this google doc if you can. I made a whole essentially an ESSAY trying to make a recap with at most info as needed but its too long to post so here is the google doc with it in https://docs.google.com/document/d/19otRmG-d0zHCSDyZ5glDNmW7cP3afZkpb5Q3BmI4kPE/edit?tab=t.0 4
Ships:
I cadded an FRC Turret designed around the 2026 game REBUILT. This project started off as a personal project, just a cad but after I finished I convinced my team to let me build it but I shipped it now because the parts will come after stardance :(. Everything you need to know about this turret is in the google doc below: https://docs.google.com/document/d/19otRmG-d0zHCSDyZ5glDNmW7cP3afZkpb5Q3BmI4kPE/edit?tab=t.0 (P.S. to the mod reading this is it possible i can get my hours back? I didnt know that you had to devlog every 10 hours)...
|
1793152209.7051518
|
1793238609.7051518
|
|
27785
|
Future OS by @Slear69_githud | Stardance
|
Slear69_githud
|
2
|
46.0
|
113
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-12T11:32:24Z", "hours": 45.0, "multiplier": 3.84, "payout": 113, "blessing": "neutral", "text": "FutureOS ok this is my web os project . inspired by cyberpunk this is my first time using html or js so there are alots of thinks that i did the wrong way. fornow : there is about ,browser , notes , file manger, music player ,settings and a calculator THE CODE : fill thinks that look ai but they not in the project most of the time i just do the styel of thinks like text in the div in html but at the and i saw that you can do this .music img { margin-top: 30px; margin-left: 60px; align-items: center; top : 50% ; left: 40%; width: 320px; height: 320px; object-fit: cover; } for the example this are the images for the music palyer now stuff that is with ai becous i didnt know how to do it const toolbars = document.getElementById(“bar”); const musice = document.getElementById(“music”); function updateToolbar() { if (!toolbars) return; toolbars.innerHTML = “”; const windows = [ { id: “windollswell”, icon: “image/about.png” }, { id: “windollsnote”, icon: “image/note.png” }, { id: “windollfiles”, icon: “image/folder.png” }, { id: “windollbrow”, icon: “image/brow.png” } ]; // Loop through all windows for (let i = 0; i < windows.length; i++) { const el = document.getElementById(windows[i].id); if (window.getComputedStyle(el).display != \"none\") { toolbars.innerHTML += `<div class=\"folder-wrapper\"><img src=\"${windows[i].icon}\" id=\"welcomeopen\" alt=\"icon\"></div>`; } } } so this is not all with ai i changed fill thinks but mthe tolbar logic i got from ai ok other thinks to prove almost no ai used is the open and close function this is streat from the tutorial the same for the draging i want to give credits to alots of people in stack overflow What is in the setting: clock settings : 1. color 2.position 3.size 4.visibility wallpapers: two videos and two images themes: 1. you can change the color of the app 2. font color 3.bar color calendar settings : 1. 3 color changes to the dates background and buttons 2.position 3.visabelity Calendar : the code for the calendar is not mine it from a tutorial here is the link: https://youtu.be/OcncrLyddAs?si=N9Ys0o3P3Y71J769 also the toll bar is working but you can not use the icons that appear to open the app it just to show you that you’ve minimized it if you minimize it will keep the position the state of the app the buttons: red button - full close blue button - minimize", "repo": "https://github.com/slear69/WEB_OS", "demo": "https://cyberpunkos.vercel.app/"}, {"ship_num": 2, "ts": "2026-07-07T22:16:46Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "for now this is evry asset is from google i wont explain much just so everyone know there is a sandevistan i love yall and yha see you later ^_^", "repo": "https://github.com/slear69/WEB_OS", "demo": "https://cyberpunkos.vercel.app/"}]...
|
[{"post_id": 45676, "ts": "202 [{"post_id": 45676, "ts": "2026-08-12T10:05:14Z", "hours": 9.4072, "text": "New stuff now we have a calendar a working toolbar the icons dosent do much the blue close but just minimize it and keep the stuff like position opened screen and so on the red button closes it fully .also now there is settings for the calendar"}, {"post_id": 39952, "ts": "2026-08-03T09:04:16Z", "hours": 11.4172, "text": "added settings now 1. now you can change the settings of the clock - color , position , size , and visibility 2. you can change the wallpaper to 2 different videos and images 3. Theme - you can change the color of the icons to red , change the font and the color of the toolbar ik that a lot of time for some settings but i had to fix some thinks before the settings and also now you can close the music player and open it"}, {"post_id": 33527, "ts": "2026-07-23T15:36:37Z", "hours": 23.9814, "text": "the code is difrent now"}, {"post_id": 24375, "ts": "2026-07-07T21:55:41Z", "hours": 0.0333, "text": "code"}, {"post_id": 22400, "ts": "2026-07-04T21:22:50Z", "hours": 0.1333, "text": "changed the music player and fixed the clock now it visible"}, {"post_id": 21384, "ts": "2026-07-03T09:14:02Z", "hours": 0.7617, "text": "devlog 1 - the basics so for now i have the bare minimum my OS is more windolls based . There are only 3 apps with a music player in the corner . Recently like a month ago i watched cyberpunk edgerunners so i thought why don’t i make it based on it . In the music player i added the two most recognizable songs also the browser works but you need to put in full link"}]...
|
Title: Future OS by @Slear69_githud | Stardance
D Title: Future OS by @Slear69_githud | Stardance
Devlogs:
devlog 1 - the basics so for now i have the bare minimum my OS is more windolls based . There are only 3 apps with a music player in the corner . Recently like a month ago i watched cyberpunk edgerunners so i thought why don’t i make it based on it . In the music player i added the two most recognizable songs also the browser works but you need to put in full link
changed the music player and fixed the clock now it visible
code
the code is difrent now
added settings now 1. now you can change the settings of the clock - color , position , size , and visibility 2. you can change the wallpaper to 2 different videos and images 3. Theme - you can change the color of the icons to red , change the font and the color of the toolbar ik that a lot of time for some settings but i had to fix some thinks before the settings and also now you can close the music player and open it
New stuff now we have a calendar a working toolbar the icons dosent do much the blue close but just minimize it and keep the stuff like position opened screen and so on the red button closes it fully .also now there is settings for the calendar
Ships:
for now this is evry asset is from google i wont explain much just so everyone know there is a sandevistan i love yall and yha see you later ^_^
FutureOS ok this is my web os project . inspired by cyberpunk this is my first time using html or js so there are alots of thinks that i did the wrong way. fornow : there is about ,browser , notes , file manger, music player ,settings and a calculator THE CODE : fill thinks that look ai but they not in the project most of the time i just do the styel of thinks like text in the div in html but at the and i saw that you can do this .music img { margin-top: 30px; margin-left: 60px; align-items: center; top : 50% ; left: 40%; width: 320px; height: 320px; object-fit: cover; } for the example this are the images for the music palyer now stuff that is with ai becous i didnt know how to do it const toolbars = document.getElementById(“bar”); const musice = document.getElementById(“music”); function updateToolbar() { if (!toolbars) return; toolbars.innerHTML = “”; const windows = [ { id: “windollswell”, icon: “image/about.png” }, { id: “windollsnote”, icon: “image/note.png” }, { id: “windollfiles”, icon: “image/folder.png” }, { id: “windollbrow”, icon: “image/brow.png” } ]; // Loop through all windows for (let i = 0; i < windows.length; i++) { const el = document.getElementById(windows[i].id); if (window.getComputedStyle(el).display != "none") { toolbars.innerHTML += `<div class="folder-wrapper"><img src="${windows[i].icon}" id="welcomeopen" alt="icon"></div>`; } } } so this is not all with ai i changed fill thinks but mthe tolbar logic i got from ai ok other thinks to prove almost no ai used is the open and close function this is streat from the tutorial the same for the draging i want to give credits to alots of people in stack overflow What is in the setting: clock settings : 1. color 2.position 3.size 4.visibility wallpapers: two videos and two images themes: 1. you can change the color of the app 2. font color 3.bar color calendar settings : 1. 3 color changes to the dates background and buttons 2.position 3.visabelity Calendar : the code for the calendar is not mine it from a tutorial here is the link: https://youtu.be/OcncrLyddAs?si=N9Ys0o3P3Y71J769 also the toll bar is working but you can not use the icons that appear to open the app it just to show you that you’ve minimized it if you minimize it will keep the position the state of the app the buttons: red button - full close blue button - minimize...
|
1793141306.969117
|
1793227706.969117
|
|
34985
|
Hyper Slide by @MuhammadAayanMirza | Stardance
|
MuhammadAayanMirza
|
1
|
46.0
|
391
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T12:22:30Z", "hours": 46.0, "multiplier": 7.12, "payout": 391, "blessing": "neutral", "text": "This Is the first ever game I made, a simple sliding game where the player object is constantly moving forward, and has to avoid obstacles by moving left or right using the “A” and “D” keys. You can pause the game by pressing Spacebar. It has 3 levels; “Water Slide” which introduces you to the controls and feel of the game, then comes “Ice Slide” which acts as a filler level to lead you to the more challenging “Space Slide” level in which you there is an invisible floor so you have to stay close to the obstacles because that is where the floor exists but also not too close because colliding with the obstacles make the level restart. Have fun playing it!!", "repo": "https://github.com/MuhammadAayanMirza/Hyper-Slide/", "demo": "https://muhammadaayanmirza.itch.io/hyper-slide"}]...
|
[{"post_id": 43716, "ts": "202 [{"post_id": 43716, "ts": "2026-08-09T03:58:00Z", "hours": 2.6356, "text": "I made the “Water Slide” and “Space Level” a bit longer and more enjoyable to play by adding more obstacles towards the end. The space level in my opinion is the best level for playing now because of the invisible floor and that you have to guess where to go. I also fixed a lot of bugs like for some reason when you started the space level, it would auto complete and take you to the end screen. Also now when you press “Select” in the character selection scene, it takes you to the main menu indicating that your character has been selecting. I’m quite happy with how the game turned out. Keep in mind this is my first game ever and there will be some bugs and things people might not like but I like to learn and I’m gonna keep going and making things better!"}, {"post_id": 43195, "ts": "2026-08-08T10:06:23Z", "hours": 2.5872, "text": "So, I know I said that I’m gonna make a UFO skin but I made a rocket skin instead…It is still pretty cool though, I think. Also importing this into unity and then making it a playable character was a nightmare!! the mesh collider was all weirded out then I added a box collider and added the rocket to the load characters script but for some reason it was spawning 10 metres behind the actual spawn location and the reason is because when I modelled it in fusion it was not modelled in the centre of the base plane so that was fiddling with all that. Also because the rocket ship is bigger than the cube and normal ship characters I had to adjust some of the obstacles aswell so the rocket could complete all of the levels. I also did a whole play through of the game because I thought the game was now finished and ready to publish but after playing it fully and testing every single thing, I have realised that the levels are too short and not fun enough to play so I’m gonna extend the map of the levels and make it more enjoyable to play not just a 2 minute game."}, {"post_id": 42618, "ts": "2026-08-07T13:10:34Z", "hours": 2.3889, "text": "Completed making the end screen for the game with a lot of iterations as I was not liking the earlier ones. Now I’m happy with this. Also made a very informative and useful Readme file on GitHub for the game which took some time. I corrected the obstacle placement for the space level aswell and now I’m looking forward to publishing this game on itch.io. The only thing I’m contemplating on is should I make a UFO Skin for the character or not."}, {"post_id": 41954, "ts": "2026-08-06T14:12:18Z", "hours": 2.3772, "text": "I completed the Space-level with the invisible ground and some ramps in the middle that are visible. The player has to stay close to the obstacles to guess where the path is but also be careful at the same time to not collide with the obstacles. I think it is a fun concept for the game. I think I’m gonna leave the game with only these three levels and if the response after the release of the game is good then I will make the game better and add even more levels with cooler mechanics!! for now I think I’m gonna start putting the finishing touches and make the end screen."}, {"post_id": 41368, "ts": "2026-08-05T15:17:01Z", "hours": 1.8667, "text": "Made a Skybox for the space level by using blender. I made it a starry sky using blender shader options and nodes. I also decided to make the ground invisible in the space level becuase it looked way better and it makes the player think more and makes the player to stay with the obstacles because they are where the ground is but also away from them because they are still obstacles, only the ramp in the middle of the path is visible. I don’t know if this is a good decision but I currently like the idea of an invisible floor so I’m sticking with it for now."}, {"post_id": 40834, "ts": "2026-08-04T16:45:42Z", "hours": 1.6717, "text": "I learned Blender “geometry nodes” they are really complex ad you have to use like a million math nodes to make a good asteroid model, which I did. I am extremely happy how it turned out. The space level finally feels more ‘spacey’. I also added a ramp to go over a pitfall in this level so the game doesn’t feel repititive or boring after the first two levels."}, {"post_id": 40076, "ts": "2026-08-03T13:32:47Z", "hours": 1.7331, "text": "Started working on Level 3. I’m making it space themed and I 3D modelled asteroids for the obstacles but I didn’t quite like how they turned out so I remodelled them thrice but something still feels off. I am using them here as place holders for something better. I also created a layout for the obstacles using them but I am still thinking how to make em better."}, {"post_id": 39390, "ts": "2026-08-02T10:30:39Z", "hours": 1.0333, "text": "Updated the Menu Screen’s background image to the water level as it seemed cooler and I have changed the level order. So, now the first level is the water level with an easy obstacle course which I also made in this session. Second level will be the snowy level I made previously. I tried to vary the sizes and positioning of the obstacles so that they don’t feel repititive. Onto the next level!!"}, {"post_id": 39295, "ts": "2026-08-02T05:29:12Z", "hours": 1.4133, "text": "Making the second level interesting by making the whole terrain water and and adding a pebble border on the side so you don’t escape the obstacle course. I used the capsule 3d object to make the pebbles and stones for the obstacles. Now I have to create a nice layout for the obstacles which is fun to play with."}, {"post_id": 39010, "ts": "2026-08-01T17:37:52Z", "hours": 0.6667, "text": "Learning Shaders to create a water ripple effect for the second level as it will be a Beach Themed level. When I made the shader it looked perfect in the shader window to me but when I attached it to the “Ground” object the Moroni shader effect streched and I didn’t know how to fix it, I searched up online and found out that I have to add nodes like position and swizzle and set swizzle to xz and connect that to the uv element of the voronoi and it worked!! Now I have cool looking moving water effect. yayyayaya!!"}, {"post_id": 38901, "ts": "2026-08-01T14:12:09Z", "hours": 0.6281, "text": "Just learned about particle systems and made these subtle snowish particles for the first level and also adjusted the obstacle layout. Now the level feels pretty complete so I think I’ll move on to the next level. (Also changed the pause key to Spacebar as it felt more natural to use)"}, {"post_id": 38801, "ts": "2026-08-01T11:18:07Z", "hours": 1.2722, "text": "Made the obstacles layout in the first level more interesting and slightly harder so it makes the player more engaged and have more fun playing. Also corrected the game manager script because sometimes when you collided with the last obstacle and flew a bit forwards you would also collide with the “finish line’ object and it would display a “level complete” canvas which is wrong as you have collided with the last obstacle so I changed the script and added an if statement for the finish line to check if player has collided with the obstacle or not."}, {"post_id": 38670, "ts": "2026-08-01T05:31:15Z", "hours": 2.3906, "text": "I made hilly Terrain for The First Level, corrected tree placement, added an Icy Texture to the Sliding Floor and made a Snow Mound 3D Model as The Obstacles For This Level. I found it quite hard to morph Terrain to my liking but in the end it worked out. The 3D model of the Snow Mounds wasn’t making a good Mesh Collider so I went back in Blender and added a solidify modifier to the model and then the mesh collider worked very well."}, {"post_id": 38194, "ts": "2026-07-31T14:02:35Z", "hours": 2.3772, "text": "I Made The Menu Screen Look Way Better And Corrected The Trees Placement In The Scene Of Level 1. I Really Like How it Turned Out!! I Even Downloaded Fonts For The Menu Screen, I Played Around With Lighting And Fog Settings Aswell To Get A Nice Scene!!"}, {"post_id": 38051, "ts": "2026-07-31T07:23:18Z", "hours": 0.9342, "text": "Still Working on The Terrain, Trying To Give The First Level A Snowy Vibe With Varying Height Of The Terrain And Adding The Trees. Still Not Happy With The Layout, I’m In The Experimentation Phase With This Right Now. What Else Could I Add?"}, {"post_id": 38033, "ts": "2026-07-31T05:55:38Z", "hours": 1.2469, "text": "I’m Working On Making The Terrain Better In The Game, I Don’t Use Blender A lot But It Seemed The Best Option For Visual 3d Models So, I Made A Tree!! Also Did Some Bug Fixes In Unity. Rate My Tree…"}, {"post_id": 37580, "ts": "2026-07-30T12:32:42Z", "hours": 0.8, "text": "Experimenting A lot With Skyboxes And Terrains, I’m Finding It Difficult To Make The Game Look Good!!"}, {"post_id": 37528, "ts": "2026-07-30T10:31:02Z", "hours": 1.9181, "text": "The Camera Following Finally Works!!! It Only Took 3 Tutorials, 2 Hours, Lots Of C# Script Changes And Some Juice :D Also The Ship Model Now Loads In With Its Correctly Rotated Position And The Distance Tracker At The Top Works Well Too Now!! The Character Selection Still Has a Weird bug That It Keeps Going Back To The Cube, Will Fix That And Then It Would Be Time For Aesthetics!!! (Making The Game Look A lot Better hehe.)"}, {"post_id": 37451, "ts": "2026-07-30T06:26:19Z", "hours": 3.0731, "text": "It Took Me Ages To Get The Character Selection To Work And To Write The Code For It. It Was Very Challenging!! But Now My Camera Is Broken As It Had A Fixed Object To Follow Before But Now It Has To Follow Newly Spawned Object. I Also Have To Make The Screen More Aesthetically Pleasing But Coding When You Don’t Know What You Are Doin Is Very Hard!!"}, {"post_id": 37148, "ts": "2026-07-29T17:17:38Z", "hours": 1.5983, "text": "Successfully Added A Pause Feature Using The “P” Key. Also There Was A Bug Regarding The Collison Of The Ship 3D Model With Obstacle Which Was Fixed In This Session And Now I Want To Change The Base Ground To Water So It Looks Cooler!! Hopefully That Will Look Good!"}, {"post_id": 36855, "ts": "2026-07-29T05:29:41Z", "hours": 0.7333, "text": "Imported The 3D Model Into Unity But Colours Were Not Showing So I Tried Different Mesh Files And “.Fbx” Worked For Me It Imported With Colours Thankfully. I Added All The Components Required For The Ship Model So It Can Be A Playable Skin, It Is Quite Fun!! Now I Have To Figure Out A Method On How To Change The Skins In Game"}, {"post_id": 36473, "ts": "2026-07-28T16:39:30Z", "hours": 0.8833, "text": "I Published The Game On Itch.io After Creating Its Build And Stuff. After Publishing I Am Now Working on The 3D Models For The Skins Of The Cube. First One I Made Right Now Is A Ship!! Do You Like It?"}, {"post_id": 35720, "ts": "2026-07-27T10:30:09Z", "hours": 2.3728, "text": "I Completed The Core Game, It Has 3 Levels, A Menu And End Screen, Cool Layouts For The Levels, And A Cool Distance Tracker At The Top. Now I’m Getting Ready To Publish It Online!!"}, {"post_id": 35118, "ts": "2026-07-26T10:54:24Z", "hours": 1.7664, "text": "Just Completed One Whole Level, If You Hit An Obstacle You Reset. Also Created A Cool Looking level Complete Screen With An Animation. I’m Having A Ton Of Fun Making This Game And Also Play Testing It. Took Me A Few Tries To Complete The First level. Gonna Hopefull Make New Levels Now And See How To Go From One Level To Another Using Code!!"}, {"post_id": 35077, "ts": "2026-07-26T08:22:23Z", "hours": 2.1989, "text": "Created A Short Level To Test The Speed Of The Player And Added Game Manager Which Currently Tells The Console When Game Is Over. Added Fog To The Environment So That It Gives A Polished Look To The Game, At The Top It Says How Much Distance You Have Travelled For Now But I Soon Wanna Replace It With No. Of Attempts Or No. Of Deaths."}, {"post_id": 35006, "ts": "2026-07-26T04:50:52Z", "hours": 0.7533, "text": "I Added The First Obstacle In The Game, Made The Player Body Stop When It Collides With The Obstacle Body, Made The Camera Follow The Player Body, Created A Tag For Obstacles To Reference In The Code Files, And Made A Material For The Obstacle."}, {"post_id": 34966, "ts": "2026-07-26T03:06:27Z", "hours": 0.9558, "text": "I Finally Figured Out How To Make The If Command Work In Unity To Get A Key, I’m Following A Brackeys Tutorial For This And He Was Writing Old Code Which Now In Default Unity Doesn’t Work You Have To Change The Active Input Handling Setting To “Both” Instead Of “Input System Package (New)”. That Took A While To Figure Out!! Now My A And D Keys Work As Left And Right Keys, Finally!!!"}, {"post_id": 34142, "ts": "2026-07-24T17:22:16Z", "hours": 0.6925, "text": "In This Session I Connected My Unity With VS Code, And I Tried To Display A Simple Message Which Did Not Work Sadly But After Trial And Error It Finally Did And Now I’m Adding Physics And Forces To The Cube!!"}, {"post_id": 33994, "ts": "2026-07-24T11:56:59Z", "hours": 0.7667, "text": "It Is My First Time Making A Game And Using Unity. I Am Following A Tutorial And As Of Now I have Learned How To Create A 3D Object Like This Cube, Learned How To Add Materials To The Objects And How To Change The Camera Angle, etc."}]...
|
Title: Hyper Slide by @MuhammadAayanMirza | Starda Title: Hyper Slide by @MuhammadAayanMirza | Stardance
Devlogs:
It Is My First Time Making A Game And Using Unity. I Am Following A Tutorial And As Of Now I have Learned How To Create A 3D Object Like This Cube, Learned How To Add Materials To The Objects And How To Change The Camera Angle, etc.
In This Session I Connected My Unity With VS Code, And I Tried To Display A Simple Message Which Did Not Work Sadly But After Trial And Error It Finally Did And Now I’m Adding Physics And Forces To The Cube!!
I Finally Figured Out How To Make The If Command Work In Unity To Get A Key, I’m Following A Brackeys Tutorial For This And He Was Writing Old Code Which Now In Default Unity Doesn’t Work You Have To Change The Active Input Handling Setting To “Both” Instead Of “Input System Package (New)”. That Took A While To Figure Out!! Now My A And D Keys Work As Left And Right Keys, Finally!!!
I Added The First Obstacle In The Game, Made The Player Body Stop When It Collides With The Obstacle Body, Made The Camera Follow The Player Body, Created A Tag For Obstacles To Reference In The Code Files, And Made A Material For The Obstacle.
Created A Short Level To Test The Speed Of The Player And Added Game Manager Which Currently Tells The Console When Game Is Over. Added Fog To The Environment So That It Gives A Polished Look To The Game, At The Top It Says How Much Distance You Have Travelled For Now But I Soon Wanna Replace It With No. Of Attempts Or No. Of Deaths.
Just Completed One Whole Level, If You Hit An Obstacle You Reset. Also Created A Cool Looking level Complete Screen With An Animation. I’m Having A Ton Of Fun Making This Game And Also Play Testing It. Took Me A Few Tries To Complete The First level. Gonna Hopefull Make New Levels Now And See How To Go From One Level To Another Using Code!!
I Completed The Core Game, It Has 3 Levels, A Menu And End Screen, Cool Layouts For The Levels, And A Cool Distance Tracker At The Top. Now I’m Getting Ready To Publish It Online!!
I Published The Game On Itch.io After Creating Its Build And Stuff. After Publishing I Am Now Working on The 3D Models For The Skins Of The Cube. First One I Made Right Now Is A Ship!! Do You Like It?
Imported The 3D Model Into Unity But Colours Were Not Showing So I Tried Different Mesh Files And “.Fbx” Worked For Me It Imported With Colours Thankfully. I Added All The Components Required For The Ship Model So It Can Be A Playable Skin, It Is Quite Fun!! Now I Have To Figure Out A Method On How To Change The Skins In Game
Successfully Added A Pause Feature Using The “P” Key. Also There Was A Bug Regarding The Collison Of The Ship 3D Model With Obstacle Which Was Fixed In This Session And Now I Want To Change The Base Ground To Water So It Looks Cooler!! Hopefully That Will Look Good!
It Took Me Ages To Get The Character Selection To Work And To Write The Code For It. It Was Very Challenging!! But Now My Camera Is Broken As It Had A Fixed Object To Follow Before But Now It Has To Follow Newly Spawned Object. I Also Have To Make The Screen More Aesthetically Pleasing But Coding When You Don’t Know What You Are Doin Is Very Hard!!
The Camera Following Finally Works!!! It Only Took 3 Tutorials, 2 Hours, Lots Of C# Script Changes And Some Juice :D Also The Ship Model Now Loads In With Its Correctly Rotated Position And The Distance Tracker At The Top Works Well Too Now!! The Character Selection Still Has a Weird bug That It Keeps Going Back To The Cube, Will Fix That And Then It Would Be Time For Aesthetics!!! (Making The Game Look A lot Better hehe.)
Experimenting A lot With Skyboxes And Terrains, I’m Finding It Difficult To Make The Game Look Good!!
I’m Working On Making The Terrain Better In The Game, I Don’t Use Blender A lot But It Seemed The Best Option For Visual 3d Models So, I Made A Tree!! Also Did Some Bug Fixes In Unity. Rate My Tree…
Still Working on The Terrain, Trying To Give The First Level A Snowy Vibe With Varying Height Of The Terrain And Adding The Trees. Still Not Happy With The Layout, I’m In The Experimentation Phase With This Right Now. What Else Could I Add?
I Made The Menu Screen Look Way Better And Corrected The Trees Placement In The Scene Of Level 1. I Really Like How it Turned Out!! I Even Downloaded Fonts For The Menu Screen, I Played Around With Lighting And Fog Settings Aswell To Get A Nice Scene!!
I made hilly Terrain for The First Level, corrected tree placement, added an Icy Texture to the Sliding Floor and made a Snow Mound 3D Model as The Obstacles For This Level. I found it quite hard to morph Terrain to my liking but in the end it worked out. The 3D model of the Snow Mounds wasn’t making a good Mesh Collider so I went back in Blender and added a solidify modifier to the model and then the mesh collider worked very well.
Made the obstacles layout in the first level more interesting and slightly harder so it makes the player more engaged and have more fun playing. Also corrected the game manager script because sometimes when you collided with the last obstacle and flew a bit forwards you would also collide with the “finish line’ object and it would display a “level complete” canvas which is wrong as you have collided with the last obstacle so I changed the script and added an if statement for the finish line to check if player has collided with the obstacle or not.
Just learned about particle systems and made these subtle snowish particles for the first level and also adjusted the obstacle layout. Now the level feels pretty complete so I think I’ll move on to the next level. (Also changed the pause key to Spacebar as it felt more natural to use)
Learning Shaders to create a water ripple effect for the second level as it will be a Beach Themed level. When I made the shader it looked perfect in the shader window to me but when I attached it to the “Ground” object the Moroni shader effect streched and I didn’t know how to fix it, I searched up online and found out that I have to add nodes like position and swizzle and set swizzle to xz and connect that to the uv element of the voronoi and it worked!! Now I have cool looking moving water effect. yayyayaya!!
Making the second level interesting by making the whole terrain water and and adding a pebble border on the side so you don’t escape the obstacle course. I used the capsule 3d object to make the pebbles and stones for the obstacles. Now I have to create a nice layout for the obstacles which is fun to play with.
Updated the Menu Screen’s background image to the water level as it seemed cooler and I have changed the level order. So, now the first level is the water level with an easy obstacle course which I also made in this session. Second level will be the snowy level I made previously. I tried to vary the sizes and positioning of the obstacles so that they don’t feel repititive. Onto the next level!!
Started working on Level 3. I’m making it space themed and I 3D modelled asteroids for the obstacles but I didn’t quite like how they turned out so I remodelled them thrice but something still feels off. I am using them here as place holders for something better. I also created a layout for the obstacles using them but I am still thinking how to make em better.
I learned Blender “geometry nodes” they are really complex ad you have to use like a million math nodes to make a good asteroid model, which I did. I am extremely happy how it turned out. The space level finally feels more ‘spacey’. I also added a ramp to go over a pitfall in this level so the game doesn’t feel repititive or boring after the first two levels.
Made a Skybox for the space level by using blender. I made it a starry sky using blender shader options and nodes. I also decided to make the ground invisible in the space level becuase it looked way better and it makes the player think more and makes the player to stay with the obstacles because they are where the ground is but also away from them because they are still obstacles, only the ramp in the middle of the path is visible. I don’t know if this is a good decision but I currently like the idea of an invisible floor so I’m sticking with it for now.
I completed the Space-level with the invisible ground and some ramps in the middle that are visible. The player has to stay close to the obstacles to guess where the path is but also be careful at the same time to not collide with the obstacles. I think it is a fun concept for the game. I think I’m gonna leave the game with only these three levels and if the response after the release of the game is good then I will make the game better and add even more levels with cooler mechanics!! for now I think I’m gonna start putting the finishing touches and make the end screen.
Completed making the end screen for the game with a lot of iterations as I was not liking the earlier ones. Now I’m happy with this. Also made a very informative and useful Readme file on GitHub for the game which took some time. I corrected the obstacle placement for the space level aswell and now I’m looking forward to publishing this game on itch.io. The only thing I’m contemplating on is should I make a UFO Skin for the character or not.
So, I know I said that I’m gonna make a UFO skin but I made a rocket skin instead…It is still pretty cool though, I think. Also importing this into unity and then making it a playable character was a nightmare!! the mesh collider was all weirded out then I added a box collider and added the rocket to the load characters script but for some reason it was spawning 10 metres behind the actual spawn location and the reason is because when I modelled it in fusion it was not modelled in the centre of the base plane so that was fiddling with all that. Also because the rocket ship is bigger than the cube and normal ship characters I had to adjust some of the obstacles aswell so the rocket could complete all of the levels. I also did a whole play through of the game because I thought the game was now finished and ready to publish but after playing it fully and testing every single thing, I have realised that the levels are too short and not fun enough to play so I’m gonna extend the map of the levels and make it more enjoyable to play not just a 2 minute game.
I made the “Water Slide” and “Space Level” a bit longer and more enjoyable to play by adding more obstacles towards the end. The space level in my opinion is the best level for playing now because of the invisible floor and that you have to guess where to go. I also fixed a lot of bugs like for some reason when you started the space level, it would auto complete and take you to the end screen. Also now when you press “Select” in the character selection scene, it takes you to the main menu indicating that your character has been selecting. I’m quite happy with how the game turned out. Keep in mind this is my first game ever and there will be some bugs and things people might not like but I like to learn and I’m gonna keep going and making things better!
Ships:
This Is the first ever game I made, a simple sliding game where the player object is constantly moving forward, and has to avoid obstacles by moving left or right using the “A” and “D” keys. You can pause the game by pressing Spacebar. It has 3 levels; “Water Slide” which introduces you to the controls and feel of the game, then comes “Ice Slide” which acts as a filler level to lead you to the more challenging “Space Slide” level in which you there is an invisible floor so you have to stay close to the obstacles because that is where the floor exists but also not too close because colliding with the obstacles make the level restart. Have fun playing it!!...
|
1793127023.9017901
|
1793213423.9017901
|
|
40695
|
Agamemnon Armor From The Odyssey by @nejenabinupa Agamemnon Armor From The Odyssey by @nejenabinupa | Stardance...
|
nejenabinupa
|
1
|
46.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T22:14:49Z", "hours": 46.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "my Agamemnon Armor From The Odyssey that i make in 3d, all of the details are in the readme", "repo": "https://github.com/binupax6699/AGEMENMNON-ARMOR-3D-MODLE", "demo": "https://sketchfab.com/3d-models/agemenmnon-armor-3d-modle-ddb5b8fa0023412498e85a3ae109d622"}]...
|
[{"post_id": 75331, "ts": "202 [{"post_id": 75331, "ts": "2026-09-29T19:24:31Z", "hours": 3.1283, "text": "Finsh up the stuff and it’s good to go"}, {"post_id": 43114, "ts": "2026-08-08T06:24:45Z", "hours": 1.4717, "text": "Remake the textures with depth and more realistic colors,next will be baking the textures"}, {"post_id": 41351, "ts": "2026-08-05T14:41:59Z", "hours": 4.1028, "text": "I added a Sword to the armor set and make sum tweaks to the rig and now it’s good for animation"}, {"post_id": 38695, "ts": "2026-08-01T06:46:28Z", "hours": 10.6783, "text": "It took around 15h my addon got deactivated for no reason and that 5h got lost 😞, but i completed the armor and the rigging part fully need to add sum normal maps to give it sum small details for everything."}, {"post_id": 37106, "ts": "2026-07-29T16:12:54Z", "hours": 10.58, "text": "After long long time make thing much progress on making the body, now just need to clone up sum polygons Make the face from sculpting because of that there’s around 400k + faces and vertices but make the body light and have only 8.5 K faces and vertices"}, {"post_id": 36401, "ts": "2026-07-28T14:18:30Z", "hours": 9.4525, "text": "Agamemnon Helmet Cleaned up the helmet topology and cheek guards, Added the vertebrae spine, I optimization hair without a particle hair but with a custom alpha png images to make it fast And I Applied the final satin black metal, gold filigree trim. Now moving to the body and armor"}, {"post_id": 35922, "ts": "2026-07-27T17:52:20Z", "hours": 6.6144, "text": "Agamemnon Helmet Complete Base Mesh modeling for the Agamemnon helmet. "}]...
|
Title: Agamemnon Armor From The Odyssey by @nejena Title: Agamemnon Armor From The Odyssey by @nejenabinupa | Stardance
Devlogs:
Agamemnon Helmet Complete Base Mesh modeling for the Agamemnon helmet.
Agamemnon Helmet Cleaned up the helmet topology and cheek guards, Added the vertebrae spine, I optimization hair without a particle hair but with a custom alpha png images to make it fast And I Applied the final satin black metal, gold filigree trim. Now moving to the body and armor
After long long time make thing much progress on making the body, now just need to clone up sum polygons Make the face from sculpting because of that there’s around 400k + faces and vertices but make the body light and have only 8.5 K faces and vertices
It took around 15h my addon got deactivated for no reason and that 5h got lost 😞, but i completed the armor and the rigging part fully need to add sum normal maps to give it sum small details for everything.
I added a Sword to the armor set and make sum tweaks to the rig and now it’s good for animation
Remake the textures with depth and more realistic colors,next will be baking the textures
Finsh up the stuff and it’s good to go
Ships:
my Agamemnon Armor From The Odyssey that i make in 3d, all of the details are in the readme...
|
1793152532.8751
|
1793238932.8751
|
|
41525
|
My very own WebOS by @Delilah | Stardance
|
Delilah
|
2
|
46.0
|
311
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T12:33:18Z", "hours": 21.0, "multiplier": 15.05, "payout": 311, "blessing": "neutral", "text": "I decided to reship this project because I wanted to add more features, which I did. The most challenging feature had to have been the settings app. Just changing the wallpaper and then being able to change it again. I’m just glad I figured it out. Although changing the background for the other stuff in display was relative easy, I guess once you do the heavy lifting once you’ll be able to handle the other stuff easier. I’m proud that I decided to make a settings app because I knew it wasn’t gonna be easy but it really impressed me when others did it so I guess I got inspired from them. Also I really love the feature where when you drag the mouse the green beam follows it, it’s so much fun. Honestly when you get to the page everything is very self explanatory. I hope the people that test my project have fun with it. It was one of my most favorite project to do.", "repo": "https://github.com/diditek8-byte/DelilahOS", "demo": "https://diditek8-byte.github.io/DelilahOS/"}, {"ship_num": 2, "ts": "2026-08-08T14:27:24Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my very own webOS. The most challenging part was making the notes window move, since I used multiple js files, and the ideas I had to fix it would just not work at first. Also just making a notes app alone was very challenging, but it did introduce me to many new concepts of JavaScript that I didn’t know about. I am proud, alone just making a project like this, I didn’t even know that I was capable of doing something so cool. Also that I can solve my own problems and don’t have to heavily rely on AI, and of my designs, the background and the icons are made by myself in Canva and I think they didn’t turn out badly. Things you should know, when checking my project out: there is another window, the about me window, you can access it by pressing the DelilahOS at the top-bar. Another thing, if you want to delete a note you have to double click. Also the grey circles are not buttons they are just there for decoration.", "repo": "https://github.com/diditek8-byte/DelilahOS", "demo": "https://diditek8-byte.github.io/DelilahOS/"}]...
|
[{"post_id": 46279, "ts": "202 [{"post_id": 46279, "ts": "2026-08-13T12:25:41Z", "hours": 2.1164, "text": "Alright I decided to also make users able to change the background color of the top bar, bottom bar, and calendar and I think that went pretty well. That was more of the easier challenges. Now I’ll ship it and I hope you’ll like it. I know I do."}, {"post_id": 46220, "ts": "2026-08-13T09:26:07Z", "hours": 9.0939, "text": "I decided to make a settings and then ship my project. This is one of the more challenging stuff but I got the wallpapers to work, at first I struggled because it would only change once but then I found for it to keep changing it."}, {"post_id": 45156, "ts": "2026-08-11T13:49:13Z", "hours": 5.7906, "text": "Update: Made a weather app using the weather API from open weather app which I really get the hang of APIs. After it was finally working | decided to add a calendar widget which I struggled with the layout of the day that is circled a bit. It just wouldn’t be centered and there was too much space at the bottom so I used flexbox, first centered it with justify content and align items, then used position relative placed it to the left, and then just went with negative margin-top to get rid of the bottom margin. I’m not sure if that made sense or was the right way to do it, but it works so I’ll just leave it at that. Lastly I wanted my website to give more of a Starfire look so I added a green beam like her powers and tried to match the green as best as possible. Honestly I’m not sure what to add next I might add a settings and then end the project with that but I don’t know if that would be too little. What do you all think I should add."}, {"post_id": 44078, "ts": "2026-08-09T16:29:52Z", "hours": 3.63, "text": "I added a loading page with animations, to give it more of a OS feeling. After that I made a calculator app, which was pretty easy to make but I hope the design doesn’t look too bad."}, {"post_id": 43284, "ts": "2026-08-08T13:49:34Z", "hours": 2.7964, "text": "I got to finish my second app which I decided to be a random quotes app using an API. So now I finished the first mission of the webOS and can’t wait to ship it."}, {"post_id": 43083, "ts": "2026-08-08T05:06:16Z", "hours": 6.1067, "text": "I got finsh my first App on this webOS. It can close and expand even made the textarea bigger when the window expands. Even got the App to show when it is active in the bottom bar and it works both ways. The window also closes when you deselect the the icon in the bottom bar. Now it is time to make my own app to finally ship it for the first time."}, {"post_id": 40612, "ts": "2026-08-04T08:34:24Z", "hours": 10.2108, "text": "My Notes app is finally working, this was a long and hard process with some trial and error, one thing I still need to add is a scrolling bar because everytime you add more than 4 notes it will just overflow and I can’t have that."}, {"post_id": 38068, "ts": "2026-07-31T08:21:34Z", "hours": 5.4661, "text": "Hello everyone, started my second project in this programm, and I honestly really love the idea of a webOS and got inspired by Starfire. I started by designing the background inside Canva, kinda glad how it turned out tbh. Then I made the top bar got the clock and date, even made my first draggable window. Although I’m kinda struggling with the expand button, still need to figure out how to get the window back to normal after it expands and the layout is a bit crazy when it expands."}]...
|
Title: My very own WebOS by @Delilah | Stardance
Title: My very own WebOS by @Delilah | Stardance
Devlogs:
Hello everyone, started my second project in this programm, and I honestly really love the idea of a webOS and got inspired by Starfire. I started by designing the background inside Canva, kinda glad how it turned out tbh. Then I made the top bar got the clock and date, even made my first draggable window. Although I’m kinda struggling with the expand button, still need to figure out how to get the window back to normal after it expands and the layout is a bit crazy when it expands.
My Notes app is finally working, this was a long and hard process with some trial and error, one thing I still need to add is a scrolling bar because everytime you add more than 4 notes it will just overflow and I can’t have that.
I got finsh my first App on this webOS. It can close and expand even made the textarea bigger when the window expands. Even got the App to show when it is active in the bottom bar and it works both ways. The window also closes when you deselect the the icon in the bottom bar. Now it is time to make my own app to finally ship it for the first time.
I got to finish my second app which I decided to be a random quotes app using an API. So now I finished the first mission of the webOS and can’t wait to ship it.
I added a loading page with animations, to give it more of a OS feeling. After that I made a calculator app, which was pretty easy to make but I hope the design doesn’t look too bad.
Update: Made a weather app using the weather API from open weather app which I really get the hang of APIs. After it was finally working | decided to add a calendar widget which I struggled with the layout of the day that is circled a bit. It just wouldn’t be centered and there was too much space at the bottom so I used flexbox, first centered it with justify content and align items, then used position relative placed it to the left, and then just went with negative margin-top to get rid of the bottom margin. I’m not sure if that made sense or was the right way to do it, but it works so I’ll just leave it at that. Lastly I wanted my website to give more of a Starfire look so I added a green beam like her powers and tried to match the green as best as possible. Honestly I’m not sure what to add next I might add a settings and then end the project with that but I don’t know if that would be too little. What do you all think I should add.
I decided to make a settings and then ship my project. This is one of the more challenging stuff but I got the wallpapers to work, at first I struggled because it would only change once but then I found for it to keep changing it.
Alright I decided to also make users able to change the background color of the top bar, bottom bar, and calendar and I think that went pretty well. That was more of the easier challenges. Now I’ll ship it and I hope you’ll like it. I know I do.
Ships:
I made my very own webOS. The most challenging part was making the notes window move, since I used multiple js files, and the ideas I had to fix it would just not work at first. Also just making a notes app alone was very challenging, but it did introduce me to many new concepts of JavaScript that I didn’t know about. I am proud, alone just making a project like this, I didn’t even know that I was capable of doing something so cool. Also that I can solve my own problems and don’t have to heavily rely on AI, and of my designs, the background and the icons are made by myself in Canva and I think they didn’t turn out badly. Things you should know, when checking my project out: there is another window, the about me window, you can access it by pressing the DelilahOS at the top-bar. Another thing, if you want to delete a note you have to double click. Also the grey circles are not buttons they are just there for decoration.
I decided to reship this project because I wanted to add more features, which I did. The most challenging feature had to have been the settings app. Just changing the wallpaper and then being able to change it again. I’m just glad I figured it out. Although changing the background for the other stuff in display was relative easy, I guess once you do the heavy lifting once you’ll be able to handle the other stuff easier. I’m proud that I decided to make a settings app because I knew it wasn’t gonna be easy but it really impressed me when others did it so I guess I got inspired from them. Also I really love the feature where when you drag the mouse the green beam follows it, it’s so much fun. Honestly when you get to the page everything is very self explanatory. I hope the people that test my project have fun with it. It was one of my most favorite project to do....
|
1793126896.065113
|
1793213296.065113
|
|
43242
|
mtg tool by @flyingfish | Stardance
|
flyingfish
|
1
|
46.0
|
400
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T01:16:08Z", "hours": 46.0, "multiplier": 8.6, "payout": 400, "blessing": "neutral", "text": "i made a tool for making custom mtg cards in bulk i dont aurally know anything about mtg my brother just wanted me to make this", "repo": "https://github.com/dinotiger01/frfr", "demo": "https://github.com/dinotiger01/frfr/releases/tag/idk"}]...
|
[{"post_id": 71543, "ts": "202 [{"post_id": 71543, "ts": "2026-09-21T01:14:49Z", "hours": 1.4325, "text": "just some last minute repo fixes"}, {"post_id": 44887, "ts": "2026-08-10T22:42:40Z", "hours": 9.2114, "text": "it works on windows"}, {"post_id": 43638, "ts": "2026-08-09T00:43:02Z", "hours": 8.2292, "text": "i have spent the past 4 HOURS trying to fix a bug and nothing works(i am going to try to ship by the end of today if i can fix this stupid bug)"}, {"post_id": 42311, "ts": "2026-08-06T23:27:47Z", "hours": 8.6642, "text": "it can conect to an api now"}, {"post_id": 41448, "ts": "2026-08-05T17:41:26Z", "hours": 9.0586, "text": "it can export now"}, {"post_id": 39896, "ts": "2026-08-03T05:48:25Z", "hours": 4.0275, "text": "its too late in the day for this jusdt work for like 10 hrs today"}, {"post_id": 39784, "ts": "2026-08-02T23:52:07Z", "hours": 5.8589, "text": "ykyk"}]...
|
Title: mtg tool by @flyingfish | Stardance
Devlog Title: mtg tool by @flyingfish | Stardance
Devlogs:
ykyk
its too late in the day for this jusdt work for like 10 hrs today
it can export now
it can conect to an api now
i have spent the past 4 HOURS trying to fix a bug and nothing works(i am going to try to ship by the end of today if i can fix this stupid bug)
it works on windows
just some last minute repo fixes
Ships:
i made a tool for making custom mtg cards in bulk i dont aurally know anything about mtg my brother just wanted me to make this...
|
1793148460.9167511
|
1793234860.9167511
|
|
46814
|
text to desmos by @z2 | Stardance
|
z2
|
1
|
46.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-23T22:59:30Z", "hours": 46.0, "multiplier": 13.32, "payout": 0, "blessing": "neutral", "text": "SHIP 🚢🚢🚢 Pretty proud of this. The UI is polished enough that I’d be happy using it when I need to, though I haven’t implemented all the features I wanted yet. The biggest challenge was probably figuring out how text shaping works, and how to use the unstable/underdocumented library I picked…", "repo": "https://github.com/lemonlime4/text-to-polygon", "demo": "https://lemonlime4.github.io/text-to-polygon/"}]...
|
[{"post_id": 81202, "ts": "202 [{"post_id": 81202, "ts": "2026-10-20T08:20:32Z", "hours": 2.1039, "text": "Implemented exporting and added text segment metrics. It’s 4 am here. This is my final devlog, goodbye 👋"}, {"post_id": 81174, "ts": "2026-10-20T05:57:42Z", "hours": 11.1444, "text": "Polished up everything. A lot of UI work and a few other changes I can’t remember. Anyways, we finally have something resembling a MVP :)"}, {"post_id": 79239, "ts": "2026-10-13T05:18:31Z", "hours": 7.4878, "text": "Finally embedded the actual calculator (which was surprisingly easy, thanks desmos team!) Also, I fixed a bug where control points were being rounded to a grid at small font sizes. I don’t think the current error metric for bezier curve flatness is good, since it’s a distance that depends on the size of the curve (which depends on font size). Maybe I could just scale the threshold by the font size, but I’d have to look more into it. That’s why in the new screenshot, there are way too many samples, even though I set the tolerance slider to the max. The sampling now happens in glyph space, which is at a way larger scale (1em = around 1000 units) compared to the output space, and I forgot to change the slider’s bounds. Also did a bunch of rewrites, and bumped the text shaping/font loading dependencies; their new API is so much simpler that I was able to get rid of a dependency I previously needed. It’s funny, but I regret that I had to deal with the old API."}, {"post_id": 70388, "ts": "2026-09-19T02:56:00Z", "hours": 1.5586, "text": "Implemented recursive subdivision sampling (why was this so easy?) Basically you split each cubic curve into two cub-curves at t=0.5, and repeat until the curve is approximately a line segment. Though I need to find error metrics that are easy to understand, the current one depends on font size. Image: sample points in black, control points in blue"}, {"post_id": 66194, "ts": "2026-09-11T21:13:10Z", "hours": 4.2167, "text": "Refactoring and cleaning up, in preparation for at least 2 more sampling options (fixed density and adaptive). Also removed duplicated code so that the debug view actually reflects the polygon output, instead of doing its own text shaping. Have random code screenshots now"}, {"post_id": 64570, "ts": "2026-09-09T02:34:21Z", "hours": 2.7386, "text": "Cleaned up the code and implemented a makeshift curve sampler. Currently I’m taking a fixed number of samples for each bezier segment in the glyph splines, so the resolution is inconsistent and there’s way more points than necessary in some places."}, {"post_id": 61702, "ts": "2026-09-04T18:59:18Z", "hours": 5.7539, "text": "Can now load .woff and .woff2 fonts, and the decompressed font & its shaper are stored globally instead of re-parsing every text update. I’m just outputting control points now, but soon I can finally implement the actual sampling. Also, something weird is going on with the Fira code variable font?"}, {"post_id": 50075, "ts": "2026-08-19T04:07:14Z", "hours": 8.8028, "text": "Drawing text to an svg path. Also set up a debug ui to make sure the text shaping (glyph layout, ligatures, etc) is being done properly. For that, I ended up using a recent HarfBuzz port with basically no docs, which was really fun and not at all hard to understand. I also spent a lot of time searching up browser apis on MDN, and figuring out how to work with async. Next up: keep the parsed font loaded on the Rust side detect and decompress .woff files actually convert it to polygon allow specifying fallback fonts find out how to allow more formatted text (italic/bold, line breaks, centering, etc)"}, {"post_id": 45325, "ts": "2026-08-11T18:19:47Z", "hours": 1.9942, "text": "First commit, I finished setting up the tooling and a template for svelte/wasm. Now time to go learn svelte"}]...
|
Title: text to desmos by @z2 | Stardance
Devlogs: Title: text to desmos by @z2 | Stardance
Devlogs:
First commit, I finished setting up the tooling and a template for svelte/wasm. Now time to go learn svelte
Drawing text to an svg path. Also set up a debug ui to make sure the text shaping (glyph layout, ligatures, etc) is being done properly. For that, I ended up using a recent HarfBuzz port with basically no docs, which was really fun and not at all hard to understand. I also spent a lot of time searching up browser apis on MDN, and figuring out how to work with async. Next up: keep the parsed font loaded on the Rust side detect and decompress .woff files actually convert it to polygon allow specifying fallback fonts find out how to allow more formatted text (italic/bold, line breaks, centering, etc)
Can now load .woff and .woff2 fonts, and the decompressed font & its shaper are stored globally instead of re-parsing every text update. I’m just outputting control points now, but soon I can finally implement the actual sampling. Also, something weird is going on with the Fira code variable font?
Cleaned up the code and implemented a makeshift curve sampler. Currently I’m taking a fixed number of samples for each bezier segment in the glyph splines, so the resolution is inconsistent and there’s way more points than necessary in some places.
Refactoring and cleaning up, in preparation for at least 2 more sampling options (fixed density and adaptive). Also removed duplicated code so that the debug view actually reflects the polygon output, instead of doing its own text shaping. Have random code screenshots now
Implemented recursive subdivision sampling (why was this so easy?) Basically you split each cubic curve into two cub-curves at t=0.5, and repeat until the curve is approximately a line segment. Though I need to find error metrics that are easy to understand, the current one depends on font size. Image: sample points in black, control points in blue
Finally embedded the actual calculator (which was surprisingly easy, thanks desmos team!) Also, I fixed a bug where control points were being rounded to a grid at small font sizes. I don’t think the current error metric for bezier curve flatness is good, since it’s a distance that depends on the size of the curve (which depends on font size). Maybe I could just scale the threshold by the font size, but I’d have to look more into it. That’s why in the new screenshot, there are way too many samples, even though I set the tolerance slider to the max. The sampling now happens in glyph space, which is at a way larger scale (1em = around 1000 units) compared to the output space, and I forgot to change the slider’s bounds. Also did a bunch of rewrites, and bumped the text shaping/font loading dependencies; their new API is so much simpler that I was able to get rid of a dependency I previously needed. It’s funny, but I regret that I had to deal with the old API.
Polished up everything. A lot of UI work and a few other changes I can’t remember. Anyways, we finally have something resembling a MVP :)
Implemented exporting and added text segment metrics. It’s 4 am here. This is my final devlog, goodbye 👋
Ships:
SHIP 🚢🚢🚢 Pretty proud of this. The UI is polished enough that I’d be happy using it when I need to, though I haven’t implemented all the features I wanted yet. The biggest challenge was probably figuring out how text shaping works, and how to use the unstable/underdocumented library I picked…...
|
1793155767.6558588
|
1793242167.6558588
|
|
50342
|
Creative Artist Portfolio by @sudip_das | Stardanc Creative Artist Portfolio by @sudip_das | Stardance...
|
sudip_das
|
2
|
46.0
|
70
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T17:51:28Z", "hours": 38.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi! This is the final ship for this project. I made this portfolio to showcase my work and creativity. This portfolio really depicts me. Compared to my first ship, In this ship , I added many things such as 2 - 3 new sections. I also focused on interactivity and creativity. The main problem I faced was in maintaining layout , structure and scrolling of the website. I hope you all like this project…", "repo": "https://github.com/sudipdas2011/portfolio", "demo": "https://sudipdas2011.github.io/portfolio/"}, {"ship_num": 2, "ts": "2026-08-22T16:06:33Z", "hours": 8.0, "multiplier": 9.18, "payout": 70, "blessing": "neutral", "text": "Hi! I made my creative portfolio from scratch, but I didn’t want it to feel like a normal portfolio website. The main idea was to make the website itself feel like part of my work. It’s built around a sharp/brutalist visual style with a lot of small interactions. The cursor changes shape when hovering over things, there’s a kinetic arrow that reacts to mouse movement, and the main hero has cards constantly orbiting around the center. I also made the second section react to scrolling, so the text doesn’t just appear normally - it comes in when you actually reach the right point. A lot of it is basically me experimenting with how far I can push small UI interactions without making the site completely unusable. The hardest part was definitely the interaction stuff. The custom cursor sounds simple until you actually try to make it work properly. It needs to know what I’m hovering over, resize itself to that element, switch between elements quickly, and even detect cards moving underneath the cursor when the mouse isn’t moving. The rotating cards were another annoying one. The whole stage rotates, but the cards need to stay upright, so I had to counter-rotate them based on the current angle. I also had quite a few annoying deployment/config problems while building it. I used AI mainly when I got stuck on bugs or couldn’t figure out why something wasn’t behaving the way I expected. And honestly, getting everything to work together without making the whole thing feel laggy was probably the biggest part. I’m probably most proud of the fact that I didn’t just make a portfolio and put my work on it. I wanted the actual website to show how I like designing and building things. The cursor, rotating stage and arrow aren’t really necessary for a portfolio, but they’re the kind of details I wanted to experiment with. I’m also happy with the code structure now because I moved a lot of the Hero logic out of ‘App.jsx’ into separate ‘components/pages’, which made the project much easier to work on. It’s also actually live now, which makes the whole project feel a lot more real :) The best way to test it is on a desktop/laptop with a mouse, because a lot of the interactions are based around mouse movement. Start in the Hero section and move the cursor around different headings, links and cards. Try leaving the mouse still while the cards rotate underneath it too. Then move the mouse down towards the bottom of the screen and you’ll see the normal cursor change into the guide arrow. Move it slowly and then quickly to see how its behaviour changes. After that, scroll down into the next section and watch how the text animation gets triggered. Basically, don’t just look at the page — move your mouse around and mess with it a bit. That’s where most of the project is.", "repo": "https://github.com/sudipdas2011/portfolio", "demo": "https://sudipdas2011.github.io/portfolio/"}]...
|
[{"post_id": 62346, "ts": "202 [{"post_id": 62346, "ts": "2026-09-05T17:45:38Z", "hours": 5.5617, "text": "Hi this is the 8th and FINAL devlog for this project. I hope u guys love my work. Lastly , I updated the readme section & also refined the Carousel scrolling problem."}, {"post_id": 61564, "ts": "2026-09-04T15:22:15Z", "hours": 11.5547, "text": "Hi guyz this is my 7th devlog From past 11-12 hours I am just trying to optimize the website Also clearing bugs and errors"}, {"post_id": 58176, "ts": "2026-08-30T15:12:15Z", "hours": 10.1681, "text": "HI Guys! This is my 6th devlog. So, quick recap: I made this creative portfolio web app using React + Vite + js. We started with just a custom minimalist cursor and revolving 3d cards. Then we added scroll animations & then a 3d dither carousel. But this devlog is very different from the previous ones… I added two things to the website that changed how the portfolio feels. The contact section – where things got weird (in a good way…) The contact section was just a plain “click here” button. I wanted something that would catch people’s attention. So I built a fluid particle simulation. With gravity control, fluid pressure , proximity based particles scaling effect, also made it in a way that mouse could add waves and move particles. Next is the footer. In footer I first i added some text for title and then some bottom copyright tags. It felt empty with a huge space in between. So, I decided to add a ASCII effect of mouse trails with a smiley. Now the portfolio has 6 sections: Hero - Minimalist cursor, orbiting cards, guide arrow Who Am I - Text that rises in as you scroll What I Do - Three skill categories Carousel [ work showcase ] - Dark-theme project gallery Contact - Interactive fluid particle physics Footer - ASCII mouse trails. It’s deployed at https://sudipdas2011.github.io/portfolio BYE ツ"}, {"post_id": 56762, "ts": "2026-08-28T17:28:36Z", "hours": 10.415, "text": "Hi Guys!This is my 5th devlog. I have added many more things to my portfolio web design. First, I completed the 2nd section of the portfolio, which is the “Who Am I?” section. I also added a 3D model into it to make it look more dynamic. Additionally, I added a 3rd section: the “What I Do” section. This part is separated into 3 sub-sections to organize my work."}, {"post_id": 52422, "ts": "2026-08-22T15:27:35Z", "hours": 0.4672, "text": "DEVLOG: 4 ADDED README : https://github.com/sudipdas2011/portfolio/blob/main/README.md"}, {"post_id": 52377, "ts": "2026-08-22T14:22:38Z", "hours": 3.2097, "text": "Hi guyz! this is my third devlog about my creative artist portfolio. i have deployed it on Github and you can check it out live at https://sudipdas2011.github.io/portfolio/ i added a lot of cool features compared to the last time. first, i split the codebase into clean page modules so it is super easy to manage. the first section is the hero section, and i made it completely auto-responsive so it scales beautifully to match any screen width. then, i added a whole second section called “Who am I ?” with a black background. i set up an observer so the text stays hidden and only triggers its rising animation when you scroll past the halfway mark of the section. Finally, i built a custom arrow guide. when your mouse moves into the bottom sector of the screen, my regular 15px square cursor shrinks away to nothing and this sleek arrow takes over. it uses physics velocity math to drag smoothly right behind your mouse movements and dynamically pivots to point at the exact bottom center target on the canvas to guide you through the page. the best part is i added an allowed sections listing feature, so the arrow guide automatically unmounts and vanishes the exact second you scroll out of the hero area down to the second page section. maybe you will hit a like! byee!!!"}, {"post_id": 51187, "ts": "2026-08-20T18:05:25Z", "hours": 3.6575, "text": "hi! this is my second devlog. i got a lot done with the layout and it feels way better now. here is everything i fixed and added: first i fixed my custom cursor. it is just a tiny box that follows the mouse normally, but when i hover over text or elements it automatically expands to match the exact size of the object. i also got it working with the spinning cards with images. if the mouse stays still, it automatically detects cards rotating underneath it. if i slide between cards, it changes target instantly instead of shrinking back down. next i made the loading screen minimal. it is just a thin line in the middle of the screen that steps forward and then disappears automatically so you do not have to press enter anymore. i also added a debug argument so i can freeze it whenever i want to check the layout. bye…"}, {"post_id": 49482, "ts": "2026-08-18T11:01:39Z", "hours": 0.3347, "text": "hi guys! This is the first-ever devlog for Stardust, an animated web app for my portfolio where I will be sharing all the stuff I do. I have just started making it, so it isn’t deployed anywhere yet. So far, I have added a minimalist loading screen and a custom cursor component that shapeshifts based on the object beneath it (as seen in the screenshots). I will be deploying it somewhere soon…"}]...
|
Title: Creative Artist Portfolio by @sudip_das | S Title: Creative Artist Portfolio by @sudip_das | Stardance
Devlogs:
hi guys! This is the first-ever devlog for Stardust, an animated web app for my portfolio where I will be sharing all the stuff I do. I have just started making it, so it isn’t deployed anywhere yet. So far, I have added a minimalist loading screen and a custom cursor component that shapeshifts based on the object beneath it (as seen in the screenshots). I will be deploying it somewhere soon…
hi! this is my second devlog. i got a lot done with the layout and it feels way better now. here is everything i fixed and added: first i fixed my custom cursor. it is just a tiny box that follows the mouse normally, but when i hover over text or elements it automatically expands to match the exact size of the object. i also got it working with the spinning cards with images. if the mouse stays still, it automatically detects cards rotating underneath it. if i slide between cards, it changes target instantly instead of shrinking back down. next i made the loading screen minimal. it is just a thin line in the middle of the screen that steps forward and then disappears automatically so you do not have to press enter anymore. i also added a debug argument so i can freeze it whenever i want to check the layout. bye…
Hi guyz! this is my third devlog about my creative artist portfolio. i have deployed it on Github and you can check it out live at https://sudipdas2011.github.io/portfolio/ i added a lot of cool features compared to the last time. first, i split the codebase into clean page modules so it is super easy to manage. the first section is the hero section, and i made it completely auto-responsive so it scales beautifully to match any screen width. then, i added a whole second section called “Who am I ?” with a black background. i set up an observer so the text stays hidden and only triggers its rising animation when you scroll past the halfway mark of the section. Finally, i built a custom arrow guide. when your mouse moves into the bottom sector of the screen, my regular 15px square cursor shrinks away to nothing and this sleek arrow takes over. it uses physics velocity math to drag smoothly right behind your mouse movements and dynamically pivots to point at the exact bottom center target on the canvas to guide you through the page. the best part is i added an allowed sections listing feature, so the arrow guide automatically unmounts and vanishes the exact second you scroll out of the hero area down to the second page section. maybe you will hit a like! byee!!!
DEVLOG: 4 ADDED README : https://github.com/sudipdas2011/portfolio/blob/main/README.md
Hi Guys!This is my 5th devlog. I have added many more things to my portfolio web design. First, I completed the 2nd section of the portfolio, which is the “Who Am I?” section. I also added a 3D model into it to make it look more dynamic. Additionally, I added a 3rd section: the “What I Do” section. This part is separated into 3 sub-sections to organize my work.
HI Guys! This is my 6th devlog. So, quick recap: I made this creative portfolio web app using React + Vite + js. We started with just a custom minimalist cursor and revolving 3d cards. Then we added scroll animations & then a 3d dither carousel. But this devlog is very different from the previous ones… I added two things to the website that changed how the portfolio feels. The contact section – where things got weird (in a good way…) The contact section was just a plain “click here” button. I wanted something that would catch people’s attention. So I built a fluid particle simulation. With gravity control, fluid pressure , proximity based particles scaling effect, also made it in a way that mouse could add waves and move particles. Next is the footer. In footer I first i added some text for title and then some bottom copyright tags. It felt empty with a huge space in between. So, I decided to add a ASCII effect of mouse trails with a smiley. Now the portfolio has 6 sections: Hero - Minimalist cursor, orbiting cards, guide arrow Who Am I - Text that rises in as you scroll What I Do - Three skill categories Carousel [ work showcase ] - Dark-theme project gallery Contact - Interactive fluid particle physics Footer - ASCII mouse trails. It’s deployed at https://sudipdas2011.github.io/portfolio BYE ツ
Hi guyz this is my 7th devlog From past 11-12 hours I am just trying to optimize the website Also clearing bugs and errors
Hi this is the 8th and FINAL devlog for this project. I hope u guys love my work. Lastly , I updated the readme section & also refined the Carousel scrolling problem.
Ships:
Hi! I made my creative portfolio from scratch, but I didn’t want it to feel like a normal portfolio website. The main idea was to make the website itself feel like part of my work. It’s built around a sharp/brutalist visual style with a lot of small interactions. The cursor changes shape when hovering over things, there’s a kinetic arrow that reacts to mouse movement, and the main hero has cards constantly orbiting around the center. I also made the second section react to scrolling, so the text doesn’t just appear normally - it comes in when you actually reach the right point. A lot of it is basically me experimenting with how far I can push small UI interactions without making the site completely unusable. The hardest part was definitely the interaction stuff. The custom cursor sounds simple until you actually try to make it work properly. It needs to know what I’m hovering over, resize itself to that element, switch between elements quickly, and even detect cards moving underneath the cursor when the mouse isn’t moving. The rotating cards were another annoying one. The whole stage rotates, but the cards need to stay upright, so I had to counter-rotate them based on the current angle. I also had quite a few annoying deployment/config problems while building it. I used AI mainly when I got stuck on bugs or couldn’t figure out why something wasn’t behaving the way I expected. And honestly, getting everything to work together without making the whole thing feel laggy was probably the biggest part. I’m probably most proud of the fact that I didn’t just make a portfolio and put my work on it. I wanted the actual website to show how I like designing and building things. The cursor, rotating stage and arrow aren’t really necessary for a portfolio, but they’re the kind of details I wanted to experiment with. I’m also happy with the code structure now because I moved a lot of the Hero logic out of ‘App.jsx’ into separate ‘components/pages’, which made the project much easier to work on. It’s also actually live now, which makes the whole project feel a lot more real :) The best way to test it is on a desktop/laptop with a mouse, because a lot of the interactions are based around mouse movement. Start in the Hero section and move the cursor around different headings, links and cards. Try leaving the mouse still while the cards rotate underneath it too. Then move the mouse down towards the bottom of the screen and you’ll see the normal cursor change into the guide arrow. Move it slowly and then quickly to see how its behaviour changes. After that, scroll down into the next section and watch how the text animation gets triggered. Basically, don’t just look at the page — move your mouse around and mess with it a bit. That’s where most of the project is.
Hi! This is the final ship for this project. I made this portfolio to showcase my work and creativity. This portfolio really depicts me. Compared to my first ship, In this ship , I added many things such as 2 - 3 new sections. I also focused on interactivity and creativity. The main problem I faced was in maintaining layout , structure and scrolling of the website. I hope you all like this project…...
|
1793116038.6718357
|
1793202438.6718357
|
|
35753
|
DSH-AEGIS by @pd541664 | Stardance
|
pd541664
|
0
|
45.92
|
0
|
[]
|
[{"post_id": 57086, "ts": "202 [{"post_id": 57086, "ts": "2026-08-29T05:32:37Z", "hours": 0.3036, "text": "js fixed up the repo a bit"}, {"post_id": 37677, "ts": "2026-07-30T16:00:34Z", "hours": 0.2833, "text": "alr so i kinda forgot to mention this, but i remade the entire firmware, and added the icons and reworked the ui, hopefully this translates well onto the actual build, this is my final devlog before my first ship."}, {"post_id": 37651, "ts": "2026-07-30T15:18:13Z", "hours": 3.5667, "text": "alr, so after i made some screensavers and addtional icons i started to work on putting them into the firmware"}, {"post_id": 34428, "ts": "2026-07-25T03:58:37Z", "hours": 5.4172, "text": "kinda stupid and forgot to log, but its pretty self explantory, im still working on the usb animation"}, {"post_id": 32544, "ts": "2026-07-21T20:02:27Z", "hours": 1.8, "text": "js made a usb plug in icon, and started work on a proper animation and it should be done tomorrow"}, {"post_id": 31946, "ts": "2026-07-20T19:20:06Z", "hours": 1.5342, "text": "made ts folder thingy, ill prolly remove the DSH-AEGIS thingy, but i like it, thats pretty much all"}, {"post_id": 30845, "ts": "2026-07-18T19:51:30Z", "hours": 1.55, "text": "js making icons, not gonna act like i did smth complex"}, {"post_id": 30330, "ts": "2026-07-17T20:02:15Z", "hours": 1.4667, "text": "js made a settings icon, i was gonna make a rotating cog too, but the problem was the tool turned the hole thingy into a swastika and i couldnt find a way to get rid of it without it breaking the fluidity of the animation so i had to scrap it sadly."}, {"post_id": 29579, "ts": "2026-07-16T16:41:28Z", "hours": 1.4503, "text": "the image quality sucks since its 16x16, but i made a lock & unlock icon for the upcoming asset update + a spritesheet"}, {"post_id": 29160, "ts": "2026-07-15T21:28:02Z", "hours": 1.5, "text": "made this monochrome boot logo for DSH-AEGIS, for my update im gonna make proper assets for it to make it seem more professional, there is another variation so ill prolly js send that to a sample group for choosing, my next goal is making icons, my least favorite part is that since im using a white oled, its gonna be hard since no assets can be multi colored. i gotta add this to my repo, cya in the next log"}, {"post_id": 29116, "ts": "2026-07-15T19:38:08Z", "hours": 27.0492, "text": "OK so idk how this works since im continuing to work on a project for horizions since i dont really got a new idea, its saying to make a devlog so heres a image of the poorly made pcb"}]...
|
Title: DSH-AEGIS by @pd541664 | Stardance
Devlogs Title: DSH-AEGIS by @pd541664 | Stardance
Devlogs:
OK so idk how this works since im continuing to work on a project for horizions since i dont really got a new idea, its saying to make a devlog so heres a image of the poorly made pcb
made this monochrome boot logo for DSH-AEGIS, for my update im gonna make proper assets for it to make it seem more professional, there is another variation so ill prolly js send that to a sample group for choosing, my next goal is making icons, my least favorite part is that since im using a white oled, its gonna be hard since no assets can be multi colored. i gotta add this to my repo, cya in the next log
the image quality sucks since its 16x16, but i made a lock & unlock icon for the upcoming asset update + a spritesheet
js made a settings icon, i was gonna make a rotating cog too, but the problem was the tool turned the hole thingy into a swastika and i couldnt find a way to get rid of it without it breaking the fluidity of the animation so i had to scrap it sadly.
js making icons, not gonna act like i did smth complex
made ts folder thingy, ill prolly remove the DSH-AEGIS thingy, but i like it, thats pretty much all
js made a usb plug in icon, and started work on a proper animation and it should be done tomorrow
kinda stupid and forgot to log, but its pretty self explantory, im still working on the usb animation
alr, so after i made some screensavers and addtional icons i started to work on putting them into the firmware
alr so i kinda forgot to mention this, but i remade the entire firmware, and added the icons and reworked the ui, hopefully this translates well onto the actual build, this is my final devlog before my first ship.
js fixed up the repo a bit...
|
1793145184.2272446
|
1793749984.2272446
|
|
57652
|
AgendaHub by @cesarmoal11 | Stardance
|
cesarmoal11
|
0
|
45.9
|
0
|
[]
|
[{"post_id": 81524, "ts": "202 [{"post_id": 81524, "ts": "2026-10-21T15:56:27Z", "hours": 1.0136, "text": "I’ve done a timer for AgendaHub. I think it’s a useful tool for this website, because it will be used mainly by students. A timer is useful for dividing your time, studying, and school stuff. It maintains the time while you change between sections. Also it’s draggable, I have learned how to do that right now."}, {"post_id": 76690, "ts": "2026-10-04T10:57:37Z", "hours": 2.115, "text": "I have been doing a few things to the web, Improving the responsive the design for phones and also improving the AgendaHub guide for beginners, in which you can find all the instructions of how to use this web."}, {"post_id": 75237, "ts": "2026-09-29T15:36:23Z", "hours": 3.7958, "text": "I have done a very cool sub-section I’m really proud of. I’ve always wanted in AgendaHub something to track your habits and see your progress. This is perfect, because you can create your own customizable habits and see all the statistics. Also you can see a calendar with all the feeling you have been having through the year. I used AI for learning some new things (like making the chart). I hope you’ll like it."}, {"post_id": 74435, "ts": "2026-09-27T11:35:03Z", "hours": 1.1172, "text": "I created another functionality for events. Now, if you have an event which is repeating, you can choose to edit all the repetitions of that event or only an individual event of those."}, {"post_id": 73750, "ts": "2026-09-25T21:03:08Z", "hours": 1.2989, "text": "I fixed som errors with the event repetition."}, {"post_id": 72764, "ts": "2026-09-23T18:08:21Z", "hours": 3.8686, "text": "I have done a very significant part of my project. I decided to combine the two different main databases I had to create only one called “events”. These events are shown by 2 different ways: on the calendar section (calendar, week or day view) and on the new schedule section. Both sections are connected so all the changes you make are update in both sections. A new functionality for events is you can repeat them the times you want, choosing the days and all that stuff."}, {"post_id": 71800, "ts": "2026-09-21T16:00:53Z", "hours": 1.6764, "text": "I did a new section for my webb. I have created a new way to organize yourself in agendahub. It’s a regular schedule, in which you can create the different tasks you usually have on your daily life. However, if you have something which happens once you can not repeat it. The duration is also a good way to organize your day. The main purpose of the section is to see quickly all the ordinary tasks of your week."}, {"post_id": 71162, "ts": "2026-09-20T11:44:11Z", "hours": 2.9183, "text": "I have almost done the responsive design for mobile phones."}, {"post_id": 70216, "ts": "2026-09-18T18:35:58Z", "hours": 0.5508, "text": "I have started with the responsive design for mobiles."}, {"post_id": 69701, "ts": "2026-09-17T16:38:28Z", "hours": 0.8422, "text": "I have done a few more changes. NOw you can change the password in case you forget it. Also you can create events and tasks without selecting a subject."}, {"post_id": 69236, "ts": "2026-09-16T17:03:59Z", "hours": 1.0986, "text": "I added a few changes in the user section. Now you can change the profile picture by choosing a picture from your computer. Also you can select the dates of beginning and end of your course to visualize the progress bar. I also added the count of the days to the end of the course. Finally I added the log out button."}, {"post_id": 68722, "ts": "2026-09-15T16:48:16Z", "hours": 0.9089, "text": "I have finished the connection between my web and supabase. Right now, people who wants to use the web must create an account using an email. By this way AgendaHub is gonna be so much efficient and customizable. All the events, tasks, subjects and more that you create using your account are stored on the database, to save them forever. The next thing I wanna do is the user-settings part."}, {"post_id": 68215, "ts": "2026-09-14T18:24:53Z", "hours": 0.5758, "text": "I have continued doing the necessary changes to connect AgendaHub to supabase instead of localStorage. I have changed the user system, the subjects and the calendars-events. Now I have to do the same with tasks and marks."}, {"post_id": 67566, "ts": "2026-09-13T18:24:30Z", "hours": 2.9464, "text": "I am trying to get AgendaHub to the next level. My idea is to use a database for creating an user system, allowing people to create accounts and that stuff. By that way everything is gonna be more organized and also I’m gonna be able to create more personalize stuff to improve the web."}, {"post_id": 66483, "ts": "2026-09-12T10:09:35Z", "hours": 0.6811, "text": "I have finished the version 1.0 of Agendahub. All the sections and its functionalities which I first made up are already working. I also added different messages when the web is clean so the user is able to know the function of each section and what can he do in there. I’ll be adding more stuff, but the web I made up is officialy done. I’m so proud of it because I really think it is sooo helpul for students to organise everything (also for me) and I have practised and learn lots of things. :)"}, {"post_id": 66139, "ts": "2026-09-11T19:22:34Z", "hours": 1.2033, "text": "I have done the initial dashboard. Now, when the user enters on the website there’s a summary of his tasks, events and marks. Any idea to add to the website?"}, {"post_id": 65468, "ts": "2026-09-10T16:47:44Z", "hours": 1.2425, "text": "I have done the marks section, which is very similar to the subjects section. It has subject cards too, but here is shown the average mark of each subject. Also there is a general average mark and a lot of progress bars which I really like."}, {"post_id": 64940, "ts": "2026-09-09T17:51:03Z", "hours": 1.7594, "text": "I have continued with the subject content. Now, apart from having the main info at the top of the subject section, you can visualize all the events, tasks and marks from that subject. Also by clicking you can see all the info of each one."}, {"post_id": 64305, "ts": "2026-09-08T16:22:55Z", "hours": 1.8203, "text": "I did the subject settings, so now when the user creates a subject he can change later its info and settings. Also you can upload an image to be the subject front page."}, {"post_id": 63887, "ts": "2026-09-07T21:57:48Z", "hours": 1.7894, "text": "Hii. I have started the marks section, however, I decided to set aside it to do another section which is more important: Subjects. The idea of this section is quite simple: the user can create a subject depending on his needs, and all his own personalize subjects will appear on the menus of the calendar, tasks and marks to create all those stuff. You can create infinite subjects and choose their color, which will appear too in the events and tasks. The next step is doing individual windows for each subject, so the user can enter into it by clicking on the subjects."}, {"post_id": 63031, "ts": "2026-09-06T16:30:05Z", "hours": 2.6111, "text": "I have finished the tasks sectiooon!! It is divided into several parts: the header which contains the title and the button to create new tasks, the counters which each one counts different aspects of the tasks (completed, for tomorrow…), the “tomorrow” part which contains a list with the tasks for the next day, the “state” part which contains 3 blocks that contain the tasks depending on its state (to-do, in progress or done) and finally the all part which contains a list with all the tasks."}, {"post_id": 62532, "ts": "2026-09-05T23:18:23Z", "hours": 0.9003, "text": "I have done the “sketch” for the new section of my web, the tasks section. In here, the user will be able to create tasks and see them on different places. There will be an account of the tasks made, the tasks which have been made and that stuff. Also there will be a list with the most urgent tasks for the next day. Each task will have a title, a subject, a date… There will be another section in which the tasks will be ordered by their state."}, {"post_id": 62360, "ts": "2026-09-05T18:06:58Z", "hours": 2.0114, "text": "I have create a very functional and extended functionality. In all the calendars you can create different calendars to separate your events and tasks. I did that. Now you can create your own calendar which the name you prefer and create in it all the events you want. Using the side menu you can hide each calendar by clicking on them and also delete them."}, {"post_id": 62113, "ts": "2026-09-05T11:22:55Z", "hours": 0.6206, "text": "I did a few new functionalities on the calendar section. Now, if there are more than 3 events in the same day, the rest are hidden in the calendar view. However, the user can see the whole events in the other views. Another functionality I have made is the button “Hoy” (today). If the user do click on it, it shows the actual day on the selected view. Also the number in the current day is highlighted."}, {"post_id": 61826, "ts": "2026-09-04T22:35:45Z", "hours": 3.1517, "text": "Hii I’m so excited about the progress of AgendaHub. After creating the template for the calendar which calculate automatically the days and all the stuff I did the other views. The user can use the button on the top of the section for moving along them. The template changes depending on the view the user has chosen. Also, the user can create events (exams usually) using the + button OOOR by clicking on the day the prefer. After doing one of those things, the user has to fill a form to create the event (title, date, subject, time and a description). If these gaps are empty when the user clicks the save button, an error alert will warn the user to fill them. Besides, the user can see all the information of the events by clicking on them. Also they are editable (if the user has to change the date or something else). I’m really proud of this because I think it looks great and also is SOO USEFUL (specially for students and productive people). I have used chat gpt to learn how to do the java script stuff (the calculations of the days, months…)."}, {"post_id": 61418, "ts": "2026-09-04T10:09:12Z", "hours": 0.8514, "text": "I’m so proud of this new section which I have created. It consists on a calendar, which is formed depending on the date of the user. Also you can explore and see the previews and next months by using the buttons. It’s made with javascript. Honestly, this is my first time creating a calendar like this and I have use AI for learning and understanding how to do it. I’m sooo happy with the final result."}, {"post_id": 60914, "ts": "2026-09-03T15:58:54Z", "hours": 1.0492, "text": "I have done a new button in the calendar section, which allows the user (in the future) to change the view of the events. I also made the event-creator title and date compulsory, showing an error if the user doesn’t fill those gaps. The next step is creating the different views."}, {"post_id": 60777, "ts": "2026-09-03T11:28:29Z", "hours": 0.375, "text": "I start doing the calendar section. Now theres only the place where I’m gonna create it. I did the modal which allows the user to create en event. I still follow the design of the web, I really like it. The next step is to make this modal work and create some events, then I will create the calendar and fill it with the events."}, {"post_id": 60761, "ts": "2026-09-03T10:53:45Z", "hours": 0.3872, "text": "I improved the sidebar and header design. From now on the web design is gonna be like this, using this color palette, basic shadows, floating elements… Now I’m gonna start with the sections"}, {"post_id": 60496, "ts": "2026-09-02T21:23:58Z", "hours": 0.7217, "text": "I just started this exicitn project. The idea is to build a functional agenda to organise my work (tasks, exams, marks…). I want to add these: a calendar (monthly and weekly) to see what I have to do, an interactive list with my tasks (and organize them by categories), a section to have the marks from my exams, a section with the different subjects I have and all the information of each one and finally a section with objectives. Right now there’s only the header, the next step is to make it functional. I also have decided the color palette to my project."}]...
|
Title: AgendaHub by @cesarmoal11 | Stardance
Devl Title: AgendaHub by @cesarmoal11 | Stardance
Devlogs:
I just started this exicitn project. The idea is to build a functional agenda to organise my work (tasks, exams, marks…). I want to add these: a calendar (monthly and weekly) to see what I have to do, an interactive list with my tasks (and organize them by categories), a section to have the marks from my exams, a section with the different subjects I have and all the information of each one and finally a section with objectives. Right now there’s only the header, the next step is to make it functional. I also have decided the color palette to my project.
I improved the sidebar and header design. From now on the web design is gonna be like this, using this color palette, basic shadows, floating elements… Now I’m gonna start with the sections
I start doing the calendar section. Now theres only the place where I’m gonna create it. I did the modal which allows the user to create en event. I still follow the design of the web, I really like it. The next step is to make this modal work and create some events, then I will create the calendar and fill it with the events.
I have done a new button in the calendar section, which allows the user (in the future) to change the view of the events. I also made the event-creator title and date compulsory, showing an error if the user doesn’t fill those gaps. The next step is creating the different views.
I’m so proud of this new section which I have created. It consists on a calendar, which is formed depending on the date of the user. Also you can explore and see the previews and next months by using the buttons. It’s made with javascript. Honestly, this is my first time creating a calendar like this and I have use AI for learning and understanding how to do it. I’m sooo happy with the final result.
Hii I’m so excited about the progress of AgendaHub. After creating the template for the calendar which calculate automatically the days and all the stuff I did the other views. The user can use the button on the top of the section for moving along them. The template changes depending on the view the user has chosen. Also, the user can create events (exams usually) using the + button OOOR by clicking on the day the prefer. After doing one of those things, the user has to fill a form to create the event (title, date, subject, time and a description). If these gaps are empty when the user clicks the save button, an error alert will warn the user to fill them. Besides, the user can see all the information of the events by clicking on them. Also they are editable (if the user has to change the date or something else). I’m really proud of this because I think it looks great and also is SOO USEFUL (specially for students and productive people). I have used chat gpt to learn how to do the java script stuff (the calculations of the days, months…).
I did a few new functionalities on the calendar section. Now, if there are more than 3 events in the same day, the rest are hidden in the calendar view. However, the user can see the whole events in the other views. Another functionality I have made is the button “Hoy” (today). If the user do click on it, it shows the actual day on the selected view. Also the number in the current day is highlighted.
I have create a very functional and extended functionality. In all the calendars you can create different calendars to separate your events and tasks. I did that. Now you can create your own calendar which the name you prefer and create in it all the events you want. Using the side menu you can hide each calendar by clicking on them and also delete them.
I have done the “sketch” for the new section of my web, the tasks section. In here, the user will be able to create tasks and see them on different places. There will be an account of the tasks made, the tasks which have been made and that stuff. Also there will be a list with the most urgent tasks for the next day. Each task will have a title, a subject, a date… There will be another section in which the tasks will be ordered by their state.
I have finished the tasks sectiooon!! It is divided into several parts: the header which contains the title and the button to create new tasks, the counters which each one counts different aspects of the tasks (completed, for tomorrow…), the “tomorrow” part which contains a list with the tasks for the next day, the “state” part which contains 3 blocks that contain the tasks depending on its state (to-do, in progress or done) and finally the all part which contains a list with all the tasks.
Hii. I have started the marks section, however, I decided to set aside it to do another section which is more important: Subjects. The idea of this section is quite simple: the user can create a subject depending on his needs, and all his own personalize subjects will appear on the menus of the calendar, tasks and marks to create all those stuff. You can create infinite subjects and choose their color, which will appear too in the events and tasks. The next step is doing individual windows for each subject, so the user can enter into it by clicking on the subjects.
I did the subject settings, so now when the user creates a subject he can change later its info and settings. Also you can upload an image to be the subject front page.
I have continued with the subject content. Now, apart from having the main info at the top of the subject section, you can visualize all the events, tasks and marks from that subject. Also by clicking you can see all the info of each one.
I have done the marks section, which is very similar to the subjects section. It has subject cards too, but here is shown the average mark of each subject. Also there is a general average mark and a lot of progress bars which I really like.
I have done the initial dashboard. Now, when the user enters on the website there’s a summary of his tasks, events and marks. Any idea to add to the website?
I have finished the version 1.0 of Agendahub. All the sections and its functionalities which I first made up are already working. I also added different messages when the web is clean so the user is able to know the function of each section and what can he do in there. I’ll be adding more stuff, but the web I made up is officialy done. I’m so proud of it because I really think it is sooo helpul for students to organise everything (also for me) and I have practised and learn lots of things. :)
I am trying to get AgendaHub to the next level. My idea is to use a database for creating an user system, allowing people to create accounts and that stuff. By that way everything is gonna be more organized and also I’m gonna be able to create more personalize stuff to improve the web.
I have continued doing the necessary changes to connect AgendaHub to supabase instead of localStorage. I have changed the user system, the subjects and the calendars-events. Now I have to do the same with tasks and marks.
I have finished the connection between my web and supabase. Right now, people who wants to use the web must create an account using an email. By this way AgendaHub is gonna be so much efficient and customizable. All the events, tasks, subjects and more that you create using your account are stored on the database, to save them forever. The next thing I wanna do is the user-settings part.
I added a few changes in the user section. Now you can change the profile picture by choosing a picture from your computer. Also you can select the dates of beginning and end of your course to visualize the progress bar. I also added the count of the days to the end of the course. Finally I added the log out button.
I have done a few more changes. NOw you can change the password in case you forget it. Also you can create events and tasks without selecting a subject.
I have started with the responsive design for mobiles.
I have almost done the responsive design for mobile phones.
I did a new section for my webb. I have created a new way to organize yourself in agendahub. It’s a regular schedule, in which you can create the different tasks you usually have on your daily life. However, if you have something which happens once you can not repeat it. The duration is also a good way to organize your day. The main purpose of the section is to see quickly all the ordinary tasks of your week.
I have done a very significant part of my project. I decided to combine the two different main databases I had to create only one called “events”. These events are shown by 2 different ways: on the calendar section (calendar, week or day view) and on the new schedule section. Both sections are connected so all the changes you make are update in both sections. A new functionality for events is you can repeat them the times you want, choosing the days and all that stuff.
I fixed som errors with the event repetition.
I created another functionality for events. Now, if you have an event which is repeating, you can choose to edit all the repetitions of that event or only an individual event of those.
I have done a very cool sub-section I’m really proud of. I’ve always wanted in AgendaHub something to track your habits and see your progress. This is perfect, because you can create your own customizable habits and see all the statistics. Also you can see a calendar with all the feeling you have been having through the year. I used AI for learning some new things (like making the chart). I hope you’ll like it.
I have been doing a few things to the web, Improving the responsive the design for phones and also improving the AgendaHub guide for beginners, in which you can find all the instructions of how to use this web.
I’ve done a timer for AgendaHub. I think it’s a useful tool for this website, because it will be used mainly by students. A timer is useful for dividing your time, studying, and school stuff. It maintains the time while you change between sections. Also it’s draggable, I have learned how to do that right now....
|
1792716651.6562145
|
1793321451.6562145
|
|
2370
|
First Drone by @Aliexpress_enjoyer | Stardance
|
Aliexpress_enjoyer
|
0
|
45.82
|
0
|
[]
|
[{"post_id": 69505, "ts": "202 [{"post_id": 69505, "ts": "2026-09-17T06:19:48Z", "hours": 0.4597, "text": "Got a battery monitor working (it disarms the drone when the 3s lipo reaches 10v or below)"}, {"post_id": 68431, "ts": "2026-09-15T03:27:06Z", "hours": 2.4386, "text": "I was mostly working on code (its going horribly), but I soldered the battery connector along with a voltage measurement wire."}, {"post_id": 37991, "ts": "2026-07-31T02:46:42Z", "hours": 0.9169, "text": "Cadded a battery compartment in Autodesk Fusion"}, {"post_id": 37373, "ts": "2026-07-30T01:18:04Z", "hours": 1.0425, "text": "Added a calibration mode for easy esc tweaking, and the motor now uses 250hz I needed an input of some sort for calibrating, so I used the battery voltage pin as a temporary solution."}, {"post_id": 37294, "ts": "2026-07-29T22:01:39Z", "hours": 0.6047, "text": "made a custom quadcopter model in blender and added it to the web viewer!!"}, {"post_id": 37158, "ts": "2026-07-29T17:34:20Z", "hours": 3.9661, "text": "Learned threejs so that I could render a cube in the browser that rotates based on the flight controller’s orientation. While doing that, I got distracted and started playing the threejs port of doom for a bit. Anyway, it works really well Also, I suck at math This is a problem because I’m trying to write drone firmware from scratch. Fortunately, there are some pretty good guides out there like the one from Carbon Aeronautics. This session was mostly me trying to learn the math used to measure angles from the accelerometer and gyro. I get some of it, such as the basic trig stuff and integrating the gyro’s readings. I don’t get the more complex stuff like the Kalman Filter because sadly, I only posses 2nd year high school math knowledge. But mark my words, I WILL learn linear algebra and will understand it one day, maybe also what does stardance mean by “please write this yourself, humans can read it!,” right after I pasted in an IMAGE??"}, {"post_id": 36176, "ts": "2026-07-28T02:57:34Z", "hours": 2.8189, "text": "I modded my radio transmitter so it works with the current flight controller I also did some radio testing. I also tried playing around with FreeRTOS but I’m too dumb so I gave up Edit: Forgot to mention I created a holder for the flight controller"}, {"post_id": 32474, "ts": "2026-07-21T17:53:30Z", "hours": 10.6878, "text": "i did a high risk high reward type thing I paid 6 billion dollars to JLC for the flight controller, not even being fully sure if the flight controller would work. It arrived a week ago but I was dying at outpost so I haven’t tested until yesterday. I confirmed that the radio, imu, and motor pins work which are basically the most important parts of the FC"}, {"post_id": 12323, "ts": "2026-06-20T03:22:19Z", "hours": 1.3092, "text": "I’m finalizing the flight controller This means that I had to do a lot of double checking and random tweaks. I didn’t record it since I wasn’t very productive and essentially wasted an entire day half doom scrolling I did other miscellaneous things. Added a silkscreen Assembled part of the frame that arrived Wrote a BOM and tweaked stuff to appease JLCPCB"}, {"post_id": 10430, "ts": "2026-06-17T04:29:05Z", "hours": 0.5406, "text": "I fixed some DRC violations. Most of them were caused by me needing to shrink the default trace sizes for that one sensor. Four errors remain, which I likely won’t bother fixing since they’re just courtyard violations of the esp32s3’s antenna, which is not that integral to my project."}, {"post_id": 10387, "ts": "2026-06-17T02:15:18Z", "hours": 4.2706, "text": "Routed (most of) the Flight Controller. It may not look like much, but it was a lot of suffering. To start off, the magnetometer I’m using has the most annoying package I’ve encountered yet. There are pins buried deep inside the center of it, and I had to adjust trace and via sizes to accommodate for them. I ended up using the absolute minimum sizes that JLCPCB has to offer. Secondly, the radio module I’m using, which could not be moved or oriented differently, has a seriously unlucky pinout, and I ended up needing vias for almost every pin for it. Consequently, most other pins of the other sensors needed vias too, since they had to pass through or be connected to it. I ended up with the worst PCB layout I’ve ever seen. (To be fair, I haven’t seen many PCB layouts, so it probably isn’t as bad as I make it sound) I think it works though, I just need to spend like a day checking over it, and also route the remaining things, which are just ground planes, and power traces. I also cost optimized my board a little by reducing the assortment of header pins, so most of them will use the same parts, reducing JLC’s unique extended component fee. Here are some takeaways Don’t wire GND and power wires first, they have nonzero chances of needing to be moved later on, meaning you’ll have wasted your time JLCPCB allows smaller minimum trace sizes the more layers your boards have Never ever ever use WLCSP if you’re dumb like me There were probably more takeaways but I forgot"}, {"post_id": 9331, "ts": "2026-06-15T17:31:19Z", "hours": 1.9758, "text": "I did more component placing. I think it’s almost ready to route, but I want to make sure I didn’t make any mistakes, namely using a forbidden pin. I also did some component testing with the parts I already have, such as seeing if multiple motors could run at once, while the radio was transmitting, etc."}, {"post_id": 7781, "ts": "2026-06-13T00:10:19Z", "hours": 3.53, "text": "Before continuing with the PCB, I wanted to do a quick and stress free session where I tested firmware that would make the motors run. Safe to say, it was not quick and stress free. I initially tested the servo code on a mini mg90 servo since it was safer than testing with the esc which is powered by a big scary LiPo battery. I wasted 45 minutes with the firmware only to learn that the battery pack I used was drained. (All 4 AA batteries fell to 0.9v…) Then I managed to get the espservo library to work, but for some reason it kept crashing the entire code whenever I tried using pinMode(). I still don’t know why that happened. I switched to controlling the servo using the ledc api instead, which worked much better, and was quite fun to figure out. After succeeding in moving the mini servo, the ESC + motor gave me some issues. For safety purposes, ESCs have to be armed before they spin. To learn exactly how to calibrate it, I dug up a datasheet of the ESC, and finally got the ESC to spin the motor. Overall I learned: ESCs aren’t as dumb as I thought they were ledc api exists I still hate programming"}, {"post_id": 7011, "ts": "2026-06-11T19:21:35Z", "hours": 1.9411, "text": "I started working on component placements of the PCB. It was harder than I thought it would be. Firstly, I had over-estimated the size of flight controllers in general, so I had less space to work with as anticipated. Secondly, I forgot to add some decoupling capacitors in the schematic, so after doing so, I had much more components to wire. Thirdly, the connectors were bigger than I thought, especially the ones for the radio module I plan to attach to it. I’m still deciding some things, such as how big I want the board to be, (I’m thinking somewhere around 50x50mm, excluding the protruding antenna and usb port) and whether the PCB will be a 2 or 4 layer pcb."}, {"post_id": 6573, "ts": "2026-06-11T01:17:08Z", "hours": 0.7056, "text": "I assigned some footprints Not many interesting things happened, just mostly browsing LCSC and JLCPCB’s parts. I also spent some effort figuring out how to import footprints from componentsearchengine"}, {"post_id": 6553, "ts": "2026-06-11T00:23:09Z", "hours": 0.8667, "text": "I finished the schematic. I still have some warnings to fix, but I’ve reviewed the connections, and they seem correct. The current schematic has: An ESP32-S3 An IMU, which is the BMI270 + BMM150 Connectors for the ESC signals Extra GPIOs that are broken out A USB-C port A BMP338 barometer Some connectors for attaching the RF24s I have A connector for measuring battery voltage An LED :)"}, {"post_id": 6354, "ts": "2026-06-10T18:08:08Z", "hours": 3.1303, "text": "I hate working on the flight controller so I decided to work on something else instead. This is supposed to be a webpage that tests drone sensors where you can see the drone’s orientation in real time. I’ve been dying to try out the web serial api for a while now, but I never got to it. Fortunately, I finally got to use it to receive data from the microcontroller. I managed to make the webpage receive serial data from the receiver that I built in the last devlog."}, {"post_id": 5409, "ts": "2026-06-09T05:02:07Z", "hours": 1.6242, "text": "I took on a little sidequest from working on the schematic of the flight controller. I plan to use a set of nrf24l01’s as the radio, since I already have them. Therefore, I wanted to test them before putting it on the schematic. I hooked one up to a brand new esp32-s3, and the other to an esp32-wroom1. The process of sending data between each one was relatively straightforward, thanks to a helpful instructable I found. However, I did get some issues with the default SPI pins with the s3, but that got sorted out after some pin switching. Eventually I got the two devices to remotely talk to each other and was overjoyed. Also somewhere in between all of that, I realized I ran out of male to female jumper wires so that sucks :("}, {"post_id": 5300, "ts": "2026-06-09T00:55:22Z", "hours": 1.1764, "text": "I made some more progress on the flight controller. I may have forgotten some of what I did since the lapse was recorded like a day ago, but I added some connectors to the four escs, and connected most things to the main microcontroller."}, {"post_id": 3301, "ts": "2026-06-06T05:00:54Z", "hours": 1.81, "text": "I started researching/designing a custom flight controller! I began by choosing an IMU for it. I was initially going to use an MPU-6500, but learned it was trash for drones. I eventually settled on the BMI270 since it was relatively cheap but still powerful. Another benefit of that chip was that it could be hooked up to a magnetometer, so I looked into the BMM150, which was recommended. I also wasted my time with another random magnetometer that I keep forgetting the name of. Anyway I added those to the schematic, which wasn’t too bad. I’m pretty new to KiCad so I needed to figure out how to import symbols into it. I discovered the lifesaver known as the componentsearchengine, which is an extensive database of symbols that KiCad or other cad programs may not have. I also chose a microcontroller for the FC. I wanted to use an ESP32 chip since I’m most familiar with them, and ended up choosing an ESP32-S3 Wroom 1 (mostly arbitrarily)"}]...
|
Title: First Drone by @Aliexpress_enjoyer | Starda Title: First Drone by @Aliexpress_enjoyer | Stardance
Devlogs:
I started researching/designing a custom flight controller! I began by choosing an IMU for it. I was initially going to use an MPU-6500, but learned it was trash for drones. I eventually settled on the BMI270 since it was relatively cheap but still powerful. Another benefit of that chip was that it could be hooked up to a magnetometer, so I looked into the BMM150, which was recommended. I also wasted my time with another random magnetometer that I keep forgetting the name of. Anyway I added those to the schematic, which wasn’t too bad. I’m pretty new to KiCad so I needed to figure out how to import symbols into it. I discovered the lifesaver known as the componentsearchengine, which is an extensive database of symbols that KiCad or other cad programs may not have. I also chose a microcontroller for the FC. I wanted to use an ESP32 chip since I’m most familiar with them, and ended up choosing an ESP32-S3 Wroom 1 (mostly arbitrarily)
I made some more progress on the flight controller. I may have forgotten some of what I did since the lapse was recorded like a day ago, but I added some connectors to the four escs, and connected most things to the main microcontroller.
I took on a little sidequest from working on the schematic of the flight controller. I plan to use a set of nrf24l01’s as the radio, since I already have them. Therefore, I wanted to test them before putting it on the schematic. I hooked one up to a brand new esp32-s3, and the other to an esp32-wroom1. The process of sending data between each one was relatively straightforward, thanks to a helpful instructable I found. However, I did get some issues with the default SPI pins with the s3, but that got sorted out after some pin switching. Eventually I got the two devices to remotely talk to each other and was overjoyed. Also somewhere in between all of that, I realized I ran out of male to female jumper wires so that sucks :(
I hate working on the flight controller so I decided to work on something else instead. This is supposed to be a webpage that tests drone sensors where you can see the drone’s orientation in real time. I’ve been dying to try out the web serial api for a while now, but I never got to it. Fortunately, I finally got to use it to receive data from the microcontroller. I managed to make the webpage receive serial data from the receiver that I built in the last devlog.
I finished the schematic. I still have some warnings to fix, but I’ve reviewed the connections, and they seem correct. The current schematic has: An ESP32-S3 An IMU, which is the BMI270 + BMM150 Connectors for the ESC signals Extra GPIOs that are broken out A USB-C port A BMP338 barometer Some connectors for attaching the RF24s I have A connector for measuring battery voltage An LED :)
I assigned some footprints Not many interesting things happened, just mostly browsing LCSC and JLCPCB’s parts. I also spent some effort figuring out how to import footprints from componentsearchengine
I started working on component placements of the PCB. It was harder than I thought it would be. Firstly, I had over-estimated the size of flight controllers in general, so I had less space to work with as anticipated. Secondly, I forgot to add some decoupling capacitors in the schematic, so after doing so, I had much more components to wire. Thirdly, the connectors were bigger than I thought, especially the ones for the radio module I plan to attach to it. I’m still deciding some things, such as how big I want the board to be, (I’m thinking somewhere around 50x50mm, excluding the protruding antenna and usb port) and whether the PCB will be a 2 or 4 layer pcb.
Before continuing with the PCB, I wanted to do a quick and stress free session where I tested firmware that would make the motors run. Safe to say, it was not quick and stress free. I initially tested the servo code on a mini mg90 servo since it was safer than testing with the esc which is powered by a big scary LiPo battery. I wasted 45 minutes with the firmware only to learn that the battery pack I used was drained. (All 4 AA batteries fell to 0.9v…) Then I managed to get the espservo library to work, but for some reason it kept crashing the entire code whenever I tried using pinMode(). I still don’t know why that happened. I switched to controlling the servo using the ledc api instead, which worked much better, and was quite fun to figure out. After succeeding in moving the mini servo, the ESC + motor gave me some issues. For safety purposes, ESCs have to be armed before they spin. To learn exactly how to calibrate it, I dug up a datasheet of the ESC, and finally got the ESC to spin the motor. Overall I learned: ESCs aren’t as dumb as I thought they were ledc api exists I still hate programming
I did more component placing. I think it’s almost ready to route, but I want to make sure I didn’t make any mistakes, namely using a forbidden pin. I also did some component testing with the parts I already have, such as seeing if multiple motors could run at once, while the radio was transmitting, etc.
Routed (most of) the Flight Controller. It may not look like much, but it was a lot of suffering. To start off, the magnetometer I’m using has the most annoying package I’ve encountered yet. There are pins buried deep inside the center of it, and I had to adjust trace and via sizes to accommodate for them. I ended up using the absolute minimum sizes that JLCPCB has to offer. Secondly, the radio module I’m using, which could not be moved or oriented differently, has a seriously unlucky pinout, and I ended up needing vias for almost every pin for it. Consequently, most other pins of the other sensors needed vias too, since they had to pass through or be connected to it. I ended up with the worst PCB layout I’ve ever seen. (To be fair, I haven’t seen many PCB layouts, so it probably isn’t as bad as I make it sound) I think it works though, I just need to spend like a day checking over it, and also route the remaining things, which are just ground planes, and power traces. I also cost optimized my board a little by reducing the assortment of header pins, so most of them will use the same parts, reducing JLC’s unique extended component fee. Here are some takeaways Don’t wire GND and power wires first, they have nonzero chances of needing to be moved later on, meaning you’ll have wasted your time JLCPCB allows smaller minimum trace sizes the more layers your boards have Never ever ever use WLCSP if you’re dumb like me There were probably more takeaways but I forgot
I fixed some DRC violations. Most of them were caused by me needing to shrink the default trace sizes for that one sensor. Four errors remain, which I likely won’t bother fixing since they’re just courtyard violations of the esp32s3’s antenna, which is not that integral to my project.
I’m finalizing the flight controller This means that I had to do a lot of double checking and random tweaks. I didn’t record it since I wasn’t very productive and essentially wasted an entire day half doom scrolling I did other miscellaneous things. Added a silkscreen Assembled part of the frame that arrived Wrote a BOM and tweaked stuff to appease JLCPCB
i did a high risk high reward type thing I paid 6 billion dollars to JLC for the flight controller, not even being fully sure if the flight controller would work. It arrived a week ago but I was dying at outpost so I haven’t tested until yesterday. I confirmed that the radio, imu, and motor pins work which are basically the most important parts of the FC
I modded my radio transmitter so it works with the current flight controller I also did some radio testing. I also tried playing around with FreeRTOS but I’m too dumb so I gave up Edit: Forgot to mention I created a holder for the flight controller
Learned threejs so that I could render a cube in the browser that rotates based on the flight controller’s orientation. While doing that, I got distracted and started playing the threejs port of doom for a bit. Anyway, it works really well Also, I suck at math This is a problem because I’m trying to write drone firmware from scratch. Fortunately, there are some pretty good guides out there like the one from Carbon Aeronautics. This session was mostly me trying to learn the math used to measure angles from the accelerometer and gyro. I get some of it, such as the basic trig stuff and integrating the gyro’s readings. I don’t get the more complex stuff like the Kalman Filter because sadly, I only posses 2nd year high school math knowledge. But mark my words, I WILL learn linear algebra and will understand it one day, maybe also what does stardance mean by “please write this yourself, humans can read it!,” right after I pasted in an IMAGE??
made a custom quadcopter model in blender and added it to the web viewer!!
Added a calibration mode for easy esc tweaking, and the motor now uses 250hz I needed an input of some sort for calibrating, so I used the battery voltage pin as a temporary solution.
Cadded a battery compartment in Autodesk Fusion
I was mostly working on code (its going horribly), but I soldered the battery connector along with a voltage measurement wire.
Got a battery monitor working (it disarms the drone when the 3s lipo reaches 10v or below)...
|
1792774196.4867506
|
1793378996.4867506
|
|
46156
|
0XVINCE by @0xvince | Stardance
|
0xvince
|
1
|
45.8
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T23:13:07Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Cybersecurity Portfolio Built my personal site around 8 sections — Hero, About , Skills, Experience, Projects, CTF, Blog, and Contact — to double as both a portfolio and a place to show off some of the CTF/security work I do. The feature I had the most fun with was hiding a Konami-code easter egg in the site. Triggering it and it opens a fake terminal that runs through a little “authentication” sequence before landing on a hidden message: $ sudo unlock easter-egg –user=visitor authenticating… ✓ access granted you found the hidden terminal. not many people get here. you’ve got good taste — and patience. feel free to reach out anytime. — 0xVince It’s basically a mini CTF built into my own portfolio — most visitors will never find it unless they poke around the site a lot, which was kind of the point. Biggest struggle was some of my motion/animation classes just not applying — styles I expected to show up weren’t rendering. Went back through the Tailwind docs to figure out what was actually going wrong instead of guessing, and got it working from there. AI use: I used OpenCode, but only for UI work — not for the structure, content, or the core logic like the easter egg terminal sequence.", "repo": "https://github.com/Vlex127/0xvince", "demo": "https://vincentiwuno.me"}]...
|
[{"post_id": 50346, "ts": "202 [{"post_id": 50346, "ts": "2026-08-19T15:04:24Z", "hours": 7.8703, "text": "Refactored the codebase after review feedback — real types, shared components, and copy that actually sounds like me Got flagged for overusing AI in the submission, so I went back through the whole thing file by file instead of just tweaking the surface. Turned into a proper refactor pass. What’s in it Fixed the types instead of casting around them — Project and ExperienceItem in lib/data.ts were missing fields ( status , link , impact , highlights ), so every component consuming them was littered with as any . Extended the actual types and removed every cast. Extracted Badge and TerminalWindow — the same colored-badge markup was copy-pasted near-identically across Projects.tsx , Experience.tsx , CTF.tsx , and Contact.tsx , and the terminal-window mock was duplicated in two more places. Pulled both into shared components. Simplified the Brevo integration — lib/brevo.ts had a full HTML “email card” builder with its own design-token constants and a hand-rolled escapeHtml , for an email that only ever lands in my own inbox. Cut it down to what the contact form actually needs. Killed a recurring string hack — color.replace(\"1)\", \"0.2)\") to derive a lighter shade from an rgba string was showing up in three different files. Replaced with actual stored bg values. Rewrote the bio and project/experience copy — the original text in data.ts and About.tsx all had the same over-polished, bolded-keyword rhythm you get from one AI pass. Rewrote it to sound like how I'd actually describe this stuff. Repo cleanup — deleted a pile of unused screenshots in /public and a stale implementation.md that no longer matched the site. Swapped a placeholder hero stat for a real one — now shows my actual HackerDNA rank (#1 in Nigeria) instead of a filler number, and fixed the scroll-behavior build warning while I was in there. Why this fits The flag wasn’t wrong to catch — a lot of this genuinely read as generated: duplicated markup that was never refactored, any -casts instead of fixed types, an over-engineered email builder for a one-off form, and bio copy that hit every AI-bio beat (bolded keywords, tidy aphoristic closers). Going through it properly meant fixing the root causes — bad types, real duplication — not just rewording things. Ended up being a better codebase either way, not just a resubmission."}, {"post_id": 49237, "ts": "2026-08-17T22:13:31Z", "hours": 3.0289, "text": "Rewrote the README to actually tell the story — from “way too extra” to stripped down and fast Went back through and rewrote the whole README instead of just patching the stack table. The old version was still describing the Framer Motion / matrix rain / glitch loader era even after most of that got ripped out — docs had drifted from what the site actually does. What’s in it Origin story section — laid out the actual arc: started with zero Next.js/React experience, went overboard with a full boot loader, matrix rain, glitch text, parallax orbs, 3D-tilt avatar, mouse-tracked glow cards, background video — then got told the UI was too heavy and stripped it all back to plain CSS hover states and server components. Mail server callout — pulled the SMTP/Postfix/Brevo relay work (SPF, DKIM, DMARC) out as its own section since that was the actually hard part of this project, not the frontend. Updated section list — Hero, About, Skills, Experience, Projects, CTF, Blog, Uses, Contact — added the new /uses page and dropped references to features that no longer exist. Stack table cleaned up — removed Framer Motion entirely, added fonts (Inter + JetBrains Mono), content pipeline (blog posts as data via react-markdown), and domain info. Dev setup switched to pnpm — pnpm install / pnpm dev / pnpm check instead of npm, matching the actual workspace config. Real project structure — updated the tree to match current src/app , src/components , src/lib layout instead of the old flat structure. “What I’d do differently” section — added a retro-style note: start simpler, ship the blog earlier, set up pnpm check from day one instead of relying on build to catch mistakes. Why this fits Docs that describe features you already deleted are worse than no docs — anyone landing on the repo (recruiter, hiring manager, another dev) would’ve read about a matrix-rain loader that doesn’t exist anymore. Rewriting it to match reality, and being upfront about the “too extra” phase instead of hiding it, is the same instinct as the frontend rework itself: cut what doesn’t need to be there."}, {"post_id": 48903, "ts": "2026-08-17T13:49:08Z", "hours": 9.1403, "text": "Reworked the frontend performance by stripping out Framer Motion and eliminating heavy UI animations to fix site bloat and maximize loading speed. What’s in it Framer Motion removal: Purged all heavy animation dependencies to drastically reduce JavaScript bundle size and eliminate layout thrashing. CSS-only micro-interactions: Replaced JS-driven animations with lightweight, native CSS transitions that respect user prefers-reduced-motion settings. Zero-JS state handling: Shifted dynamic hover/focus states directly to native CSS pseudo-classes ( :hover , :focus-visible ). Render optimization: Minimized DOM paint bottlenecks and improved Core Web Vitals (LCP and CLS) for near-instant page loads. Why this fits Refactored directly in response to submission feedback ( “your project has heavy UI usage, please rework the frontend and resubmit” ). Stripping unnecessary motion bloat aligns the portfolio with a core cybersecurity principle: prioritizing speed, efficiency, and zero-fluff performance over visual bloat."}, {"post_id": 45000, "ts": "2026-08-11T04:14:12Z", "hours": 6.1703, "text": "Added a custom 404 page styled as a hacker terminal — fitting the cybersecurity theme instead of using a generic “page not found.” What’s in it Fake nmap scan output styled to look like a real terminal session Scans the broken URL path itself ( vincentiwuno.me/??? ) as if probing it Returns a fitting “host unreachable · port closed” error in place of a normal 404 message Exit code echoed back as 404 ( echo $? ) — a small detail that doubles as both a joke and the actual HTTP status Simple “← back to home” link to get users back on track Why this fits Keeps the visitor inside the site’s aesthetic even when they hit a broken link, instead of dropping them into a default framework error page. Small detail, but it’s the kind of thing that reinforces the whole cybersecurity-portfolio identity rather than breaking it."}, {"post_id": 44845, "ts": "2026-08-10T21:32:38Z", "hours": 9.6775, "text": "Wired up email sending with Brevo so contact form submissions land straight in my inbox. Built out the /contact page with a subject dropdown (security consultation, pentesting inquiry, CTF collaboration, job opportunity, etc.) and a message field, backed by Brevo to actually deliver the emails instead of just sitting in a form with nowhere to go. What’s in it Contact form with subject categorization so I can triage messages faster 500-character message limit with live counter Brevo integration to handle delivery reliably instead of rolling my own SMTP Social/contact links section (GitHub, LinkedIn, X, TryHackMe, HackTheBox, HackerDNA, Instagram) alongside the form Problems faced Ran into domain/IP verification issues with Brevo — emails weren’t sending properly until the sending domain was correctly verified. Had to go through and set up the DNS/domain verification properly on Brevo’s side before delivery actually started working. Notes Add basic rate limiting on the form itself to prevent spam/abuse Auto-reply confirmation email on submit"}, {"post_id": 44435, "ts": "2026-08-10T05:54:50Z", "hours": 6.9128, "text": "Added Hacker style Art loading"}, {"post_id": 44291, "ts": "2026-08-09T23:00:21Z", "hours": 1.515, "text": "writing up blogs"}, {"post_id": 44240, "ts": "2026-08-09T21:18:59Z", "hours": 1.1342, "text": "My personal website portfolio"}]...
|
Title: 0XVINCE by @0xvince | Stardance
Devlogs:
M Title: 0XVINCE by @0xvince | Stardance
Devlogs:
My personal website portfolio
writing up blogs
Added Hacker style Art loading
Wired up email sending with Brevo so contact form submissions land straight in my inbox. Built out the /contact page with a subject dropdown (security consultation, pentesting inquiry, CTF collaboration, job opportunity, etc.) and a message field, backed by Brevo to actually deliver the emails instead of just sitting in a form with nowhere to go. What’s in it Contact form with subject categorization so I can triage messages faster 500-character message limit with live counter Brevo integration to handle delivery reliably instead of rolling my own SMTP Social/contact links section (GitHub, LinkedIn, X, TryHackMe, HackTheBox, HackerDNA, Instagram) alongside the form Problems faced Ran into domain/IP verification issues with Brevo — emails weren’t sending properly until the sending domain was correctly verified. Had to go through and set up the DNS/domain verification properly on Brevo’s side before delivery actually started working. Notes Add basic rate limiting on the form itself to prevent spam/abuse Auto-reply confirmation email on submit
Added a custom 404 page styled as a hacker terminal — fitting the cybersecurity theme instead of using a generic “page not found.” What’s in it Fake nmap scan output styled to look like a real terminal session Scans the broken URL path itself ( vincentiwuno.me/??? ) as if probing it Returns a fitting “host unreachable · port closed” error in place of a normal 404 message Exit code echoed back as 404 ( echo $? ) — a small detail that doubles as both a joke and the actual HTTP status Simple “← back to home” link to get users back on track Why this fits Keeps the visitor inside the site’s aesthetic even when they hit a broken link, instead of dropping them into a default framework error page. Small detail, but it’s the kind of thing that reinforces the whole cybersecurity-portfolio identity rather than breaking it.
Reworked the frontend performance by stripping out Framer Motion and eliminating heavy UI animations to fix site bloat and maximize loading speed. What’s in it Framer Motion removal: Purged all heavy animation dependencies to drastically reduce JavaScript bundle size and eliminate layout thrashing. CSS-only micro-interactions: Replaced JS-driven animations with lightweight, native CSS transitions that respect user prefers-reduced-motion settings. Zero-JS state handling: Shifted dynamic hover/focus states directly to native CSS pseudo-classes ( :hover , :focus-visible ). Render optimization: Minimized DOM paint bottlenecks and improved Core Web Vitals (LCP and CLS) for near-instant page loads. Why this fits Refactored directly in response to submission feedback ( “your project has heavy UI usage, please rework the frontend and resubmit” ). Stripping unnecessary motion bloat aligns the portfolio with a core cybersecurity principle: prioritizing speed, efficiency, and zero-fluff performance over visual bloat.
Rewrote the README to actually tell the story — from “way too extra” to stripped down and fast Went back through and rewrote the whole README instead of just patching the stack table. The old version was still describing the Framer Motion / matrix rain / glitch loader era even after most of that got ripped out — docs had drifted from what the site actually does. What’s in it Origin story section — laid out the actual arc: started with zero Next.js/React experience, went overboard with a full boot loader, matrix rain, glitch text, parallax orbs, 3D-tilt avatar, mouse-tracked glow cards, background video — then got told the UI was too heavy and stripped it all back to plain CSS hover states and server components. Mail server callout — pulled the SMTP/Postfix/Brevo relay work (SPF, DKIM, DMARC) out as its own section since that was the actually hard part of this project, not the frontend. Updated section list — Hero, About, Skills, Experience, Projects, CTF, Blog, Uses, Contact — added the new /uses page and dropped references to features that no longer exist. Stack table cleaned up — removed Framer Motion entirely, added fonts (Inter + JetBrains Mono), content pipeline (blog posts as data via react-markdown), and domain info. Dev setup switched to pnpm — pnpm install / pnpm dev / pnpm check instead of npm, matching the actual workspace config. Real project structure — updated the tree to match current src/app , src/components , src/lib layout instead of the old flat structure. “What I’d do differently” section — added a retro-style note: start simpler, ship the blog earlier, set up pnpm check from day one instead of relying on build to catch mistakes. Why this fits Docs that describe features you already deleted are worse than no docs — anyone landing on the repo (recruiter, hiring manager, another dev) would’ve read about a matrix-rain loader that doesn’t exist anymore. Rewriting it to match reality, and being upfront about the “too extra” phase instead of hiding it, is the same instinct as the frontend rework itself: cut what doesn’t need to be there.
Refactored the codebase after review feedback — real types, shared components, and copy that actually sounds like me Got flagged for overusing AI in the submission, so I went back through the whole thing file by file instead of just tweaking the surface. Turned into a proper refactor pass. What’s in it Fixed the types instead of casting around them — Project and ExperienceItem in lib/data.ts were missing fields ( status , link , impact , highlights ), so every component consuming them was littered with as any . Extended the actual types and removed every cast. Extracted Badge and TerminalWindow — the same colored-badge markup was copy-pasted near-identically across Projects.tsx , Experience.tsx , CTF.tsx , and Contact.tsx , and the terminal-window mock was duplicated in two more places. Pulled both into shared components. Simplified the Brevo integration — lib/brevo.ts had a full HTML “email card” builder with its own design-token constants and a hand-rolled escapeHtml , for an email that only ever lands in my own inbox. Cut it down to what the contact form actually needs. Killed a recurring string hack — color.replace("1)", "0.2)") to derive a lighter shade from an rgba string was showing up in three different files. Replaced with actual stored bg values. Rewrote the bio and project/experience copy — the original text in data.ts and About.tsx all had the same over-polished, bolded-keyword rhythm you get from one AI pass. Rewrote it to sound like how I'd actually describe this stuff. Repo cleanup — deleted a pile of unused screenshots in /public and a stale implementation.md that no longer matched the site. Swapped a placeholder hero stat for a real one — now shows my actual HackerDNA rank (#1 in Nigeria) instead of a filler number, and fixed the scroll-behavior build warning while I was in there. Why this fits The flag wasn’t wrong to catch — a lot of this genuinely read as generated: duplicated markup that was never refactored, any -casts instead of fixed types, an over-engineered email builder for a one-off form, and bio copy that hit every AI-bio beat (bolded keywords, tidy aphoristic closers). Going through it properly meant fixing the root causes — bad types, real duplication — not just rewording things. Ended up being a better codebase either way, not just a resubmission.
Ships:
Cybersecurity Portfolio Built my personal site around 8 sections — Hero, About , Skills, Experience, Projects, CTF, Blog, and Contact — to double as both a portfolio and a place to show off some of the CTF/security work I do. The feature I had the most fun with was hiding a Konami-code easter egg in the site. Triggering it and it opens a fake terminal that runs through a little “authentication” sequence before landing on a hidden message: $ sudo unlock easter-egg –user=visitor authenticating… ✓ access granted you found the hidden terminal. not many people get here. you’ve got good taste — and patience. feel free to reach out anytime. — 0xVince It’s basically a mini CTF built into my own portfolio — most visitors will never find it unless they poke around the site a lot, which was kind of the point. Biggest struggle was some of my motion/animation classes just not applying — styles I expected to show up weren’t rendering. Went back through the Tailwind docs to figure out what was actually going wrong instead of guessing, and got it working from there. AI use: I used OpenCode, but only for UI work — not for the structure, content, or the core logic like the easter egg terminal sequence....
|
1793119689.8110585
|
1793206089.8110585
|
|
3667
|
Project Thorax by @aayanalikhan09 | Stardance
|
aayanalikhan09
|
0
|
45.59
|
0
|
[]
|
[{"post_id": 65151, "ts": "202 [{"post_id": 65151, "ts": "2026-09-10T02:51:26Z", "hours": 2.0836, "text": "tvs diodes are the bane of my existence(right now) these things are so annoying i swear i have to add them everywhere apparently to protect my pcb from esd which i supposed is a good thing but its so annoying and its another component i have to add which is taking away time from when my project can be reviewed… anyhow here is my updated schematic for those that care :D thats all of the stuff ive done! please leave a heart, follow, and comment if you are interested in this stuff bc it helps me and you out! you find out more about my project and i get more traffic and potentially funding :) p.s. HOW DID I ROLL A ZERO AND THEN A PLUS FOURRRR"}, {"post_id": 64592, "ts": "2026-09-09T03:09:43Z", "hours": 1.9175, "text": "OMG MY SCHEMATIC IT LOOKS SO GOOD"}, {"post_id": 63371, "ts": "2026-09-07T04:52:55Z", "hours": 3.5008, "text": "so. many. things. another late night devlog! so the two big things we have are the removal of yet another component, and switching out our power source! i removed the voltage regulator as this pcb is mostly just for detection and not actual movement - that will be much later way after i get the testing and data down to a science because i no longer needed the humongous amount of power, i can now switch my power source to usb-c! it will be much more efficient and less complicated - only complaint is now i need to figure out voltage regulator i need bc usb-c gives out 5v by default other changes/news: i swapped the direction of the indicator led because thats how it works apparently with voltage drains or something i added some boot pin jumpers since you can never be too safe with what pins should and shouldnt be plugged in! i asked people on the kicad server to review my stuff(they are SO kind and helpful) and they gave me quite a few tips: clean up my schematic(tbh this is long overdue that thing is a MESS ) so that they can actually understand stuff - one dude added a video on all the common practices for schematics so ill be looking at that they also said to add netlabels so its much cleaner(i saw how they look and its GORGEOUS) add ESD protection - very important so i dont damage my components(they mentioned something about TVS diodes which i need to look into) buy some good books! i’ve been looking into the like college level textbook material for learning electricity and its fundamentals at its core using my library materials, but the kicad people recommended some other texts and said they may be available online for free! also btw i got a shirt from zach latta himself! super awesome day for me :) thats all of the stuff ive done in the past few days! please leave a heart, follow, and comment if you are interested in this stuff bc it helps me and you out! you find out more about my project and i get more traffic and potentially funding :)"}, {"post_id": 52755, "ts": "2026-08-23T03:02:35Z", "hours": 3.9367, "text": "Lots more to be told! first off - i think i broke my streak merely bc i FORGOT TO PUBLISH THE LAPSEE NOOOOOO i finished the i2c wiring which is good! i have the spectral sensor, the bluetooth chip and the voltage regulator(it had two sets of i2c ports!) all hooked up to my mcu’s i2c bus i also added the clocks for both the bluetooth and the mcu! i am currently trying to figure out what on earth BOOT pins do on the esp32 because once i figure that out im done with it!(technically i could add a jtag but those things are EXPENSIVE OMG ) thats all for today tho! please leave a heart, follow, and comment if you are interested in this stuff bc it helps me and you out! you find out more about my project and i get more traffic and potentially funding :)"}, {"post_id": 48650, "ts": "2026-08-17T04:01:55Z", "hours": 3.8906, "text": "Late night devlog :) another BIG change is in order! today we figured out the bluetooth low energy chips(BLE chips or as i like to say bleh chips) are LOW energy for a reason - they cant do constant data reporting and also cant transmit that much data solution? switch to good ol’ esp32! never did me wrong :D (to be fair tho i never used it so it never had the chance ) real talk tho its WAY easier to understand due to actually good documentation and many references and blogs and youtube videos about it also learned a good bit about crystal oscillators - they are essentially physical clocks to know the time or timing for a certain action ex. the rate at which to take photos or to send bluetooth signals overall pretty important stuff but this bluetooth will take another 6 hours i anticipate at the very least thats all for today tho! please leave a heart, follow, and comment if you are interested in this stuff bc it helps me and you out! you find out more about my project and i get more traffic and potentially funding :)"}, {"post_id": 47788, "ts": "2026-08-15T23:22:48Z", "hours": 5.9358, "text": "big update! soooo many changes to tell you about! all in ONE devlog :) so big news - we finished half of the peripherals! a quick summary of what happened and some details of each change DOWNGRADED from usb-c 3.1 to 2.0 so basically 3.1 is useless for anything less than some kind of special data format that needs to be transferred ex. video, audio, 3d mesh, etc. so 2.0 is MORE than enough :) (totally not because i was getting a headache from figuring out where to put the 3.1 pins on my mcu and decided to just say 2.0 is enough ) ADDED 16mb flash serial memory i realized that while an sd card is GREAT for lots of data sending and backup storage and allat, it is INCREDIBLY slow and this is why we need the pcb equivalent of RAM for our detector software(pls dont rob me for my ram ) ADDED indicator LED for usb-c port figured this might be useful and also pretty :D current task - bluetooth i CANNOT figure out this bluetooth chip it has so many pins its so scary ahhh im going to be spending quite a few hours figuring this one out also btw YES i did make my own format im so sorry its so bad 😭 edit - this is my best performing devlog! thank you guys so much for all your help and support :)"}, {"post_id": 42384, "ts": "2026-08-07T02:23:59Z", "hours": 3.0678, "text": "yo i finished sd card wiring guys!!! what component next???(i was thinking usb-c) took a LOT of cross reference to adafruit stuff and some online research, but i finally did sd card wiring lmk if theres anything amiss that you see :)"}, {"post_id": 41743, "ts": "2026-08-06T04:05:20Z", "hours": 3.5886, "text": "finished power wiring! also found out that Altium(an industry standard pcb software!) offers free student accounts to people in school! after i finish this project, i may make it again in altium!"}, {"post_id": 38660, "ts": "2026-08-01T05:13:30Z", "hours": 5.2008, "text": "Woah! too many hours logged and not enough devlogs lol so the past two days ive been trying to decrypt all these random documents that talk about how to wire different things and what pins do what however, after looking through all of these, I’ve come to the conclusion that 1. I still have a LOT to learn 😭and 2. i should prolly take the components 1 by 1 i started trying to wire up the usb-c(which i replaced with the kicad generic one ooh so fancy looking!), but ran into a problem while looking for the capacitors some reference documents say they use in the second image i have, you can see in all 5 pixels what the image says(seriously though if anyone knows what it says lmk) so right now im on the hunt for the correct capacitors for the project also thought i should share that the hackpad stardust prize is RIDICUOUSLY low - ONE stardust are we serious???"}, {"post_id": 36774, "ts": "2026-07-29T01:21:15Z", "hours": 4.7061, "text": "lots of stuff going on! very happy to say i did a lot of work recently :D so first off i made a new banner for my project lmk if u like him :) ive been doing some research on different components im gonna need and also attempting to itemize my stuff so it s easier to visualize - i gotta say looking to be more expensive than i thought today i mostly looked at step-down voltage converters(essentially make sure that electricity doesnt flow at a rate too high for electronics) and bluetooth chips that are low energy(nordic semiconductor is looking very promising!) only problems i currently have is first FINDING THIS BLUETOOTH CHIP FOOTPRINT AND SYMBOL I CANT FIND IT ANYWHERE AND I DONT WANT TO HAVE TO SPEND HOURS JUST MAKING IT IN KICAD and second just understanding wiring and what different pins actually do also thought i should share that im chrome tab maxxing rn https://docs.google.com/document/d/1EHGDPYE_L2ZDA2Ll7cWK8OQcedOOThalmhql7GgHQ5M/edit?usp=sharing ^^parts doc also thought i should say that ive seen an uptick in ai devlogs so i wanted to take a moment to ask all of you to write your own devlogs please it adds a lot more character :)"}, {"post_id": 25041, "ts": "2026-07-08T23:59:04Z", "hours": 0.3667, "text": "first off - Documentation is INSANE bro these devs are not paid enough anyways i just wanted to post an update of the schematic rq and also wanted to share i rerolled a +0 BRO HOW DOES THIS HAPPEN"}, {"post_id": 23133, "ts": "2026-07-05T22:04:22Z", "hours": 5.5239, "text": "Digikey and Mouser Struggles For much of this stage of attempting to find the parts I need, I ran into many problems with the parts vendors and their bot detection and sign in methods they were spotchy at best and i ended up having to switch sites twice just to get the files needed - and im not even sure if i have the right files yet lol"}, {"post_id": 10045, "ts": "2026-06-16T16:45:16Z", "hours": 1.5461, "text": "Component Choice and Scale Issues Today, I was trying to get all my components into the schematic so I can start to do the math for all the voltages and other components needed and stuff like that. Easy right? Wrong. Finding the components was the easiest part(although there was a mixup with the battery pack where certain details weren’t listed so I had to message the seller). The hard part for today was figuring how to set a scale in the schematic. Obviously this is very important so I can set a size for my battery pack, but I couldn’t find anything anywhere for my software of choice. I am considering switching to KiCAD(after all, I just need to add a few components), but I’ll have to see what can be done about the scale stuff. If I can figure that out, the next step will be to add the other components necessary for function."}, {"post_id": 9473, "ts": "2026-06-15T20:36:08Z", "hours": 0.3256, "text": "This is my first ever devlog! Quite exciting :D anyways this is supposed to just be some git testing to make sure my repo is setup to be public and receive commits, im still not too sure how to do this with PCBs but ill figure it out"}]...
|
Title: Project Thorax by @aayanalikhan09 | Stardan Title: Project Thorax by @aayanalikhan09 | Stardance
Devlogs:
This is my first ever devlog! Quite exciting :D anyways this is supposed to just be some git testing to make sure my repo is setup to be public and receive commits, im still not too sure how to do this with PCBs but ill figure it out
Component Choice and Scale Issues Today, I was trying to get all my components into the schematic so I can start to do the math for all the voltages and other components needed and stuff like that. Easy right? Wrong. Finding the components was the easiest part(although there was a mixup with the battery pack where certain details weren’t listed so I had to message the seller). The hard part for today was figuring how to set a scale in the schematic. Obviously this is very important so I can set a size for my battery pack, but I couldn’t find anything anywhere for my software of choice. I am considering switching to KiCAD(after all, I just need to add a few components), but I’ll have to see what can be done about the scale stuff. If I can figure that out, the next step will be to add the other components necessary for function.
Digikey and Mouser Struggles For much of this stage of attempting to find the parts I need, I ran into many problems with the parts vendors and their bot detection and sign in methods they were spotchy at best and i ended up having to switch sites twice just to get the files needed - and im not even sure if i have the right files yet lol
first off - Documentation is INSANE bro these devs are not paid enough anyways i just wanted to post an update of the schematic rq and also wanted to share i rerolled a +0 BRO HOW DOES THIS HAPPEN
lots of stuff going on! very happy to say i did a lot of work recently :D so first off i made a new banner for my project lmk if u like him :) ive been doing some research on different components im gonna need and also attempting to itemize my stuff so it s easier to visualize - i gotta say looking to be more expensive than i thought today i mostly looked at step-down voltage converters(essentially make sure that electricity doesnt flow at a rate too high for electronics) and bluetooth chips that are low energy(nordic semiconductor is looking very promising!) only problems i currently have is first FINDING THIS BLUETOOTH CHIP FOOTPRINT AND SYMBOL I CANT FIND IT ANYWHERE AND I DONT WANT TO HAVE TO SPEND HOURS JUST MAKING IT IN KICAD and second just understanding wiring and what different pins actually do also thought i should share that im chrome tab maxxing rn https://docs.google.com/document/d/1EHGDPYE_L2ZDA2Ll7cWK8OQcedOOThalmhql7GgHQ5M/edit?usp=sharing ^^parts doc also thought i should say that ive seen an uptick in ai devlogs so i wanted to take a moment to ask all of you to write your own devlogs please it adds a lot more character :)
Woah! too many hours logged and not enough devlogs lol so the past two days ive been trying to decrypt all these random documents that talk about how to wire different things and what pins do what however, after looking through all of these, I’ve come to the conclusion that 1. I still have a LOT to learn 😭and 2. i should prolly take the components 1 by 1 i started trying to wire up the usb-c(which i replaced with the kicad generic one ooh so fancy looking!), but ran into a problem while looking for the capacitors some reference documents say they use in the second image i have, you can see in all 5 pixels what the image says(seriously though if anyone knows what it says lmk) so right now im on the hunt for the correct capacitors for the project also thought i should share that the hackpad stardust prize is RIDICUOUSLY low - ONE stardust are we serious???
finished power wiring! also found out that Altium(an industry standard pcb software!) offers free student accounts to people in school! after i finish this project, i may make it again in altium!
yo i finished sd card wiring guys!!! what component next???(i was thinking usb-c) took a LOT of cross reference to adafruit stuff and some online research, but i finally did sd card wiring lmk if theres anything amiss that you see :)
big update! soooo many changes to tell you about! all in ONE devlog :) so big news - we finished half of the peripherals! a quick summary of what happened and some details of each change DOWNGRADED from usb-c 3.1 to 2.0 so basically 3.1 is useless for anything less than some kind of special data format that needs to be transferred ex. video, audio, 3d mesh, etc. so 2.0 is MORE than enough :) (totally not because i was getting a headache from figuring out where to put the 3.1 pins on my mcu and decided to just say 2.0 is enough ) ADDED 16mb flash serial memory i realized that while an sd card is GREAT for lots of data sending and backup storage and allat, it is INCREDIBLY slow and this is why we need the pcb equivalent of RAM for our detector software(pls dont rob me for my ram ) ADDED indicator LED for usb-c port figured this might be useful and also pretty :D current task - bluetooth i CANNOT figure out this bluetooth chip it has so many pins its so scary ahhh im going to be spending quite a few hours figuring this one out also btw YES i did make my own format im so sorry its so bad 😭 edit - this is my best performing devlog! thank you guys so much for all your help and support :)
Late night devlog :) another BIG change is in order! today we figured out the bluetooth low energy chips(BLE chips or as i like to say bleh chips) are LOW energy for a reason - they cant do constant data reporting and also cant transmit that much data solution? switch to good ol’ esp32! never did me wrong :D (to be fair tho i never used it so it never had the chance ) real talk tho its WAY easier to understand due to actually good documentation and many references and blogs and youtube videos about it also learned a good bit about crystal oscillators - they are essentially physical clocks to know the time or timing for a certain action ex. the rate at which to take photos or to send bluetooth signals overall pretty important stuff but this bluetooth will take another 6 hours i anticipate at the very least thats all for today tho! please leave a heart, follow, and comment if you are interested in this stuff bc it helps me and you out! you find out more about my project and i get more traffic and potentially funding :)
Lots more to be told! first off - i think i broke my streak merely bc i FORGOT TO PUBLISH THE LAPSEE NOOOOOO i finished the i2c wiring which is good! i have the spectral sensor, the bluetooth chip and the voltage regulator(it had two sets of i2c ports!) all hooked up to my mcu’s i2c bus i also added the clocks for both the bluetooth and the mcu! i am currently trying to figure out what on earth BOOT pins do on the esp32 because once i figure that out im done with it!(technically i could add a jtag but those things are EXPENSIVE OMG ) thats all for today tho! please leave a heart, follow, and comment if you are interested in this stuff bc it helps me and you out! you find out more about my project and i get more traffic and potentially funding :)
so. many. things. another late night devlog! so the two big things we have are the removal of yet another component, and switching out our power source! i removed the voltage regulator as this pcb is mostly just for detection and not actual movement - that will be much later way after i get the testing and data down to a science because i no longer needed the humongous amount of power, i can now switch my power source to usb-c! it will be much more efficient and less complicated - only complaint is now i need to figure out voltage regulator i need bc usb-c gives out 5v by default other changes/news: i swapped the direction of the indicator led because thats how it works apparently with voltage drains or something i added some boot pin jumpers since you can never be too safe with what pins should and shouldnt be plugged in! i asked people on the kicad server to review my stuff(they are SO kind and helpful) and they gave me quite a few tips: clean up my schematic(tbh this is long overdue that thing is a MESS ) so that they can actually understand stuff - one dude added a video on all the common practices for schematics so ill be looking at that they also said to add netlabels so its much cleaner(i saw how they look and its GORGEOUS) add ESD protection - very important so i dont damage my components(they mentioned something about TVS diodes which i need to look into) buy some good books! i’ve been looking into the like college level textbook material for learning electricity and its fundamentals at its core using my library materials, but the kicad people recommended some other texts and said they may be available online for free! also btw i got a shirt from zach latta himself! super awesome day for me :) thats all of the stuff ive done in the past few days! please leave a heart, follow, and comment if you are interested in this stuff bc it helps me and you out! you find out more about my project and i get more traffic and potentially funding :)
OMG MY SCHEMATIC IT LOOKS SO GOOD
tvs diodes are the bane of my existence(right now) these things are so annoying i swear i have to add them everywhere apparently to protect my pcb from esd which i supposed is a good thing but its so annoying and its another component i have to add which is taking away time from when my project can be reviewed… anyhow here is my updated schematic for those that care :D thats all of the stuff ive done! please leave a heart, follow, and comment if you are interested in this stuff bc it helps me and you out! you find out more about my project and i get more traffic and potentially funding :) p.s. HOW DID I ROLL A ZERO AND THEN A PLUS FOURRRR...
|
1793159409.257527
|
1793764209.257527
|
|
26016
|
STEM Racing by @isaaa | Stardance
|
isaaa
|
0
|
45.58
|
0
|
[]
|
[{"post_id": 21103, "ts": "202 [{"post_id": 21103, "ts": "2026-07-02T21:55:52Z", "hours": 4.5144, "text": "i’ve been working on a idea of a rolling resistance rig too extract data from mmy wheels, im sorry i dont know what to write, ill promise i will do a good devlog some day"}, {"post_id": 20308, "ts": "2026-07-01T21:30:01Z", "hours": 0.7669, "text": "Same as alwways, right now im doing a deed research on the coanda effect and how it owrks, its really amusing and its helping me for some of the desing ideas I have."}, {"post_id": 19312, "ts": "2026-06-30T16:11:06Z", "hours": 7.5836, "text": "well I have been pretty much just improving everything and yeah, i’ve spoken to one of my mentors and he has just told me many things i could improve, he has also explained many important parts I should take in consideration, and yeahhhh"}, {"post_id": 17510, "ts": "2026-06-28T10:09:08Z", "hours": 12.0336, "text": "I was watching the 24h of SPA while working JAJJAAJ, which made it all a bit better, ive been pretty much just breaking my head trying to figure out hot to work with Open FOAM, its even worse than what I thought, like its just nasty, and it dosent work, like I CAN’T place my airflow simulation. I will text a guy from germany that I know he knows how t work with this program, and yeah, cheers!"}, {"post_id": 17095, "ts": "2026-06-27T19:12:50Z", "hours": 1.1336, "text": "Well now i have been installing open FOAM, this is a pain, but yeah, i have to stop my time and all because i have to restart my computer, but yeah, if you have the oportunity to work with OpenFOAM, then don’t, its way to hard to install, (not really but it could be easier)"}, {"post_id": 17033, "ts": "2026-06-27T17:21:47Z", "hours": 1.5169, "text": "Right now I am trying to install OpenFOAM in my computer in order for me to do correct CFD Analisis wjich will help me get numerical data extracted, so yeah, I am also doing some rear wing designs, and im pretty much just looking for the perfect NACA Airfoil that matches all my requirements, im also looking at an open source by evolut1on, in which im getting some data and relevant facts that will be helping me"}, {"post_id": 16565, "ts": "2026-06-26T22:52:01Z", "hours": 3.2169, "text": "I don’t really know how people write so damn much on the devlogs, lowkey I have just been doing the same and modifiyng litle aspects that didn’t feel quite right, I always try to support each of my decisions and justify them correctly, not just doing things because I want to, and I think its a fundamental part of my project. I don’t really know what to add on the pictures, I would love to drop all my work, but I am still competing and I woudn’t really want my competition seeing all, though I don’t think anyone from spain here is participating, if you guys got a question or something, feel free to ask, im more than happy to help or solve doubts, cheers."}, {"post_id": 16429, "ts": "2026-06-26T18:46:37Z", "hours": 2.6003, "text": "Now ive been pretty much been just working on the same, ive added some new concepts and have been doing my research to have all my actions supported by engineering acctual data and just nonesense"}, {"post_id": 16180, "ts": "2026-06-26T09:08:27Z", "hours": 10.9667, "text": "So now pretty much what i have done has been investigation and adding all those concepts in my car"}, {"post_id": 15946, "ts": "2026-06-25T22:09:12Z", "hours": 0.7003, "text": "Hiiiiii, so, in the last post I didn’t really explain, im isa from Cybernova, a team participating in STEM Racing spain, and im the engineer, my work mainly consists in developing a car by CAD using Fusion 360, and yeahhhh, right now im pretty much just wondering arround with some models taking in consideration things I have learned, im also simultaneously filling a suplementary document for my final porfolios and all, im also doing sketches and speaking with my mentor to improve some aspects.This is the car I did the other day, the project consists in doing a mini f1 car and racing it on a 20m car, they are super fast"}, {"post_id": 15923, "ts": "2026-06-25T21:25:46Z", "hours": 0.55, "text": "My car parameters"}]...
|
Title: STEM Racing by @isaaa | Stardance
Devlogs: Title: STEM Racing by @isaaa | Stardance
Devlogs:
My car parameters
Hiiiiii, so, in the last post I didn’t really explain, im isa from Cybernova, a team participating in STEM Racing spain, and im the engineer, my work mainly consists in developing a car by CAD using Fusion 360, and yeahhhh, right now im pretty much just wondering arround with some models taking in consideration things I have learned, im also simultaneously filling a suplementary document for my final porfolios and all, im also doing sketches and speaking with my mentor to improve some aspects.This is the car I did the other day, the project consists in doing a mini f1 car and racing it on a 20m car, they are super fast
So now pretty much what i have done has been investigation and adding all those concepts in my car
Now ive been pretty much been just working on the same, ive added some new concepts and have been doing my research to have all my actions supported by engineering acctual data and just nonesense
I don’t really know how people write so damn much on the devlogs, lowkey I have just been doing the same and modifiyng litle aspects that didn’t feel quite right, I always try to support each of my decisions and justify them correctly, not just doing things because I want to, and I think its a fundamental part of my project. I don’t really know what to add on the pictures, I would love to drop all my work, but I am still competing and I woudn’t really want my competition seeing all, though I don’t think anyone from spain here is participating, if you guys got a question or something, feel free to ask, im more than happy to help or solve doubts, cheers.
Right now I am trying to install OpenFOAM in my computer in order for me to do correct CFD Analisis wjich will help me get numerical data extracted, so yeah, I am also doing some rear wing designs, and im pretty much just looking for the perfect NACA Airfoil that matches all my requirements, im also looking at an open source by evolut1on, in which im getting some data and relevant facts that will be helping me
Well now i have been installing open FOAM, this is a pain, but yeah, i have to stop my time and all because i have to restart my computer, but yeah, if you have the oportunity to work with OpenFOAM, then don’t, its way to hard to install, (not really but it could be easier)
I was watching the 24h of SPA while working JAJJAAJ, which made it all a bit better, ive been pretty much just breaking my head trying to figure out hot to work with Open FOAM, its even worse than what I thought, like its just nasty, and it dosent work, like I CAN’T place my airflow simulation. I will text a guy from germany that I know he knows how t work with this program, and yeah, cheers!
well I have been pretty much just improving everything and yeah, i’ve spoken to one of my mentors and he has just told me many things i could improve, he has also explained many important parts I should take in consideration, and yeahhhh
Same as alwways, right now im doing a deed research on the coanda effect and how it owrks, its really amusing and its helping me for some of the desing ideas I have.
i’ve been working on a idea of a rolling resistance rig too extract data from mmy wheels, im sorry i dont know what to write, ill promise i will do a good devlog some day...
|
1792792497.3568685
|
1793397297.3568685
|
|
60999
|
"Boom" Protector by @Fiskerz | Stardance
|
Fiskerz
|
1
|
45.56
|
740
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T23:21:57Z", "hours": 41.0, "multiplier": 18.02, "payout": 740, "blessing": "neutral", "text": "What is this? This is a tower defense game made in unity. It’s got quite a twist to it- it literaly evolves around you as you progress. Some of the features: 3 unique towers that shoot at enemies passing by in order, all in their own unique style 5 different worlds , that evolve with your play, just as enemies in each one do Tower upgrades An entire balance system with a shop to buy the upgrades A slot tower placement system that allows you to place the towers on any of the spots to your liking! A whole lore to the game All hand-painted assets , nothing here was ai generated! And so so much more! you can see the entire list in the readme file What was challenging? Well, this wasn’t my first game I’ve ever made (it’s the third..), but I really struggled with some things: The placement system . I’ve never made anything even similar to this system, so I had mostly no clue on how to make it. Once I got the hang of it, everything was fine, but it took me some real time to do it without bugs. The web version . I truly don’t get why this trivial thing was such a trouble, I had this terrible issue where no cutscenes would play in the web build, which stripped the game of a lot of it’s feel and lore. I seriously considered giving up many times as I just couldn’t fix it. But hey, I ended up solving it and now it works! Of course this entire project wouldn’t be possible without my friend @FishyDrawer , as she was the one behind all of the textures, so huge shoutout! What am I proud of? Not giving up in the tough times. It was really tempting to skip some things when they felt too difficult or overwhelming, but I ended up biting through each one and making it to the finish line. How can I try this? It’s quite simple really - just press the “Try project” button and press play on itch.io. If you can I reccomend to download the game, as the web version is not confirmed to be issue-less, but it worked fine in my case! I really hope you’ll enjoy playing and thanks for reading!", "repo": "https://github.com/Catmaster543/Evolution-game", "demo": "https://cat-master543.itch.io/boom-protector"}]...
|
[{"post_id": 71913, "ts": "202 [{"post_id": 71913, "ts": "2026-09-21T19:17:50Z", "hours": 4.5586, "text": "Planned out new features, added custom font and added dialog box guide! Alright, before I write this devlog I’ve got some things to say first- Huge and I mean HUGE thanks to all the people that rated this project, not just for the overall amazing results, but moreover the incredible constructive feedback I received! The feedback I received was truly amazing, as people didn’t complain about some feature not being to their liking as it often happens, but instead with each issue a solution, or some sort of idea! Genuine thanks to the people who rated this! . To pay ya’ll back somehow I took my time and read through each and every single review in detail and wrote down all of the complaints and ideas. Also.. real thank you to the staff for marking this as a super star project, it truly made my day! Now… onto this devlog, yay! Read through all of the reviews, marked them down and did some thinking and planning. I dedicated almost an entire hour to make sure I won’t miss any ideas and pondered a bit about how could I possibly implement them to keep the game feel similar. Added custom font . This is something I’ve been reccomended for quite a while and totally got it, so now a custom font is in use, made once again by my dear friend @FishyDrawer , soo shoutout! Added a click guide/indicator in dialog box . I did not really thought of this ever before, but it kinda makes sense- from the reviews it was a little confusing for first time players to realize they should click on the dialog box to progress. So now after you don’t click for a longer time a small text telling you to click appears, pretty neat I think! Fixed the balance visuals in the first two levels. This is a complaint I got quite often and it was a bug, not an intended feature. But hey, now it shall be fixed Began work on upgrades . This probably took up the majority of this logged time, as it’s not really a joke to rewrite the old system to this new one. But hopefully I’ll be able to add this next time! Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it today."}, {"post_id": 70329, "ts": "2026-09-18T23:21:14Z", "hours": 1.4536, "text": "Finally fixed the web version + ship preparations! Devlog #11 for “Boom” protector I am really glad for finally fixing this bug, that caused cutscenes to not work on the web version of the game. It was a real headscratcher to deal with to say the very least, but hey it works now :) I also prepared the project for shipping and next post shall be a ship, so see yall there! Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it today."}, {"post_id": 70265, "ts": "2026-09-18T20:45:37Z", "hours": 5.7008, "text": "Added all of the sound design and polishing! Devlog #10 for “Boom” Protector As you can see there is quite a bit of time logged on this one and it’s all because of one thing- but I’ll get to it later. Anyways here are some of the changes: Added the entire sound design . Just when I thought that I could go ahead and begin finishing and polishing the game up I realized an awful thing - I still haven’t solved the sound at all . So now there’s: Bg/passive music in-game Tree shooting sound Tree placed sound Projectile hitting sound Shop clicking sound Added the quit button . Yeah very impressive, I know. I just felt like mentioning it, that’s the whole reason it’s here. Translated some stuff , as some things were in czech. Added visual clue of insufficient balance . Before you just had to guess what the numbers in shop meant, now if you lack the balance to purchase a tower, it will flash red. Many, many, many bugfixes . This was one of the main focus as of here and here are some that I fixed: Issues with different screen sizes . Whenever you were to use anything else than the 1080p the game was designed for, the entirety of the ui would fall apart. Now that’s fixed. Removed debug enemies . As far as I’ve said this like 10 times already, this time they are actually gone. The bg audio not playing . Despite the fact I added sound in this update, it was already broken. And last: Uploaded the game to a new itch page and published normal + web version . Anyways that’s all for this time I think, I’m pretty tired.. Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it out one day."}, {"post_id": 69708, "ts": "2026-09-17T16:52:30Z", "hours": 4.3833, "text": "Added the end screen, improved the game tutorial and many bugfixes Devlog #9 for “Boom” protector Aight, since the last time I’ve made some pretty damn decently big changes, so let me go through them one by one: Added the end screen , a short cutscene with another dialog box and a choice (in the future maybe) to enter the endless mode Improved the tutorial - the interactive tutorial I’ve made last time is something I truly like, as it makes the game feel way less like a mess. Due to that I added a second part to this tutorial that tells you about the shop and how it works. Bugfixes Fade screen not covering the whole screen . A tiny stripe of whatever was underneath could be seen during the fading. This bug has been a real nerve for my eyes to look at, so I’ve decided to finally fix it. “Upgrading” towers over their max level . For whatever reason you could upgrade towers that were already at their maximum level, which would do exactly one thing: take it off your balance. No actual upgrade was done. So now this is finally patched. Skipping dialog before the game loads . I am quite unhappy with the system behind the splash screen, which is why it took me so long to patch this, but now you finally can’t skip the intro dialogue by accidentaly clicking during the splash screen. Enemies spawning before second tutorial is complete . Pretty self explanatory I think. Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it out one day."}, {"post_id": 69063, "ts": "2026-09-16T09:49:18Z", "hours": 4.0606, "text": "Added the loading screen, pot unlocking, proper tutorial and so much more! Devlog #8 for “Boom” protector I’ll cut the slack this time and get straight to what I’ve added, as it is quite a bit! Loading (= Updating) screen in between worlds. This finally shows the player what is going on and makes the game feel way smoother and more polished. Proper tutorial - up until now you got a few very simple lines of text and good luck figuring out the rest. Now I’ve made it that the game actually teaches you a little bit before letting you play Pot unlocking - this has been something I’ve been a bit lazy to add, but now it’s finally in. Meaning that now trees unlock with levels you gain. Due to this some wave and enemies rebalancing will have to be done, but.. it’s fine. (still beatable, but way harder) Miniature trees to the shop pots - all pots in the shop now have their own little tree in them to make them easily distinguishible and look nicer Fixed many bugs such as shop prices increasing incorrectly And that’s about it I think, be sure to follow if you find this project cool."}, {"post_id": 68608, "ts": "2026-09-15T12:06:04Z", "hours": 2.5308, "text": "Patched a whole lot of bugs Devlog #7 for “Boom” protector Since last time’s release a completely insane and game breaking bugs, thus I spent this time patching as much of them as I could. The main two most important bugs I patched were: New tower spots would never disappear and you could click on the spots, which would decrease your balance while not placing anything down, cause there was a tree already. So now they behave correctly - they no longer show up when they shouldn’t. Null’s speech problem - In the last version if you clicked before null finished speaking, he would start speaking in a language unknown even to us developers. Now he just speaks normally."}, {"post_id": 67986, "ts": "2026-09-14T10:05:03Z", "hours": 4.1336, "text": "Added in the guide to show new players around, the main menu and intro, as well as many bugfixes Devlog #6 for “Boom” Protector Since last time a lot has changed - I added quite some UI to the game, which includes Main menu, the intro and the gameover screen . Outside the UI I also patched out a lots and lots of various bugs . Also an ambient music track to play in the bg to shift up the mood quite a bit. To top it all off, many waves of enemies have been added, making the game prototype near complete. And to celebrate the game has been uploaded to itch.io . In order to match these new changes I’ve updated the projects information. If you find this game just a little curious be sure to follow!"}, {"post_id": 67232, "ts": "2026-09-13T09:13:01Z", "hours": 5.6844, "text": "Added tower upgrades and began working on main menu! Devlog #5 for Evolution game So this time I finally added the tree/towers upgrades, which took a hellish time to implement, but it works now, hey? Outside that I also added all of the worlds for the game, so now they’re complete. I also added a small settable cooldown between worlds, so it does not feel so instant and sudden. Many enemies have been added as well. And I also added all of the three trees and their stages . To top it all off I also added range for towers , just forgot to log these changes, so they’re now all in this one big chunk together."}, {"post_id": 66839, "ts": "2026-09-12T19:13:13Z", "hours": 2.4753, "text": "Added purchaseable trees in the shop + the tower placement system and more! Devlog #4 for Evolution game Since last time I added added working shop items , the entire tower placement system , auto price writing to the label and also a few bugfixes. Outside that not much added really, but this was a real head-scratcher to deal with, as I’ve never made anything like this."}, {"post_id": 66645, "ts": "2026-09-12T14:34:20Z", "hours": 3.7775, "text": "Added the first test shop UI, second world, the transitioner for it and so much more! Devlog #3 for Evolution game It’s been another while, thus it’s time to report. As of this time I added in first and basic test shop UI that gets shown at the right time and can be updated through scripts quite easily. Enemies now also despawn when they reach the end , as well as the projectiles to prevent lag over time. Along these I made some several smaller changes, but these are not all that important to mention here."}, {"post_id": 66449, "ts": "2026-09-12T09:02:27Z", "hours": 2.0083, "text": "Added first tower with projectiles, player hp and first real map Devlog #2 for Evolution game Since last time quite some changes have been made, such as adding the first test tower with working aim and projectiles that actually damage the enemies and will pick the “first” enemy. I also added Hp to the player and enemies now actually damage you if you let them pass . That’s about it for this devlog, maybe cya another time."}, {"post_id": 66215, "ts": "2026-09-11T21:57:11Z", "hours": 4.8561, "text": "Set up the project, added test enemies, added test map, added simple wave system and so much more! Devlog #1 for Evolution game Alrighty, this is a new project, so I had to spend quite a bit of time setting basic things, such as dependencies and required plugins up. Outside that I also made the github repo for the project, as well as set it up here on stardance . In this time I also managed to make the test enemy , test map with working spline and a pretty simple, yet working wave system** with a very intuitive unity ui to make the waves (which work) and things like spawning a certain amount of enemies nice and easy. I think that is about it for this one, be sure to stick around by following if you find this interesting and maybe cya sometime."}]...
|
Title: "Boom" Protector by @Fiskerz | Star Title: "Boom" Protector by @Fiskerz | Stardance
Devlogs:
Set up the project, added test enemies, added test map, added simple wave system and so much more! Devlog #1 for Evolution game Alrighty, this is a new project, so I had to spend quite a bit of time setting basic things, such as dependencies and required plugins up. Outside that I also made the github repo for the project, as well as set it up here on stardance . In this time I also managed to make the test enemy , test map with working spline and a pretty simple, yet working wave system** with a very intuitive unity ui to make the waves (which work) and things like spawning a certain amount of enemies nice and easy. I think that is about it for this one, be sure to stick around by following if you find this interesting and maybe cya sometime.
Added first tower with projectiles, player hp and first real map Devlog #2 for Evolution game Since last time quite some changes have been made, such as adding the first test tower with working aim and projectiles that actually damage the enemies and will pick the “first” enemy. I also added Hp to the player and enemies now actually damage you if you let them pass . That’s about it for this devlog, maybe cya another time.
Added the first test shop UI, second world, the transitioner for it and so much more! Devlog #3 for Evolution game It’s been another while, thus it’s time to report. As of this time I added in first and basic test shop UI that gets shown at the right time and can be updated through scripts quite easily. Enemies now also despawn when they reach the end , as well as the projectiles to prevent lag over time. Along these I made some several smaller changes, but these are not all that important to mention here.
Added purchaseable trees in the shop + the tower placement system and more! Devlog #4 for Evolution game Since last time I added added working shop items , the entire tower placement system , auto price writing to the label and also a few bugfixes. Outside that not much added really, but this was a real head-scratcher to deal with, as I’ve never made anything like this.
Added tower upgrades and began working on main menu! Devlog #5 for Evolution game So this time I finally added the tree/towers upgrades, which took a hellish time to implement, but it works now, hey? Outside that I also added all of the worlds for the game, so now they’re complete. I also added a small settable cooldown between worlds, so it does not feel so instant and sudden. Many enemies have been added as well. And I also added all of the three trees and their stages . To top it all off I also added range for towers , just forgot to log these changes, so they’re now all in this one big chunk together.
Added in the guide to show new players around, the main menu and intro, as well as many bugfixes Devlog #6 for “Boom” Protector Since last time a lot has changed - I added quite some UI to the game, which includes Main menu, the intro and the gameover screen . Outside the UI I also patched out a lots and lots of various bugs . Also an ambient music track to play in the bg to shift up the mood quite a bit. To top it all off, many waves of enemies have been added, making the game prototype near complete. And to celebrate the game has been uploaded to itch.io . In order to match these new changes I’ve updated the projects information. If you find this game just a little curious be sure to follow!
Patched a whole lot of bugs Devlog #7 for “Boom” protector Since last time’s release a completely insane and game breaking bugs, thus I spent this time patching as much of them as I could. The main two most important bugs I patched were: New tower spots would never disappear and you could click on the spots, which would decrease your balance while not placing anything down, cause there was a tree already. So now they behave correctly - they no longer show up when they shouldn’t. Null’s speech problem - In the last version if you clicked before null finished speaking, he would start speaking in a language unknown even to us developers. Now he just speaks normally.
Added the loading screen, pot unlocking, proper tutorial and so much more! Devlog #8 for “Boom” protector I’ll cut the slack this time and get straight to what I’ve added, as it is quite a bit! Loading (= Updating) screen in between worlds. This finally shows the player what is going on and makes the game feel way smoother and more polished. Proper tutorial - up until now you got a few very simple lines of text and good luck figuring out the rest. Now I’ve made it that the game actually teaches you a little bit before letting you play Pot unlocking - this has been something I’ve been a bit lazy to add, but now it’s finally in. Meaning that now trees unlock with levels you gain. Due to this some wave and enemies rebalancing will have to be done, but.. it’s fine. (still beatable, but way harder) Miniature trees to the shop pots - all pots in the shop now have their own little tree in them to make them easily distinguishible and look nicer Fixed many bugs such as shop prices increasing incorrectly And that’s about it I think, be sure to follow if you find this project cool.
Added the end screen, improved the game tutorial and many bugfixes Devlog #9 for “Boom” protector Aight, since the last time I’ve made some pretty damn decently big changes, so let me go through them one by one: Added the end screen , a short cutscene with another dialog box and a choice (in the future maybe) to enter the endless mode Improved the tutorial - the interactive tutorial I’ve made last time is something I truly like, as it makes the game feel way less like a mess. Due to that I added a second part to this tutorial that tells you about the shop and how it works. Bugfixes Fade screen not covering the whole screen . A tiny stripe of whatever was underneath could be seen during the fading. This bug has been a real nerve for my eyes to look at, so I’ve decided to finally fix it. “Upgrading” towers over their max level . For whatever reason you could upgrade towers that were already at their maximum level, which would do exactly one thing: take it off your balance. No actual upgrade was done. So now this is finally patched. Skipping dialog before the game loads . I am quite unhappy with the system behind the splash screen, which is why it took me so long to patch this, but now you finally can’t skip the intro dialogue by accidentaly clicking during the splash screen. Enemies spawning before second tutorial is complete . Pretty self explanatory I think. Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it out one day.
Added all of the sound design and polishing! Devlog #10 for “Boom” Protector As you can see there is quite a bit of time logged on this one and it’s all because of one thing- but I’ll get to it later. Anyways here are some of the changes: Added the entire sound design . Just when I thought that I could go ahead and begin finishing and polishing the game up I realized an awful thing - I still haven’t solved the sound at all . So now there’s: Bg/passive music in-game Tree shooting sound Tree placed sound Projectile hitting sound Shop clicking sound Added the quit button . Yeah very impressive, I know. I just felt like mentioning it, that’s the whole reason it’s here. Translated some stuff , as some things were in czech. Added visual clue of insufficient balance . Before you just had to guess what the numbers in shop meant, now if you lack the balance to purchase a tower, it will flash red. Many, many, many bugfixes . This was one of the main focus as of here and here are some that I fixed: Issues with different screen sizes . Whenever you were to use anything else than the 1080p the game was designed for, the entirety of the ui would fall apart. Now that’s fixed. Removed debug enemies . As far as I’ve said this like 10 times already, this time they are actually gone. The bg audio not playing . Despite the fact I added sound in this update, it was already broken. And last: Uploaded the game to a new itch page and published normal + web version . Anyways that’s all for this time I think, I’m pretty tired.. Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it out one day.
Finally fixed the web version + ship preparations! Devlog #11 for “Boom” protector I am really glad for finally fixing this bug, that caused cutscenes to not work on the web version of the game. It was a real headscratcher to deal with to say the very least, but hey it works now :) I also prepared the project for shipping and next post shall be a ship, so see yall there! Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it today.
Planned out new features, added custom font and added dialog box guide! Alright, before I write this devlog I’ve got some things to say first- Huge and I mean HUGE thanks to all the people that rated this project, not just for the overall amazing results, but moreover the incredible constructive feedback I received! The feedback I received was truly amazing, as people didn’t complain about some feature not being to their liking as it often happens, but instead with each issue a solution, or some sort of idea! Genuine thanks to the people who rated this! . To pay ya’ll back somehow I took my time and read through each and every single review in detail and wrote down all of the complaints and ideas. Also.. real thank you to the staff for marking this as a super star project, it truly made my day! Now… onto this devlog, yay! Read through all of the reviews, marked them down and did some thinking and planning. I dedicated almost an entire hour to make sure I won’t miss any ideas and pondered a bit about how could I possibly implement them to keep the game feel similar. Added custom font . This is something I’ve been reccomended for quite a while and totally got it, so now a custom font is in use, made once again by my dear friend @FishyDrawer , soo shoutout! Added a click guide/indicator in dialog box . I did not really thought of this ever before, but it kinda makes sense- from the reviews it was a little confusing for first time players to realize they should click on the dialog box to progress. So now after you don’t click for a longer time a small text telling you to click appears, pretty neat I think! Fixed the balance visuals in the first two levels. This is a complaint I got quite often and it was a bug, not an intended feature. But hey, now it shall be fixed Began work on upgrades . This probably took up the majority of this logged time, as it’s not really a joke to rewrite the old system to this new one. But hopefully I’ll be able to add this next time! Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it today.
Ships:
What is this? This is a tower defense game made in unity. It’s got quite a twist to it- it literaly evolves around you as you progress. Some of the features: 3 unique towers that shoot at enemies passing by in order, all in their own unique style 5 different worlds , that evolve with your play, just as enemies in each one do Tower upgrades An entire balance system with a shop to buy the upgrades A slot tower placement system that allows you to place the towers on any of the spots to your liking! A whole lore to the game All hand-painted assets , nothing here was ai generated! And so so much more! you can see the entire list in the readme file What was challenging? Well, this wasn’t my first game I’ve ever made (it’s the third..), but I really struggled with some things: The placement system . I’ve never made anything even similar to this system, so I had mostly no clue on how to make it. Once I got the hang of it, everything was fine, but it took me some real time to do it without bugs. The web version . I truly don’t get why this trivial thing was such a trouble, I had this terrible issue where no cutscenes would play in the web build, which stripped the game of a lot of it’s feel and lore. I seriously considered giving up many times as I just couldn’t fix it. But hey, I ended up solving it and now it works! Of course this entire project wouldn’t be possible without my friend @FishyDrawer , as she was the one behind all of the textures, so huge shoutout! What am I proud of? Not giving up in the tough times. It was really tempting to skip some things when they felt too difficult or overwhelming, but I ended up biting through each one and making it to the finish line. How can I try this? It’s quite simple really - just press the “Try project” button and press play on itch.io. If you can I reccomend to download the game, as the web version is not confirmed to be issue-less, but it worked fine in my case! I really hope you’ll enjoy playing and thanks for reading!...
|
1793206608.6876535
|
1793293008.6876535
|
|
48643
|
Habit completion predictor by @zico | Stardance
|
zico
|
1
|
45.55
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-16T20:26:42Z", "hours": 40.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just wrapped up the development of the prediction model although i’m yet to implement an auto retraining of model based on users data because i have little data to actually analyse which model would be the best which still leaves the model at the default one trained with synthetic data. Your data are been kept tho and would be trained on when the feature is active and your logs is up to the min requirement", "repo": "https://github.com/young1dev/habit-coach", "demo": "https://habit-coach-beige.vercel.app"}]...
|
[{"post_id": 82510, "ts": "202 [{"post_id": 82510, "ts": "2026-10-25T02:53:39Z", "hours": 4.1175, "text": "Revamped the UI and restructured the app shell. The UI might not be as good as expected tho. I also edited my READMe to make it more detailed on the actual project position and what works vs what doesn’t work. I also edited the prompt been sent to the AI for the summary of the logged habit"}, {"post_id": 82338, "ts": "2026-10-24T16:29:24Z", "hours": 1.4339, "text": "Sorry i haven’t been actively posting a devlog. I’m currently working on the UI of the project as it got sent back after been reviewed. While testing the application, i found out some core issues like login in taking more time to verify and SQLAlchemy reusing closed database session pool. I’ve debugged and optimize the logging time as best as i can, although the main blocker is my server (Render) which puts the server to sleep after a while and wakes back up when a request is been sent to it which also influences the server response time but not necessarily the main cause as bcrypt password verification also takes more computational resources and database connection. For the 2nd bug fix i made sure that before any query gets through, it runs a pool_pre_ping to verify if it’s still active, else it would replace the stale database connection with a new one"}, {"post_id": 77294, "ts": "2026-10-06T13:50:41Z", "hours": 3.8983, "text": "I just fixed a server failure for the backend due to duplicate db table. It’s up and running to use now. I’ll be improving feature engineering for the underlyin ML Model after i’ve gathered enough real data. Feel free to check out the project and suggest any changes 😊"}, {"post_id": 48504, "ts": "2026-08-16T21:35:26Z", "hours": 36.3628, "text": "Successfully trained the model with an accuracy of 99% (PSS: That’s because i used synthetic dataset and it wasn’t realistic enough). What i’ve done so far: Feature Engineering: Mapped out features that could be useful in predicting an habit completion and filtered out noise features Created a synthetic dataset for the ML training using Logistic Regression and Decision Tree (Both seemed to work well tho). I tested the ML model with the training dataset and did a mini visual evaluation on the model accuracy and features dependency."}]...
|
Title: Habit completion predictor by @zico | Stard Title: Habit completion predictor by @zico | Stardance
Devlogs:
Successfully trained the model with an accuracy of 99% (PSS: That’s because i used synthetic dataset and it wasn’t realistic enough). What i’ve done so far: Feature Engineering: Mapped out features that could be useful in predicting an habit completion and filtered out noise features Created a synthetic dataset for the ML training using Logistic Regression and Decision Tree (Both seemed to work well tho). I tested the ML model with the training dataset and did a mini visual evaluation on the model accuracy and features dependency.
I just fixed a server failure for the backend due to duplicate db table. It’s up and running to use now. I’ll be improving feature engineering for the underlyin ML Model after i’ve gathered enough real data. Feel free to check out the project and suggest any changes 😊
Sorry i haven’t been actively posting a devlog. I’m currently working on the UI of the project as it got sent back after been reviewed. While testing the application, i found out some core issues like login in taking more time to verify and SQLAlchemy reusing closed database session pool. I’ve debugged and optimize the logging time as best as i can, although the main blocker is my server (Render) which puts the server to sleep after a while and wakes back up when a request is been sent to it which also influences the server response time but not necessarily the main cause as bcrypt password verification also takes more computational resources and database connection. For the 2nd bug fix i made sure that before any query gets through, it runs a pool_pre_ping to verify if it’s still active, else it would replace the stale database connection with a new one
Revamped the UI and restructured the app shell. The UI might not be as good as expected tho. I also edited my READMe to make it more detailed on the actual project position and what works vs what doesn’t work. I also edited the prompt been sent to the AI for the summary of the logged habit
Ships:
I just wrapped up the development of the prediction model although i’m yet to implement an auto retraining of model based on users data because i have little data to actually analyse which model would be the best which still leaves the model at the default one trained with synthetic data. Your data are been kept tho and would be trained on when the feature is active and your logs is up to the min requirement...
|
1793155994.7716618
|
1793242394.7716618
|
|
2205
|
600W by @flyingfish | Stardance
|
flyingfish
|
0
|
45.53
|
0
|
[]
|
[{"post_id": 15431, "ts": "202 [{"post_id": 15431, "ts": "2026-06-25T02:22:20Z", "hours": 7.66, "text": "so my atx power supply broke on me i bought a replacement its just not here yet i am going to tack a small break on this to work on somthing else"}, {"post_id": 14147, "ts": "2026-06-23T04:02:03Z", "hours": 4.8181, "text": "i tried to make a boost converter for like 5 hours and it just didn’t work at all my guess is that it was do to the inductor. anyway i decided i will do that latter so i started working on sorting wires(fun) and while doing that i got ideas usb: so i learned this has a +5VSB and by found out i mean i actually read thought the data sheet like 30 hours in to this project and i want to add a usb port on it so i can power Arduinos my fume extractor and other things -12V: i original wrote this off because i hade a +12 but it turns out it is fun. and if it is there why not add another output it wont have a current sensor because it can only output up to 0.3A so why even bother case: i am going to have to make a new case because the current one cant fit everything so i am going to do that tomorrow and this should also allow for me to move where the rotory encoder it becouse before i put it in a bad spot becouse i didnt have space boost: i might switch the boost converter to the 12v rail idk yet just though i would menchin it"}, {"post_id": 13464, "ts": "2026-06-22T01:28:37Z", "hours": 8.8781, "text": "i took a break to work on other projects while the parts i ordered arive but he is what i got working display: i got the display showing things after a lot of tutorials but i figured it out the funny sensor: once again i needed a lot of tutorials but i got it to kind of work but is was slightly off i think i just need to tune the sensor its just really finicky"}, {"post_id": 7317, "ts": "2026-06-12T06:06:45Z", "hours": 4.4472, "text": "so i have once again redesigned everything AC: i wanted to add an ac output. why you may ask idk its funny. anyways i add an inverter after the boost converter and another output and to read the voltage of the ac output i added a ZMPT101B and i plan on making a sorta oscilloscope to the ac output cause it cool Display: i switch to a bigger spi oled because it can be controlled by digital pins and i need the analog pins to read the new outputs"}, {"post_id": 4682, "ts": "2026-06-08T02:43:05Z", "hours": 10.4278, "text": "i forgot to post for a while. i made a lot of changes to the case because i printed out the old case and there is no way i could fit that much circuitry in that case: i made the case bigger to allow for a bigger face plate to fit more circuits and stuff and i added a small pocket in the back to store wires display: i switch to using an OLED I2C display because i kind of didn’t under stand that an lcd could not display enough info schematic: i just remade it because it was hard to loo at the old one"}, {"post_id": 1563, "ts": "2026-06-03T17:39:09Z", "hours": 9.2961, "text": "i have an old pc power supply and i want to make it into a bench power supply so i can have a bench power supply that can do high current the plan is to make it have 4 out puts: 12v 5v 3.3V 3.3v and a boost converter to boost to really high voltage input: it will be controlled by a rotary encoder because it has all the inputs i need for this in one component display: it will use an lcd display because i already have one. i want to display current draw voltage and wattage brain: i am going to use a nano becouse i have a few of them and it is small so it should fit in this small thing outputs: i am going to output with banana jacks so i can easily plug stuff in to it and i am going to add leds so you know what out put you are monitoring case: it is a frame that goes around the cornors of the power supply while keeping it open to alow air flow then the face hold the power supply in with screws"}]...
|
Title: 600W by @flyingfish | Stardance
Devlogs:
i Title: 600W by @flyingfish | Stardance
Devlogs:
i have an old pc power supply and i want to make it into a bench power supply so i can have a bench power supply that can do high current the plan is to make it have 4 out puts: 12v 5v 3.3V 3.3v and a boost converter to boost to really high voltage input: it will be controlled by a rotary encoder because it has all the inputs i need for this in one component display: it will use an lcd display because i already have one. i want to display current draw voltage and wattage brain: i am going to use a nano becouse i have a few of them and it is small so it should fit in this small thing outputs: i am going to output with banana jacks so i can easily plug stuff in to it and i am going to add leds so you know what out put you are monitoring case: it is a frame that goes around the cornors of the power supply while keeping it open to alow air flow then the face hold the power supply in with screws
i forgot to post for a while. i made a lot of changes to the case because i printed out the old case and there is no way i could fit that much circuitry in that case: i made the case bigger to allow for a bigger face plate to fit more circuits and stuff and i added a small pocket in the back to store wires display: i switch to using an OLED I2C display because i kind of didn’t under stand that an lcd could not display enough info schematic: i just remade it because it was hard to loo at the old one
so i have once again redesigned everything AC: i wanted to add an ac output. why you may ask idk its funny. anyways i add an inverter after the boost converter and another output and to read the voltage of the ac output i added a ZMPT101B and i plan on making a sorta oscilloscope to the ac output cause it cool Display: i switch to a bigger spi oled because it can be controlled by digital pins and i need the analog pins to read the new outputs
i took a break to work on other projects while the parts i ordered arive but he is what i got working display: i got the display showing things after a lot of tutorials but i figured it out the funny sensor: once again i needed a lot of tutorials but i got it to kind of work but is was slightly off i think i just need to tune the sensor its just really finicky
i tried to make a boost converter for like 5 hours and it just didn’t work at all my guess is that it was do to the inductor. anyway i decided i will do that latter so i started working on sorting wires(fun) and while doing that i got ideas usb: so i learned this has a +5VSB and by found out i mean i actually read thought the data sheet like 30 hours in to this project and i want to add a usb port on it so i can power Arduinos my fume extractor and other things -12V: i original wrote this off because i hade a +12 but it turns out it is fun. and if it is there why not add another output it wont have a current sensor because it can only output up to 0.3A so why even bother case: i am going to have to make a new case because the current one cant fit everything so i am going to do that tomorrow and this should also allow for me to move where the rotory encoder it becouse before i put it in a bad spot becouse i didnt have space boost: i might switch the boost converter to the 12v rail idk yet just though i would menchin it
so my atx power supply broke on me i bought a replacement its just not here yet i am going to tack a small break on this to work on somthing else...
|
1792677239.8178005
|
1793282039.8178005
|
|
46859
|
picker placerblob:https://stardance.hackclub.com/5 picker placerblob:https://stardance.hackclub.com/5afedd5a-b2ca-4254-bf11-ed8fe1ffd07c by @caesarm | Stardance...
|
caesarm
|
0
|
45.49
|
0
|
[]
|
[{"post_id": 82225, "ts": "202 [{"post_id": 82225, "ts": "2026-10-24T10:12:30Z", "hours": 9.8669, "text": "What’s new (v3.2?) This round was mostly optimization and electronics. I went back through the design and optimized it, then got most of the electronics into the CAD: the ESP32, the power side, and the E-stop. Electronics The power path is USB-C → PD trigger at 20V → buck down to 12V for the servo rail, with a separate little buck branching off before the E-stop to give the ESP32 its 5V. The E-stop is a latching mushroom button with two NC contacts, one cuts the servo rail, the other tells the ESP32 it got hit. Since it’s normally closed, a broken wire fails safe instead of leaving the arm live. Reality check (again..) The electronics aren’t perfect yet. A lot of the CAD models I pulled for the boards and components aren’t accurate, wrong dimensions, missing mounting holes, simplified shapes, so I already know I’ll have to redo some of the mounts and pockets once the real parts show up. At this point, I was expecting this lol. For now, everything’s placed close enough to plan around, and I’ll measure the real stuff and fix the models when hardware lands. Next up I’m planning to.. … Build! Swap out the inaccurate models once I have the parts in hand (and measure them myself if I have to) Keep chipping away at the tool-head standard and the 1:1/direct drive question, which are still waiting on hardware.. until next time."}, {"post_id": 69645, "ts": "2026-09-17T14:09:33Z", "hours": 9.9503, "text": "Hey v3. This round was all about getting the design closer to the final product, mainly the robot base and the swivel base assembly. A lot more is actually in the CAD now: screws, heat-set inserts, bushings, bearings, and servos. I also designed the parts that mount the main arm assembly to the swivel deck, and fixed a handful of my own design setbacks and assembly issues that only showed up once real hardware was in the model. The base, fully detailed From top to bottom, the stack is: the rotating deck with the mounts for the arm the top cover with the pocket for the J1 servo a hub plate the thrust roller bearing the deep groove ball bearing the 2:1 herringbone gear the housing, with a 608 bearing at the bottom for the gear shaft Every screw that goes into plastic lands in a brass heat-set insert instead of printed threads. PETG/ PLA threads strip after a few cycles, and this guy will probably get taken apart a lot during build prototyping, not to mention strength concerns. Modeling the actual screws also forced me to check head clearance, screw lengths, and whether an allen key or t-handle can even reach them once everything’s stacked. It was boring but worth it. The swivel deck is now the real interface between the base and the arm. The two J2 servos will sit on either side of the deck, and every arm pivot gets a bronze bushing as a cheap, replaceable wear surface. The pins and bushings carry the linkage loads, so the servos only have to supply torque instead of holding the arm up by their splines. I thought of direct driving just now, but it’s currently just a thought. Some setbacks: The coupling with the curved support linkage. After realizing some ROM by messing around a lot with the assembly, realized the front counterweight option I planned for had to go. To add, I moved the mounting towards the inside of the base instead of on the outside, which should give me some more movement liberty in the long term. The actual shape of the robot base. I rounded it out and focused on symmetry so I would have an easier time assembling. Converting to a circular shape and not just the simplest form also opened the gate for more equalized load bearing. Reality check !! I don’t have any of the hardware yet, so everything is designed off online CAD models. From experience, that’ll set me back once the real parts show up.. nothing is ever perfect without real references. Downloaded models are usually nominal or simplified. Heat-set insert hole sizes change by brand. Bearing fits depend on the printer. Some more boring stuff to do with tolerances and measurements So I’m trying to keep the critical interfaces easy to tweak, and once everything arrives I’ll print small fit tests before committing to full parts. Next up I’m planning to.. Give the arms the same treatment: pins, bushings, spacers, fasteners, the works; making it super functional.. and look super wicked. Double-check shoulder screw lengths against the bushing stacks. Update the BOM with the real fastener and insert counts. The tool-head standard and the 1:1/direct drive question are still on the list too, but those have to wait for hardware.. gabagoo."}, {"post_id": 60091, "ts": "2026-09-02T07:30:52Z", "hours": 12.4397, "text": "This is v2. What’s new I designed the full base assembly: outer shell, swivel bearing interface, and rotating deck. The waist joint (J1) driven by a 2:1 herringbone gear reduction off a STS3215. After research, I chose to use these motors with a 345:1 @12V on each, up to four motors total: one for the yaw, 2 powering the shoulder linkage (J2), and another for an eventual 4th DOF (J4) on the toolhead. This tiny motor already has a built in 12-bit encoder, which eliminates the need for an additional electronic part, aka additional point of failure. Nailed down the project’s actual design goal (see below — this matters more than it sounds) Started thinking seriously about tool-head modularity for the business end of the arm The base / waist joint I decided on herringbone gears since they self-cancels axial thrust; a straight spur or single-helical gear at this scale wants to walk sideways under load, herringbone doesn’t (that much). Plus, I’m 3D printing it, so machining manufacturing isn’t a concern (yet). I also use a deep groove ball bearing on the outside for smooth rotation and a thrust roller bearing on top to reduce my axial loads. Initially, I was planning to use opposing tapered roller bearing, but this approach is cheaper (and lighter..). For the 2:1 ratio, my main motivator was to get the least strain (and heat) on the only tiny motor carrying the weight of the entire robot (excluding payload). Using torque calculations, I realized that the 2:1 might be unnecessary and slow, so I already envision converting to a 1:1 or direct drive mechanism after seeing the arm in action. In the next iteration, I’ll tackle the modularity of the bearing base to be able to use an assortment of different sized bearings and sprockets, making it easier for anybody wanting to give the build a shot. My only concern is that this joint could be a silent generator of slop, which can hopefully be mitigated by the servo encoder. While most hobby arm projects chase 6 DOF because that’s what “real” robots have, I’m deliberately not doing that. It’s kind of overdone/ overrated, but it still amazingly effective. This robot has a different purpose. The actual goal: a cheap, consistently precise 3-DOF arm waist, shoulder, elbow, amazing to use by itself but increasingly more capable with added attachments/ accessories.. a bit like an Ender 3..lol. That’s the basis of the palletizing topology this guy was inspired by in the first place; those robots don’t need a wrist full of DOF to do useful, precise, and repeatable work, and one robot can be adjusted/ modified to perform a plethora of tasks. Precision, repeatability, and real world practicality is the actual metric I’m chasing, not DOF count. In my eyes, I don’t want to build this guy and be done with him, I want to get and learn the most of the robot, especially since he’ll be mostly plastic. For modularity, the tool end is the extensibility point Instead of building DOF into the arm, the plan is to build capability into swappable tool heads at the end effector. Same 3-DOF base arm, different job depending on what’s connected on. Next up I’m planning to.. Streamline the tool-head mounting standard design (connection pattern + electrical/pneumatic passthrough). Print the base and validate the herringbone mesh + swivel fit in (preferably in) PETG Get all 3 servos on the bus talking together and do a first coordinated move. There’s also some more stuff, but I can’t fit it all here lol.. until next time."}, {"post_id": 56206, "ts": "2026-08-27T21:08:46Z", "hours": 13.2308, "text": "This is v1 of the overall robot arm build, which is a 3 DOF antagonistic drive pick and placer, inspired by factory palletizing robots. It’s the first physical version of a linkage-driven arm I’ve been working on in SolidWorks. I already got a few issues with this version, just from looking at it on screen, but I’m going to 3D print it to see how it actually behaves in the real world before making changes. Design Approach I used existing automation robot references for primitive geometry; referenced from Fanuc, KUKA, and Panasonic industrial/palletizing robots. These companies have decades of field-proven arm geometry behind them, so rather than guessing at joint offsets and link ratios from scratch, I used their designs as a sanity check for what actually works in practice. I’m already researching their electronic work using different control options like CANBUS and EtherCAT to implement (at least one version) into this robot. For the largest (by volume) components (anything with organic-looking cutouts or holes) I ran SolidWorks’ topology optimization instead of hand-sketching lightening patterns. To make sure my studies were actually improving my design instead of making it worse, I cross referenced different parts across the industry (excavators, cranes, and other heavy equipment, since an excavator is what inspired me to create this robot) and used my knowledge in steel mechanics to see if a part would hold from a glance. I designed with FDM 3D printing’s strengths and weaknesses specifically in mind rather than just printing “machined part” geometry and expecting it not to break. At the same time, I kept track of which components are candidates to eventually remake in aluminum once the design is proven out, so the plastic-specific DFM choices don’t paint me into a corner for a metal version down the line. What’s Next Print V1 and put it through real motion /hand-stress testing to confirm (or rule out) the issues I’m already suspecting. Then, I’ll revise the design based on what breaks, binds, or flexes more than it should have. After, I’ll start on the electronics side, although I’m going in with limited parts on hand, so that’ll be its own challenge."}]...
|
Title: picker placerblob:https://stardance.hackclu Title: picker placerblob:https://stardance.hackclub.com/5afedd5a-b2ca-4254-bf11-ed8fe1ffd07c by @caesarm | Stardance
Devlogs:
This is v1 of the overall robot arm build, which is a 3 DOF antagonistic drive pick and placer, inspired by factory palletizing robots. It’s the first physical version of a linkage-driven arm I’ve been working on in SolidWorks. I already got a few issues with this version, just from looking at it on screen, but I’m going to 3D print it to see how it actually behaves in the real world before making changes. Design Approach I used existing automation robot references for primitive geometry; referenced from Fanuc, KUKA, and Panasonic industrial/palletizing robots. These companies have decades of field-proven arm geometry behind them, so rather than guessing at joint offsets and link ratios from scratch, I used their designs as a sanity check for what actually works in practice. I’m already researching their electronic work using different control options like CANBUS and EtherCAT to implement (at least one version) into this robot. For the largest (by volume) components (anything with organic-looking cutouts or holes) I ran SolidWorks’ topology optimization instead of hand-sketching lightening patterns. To make sure my studies were actually improving my design instead of making it worse, I cross referenced different parts across the industry (excavators, cranes, and other heavy equipment, since an excavator is what inspired me to create this robot) and used my knowledge in steel mechanics to see if a part would hold from a glance. I designed with FDM 3D printing’s strengths and weaknesses specifically in mind rather than just printing “machined part” geometry and expecting it not to break. At the same time, I kept track of which components are candidates to eventually remake in aluminum once the design is proven out, so the plastic-specific DFM choices don’t paint me into a corner for a metal version down the line. What’s Next Print V1 and put it through real motion /hand-stress testing to confirm (or rule out) the issues I’m already suspecting. Then, I’ll revise the design based on what breaks, binds, or flexes more than it should have. After, I’ll start on the electronics side, although I’m going in with limited parts on hand, so that’ll be its own challenge.
This is v2. What’s new I designed the full base assembly: outer shell, swivel bearing interface, and rotating deck. The waist joint (J1) driven by a 2:1 herringbone gear reduction off a STS3215. After research, I chose to use these motors with a 345:1 @12V on each, up to four motors total: one for the yaw, 2 powering the shoulder linkage (J2), and another for an eventual 4th DOF (J4) on the toolhead. This tiny motor already has a built in 12-bit encoder, which eliminates the need for an additional electronic part, aka additional point of failure. Nailed down the project’s actual design goal (see below — this matters more than it sounds) Started thinking seriously about tool-head modularity for the business end of the arm The base / waist joint I decided on herringbone gears since they self-cancels axial thrust; a straight spur or single-helical gear at this scale wants to walk sideways under load, herringbone doesn’t (that much). Plus, I’m 3D printing it, so machining manufacturing isn’t a concern (yet). I also use a deep groove ball bearing on the outside for smooth rotation and a thrust roller bearing on top to reduce my axial loads. Initially, I was planning to use opposing tapered roller bearing, but this approach is cheaper (and lighter..). For the 2:1 ratio, my main motivator was to get the least strain (and heat) on the only tiny motor carrying the weight of the entire robot (excluding payload). Using torque calculations, I realized that the 2:1 might be unnecessary and slow, so I already envision converting to a 1:1 or direct drive mechanism after seeing the arm in action. In the next iteration, I’ll tackle the modularity of the bearing base to be able to use an assortment of different sized bearings and sprockets, making it easier for anybody wanting to give the build a shot. My only concern is that this joint could be a silent generator of slop, which can hopefully be mitigated by the servo encoder. While most hobby arm projects chase 6 DOF because that’s what “real” robots have, I’m deliberately not doing that. It’s kind of overdone/ overrated, but it still amazingly effective. This robot has a different purpose. The actual goal: a cheap, consistently precise 3-DOF arm waist, shoulder, elbow, amazing to use by itself but increasingly more capable with added attachments/ accessories.. a bit like an Ender 3..lol. That’s the basis of the palletizing topology this guy was inspired by in the first place; those robots don’t need a wrist full of DOF to do useful, precise, and repeatable work, and one robot can be adjusted/ modified to perform a plethora of tasks. Precision, repeatability, and real world practicality is the actual metric I’m chasing, not DOF count. In my eyes, I don’t want to build this guy and be done with him, I want to get and learn the most of the robot, especially since he’ll be mostly plastic. For modularity, the tool end is the extensibility point Instead of building DOF into the arm, the plan is to build capability into swappable tool heads at the end effector. Same 3-DOF base arm, different job depending on what’s connected on. Next up I’m planning to.. Streamline the tool-head mounting standard design (connection pattern + electrical/pneumatic passthrough). Print the base and validate the herringbone mesh + swivel fit in (preferably in) PETG Get all 3 servos on the bus talking together and do a first coordinated move. There’s also some more stuff, but I can’t fit it all here lol.. until next time.
Hey v3. This round was all about getting the design closer to the final product, mainly the robot base and the swivel base assembly. A lot more is actually in the CAD now: screws, heat-set inserts, bushings, bearings, and servos. I also designed the parts that mount the main arm assembly to the swivel deck, and fixed a handful of my own design setbacks and assembly issues that only showed up once real hardware was in the model. The base, fully detailed From top to bottom, the stack is: the rotating deck with the mounts for the arm the top cover with the pocket for the J1 servo a hub plate the thrust roller bearing the deep groove ball bearing the 2:1 herringbone gear the housing, with a 608 bearing at the bottom for the gear shaft Every screw that goes into plastic lands in a brass heat-set insert instead of printed threads. PETG/ PLA threads strip after a few cycles, and this guy will probably get taken apart a lot during build prototyping, not to mention strength concerns. Modeling the actual screws also forced me to check head clearance, screw lengths, and whether an allen key or t-handle can even reach them once everything’s stacked. It was boring but worth it. The swivel deck is now the real interface between the base and the arm. The two J2 servos will sit on either side of the deck, and every arm pivot gets a bronze bushing as a cheap, replaceable wear surface. The pins and bushings carry the linkage loads, so the servos only have to supply torque instead of holding the arm up by their splines. I thought of direct driving just now, but it’s currently just a thought. Some setbacks: The coupling with the curved support linkage. After realizing some ROM by messing around a lot with the assembly, realized the front counterweight option I planned for had to go. To add, I moved the mounting towards the inside of the base instead of on the outside, which should give me some more movement liberty in the long term. The actual shape of the robot base. I rounded it out and focused on symmetry so I would have an easier time assembling. Converting to a circular shape and not just the simplest form also opened the gate for more equalized load bearing. Reality check !! I don’t have any of the hardware yet, so everything is designed off online CAD models. From experience, that’ll set me back once the real parts show up.. nothing is ever perfect without real references. Downloaded models are usually nominal or simplified. Heat-set insert hole sizes change by brand. Bearing fits depend on the printer. Some more boring stuff to do with tolerances and measurements So I’m trying to keep the critical interfaces easy to tweak, and once everything arrives I’ll print small fit tests before committing to full parts. Next up I’m planning to.. Give the arms the same treatment: pins, bushings, spacers, fasteners, the works; making it super functional.. and look super wicked. Double-check shoulder screw lengths against the bushing stacks. Update the BOM with the real fastener and insert counts. The tool-head standard and the 1:1/direct drive question are still on the list too, but those have to wait for hardware.. gabagoo.
What’s new (v3.2?) This round was mostly optimization and electronics. I went back through the design and optimized it, then got most of the electronics into the CAD: the ESP32, the power side, and the E-stop. Electronics The power path is USB-C → PD trigger at 20V → buck down to 12V for the servo rail, with a separate little buck branching off before the E-stop to give the ESP32 its 5V. The E-stop is a latching mushroom button with two NC contacts, one cuts the servo rail, the other tells the ESP32 it got hit. Since it’s normally closed, a broken wire fails safe instead of leaving the arm live. Reality check (again..) The electronics aren’t perfect yet. A lot of the CAD models I pulled for the boards and components aren’t accurate, wrong dimensions, missing mounting holes, simplified shapes, so I already know I’ll have to redo some of the mounts and pockets once the real parts show up. At this point, I was expecting this lol. For now, everything’s placed close enough to plan around, and I’ll measure the real stuff and fix the models when hardware lands. Next up I’m planning to.. … Build! Swap out the inaccurate models once I have the parts in hand (and measure them myself if I have to) Keep chipping away at the tool-head standard and the 1:1/direct drive question, which are still waiting on hardware.. until next time....
|
1793159321.499333
|
1793764121.499333
|
|
1929
|
scout by @kakenbutter | Stardance
|
kakenbutter
|
0
|
45.36
|
0
|
[]
|
[{"post_id": 12879, "ts": "202 [{"post_id": 12879, "ts": "2026-06-21T03:09:38Z", "hours": 26.0942, "text": "finished all priority 0 features (for some reason i can only type in one line and also too tired to elaborate)"}, {"post_id": 7023, "ts": "2026-06-11T19:39:05Z", "hours": 19.2639, "text": "Added the ability to join workspaces this took way longer than it should, and it’s mostly because i changed my mind about the underlying structure several times for now, users can join workspaces based on frc teams queried from tba"}]...
|
Title: scout by @kakenbutter | Stardance
Devlogs: Title: scout by @kakenbutter | Stardance
Devlogs:
Added the ability to join workspaces this took way longer than it should, and it’s mostly because i changed my mind about the underlying structure several times for now, users can join workspaces based on frc teams queried from tba
finished all priority 0 features (for some reason i can only type in one line and also too tired to elaborate)...
|
1792547644.5186627
|
1793152444.5186627
|
|
12025
|
Car Assembly Simulator by @maxicode | Stardance
|
maxicode
|
0
|
45.34
|
0
|
[]
|
[{"post_id": 51458, "ts": "202 [{"post_id": 51458, "ts": "2026-08-21T05:51:19Z", "hours": 2.9856, "text": "hooray! roblox doesn’t complain any more!"}, {"post_id": 45440, "ts": "2026-08-11T21:48:36Z", "hours": 4.2883, "text": "headless blender kinda works now, but the normals are broken in a different way?! the converter now streams in keyword data and imports it to blender via wavefront, while applying a decimate + data transfer + solidify LoD pipeline, except the solidify breaks baked normals??"}, {"post_id": 41505, "ts": "2026-08-05T19:09:59Z", "hours": 8.6544, "text": "small problem: Roblox really really really doesn’t like me trying to import a >200,000 tri mesh, so i had to add a decimation step to the mesher. i tried multiple open source algorithms for decimation, but none of them were able to preserve enough fidelity, and others completely broke (see the attached screenshot). plan B is to write a headless blender driver to do the decimation for me :("}, {"post_id": 11085, "ts": "2026-06-18T03:52:39Z", "hours": 0.4394, "text": "yes, i’m going to use roblox why? putting microtransactions in a menial game sounds really funny to me no, i have absolutely zero clue about: why all the shelled face normals are inside out why none of my material properties carried over how the heck i’m supposed to record piece offsets after the roblox importer ignored all of the explicit mesh origins"}, {"post_id": 11054, "ts": "2026-06-18T02:43:21Z", "hours": 8.7697, "text": "materials work now! the material type (steel, plastic, etc.) is automatically detected from the plasticity of each part because LS-DYNA doesn’t encode material names. also, i had to switch to manual gLTF generation to add the material properties and joint metadata. however, when i was adding the joint detection, i found that inter-part constraints may constrain an arbitrary number of nodes in arbitrary locations, which makes it impossible to map the entire assembly of parts to specific screws in a way that makes sense for a game. instead, i think i’m going to use an absolute grid system for part placement, and just take the part positioning for granted"}, {"post_id": 7636, "ts": "2026-06-12T19:13:44Z", "hours": 5.1239, "text": "the LS-DYNA keyword convert is almost done after writing an algorithm to offset & thicken *ELEMENT_SHELL to the correct thickness! i just need to implement material and mate copying!"}, {"post_id": 5413, "ts": "2026-06-09T05:11:42Z", "hours": 7.2122, "text": "yay! all of the geometry exports cleanly now, and in one assembly file! to implement this, i first process each part by fixing broken geometry, triangulating quads/n-gons, and merging its 1000’s of finite elements/shells into one manifold. then, i insert the mesh into a glTF scene at the correct location, and it works!"}, {"post_id": 5038, "ts": "2026-06-08T18:14:32Z", "hours": 7.8694, "text": "i had this incredibly funny idea for a puzzle game: all of the parts for a car/computer/(other complex mechanical assembly) are dumped in front of the player, who must assemble [that thing] from scratch. i searched online for high-fidelity full-assembly CAD of a car. i eventually found GMU CCSA’s public library of scanned cars (with internals!). unfortunately, all of the files use a weird ahh format called LS-DYNA that’s typically used for finite element analysis. obviously the only logical solution is to reverse engineer the file format because too bad it lacks basically any documentation :(. so far i’ve figured out how to export individual parts, so long as the part consists exclusively of non-degenerate hexahedrons"}]...
|
Title: Car Assembly Simulator by @maxicode | Stard Title: Car Assembly Simulator by @maxicode | Stardance
Devlogs:
i had this incredibly funny idea for a puzzle game: all of the parts for a car/computer/(other complex mechanical assembly) are dumped in front of the player, who must assemble [that thing] from scratch. i searched online for high-fidelity full-assembly CAD of a car. i eventually found GMU CCSA’s public library of scanned cars (with internals!). unfortunately, all of the files use a weird ahh format called LS-DYNA that’s typically used for finite element analysis. obviously the only logical solution is to reverse engineer the file format because too bad it lacks basically any documentation :(. so far i’ve figured out how to export individual parts, so long as the part consists exclusively of non-degenerate hexahedrons
yay! all of the geometry exports cleanly now, and in one assembly file! to implement this, i first process each part by fixing broken geometry, triangulating quads/n-gons, and merging its 1000’s of finite elements/shells into one manifold. then, i insert the mesh into a glTF scene at the correct location, and it works!
the LS-DYNA keyword convert is almost done after writing an algorithm to offset & thicken *ELEMENT_SHELL to the correct thickness! i just need to implement material and mate copying!
materials work now! the material type (steel, plastic, etc.) is automatically detected from the plasticity of each part because LS-DYNA doesn’t encode material names. also, i had to switch to manual gLTF generation to add the material properties and joint metadata. however, when i was adding the joint detection, i found that inter-part constraints may constrain an arbitrary number of nodes in arbitrary locations, which makes it impossible to map the entire assembly of parts to specific screws in a way that makes sense for a game. instead, i think i’m going to use an absolute grid system for part placement, and just take the part positioning for granted
yes, i’m going to use roblox why? putting microtransactions in a menial game sounds really funny to me no, i have absolutely zero clue about: why all the shelled face normals are inside out why none of my material properties carried over how the heck i’m supposed to record piece offsets after the roblox importer ignored all of the explicit mesh origins
small problem: Roblox really really really doesn’t like me trying to import a >200,000 tri mesh, so i had to add a decimation step to the mesher. i tried multiple open source algorithms for decimation, but none of them were able to preserve enough fidelity, and others completely broke (see the attached screenshot). plan B is to write a headless blender driver to do the decimation for me :(
headless blender kinda works now, but the normals are broken in a different way?! the converter now streams in keyword data and imports it to blender via wavefront, while applying a decimate + data transfer + solidify LoD pipeline, except the solidify breaks baked normals??
hooray! roblox doesn’t complain any more!...
|
1793195515.61522
|
1793800315.61522
|
|
438
|
Stardance-Graph by @Fantamomo | Stardance
|
Fantamomo
|
0
|
45.24
|
0
|
[]
|
[{"post_id": 19930, "ts": "202 [{"post_id": 19930, "ts": "2026-07-01T11:32:27Z", "hours": 14.4161, "text": "What changed In short, I added some new code to scrap some other things like: missions on the project page, so if a project is attached to a mission or has shipped with one source urls on the project page the daily random number pages (including the past) banner urls on users and projects if a ship has been returned or is pending I also added timeline tables of users, projects, devlogs, superstar and ship events. So that I now how projects have changed over the time. Problem I also run in a problem, while the program scraps the site, I cannot access it too, because I wrote it so that the requests are exactly calculated so that I can fully utilize the rate limit. I tried to avoid it by running the program on nest but the container just kills my program after 50,000 requests (I don’t know why, and the logs don’t help me and it wasn’t the OOM-Killer). So I am now running it on my Raspberry Pi 4b and because it is at my house, it uses the same IP) Renaming I am also going to rename this project from Stardance-Graph to Stardance-Scraper, because the program is now more then just a graph. I am still going to write the graph, but in a second project. Scraping Well I scraped Stardance 4 times, since the last devlog: The first time was on the Raspberry PI for testing (and because I couldn’t run it on my pc), after around 40000 request it stopped due to a death lock (two threads waiting on each other, but on my case it were 4 threads), the chance that this happened was so low, but it did, I tried to fix it but I failed. So a just killed the program. I tried to run it on nest but after 50,000 requests it killed it so not the right option Then I rerun it on my raspberry pi (with the fix) and it worked pretty well I added the timeline feature and since then it just does its work In total I have done like 400,000 requests to Stardance. Image The image shows a line chart that shows the number of users who joined on each date. (Yes someone joined on 19.04.2026: @/cskartikey )"}, {"post_id": 15686, "ts": "2026-06-25T14:35:14Z", "hours": 9.7994, "text": "What changed I have used HTTP/1.1 for my request to stardacen, then I found out that I can use HTTP/2. I tried it and it so much faster, like I could send 600 Requests under 1 minute. It was so fast that my Database Writer, couldn’t keep up and I needed to slow down, so that everything is stored in the DB. But then Stardance got (D)DOSed (which wasn’t me). So they added ratelimits . And now I can only do 120 Requests per minute. Which slows my down. I also updated the DB so that now every request I do is stored in it, for better debugging and analytic. Some cool statistics Here are some statistics about my scraping and Stardance Scraping Yesterday I started scraping around 6 AM EST and it took 10 hours and 21 minutes . I send 63,364 requests. - 6,820 returned with 404 - and 98 requests failed due to other reasons I received a total of 1.22 GB HTML To serve my requests the Stardance server executed 746,089 database queries Stardance And I found some really cool things Like: 30,239 users are on Stardance - 113 users got achivments - And the most common one is „Presentable Hardware Project„ 19,171 projects have been created - There are currently 17 project that have been marked with superstar - And 1,167 ship events 11,614 devlogs have been posted - With a total time of 26,182 hours - 837 devlogs have been reposted - And a total number of 10,981 likes have been given. - there are 741 comments. - I also run a (very) simple local AI detection tool on every devlog, which can check for some obviously Ai and it only found 35 devlogs. Images I haven’t worked on the graph, so I don’t have pictures of it. But I have some diagrams about the data I have scraped. The first (left) image is about the sign in users over the time I scraped 2 The second (right top) image shows the visitors over the time And the last (right bottom) one shows the project id to the total hours in the project, and the interesting thing about it is that most of the hours came from the projects with small ids, where the users of those projects have joined near the start of the event. I wrote I small test program which takes all projects with more then zero hours, then take the first 355 users. Then request Slack for there start date. Of those 355 users, 165 started before the 2026-5-20, 107 after, and by 83 I couldn’t find the start date. Please note that this data is from yesterday and can be outdated"}, {"post_id": 13618, "ts": "2026-06-22T10:13:15Z", "hours": 21.0233, "text": "I wrote a program that completely scraps Stardance. It starts with the projects (from 1 to 20000) that it can find on the page. It analyses them and stores the information in a database. It also searches for references to users, devlogs, followers, comments, etc. So for every project I get also the creator of it and then the creator gets also scraped. So in the end I have users, projects, devlogs, followers, following and comments. But was do I want with does data The name of this projects reveals it: I want to create a graph, of every possible connection between objects. I want to host it on a website, so you can search for users like @Fantamomo and see how I am connected with other projects and users, like I repost a devlog, if someone comments one one of my devlogs etc. Image The image show a prototype (coded by AI, because I have no clue how to write something like that). The problem is that the program constantly uses around 139% CPU and around 2 GB RAM . Even with that much CPU usage, it is still laggy and I can barely use it. So now I have to figure out how to make the graph faster so that I can host it as a website on nest . Stats Scrapping Stardance took 3 hours (I paused between request to avoid the non existing rate limits) During the time: 23654 requests where made To serve my requests the Stardance server executed 388157 database queries ( 174135 queries had been cached) I received 0.6 GB HTML text as responses. Fun fact My first devlog was reposted by someone. At that time, the notification system did not exist yet, so I didn’t know who reposted it. Through my scraping I found out: It was @neon (btw thanks)"}]...
|
Title: Stardance-Graph by @Fantamomo | Stardance
Title: Stardance-Graph by @Fantamomo | Stardance
Devlogs:
I wrote a program that completely scraps Stardance. It starts with the projects (from 1 to 20000) that it can find on the page. It analyses them and stores the information in a database. It also searches for references to users, devlogs, followers, comments, etc. So for every project I get also the creator of it and then the creator gets also scraped. So in the end I have users, projects, devlogs, followers, following and comments. But was do I want with does data The name of this projects reveals it: I want to create a graph, of every possible connection between objects. I want to host it on a website, so you can search for users like @Fantamomo and see how I am connected with other projects and users, like I repost a devlog, if someone comments one one of my devlogs etc. Image The image show a prototype (coded by AI, because I have no clue how to write something like that). The problem is that the program constantly uses around 139% CPU and around 2 GB RAM . Even with that much CPU usage, it is still laggy and I can barely use it. So now I have to figure out how to make the graph faster so that I can host it as a website on nest . Stats Scrapping Stardance took 3 hours (I paused between request to avoid the non existing rate limits) During the time: 23654 requests where made To serve my requests the Stardance server executed 388157 database queries ( 174135 queries had been cached) I received 0.6 GB HTML text as responses. Fun fact My first devlog was reposted by someone. At that time, the notification system did not exist yet, so I didn’t know who reposted it. Through my scraping I found out: It was @neon (btw thanks)
What changed I have used HTTP/1.1 for my request to stardacen, then I found out that I can use HTTP/2. I tried it and it so much faster, like I could send 600 Requests under 1 minute. It was so fast that my Database Writer, couldn’t keep up and I needed to slow down, so that everything is stored in the DB. But then Stardance got (D)DOSed (which wasn’t me). So they added ratelimits . And now I can only do 120 Requests per minute. Which slows my down. I also updated the DB so that now every request I do is stored in it, for better debugging and analytic. Some cool statistics Here are some statistics about my scraping and Stardance Scraping Yesterday I started scraping around 6 AM EST and it took 10 hours and 21 minutes . I send 63,364 requests. - 6,820 returned with 404 - and 98 requests failed due to other reasons I received a total of 1.22 GB HTML To serve my requests the Stardance server executed 746,089 database queries Stardance And I found some really cool things Like: 30,239 users are on Stardance - 113 users got achivments - And the most common one is „Presentable Hardware Project„ 19,171 projects have been created - There are currently 17 project that have been marked with superstar - And 1,167 ship events 11,614 devlogs have been posted - With a total time of 26,182 hours - 837 devlogs have been reposted - And a total number of 10,981 likes have been given. - there are 741 comments. - I also run a (very) simple local AI detection tool on every devlog, which can check for some obviously Ai and it only found 35 devlogs. Images I haven’t worked on the graph, so I don’t have pictures of it. But I have some diagrams about the data I have scraped. The first (left) image is about the sign in users over the time I scraped 2 The second (right top) image shows the visitors over the time And the last (right bottom) one shows the project id to the total hours in the project, and the interesting thing about it is that most of the hours came from the projects with small ids, where the users of those projects have joined near the start of the event. I wrote I small test program which takes all projects with more then zero hours, then take the first 355 users. Then request Slack for there start date. Of those 355 users, 165 started before the 2026-5-20, 107 after, and by 83 I couldn’t find the start date. Please note that this data is from yesterday and can be outdated
What changed In short, I added some new code to scrap some other things like: missions on the project page, so if a project is attached to a mission or has shipped with one source urls on the project page the daily random number pages (including the past) banner urls on users and projects if a ship has been returned or is pending I also added timeline tables of users, projects, devlogs, superstar and ship events. So that I now how projects have changed over the time. Problem I also run in a problem, while the program scraps the site, I cannot access it too, because I wrote it so that the requests are exactly calculated so that I can fully utilize the rate limit. I tried to avoid it by running the program on nest but the container just kills my program after 50,000 requests (I don’t know why, and the logs don’t help me and it wasn’t the OOM-Killer). So I am now running it on my Raspberry Pi 4b and because it is at my house, it uses the same IP) Renaming I am also going to rename this project from Stardance-Graph to Stardance-Scraper, because the program is now more then just a graph. I am still going to write the graph, but in a second project. Scraping Well I scraped Stardance 4 times, since the last devlog: The first time was on the Raspberry PI for testing (and because I couldn’t run it on my pc), after around 40000 request it stopped due to a death lock (two threads waiting on each other, but on my case it were 4 threads), the chance that this happened was so low, but it did, I tried to fix it but I failed. So a just killed the program. I tried to run it on nest but after 50,000 requests it killed it so not the right option Then I rerun it on my raspberry pi (with the fix) and it worked pretty well I added the timeline feature and since then it just does its work In total I have done like 400,000 requests to Stardance. Image The image shows a line chart that shows the number of users who joined on each date. (Yes someone joined on 19.04.2026: @/cskartikey )...
|
1793159725.3112373
|
1793764525.3112373
|
|
50540
|
Custom Minecraft Server Scaffolding by @Sabrina | Custom Minecraft Server Scaffolding by @Sabrina | Stardance...
|
Sabrina
|
0
|
45.23
|
0
|
[]
|
[{"post_id": 78377, "ts": "202 [{"post_id": 78377, "ts": "2026-10-10T16:33:57Z", "hours": 1.0547, "text": "Chunk Cache Center + small bug fix I have made it so the server will finally send the SetChunkCacheCenter packet whenever you move, just like the vanilla server. Previously this was only send on login, and seemingly stalled my server for no reason when I tried to send it continuously. I found out that the issue was in my WriteVarInt function, where negative values lead to an infinite loop. Now that this is fixed I can send that packet anytime now!!"}, {"post_id": 78158, "ts": "2026-10-09T20:28:39Z", "hours": 4.2464, "text": "Readme, prepping for ship, and some other changes I made some more packets for moving in a vehicle, paddling a boat, and player right click interations. Just 3 more packets towards feature completeness. Once again they’re just for reading them and telling the world about them, it is up to the user to implement them (kinda) I also made the readme (for the most part) and corrected my writeup on where i got the registries from and fixed my requirements.txt"}, {"post_id": 67651, "ts": "2026-09-13T20:07:12Z", "hours": 1.6339, "text": "Rewrote data reader + writers I have rewrote all of the code that wrote and read the packet data. now reading uses a reader class that can just call readbool, readint, etc etc one after another instead of needing to chop off data after each read. Simillarly for the writer I made it so that you can just make a writer and call .writeInt, writebool. etc etc w/o needing to do a += on a bytes object. Next Now that my code is cleaned up quite a bit, I want to clean it up some more by moving all of the writing functions into their packet class so you can call something like: StatusResponse_ClientBound.write(PARAMS) to make the code much nicer. after that I will add more play packets to get more feature complete"}, {"post_id": 67518, "ts": "2026-09-13T17:12:39Z", "hours": 4.1989, "text": "Working towards being feature complete! I implemented some more play packets. While they are not 100% functional the server can recognize them and forward it to the world to be handled/implemented later when the times comes. The client is now a subclass of the entity class, making things a bit easier. As mentioned above, the client, when receiving a packet response from handling a packet, it could be of a server packet response type, which then the client routes it’s responses directly to the server/world for handling. Also now on startup we print out the completeness of the server. It just measures how many of the server bound packets we have implemented. I will work on making a client bound completeness print after finishing (mostly) the server bound ones, but I assume by time i get there many will be implemented already due to the handling of server bound packets Up next I want to continue implementing more play packets to become more feature complete, also for one of the packets I wrote a write method that took in parameters and returned a fully completed packet, I might need to do that w/ some other packets like the login and player joining ones to make my code smaller on the world.py end and more appropriate on the packets.py end"}, {"post_id": 66745, "ts": "2026-09-12T17:14:24Z", "hours": 2.4939, "text": "Automatically loading chunks Chunks now automatically load when you walk by them. its based on the render distance so when i move it tries to send all the chunks in a radius around the player to them. I also fixed a niche bug, that when there is 1 byte left in a packet after reading it could cause the packet to say it is fine with reading the rest & drop off the last byte, but now it is fixed! Next I want to import the definitions for a bunch of the play packets (mostly server bound packets) and then polish up my code and do any todo items and then ship. after shipping ill make a fork and work on my lce minigame server"}, {"post_id": 57450, "ts": "2026-08-29T16:28:19Z", "hours": 0.29, "text": "Caching tags works! Sub 5 second loading times now! (after the pregeneration is done that is) I moved the tag generation into a class inside of Registry.py and it caches. So after everything generates for the first time loading into the world takes less than 5 seconds!! I’m very proud of how this has turned out so far. I gonna work on some play packets, write a readme, then ship"}, {"post_id": 57426, "ts": "2026-08-29T15:57:23Z", "hours": 3.4022, "text": "Migrated to SyncedRegistry instead of clientObj.registries So I’ve make a SyncedRegistry class and had it do all the wonderful things client.generateAndSendRegistryData would create for them, I then removed the client.registries and make all references to it use Registry.getSyncedRegistry() and if they needed to get the all the entries and not just one specific one, they can call .getEntries() on that synced register This change will improve load times & syncability between players. All players will have the same registry data so I can save the chunk packet bytes for that. (it also means i can generate chunk packet bytes w/o needing a reference player and STILL get the biome data correct) The world on init preloads all the required registries needed and that improves join time. Next I need to do the same for the tags data because that is the one that takes up the most time, and caching that would be so great. Also i want to resolve more PLAY packets so my server can be more feature complete, but rn it looks very good and I might ship it and use it for my minigame server soon"}, {"post_id": 56361, "ts": "2026-08-28T03:31:44Z", "hours": 1.8853, "text": "Cached chunk packets After a chunk is requested into a packet i cache it for later. This system is prone to breaking if the synced registries for each player aren’t the same but im hoping to make sure they are the same. (I also want to precompute these and or cache them) I experimented with a bunch of precomputing and caching and seemingly for now just saving the packet data after computing it once on load seems to work just fine for me right now"}, {"post_id": 55337, "ts": "2026-08-27T02:37:18Z", "hours": 1.2508, "text": "Real chunks decoded & rendering!! I have managed to decode a bunch of chunks!(pictued is a 3x3 area rendered because of a 5x5 area thats loaded) I still have set the blocklight and skylight to all 15s and i will probably need to go and fix that in a bit later, but for now it just copies over the palette from the global block state palette, copies over the longs for the biome data + palette. For the most part it just copies over the nbt data into bytes and packages it up. It also makes up data, like it also says theres 16^3 (the maximum) blocks in each subchunk. This is to prevent it from unrendering when breaking stuff Todo: I want to load a bunch more chunks to make it more seamless I want to properly give the lighting data, but ill do that later as it works fine for right this second I want to make sending synchronized registries faster and possibly cache the packets that send them"}, {"post_id": 55250, "ts": "2026-08-26T22:15:30Z", "hours": 3.7433, "text": "FINALLY GOT CHUNKS LOADING Okay so i figured out what the heck bit sets were (they’re arrays of bits, or i saved them as an array of bools) and so I was able to make the lighting data needed to render stuff, and that also fixed my player not rendering! When loading just 1 chunk it doesn’t render, it needs to be surrounded by other chunks so here is me loading a 3x3 chunk area, and as you can see the middle one has rendered. The chunks right now are all stone and FULL 15 brightness on blocks & skylight everywhere. I soon will import the actual light data and the actual block data, i just need to figure out where the global block state palette is and not the global block palette!"}, {"post_id": 53465, "ts": "2026-08-24T01:12:40Z", "hours": 6.0419, "text": "misc preloaded into world packets I made the server send a bunch of packets for extra info about the world before loading in. I also make a region file handler to get chunk & subchunk data in nbt format. Issues Currently idk how to write the level_chunk_with_light packet and it always says 14KB or 22KB of extra data, i need to look into it Also for some reason the player’s game crashes when they move (but not look around) due to ticking entity or something. I will also need to investigate this I’mma take a break from this as school has started recently, ive been spending so much time on this, and the chunk roadblock makes me very demotivated"}, {"post_id": 50709, "ts": "2026-08-20T01:18:44Z", "hours": 3.6006, "text": "2 main threads, Server.py and World.py I have now made a main.py that spawns server.py and has it run all the same code as before, connecting clients, and IOing the packets in and out. But now there is World.py which is a class that runs the world, accept player connections, and will do all of the packet creation and queuing after the client fully connects to the world More packets I added a bunch more optional packets for extra info, and more will be on the way"}, {"post_id": 50083, "ts": "2026-08-19T04:29:23Z", "hours": 0.8431, "text": "Play setup is almost done After the server sends the login packet it sends a whole bunch of packets to the client to finalize some things to make sure everything is good. It adds player datas, teleport the player somewhere, preps the client for chunk loading, sets the time, etc After all that finishes then the client will say that it has loaded and then we can exchange packets of interacting with the environment, and loading new chunks, etc"}, {"post_id": 50066, "ts": "2026-08-19T03:36:50Z", "hours": 2.1181, "text": "Connecting state finished! I have finished the connecting/configuring part of the connection. Now when a client tries to connect it goes all the way through the configuring state, which includes the registry & tagged registry packets (which there are a lot of) and then the client accepts all of them then transfers into the playing state! Now all is left to do is make the actual playing server instead of connection hell"}, {"post_id": 49999, "ts": "2026-08-19T00:59:04Z", "hours": 4.8989, "text": "Update Tags Packet I HATE YOU MOJANG, TAG PACKETS ARE THE BANE OF MY EXISTANCE For those of you lucky enough to not have needed to make a minecraft server from scratch, this is evil and fucked up. You have to send a bunch of registries and the tags that they reference. And they can reference other tags, and it is very confusing to make. Also there are built in registries that aren’t exposed to you that you sometimes have to use. So I had to extract those from server.jar Anyways im till working though that stuff so it isn’t done yet…"}, {"post_id": 49670, "ts": "2026-08-18T15:40:14Z", "hours": 3.5292, "text": "TCP Server and Packets I got a TCP Socket server running and receiving bytes from a minecraft client. I also created a bunch of packets that are a subclass of the Packet class. This allows me to create any packet type I want w/ client or serverbound properties and what id they have. It’ll make it easier to change the IDs when they eventually change in future updates. The server works by spawning a clientHandler thread when a client connects to the tcp server It keeps reading bytes until the client ends the connection Everytime we receive bytes from the client we decode as much as we can, and then we handle each of them in a FIFO style."}]...
|
Title: Custom Minecraft Server Scaffolding by @Sab Title: Custom Minecraft Server Scaffolding by @Sabrina | Stardance
Devlogs:
TCP Server and Packets I got a TCP Socket server running and receiving bytes from a minecraft client. I also created a bunch of packets that are a subclass of the Packet class. This allows me to create any packet type I want w/ client or serverbound properties and what id they have. It’ll make it easier to change the IDs when they eventually change in future updates. The server works by spawning a clientHandler thread when a client connects to the tcp server It keeps reading bytes until the client ends the connection Everytime we receive bytes from the client we decode as much as we can, and then we handle each of them in a FIFO style.
Update Tags Packet I HATE YOU MOJANG, TAG PACKETS ARE THE BANE OF MY EXISTANCE For those of you lucky enough to not have needed to make a minecraft server from scratch, this is evil and fucked up. You have to send a bunch of registries and the tags that they reference. And they can reference other tags, and it is very confusing to make. Also there are built in registries that aren’t exposed to you that you sometimes have to use. So I had to extract those from server.jar Anyways im till working though that stuff so it isn’t done yet…
Connecting state finished! I have finished the connecting/configuring part of the connection. Now when a client tries to connect it goes all the way through the configuring state, which includes the registry & tagged registry packets (which there are a lot of) and then the client accepts all of them then transfers into the playing state! Now all is left to do is make the actual playing server instead of connection hell
Play setup is almost done After the server sends the login packet it sends a whole bunch of packets to the client to finalize some things to make sure everything is good. It adds player datas, teleport the player somewhere, preps the client for chunk loading, sets the time, etc After all that finishes then the client will say that it has loaded and then we can exchange packets of interacting with the environment, and loading new chunks, etc
2 main threads, Server.py and World.py I have now made a main.py that spawns server.py and has it run all the same code as before, connecting clients, and IOing the packets in and out. But now there is World.py which is a class that runs the world, accept player connections, and will do all of the packet creation and queuing after the client fully connects to the world More packets I added a bunch more optional packets for extra info, and more will be on the way
misc preloaded into world packets I made the server send a bunch of packets for extra info about the world before loading in. I also make a region file handler to get chunk & subchunk data in nbt format. Issues Currently idk how to write the level_chunk_with_light packet and it always says 14KB or 22KB of extra data, i need to look into it Also for some reason the player’s game crashes when they move (but not look around) due to ticking entity or something. I will also need to investigate this I’mma take a break from this as school has started recently, ive been spending so much time on this, and the chunk roadblock makes me very demotivated
FINALLY GOT CHUNKS LOADING Okay so i figured out what the heck bit sets were (they’re arrays of bits, or i saved them as an array of bools) and so I was able to make the lighting data needed to render stuff, and that also fixed my player not rendering! When loading just 1 chunk it doesn’t render, it needs to be surrounded by other chunks so here is me loading a 3x3 chunk area, and as you can see the middle one has rendered. The chunks right now are all stone and FULL 15 brightness on blocks & skylight everywhere. I soon will import the actual light data and the actual block data, i just need to figure out where the global block state palette is and not the global block palette!
Real chunks decoded & rendering!! I have managed to decode a bunch of chunks!(pictued is a 3x3 area rendered because of a 5x5 area thats loaded) I still have set the blocklight and skylight to all 15s and i will probably need to go and fix that in a bit later, but for now it just copies over the palette from the global block state palette, copies over the longs for the biome data + palette. For the most part it just copies over the nbt data into bytes and packages it up. It also makes up data, like it also says theres 16^3 (the maximum) blocks in each subchunk. This is to prevent it from unrendering when breaking stuff Todo: I want to load a bunch more chunks to make it more seamless I want to properly give the lighting data, but ill do that later as it works fine for right this second I want to make sending synchronized registries faster and possibly cache the packets that send them
Cached chunk packets After a chunk is requested into a packet i cache it for later. This system is prone to breaking if the synced registries for each player aren’t the same but im hoping to make sure they are the same. (I also want to precompute these and or cache them) I experimented with a bunch of precomputing and caching and seemingly for now just saving the packet data after computing it once on load seems to work just fine for me right now
Migrated to SyncedRegistry instead of clientObj.registries So I’ve make a SyncedRegistry class and had it do all the wonderful things client.generateAndSendRegistryData would create for them, I then removed the client.registries and make all references to it use Registry.getSyncedRegistry() and if they needed to get the all the entries and not just one specific one, they can call .getEntries() on that synced register This change will improve load times & syncability between players. All players will have the same registry data so I can save the chunk packet bytes for that. (it also means i can generate chunk packet bytes w/o needing a reference player and STILL get the biome data correct) The world on init preloads all the required registries needed and that improves join time. Next I need to do the same for the tags data because that is the one that takes up the most time, and caching that would be so great. Also i want to resolve more PLAY packets so my server can be more feature complete, but rn it looks very good and I might ship it and use it for my minigame server soon
Caching tags works! Sub 5 second loading times now! (after the pregeneration is done that is) I moved the tag generation into a class inside of Registry.py and it caches. So after everything generates for the first time loading into the world takes less than 5 seconds!! I’m very proud of how this has turned out so far. I gonna work on some play packets, write a readme, then ship
Automatically loading chunks Chunks now automatically load when you walk by them. its based on the render distance so when i move it tries to send all the chunks in a radius around the player to them. I also fixed a niche bug, that when there is 1 byte left in a packet after reading it could cause the packet to say it is fine with reading the rest & drop off the last byte, but now it is fixed! Next I want to import the definitions for a bunch of the play packets (mostly server bound packets) and then polish up my code and do any todo items and then ship. after shipping ill make a fork and work on my lce minigame server
Working towards being feature complete! I implemented some more play packets. While they are not 100% functional the server can recognize them and forward it to the world to be handled/implemented later when the times comes. The client is now a subclass of the entity class, making things a bit easier. As mentioned above, the client, when receiving a packet response from handling a packet, it could be of a server packet response type, which then the client routes it’s responses directly to the server/world for handling. Also now on startup we print out the completeness of the server. It just measures how many of the server bound packets we have implemented. I will work on making a client bound completeness print after finishing (mostly) the server bound ones, but I assume by time i get there many will be implemented already due to the handling of server bound packets Up next I want to continue implementing more play packets to become more feature complete, also for one of the packets I wrote a write method that took in parameters and returned a fully completed packet, I might need to do that w/ some other packets like the login and player joining ones to make my code smaller on the world.py end and more appropriate on the packets.py end
Rewrote data reader + writers I have rewrote all of the code that wrote and read the packet data. now reading uses a reader class that can just call readbool, readint, etc etc one after another instead of needing to chop off data after each read. Simillarly for the writer I made it so that you can just make a writer and call .writeInt, writebool. etc etc w/o needing to do a += on a bytes object. Next Now that my code is cleaned up quite a bit, I want to clean it up some more by moving all of the writing functions into their packet class so you can call something like: StatusResponse_ClientBound.write(PARAMS) to make the code much nicer. after that I will add more play packets to get more feature complete
Readme, prepping for ship, and some other changes I made some more packets for moving in a vehicle, paddling a boat, and player right click interations. Just 3 more packets towards feature completeness. Once again they’re just for reading them and telling the world about them, it is up to the user to implement them (kinda) I also made the readme (for the most part) and corrected my writeup on where i got the registries from and fixed my requirements.txt
Chunk Cache Center + small bug fix I have made it so the server will finally send the SetChunkCacheCenter packet whenever you move, just like the vanilla server. Previously this was only send on login, and seemingly stalled my server for no reason when I tried to send it continuously. I found out that the issue was in my WriteVarInt function, where negative values lead to an infinite loop. Now that this is fixed I can send that packet anytime now!!...
|
1792633702.7109745
|
1793238502.7109745
|
|
29308
|
Cyberdeck from a radio by @tyri | Stardance
|
tyri
|
0
|
45.17
|
0
|
[]
|
[{"post_id": 62895, "ts": "202 [{"post_id": 62895, "ts": "2026-09-06T12:56:36Z", "hours": 1.8003, "text": "Hey everyone, so today i decided to change a few things. First my readme cause it got flagged for being ai which is true cause i have no clue how to format it correctly so i asked it to format it for me. Also i decided to use a different sbc for the project cause it was way faster but the only problem was the fact that it didnt have ram so i had to also by some. I got some from framework cause they are super reliable and make great products. But then it got out of bugdet so i decided to use some of my own staff like i have a screen i will use an old power bank i will use and also i paid for the pcbs myself and i have some old keycaps so im going to use those"}, {"post_id": 57297, "ts": "2026-08-29T12:25:07Z", "hours": 2.4, "text": "Hey everyone, so today i started working on the code for the diy mouse of the radio cyberdeck. I had to watch lots of tutorials cause i forgot the majority of the code. It took way longer than i excepted cause of an error i had with the code working correctly especially the scroll wheel. Further more i couldnt find the device for that so i just didnt chose any. I hope this wont be a problem in the future when im uploading the code to the esp32 board. This is almost done. The only thing left is the repo and im done. If this is my last one i want to thank my 1 follower @Stylt ."}, {"post_id": 53696, "ts": "2026-08-24T11:27:43Z", "hours": 2.6503, "text": "Hey everyone so i forgot to publish the code for both the keyboard and mouse so today i started with the keyboard. In this sessions i just watched a bunch of tutorials on how to actually code the esp32 and everything else. This videos were really helpfull and helped out alot. It took me a while to get all the code correctly and i was also multitasking with a monitor but lookout cant record a second monitor so some of my research was lost but its fine. In the end of the code i relised that i made lots of coding errors but at least im done."}, {"post_id": 45209, "ts": "2026-08-11T15:12:05Z", "hours": 2.25, "text": "Hey everyone, soo today is such an amazing dayy!!! Finally finished the mousee! Both the case and the pcb are fully done. Damn this was really hard but at least now im done. So i finished all the holes and everything for the case even the side scroll wheel i designed. But it took longer than i excepted. I had to watch even more tutorials but it was so worth it cuase now im done. But now i have to find all the supplies which to me might be the most boring part and also i have to make the repo which is also boring. Anyways thanks to anyone who read about my project eventhough i am not that good at writing so it probably doesnt make seance. Hope u have a nice day."}, {"post_id": 45056, "ts": "2026-08-11T10:00:09Z", "hours": 2.2492, "text": "Hey everyone so today i finally finished the pcb part of the mouse im working on. So i did watch a bunch. I spend alot of time working making it as small as posble by putting all the components closer but then i got an error that they were to close so it took me even longer to put them at the right distance. Also i had to change the connections again and it was so boring changing from the top copper to the bottom. Moreover I started on the case but since i dont really know freecad that good i watched a few tutorials. All i did for the case today was to make a box. Now i need to make it hollow and add holes for the buttons. (I had a problem with lapse so the recording was of my session so i didnt lose it). Anyway this was it for today"}, {"post_id": 43896, "ts": "2026-08-09T10:47:12Z", "hours": 0.9025, "text": "Hey everyone, so i havent really found the time to continue working on the project cause i started part time at a car wash. But that is not the point of this. So i finished the wiring of the mouse in the pcb editor. This session was more fun than the others since i was also talking to friends. Moreover im really happy with the size of the mouse. Anyway so the only part left is to make the case for the mouse and im all done. Im so happy that i practically finished the full mouse so quickly not like the keyboard which took days. There were a bunch of times which i had to switch wires and it got difficult but in the end i finished and i dont think there are any issues with it. Anyway have to go now see u later. Oops i forgot a small detail. So because the censor need a hall to look down i had to re move the wire below it and now im having a few problems rewriting it ."}, {"post_id": 38775, "ts": "2026-08-01T10:37:58Z", "hours": 1.0703, "text": "Hey everyone, so today i started on the connections for the pcb i was able to make it as small as possible by turning the scanner sideways. Moreover i am done with the majority of the connections it did take a while. I expected to be done but there is still some left. But im really proud cause it took way less than the time it took me to do the keyboard. Furthermore there was a problem with the scroll wheel i still cant find how to put it on top in the middle of the mouse but its fine since on the side looks sneaky and creative which i really love. Also i am trying to make it as small as possible its already pretty small around 2mm*2mm. Anyway see u latter."}, {"post_id": 36345, "ts": "2026-07-28T12:16:45Z", "hours": 2.2736, "text": "Hey everyone, so today im still doing the mouse. I took me so long to get the footprints and the library for the sensor to work. I spend alot of time downloading files trying different methods i found online asked ai to help me too. In the end i found how to do it by luck. But now i finally understand. So i copy pasted the sensor from a different project and the library stayed the same from the other project. All i had to do was go in its properties and there was a option to change its library to a local on so i did and that was it. After that i put everything in the pcb editor and started on placing everything. So now im facing a bunch of problems. First i cant connect everything cause the wires are intercepting one another and i dont ave enough space to put the scroll wheel. So my options are to put the wheel on the side of the mouse or make to pcbs and stack one onto the other or move the esp32 to the back meaning the wire will come from the back. For the wire i can stack 2 pcb again or do what gemini said and there is a way to make the wires go under each other. That i knew but there were a few components that only allowed to be on top but it said to make a small wire on top and then continue underneath. I might explained it a bid weirdly sorry im not the best in english. Anyway see u later"}, {"post_id": 36075, "ts": "2026-07-27T22:37:33Z", "hours": 3.0044, "text": "Hello everyone, so today i finally continued on the mouse part of the project. Last time i got all the parts i needed. this time i added the side buttons and connected everything correctly. So i did use ai for some the connections cause again i wast sure but some i did on my own which i feel prude of. Moreover i ran into a bunch or errors and warning in the erc but i fixed all the errors and now i only have the library warnings which i need to fix asap if i want to continue with the pcb editor. Also i still have no idea about the parts. I mean its really hard to find a rotary encounter switch. Moreover i saw someone that used keyboard buttons for his mouse but that doesnt feel right. So i have no option but to 3d print custom ones with the case for the keyboard and the mouse. Which ether im getting my own or im paying a friend. Further more i feel like this project is getting to long and expensive but im not worrying about that cause in the end its the experience that counts. So my plans next is to fix the library issues then finish the pcb and the case which im most worried about. Then i am thinking of building a custom os for it ."}, {"post_id": 33747, "ts": "2026-07-23T22:13:05Z", "hours": 1.0667, "text": "Hey everyone, So i just finished the top part of the keyboard and finished the holes too. The one think i almost forgot was a hole for the cables that will go to the esp32. But thankfully i remembered and now i dont have to be mad over the fact that i didnt put the hole. So now i honestly dont know what to do, i guess im going to start on the mouse and then the firmware cause i thought the keyboard would take longer. Anyway my goal is to finish by the end of the end of the month. The only part i dont like is that the spaces for the keys are aligned but im too bored to do. Also i just remembered that i should connect 3 keys to make the space button but i guess i will do it tomorrow it want take long."}, {"post_id": 33708, "ts": "2026-07-23T20:45:15Z", "hours": 2.5336, "text": "Hello everyone, So today i continued on the keyboard case. i buit the bottom and the sides now im working on the top part. A problem i had was the space button so im going to make 3 into one big one instead of rebuilding the pcb and the schematic again. It took me a while cause its my first time using this tool and making cases. So for the bottom and the sides i used ai a few tutorials and a bit of luck to make them. But for the top cause i needed to make the holes for each key it was way more difficult so i watched even more tutorials and im still not done. But at least now i got the hang of how i should built it so by tomorrow the keyboard will be fully done and the only thing left is the mouse if i make one and the firmware and the software. But i might make different projects for the software. We will see. Anyway se u later"}, {"post_id": 33200, "ts": "2026-07-22T21:59:43Z", "hours": 1.8194, "text": "Hello everyone, So i just started working on the case for the keyboard. So far so good i was able to import my schematic but i had to find the right tool which took a while but i decided on freecad. While i was waiting for that to download i did find a heat sink/cooler for the radxa x4 so it doesnt overheat especially now that it is summer and its really hot. I was able to get a rectangle in but i still need to hollow it out and make the holes for the keys but hopefully by tomorrow i will finish. I did do most of this with the help of ai cause the tutorials i found were on older versions. Another issue i found is that i forgot to make add a big space button and they are all the small ones so i will need to add the space button and the shift and the delete button. Anyway thats all for today there is still a log way to go so see u. Now that i took the screen shot i am seeing another issue that the rectangle i added got smaller? Idk but its a future me issue so idc right now."}, {"post_id": 33137, "ts": "2026-07-22T19:24:18Z", "hours": 0.6072, "text": "Hey everyone, So im working on finishing the case of the keyboard right now. I know i left the mouse half done but i prefer to fully complete the keyboard first so i can feel proud of something. So the reason the session is so small is cause i had a problem with the recording. Also i forgot some small parts for the keyboard like the holes so i added that to. Anyway i watched a bunch of tutorials to understand how im supose to make the case but i honestly still have no clue. So if anyone knows how to make a case pls contact me. Anyhow thats all for now."}, {"post_id": 32904, "ts": "2026-07-22T11:29:19Z", "hours": 1.1669, "text": "Hey everyone, So today i started on the pcb for the mouse of the radio cyberdeck. I finished the keyboard a few days ago so i decided to make a mouse. So the mouse is going to use: The PMW3360DM-T2QU for the sensor to track a bunch of movement. I dont know much about sensors so i took it from a different project A rotary encoder switch which will be the scroll wheel. The good thing about it is that it can act as both a scroll wheel and a switch. For mouse buttons is just going to be some ordinary switches nothing i couldnt find. Now for the brain i saw a bunch of options. First i thought of some kind of arduino. But in the end i decided to use the Seeed Studio XIAO ESP32-C3. Since its small it can do the job and i already have the footprint and library so i dont have to go through the hustle of fixing all the problems and searching for footprint. Anyway this is all for today i think. And the projects which i took the inspo are https://github.com/unknownusername504/WirelessMouse/tree/main and https://github.com/wareya/DIY-Gaming-Mouse . This was alot of help cause its my first time making a mouse from scratch"}, {"post_id": 30644, "ts": "2026-07-18T11:48:07Z", "hours": 2.6833, "text": "Hey everyone so today i got to finishing the keyboard and making my money on everything. In the begging i thought of making my own mouse but it would be way to expensive and not worth it. Also i tried putting the radxa x4 in the schematic editor but its way to complicated. I had to down great multiple version search a bunch of forums. But in the end i decided to just not put it in the schematic editor. Moreover i fixed a bunch of issues i was getting with the drc in the pcb editor. That took soooo long since i didnt understand the problem so i just connected the wires kinda weirdly and it worked so its fine. Then there was a problem with the size of the keyboard cuase the wiring was close to the end of it so i had to make it slightly bigger which could be a problem in he future. Then i made a list of everything i will need and the cost and i relised it came wayyy to much than i expected. Also i probably forgot like half the things but its ok i will in the future. Now that i am writing ts i am thinking of making my own mouse cause i do want to learn on how to make one. Anyhow this is all for today see u later."}, {"post_id": 30150, "ts": "2026-07-17T14:18:15Z", "hours": 1.4006, "text": "Hey everyone. So i put the esp32 seed and now im trying figure out the connections which to me is by far the hardest thing and also i have no clue where im going to place it probably externally cause its going to be alot of work to find new smaller buttons and make space on the keyboard. So i decided to pt the esp32 externally together with the gyroscope and the radxa x4. Next im working on all the stupid errors i am getting. Then i might built a mouse"}, {"post_id": 30039, "ts": "2026-07-17T09:32:22Z", "hours": 1.8572, "text": "Hello everyone. So today i finally finished my keyboard matrix in the pcb editor. Yippe, it tooke me a while to get the connections cause i had to rewire the rows and colums cause the chip is a different shape in the schamatic editor and the pcb editor. A big problem i am having is that i dont have enough space for the esp 32. So i found the esp32 the seeed and now im trying to get it on to the pcb editor and i am having a bunch of issues with the footprints again. As i said my biggest problem is that i dont have enough space so i might make the buttons smaller or idk maybe put the esp 32 not on the keyboard but somewhere else externally. Also since i changed to the esp32 seeed i still havent connected it which is something i am doing now"}, {"post_id": 29064, "ts": "2026-07-15T18:30:04Z", "hours": 2.6378, "text": "Finally I fixed the problem with my recordings. Huge thanks to the person from support who replied and helped me figure it out. The recording issue was stopping me from logging my progress so im really happy its finally fixed. One thing to mention is that these devlogs probably wont be in order. I couldnt record everything before so im just going back and logging the work I’ve already done. It might be a bit all over the place but I’d rather log everything than not log it at all. This update is from after I fixed all the problems in my schematic and moved over to the PCB editor. Getting past the schematic took way longer than I expected because I had loads of footprint and library issues. Some components were linked to the wrong footprints and some didnt have footprints at all. I spent ages trying to fix everything before I could move on. It got pretty frustrating sometimes but I learned a lot about how KiCad handles libraries and footprints. Once I finally got everything sorted I started working on the PCB layout. During this session I finished placing the fourth layer of buttons and diodes. It was nice finally seeing the board come together after spending so much time fixing random problems. The biggest milestone is that my schematic is finally finished. Now I can stop worrying about footprints and components and focus on routing the PCB and making the layout look better. It feels like I finally got past one of the biggest roadblocks and im excited to keep working on it."}, {"post_id": 27644, "ts": "2026-07-13T12:24:57Z", "hours": 0.8669, "text": "So I ended up redoing the schematic, and now I’m working on the PCB properly this time. After finding all the mistakes in the previous version, I figured it would be better to spend the extra time fixing everything now instead of running into even bigger problems later. It took a while to go back through everything, but I’m much happier with how it’s turning out now.I still haven’t resolved the issue with the lost logged hours. I mean, I still have the recordings—I just can’t post them because of the problem with Lookout. It’s still pretty annoying knowing that there are hours of work sitting there that I can’t share, but for now there’s not much I can do about it. I’m still hoping someone knows a way to recover them because I’d really like to get those updates back.Anyway, today’s goal is to finish the PCB. I did run into a small error while working on it, so I decided to save this recording before continuing just in case something else goes wrong. After everything that happened with the lost recordings, I’d rather be safe than risk losing another update. Even though there was a small issue, it wasn’t anything major, and I managed to figure out what caused it pretty quickly.So far, I think things are going well overall. I’ve finished routing two layers of the buttons and the diodes and connected everything together. It definitely took a lot longer than I expected because I’m still learning how to use this PCB design software. Every time I think I’ve figured something out, I end up discovering a quicker or cleaner way of doing it. It’s been a bit of a learning curve, but I feel like I’m getting more comfortable with the program every time I use it.While working on the PCB, I also found a small issue with one of the component libraries. Thankfully it wasn’t a huge problem, and I managed to fix it before getting too far into the design. I’m glad I caught it early because it could have caused problems later if I had left it as it was.Overall, I think today has been pretty productive. Even if it doesn’t look like a massive amount of progress from the outside, a lot of the time was spent making sure everything is accurate and properly connected. I’d much rather spend extra time getting the PCB right now than have to order it and realize I made a mistake that could have been avoided. Hopefully, if everything goes to plan, I’ll have the PCB finished today and can move on to the next stage of the build."}, {"post_id": 27408, "ts": "2026-07-12T23:24:19Z", "hours": 5.6503, "text": "Finally!!!! After like 3 recordings I was finally able to record one and post about it. This first part is going to be about the problem I have been having, and then I’ll talk about the cyberdeck.So I have been using Lookout to record my logged hours, but because I didn’t know how to use it, I wasted around 7 recordings, about 2 hours each. But I still have these recordings, I just can’t post them because I accidentally closed the tab with the recording before it finished doing whatever it needed to do. I didn’t realize closing the tab would stop me from being able to upload them, so now they’re basically stuck. If anyone knows how to solve it, it would be really useful because I’d hate to lose around 14 hours of work.Anyway, about the cyberdeck.I started where I left off and wanted to continue wiring everything up, but after looking over it properly, I realized it was all wrong. At first I thought I could just move a few wires around and fix it, but the more I looked at it, the more problems I found. Eventually I decided it would be easier and a lot cleaner to redo the entire button matrix instead of trying to patch it together. It wasn’t the most exciting decision because it meant throwing away some progress, but I’d rather fix it now than spend hours later trying to figure out why nothing works.After redoing the matrix in the schematic editor, I went back and measured the radio again. The first measurements were probably close enough, but I wanted to make sure everything was actually accurate before designing around it. It’s one of those things that’s worth double-checking because if the measurements are even slightly off, it can cause problems later when everything has to fit together. Like they say, measure twice, cut once… or something like that. I figured spending a few extra minutes checking everything now would save me from having to remake parts later."}, {"post_id": 25862, "ts": "2026-07-10T10:45:55Z", "hours": 4.2836, "text": "I’m in the middle of transforming an old radio into a cyberdeck. The first thing I did was crack it open to check out the space inside, and I was honestly surprised by how much room I had to play with. So I started looking into what parts I would need for my project. The radio shell I found is just right for the case, but then I hit a snag - I couldn’t find a keyboard that would fit inside it. That’s when I thought, why not just design my own keyboard? For all the input and output, I’ve decided to use an ESP32, which is a pretty powerful little chip. I’ve also added a gyroscope, which I think could be really cool for creating an anti-theft feature. And to make it easy to add new features later on, I’ve included a few extra switches. For the main computer, I’m using a Radxa X4 because it’s an incredibly powerful single-board computer for this kind of project. I’m also thinking about adding an IR transmitter, although I’m still deciding whether it’s worth including. I’ve been having some trouble with Stardance’s recording feature, which meant I couldn’t capture every work session. I’m new to using KiCad for hardware projects, so I decided to get some help from AI to make sure I got everything right. I wanted to avoid making any expensive mistakes with the wiring or where I placed the components. AI helped me with budgeting and understanding how the different parts fit together on the circuit board. This way, I could make sure my project turned out okay and I didn’t waste any money on mistakes. I’m thinking of giving old lithium-ion batteries a new life. You know, the ones from disposable vapes that people throw away. If I can test them and make sure they’re still good, I can reuse them in my project. It’s a small thing, but it could make a big difference. Instead of sending them to the landfill, I can give them a second chance. It’s a way to make my project a little more eco-friendly, and that’s something I care about. Plus, it’s a great way to reduce waste and give old batteries a new purpose"}]...
|
Title: Cyberdeck from a radio by @tyri | Stardance Title: Cyberdeck from a radio by @tyri | Stardance
Devlogs:
I’m in the middle of transforming an old radio into a cyberdeck. The first thing I did was crack it open to check out the space inside, and I was honestly surprised by how much room I had to play with. So I started looking into what parts I would need for my project. The radio shell I found is just right for the case, but then I hit a snag - I couldn’t find a keyboard that would fit inside it. That’s when I thought, why not just design my own keyboard? For all the input and output, I’ve decided to use an ESP32, which is a pretty powerful little chip. I’ve also added a gyroscope, which I think could be really cool for creating an anti-theft feature. And to make it easy to add new features later on, I’ve included a few extra switches. For the main computer, I’m using a Radxa X4 because it’s an incredibly powerful single-board computer for this kind of project. I’m also thinking about adding an IR transmitter, although I’m still deciding whether it’s worth including. I’ve been having some trouble with Stardance’s recording feature, which meant I couldn’t capture every work session. I’m new to using KiCad for hardware projects, so I decided to get some help from AI to make sure I got everything right. I wanted to avoid making any expensive mistakes with the wiring or where I placed the components. AI helped me with budgeting and understanding how the different parts fit together on the circuit board. This way, I could make sure my project turned out okay and I didn’t waste any money on mistakes. I’m thinking of giving old lithium-ion batteries a new life. You know, the ones from disposable vapes that people throw away. If I can test them and make sure they’re still good, I can reuse them in my project. It’s a small thing, but it could make a big difference. Instead of sending them to the landfill, I can give them a second chance. It’s a way to make my project a little more eco-friendly, and that’s something I care about. Plus, it’s a great way to reduce waste and give old batteries a new purpose
Finally!!!! After like 3 recordings I was finally able to record one and post about it. This first part is going to be about the problem I have been having, and then I’ll talk about the cyberdeck.So I have been using Lookout to record my logged hours, but because I didn’t know how to use it, I wasted around 7 recordings, about 2 hours each. But I still have these recordings, I just can’t post them because I accidentally closed the tab with the recording before it finished doing whatever it needed to do. I didn’t realize closing the tab would stop me from being able to upload them, so now they’re basically stuck. If anyone knows how to solve it, it would be really useful because I’d hate to lose around 14 hours of work.Anyway, about the cyberdeck.I started where I left off and wanted to continue wiring everything up, but after looking over it properly, I realized it was all wrong. At first I thought I could just move a few wires around and fix it, but the more I looked at it, the more problems I found. Eventually I decided it would be easier and a lot cleaner to redo the entire button matrix instead of trying to patch it together. It wasn’t the most exciting decision because it meant throwing away some progress, but I’d rather fix it now than spend hours later trying to figure out why nothing works.After redoing the matrix in the schematic editor, I went back and measured the radio again. The first measurements were probably close enough, but I wanted to make sure everything was actually accurate before designing around it. It’s one of those things that’s worth double-checking because if the measurements are even slightly off, it can cause problems later when everything has to fit together. Like they say, measure twice, cut once… or something like that. I figured spending a few extra minutes checking everything now would save me from having to remake parts later.
So I ended up redoing the schematic, and now I’m working on the PCB properly this time. After finding all the mistakes in the previous version, I figured it would be better to spend the extra time fixing everything now instead of running into even bigger problems later. It took a while to go back through everything, but I’m much happier with how it’s turning out now.I still haven’t resolved the issue with the lost logged hours. I mean, I still have the recordings—I just can’t post them because of the problem with Lookout. It’s still pretty annoying knowing that there are hours of work sitting there that I can’t share, but for now there’s not much I can do about it. I’m still hoping someone knows a way to recover them because I’d really like to get those updates back.Anyway, today’s goal is to finish the PCB. I did run into a small error while working on it, so I decided to save this recording before continuing just in case something else goes wrong. After everything that happened with the lost recordings, I’d rather be safe than risk losing another update. Even though there was a small issue, it wasn’t anything major, and I managed to figure out what caused it pretty quickly.So far, I think things are going well overall. I’ve finished routing two layers of the buttons and the diodes and connected everything together. It definitely took a lot longer than I expected because I’m still learning how to use this PCB design software. Every time I think I’ve figured something out, I end up discovering a quicker or cleaner way of doing it. It’s been a bit of a learning curve, but I feel like I’m getting more comfortable with the program every time I use it.While working on the PCB, I also found a small issue with one of the component libraries. Thankfully it wasn’t a huge problem, and I managed to fix it before getting too far into the design. I’m glad I caught it early because it could have caused problems later if I had left it as it was.Overall, I think today has been pretty productive. Even if it doesn’t look like a massive amount of progress from the outside, a lot of the time was spent making sure everything is accurate and properly connected. I’d much rather spend extra time getting the PCB right now than have to order it and realize I made a mistake that could have been avoided. Hopefully, if everything goes to plan, I’ll have the PCB finished today and can move on to the next stage of the build.
Finally I fixed the problem with my recordings. Huge thanks to the person from support who replied and helped me figure it out. The recording issue was stopping me from logging my progress so im really happy its finally fixed. One thing to mention is that these devlogs probably wont be in order. I couldnt record everything before so im just going back and logging the work I’ve already done. It might be a bit all over the place but I’d rather log everything than not log it at all. This update is from after I fixed all the problems in my schematic and moved over to the PCB editor. Getting past the schematic took way longer than I expected because I had loads of footprint and library issues. Some components were linked to the wrong footprints and some didnt have footprints at all. I spent ages trying to fix everything before I could move on. It got pretty frustrating sometimes but I learned a lot about how KiCad handles libraries and footprints. Once I finally got everything sorted I started working on the PCB layout. During this session I finished placing the fourth layer of buttons and diodes. It was nice finally seeing the board come together after spending so much time fixing random problems. The biggest milestone is that my schematic is finally finished. Now I can stop worrying about footprints and components and focus on routing the PCB and making the layout look better. It feels like I finally got past one of the biggest roadblocks and im excited to keep working on it.
Hello everyone. So today i finally finished my keyboard matrix in the pcb editor. Yippe, it tooke me a while to get the connections cause i had to rewire the rows and colums cause the chip is a different shape in the schamatic editor and the pcb editor. A big problem i am having is that i dont have enough space for the esp 32. So i found the esp32 the seeed and now im trying to get it on to the pcb editor and i am having a bunch of issues with the footprints again. As i said my biggest problem is that i dont have enough space so i might make the buttons smaller or idk maybe put the esp 32 not on the keyboard but somewhere else externally. Also since i changed to the esp32 seeed i still havent connected it which is something i am doing now
Hey everyone. So i put the esp32 seed and now im trying figure out the connections which to me is by far the hardest thing and also i have no clue where im going to place it probably externally cause its going to be alot of work to find new smaller buttons and make space on the keyboard. So i decided to pt the esp32 externally together with the gyroscope and the radxa x4. Next im working on all the stupid errors i am getting. Then i might built a mouse
Hey everyone so today i got to finishing the keyboard and making my money on everything. In the begging i thought of making my own mouse but it would be way to expensive and not worth it. Also i tried putting the radxa x4 in the schematic editor but its way to complicated. I had to down great multiple version search a bunch of forums. But in the end i decided to just not put it in the schematic editor. Moreover i fixed a bunch of issues i was getting with the drc in the pcb editor. That took soooo long since i didnt understand the problem so i just connected the wires kinda weirdly and it worked so its fine. Then there was a problem with the size of the keyboard cuase the wiring was close to the end of it so i had to make it slightly bigger which could be a problem in he future. Then i made a list of everything i will need and the cost and i relised it came wayyy to much than i expected. Also i probably forgot like half the things but its ok i will in the future. Now that i am writing ts i am thinking of making my own mouse cause i do want to learn on how to make one. Anyhow this is all for today see u later.
Hey everyone, So today i started on the pcb for the mouse of the radio cyberdeck. I finished the keyboard a few days ago so i decided to make a mouse. So the mouse is going to use: The PMW3360DM-T2QU for the sensor to track a bunch of movement. I dont know much about sensors so i took it from a different project A rotary encoder switch which will be the scroll wheel. The good thing about it is that it can act as both a scroll wheel and a switch. For mouse buttons is just going to be some ordinary switches nothing i couldnt find. Now for the brain i saw a bunch of options. First i thought of some kind of arduino. But in the end i decided to use the Seeed Studio XIAO ESP32-C3. Since its small it can do the job and i already have the footprint and library so i dont have to go through the hustle of fixing all the problems and searching for footprint. Anyway this is all for today i think. And the projects which i took the inspo are https://github.com/unknownusername504/WirelessMouse/tree/main and https://github.com/wareya/DIY-Gaming-Mouse . This was alot of help cause its my first time making a mouse from scratch
Hey everyone, So im working on finishing the case of the keyboard right now. I know i left the mouse half done but i prefer to fully complete the keyboard first so i can feel proud of something. So the reason the session is so small is cause i had a problem with the recording. Also i forgot some small parts for the keyboard like the holes so i added that to. Anyway i watched a bunch of tutorials to understand how im supose to make the case but i honestly still have no clue. So if anyone knows how to make a case pls contact me. Anyhow thats all for now.
Hello everyone, So i just started working on the case for the keyboard. So far so good i was able to import my schematic but i had to find the right tool which took a while but i decided on freecad. While i was waiting for that to download i did find a heat sink/cooler for the radxa x4 so it doesnt overheat especially now that it is summer and its really hot. I was able to get a rectangle in but i still need to hollow it out and make the holes for the keys but hopefully by tomorrow i will finish. I did do most of this with the help of ai cause the tutorials i found were on older versions. Another issue i found is that i forgot to make add a big space button and they are all the small ones so i will need to add the space button and the shift and the delete button. Anyway thats all for today there is still a log way to go so see u. Now that i took the screen shot i am seeing another issue that the rectangle i added got smaller? Idk but its a future me issue so idc right now.
Hello everyone, So today i continued on the keyboard case. i buit the bottom and the sides now im working on the top part. A problem i had was the space button so im going to make 3 into one big one instead of rebuilding the pcb and the schematic again. It took me a while cause its my first time using this tool and making cases. So for the bottom and the sides i used ai a few tutorials and a bit of luck to make them. But for the top cause i needed to make the holes for each key it was way more difficult so i watched even more tutorials and im still not done. But at least now i got the hang of how i should built it so by tomorrow the keyboard will be fully done and the only thing left is the mouse if i make one and the firmware and the software. But i might make different projects for the software. We will see. Anyway se u later
Hey everyone, So i just finished the top part of the keyboard and finished the holes too. The one think i almost forgot was a hole for the cables that will go to the esp32. But thankfully i remembered and now i dont have to be mad over the fact that i didnt put the hole. So now i honestly dont know what to do, i guess im going to start on the mouse and then the firmware cause i thought the keyboard would take longer. Anyway my goal is to finish by the end of the end of the month. The only part i dont like is that the spaces for the keys are aligned but im too bored to do. Also i just remembered that i should connect 3 keys to make the space button but i guess i will do it tomorrow it want take long.
Hello everyone, so today i finally continued on the mouse part of the project. Last time i got all the parts i needed. this time i added the side buttons and connected everything correctly. So i did use ai for some the connections cause again i wast sure but some i did on my own which i feel prude of. Moreover i ran into a bunch or errors and warning in the erc but i fixed all the errors and now i only have the library warnings which i need to fix asap if i want to continue with the pcb editor. Also i still have no idea about the parts. I mean its really hard to find a rotary encounter switch. Moreover i saw someone that used keyboard buttons for his mouse but that doesnt feel right. So i have no option but to 3d print custom ones with the case for the keyboard and the mouse. Which ether im getting my own or im paying a friend. Further more i feel like this project is getting to long and expensive but im not worrying about that cause in the end its the experience that counts. So my plans next is to fix the library issues then finish the pcb and the case which im most worried about. Then i am thinking of building a custom os for it .
Hey everyone, so today im still doing the mouse. I took me so long to get the footprints and the library for the sensor to work. I spend alot of time downloading files trying different methods i found online asked ai to help me too. In the end i found how to do it by luck. But now i finally understand. So i copy pasted the sensor from a different project and the library stayed the same from the other project. All i had to do was go in its properties and there was a option to change its library to a local on so i did and that was it. After that i put everything in the pcb editor and started on placing everything. So now im facing a bunch of problems. First i cant connect everything cause the wires are intercepting one another and i dont ave enough space to put the scroll wheel. So my options are to put the wheel on the side of the mouse or make to pcbs and stack one onto the other or move the esp32 to the back meaning the wire will come from the back. For the wire i can stack 2 pcb again or do what gemini said and there is a way to make the wires go under each other. That i knew but there were a few components that only allowed to be on top but it said to make a small wire on top and then continue underneath. I might explained it a bid weirdly sorry im not the best in english. Anyway see u later
Hey everyone, so today i started on the connections for the pcb i was able to make it as small as possible by turning the scanner sideways. Moreover i am done with the majority of the connections it did take a while. I expected to be done but there is still some left. But im really proud cause it took way less than the time it took me to do the keyboard. Furthermore there was a problem with the scroll wheel i still cant find how to put it on top in the middle of the mouse but its fine since on the side looks sneaky and creative which i really love. Also i am trying to make it as small as possible its already pretty small around 2mm*2mm. Anyway see u latter.
Hey everyone, so i havent really found the time to continue working on the project cause i started part time at a car wash. But that is not the point of this. So i finished the wiring of the mouse in the pcb editor. This session was more fun than the others since i was also talking to friends. Moreover im really happy with the size of the mouse. Anyway so the only part left is to make the case for the mouse and im all done. Im so happy that i practically finished the full mouse so quickly not like the keyboard which took days. There were a bunch of times which i had to switch wires and it got difficult but in the end i finished and i dont think there are any issues with it. Anyway have to go now see u later. Oops i forgot a small detail. So because the censor need a hall to look down i had to re move the wire below it and now im having a few problems rewriting it .
Hey everyone so today i finally finished the pcb part of the mouse im working on. So i did watch a bunch. I spend alot of time working making it as small as posble by putting all the components closer but then i got an error that they were to close so it took me even longer to put them at the right distance. Also i had to change the connections again and it was so boring changing from the top copper to the bottom. Moreover I started on the case but since i dont really know freecad that good i watched a few tutorials. All i did for the case today was to make a box. Now i need to make it hollow and add holes for the buttons. (I had a problem with lapse so the recording was of my session so i didnt lose it). Anyway this was it for today
Hey everyone, soo today is such an amazing dayy!!! Finally finished the mousee! Both the case and the pcb are fully done. Damn this was really hard but at least now im done. So i finished all the holes and everything for the case even the side scroll wheel i designed. But it took longer than i excepted. I had to watch even more tutorials but it was so worth it cuase now im done. But now i have to find all the supplies which to me might be the most boring part and also i have to make the repo which is also boring. Anyways thanks to anyone who read about my project eventhough i am not that good at writing so it probably doesnt make seance. Hope u have a nice day.
Hey everyone so i forgot to publish the code for both the keyboard and mouse so today i started with the keyboard. In this sessions i just watched a bunch of tutorials on how to actually code the esp32 and everything else. This videos were really helpfull and helped out alot. It took me a while to get all the code correctly and i was also multitasking with a monitor but lookout cant record a second monitor so some of my research was lost but its fine. In the end of the code i relised that i made lots of coding errors but at least im done.
Hey everyone, so today i started working on the code for the diy mouse of the radio cyberdeck. I had to watch lots of tutorials cause i forgot the majority of the code. It took way longer than i excepted cause of an error i had with the code working correctly especially the scroll wheel. Further more i couldnt find the device for that so i just didnt chose any. I hope this wont be a problem in the future when im uploading the code to the esp32 board. This is almost done. The only thing left is the repo and im done. If this is my last one i want to thank my 1 follower @Stylt .
Hey everyone, so today i decided to change a few things. First my readme cause it got flagged for being ai which is true cause i have no clue how to format it correctly so i asked it to format it for me. Also i decided to use a different sbc for the project cause it was way faster but the only problem was the fact that it didnt have ram so i had to also by some. I got some from framework cause they are super reliable and make great products. But then it got out of bugdet so i decided to use some of my own staff like i have a screen i will use an old power bank i will use and also i paid for the pcbs myself and i have some old keycaps so im going to use those...
|
1792741705.4978833
|
1793605705.4978833
|
|
29322
|
Pokemon Shiny Hunter by @Taxalottle | Stardance
|
Taxalottle
|
0
|
45.15
|
0
|
[]
|
[{"post_id": 83085, "ts": "202 [{"post_id": 83085, "ts": "2026-10-26T20:47:42Z", "hours": 1.8819, "text": "#Customizable Discord Webhook The main thing I worked on was putting in a settings tab where we can set the discord webhooks! Before it was hardcoded into the files, but now anyone can use it. This makes it easier for people to make it their own! Release coming soon!"}, {"post_id": 78420, "ts": "2026-10-10T19:11:00Z", "hours": 3.3639, "text": "Devlog: Automatic Calibration! I added automatic calibration to my Pokemon Shiny Hunter! Previously, I had to make a new file and change the timings in it, but now the system calculates everything automatically! It just needs to do a calibration run but then everything is good to go! How It Works: The new system runs through the usual sequence of events, and assumes that it finds a non shiny. This is a safe assumption, but there is a double check screen just in case. It saves the time from this and then hunts based on this knowledge. What’s Next? There are a handful of things I want to improve. Some parts aren’t as fast as I like and there are some inefficiencies. I also want to implement this same system for the legendary pokemon. This should streamline things a bit. I also want to condense my files down. Right now there are many similar files that I want to get rid of. Till next time!"}, {"post_id": 70845, "ts": "2026-09-19T21:07:37Z", "hours": 2.2647, "text": "I completely revamped the UI! I reworked all of the UI using CTK instead of TK, and it looks a lot better now. I also imported some custom fonts and changed up some things. The biggest annoyance of the day was how I was making an 80x80 image, but it was actually 92x80??? Anyways I couldn’t find a fix and then resized my image to be 80x92, leading to it becoming a 92x92 image, which works for me. I also started running it again after a while! I haven’t shiny hunted anything in a bit but I just kicked off a Regice run. This Shiny Hunter is really coming together!"}, {"post_id": 70687, "ts": "2026-09-19T16:22:49Z", "hours": 8.3836, "text": "I’m working on improving the UI! I’m putting in some custom fonts and recentering the buttons and things like that. For some reason the buttons are still a little off center, but we’ll get there soon. I also removed anything that isn’t actually coded into the thing yet, making it more robust. I need to add a custom mode where you can make your own for something I haven’t added in yet, but we’ll get there, as always. I also finally got around to making a bash file, so it is a lot quicker to run the thing now! I only have to press the up arrow and enter!"}, {"post_id": 29475, "ts": "2026-07-16T13:27:03Z", "hours": 4.3144, "text": "Updated UI and Game Implementation Welcome back to another development update! Here’s what I’ve been working on recently. UI Improvements I updated the UI by using CustomTkinter instead of normal Tkinter. This made it really easy to add outlines and rounded corners, and I think the overall look is a lot better now. The only weird issue I’ve run into is that things don’t seem to be the size they say they are. For example, a button that’s supposed to be 100×100 ends up looking rectangular instead, so who knows what’s going on there. Shining Pearl Support I also put together the UI for Shining Pearl . It includes all of the version-exclusive Legendary Pokémon and the other important encounters. There isn’t any implementation behind it yet, but the groundwork is there, and I’ll be hooking everything up as development continues. Pokémon Progress I’ve also made some more progress on my Sword copy, so I have a few more Pokémon to add. Current plan: Add Regice and Regieleki to finish the Regis. Move on to the Swords of Justice . Finally, tackle the Fossil Pokémon . The fossils will probably be the trickiest to integrate since they don’t fit very well into my current system, but I’ll figure something out when I get there. That’s It for This Devlog That’s all for this update! Stay tuned for more cool things coming!"}, {"post_id": 26942, "ts": "2026-07-12T01:00:51Z", "hours": 2.2247, "text": "Improved UI and Another Shiny! I got the implementation for shiny Regirock added and let it run while I went downtown. When I came back, I had a shiny Regirock waiting for me! It was very fun to see that. Improved Game Selection UI I split the Pokémon games into their own separate buttons. Originally, there was just a Sword/Shield option, but now Sword and Shield each have their own buttons. The stats for each hunt are also saved specifically to the game that the hunt was performed in. Discord Webhook Improvements I added functionality for the webhook to send a screenshot to my Discord whenever it finds a shiny. Previously, I had to ask my brother to check the machine for me, but now I can simply look at Discord to see when a shiny is found. This is a really nice quality-of-life improvement. Next Shiny Implementation I added the code for Regidrago on the Switch 2, as it was the next Pokémon on the list. I should be finishing that implementation soon. After the regis and the swords of justice, I will be moving on to fossil restoration shiny hunting, which should be interesting. Fossils do not have the animation that I currently rely on, so I will need to implement color recognition instead. Future Improvements I still need to create the dynamic timing system so the program can run as efficiently as possible on both Switch 1 and Switch 2. That’s it for this devlog. I will see you in the next one!"}, {"post_id": 26537, "ts": "2026-07-11T12:32:54Z", "hours": 4.6653, "text": "It Worked!!! We Got a Shiny!!! I let this run all night, and I woke up to a shiny notification in my Discord! I checked the game, and sure enough… it was there! After a whopping 6,045 resets and over 3 full days of hunting, the wait is finally over. It was definitely a grind, but I absolutely love this shiny. The green looks so good! What’s Next? Now that the shiny hunt is complete, I made a version of the setup for the Nintendo Switch 1 as well! I borrowed my mom’s Switch to increase my hunting output, so I also designed and printed a box for it. It’s currently hunting Giratina in Pokémon Brilliant Diamond . Improving Compatibility One thing I discovered is that the Switch 1 and Switch 2 run at different processing speeds. Because of that, the timing in my current code isn’t perfectly universal. I’m going to be working on a better solution that automatically handles these differences, so the code: Works on both Switch 1 and Switch 2 Doesn’t require manual timing adjustments Is more reliable for everyone using it Stay Tuned! I have a lot of cool ideas planned for future updates, so this is only the beginning. Thanks for following along, and stay tuned for more!"}, {"post_id": 24304, "ts": "2026-07-07T19:47:28Z", "hours": 2.0317, "text": "Shiny Regirock + Discord Webhook! I put it compatibility for Regirock! It was basically the same code, but it is slightly slower. I didn’t catch registeel yet, but started working on something else for a minute. I put in a Discord Webhook! All logs are sent to various channels on my discord server! This makes it easy to see what is happening from anywhere I am! It gives a status and a timestamp so I can see if it is still running. I’ll add more pokemon hunting later! I gotta get one of these guys soon, right?"}, {"post_id": 23830, "ts": "2026-07-07T00:15:12Z", "hours": 1.7522, "text": "Improved Aesthetics and Reliability I changed the visuals of the program a lot. It looks more visually pleasing in my opinion. I changed up and added more status texts so they are more informative at a glance. Added in timeout counters if inputs were taking too long. This is an issue on load sometimes, but hasn’t been present since I implemented it. I will devlog catching this guy!"}, {"post_id": 23573, "ts": "2026-07-06T16:39:25Z", "hours": 1.9533, "text": "I put in checks, data, and sped up the process! Before this update, if anything went wrong my whole system would be cooked. There is now 3 checks, besides the shiny check. One makes sure that the encounter was initialized, another makes sure we made it home, and another one makes sure we booted up the game. If any of these go wrong, it will fix them. I put it some more data such as how much time this machine has spent hunting this pokemon in its lifetime, as well as the total amount of resets. Another cool piece of data is the time per reset. That was how long the last go-through went. This is cool for estimating how long it will take to find the shiny pokemon. Finally, I sped it up. Before this encounters would take 42 or 43 seconds, but now they are consistently faster that 36 seconds. because I have yet to find the shiny charm, my math says that this will save me hours. Looking forward to seeing how this project goes and expanding it for other pokemon soon."}, {"post_id": 23161, "ts": "2026-07-05T23:08:27Z", "hours": 2.7744, "text": "I made it detect a shiny pokemon! I haven’t found a shiny yet, but we are getting there. It checks to see if a menu chunk is there to know if it is shiny or not. The shiny plays an animations that delays the menu from popping up. Pretty cool stuff so far. It is actually running as a write this devlog!"}, {"post_id": 22219, "ts": "2026-07-04T16:08:46Z", "hours": 2.9286, "text": "I made it so the pi can control my switch and start hunting! While there is no image recognition to see if it is shiny yet, it is able to get the encounter to spawn, which is pretty neat. This is done through using a tool called Nxbt, which emulates a nintendo switch pro controller. This is all being run with a pi4 and a capture card hooked up to my switch 2. The next steps are to hook up shiny recognition and get this machine chugging!"}, {"post_id": 21651, "ts": "2026-07-03T18:35:45Z", "hours": 3.1628, "text": "I got my box all printed and started working on functionality! I finished designing my box after tweaking for a bigger screen, and got it all printed off. I assembled everything this morning and starting working on the software today. There is no actual shiny hunting yet, but we are getting there."}, {"post_id": 20150, "ts": "2026-07-01T18:10:32Z", "hours": 3.4492, "text": "I made the whole box! Unless there is something I need to tweak later, this is it for the box. It houses the switch two, the rpi, and everything else needed to shiny hunt pokemon! This will use a tool called nxbt to control the switch via bluetooth, and it will use a capture card to view the screen. It will output its results to the external screen and that will also be a menu of sorts. Now I need to 3D print this and start writing the accompanying software!"}]...
|
Title: Pokemon Shiny Hunter by @Taxalottle | Stard Title: Pokemon Shiny Hunter by @Taxalottle | Stardance
Devlogs:
I made the whole box! Unless there is something I need to tweak later, this is it for the box. It houses the switch two, the rpi, and everything else needed to shiny hunt pokemon! This will use a tool called nxbt to control the switch via bluetooth, and it will use a capture card to view the screen. It will output its results to the external screen and that will also be a menu of sorts. Now I need to 3D print this and start writing the accompanying software!
I got my box all printed and started working on functionality! I finished designing my box after tweaking for a bigger screen, and got it all printed off. I assembled everything this morning and starting working on the software today. There is no actual shiny hunting yet, but we are getting there.
I made it so the pi can control my switch and start hunting! While there is no image recognition to see if it is shiny yet, it is able to get the encounter to spawn, which is pretty neat. This is done through using a tool called Nxbt, which emulates a nintendo switch pro controller. This is all being run with a pi4 and a capture card hooked up to my switch 2. The next steps are to hook up shiny recognition and get this machine chugging!
I made it detect a shiny pokemon! I haven’t found a shiny yet, but we are getting there. It checks to see if a menu chunk is there to know if it is shiny or not. The shiny plays an animations that delays the menu from popping up. Pretty cool stuff so far. It is actually running as a write this devlog!
I put in checks, data, and sped up the process! Before this update, if anything went wrong my whole system would be cooked. There is now 3 checks, besides the shiny check. One makes sure that the encounter was initialized, another makes sure we made it home, and another one makes sure we booted up the game. If any of these go wrong, it will fix them. I put it some more data such as how much time this machine has spent hunting this pokemon in its lifetime, as well as the total amount of resets. Another cool piece of data is the time per reset. That was how long the last go-through went. This is cool for estimating how long it will take to find the shiny pokemon. Finally, I sped it up. Before this encounters would take 42 or 43 seconds, but now they are consistently faster that 36 seconds. because I have yet to find the shiny charm, my math says that this will save me hours. Looking forward to seeing how this project goes and expanding it for other pokemon soon.
Improved Aesthetics and Reliability I changed the visuals of the program a lot. It looks more visually pleasing in my opinion. I changed up and added more status texts so they are more informative at a glance. Added in timeout counters if inputs were taking too long. This is an issue on load sometimes, but hasn’t been present since I implemented it. I will devlog catching this guy!
Shiny Regirock + Discord Webhook! I put it compatibility for Regirock! It was basically the same code, but it is slightly slower. I didn’t catch registeel yet, but started working on something else for a minute. I put in a Discord Webhook! All logs are sent to various channels on my discord server! This makes it easy to see what is happening from anywhere I am! It gives a status and a timestamp so I can see if it is still running. I’ll add more pokemon hunting later! I gotta get one of these guys soon, right?
It Worked!!! We Got a Shiny!!! I let this run all night, and I woke up to a shiny notification in my Discord! I checked the game, and sure enough… it was there! After a whopping 6,045 resets and over 3 full days of hunting, the wait is finally over. It was definitely a grind, but I absolutely love this shiny. The green looks so good! What’s Next? Now that the shiny hunt is complete, I made a version of the setup for the Nintendo Switch 1 as well! I borrowed my mom’s Switch to increase my hunting output, so I also designed and printed a box for it. It’s currently hunting Giratina in Pokémon Brilliant Diamond . Improving Compatibility One thing I discovered is that the Switch 1 and Switch 2 run at different processing speeds. Because of that, the timing in my current code isn’t perfectly universal. I’m going to be working on a better solution that automatically handles these differences, so the code: Works on both Switch 1 and Switch 2 Doesn’t require manual timing adjustments Is more reliable for everyone using it Stay Tuned! I have a lot of cool ideas planned for future updates, so this is only the beginning. Thanks for following along, and stay tuned for more!
Improved UI and Another Shiny! I got the implementation for shiny Regirock added and let it run while I went downtown. When I came back, I had a shiny Regirock waiting for me! It was very fun to see that. Improved Game Selection UI I split the Pokémon games into their own separate buttons. Originally, there was just a Sword/Shield option, but now Sword and Shield each have their own buttons. The stats for each hunt are also saved specifically to the game that the hunt was performed in. Discord Webhook Improvements I added functionality for the webhook to send a screenshot to my Discord whenever it finds a shiny. Previously, I had to ask my brother to check the machine for me, but now I can simply look at Discord to see when a shiny is found. This is a really nice quality-of-life improvement. Next Shiny Implementation I added the code for Regidrago on the Switch 2, as it was the next Pokémon on the list. I should be finishing that implementation soon. After the regis and the swords of justice, I will be moving on to fossil restoration shiny hunting, which should be interesting. Fossils do not have the animation that I currently rely on, so I will need to implement color recognition instead. Future Improvements I still need to create the dynamic timing system so the program can run as efficiently as possible on both Switch 1 and Switch 2. That’s it for this devlog. I will see you in the next one!
Updated UI and Game Implementation Welcome back to another development update! Here’s what I’ve been working on recently. UI Improvements I updated the UI by using CustomTkinter instead of normal Tkinter. This made it really easy to add outlines and rounded corners, and I think the overall look is a lot better now. The only weird issue I’ve run into is that things don’t seem to be the size they say they are. For example, a button that’s supposed to be 100×100 ends up looking rectangular instead, so who knows what’s going on there. Shining Pearl Support I also put together the UI for Shining Pearl . It includes all of the version-exclusive Legendary Pokémon and the other important encounters. There isn’t any implementation behind it yet, but the groundwork is there, and I’ll be hooking everything up as development continues. Pokémon Progress I’ve also made some more progress on my Sword copy, so I have a few more Pokémon to add. Current plan: Add Regice and Regieleki to finish the Regis. Move on to the Swords of Justice . Finally, tackle the Fossil Pokémon . The fossils will probably be the trickiest to integrate since they don’t fit very well into my current system, but I’ll figure something out when I get there. That’s It for This Devlog That’s all for this update! Stay tuned for more cool things coming!
I’m working on improving the UI! I’m putting in some custom fonts and recentering the buttons and things like that. For some reason the buttons are still a little off center, but we’ll get there soon. I also removed anything that isn’t actually coded into the thing yet, making it more robust. I need to add a custom mode where you can make your own for something I haven’t added in yet, but we’ll get there, as always. I also finally got around to making a bash file, so it is a lot quicker to run the thing now! I only have to press the up arrow and enter!
I completely revamped the UI! I reworked all of the UI using CTK instead of TK, and it looks a lot better now. I also imported some custom fonts and changed up some things. The biggest annoyance of the day was how I was making an 80x80 image, but it was actually 92x80??? Anyways I couldn’t find a fix and then resized my image to be 80x92, leading to it becoming a 92x92 image, which works for me. I also started running it again after a while! I haven’t shiny hunted anything in a bit but I just kicked off a Regice run. This Shiny Hunter is really coming together!
Devlog: Automatic Calibration! I added automatic calibration to my Pokemon Shiny Hunter! Previously, I had to make a new file and change the timings in it, but now the system calculates everything automatically! It just needs to do a calibration run but then everything is good to go! How It Works: The new system runs through the usual sequence of events, and assumes that it finds a non shiny. This is a safe assumption, but there is a double check screen just in case. It saves the time from this and then hunts based on this knowledge. What’s Next? There are a handful of things I want to improve. Some parts aren’t as fast as I like and there are some inefficiencies. I also want to implement this same system for the legendary pokemon. This should streamline things a bit. I also want to condense my files down. Right now there are many similar files that I want to get rid of. Till next time!
#Customizable Discord Webhook The main thing I worked on was putting in a settings tab where we can set the discord webhooks! Before it was hardcoded into the files, but now anyone can use it. This makes it easier for people to make it their own! Release coming soon!...
|
1793206094.3485906
|
1793810894.3485906
|
|
37743
|
Starry Scramble by @lantyrn | Stardance
|
lantyrn
|
1
|
45.11
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T15:50:17Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Starry Scramble 🌠 Starry Scramble is a short game where the player races the clock to restore the big dipper. Minigames 🎮 Catch the stars: use arrow keys to move the player around the screen, catching the stars in their bucket Pin up the stars: click on a bucket to pick up a star, and click on the appropriate spot in the sky to pin it up Connect the stars: use the mouse to drag and draw a line between stars, reconnecting them Challenges 🧗 This was my first time building a game in Godot, so one of the main challenges I faced was getting to know the game engine. I often had to go back and fix things when I found better ways to do something (such as creating a theme for the game’s buttons, as I mentioned in devlog #4), and I sometimes played around with different ways to do something (like managing the music) before I decided on one that suited the project best. What I’m proud of 🌱 It seems overly vague, but I’m most proud of just being able to create a playable game that I can share with others. I’ve messed around with making games in the past, but never found something that I managed to stick with, so actually finishing (somewhat finishing, as it’s still basically a demo) this game and being able to post it is a big step for me. What’s next 👀 This game is completely playable, but also on the shorter side. I’m looking towards adding more minigames and different difficulty levels.", "repo": "https://github.com/jc23-7/warioware-stardance", "demo": "https://lantyrn.itch.io/starry-scramble"}]...
|
[{"post_id": 69908, "ts": "202 [{"post_id": 69908, "ts": "2026-09-18T01:38:19Z", "hours": 9.0783, "text": "Devlog #8 What I’ve been working on ⭐ Finishing up base code for minigames Working on the level selection scene. I’ve created a side panel for players to view a tutorial before they start the game. Art for minigames and level selection scene Survival mode ❤️❤️❤️ I’ve pivoted to a slower-paced game, but I still wanted to retain some of the WarioWare aspects, so I added a survival mode where the player plays an endless, randomly selected list of minigames until they lose all their hearts. What I still need to do 📋 More art!!!! And just…fixing a lot of bugs that I’ve been ignoring in the name of progress… Anyways, enjoy this picture of poor Cassiopeia, cursed to forever spin upside down in the skies."}, {"post_id": 63559, "ts": "2026-09-07T14:01:31Z", "hours": 8.8981, "text": "Devlog #7 New minigames 🎮 Cassiopeia: click “space” when the arrow is in the green Ursa major: dodge the arrows Cygnus: flappy-bird-esque, dodge the obstacles and collect points. New approach 💡 I realized it was wayyy too slow to make the art while making the games, so from now on I’ve been using placeholder images (pictured below). Also, I’m going to stick to 1 minigame per constellation for now, considering the amount of constellations there are in total."}, {"post_id": 57369, "ts": "2026-08-29T14:27:54Z", "hours": 7.135, "text": "Devlog #6 More minigames! After my first ship, I’ve decided to expand my game to include more constellations and to incorporate mythology-inspired minigames for each constellation. ✨ New stuff ✨ Level selector scene that allows the player to pan around a map-like screen to find the constellation they want to complete. First new constellation: Draco 🐉!! I’ve started with a “Protect the golden apples” minigame for this one, and it’s looking pretty good! Now that I’m not entirely new to Godot anymore, creating a minigame is pretty quick. Something I’m tryna figure out… 🤔 Even though I’ve been doing art for a loooong time, digital art is something that’s really new to me, so I chose to stick to simple pixel art for this game. Something that’s been bothering me is how crude this game looks right now. I know pixel art games can look awesome when done right, so maybe it’s just that I’m not good enough with the medium yet. If you guys have any suggestions for how I can make my game look more professional (apart from just to practice drawing more 😭), I’ll be happy to receive any tips!"}, {"post_id": 42888, "ts": "2026-08-07T20:55:09Z", "hours": 6.7406, "text": "Devlog #5 Last devlog before ship! With the music done, the game was basically finished, so I worked on setting up the itch.io page and writing a better readme. Setting up the itch.io page 🎮 This isn’t really a part of making the actual game, but it still took me a while. I was going through three different options for the background of my page, and they all looked…just not good 😔. After an entire afternoon of just drawing the background, I forced myself to choose one. I attached images of them below, along with the cover image I created. Next steps? …none? I’m basically done now, so I just need to ship the project. I’ll play it a few times, do a last check for bugs, read stuff over for typos, but that should be it. I’ll see you soon, when I ship this game!"}, {"post_id": 38981, "ts": "2026-08-01T16:31:52Z", "hours": 5.1531, "text": "Devlog #4 I’ve been working on a lot of the art, and now most of the graphics are done! Making the buttons ✅ The art for the buttons was quick and easy, but while implementing them, I realized there has to be a faster way than manually doing it for every button. So I figured out how to make a theme, and attach it to the scenes so all the buttons behave the same! Also…this made me realize I’ve been scaling up all my art to 2x scale, when I could’ve just scaled the viewport size down. I could’ve just kept it, and continued scaling everything up, but it bothered me so I went back and rescaled everything to their original size 🙃. What I’m working on now 🎶🎵 The game looks pretty complete, but I need to find sound effects and bgm for it. It’s so time consuming, trying to find the right music that fits the theme. Wish me luck!"}, {"post_id": 35544, "ts": "2026-07-27T01:38:53Z", "hours": 2.0567, "text": "Devlog #3 I added animations!!!! Now the player looks so much better (look at how the stars fall into their basket 😁) Some other things I’ve added… 3rd minigame! It’s a work in progress, but I’ve figured out how to allow the player to draw lines between stars by clicking and dragging. Proper bucket/basket/backpack (i should really decide on one) for 2nd minigame. Also animations so you can see the stars emptying from the basket. Next steps Finish 3rd minigame (mostly just the art) Create proper assets for the timer and hearts"}, {"post_id": 34671, "ts": "2026-07-25T16:08:12Z", "hours": 2.2778, "text": "Devlog #2 Looking through some different projects, I feel like my devlogs should include a bit more information. So this time I’ll try being a bit more organized, but bear with me, I’m still getting the hang of this :) Updates ⭐⭐ Polished up 1st minigame, making it so that players can now see the stars they collected piling up in their bucket/backpack Implemented the main feature of the 2nd minigame, which allows players to hang the stars back into the sky. Main Challenge 😔 Signals in Godot took some time for me to figure out and implement (ex. how to connect signals, signals that multiple nodes can emit, etc.), though I feel like that’s because my code is a bit messy right now. I’ll have to go back to reorganize the overall structure. Next Steps 🖌️🎨 The previous chunk of time was spent coding and implementing minigame 2, so I think I’ll now go back and try to implement some art and animations (notice the placeholder godot logo in the video 😐). Ah shoot, this devlog seems a bit wordy now…anyways, enjoy the short video of the second minigame (I’m so satisfied with the way the stars seem to just click into place 😁😁)"}, {"post_id": 33760, "ts": "2026-07-23T22:41:05Z", "hours": 3.6661, "text": "Devlog #1 Finally started making a game in Godot! I finished the guide and have the basic levels created, now I’m creating art and modifying the minigames to fit an overarching story. At this point I think I’ve spent more time creating the visuals than actually making the game (…the clouds in the background…I tried so many styles and finally settled on this one, but I’m still not completely satisfied with it. Also maybe I’ll make them move around, they look more like rocks right now 😭) Anyways, here’s a little video of the first minigame."}]...
|
Title: Starry Scramble by @lantyrn | Stardance
De Title: Starry Scramble by @lantyrn | Stardance
Devlogs:
Devlog #1 Finally started making a game in Godot! I finished the guide and have the basic levels created, now I’m creating art and modifying the minigames to fit an overarching story. At this point I think I’ve spent more time creating the visuals than actually making the game (…the clouds in the background…I tried so many styles and finally settled on this one, but I’m still not completely satisfied with it. Also maybe I’ll make them move around, they look more like rocks right now 😭) Anyways, here’s a little video of the first minigame.
Devlog #2 Looking through some different projects, I feel like my devlogs should include a bit more information. So this time I’ll try being a bit more organized, but bear with me, I’m still getting the hang of this :) Updates ⭐⭐ Polished up 1st minigame, making it so that players can now see the stars they collected piling up in their bucket/backpack Implemented the main feature of the 2nd minigame, which allows players to hang the stars back into the sky. Main Challenge 😔 Signals in Godot took some time for me to figure out and implement (ex. how to connect signals, signals that multiple nodes can emit, etc.), though I feel like that’s because my code is a bit messy right now. I’ll have to go back to reorganize the overall structure. Next Steps 🖌️🎨 The previous chunk of time was spent coding and implementing minigame 2, so I think I’ll now go back and try to implement some art and animations (notice the placeholder godot logo in the video 😐). Ah shoot, this devlog seems a bit wordy now…anyways, enjoy the short video of the second minigame (I’m so satisfied with the way the stars seem to just click into place 😁😁)
Devlog #3 I added animations!!!! Now the player looks so much better (look at how the stars fall into their basket 😁) Some other things I’ve added… 3rd minigame! It’s a work in progress, but I’ve figured out how to allow the player to draw lines between stars by clicking and dragging. Proper bucket/basket/backpack (i should really decide on one) for 2nd minigame. Also animations so you can see the stars emptying from the basket. Next steps Finish 3rd minigame (mostly just the art) Create proper assets for the timer and hearts
Devlog #4 I’ve been working on a lot of the art, and now most of the graphics are done! Making the buttons ✅ The art for the buttons was quick and easy, but while implementing them, I realized there has to be a faster way than manually doing it for every button. So I figured out how to make a theme, and attach it to the scenes so all the buttons behave the same! Also…this made me realize I’ve been scaling up all my art to 2x scale, when I could’ve just scaled the viewport size down. I could’ve just kept it, and continued scaling everything up, but it bothered me so I went back and rescaled everything to their original size 🙃. What I’m working on now 🎶🎵 The game looks pretty complete, but I need to find sound effects and bgm for it. It’s so time consuming, trying to find the right music that fits the theme. Wish me luck!
Devlog #5 Last devlog before ship! With the music done, the game was basically finished, so I worked on setting up the itch.io page and writing a better readme. Setting up the itch.io page 🎮 This isn’t really a part of making the actual game, but it still took me a while. I was going through three different options for the background of my page, and they all looked…just not good 😔. After an entire afternoon of just drawing the background, I forced myself to choose one. I attached images of them below, along with the cover image I created. Next steps? …none? I’m basically done now, so I just need to ship the project. I’ll play it a few times, do a last check for bugs, read stuff over for typos, but that should be it. I’ll see you soon, when I ship this game!
Devlog #6 More minigames! After my first ship, I’ve decided to expand my game to include more constellations and to incorporate mythology-inspired minigames for each constellation. ✨ New stuff ✨ Level selector scene that allows the player to pan around a map-like screen to find the constellation they want to complete. First new constellation: Draco 🐉!! I’ve started with a “Protect the golden apples” minigame for this one, and it’s looking pretty good! Now that I’m not entirely new to Godot anymore, creating a minigame is pretty quick. Something I’m tryna figure out… 🤔 Even though I’ve been doing art for a loooong time, digital art is something that’s really new to me, so I chose to stick to simple pixel art for this game. Something that’s been bothering me is how crude this game looks right now. I know pixel art games can look awesome when done right, so maybe it’s just that I’m not good enough with the medium yet. If you guys have any suggestions for how I can make my game look more professional (apart from just to practice drawing more 😭), I’ll be happy to receive any tips!
Devlog #7 New minigames 🎮 Cassiopeia: click “space” when the arrow is in the green Ursa major: dodge the arrows Cygnus: flappy-bird-esque, dodge the obstacles and collect points. New approach 💡 I realized it was wayyy too slow to make the art while making the games, so from now on I’ve been using placeholder images (pictured below). Also, I’m going to stick to 1 minigame per constellation for now, considering the amount of constellations there are in total.
Devlog #8 What I’ve been working on ⭐ Finishing up base code for minigames Working on the level selection scene. I’ve created a side panel for players to view a tutorial before they start the game. Art for minigames and level selection scene Survival mode ❤️❤️❤️ I’ve pivoted to a slower-paced game, but I still wanted to retain some of the WarioWare aspects, so I added a survival mode where the player plays an endless, randomly selected list of minigames until they lose all their hearts. What I still need to do 📋 More art!!!! And just…fixing a lot of bugs that I’ve been ignoring in the name of progress… Anyways, enjoy this picture of poor Cassiopeia, cursed to forever spin upside down in the skies.
Ships:
Starry Scramble 🌠 Starry Scramble is a short game where the player races the clock to restore the big dipper. Minigames 🎮 Catch the stars: use arrow keys to move the player around the screen, catching the stars in their bucket Pin up the stars: click on a bucket to pick up a star, and click on the appropriate spot in the sky to pin it up Connect the stars: use the mouse to drag and draw a line between stars, reconnecting them Challenges 🧗 This was my first time building a game in Godot, so one of the main challenges I faced was getting to know the game engine. I often had to go back and fix things when I found better ways to do something (such as creating a theme for the game’s buttons, as I mentioned in devlog #4), and I sometimes played around with different ways to do something (like managing the music) before I decided on one that suited the project best. What I’m proud of 🌱 It seems overly vague, but I’m most proud of just being able to create a playable game that I can share with others. I’ve messed around with making games in the past, but never found something that I managed to stick with, so actually finishing (somewhat finishing, as it’s still basically a demo) this game and being able to post it is a big step for me. What’s next 👀 This game is completely playable, but also on the shorter side. I’m looking towards adding more minigames and different difficulty levels....
|
1793119954.6231365
|
1793206354.6231365
|
|
2687
|
Pseudo E-commerce website (PE-CW) by @AuraMonster Pseudo E-commerce website (PE-CW) by @AuraMonster | Stardance...
|
AuraMonster
|
1
|
45.0
|
317
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T17:59:53Z", "hours": 45.0, "multiplier": 8.56, "payout": 317, "blessing": "neutral", "text": "This is my Pseudo E-commerce Website (website that sells fake stuff) I made this to learn and because it was fun. This journey was frustrating at times, but taking a break just got me more motivated.", "repo": "https://github.com/mdmutahhar24-pixel/Pseudo-E-Commerce-Website", "demo": "https://pseudo-e-commerce-website-vjx4.vercel.app/"}]...
|
[{"post_id": 10061, "ts": "202 [{"post_id": 10061, "ts": "2026-06-16T17:13:40Z", "hours": 1.5636, "text": "Sixth and Final devlog for Pseudo E-Commerce Website Changes Admin features completed Featured Products added Placeholders added incase of no product Added finishing touches Completed project: https://pseudo-e-commerce-website-vjx4.vercel.app/"}, {"post_id": 9986, "ts": "2026-06-16T14:56:42Z", "hours": 6.3531, "text": "Fifth Devlog for Psuedo E-Commerce Website Changes Included a Log out and Delete option that works Finished About Me page Added product create feature Added add to cart feature Finished Products page Added admin page Expect the next devlog to be the final one."}, {"post_id": 9340, "ts": "2026-06-15T17:48:14Z", "hours": 17.6847, "text": "Fourth Devlog for Psuedo E-Commerce Website So far, I kept restarting. I guess you could say this is my way of venting out my frustration. Since I just restarted. However, every restart gives me better ideas. After a learning break, these are the updates to my third restarted project: dark/light mode dark/light mode toggleable button logo fake advertising banners better backend better frontend heavy changes to project (approach, ideas, etc.) Next time, I do not plan to restart my project. I am going to keep continuing as I feel like I have enough experience now."}, {"post_id": 6556, "ts": "2026-06-11T00:31:02Z", "hours": 9.0075, "text": "Third Devlog for PE-CW (Psuedo E-Commerce Website) Changes: Products page now fully has a create item as well as backend for items. Account Page added Navbar updates to look different based on sign up status Future plans: Account page Log out Ability to edit products made by yourself Ability to add things to cart Ability to view your cart"}, {"post_id": 3231, "ts": "2026-06-06T01:56:29Z", "hours": 6.8661, "text": "Hello everyone, this is my second devlog. What Changed: I had to scrap my previous project because of an unknown error. However the idea hasn’t changed, so I created a new project. I Revamped the entire design, added better backend, and used appealing design choices. For backend, I used Neon’s PostgreSQL and it’s system for authentication and Next.JS’s API routes (along with Prisma) to connect my project to the Neon database. For frontend, I used React, ShadCN’s UI library, and RadixUI’s UI library. For CSS, I used Tailwind CSS. Why I made all of those changes: This is simple: I watched some YouTube tutorials and they inspired me. For backend, it was too useful to ignore. Summary: Restarted Project Integrated Backend Connected PostgreSQL database Updated Design Watched YouTube Tutorials *Image below is the updated landing page."}, {"post_id": 532, "ts": "2026-06-02T00:25:42Z", "hours": 3.2842, "text": "Worked on landing page and am currently working on sign in/sign up page."}]...
|
Title: Pseudo E-commerce website (PE-CW) by @AuraM Title: Pseudo E-commerce website (PE-CW) by @AuraMonster | Stardance
Devlogs:
Worked on landing page and am currently working on sign in/sign up page.
Hello everyone, this is my second devlog. What Changed: I had to scrap my previous project because of an unknown error. However the idea hasn’t changed, so I created a new project. I Revamped the entire design, added better backend, and used appealing design choices. For backend, I used Neon’s PostgreSQL and it’s system for authentication and Next.JS’s API routes (along with Prisma) to connect my project to the Neon database. For frontend, I used React, ShadCN’s UI library, and RadixUI’s UI library. For CSS, I used Tailwind CSS. Why I made all of those changes: This is simple: I watched some YouTube tutorials and they inspired me. For backend, it was too useful to ignore. Summary: Restarted Project Integrated Backend Connected PostgreSQL database Updated Design Watched YouTube Tutorials *Image below is the updated landing page.
Third Devlog for PE-CW (Psuedo E-Commerce Website) Changes: Products page now fully has a create item as well as backend for items. Account Page added Navbar updates to look different based on sign up status Future plans: Account page Log out Ability to edit products made by yourself Ability to add things to cart Ability to view your cart
Fourth Devlog for Psuedo E-Commerce Website So far, I kept restarting. I guess you could say this is my way of venting out my frustration. Since I just restarted. However, every restart gives me better ideas. After a learning break, these are the updates to my third restarted project: dark/light mode dark/light mode toggleable button logo fake advertising banners better backend better frontend heavy changes to project (approach, ideas, etc.) Next time, I do not plan to restart my project. I am going to keep continuing as I feel like I have enough experience now.
Fifth Devlog for Psuedo E-Commerce Website Changes Included a Log out and Delete option that works Finished About Me page Added product create feature Added add to cart feature Finished Products page Added admin page Expect the next devlog to be the final one.
Sixth and Final devlog for Pseudo E-Commerce Website Changes Admin features completed Featured Products added Placeholders added incase of no product Added finishing touches Completed project: https://pseudo-e-commerce-website-vjx4.vercel.app/
Ships:
This is my Pseudo E-commerce Website (website that sells fake stuff) I made this to learn and because it was fun. This journey was frustrating at times, but taking a break just got me more motivated....
|
1793105504.887778
|
1793191904.887778
|
|
11806
|
vsprocessing by @ilovesilverwolf | Stardance
|
ilovesilverwolf
|
1
|
45.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-16T07:06:26Z", "hours": 45.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "VS Processing is a fork of Code - OSS customized to deliver a near-native browser-based development experience. It adds support for writing, compiling, and running Processing & Java code directly in the browser, plus IntelliSense for all supported languages, a virtual file system, and GitHub integration (pull & push directly to GitHub!) VS Processing is designed specifically for Advanced Placement Computer Science A (AP CSA) classrooms to enable students to develop and run Java/Processing programs without installing any local software. We also found it useful in teaching Java to new members of our FIRST robotics team.", "repo": "https://github.com/CloudTronUSA/vsprocessing", "demo": "https://vsp.cloudtron.us/"}]...
|
[{"post_id": 80098, "ts": "202 [{"post_id": 80098, "ts": "2026-10-16T06:56:42Z", "hours": 6.8725, "text": "added github support - experimental"}, {"post_id": 8687, "ts": "2026-06-14T13:06:32Z", "hours": 2.0592, "text": "added online assignment fetching"}, {"post_id": 7820, "ts": "2026-06-13T01:44:38Z", "hours": 7.47, "text": "added assignments; updated java runtime to support more features, fixed mismatch between official java and our implementation; updated language server; updated vsp ui."}, {"post_id": 7199, "ts": "2026-06-12T00:47:01Z", "hours": 8.7086, "text": "implemented a filesystem that can read and write files from vscode and other places using fetch and java coroutine; fixed processing graphics implementation."}, {"post_id": 6143, "ts": "2026-06-10T10:21:05Z", "hours": 1.4119, "text": "fixed minor issues."}, {"post_id": 6102, "ts": "2026-06-10T08:13:23Z", "hours": 4.5678, "text": "added reference guides; worked on buildding system; deployed to vercel"}, {"post_id": 5463, "ts": "2026-06-09T08:08:26Z", "hours": 8.2408, "text": "added linting, fixed EVIL SAFARI stuff."}, {"post_id": 4645, "ts": "2026-06-08T01:35:19Z", "hours": 5.4681, "text": "optimizing error trace"}]...
|
Title: vsprocessing by @ilovesilverwolf | Stardanc Title: vsprocessing by @ilovesilverwolf | Stardance
Devlogs:
optimizing error trace
added linting, fixed EVIL SAFARI stuff.
added reference guides; worked on buildding system; deployed to vercel
fixed minor issues.
implemented a filesystem that can read and write files from vscode and other places using fetch and java coroutine; fixed processing graphics implementation.
added assignments; updated java runtime to support more features, fixed mismatch between official java and our implementation; updated language server; updated vsp ui.
added online assignment fetching
added github support - experimental
Ships:
VS Processing is a fork of Code - OSS customized to deliver a near-native browser-based development experience. It adds support for writing, compiling, and running Processing & Java code directly in the browser, plus IntelliSense for all supported languages, a virtual file system, and GitHub integration (pull & push directly to GitHub!) VS Processing is designed specifically for Advanced Placement Computer Science A (AP CSA) classrooms to enable students to develop and run Java/Processing programs without installing any local software. We also found it useful in teaching Java to new members of our FIRST robotics team....
|
1793199099.0384219
|
1793285499.0384219
|
|
23588
|
LighterWebUI by @Capy | Stardance
|
Capy
|
1
|
45.0
|
838
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T20:45:07Z", "hours": 45.0, "multiplier": 18.87, "payout": 838, "blessing": "neutral", "text": "I made LighterWebUI, a lightweight local AI client based on Ollama. It uses as little as 70MB of RAM at idle, over 6x less than OpenWebUI, making it easy to run on a Pi Zero 2 W (512MB RAM). It uses Ollama, a well-known way to run inference locally. The profile system is similar to Neflix. IMPORTANT: For this demo, the AI models are run through an API, not locally, as I’m not able to run large LLMs reliably enough on my hardware. Please don’t use any swearing, slurs or otherwise bad language with the AI. You may create and delete your own chats and users, but please leave the existing ones as they are. The stack: SvelteKit frontend and backend, Ollama for inference, Acebase local (NoSQL) database.", "repo": "https://github.com/CapyGamesXD/LighterWebUI", "demo": "https://lighterwebui.capydesigns.com/home/"}]...
|
[{"post_id": 39117, "ts": "202 [{"post_id": 39117, "ts": "2026-08-01T20:30:17Z", "hours": 0.5122, "text": "Fixed final bugs before shipping! I sent the project to some friends to check that everything worked as expected. It didn’t. I fixed what didn’t and now I’m READY TO SHIP!!!! Thank you guys for reading all these devlogs! <3"}, {"post_id": 39022, "ts": "2026-08-01T18:00:21Z", "hours": 0.5603, "text": "Polished bugs! This might be my last devlog! I plan to write quite a specific ship note for the users telling them what they may and may not do. Thanks so much to everyone who was here from the start of LighterWebUI! I’ve really enjoyed this project and I’m looking forward to the next one! I’ve got some ideas, so keep an eye out! Anyway, I removed some excess logs, polished some code layout, just made the whole thing a little nicer. I also started hosting at https://lighterwebui.capydesigns.com ! I may have to take it down a couple times. I’ve made 3 profiles with a chat in each of them that the users can use to test the site. Bye guys! <3 Happy hacking!"}, {"post_id": 38970, "ts": "2026-08-01T16:18:24Z", "hours": 5.4911, "text": "HUGE devlog! I made a TON of changes, improvements, etc! First, mobile compatibility! The user can now change the system prompt. I added a nice (basic) loading screen . I improved a big database inefficiency with the messaging system. (before I continue, please consider the fact that it was probably 22:30 when I coded this, and I was likely somewhat delirious), the messaging system would take the current array from the DB, add the new messages, and replace the entire file. FOR EVERY MESSAGE. This is heavy on RAM, slow and way more operations than are needed, also getting slower the longer the chat is. Now, when the user sends a message and the AI replies, that pair of messages get sent over and pushed to the chat. 2 messages, not the entire chat! I finally added the Lighter, Web, and UI pages. I had a tag that bound to a routeSelect variable. This routeSelect variable would determine the apiRoute. The fix was to just get rid of the routeSelect and bind the to the apiRoute. (whoops!) OH! Something I totally almost forgot to mention! I made the starting pages! You now follow this flow: Press the PEAK start button, grab your admin code, get prompted to set up Ollama (or the cloud API), then enter your username, then finally, the last page gives you the same glorious button to finish the tutorial/intro, alongside the repo link. I also edited the README a bunch to add instructions for setup. I’m opting to recommend Bun over Node for running it. Also! I tested more for the RAM usage. I found that (after rebooting my Pi) I managed to get <70MB usage at idle. That is INSANE! This will - of course fluctuate with the number of concurrent users/prompts, but is really impressive nonetheless. I also tested in on my Pi Z2W to make sure it worked. Start-to-finish, I found a few missing dependencies in the package.json, which I quickly added. Now, the project can be downloaded and run in just 5 terminal commands! Finally, I ran a code review thingy using VSCode’s AI tool (I made sure to tell it not to generate code!) and it found a few minor bugs, so I fixed the main ones. I also ignored some because they’re incredibly unlikely to happen in general, let alone during the initial ship period. I’d rather not waste time fixing things like “what if the server dies midway through this exact token output and that goes kaboom” or whatever lol. Oh, one last thing, I removed my custom alerts. They were nice, but also very useless… I replaced them with the browser’s own confirmation dialog, since it’s simpler and honestly nicer to use! Also 100% cross-platform. Two little sub-notes, I can’t show all pages of the setup because of the attachment limit on Stardance, so you’ll just have to run the project yourself to see it (hehehe), and secondly, don’t worry, I’ll make sure to change the password shown in that image. I’m gonna delete the database entirely again before I ship! Anyway! Sorry again for the long devlog, I just have so much to say! I also omitted a TON of smaller optimisations/changes again, but they’re generally irrelevant to the user’s experience, and I doubt anyone would want to read a 10,000 word devlog like “and then I added another pixel to the offset… Then removed it… Then added it back…” If I remember something less brain-meltingly boring, I’ll make sure to add it! (P.S, this is me coming back and editing the project because I’d WAY surpassed the character limit!) Thanks so much for reading what’s possibly one of my last devlogs! Happy hacking everyone! I MIGHT see you in the next one!"}, {"post_id": 36518, "ts": "2026-07-28T18:00:34Z", "hours": 3.0181, "text": "# I FINISHED THE MAIN PAGE’S FEATURES!!! I added a create and remove user function. I also entirely overhauled how they’re stored. Time for the boring dev talk: Before, the DB ref was (‘/LighterWebUI/users/’) and now it’s (‘/LighterWebUI/users/${userId}’), meaning I can modify them as I need without having to first fetch the array, modify it and then re-send it to the db. It’s a TINY bit more efficient, and a lot easier to use. Also, STATISTICS! I took a few measurements, here are the results. <100MB idle (about 95MB) Idling with 10 browser tabs running it took it way up to… 105MB According to my very thorough single Google search, the average idle for OpenWebUI is 400-650MB, making mine 4-6x less RAM usage! I also improved some of the logic surrounding the presets for API endpoints. UX improvements too! I MASSIVELY improved the UI of certain things like the user profile system, which now doesn’t display the currently selected profile as an option (not super significant, but nice). I also added the option to add new users. The chats list now (finally) shows which chat you’re active in. It highlights it in a lighter gray. I also made it so that when you use the “override model selection”, the options disappear so you don’t have an empty element :) I fixed the colours and improved continuity across colourful elements (before I had like 4 different blue colours that were basically identical XD) I feel like the UI is kinda Discord-esque on the user page, which I quite like :D I also added a lil function to close all menus, which streamlines all the others instead of manually closing every one of them. As far as I can remember that’s basically it! OH WAIT NO I added a new settings menu! It’s totally different now. :) I organised some things and split it into two sides, regular and advanced. I’m very close to finishing the project! Probably <10 hours left on it. (I’m gonna fix the weird text spacing soon DW lol) I’ll also add a ‘cancel’ option to the New User menu. As usual, if I remember anything else I’ll add it in the comments :D Thanks for reading guys! <3 Happy hacking!"}, {"post_id": 35324, "ts": "2026-07-26T17:20:30Z", "hours": 4.8344, "text": "The grand settings, backend and UX update of ’26! I added a bunch of backup logic behind the custom route fetching! It’s working great now! I then also had to fix a bunch of things with the guest route, because that was all messed up from the settings stuff. I added a new tool! The AI can now run endChat() to stop the user and delete the chat if they ask/say something harmful. I would like to stop it before it reaches my API provider, but I don’t think HC would appreciate me putting a “slurs.txt” file into my repo When the AI calls the function, it fetches the current chat and simply deletes it. It also notifies the user through a simple error system I’ve made. From there, the user can currently create a new chat. I’m prepared to keep it this way for now, since I don’t want to limit other people from using their own local models for whatever they might want. I’m also considering providing the option to rely solely on the model’s guardrails. I’ve just gotta hope nobody wants to test that feature upon shipping… Speaking of which, I’ve massively changed my mind on how I’ll handle that! It’s NOT going to be hosted on-device for the ship, which I know sounds ironic (and frankly, is, given it’s a local AI client), but I don’t want any users saying “this local 0.5B AI is terrible, it must be a bad project!”, and will thus use Ollama’s official cloud API. Also, if my Pi were to receive multiple prompts at once, it would likely… Die. This would A: suck, because I’d need to restart it frequently and B: prevent any users from rating it while it’s off. If it dies at midnight, I won’t know until I wake up! Ollama’s Cloud API has seemingly good uptime (I couldn’t find any stats online, but it seems decent!) and provides me with much larger models, up to 120B (and likely higher) without having to pay. That brings me to one of the largest things I had to figure out! If a user selects an unavailable model (Kimi K2.6, for instance), the server returns an error (which was surprisingly difficult to actually parse/decode!) and fails. I created a system to return that the prompt failed, then check that the fallback model is different from the current model. If so, it warns the user, then goes to the fallback model and regenerates by itself, automatically. The default fallback is Gemma4:31B, since it’s a free Ollama model. I’m providing my own key, so users don’t need to enter their own. If the fallback is the SAME as the current, it’ll show an unexpected error. I also added auto scrolling, although I couldn’t figure it out, so I debugged using Gemini and managed to fix it. It’s a ChatGPT-style scrolling system! It binds you to the bottom while it’s generating, but if you scroll up, it’ll sever that binding, letting you scroll freely. If you want to continue following the AI’s text stream, simply scroll back down! I am considering adding a button to do so as well, since that could be a very easy feature to add and improve overall UX. Oh right, I also fixed the displaying of when the AI uses tools! I found out that the Vercel AI SDK has a new system for it in the newest version and used that instead. I think I added some more stuff, but I can’t really remember it all right now! Most of the time spent was debugging the things I broke while adding new features. I’ll add anything I remember as a comment on this devlog! Also check the changelog if you wanna see more stuff (and specifics!) :) I acknowledge that this is my longest devlog so far, but I just wanted to be thorough! If you have any questions, I’d love to answer them in the comments!!!"}, {"post_id": 34728, "ts": "2026-07-25T18:01:16Z", "hours": 4.57, "text": "URL UPDATEEEE! I FINALLY added custom URLs! I mentioned wanting to do that in the last devlog, but now you CAN! I finished the settings page’s content, including adding an entire auth system (painful) and trying to make the UX nicer (also painful), alongside encountering a TON of other bugs and having to fix those. I also made a system to generate passwords randomly to access the admin controls. It OFFICIALLY works with other APIs! Simply enter the route (e.g, https://ollama.com/api ) and your API key and it’ll handle the rest. This is just the main feature I added, but I added a TON of other things too! ANYWAY! Still on the “//TODO:” list: A TON OF STUFF! I plan to add customisable temperature next, then the into/“welcome” screens, then all the scrolling and animation stuff. I think I can do this in time though, which is a great feeling having coded less recently."}, {"post_id": 31736, "ts": "2026-07-20T11:36:36Z", "hours": 4.4872, "text": "Hey! Added web search integration, a settings menu, and I’m working on an admin page! I also added text formatting, which was a pain to test with the 0.5B model because of how disobedient it can be I plan to allow the user to change the API route (and key) through a locked admin page. I’m working through security issues with that, and spent a fair amount of time thinking of how to fix that. My current plan is: Generate a secret “key” during setup that unlocks the admin page. When the user visits the page, ask them for the key to submit the changes. If the user hasn’t been authenticated, do not allow them to change settings. The main concern is that they could use devtools to just toggle the variable, hence fetching it directly within the function. I think it’ll work, but I’ll need to do some testing. :) I also added a little icon if the user hasn’t got a Tavily API key for web search functionality. The image currently shows the route editable within the client side. I might go with that and have the same logic behind it on the home page instead of a separate /admin page. In all honesty, I’m kinda overwhelmed. This is the biggest project I’ve ever made, and I feel like I keep accidentally switching features and missing stuff out. Anyway, it’s still really fun, so I’m still going for that Flipper Zero and TRMNL kit! :D Thanks for reading!!!"}, {"post_id": 30631, "ts": "2026-07-18T11:01:58Z", "hours": 3.1933, "text": "MASSIVE overhaul of the backend! As you may recall, I previously spent a few hours trying (and failing) to implement tool calling. I did a bit of research (Google Gemini helped with the research portion!) and found that the Vercel AI SDK has the ability to stream text while tool calling, with WAY less code than doing it manually! The great conversion of ’26… That SUCKED!!! It worked great until I noticed that the database no longer worked… Anyway, as of 5 minutes ago, I just fixed that! I completely removed my local “messages” array and replaced it with chat.messages. I LOVE THE VERCEL AI SDK!! It’s amazing. I just need some tool ideas of what to add.. (Currently, there’s just a short pause and a gap above the messages to indicate a tool was used, but I plan to replace that with a nice “Tool used: ____” now! I also did a TON of other things, including fixing many bugs with the new user system, but that seems to OFFICIALLY be working now!! Only took me 20+ hours to get a working AI client T_T But now I can start getting it NICE! :) I’ll improve UI, add a TON of pages, etc! If you have any default tool suggestions, please do give them."}, {"post_id": 29011, "ts": "2026-07-15T17:39:29Z", "hours": 3.2464, "text": "I FINISHED THE USER SYSTEM after a ton of uhh.. Pain and suffering! :D JK, it wasn’t too bad. I did, however encounter a loop of failing code that I couldn’t figure out! Turns out, my localStorage thingy was broken! I accidentally set it wrong! Anyway, after finally fixing that, I kept going! I removed the DB from github too lol. Unfortunately I’ve made no UI changes yet, so there’s really nothing interesting to see. AI usage: I debugged a few errors using Gemini, finding the solution. Still no AI code was used. I found that I could use return functions with $effect runes, which I somehow missed before! That came in handy with the fancy system I added to not entirely break the website if you leave during a stream. :) For some reason, the page is UNBELIEVABLY slow to initially load on development mode, so that sucks… It works instantly on release though, so that’s great! I added a few new messages to the main screen. Some backups too, one of which is visible below. It tells you instantly what profile you’re on. I’ll consider varying that each time like most AI websites do, but I’ll make sure to keep it as small as possible. I have a LOT to do on my Trello board still, which is ironic. The more work I do, the more issues I find! The board gets longer each devlog T_T Somewhat interesting update: I’m gonna add some docs (likely on Github, unless I feel inclined to code them!) in which there’ll be an error code section. I’m making my own error codes, specific to the website. :) Currently got: A1: user error (not logged in, corrupt data, etc.) U1: unknown error M1: unavailable model P1: invalid prompt I plan to maybe add profanity filtering to the prompt validity checker (which I’ve also yet to implement)! I can also make a nice customisable theme across pages. Exciting devlog, because now I can get back onto the FUN STUFF!!! No more ‘why account no work T_T’ stuff! Thanks for reading, happy coding!"}, {"post_id": 28412, "ts": "2026-07-14T17:27:24Z", "hours": 4.5658, "text": "More work! :D As the image shows, I just finished implementing ‘guest’ mode and have started on the user profile system (on the right) I plan to: Finish adding it, fixing the UI, etc. Add it to the setup process :O Anyway, other things (massively summarised to fit a devlog… If you want to know more, check the repo!) I designed an icon! That wasn’t logged for time. :) I implemented the logo (it doubles as a guest profile picture thing on the top right!) It’s a bit generic, very “AI company”-esque, but still - pretty nice for my first Inkscape logo :D I’ve added some nice icons, as you can see in the sidebar. I forced alignment of the title, so that’s fixed! :) I fixed the bug where the user could enter a prompt without having a user object assigned to them. For Guest detection, I basically just say “if(!user.userId)”, since the Guest is the only profile that will NEVER have an automatically assigned user ID. I’ve totally revamped the user system: It’s now a JSON object called user, with various items like userName, userId, and userPlainNum. PlainNum is for ordering, and I was pretty sure I had something in mind, but I can’t remember why I added it so it might be removed. I’m at 571 lines of code! I made several new JS backend files for this user system, so I’m very excited to introduce it! I am posting this devlog only part of the way through coding that system. Suffice to say my Trello board is FULL! Also, heh… Embarrassing story: I kinda committed the database :) BUT! It wasn’t public anyway, so it’s just my debugging “uhhh… hello? HELLO??? Are you there?” prompts. Nothing secret. Also probably best that it happens during development and before I have users! Anyway, since I’m HORRIBLE with Git commands, I used Gemini to help fix it. Hopefully that worked. As I said in the AI declaration thingy, none of the code is copy-pasted from AI, and is all Capy-written :D (PS, I probably skipped over 500 tiny bug fixes and a few bigger features, but we’d both be here for a while if I hadn’t.) Thanks so much for reading my devlog! Happy coding!"}, {"post_id": 22863, "ts": "2026-07-05T14:16:18Z", "hours": 5.1, "text": "I added a BUNCH of stuff! I was so locked in that I forgot to make a devlog! Let’s make this one shorter: I added the left panel I added multiple new backend files for the DATABASE!!! I added a database (AceBase!) I improved the UI I’m testing with another AI model for now Okay, onto the detailed stuff. AceBase! It’s a really nice database package thingy! It has FireStore-like syntax but without the annoying stuff. :) I’ll definitely use it in future projects too! Anyway, using that I made a system to create, fetch, etc new chats! Now they’re stored in the database alongside their associated crypto-UUID key. That’s passed as a search parameter (kinda like YouTube videos!) and fetched, then the messages are loaded. I did way more that honestly can’t fit into this devlog, so that’s the main stuff out of the way. :) To do: UI! It’s still got some smaller issues (the title is off-centre :O) Fix a BUNCH of backend bugs Add auto-chat naming (just the first few words of the user’s prompt for now :D) Add a user profile system (like Netflix :O) Add a “guest mode” account. Make the URL customisable (in case someone’s hosting at a different address) Make a customisable system prompt! Decide what models are suitable for release. Add some nice (lucide.dev) icons! And a BUNCH more! Thanks for reading! :D Happy coding!"}, {"post_id": 22148, "ts": "2026-07-04T13:42:08Z", "hours": 4.6039, "text": "Devlog #2! This one was a challenge… I started by spending an hour or two trying to figure out a nice system for function calling, before coming to the sad realisation that it wouldn’t be very useful. I then experimented with AI models, and realised that SmoLLM is a nice balance between intelligence and size! I also discovered that Ollama (by default) doesn’t allow two prompts at once. I plan to keep this functionality, despite its obvious drawbacks. If I didn’t have it in place, two users using different (or even the same) models could totally crash the Pi. That would leave the site down for hours on end if I’m not available to fix it. With Ollama’s prevention, worst case scenario: one user waits a few extra seconds. Anyway, I also started working on the UI! I’ve also implemented a nice system that fetches the available models, which seems to work great! I’m currently getting a nice input box. The images of UI from the last devlog were the Figma designs, but now it’s time to actually make them in HTML and CSS! I’ve done a lot of other backend stuff, playing around with various experiments, but now I’m back to working on the frontend for now. One last thing: I’m still deciding how the website will work. I might add Firebase authentication. This would allow easy saving of chats. It would also, however make the development experience more complicated and the app itself less streamlined. Another concern is that people run local AI for security, so posting everything they’ve said off to Google is a little pointless. I’ve got two other options: local JSON (or SQL :P) database, and no storage at all. I think the SQL database will have to be made. :) Thanks so much for reading the devlog! Sorry I made it so long… Also! A feature I’m super proud of! The title card at the top of the image isn’t just a title! Each word lights up when you hover. If you click, it takes you to a page detailing the feature of the site. (E.g, ‘lighter’ will take you to the page describing how I made the site efficient and lightweight!) Thanks for reading!"}, {"post_id": 17631, "ts": "2026-06-28T14:44:42Z", "hours": 0.4275, "text": "First devlog! I FINALLY got the text streaming working! Unfortunately, Wakatime didn’t work for the first almost 2 hours of coding! Oh well! Not much I can do XD I am really happy with it! Currently running Qwen 2.5 coder 3B, which works great! This is all running on my Raspberry Pi 5 4gb (which I got from the last Hackclub event!!!), so I’m super grateful that my projects could get me such amazing hardware, thank you Hackclub! ❤️"}]...
|
Title: LighterWebUI by @Capy | Stardance
Devlogs: Title: LighterWebUI by @Capy | Stardance
Devlogs:
First devlog! I FINALLY got the text streaming working! Unfortunately, Wakatime didn’t work for the first almost 2 hours of coding! Oh well! Not much I can do XD I am really happy with it! Currently running Qwen 2.5 coder 3B, which works great! This is all running on my Raspberry Pi 5 4gb (which I got from the last Hackclub event!!!), so I’m super grateful that my projects could get me such amazing hardware, thank you Hackclub! ❤️
Devlog #2! This one was a challenge… I started by spending an hour or two trying to figure out a nice system for function calling, before coming to the sad realisation that it wouldn’t be very useful. I then experimented with AI models, and realised that SmoLLM is a nice balance between intelligence and size! I also discovered that Ollama (by default) doesn’t allow two prompts at once. I plan to keep this functionality, despite its obvious drawbacks. If I didn’t have it in place, two users using different (or even the same) models could totally crash the Pi. That would leave the site down for hours on end if I’m not available to fix it. With Ollama’s prevention, worst case scenario: one user waits a few extra seconds. Anyway, I also started working on the UI! I’ve also implemented a nice system that fetches the available models, which seems to work great! I’m currently getting a nice input box. The images of UI from the last devlog were the Figma designs, but now it’s time to actually make them in HTML and CSS! I’ve done a lot of other backend stuff, playing around with various experiments, but now I’m back to working on the frontend for now. One last thing: I’m still deciding how the website will work. I might add Firebase authentication. This would allow easy saving of chats. It would also, however make the development experience more complicated and the app itself less streamlined. Another concern is that people run local AI for security, so posting everything they’ve said off to Google is a little pointless. I’ve got two other options: local JSON (or SQL :P) database, and no storage at all. I think the SQL database will have to be made. :) Thanks so much for reading the devlog! Sorry I made it so long… Also! A feature I’m super proud of! The title card at the top of the image isn’t just a title! Each word lights up when you hover. If you click, it takes you to a page detailing the feature of the site. (E.g, ‘lighter’ will take you to the page describing how I made the site efficient and lightweight!) Thanks for reading!
I added a BUNCH of stuff! I was so locked in that I forgot to make a devlog! Let’s make this one shorter: I added the left panel I added multiple new backend files for the DATABASE!!! I added a database (AceBase!) I improved the UI I’m testing with another AI model for now Okay, onto the detailed stuff. AceBase! It’s a really nice database package thingy! It has FireStore-like syntax but without the annoying stuff. :) I’ll definitely use it in future projects too! Anyway, using that I made a system to create, fetch, etc new chats! Now they’re stored in the database alongside their associated crypto-UUID key. That’s passed as a search parameter (kinda like YouTube videos!) and fetched, then the messages are loaded. I did way more that honestly can’t fit into this devlog, so that’s the main stuff out of the way. :) To do: UI! It’s still got some smaller issues (the title is off-centre :O) Fix a BUNCH of backend bugs Add auto-chat naming (just the first few words of the user’s prompt for now :D) Add a user profile system (like Netflix :O) Add a “guest mode” account. Make the URL customisable (in case someone’s hosting at a different address) Make a customisable system prompt! Decide what models are suitable for release. Add some nice (lucide.dev) icons! And a BUNCH more! Thanks for reading! :D Happy coding!
More work! :D As the image shows, I just finished implementing ‘guest’ mode and have started on the user profile system (on the right) I plan to: Finish adding it, fixing the UI, etc. Add it to the setup process :O Anyway, other things (massively summarised to fit a devlog… If you want to know more, check the repo!) I designed an icon! That wasn’t logged for time. :) I implemented the logo (it doubles as a guest profile picture thing on the top right!) It’s a bit generic, very “AI company”-esque, but still - pretty nice for my first Inkscape logo :D I’ve added some nice icons, as you can see in the sidebar. I forced alignment of the title, so that’s fixed! :) I fixed the bug where the user could enter a prompt without having a user object assigned to them. For Guest detection, I basically just say “if(!user.userId)”, since the Guest is the only profile that will NEVER have an automatically assigned user ID. I’ve totally revamped the user system: It’s now a JSON object called user, with various items like userName, userId, and userPlainNum. PlainNum is for ordering, and I was pretty sure I had something in mind, but I can’t remember why I added it so it might be removed. I’m at 571 lines of code! I made several new JS backend files for this user system, so I’m very excited to introduce it! I am posting this devlog only part of the way through coding that system. Suffice to say my Trello board is FULL! Also, heh… Embarrassing story: I kinda committed the database :) BUT! It wasn’t public anyway, so it’s just my debugging “uhhh… hello? HELLO??? Are you there?” prompts. Nothing secret. Also probably best that it happens during development and before I have users! Anyway, since I’m HORRIBLE with Git commands, I used Gemini to help fix it. Hopefully that worked. As I said in the AI declaration thingy, none of the code is copy-pasted from AI, and is all Capy-written :D (PS, I probably skipped over 500 tiny bug fixes and a few bigger features, but we’d both be here for a while if I hadn’t.) Thanks so much for reading my devlog! Happy coding!
I FINISHED THE USER SYSTEM after a ton of uhh.. Pain and suffering! :D JK, it wasn’t too bad. I did, however encounter a loop of failing code that I couldn’t figure out! Turns out, my localStorage thingy was broken! I accidentally set it wrong! Anyway, after finally fixing that, I kept going! I removed the DB from github too lol. Unfortunately I’ve made no UI changes yet, so there’s really nothing interesting to see. AI usage: I debugged a few errors using Gemini, finding the solution. Still no AI code was used. I found that I could use return functions with $effect runes, which I somehow missed before! That came in handy with the fancy system I added to not entirely break the website if you leave during a stream. :) For some reason, the page is UNBELIEVABLY slow to initially load on development mode, so that sucks… It works instantly on release though, so that’s great! I added a few new messages to the main screen. Some backups too, one of which is visible below. It tells you instantly what profile you’re on. I’ll consider varying that each time like most AI websites do, but I’ll make sure to keep it as small as possible. I have a LOT to do on my Trello board still, which is ironic. The more work I do, the more issues I find! The board gets longer each devlog T_T Somewhat interesting update: I’m gonna add some docs (likely on Github, unless I feel inclined to code them!) in which there’ll be an error code section. I’m making my own error codes, specific to the website. :) Currently got: A1: user error (not logged in, corrupt data, etc.) U1: unknown error M1: unavailable model P1: invalid prompt I plan to maybe add profanity filtering to the prompt validity checker (which I’ve also yet to implement)! I can also make a nice customisable theme across pages. Exciting devlog, because now I can get back onto the FUN STUFF!!! No more ‘why account no work T_T’ stuff! Thanks for reading, happy coding!
MASSIVE overhaul of the backend! As you may recall, I previously spent a few hours trying (and failing) to implement tool calling. I did a bit of research (Google Gemini helped with the research portion!) and found that the Vercel AI SDK has the ability to stream text while tool calling, with WAY less code than doing it manually! The great conversion of ’26… That SUCKED!!! It worked great until I noticed that the database no longer worked… Anyway, as of 5 minutes ago, I just fixed that! I completely removed my local “messages” array and replaced it with chat.messages. I LOVE THE VERCEL AI SDK!! It’s amazing. I just need some tool ideas of what to add.. (Currently, there’s just a short pause and a gap above the messages to indicate a tool was used, but I plan to replace that with a nice “Tool used: ____” now! I also did a TON of other things, including fixing many bugs with the new user system, but that seems to OFFICIALLY be working now!! Only took me 20+ hours to get a working AI client T_T But now I can start getting it NICE! :) I’ll improve UI, add a TON of pages, etc! If you have any default tool suggestions, please do give them.
Hey! Added web search integration, a settings menu, and I’m working on an admin page! I also added text formatting, which was a pain to test with the 0.5B model because of how disobedient it can be I plan to allow the user to change the API route (and key) through a locked admin page. I’m working through security issues with that, and spent a fair amount of time thinking of how to fix that. My current plan is: Generate a secret “key” during setup that unlocks the admin page. When the user visits the page, ask them for the key to submit the changes. If the user hasn’t been authenticated, do not allow them to change settings. The main concern is that they could use devtools to just toggle the variable, hence fetching it directly within the function. I think it’ll work, but I’ll need to do some testing. :) I also added a little icon if the user hasn’t got a Tavily API key for web search functionality. The image currently shows the route editable within the client side. I might go with that and have the same logic behind it on the home page instead of a separate /admin page. In all honesty, I’m kinda overwhelmed. This is the biggest project I’ve ever made, and I feel like I keep accidentally switching features and missing stuff out. Anyway, it’s still really fun, so I’m still going for that Flipper Zero and TRMNL kit! :D Thanks for reading!!!
URL UPDATEEEE! I FINALLY added custom URLs! I mentioned wanting to do that in the last devlog, but now you CAN! I finished the settings page’s content, including adding an entire auth system (painful) and trying to make the UX nicer (also painful), alongside encountering a TON of other bugs and having to fix those. I also made a system to generate passwords randomly to access the admin controls. It OFFICIALLY works with other APIs! Simply enter the route (e.g, https://ollama.com/api ) and your API key and it’ll handle the rest. This is just the main feature I added, but I added a TON of other things too! ANYWAY! Still on the “//TODO:” list: A TON OF STUFF! I plan to add customisable temperature next, then the into/“welcome” screens, then all the scrolling and animation stuff. I think I can do this in time though, which is a great feeling having coded less recently.
The grand settings, backend and UX update of ’26! I added a bunch of backup logic behind the custom route fetching! It’s working great now! I then also had to fix a bunch of things with the guest route, because that was all messed up from the settings stuff. I added a new tool! The AI can now run endChat() to stop the user and delete the chat if they ask/say something harmful. I would like to stop it before it reaches my API provider, but I don’t think HC would appreciate me putting a “slurs.txt” file into my repo When the AI calls the function, it fetches the current chat and simply deletes it. It also notifies the user through a simple error system I’ve made. From there, the user can currently create a new chat. I’m prepared to keep it this way for now, since I don’t want to limit other people from using their own local models for whatever they might want. I’m also considering providing the option to rely solely on the model’s guardrails. I’ve just gotta hope nobody wants to test that feature upon shipping… Speaking of which, I’ve massively changed my mind on how I’ll handle that! It’s NOT going to be hosted on-device for the ship, which I know sounds ironic (and frankly, is, given it’s a local AI client), but I don’t want any users saying “this local 0.5B AI is terrible, it must be a bad project!”, and will thus use Ollama’s official cloud API. Also, if my Pi were to receive multiple prompts at once, it would likely… Die. This would A: suck, because I’d need to restart it frequently and B: prevent any users from rating it while it’s off. If it dies at midnight, I won’t know until I wake up! Ollama’s Cloud API has seemingly good uptime (I couldn’t find any stats online, but it seems decent!) and provides me with much larger models, up to 120B (and likely higher) without having to pay. That brings me to one of the largest things I had to figure out! If a user selects an unavailable model (Kimi K2.6, for instance), the server returns an error (which was surprisingly difficult to actually parse/decode!) and fails. I created a system to return that the prompt failed, then check that the fallback model is different from the current model. If so, it warns the user, then goes to the fallback model and regenerates by itself, automatically. The default fallback is Gemma4:31B, since it’s a free Ollama model. I’m providing my own key, so users don’t need to enter their own. If the fallback is the SAME as the current, it’ll show an unexpected error. I also added auto scrolling, although I couldn’t figure it out, so I debugged using Gemini and managed to fix it. It’s a ChatGPT-style scrolling system! It binds you to the bottom while it’s generating, but if you scroll up, it’ll sever that binding, letting you scroll freely. If you want to continue following the AI’s text stream, simply scroll back down! I am considering adding a button to do so as well, since that could be a very easy feature to add and improve overall UX. Oh right, I also fixed the displaying of when the AI uses tools! I found out that the Vercel AI SDK has a new system for it in the newest version and used that instead. I think I added some more stuff, but I can’t really remember it all right now! Most of the time spent was debugging the things I broke while adding new features. I’ll add anything I remember as a comment on this devlog! Also check the changelog if you wanna see more stuff (and specifics!) :) I acknowledge that this is my longest devlog so far, but I just wanted to be thorough! If you have any questions, I’d love to answer them in the comments!!!
# I FINISHED THE MAIN PAGE’S FEATURES!!! I added a create and remove user function. I also entirely overhauled how they’re stored. Time for the boring dev talk: Before, the DB ref was (‘/LighterWebUI/users/’) and now it’s (‘/LighterWebUI/users/${userId}’), meaning I can modify them as I need without having to first fetch the array, modify it and then re-send it to the db. It’s a TINY bit more efficient, and a lot easier to use. Also, STATISTICS! I took a few measurements, here are the results. <100MB idle (about 95MB) Idling with 10 browser tabs running it took it way up to… 105MB According to my very thorough single Google search, the average idle for OpenWebUI is 400-650MB, making mine 4-6x less RAM usage! I also improved some of the logic surrounding the presets for API endpoints. UX improvements too! I MASSIVELY improved the UI of certain things like the user profile system, which now doesn’t display the currently selected profile as an option (not super significant, but nice). I also added the option to add new users. The chats list now (finally) shows which chat you’re active in. It highlights it in a lighter gray. I also made it so that when you use the “override model selection”, the options disappear so you don’t have an empty element :) I fixed the colours and improved continuity across colourful elements (before I had like 4 different blue colours that were basically identical XD) I feel like the UI is kinda Discord-esque on the user page, which I quite like :D I also added a lil function to close all menus, which streamlines all the others instead of manually closing every one of them. As far as I can remember that’s basically it! OH WAIT NO I added a new settings menu! It’s totally different now. :) I organised some things and split it into two sides, regular and advanced. I’m very close to finishing the project! Probably <10 hours left on it. (I’m gonna fix the weird text spacing soon DW lol) I’ll also add a ‘cancel’ option to the New User menu. As usual, if I remember anything else I’ll add it in the comments :D Thanks for reading guys! <3 Happy hacking!
HUGE devlog! I made a TON of changes, improvements, etc! First, mobile compatibility! The user can now change the system prompt. I added a nice (basic) loading screen . I improved a big database inefficiency with the messaging system. (before I continue, please consider the fact that it was probably 22:30 when I coded this, and I was likely somewhat delirious), the messaging system would take the current array from the DB, add the new messages, and replace the entire file. FOR EVERY MESSAGE. This is heavy on RAM, slow and way more operations than are needed, also getting slower the longer the chat is. Now, when the user sends a message and the AI replies, that pair of messages get sent over and pushed to the chat. 2 messages, not the entire chat! I finally added the Lighter, Web, and UI pages. I had a tag that bound to a routeSelect variable. This routeSelect variable would determine the apiRoute. The fix was to just get rid of the routeSelect and bind the to the apiRoute. (whoops!) OH! Something I totally almost forgot to mention! I made the starting pages! You now follow this flow: Press the PEAK start button, grab your admin code, get prompted to set up Ollama (or the cloud API), then enter your username, then finally, the last page gives you the same glorious button to finish the tutorial/intro, alongside the repo link. I also edited the README a bunch to add instructions for setup. I’m opting to recommend Bun over Node for running it. Also! I tested more for the RAM usage. I found that (after rebooting my Pi) I managed to get <70MB usage at idle. That is INSANE! This will - of course fluctuate with the number of concurrent users/prompts, but is really impressive nonetheless. I also tested in on my Pi Z2W to make sure it worked. Start-to-finish, I found a few missing dependencies in the package.json, which I quickly added. Now, the project can be downloaded and run in just 5 terminal commands! Finally, I ran a code review thingy using VSCode’s AI tool (I made sure to tell it not to generate code!) and it found a few minor bugs, so I fixed the main ones. I also ignored some because they’re incredibly unlikely to happen in general, let alone during the initial ship period. I’d rather not waste time fixing things like “what if the server dies midway through this exact token output and that goes kaboom” or whatever lol. Oh, one last thing, I removed my custom alerts. They were nice, but also very useless… I replaced them with the browser’s own confirmation dialog, since it’s simpler and honestly nicer to use! Also 100% cross-platform. Two little sub-notes, I can’t show all pages of the setup because of the attachment limit on Stardance, so you’ll just have to run the project yourself to see it (hehehe), and secondly, don’t worry, I’ll make sure to change the password shown in that image. I’m gonna delete the database entirely again before I ship! Anyway! Sorry again for the long devlog, I just have so much to say! I also omitted a TON of smaller optimisations/changes again, but they’re generally irrelevant to the user’s experience, and I doubt anyone would want to read a 10,000 word devlog like “and then I added another pixel to the offset… Then removed it… Then added it back…” If I remember something less brain-meltingly boring, I’ll make sure to add it! (P.S, this is me coming back and editing the project because I’d WAY surpassed the character limit!) Thanks so much for reading what’s possibly one of my last devlogs! Happy hacking everyone! I MIGHT see you in the next one!
Polished bugs! This might be my last devlog! I plan to write quite a specific ship note for the users telling them what they may and may not do. Thanks so much to everyone who was here from the start of LighterWebUI! I’ve really enjoyed this project and I’m looking forward to the next one! I’ve got some ideas, so keep an eye out! Anyway, I removed some excess logs, polished some code layout, just made the whole thing a little nicer. I also started hosting at https://lighterwebui.capydesigns.com ! I may have to take it down a couple times. I’ve made 3 profiles with a chat in each of them that the users can use to test the site. Bye guys! <3 Happy hacking!
Fixed final bugs before shipping! I sent the project to some friends to check that everything worked as expected. It didn’t. I fixed what didn’t and now I’m READY TO SHIP!!!! Thank you guys for reading all these devlogs! <3
Ships:
I made LighterWebUI, a lightweight local AI client based on Ollama. It uses as little as 70MB of RAM at idle, over 6x less than OpenWebUI, making it easy to run on a Pi Zero 2 W (512MB RAM). It uses Ollama, a well-known way to run inference locally. The profile system is similar to Neflix. IMPORTANT: For this demo, the AI models are run through an API, not locally, as I’m not able to run large LLMs reliably enough on my hardware. Please don’t use any swearing, slurs or otherwise bad language with the AI. You may create and delete your own chats and users, but please leave the existing ones as they are. The stack: SvelteKit frontend and backend, Ollama for inference, Acebase local (NoSQL) database....
|
1793065659.783897
|
1793152059.783897
|
|
24380
|
CubeTrainer by @EthanCubes | Stardance
|
EthanCubes
|
1
|
45.0
|
447
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T01:23:02Z", "hours": 45.0, "multiplier": 10.4, "payout": 447, "blessing": "neutral", "text": "I made a timer and algorithm driller for people who solve Rubik’s cubes (aka speedcubers). I have minimal experience with JavaScript, and since this project is extremely JavaScript heavy (9 JavaScript files with an average of like 150 lines each (max 869 min 25)), it was pretty challenging for me. I’m really proud of how I build most of the application by myself with minimal or no AI assistance. Note that this project is relatively niche and other programs that do the same thing but better already exist.", "repo": "https://github.com/EthanCubes/CubeTrainer", "demo": "https://ethancubes.github.io/CubeTrainer/"}]...
|
[{"post_id": 25631, "ts": "202 [{"post_id": 25631, "ts": "2026-07-10T01:17:26Z", "hours": 0.3631, "text": "Devlog 13: Final devlog before ship I didn’t add much, just fixed some bugs and inconvenient things. For example, the space bar (finally) no longer triggers the dropdown menus. That was very annoying. Also, I added an option to clear all site settings and data, in case you have a outdated save file (no one is going to have that except me probably) that’s messing things up. I also added some things to the README."}, {"post_id": 25617, "ts": "2026-07-10T00:25:25Z", "hours": 2.1794, "text": "Devlog #12: I separated the times for timer mode and driller mode. Since timer mode is intended for timing entire solves and driller mode is intended for only short portions of the solve, it doesn’t make sense for them to be lumped together. I did this by adding another object inside the object for stored solves, and renaming the existing object. So now, inside of the stored solves object, there’s one object named “timer” and another named “driller”, to make it easy to get the correct object for the selected mode. I kept encountering errors on the GitHub Pages, but everything’s fine on Live Server. It’s happened so many times, it’s getting annoying. there’s literally no visual difference why do i still have to include a screenshot"}, {"post_id": 25120, "ts": "2026-07-09T03:48:48Z", "hours": 6.0483, "text": "Devlog #11: You can finally change stuff! I added settings to the web app, including the option to hide certain elements and 3 themes. The settings even stay across sessions, unless you clear solves, in which case the settings will be reset. This was totally intentional to make sure users are mindful about their times and not just spam times and definitely not because I’m too lazy to fix that part of the code. :)"}, {"post_id": 24352, "ts": "2026-07-07T21:16:38Z", "hours": 0.7514, "text": "Devlog #10: So it turns out that much of the code that involves paths and fetching other files were broken. I didn’t realize that until after I posted the devlog yesterday. For the next 24 hours, I proceeded to try everything I could think of to fix it. In the process, I definitely had one or two crashouts somewhat reminiscent to Doggie Acheron 1% . I ended up just having the program fetch the JSON files and the favicon from GitHub instead of the local files. This does come with the downside of difficulties when testing the code when I don’t have wifi but that’s a small tradeoff considering I have wifi pretty often."}, {"post_id": 23798, "ts": "2026-07-06T23:08:34Z", "hours": 8.6786, "text": "Devlog #9: Finally. FINALLY I HAVE EVIDENCE TO BACK UP THAT THIS ISN’T A CSTIMER CLONE. The main feature that I intended to add from the start, and the main reason that I wanted to make this web app in the first place has finally been implemented. It is, of course, the ability to drill algorithms. Yes, it does need more polishing. No, you can’t import your own algorithm sets yet. But you can drill some Roux algorithms, and that’s already better than CSTimer and JPerm.net. Or at least that’s what I tell myself before I go to bed so I don’t feel like a waste of space. This session was definitely the toughest mental challenge I’ve probably ever experienced. I started to code this, but halfway through I just decided to revert some of the changes cause the code was messy and wasn’t working. I reverted the changes back to the left Git commit and discovered that I forgot what I was doing at that time, and also that the code was broken. I proceeded to spend like 3 more hours fixing my broken code, and somehow ended up with something semi-coherent. Features I need to add: Importing algorithm sets Changing the theme Tool to create algorithm sets Probably more but I forgot. (sorry it doesn’t really look much different in the screenshot but I promise I actually did a lot of stuff."}, {"post_id": 21703, "ts": "2026-07-03T20:01:51Z", "hours": 2.9117, "text": "Devlog #8: The window not displays the difference between the current solve and the previous solve. If the user got a faster time, it displays green. If they got a slower time, it displays red (like CSTimer lol). I also added a help window that dims the background when it appears. There’s not much in the help window right now. Bugs The most notable bug(?) I encountered is the thing where some coding languages return weird numbers when dealing with decimals. It turned out like -0.249999999999999999999996 or something like that. I used difference.toPrecision(2); to round it to 3 decimals and I guess it works for now."}, {"post_id": 20386, "ts": "2026-07-01T23:31:48Z", "hours": 3.2872, "text": "Devlog #7: I added box that lists all the solves the user has done, and it even saves when you close the browser or refresh the page. I also made the scramble copyable by clicking on it. I did this with local storage, so I guess it probably isn’t the best way to do it, but I couldn’t find any good tutorials for indexedDB online (probably because of my cooked attention span). I ended up storing the entire object inside a single local storage string. Notable bugs that I fixed -When any of the buttons are pressed with the mouse, any press of the spacebar triggers the button because apparently that’s how buttons work. Retrospectively, I probably could’ve use a CSS property or something idk to prevent this from happening but I just made fake buttons instead."}, {"post_id": 18849, "ts": "2026-06-30T01:31:56Z", "hours": 2.1625, "text": "Devlog #6: I CAN SEE COLOURS! I finally used some CSS, added background colours, and moved some elements. As you can see, the cube net drawing is at the bottom right and the timer and scrambles are centred now. I didn’t have internet for the majority of this, so I lowkey copied a bunch of code from my other project CubeOS, which I have saved locally still. I also added a function to hide all elements when the timer is timing, to help with focus by setting the display to none and switching it back afterwards. Lastly, I wrote a couple of JSON files (with the help of AI when I did have internet for a few minutes) that contain the cubing algorithms that the drilling mode will use. But after I was done writing them I discovered that I don’t know how to actually read files using JavaScript, so I’ll be figuring that out later."}, {"post_id": 18013, "ts": "2026-06-28T23:52:49Z", "hours": 5.0386, "text": "Devlog #5: I spent a couple of hours doing optimizations and adding features that aren’t used yet but will definitely be built upon in the future. The one change that the user can actually see doesn’t work yet because I added the UI for it before the actual functionality was added. I’m going to attach a screenshot and try to see if you can spot the difference. I did try to add a new feature (hence the aforementioned UI change) but I ended up running into a bunch of issues including the following: Functions being called before they’re defined Browser running out of memory somehow Distraction Skill issue (please laugh. i need external validation) Here are the things I need to do still: [] Add a drilling mode that helps you master doing Rubik’s cubes algorithms [] Add ability to upload your own algorithms to drill [] Add ability for the timer to store solves in local story [] Add compatibility with CSTimer.net so that you can export or import timer solves. [] Add a somewhat good GUI"}, {"post_id": 16578, "ts": "2026-06-26T23:22:03Z", "hours": 8.5214, "text": "Devlog #4: I added a net of the scrambled Rubik’s cube to my webpage. Even though a real cube moves in separate pieces, I decided to calculate the cube using the stickers. I used an array to represent all 54 stickers on the cube, and used functions that switched around the stickers to represent turning the cube’s faces. I was originally going to make a function switching around the stickers for every single face turn (there’s 12, not including rotating the entire cube, the middle slice, and the double moves). But after I made the function for turning the top face and it already took up like 100 lines of code, and deciding that I don’t want to get carpal tunnel syndrome when I’m not even an adult, I realized I could just rotate the entire cube and stick with only one face turn. This brought down my code from a potential 1200 lines to only 300. At this point, I’ve spent like 2 hours on making this cube net but there’s still nothing on screen to show for it. So I quickly coded a net of the cube using HTML and CSS and used JavaScript to change each element according to what its color in the array is. Just when everything was just about done, I ran into the biggest problem of this entire session: the net/drawing wasn’t accurate. After about 2 hours of debugging, I discovered I forgot to reset the cube before “scrambling” it again. I literally wrote a function doing just that and I forgot to use it. (I’m reading the page on how to write a devlog and apparently they’re only supposed to be 4-6 sentences… lol)"}, {"post_id": 14806, "ts": "2026-06-24T01:31:37Z", "hours": 1.6894, "text": "Devlog #3: I SWEAR THIS IS NOT INTENDED (ENTIRELY) AS A CSTIMER CLONE. Soooo… I added scrambles to my web app. (You can see the current scramble above the time). I just used JavaScript random to pick from the basic 6 moves a 3x3 Rubik’s cube, as well as a modifier (normal, prime (counterclockwise), and 2 (twice). This move is then checked against the previous move so that there won’t be any cases of someone having to do the same move twice in a row. Every time the timer stops, a new scramble is generated and replaces the old one. Also, I added a delay of one second that the user has to hold to trigger the timer. In addition to that, the timer now changes colour when you’re holding the spacebar down before starting the timer. It’s green if the timer will start when you release it, and red if it’ll just cancel the timer. Wow, this is looking more and more like a CSTimer clone, right? (honestly I agree)"}, {"post_id": 14604, "ts": "2026-06-23T19:31:50Z", "hours": 1.7858, "text": "Devlog #2: I fixed most problems with the timer. It now updates in real time, and you can (and must) use the space bar to activate it. You start it after you release the space bar, and stop it as soon as you press the space bar again, without automatically starting the timer every time you stop it (believe me, that was a problem for a long time). So far, it’s turning out like a CSTimer clone, which isn’t actually what I want at the end of the day. Even though this will probably look like a CSTimer clone for a very long time, eventually I swear I’ll make it have additional functionality."}, {"post_id": 14086, "ts": "2026-06-23T02:11:19Z", "hours": 1.485, "text": "Devlog #1: I’m trying to build a web application that acts like a timer for solving Rubik’s cubes, a scramble generator, and a cubing algorithm driller. This coding session, I built a timer (or is it called a stopwatch?). It’s not that good, and you have to physically click a button with your mouse to start and stop the timer. It also does not update live and displays the time in milliseconds, which is… not the best. I’ll improve on it later though. I’ve gained a bit of JavaScript experience from my WebOS project, so this was honestly not that hard. It was very satisfying to code though. The actual web page still looks ugly though, I’ll style it after I add the bulk of the functionality probably."}]...
|
Title: CubeTrainer by @EthanCubes | Stardance
Dev Title: CubeTrainer by @EthanCubes | Stardance
Devlogs:
Devlog #1: I’m trying to build a web application that acts like a timer for solving Rubik’s cubes, a scramble generator, and a cubing algorithm driller. This coding session, I built a timer (or is it called a stopwatch?). It’s not that good, and you have to physically click a button with your mouse to start and stop the timer. It also does not update live and displays the time in milliseconds, which is… not the best. I’ll improve on it later though. I’ve gained a bit of JavaScript experience from my WebOS project, so this was honestly not that hard. It was very satisfying to code though. The actual web page still looks ugly though, I’ll style it after I add the bulk of the functionality probably.
Devlog #2: I fixed most problems with the timer. It now updates in real time, and you can (and must) use the space bar to activate it. You start it after you release the space bar, and stop it as soon as you press the space bar again, without automatically starting the timer every time you stop it (believe me, that was a problem for a long time). So far, it’s turning out like a CSTimer clone, which isn’t actually what I want at the end of the day. Even though this will probably look like a CSTimer clone for a very long time, eventually I swear I’ll make it have additional functionality.
Devlog #3: I SWEAR THIS IS NOT INTENDED (ENTIRELY) AS A CSTIMER CLONE. Soooo… I added scrambles to my web app. (You can see the current scramble above the time). I just used JavaScript random to pick from the basic 6 moves a 3x3 Rubik’s cube, as well as a modifier (normal, prime (counterclockwise), and 2 (twice). This move is then checked against the previous move so that there won’t be any cases of someone having to do the same move twice in a row. Every time the timer stops, a new scramble is generated and replaces the old one. Also, I added a delay of one second that the user has to hold to trigger the timer. In addition to that, the timer now changes colour when you’re holding the spacebar down before starting the timer. It’s green if the timer will start when you release it, and red if it’ll just cancel the timer. Wow, this is looking more and more like a CSTimer clone, right? (honestly I agree)
Devlog #4: I added a net of the scrambled Rubik’s cube to my webpage. Even though a real cube moves in separate pieces, I decided to calculate the cube using the stickers. I used an array to represent all 54 stickers on the cube, and used functions that switched around the stickers to represent turning the cube’s faces. I was originally going to make a function switching around the stickers for every single face turn (there’s 12, not including rotating the entire cube, the middle slice, and the double moves). But after I made the function for turning the top face and it already took up like 100 lines of code, and deciding that I don’t want to get carpal tunnel syndrome when I’m not even an adult, I realized I could just rotate the entire cube and stick with only one face turn. This brought down my code from a potential 1200 lines to only 300. At this point, I’ve spent like 2 hours on making this cube net but there’s still nothing on screen to show for it. So I quickly coded a net of the cube using HTML and CSS and used JavaScript to change each element according to what its color in the array is. Just when everything was just about done, I ran into the biggest problem of this entire session: the net/drawing wasn’t accurate. After about 2 hours of debugging, I discovered I forgot to reset the cube before “scrambling” it again. I literally wrote a function doing just that and I forgot to use it. (I’m reading the page on how to write a devlog and apparently they’re only supposed to be 4-6 sentences… lol)
Devlog #5: I spent a couple of hours doing optimizations and adding features that aren’t used yet but will definitely be built upon in the future. The one change that the user can actually see doesn’t work yet because I added the UI for it before the actual functionality was added. I’m going to attach a screenshot and try to see if you can spot the difference. I did try to add a new feature (hence the aforementioned UI change) but I ended up running into a bunch of issues including the following: Functions being called before they’re defined Browser running out of memory somehow Distraction Skill issue (please laugh. i need external validation) Here are the things I need to do still: [] Add a drilling mode that helps you master doing Rubik’s cubes algorithms [] Add ability to upload your own algorithms to drill [] Add ability for the timer to store solves in local story [] Add compatibility with CSTimer.net so that you can export or import timer solves. [] Add a somewhat good GUI
Devlog #6: I CAN SEE COLOURS! I finally used some CSS, added background colours, and moved some elements. As you can see, the cube net drawing is at the bottom right and the timer and scrambles are centred now. I didn’t have internet for the majority of this, so I lowkey copied a bunch of code from my other project CubeOS, which I have saved locally still. I also added a function to hide all elements when the timer is timing, to help with focus by setting the display to none and switching it back afterwards. Lastly, I wrote a couple of JSON files (with the help of AI when I did have internet for a few minutes) that contain the cubing algorithms that the drilling mode will use. But after I was done writing them I discovered that I don’t know how to actually read files using JavaScript, so I’ll be figuring that out later.
Devlog #7: I added box that lists all the solves the user has done, and it even saves when you close the browser or refresh the page. I also made the scramble copyable by clicking on it. I did this with local storage, so I guess it probably isn’t the best way to do it, but I couldn’t find any good tutorials for indexedDB online (probably because of my cooked attention span). I ended up storing the entire object inside a single local storage string. Notable bugs that I fixed -When any of the buttons are pressed with the mouse, any press of the spacebar triggers the button because apparently that’s how buttons work. Retrospectively, I probably could’ve use a CSS property or something idk to prevent this from happening but I just made fake buttons instead.
Devlog #8: The window not displays the difference between the current solve and the previous solve. If the user got a faster time, it displays green. If they got a slower time, it displays red (like CSTimer lol). I also added a help window that dims the background when it appears. There’s not much in the help window right now. Bugs The most notable bug(?) I encountered is the thing where some coding languages return weird numbers when dealing with decimals. It turned out like -0.249999999999999999999996 or something like that. I used difference.toPrecision(2); to round it to 3 decimals and I guess it works for now.
Devlog #9: Finally. FINALLY I HAVE EVIDENCE TO BACK UP THAT THIS ISN’T A CSTIMER CLONE. The main feature that I intended to add from the start, and the main reason that I wanted to make this web app in the first place has finally been implemented. It is, of course, the ability to drill algorithms. Yes, it does need more polishing. No, you can’t import your own algorithm sets yet. But you can drill some Roux algorithms, and that’s already better than CSTimer and JPerm.net. Or at least that’s what I tell myself before I go to bed so I don’t feel like a waste of space. This session was definitely the toughest mental challenge I’ve probably ever experienced. I started to code this, but halfway through I just decided to revert some of the changes cause the code was messy and wasn’t working. I reverted the changes back to the left Git commit and discovered that I forgot what I was doing at that time, and also that the code was broken. I proceeded to spend like 3 more hours fixing my broken code, and somehow ended up with something semi-coherent. Features I need to add: Importing algorithm sets Changing the theme Tool to create algorithm sets Probably more but I forgot. (sorry it doesn’t really look much different in the screenshot but I promise I actually did a lot of stuff.
Devlog #10: So it turns out that much of the code that involves paths and fetching other files were broken. I didn’t realize that until after I posted the devlog yesterday. For the next 24 hours, I proceeded to try everything I could think of to fix it. In the process, I definitely had one or two crashouts somewhat reminiscent to Doggie Acheron 1% . I ended up just having the program fetch the JSON files and the favicon from GitHub instead of the local files. This does come with the downside of difficulties when testing the code when I don’t have wifi but that’s a small tradeoff considering I have wifi pretty often.
Devlog #11: You can finally change stuff! I added settings to the web app, including the option to hide certain elements and 3 themes. The settings even stay across sessions, unless you clear solves, in which case the settings will be reset. This was totally intentional to make sure users are mindful about their times and not just spam times and definitely not because I’m too lazy to fix that part of the code. :)
Devlog #12: I separated the times for timer mode and driller mode. Since timer mode is intended for timing entire solves and driller mode is intended for only short portions of the solve, it doesn’t make sense for them to be lumped together. I did this by adding another object inside the object for stored solves, and renaming the existing object. So now, inside of the stored solves object, there’s one object named “timer” and another named “driller”, to make it easy to get the correct object for the selected mode. I kept encountering errors on the GitHub Pages, but everything’s fine on Live Server. It’s happened so many times, it’s getting annoying. there’s literally no visual difference why do i still have to include a screenshot
Devlog 13: Final devlog before ship I didn’t add much, just fixed some bugs and inconvenient things. For example, the space bar (finally) no longer triggers the dropdown menus. That was very annoying. Also, I added an option to clear all site settings and data, in case you have a outdated save file (no one is going to have that except me probably) that’s messing things up. I also added some things to the README.
Ships:
I made a timer and algorithm driller for people who solve Rubik’s cubes (aka speedcubers). I have minimal experience with JavaScript, and since this project is extremely JavaScript heavy (9 JavaScript files with an average of like 150 lines each (max 869 min 25)), it was pretty challenging for me. I’m really proud of how I build most of the application by myself with minimal or no AI assistance. Note that this project is relatively niche and other programs that do the same thing but better already exist....
|
1793134078.9742494
|
1793220478.9742494
|
|
28065
|
EPIKOS by @smollcoin | Stardance
|
smollcoin
|
2
|
45.0
|
261
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-22T13:04:30Z", "hours": 23.0, "multiplier": 11.36, "payout": 261, "blessing": "neutral", "text": "EPIKOS final final final IT’s an epik high themed web OS! Epik High is a korean hiphop trio. now with more apps: calendar, music player, guide, terminal, a countdown. and i added some small animations. youch 45 hours that’s all! i had fun with this project. yes it took a lot of time because i had to learn new framework but i think im pretty proficient in vue now… vue > react i still struggle ALOT encapsulating the data into composables and i definitely still need more practice… thanks for reading! tmi but my favourite songs from them are: ‘Home is far away’ and ‘People Scare Me’ from the We’ve done something wonderful album. Hehe you can go check it out!", "repo": "https://github.com/smollcoin/EpikOS", "demo": "https://epik-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-07-09T15:26:46Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "E-P-I-K I am so Epik High pilled now so I made a Epik High themed OS. It’s my first time using Vue I love it so much, more than React (teehee) One small thing that I am proud of is implementing dark and light theme mode because I can never seem to get it right but this time I did it sheesh. There are still a few features that are not done yet and I will work on it #soon Hope you enjoyed it as much as I did !!!!", "repo": "https://github.com/smollcoin/EpikOS", "demo": "https://epik-os.vercel.app/"}]...
|
[{"post_id": 32939, "ts": "202 [{"post_id": 32939, "ts": "2026-07-22T12:48:37Z", "hours": 3.5181, "text": "probably the final devlog i did some small animations!! i saw a youtube video about framer motion and i decided to try it… i like its declarative approach and usage of animation props!! so yum i also made a context manager i think thats so cool too i made a guide app for people who may need more guidance in navigating the app i added skip and next buttons for my music web player yup!"}, {"post_id": 32215, "ts": "2026-07-21T07:43:10Z", "hours": 3.5453, "text": "ok made a calendar and a countdown to the next epikcase youtube drop… apps now can be resized in every direction!!!! that was challenging for me. i don’t know it was just hard to figure it out thank god theres no rotate function or else it would probbly be impossible to calculate im gonna put in animations and sound effects now… maybe a loading screen too"}, {"post_id": 31272, "ts": "2026-07-19T15:29:50Z", "hours": 4.4642, "text": "i would love to put a video but i keep getting bad gatway error due to my slow internet connection but i styled it and added a few more epik high albums! and theres even a cute gif when its in a loading state because i did not want to confuse users. i also did a bit of restructuring and divided them into smaller components…"}, {"post_id": 30000, "ts": "2026-07-17T07:23:08Z", "hours": 8.3589, "text": "what ive done logic for the music player when i first started this i thought it wouldn’t take long but it did… and i haven’t finished styling yet so it looks really bad… so why it took so long was at first i tried searching up to use spotify, but realised only premium members can select track so never mind… then i considered storing all the songs in a file storage server but i felt bad downloading the songs so i explored other options… so i went to search up how other WebOS does their music player and the ariana grande one used the youtube API so i looked into it… thanks it worked!! ok so after it worked, i tried to separate them into composable and smaller components because it got too messy on one file and that’s where i spent so much time on this… now im gonna style this better…"}, {"post_id": 27175, "ts": "2026-07-12T14:31:06Z", "hours": 3.1792, "text": "yay updates: terminal app with 9 commands and good formatting!! you can upload custom wallpapers now!! i now know how to use the pre html tag… wow. also its my first time trying to setup a terminal like app that includes cycling pass through past commands and displaying output histrory correctly. there’s like a bug that doesn’t automatically scroll down towards the bottom and that makes me sad because i can’t fix it but other than that i think its good hehe"}, {"post_id": 25301, "ts": "2026-07-09T14:47:50Z", "hours": 3.1089, "text": "i am so happy what has changed: settings app with dark and light mode and can change background new start screen new cursor i feel so delighted when the dark/light mode thing worked because embarrassingly i have never successfully implemented one before"}, {"post_id": 24008, "ts": "2026-07-07T09:09:58Z", "hours": 3.1794, "text": "dang i lost my streak but yes i made notes app using tiptap package gallery app but its more of a scroll thing enjoy i will work on a start screen and then… maybe one more app…"}, {"post_id": 21235, "ts": "2026-07-03T02:12:55Z", "hours": 3.3536, "text": "i built a browser app with two tabs! and the links are their stuff on another page! i also showed icons on the desktop using grid css because I may want to make them organizable in the future…"}, {"post_id": 20137, "ts": "2026-07-01T17:57:02Z", "hours": 4.4075, "text": "ok it really is coming together (very slowly) things i did: desktop now renders open/maximized windows on screen dynamic modal positioning for search and calendar fullscreen toggle adjust wallpaper images (lowkey the hardest part i can’t seem to find any good high quality landscape pics and i am too lazy to edit one) i was so happy when the windows appeared i can’t believe that i could do this !! now i need to list out the icons on the screen and make all the APPS!!!"}, {"post_id": 19321, "ts": "2026-06-30T16:31:09Z", "hours": 2.7989, "text": "things i did: rewrote useDrag logic to use the useAppsState file and limit dragging only in the viewport wrote useResize logic (only can resize one way because i suck at it and im not motivated to do this) define useAppState, wrote function to modify for useAppState i think i have it figured out… it should be in a global AppsState kinda thing. At first i tried separating them into app info and the state of it eg. open closed, size position etc but i got confused so even though its not good practice i just… smashed them all together i feel im getting impatient / losing motivation for this project but i don’t know… this is so random but v-bind is so insane as a beginner vue developer omgomgomgomgo-"}, {"post_id": 19070, "ts": "2026-06-30T08:19:51Z", "hours": 5.0222, "text": "gang i wrote so much but there’s an error so it didnt get sent im gonna cry. not very epik yet but give it like 10 more hours i did: styling finding images making windows draggable designing bottom dock but it still can’t work yet challenges: sigh im a little rusty in programming in general not sure where to put the app state and what information so i struggled hard with that unfamilarity with vue"}]...
|
Title: EPIKOS by @smollcoin | Stardance
Devlogs:
Title: EPIKOS by @smollcoin | Stardance
Devlogs:
gang i wrote so much but there’s an error so it didnt get sent im gonna cry. not very epik yet but give it like 10 more hours i did: styling finding images making windows draggable designing bottom dock but it still can’t work yet challenges: sigh im a little rusty in programming in general not sure where to put the app state and what information so i struggled hard with that unfamilarity with vue
things i did: rewrote useDrag logic to use the useAppsState file and limit dragging only in the viewport wrote useResize logic (only can resize one way because i suck at it and im not motivated to do this) define useAppState, wrote function to modify for useAppState i think i have it figured out… it should be in a global AppsState kinda thing. At first i tried separating them into app info and the state of it eg. open closed, size position etc but i got confused so even though its not good practice i just… smashed them all together i feel im getting impatient / losing motivation for this project but i don’t know… this is so random but v-bind is so insane as a beginner vue developer omgomgomgomgo-
ok it really is coming together (very slowly) things i did: desktop now renders open/maximized windows on screen dynamic modal positioning for search and calendar fullscreen toggle adjust wallpaper images (lowkey the hardest part i can’t seem to find any good high quality landscape pics and i am too lazy to edit one) i was so happy when the windows appeared i can’t believe that i could do this !! now i need to list out the icons on the screen and make all the APPS!!!
i built a browser app with two tabs! and the links are their stuff on another page! i also showed icons on the desktop using grid css because I may want to make them organizable in the future…
dang i lost my streak but yes i made notes app using tiptap package gallery app but its more of a scroll thing enjoy i will work on a start screen and then… maybe one more app…
i am so happy what has changed: settings app with dark and light mode and can change background new start screen new cursor i feel so delighted when the dark/light mode thing worked because embarrassingly i have never successfully implemented one before
yay updates: terminal app with 9 commands and good formatting!! you can upload custom wallpapers now!! i now know how to use the pre html tag… wow. also its my first time trying to setup a terminal like app that includes cycling pass through past commands and displaying output histrory correctly. there’s like a bug that doesn’t automatically scroll down towards the bottom and that makes me sad because i can’t fix it but other than that i think its good hehe
what ive done logic for the music player when i first started this i thought it wouldn’t take long but it did… and i haven’t finished styling yet so it looks really bad… so why it took so long was at first i tried searching up to use spotify, but realised only premium members can select track so never mind… then i considered storing all the songs in a file storage server but i felt bad downloading the songs so i explored other options… so i went to search up how other WebOS does their music player and the ariana grande one used the youtube API so i looked into it… thanks it worked!! ok so after it worked, i tried to separate them into composable and smaller components because it got too messy on one file and that’s where i spent so much time on this… now im gonna style this better…
i would love to put a video but i keep getting bad gatway error due to my slow internet connection but i styled it and added a few more epik high albums! and theres even a cute gif when its in a loading state because i did not want to confuse users. i also did a bit of restructuring and divided them into smaller components…
ok made a calendar and a countdown to the next epikcase youtube drop… apps now can be resized in every direction!!!! that was challenging for me. i don’t know it was just hard to figure it out thank god theres no rotate function or else it would probbly be impossible to calculate im gonna put in animations and sound effects now… maybe a loading screen too
probably the final devlog i did some small animations!! i saw a youtube video about framer motion and i decided to try it… i like its declarative approach and usage of animation props!! so yum i also made a context manager i think thats so cool too i made a guide app for people who may need more guidance in navigating the app i added skip and next buttons for my music web player yup!
Ships:
E-P-I-K I am so Epik High pilled now so I made a Epik High themed OS. It’s my first time using Vue I love it so much, more than React (teehee) One small thing that I am proud of is implementing dark and light theme mode because I can never seem to get it right but this time I did it sheesh. There are still a few features that are not done yet and I will work on it #soon Hope you enjoyed it as much as I did !!!!
EPIKOS final final final IT’s an epik high themed web OS! Epik High is a korean hiphop trio. now with more apps: calendar, music player, guide, terminal, a countdown. and i added some small animations. youch 45 hours that’s all! i had fun with this project. yes it took a lot of time because i had to learn new framework but i think im pretty proficient in vue now… vue > react i still struggle ALOT encapsulating the data into composables and i definitely still need more practice… thanks for reading! tmi but my favourite songs from them are: ‘Home is far away’ and ‘People Scare Me’ from the We’ve done something wonderful album. Hehe you can go check it out!...
|
1793119791.9305336
|
1793206191.9305336
|
|
28785
|
DEADLINE by @ASOM | Stardance
|
ASOM
|
1
|
45.0
|
846
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T16:46:42Z", "hours": 45.0, "multiplier": 18.96, "payout": 846, "blessing": "neutral", "text": "DEADLINE is a fast-paced, top-down arcade shooter inspired by classic zombie survival modes. It features many types of weapons and perks. Defeat zombies, unlock map regions, buy better weapons, and survive as long as you can!", "repo": "https://github.com/ASOM846/DEADLINE", "demo": "https://asom846.itch.io/deadline"}]...
|
[{"post_id": 26032, "ts": "202 [{"post_id": 26032, "ts": "2026-07-10T16:44:16Z", "hours": 5.6908, "text": "DEADLINE V1.0.0 READY TO SHIP !!! Changes since last version Key features implemented Fully implemented Menu and corresponding friend classes Implemented Map selection Limited web build to small map Added README Key fixes Fixed commonly reported issues Checkout Git log for additional and more complete info Cheers"}, {"post_id": 25533, "ts": "2026-07-09T21:01:36Z", "hours": 7.175, "text": "DEADLINE V0.15.0 Latest commit Changes since last version Key features implemented Started implementing LoadingScreen Implemented Menu Added virtual screen boundary for Menu elements Added Pickups textures Implemented DoubleBarrel weapon Added v-sync Implemented better UI aiming for more minimalist look Implemented dynamic Vignette color depends on current HP and starts pulsing when hp is low Implemented dynamic transition between LoadingScreen and Game Added more night like look to the game by applying NightTint on textures and colors Key fixes Misspelled word in UI Key refactors Simplified LevelMap drawing logic Checkout Git log for additional and more complete info Cheers"}, {"post_id": 24108, "ts": "2026-07-07T13:57:37Z", "hours": 3.4833, "text": "DEADLINE V0.14.0 Latest commit Changes since last version Key features implemented Wall textures interpreter Door and barricade textures (temp probably) Grass and floor textures Key bug fixes Text in UI being unreadable due to new Player texture Key refactors Precashing biymask for wall textures Optimized some collisions (no more O^2 ) Implemented emscripten adapt for WebBuild Checkout Git log for additional and more complete info Cheers"}, {"post_id": 23623, "ts": "2026-07-06T18:04:52Z", "hours": 6.2789, "text": "DEADLINE V0.13.0 Latest commit Changes since last version Key features implemented Player textures Zombies textures Floating numbers Lose condition Lose screen Mystery box taking money to open Potions EffectManager for dealing with floating numbers and ScreenShake in the future Key bug fixes Implemented missing Reset functions Weapon indexes messed up by the addition of potions Key refactors Moved WeaponManager functions bodies to separate file Changed WeaponManager system from single inventory to templates and copping etc. Checkout Git log for additional and more complete info Cheers"}, {"post_id": 22837, "ts": "2026-07-05T13:33:03Z", "hours": 5.5431, "text": "DEADLINE V0.12.0 Key features implemented since last version Improved game balance Added ScreenShake effect Started implementing RandomWeaponSpawner witch is just a mystery box:D Created new map Implemented knife weapon, triggered by v Fully implement PickUp Key bug fixed since last version Bullet flying through closed doors Weapon reloading not stopping working when changing weapon Key refactors since last version Moved information drawing logic from Game to UI Simplified UI into single call function Moved PickUp drawing from from manager to class"}, {"post_id": 21657, "ts": "2026-07-03T18:42:29Z", "hours": 3.4197, "text": "DEADLINE V0.11.1 Key features implemented since last Dev Log V0.11.1 Cleaned up Player struct V0.11.0 Created Zombie Blockade collision V0.10.4 Started working on blockade interactions V0.10.3 Added basic pick up item interactions V0.10.2 Updated pick ups drawing V0.10.1 Started working on pick ups V0.10.0 Implemented independent CameraManager V0.9.6 Implemented camera auto offset when resizing window Implemented drawing information about DOOR possible interaction V0.9.5 Updated variables initialization logic when unlocking neighboring doors V0.9.4 Implemented auto opening neighboring doors V0.9.3 Updated pause, now pausing enemies on P Switching cam mode on SPACE Checkout Git log for additional info Cheers"}, {"post_id": 20958, "ts": "2026-07-02T18:09:33Z", "hours": 2.6914, "text": "DEADLINE V0.9.2 Key features implemented since last Dev Log V0.9.2 Work on finishing DOOR implementation Simplified LevelMap class V0.9.1 Started implementing DOOR Updated map V0.9.0 Fully implemented Weapon Shop mechanic V0.8.5 Added weapon price Added magazine price Started working on Weapon Shop Checkout Git log for additional info Cheers"}, {"post_id": 20661, "ts": "2026-07-02T10:01:22Z", "hours": 5.1783, "text": "DEADLINE V0.8.4 Key features implemented in previous versions V0.8.4 Updated map Changed weapon spawner logic from randomly assigning weapon to spawner to predefined weapon for each spawner on map V0.8.3 Added player money Money increment when killing zombie Added val variable to zombie class, it represents zombie’s “money” value Started work on weapon shop mechanic Added secondary weapon index Removed cycling through all weapons V0.8.2 Added weapon type enum Added weapon spawners vector Added weapon spawner vs player collision system Added ammo addition when pressing E when standing on weapon spawner V0.8.1 Moved weapon initialization to WeaponManager V0.8.0 Added WeaponManager Removed unused code from Player Added WEAPON_SHOP tile type V0.7.0 Added Player and Zombie collision Added hp to Player Added damage to Zombie Updated map Updated Player spawn point V0.6.5 Added AK47 weapon Added weapon reloading Added cycling through weapons vector V0.6.4 Changed weapon from holding pointer to index in weapons vector V0.6.3 Added basic weapon reloading V0.6.2 Added weapons: UZI SNIPER SHOTGUN Added weapon switching using keyboard Updated Bullet vs Zombie collision system Added temporary pause solution by pressing space key Added BulletManager for managing bullets For now I will continue to post dev logs in form of summary, because progress is currently very slow Checkout Git log for additional info Cheers"}, {"post_id": 19295, "ts": "2026-06-30T15:46:57Z", "hours": 5.2464, "text": "DEADLINE V0.6.1 Features implemented in previous versions V0.6.1 Started working on weapon system V0.6.0 Implemented bullet wall collision V0.5.1 Improved wave manager V0.5.0 Implemented BLOCKADE and ZOMBIE_SPAWNER TileType Implemented simple wave manager V0.4.0 Implemented player-wall collision system Implemented zombie live cycle Updated LevelMap V0.3.0 Implemented following camera V0.2.1 Updated grid logic - now operating on TileType instead on int V0.2.0 Implemented map loading Created MapBuilder as separate project V0.1.0 Implemented entity movement Implemented basic rendering systems Implemented flood field Implemented zombie collision V0.0.0 (Initial commit) Implemented player Implemented player movement Implemented basic zombie Checkout Git log for additional info Cheers"}]...
|
Title: DEADLINE by @ASOM | Stardance
Devlogs:
DEA Title: DEADLINE by @ASOM | Stardance
Devlogs:
DEADLINE V0.6.1 Features implemented in previous versions V0.6.1 Started working on weapon system V0.6.0 Implemented bullet wall collision V0.5.1 Improved wave manager V0.5.0 Implemented BLOCKADE and ZOMBIE_SPAWNER TileType Implemented simple wave manager V0.4.0 Implemented player-wall collision system Implemented zombie live cycle Updated LevelMap V0.3.0 Implemented following camera V0.2.1 Updated grid logic - now operating on TileType instead on int V0.2.0 Implemented map loading Created MapBuilder as separate project V0.1.0 Implemented entity movement Implemented basic rendering systems Implemented flood field Implemented zombie collision V0.0.0 (Initial commit) Implemented player Implemented player movement Implemented basic zombie Checkout Git log for additional info Cheers
DEADLINE V0.8.4 Key features implemented in previous versions V0.8.4 Updated map Changed weapon spawner logic from randomly assigning weapon to spawner to predefined weapon for each spawner on map V0.8.3 Added player money Money increment when killing zombie Added val variable to zombie class, it represents zombie’s “money” value Started work on weapon shop mechanic Added secondary weapon index Removed cycling through all weapons V0.8.2 Added weapon type enum Added weapon spawners vector Added weapon spawner vs player collision system Added ammo addition when pressing E when standing on weapon spawner V0.8.1 Moved weapon initialization to WeaponManager V0.8.0 Added WeaponManager Removed unused code from Player Added WEAPON_SHOP tile type V0.7.0 Added Player and Zombie collision Added hp to Player Added damage to Zombie Updated map Updated Player spawn point V0.6.5 Added AK47 weapon Added weapon reloading Added cycling through weapons vector V0.6.4 Changed weapon from holding pointer to index in weapons vector V0.6.3 Added basic weapon reloading V0.6.2 Added weapons: UZI SNIPER SHOTGUN Added weapon switching using keyboard Updated Bullet vs Zombie collision system Added temporary pause solution by pressing space key Added BulletManager for managing bullets For now I will continue to post dev logs in form of summary, because progress is currently very slow Checkout Git log for additional info Cheers
DEADLINE V0.9.2 Key features implemented since last Dev Log V0.9.2 Work on finishing DOOR implementation Simplified LevelMap class V0.9.1 Started implementing DOOR Updated map V0.9.0 Fully implemented Weapon Shop mechanic V0.8.5 Added weapon price Added magazine price Started working on Weapon Shop Checkout Git log for additional info Cheers
DEADLINE V0.11.1 Key features implemented since last Dev Log V0.11.1 Cleaned up Player struct V0.11.0 Created Zombie Blockade collision V0.10.4 Started working on blockade interactions V0.10.3 Added basic pick up item interactions V0.10.2 Updated pick ups drawing V0.10.1 Started working on pick ups V0.10.0 Implemented independent CameraManager V0.9.6 Implemented camera auto offset when resizing window Implemented drawing information about DOOR possible interaction V0.9.5 Updated variables initialization logic when unlocking neighboring doors V0.9.4 Implemented auto opening neighboring doors V0.9.3 Updated pause, now pausing enemies on P Switching cam mode on SPACE Checkout Git log for additional info Cheers
DEADLINE V0.12.0 Key features implemented since last version Improved game balance Added ScreenShake effect Started implementing RandomWeaponSpawner witch is just a mystery box:D Created new map Implemented knife weapon, triggered by v Fully implement PickUp Key bug fixed since last version Bullet flying through closed doors Weapon reloading not stopping working when changing weapon Key refactors since last version Moved information drawing logic from Game to UI Simplified UI into single call function Moved PickUp drawing from from manager to class
DEADLINE V0.13.0 Latest commit Changes since last version Key features implemented Player textures Zombies textures Floating numbers Lose condition Lose screen Mystery box taking money to open Potions EffectManager for dealing with floating numbers and ScreenShake in the future Key bug fixes Implemented missing Reset functions Weapon indexes messed up by the addition of potions Key refactors Moved WeaponManager functions bodies to separate file Changed WeaponManager system from single inventory to templates and copping etc. Checkout Git log for additional and more complete info Cheers
DEADLINE V0.14.0 Latest commit Changes since last version Key features implemented Wall textures interpreter Door and barricade textures (temp probably) Grass and floor textures Key bug fixes Text in UI being unreadable due to new Player texture Key refactors Precashing biymask for wall textures Optimized some collisions (no more O^2 ) Implemented emscripten adapt for WebBuild Checkout Git log for additional and more complete info Cheers
DEADLINE V0.15.0 Latest commit Changes since last version Key features implemented Started implementing LoadingScreen Implemented Menu Added virtual screen boundary for Menu elements Added Pickups textures Implemented DoubleBarrel weapon Added v-sync Implemented better UI aiming for more minimalist look Implemented dynamic Vignette color depends on current HP and starts pulsing when hp is low Implemented dynamic transition between LoadingScreen and Game Added more night like look to the game by applying NightTint on textures and colors Key fixes Misspelled word in UI Key refactors Simplified LevelMap drawing logic Checkout Git log for additional and more complete info Cheers
DEADLINE V1.0.0 READY TO SHIP !!! Changes since last version Key features implemented Fully implemented Menu and corresponding friend classes Implemented Map selection Limited web build to small map Added README Key fixes Fixed commonly reported issues Checkout Git log for additional and more complete info Cheers
Ships:
DEADLINE is a fast-paced, top-down arcade shooter inspired by classic zombie survival modes. It features many types of weapons and perks. Defeat zombies, unlock map regions, buy better weapons, and survive as long as you can!...
|
1793130581.8086414
|
1793216981.8086414
|