|
68287
|
hackpad by @Beyonder | Stardance
|
Beyonder
|
0
|
10.1
|
0
|
[]
|
[{"post_id": 80595, "ts": "202 [{"post_id": 80595, "ts": "2026-10-18T08:05:00Z", "hours": 0.9481, "text": "After searching for the perfect dimensions of oled, I placed a hollow structure in case so that i can pass wires easily to the oled."}, {"post_id": 80161, "ts": "2026-10-16T14:06:59Z", "hours": 0.4139, "text": "Modified Case’s work is in progress…"}, {"post_id": 79814, "ts": "2026-10-15T14:58:53Z", "hours": 0.8889, "text": "I changed my mind, I am modifying the Hackpad, trying to do smt different which I guess will look sick and will work pretty good…"}, {"post_id": 79540, "ts": "2026-10-14T14:53:46Z", "hours": 0.9575, "text": "I scammed again, I made whole model in tinkercad instead of fusion 360, now i just want see about the firmware building… Its almost done."}, {"post_id": 79318, "ts": "2026-10-13T14:42:38Z", "hours": 0.7117, "text": "Sooo, I completed the Case lead with the 3 squares, just some things are remaining, then i will ship it…"}, {"post_id": 79054, "ts": "2026-10-12T14:43:34Z", "hours": 0.4917, "text": "Imported the file from tinkercad to Fusion 360, also I downloaded the plate which was told to get it from that ai03’s plate generator."}, {"post_id": 78792, "ts": "2026-10-11T16:52:08Z", "hours": 0.3594, "text": "I completed the difficult part in Tinkercad instead of Fusion360, Maybe I scammed the Hackpad guide given by them, so now i’ll continue the next part in fusion360…"}, {"post_id": 78343, "ts": "2026-10-10T14:44:08Z", "hours": 1.1586, "text": "I am stuck ig, Ik it will be difficult for me to use fusion360 then too i am trying, but I am thinking to switch from fusion360 to tinkercad cuz its highkey easy to operate and to make models. Lets see…."}, {"post_id": 78075, "ts": "2026-10-09T14:17:05Z", "hours": 0.6217, "text": "IK its going to take some time to become familier with fusion 360 but i tried my best today and completed little part of the case"}, {"post_id": 77844, "ts": "2026-10-08T14:36:03Z", "hours": 0.7486, "text": "I see that this fusion 360 is highkey difficult to operate, or it is easy but it feels difficult for me as I am beginner, well I tried so much and completed this much…"}, {"post_id": 77564, "ts": "2026-10-07T14:25:48Z", "hours": 2.2664, "text": "I at last downloaded the Kicad and Fusion 360, and also I designed the PCB by refering the HackPad guide given here, lets see if I can actually make it."}, {"post_id": 77307, "ts": "2026-10-06T14:25:32Z", "hours": 0.5381, "text": "Just tried Exploring Hackpad as it is new for me, I also downloaded all the useful softwares…"}]...
|
Title: hackpad by @Beyonder | Stardance
Devlogs:
Title: hackpad by @Beyonder | Stardance
Devlogs:
Just tried Exploring Hackpad as it is new for me, I also downloaded all the useful softwares…
I at last downloaded the Kicad and Fusion 360, and also I designed the PCB by refering the HackPad guide given here, lets see if I can actually make it.
I see that this fusion 360 is highkey difficult to operate, or it is easy but it feels difficult for me as I am beginner, well I tried so much and completed this much…
IK its going to take some time to become familier with fusion 360 but i tried my best today and completed little part of the case
I am stuck ig, Ik it will be difficult for me to use fusion360 then too i am trying, but I am thinking to switch from fusion360 to tinkercad cuz its highkey easy to operate and to make models. Lets see….
I completed the difficult part in Tinkercad instead of Fusion360, Maybe I scammed the Hackpad guide given by them, so now i’ll continue the next part in fusion360…
Imported the file from tinkercad to Fusion 360, also I downloaded the plate which was told to get it from that ai03’s plate generator.
Sooo, I completed the Case lead with the 3 squares, just some things are remaining, then i will ship it…
I scammed again, I made whole model in tinkercad instead of fusion 360, now i just want see about the firmware building… Its almost done.
I changed my mind, I am modifying the Hackpad, trying to do smt different which I guess will look sick and will work pretty good…
Modified Case’s work is in progress…
After searching for the perfect dimensions of oled, I placed a hollow structure in case so that i can pass wires easily to the oled....
|
1792471770.8170424
|
1793076570.8170424
|
|
17644
|
🐈Cat lover Slack bot by @mygulash | Stardance
|
mygulash
|
1
|
1.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-13T19:23:18Z", "hours": 1.0, "multiplier": 2.98, "payout": 2, "blessing": "neutral", "text": "My first ever project with Hack Club!✨ For my first project i chose creating a slack bot. My slack bot really really loves cats and it shows🐈He will gladly send you cat fun facts, images and even memes! After few hours of work i finally finished the code and could deploy it with nest so it runs 24/7. (The hackatime timer says it took me like 50 minutes even though i worked on it for like 4 hours… lol) For a beginner it was quite challenging to understand stuff like permissions and redirect URLs but Im happy to announce that its ready to ship! :D If you´re interested in this cat loving slack bot you can learn more about it in the read.me: https://github.com/Mygulash/LiborTheSlackBot/blob/main/README.md I hope that the cat memes, images and fun facts will make your day better :)🐈 Have a lovely day and pet your cat!✨", "repo": "https://github.com/Mygulash/LiborTheSlackBot", "demo": "https://hackclub.enterprise.slack.com/archives/C0B9Y31KHST"}]...
|
[{"post_id": 8060, "ts": "2026 [{"post_id": 8060, "ts": "2026-06-13T13:39:19Z", "hours": 0.7325, "text": "Finished the code for my Catloving Slack bot and now i´m waiting for my nest to get approved so i can host it ✨"}]...
|
Title: 🐈Cat lover Slack bot by @mygulash | Stardan Title: 🐈Cat lover Slack bot by @mygulash | Stardance
Devlogs:
Finished the code for my Catloving Slack bot and now i´m waiting for my nest to get approved so i can host it ✨
Ships:
My first ever project with Hack Club!✨ For my first project i chose creating a slack bot. My slack bot really really loves cats and it shows🐈He will gladly send you cat fun facts, images and even memes! After few hours of work i finally finished the code and could deploy it with nest so it runs 24/7. (The hackatime timer says it took me like 50 minutes even though i worked on it for like 4 hours… lol) For a beginner it was quite challenging to understand stuff like permissions and redirect URLs but Im happy to announce that its ready to ship! :D If you´re interested in this cat loving slack bot you can learn more about it in the read.me: https://github.com/Mygulash/LiborTheSlackBot/blob/main/README.md I hope that the cat memes, images and fun facts will make your day better :)🐈 Have a lovely day and pet your cat!✨...
|
1792810419.7140512
|
1792896819.7140512
|
|
63541
|
InferWeave by @Amadev | Stardance
|
Amadev
|
0
|
10.16
|
0
|
[]
|
[{"post_id": 80600, "ts": "202 [{"post_id": 80600, "ts": "2026-10-18T08:22:47Z", "hours": 10.1589, "text": "Hi! I’m building InferWeave, an open-source Python SDK that makes deploying AI models on cloud GPUs easier to manage. Instead of wiring every application to a different provider API, you can use one async interface to launch a model, connect to its inference endpoint, check on a deployment, recover it later, and shut it down when you’re done. The project brings together provider integrations such as Modal, Lightning AI, RunPod, and Vast.ai, along with runtime configuration, health checks, and deployment lifecycle tools. My goal is to make it simpler to get a model running on GPU infrastructure and keep track of it without hiding the details that matter. InferWeave is still evolving, and I’ll share progress and the challenges I run into here. You can explore the code on GitHub: https://github.com/AmaLS367/InferWeave"}]...
|
Title: InferWeave by @Amadev | Stardance
Devlogs: Title: InferWeave by @Amadev | Stardance
Devlogs:
Hi! I’m building InferWeave, an open-source Python SDK that makes deploying AI models on cloud GPUs easier to manage. Instead of wiring every application to a different provider API, you can use one async interface to launch a model, connect to its inference endpoint, check on a deployment, recover it later, and shut it down when you’re done. The project brings together provider integrations such as Modal, Lightning AI, RunPod, and Vast.ai, along with runtime configuration, health checks, and deployment lifecycle tools. My goal is to make it simpler to get a model running on GPU infrastructure and keep track of it without hiding the details that matter. InferWeave is still evolving, and I’ll share progress and the challenges I run into here. You can explore the code on GitHub: https://github.com/AmaLS367/InferWeave...
|
1792442984.8203912
|
1793047784.8203912
|
|
70295
|
traval website by @_iamhannann404_ | Stardance
|
_iamhannann404_
|
0
|
1.13
|
0
|
[]
|
[{"post_id": 80601, "ts": "202 [{"post_id": 80601, "ts": "2026-10-18T08:39:33Z", "hours": 1.1325, "text": "I make website on travel agency"}]...
|
Title: traval website by @_iamhannann404_ | Starda Title: traval website by @_iamhannann404_ | Stardance
Devlogs:
I make website on travel agency...
|
1792320429.2740781
|
1792925229.2740781
|
|
65665
|
My own site! by @mangoman | Stardance
|
mangoman
|
1
|
3.01
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T13:25:12Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a very simple site.But its my own and i like ir. Hardest part was the css and website hosting", "repo": "https://github.com/ismangoman/personal-site", "demo": "https://mangotechboy.dpdns.org"}]...
|
[{"post_id": 80603, "ts": "202 [{"post_id": 80603, "ts": "2026-10-18T08:43:18Z", "hours": 0.2731, "text": "Added an image to the sight and cleaned up the code a lil bit and upadted link in readme"}, {"post_id": 80596, "ts": "2026-10-18T08:07:49Z", "hours": 0.5772, "text": "I added a section about me. I had to use ai cuz after adding it the colours of the divs and text dissapered. I also changed the domain to a domain I had which hadd nothing on the root of it. now i will add a few images"}, {"post_id": 73874, "ts": "2026-09-26T07:22:14Z", "hours": 1.1578, "text": "So i improved the site by horizontally centering the divs, adding a background colour, adding some animations, made all the boxes use percentage sizes instead of pixel sizes becuas percentage works better. Added some fonts to. I also added a better readme and added a icon"}, {"post_id": 73595, "ts": "2026-09-25T13:18:04Z", "hours": 0.8222, "text": "So basically I started making the website. First i did the HTML of the website, after doing that i made the div’s then the css. I had to use one other tutorial from w3schools.com for the css. After making the website i tried to host on github pages but found i had an Iq too low so i had to use vercel pages.Then I just added the info to starance and done."}]...
|
Title: My own site! by @mangoman | Stardance
Devl Title: My own site! by @mangoman | Stardance
Devlogs:
So basically I started making the website. First i did the HTML of the website, after doing that i made the div’s then the css. I had to use one other tutorial from w3schools.com for the css. After making the website i tried to host on github pages but found i had an Iq too low so i had to use vercel pages.Then I just added the info to starance and done.
So i improved the site by horizontally centering the divs, adding a background colour, adding some animations, made all the boxes use percentage sizes instead of pixel sizes becuas percentage works better. Added some fonts to. I also added a better readme and added a icon
I added a section about me. I had to use ai cuz after adding it the colours of the divs and text dissapered. I also changed the domain to a domain I had which hadd nothing on the root of it. now i will add a few images
Added an image to the sight and cleaned up the code a lil bit and upadted link in readme
Ships:
I made a very simple site.But its my own and i like ir. Hardest part was the css and website hosting...
|
1792817261.2631307
|
1792903661.2631307
|
|
39648
|
MP3 + Tamagotchi by @rabbaniputrowi | Stardance
|
rabbaniputrowi
|
0
|
50.89
|
0
|
[]
|
[{"post_id": 80604, "ts": "202 [{"post_id": 80604, "ts": "2026-10-18T08:54:49Z", "hours": 4.5825, "text": "DEVLOG #12 BUTTONS! & backbling okay so I’ve thinkered with the casing for a good chunk of time and decided to lean with these configuration of buttons while also adding a circular back bling for the battery. I’m pretty proud of this and i think I’ll stuck with this design"}, {"post_id": 77718, "ts": "2026-10-08T02:33:16Z", "hours": 3.3756, "text": "DEVLOG #11 cleaned up the repo scaffolding and created a new branch for merging the Tamagotchi and MP3 UI under one folder. Also started modelling the casing for this guy. I’m going for a star shape since it represents gifted bee’s in bee swarm simulator and also star in stardance. The casing is heavily inspired from Starboy - Lilguy"}, {"post_id": 76661, "ts": "2026-10-04T09:21:45Z", "hours": 8.4753, "text": "DEVLOG #10 added more animations for the lil guy and synced its direction with MPU6050 Replaced the flat face look and made it more dynamic by making it look as if the face is planted on a ball/globe. So when it looks around it stretches itself accordingly Replaced the intial look around with the more dynamic animation Added a shaking animation: shake the lil guy and an animation of him bouncing all over the place followed with a dizzy animation Bubble Bee face that pops up less often than the others Also change a couple things on the MP3 side! Added a track.py builder so it could write new tracks in track.json to the playlist UI. (used alot of AI for this one)"}, {"post_id": 73119, "ts": "2026-09-24T12:59:05Z", "hours": 4.3606, "text": "DEVLOG #09 owee owee re-created my initial animations from the old OLED screen to a more animated look for the bee’s! Ive still maintain the same amount of composition and i think ill be creating more! Also created a playlist selection menu where you could see the album’s cover background when your hovering over the selection"}, {"post_id": 72150, "ts": "2026-09-22T10:11:23Z", "hours": 1.9392, "text": "DEVLOG 08 Removed the Vinyl discs look on the TFT round display. I didnt quite like how it looked and i couldnt create a convincing enough design for it. So i went back to my ROOTS ive also linked it up to buttons just to display the different albums that also displays the snap-back animation!"}, {"post_id": 48376, "ts": "2026-08-16T18:14:23Z", "hours": 10.4653, "text": "DEVLOG 07 did 2 seperate sessions accross the weekend around 5 hours each. I tried creating this display when music plays. I aimed for this classic vinyl record that spins whenever an mp3 file is playing! New Features! A round display for each album/track (builds assets from a py file importing from json file to translate to cpp for all of the albums) Spins when u play, stops when you pause Snap back animation when it replays. A couple pushbacks during these session Had ALOT of debugging during this and SO much things were wrong Initially I neglected the pins definition and started placing wires randomly without double checking each GPIO capabilities; so i had to rewire a couple thing TX / RX were swapped The color saturation were so messed up Alot of typos and error during build assets"}, {"post_id": 42026, "ts": "2026-08-06T15:59:02Z", "hours": 1.3167, "text": "DEVLOG #06 Today my TFT Round display came! so i replaced my stinky old oled screen with this fancy shamcy new TFT Round display! Since it requires more pins and my current layout very tight, i rewired a bunch of stuff to free up space to integrate the tft display module I also started working on creating my initial faces on Lopaka, havent really understood the website but ill get around it. Next ill target purely to complete a new animation folder with smoother animation and brighter colors!"}, {"post_id": 39445, "ts": "2026-08-02T12:14:39Z", "hours": 5.0667, "text": "DEVLOG #05 Liked up all the animation files to the buttons. basically build.assets -> writes animation assets -> runs .ino file I divided animations into 3 groups: Idle (Blinking, Winking, Looking Around) Interactive (Affection, More Affection, Winking) Transitions (Transitions from Tamagotchi to Music section, i made a transition animation for this but idk how to show it 😭 )"}, {"post_id": 38337, "ts": "2026-07-31T17:46:12Z", "hours": 5.7828, "text": "DEVLOG #04 Made 6 folders handling animations for the OLED Tamagotchi side of this Project! Started off with trying to configure the original face and dividing it into multiple sprites and animating from there via python. BUT turns out you could just animate the entire thing with https://oled-pixel-studio.netlify.app which is awesome At the end it resulted in these 6 folders! Animation Folders include: Idle Blinking Animation Interactive Winking Animation Interactive Affection Animation: showcase this fuzzy face down here! Additional Interactive Fuzzy face with hearts around it Transition from Idle Face -> Music Face Transition from Music Face -> Melody Emblem Unfortunately the .gif files got corrupted :< but the you could check these files out at my github repo under the Tamagotchi Branch and OLED Animation folder!"}, {"post_id": 37257, "ts": "2026-07-29T20:30:09Z", "hours": 3.4836, "text": "DEVLOG #03: started working on the OLED side of things. Drew a face for my Tamagotchi companion aswel as building an animation and codebase for it."}, {"post_id": 36498, "ts": "2026-07-28T17:28:19Z", "hours": 1.4006, "text": "DEVLOG #02: Changed the wiring for conventional Jumper Wire to Jumper U wire, making things look more clean and looks good to the eye"}, {"post_id": 34723, "ts": "2026-07-25T17:52:16Z", "hours": 0.6397, "text": "moving wiring notes to repo"}]...
|
Title: MP3 + Tamagotchi by @rabbaniputrowi | Stard Title: MP3 + Tamagotchi by @rabbaniputrowi | Stardance
Devlogs:
moving wiring notes to repo
DEVLOG #02: Changed the wiring for conventional Jumper Wire to Jumper U wire, making things look more clean and looks good to the eye
DEVLOG #03: started working on the OLED side of things. Drew a face for my Tamagotchi companion aswel as building an animation and codebase for it.
DEVLOG #04 Made 6 folders handling animations for the OLED Tamagotchi side of this Project! Started off with trying to configure the original face and dividing it into multiple sprites and animating from there via python. BUT turns out you could just animate the entire thing with https://oled-pixel-studio.netlify.app which is awesome At the end it resulted in these 6 folders! Animation Folders include: Idle Blinking Animation Interactive Winking Animation Interactive Affection Animation: showcase this fuzzy face down here! Additional Interactive Fuzzy face with hearts around it Transition from Idle Face -> Music Face Transition from Music Face -> Melody Emblem Unfortunately the .gif files got corrupted :< but the you could check these files out at my github repo under the Tamagotchi Branch and OLED Animation folder!
DEVLOG #05 Liked up all the animation files to the buttons. basically build.assets -> writes animation assets -> runs .ino file I divided animations into 3 groups: Idle (Blinking, Winking, Looking Around) Interactive (Affection, More Affection, Winking) Transitions (Transitions from Tamagotchi to Music section, i made a transition animation for this but idk how to show it 😭 )
DEVLOG #06 Today my TFT Round display came! so i replaced my stinky old oled screen with this fancy shamcy new TFT Round display! Since it requires more pins and my current layout very tight, i rewired a bunch of stuff to free up space to integrate the tft display module I also started working on creating my initial faces on Lopaka, havent really understood the website but ill get around it. Next ill target purely to complete a new animation folder with smoother animation and brighter colors!
DEVLOG 07 did 2 seperate sessions accross the weekend around 5 hours each. I tried creating this display when music plays. I aimed for this classic vinyl record that spins whenever an mp3 file is playing! New Features! A round display for each album/track (builds assets from a py file importing from json file to translate to cpp for all of the albums) Spins when u play, stops when you pause Snap back animation when it replays. A couple pushbacks during these session Had ALOT of debugging during this and SO much things were wrong Initially I neglected the pins definition and started placing wires randomly without double checking each GPIO capabilities; so i had to rewire a couple thing TX / RX were swapped The color saturation were so messed up Alot of typos and error during build assets
DEVLOG 08 Removed the Vinyl discs look on the TFT round display. I didnt quite like how it looked and i couldnt create a convincing enough design for it. So i went back to my ROOTS ive also linked it up to buttons just to display the different albums that also displays the snap-back animation!
DEVLOG #09 owee owee re-created my initial animations from the old OLED screen to a more animated look for the bee’s! Ive still maintain the same amount of composition and i think ill be creating more! Also created a playlist selection menu where you could see the album’s cover background when your hovering over the selection
DEVLOG #10 added more animations for the lil guy and synced its direction with MPU6050 Replaced the flat face look and made it more dynamic by making it look as if the face is planted on a ball/globe. So when it looks around it stretches itself accordingly Replaced the intial look around with the more dynamic animation Added a shaking animation: shake the lil guy and an animation of him bouncing all over the place followed with a dizzy animation Bubble Bee face that pops up less often than the others Also change a couple things on the MP3 side! Added a track.py builder so it could write new tracks in track.json to the playlist UI. (used alot of AI for this one)
DEVLOG #11 cleaned up the repo scaffolding and created a new branch for merging the Tamagotchi and MP3 UI under one folder. Also started modelling the casing for this guy. I’m going for a star shape since it represents gifted bee’s in bee swarm simulator and also star in stardance. The casing is heavily inspired from Starboy - Lilguy
DEVLOG #12 BUTTONS! & backbling okay so I’ve thinkered with the casing for a good chunk of time and decided to lean with these configuration of buttons while also adding a circular back bling for the battery. I’m pretty proud of this and i think I’ll stuck with this design...
|
1792507650.268054
|
1793112450.268054
|
|
53926
|
Manim derivative plotter by @TyrannoJ | Stardance
|
TyrannoJ
|
2
|
53.04
|
744
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T15:32:17Z", "hours": 27.0, "multiplier": 15.47, "payout": 420, "blessing": "neutral", "text": "I updated my python project: Last ship I had made a python library for plotting polynomial functions with manim. Th most common suggestion I got by reviewers is: put in on a website for better accesability, so I did :). The website runs on next.js and vercel and is connected to a python backend on a local laptop. The core logic is still my python project from before. It was quite hard to set up the site because I first wanted to host the backend on render but it didn’t like manim so i migrated it to local. Originally I also wanted to include more of my manim projects but I moved them into another project and repo now. What was very fun was the styling with tailwincss and I quite like how it turned out, also the video saving part is quite fun as it saves one new file for each request So in summary my site has the following features: A video and a picture tool where you can let the backend give you a picture/video of a function, its derivatives and the extremes and turning points… and a little joke generator :) I hope the site works and my PC can always crash but it has run for 4 days now and I’m confident. That’s about it, thank you for reading and have a good one", "repo": "https://github.com/TyrannoJ/manim", "demo": "https://manim-ochre.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-30T17:43:18Z", "hours": 24.0, "multiplier": 13.4, "payout": 324, "blessing": "neutral", "text": "Manim Derivative plotter: I started this project a week ago because I#m fascinated with 3b1b’s Animations and thougth being able to do them myself would be pretty cool, so I madde this because it was the first thing that came to mind as I had done derivatives a lot in school last year, so I just made something that can do a part of the tedious boring work for me, at least till we learn something new. Challenges At first it was a challenge to learn how exactly Manim works, but once you get the basics it is really easy to expand your knowledge because it is very logical. Then I had problems with manim sideview because it didn’t render so I had to manually render my videos through most of this project (but it was just two more clicks, so that’s okay). I also had to learn a little patience because rendering takes a long time, but I made a simple version with whih i could also test things much faster than with the long rendering animations. In the end I’m pretty proud of the logic behind the animations, especially the scaling of the axes correspnfing to the function and that I really made something I think is simple enough so I and will use it for school so it’s not just a project nobody needs but actually something useful. That’s it I think, if you want to see some of the programm outputs or test the project yourself then look in the Readme, it says there what you gotta do, i tested it and I think it should work. Thats all from me, this has been really fun, I hope you like my project and maybe someone will actually use it for school or something. Thanks for reading, have fun with the plotter :)", "repo": "https://github.com/TyrannoJ/manim", "demo": "https://manim-ochre.vercel.app/"}]...
|
[{"post_id": 80605, "ts": "202 [{"post_id": 80605, "ts": "2026-10-18T09:10:09Z", "hours": 2.0386, "text": "Devlog 13 First thanks for all the amazing reviews on my last ship, I’m very happy how it turned out. Since last time I put in a few things. What I did put in a copy button on the image (mostly with AI) so user can easily put the content somwhere else check for false inputs on the frontend, because before the backend always rendered 1x when a false input was given make the help more understandable added an alt image for testing when I can’t connect to the backend What I’ll do next I have like a 15 point to do list so I wont be running out of things to do Thank you for reading and have a nice day"}, {"post_id": 79542, "ts": "2026-10-14T15:01:58Z", "hours": 2.6258, "text": "Devlog 12 I mainly made some small help adjustments to get ready to ship What I did Added a help tab with infos and a link to the readme Made the server work on multiple workers (this is just one simple command LOL) Made all the python functions async, so it can connect to multiple users Ok, so I think I’ll get ready to ship now, there is still a ton of stuff I’ll be doing in the next version but it works for now and I want this shipped before stardance runs out. Thank you for reading, have a good one"}, {"post_id": 78880, "ts": "2026-10-11T21:08:30Z", "hours": 7.6142, "text": "Devlog 11 So, I coded a lot today, very fun stuff What I did I styled my website with tailwindcss with the help of the official documentation You can now also see the rendered videos on the site I have a joke tab on the website with jokes from here , thanks to this project where I found this awesome API I added little stuff like a very cool favicon Challenges Tailwindcss is al little messy but soooo useful Needed a little help from copilot for finding some errors as I am not that good with javascript What I’ll do next make the input more robust to user error fix a few small rendering issues make a more permanent cloudflared tunnel ship hopefully tomorrow That’s it, coding is cool, if you like, try my website here , have a nice one, thanks for reading"}, {"post_id": 78188, "ts": "2026-10-09T22:18:53Z", "hours": 6.4897, "text": "Devlog 10 Ok, so I didn’t write for some time but I have done some pretty cool stuff actually. What I did first I worked a little more on another explanatory video for school, before moving it to another project because it didn’t fit here very well Mainly I worked on getting the website working (with a lot of help from my friend perplexity) -first I made the video upload from python to next.js work on my PC then I deployed the frontend on vercel -Tried to deploy backend on render but it didn’t like manim very much so I instead put it on my Linux Laptop and it’s working now for pictures at least What I’ll do next Make the website more stable and let it upload videos too and make it look better (whoooo CSS) That’s about all, you’re welcome to try my project at manim-ochre.vercel.app"}, {"post_id": 75238, "ts": "2026-09-29T15:37:06Z", "hours": 6.1378, "text": "Devlog 9 So I didn’t write for long time because I have been busy with other projects but I have done mainly two new things while waiting for the project to get reviewed Add a new video I basically want to turn this repository into a collection of all the things I do with manim and I had to make a video about electric potential for school so I put it in there and it is quite cool and useful Start website development It appears that a python library is harder to do than I thought, so my plan is now to make a website and let my computer handle all the python. For now it is local and you can only send text to the backend but if it works it will be sooo cool. I’m using Next.js and FastAPI which I already know from a former project. That’s as they say it for now, thanks for reading, have a nice one"}, {"post_id": 69216, "ts": "2026-09-16T16:35:27Z", "hours": 2.6294, "text": "Devlog 8 I think I am finally finished now, I tried to make a standalone executable but the packaging tool didn’t like me and I didn’t like it. So I made a Pypi release!!! It was my first so I had to read through the documentation and also get a little explaining from copilot but it is actually surprisingly simple. I just had to create a folder structure a README (had it already) a pyproject-toml (configuration) a LICENSE then just build and ship finished!!! So you can very easily try my project out now just run pip install manim-derivative-plotter and use render_animation() and render_picture() but I explain all of it in the Readme Sooo, I’ll ship again now, hope it works Thanks for reading, have a nice one"}, {"post_id": 59840, "ts": "2026-09-01T20:18:53Z", "hours": 1.1686, "text": "Devlog 7 After resolving the last problem I tried to ship again however there was a bug, because I had used LaTex to show the functions in my code and you have to install a seperate programm for that. So thanks to the shipping team for pointing this out, I now changed it to Typst, which for my purposes works basically like Tex but I can put in my pyproject.toml dependencies. So that’s it, hope it works for everyone now, thank you for reading and have a good one"}, {"post_id": 59447, "ts": "2026-09-01T09:30:00Z", "hours": 0.5153, "text": "Devlog 6 In my first ship try I didn’t explain how to test the project yourself on the demo site, so I now fixed that and added the explanations from the readme to the site, thanks to the shipping team for pointing this out to me and I hope it is good now. thanks for reading, have a good one"}, {"post_id": 58280, "ts": "2026-08-30T17:27:55Z", "hours": 4.1336, "text": "Devlog 6 Okay so I wanted to ship after last time but then i decided to fix a few more errors and make my project more easily testable, so here’s what i did: Changes made the input better so you can inpu for example constants without writing x0 behind them fixed a problem with x=0, where sympy.solveset would give me infinite zeros, I made so that it gives none because it was the solution that made the most sense in keeping everything as simple as possible made thg curve indicator graph also work for lines with no curvature and lines with no turning points I made the whole thing downloadable and testable over pipx made the website design a little better -made a better Readme and commented my code That is pretty much it, thanks for reading, if anybody wants to try the project, the Readme says how it’s done, thank you for reading"}, {"post_id": 55139, "ts": "2026-08-26T16:36:38Z", "hours": 2.5172, "text": "Devlog 5 final Devlog I think, after patching the last little bugs and writing a better Readme, I had a little fight with github pages because it sometimes wouldn’t show my videos, luckily I got it to work. So my Demo is now a page with the rendered videos on it and that should hopefully work for everyone. The pictures are what the demo should look like. This has been fun and I’m amazed how fast you can create cool stuff with manim, thanks to Grant Sanderson from 3blue1brown. Right, I’ll get myself some rest and think about the next manim project I will do, thanks for reading and have a nice one."}, {"post_id": 54806, "ts": "2026-08-25T22:55:48Z", "hours": 4.4847, "text": "Devlog 4 Hello again, today I did a lot of bugfixing and little tweaks to make the animation better Bugfixes fixed a bug where some functions where only partially shown on screen solved some Transform Problems by sorting the zero points Other Stuff Made functions shown on screen more appealing by removing useless +es for example added boxes behind the text so you can read it if the functions go through there made user Input more resistant against false Inputs And I finally got Manim Sideview working correctly, before that I always had to render everything and then show it with sideview, Yay!!! Gotta sleep now, it’s 1am, thanks for reading and Good night"}, {"post_id": 54425, "ts": "2026-08-25T13:05:28Z", "hours": 2.2722, "text": "Devlog 3 Sooo after the main functionalities were finished I did everyones favourite job: Bugfixing yay!!! Here is what I did today and what I still have to do Bugfixes fixed a bug where curves werent shown because they were above/below the max y values of the coordinates fixed some division by zero stuff made custom boundaries for every function because some werent rendering because they had to render too many values outside of the screen “fixed” a weird type bug in sympy.solveset by just putting a try except there made some turning points with the same values on both sides better Animations Added the second derivative to the turning points Animation Fit zeros better To Do Make the Input of derivatives simple more flexible, user error proof Fix Problems with float Inputs Make Good Readme I will go eat lunch now, thanks for reading, have a nice day!!!"}, {"post_id": 54115, "ts": "2026-08-24T22:33:01Z", "hours": 1.5247, "text": "Devlog 2 After way tooo much work today I finished all the animations after fighting with data types for a while and I added the simple mode where it just gives you the finished picture without animations. Thank you for reading, have a nice night, I gotta sleep now"}, {"post_id": 54070, "ts": "2026-08-24T20:51:04Z", "hours": 9.3264, "text": "Devlog 1 I wanted to start creating Animations with manim for a while and this was a logical place to start because we just recently learned derivatives in school Here’s what i have so far -You can input normal polynomial expressions in the source code -They are plotted along with their first and second derivative -The program sows the zero points of all those functions -It then shows the Maxima/Minima and the Turning Points I also added some fn little tweaks like the coordinate system fitting itself to whatever function you input. What I want to do next: -Make the Animations better -Maybe add other types of functions That’s about it, thanks for reading, have a nice day"}]...
|
Title: Manim derivative plotter by @TyrannoJ | Sta Title: Manim derivative plotter by @TyrannoJ | Stardance
Devlogs:
Devlog 1 I wanted to start creating Animations with manim for a while and this was a logical place to start because we just recently learned derivatives in school Here’s what i have so far -You can input normal polynomial expressions in the source code -They are plotted along with their first and second derivative -The program sows the zero points of all those functions -It then shows the Maxima/Minima and the Turning Points I also added some fn little tweaks like the coordinate system fitting itself to whatever function you input. What I want to do next: -Make the Animations better -Maybe add other types of functions That’s about it, thanks for reading, have a nice day
Devlog 2 After way tooo much work today I finished all the animations after fighting with data types for a while and I added the simple mode where it just gives you the finished picture without animations. Thank you for reading, have a nice night, I gotta sleep now
Devlog 3 Sooo after the main functionalities were finished I did everyones favourite job: Bugfixing yay!!! Here is what I did today and what I still have to do Bugfixes fixed a bug where curves werent shown because they were above/below the max y values of the coordinates fixed some division by zero stuff made custom boundaries for every function because some werent rendering because they had to render too many values outside of the screen “fixed” a weird type bug in sympy.solveset by just putting a try except there made some turning points with the same values on both sides better Animations Added the second derivative to the turning points Animation Fit zeros better To Do Make the Input of derivatives simple more flexible, user error proof Fix Problems with float Inputs Make Good Readme I will go eat lunch now, thanks for reading, have a nice day!!!
Devlog 4 Hello again, today I did a lot of bugfixing and little tweaks to make the animation better Bugfixes fixed a bug where some functions where only partially shown on screen solved some Transform Problems by sorting the zero points Other Stuff Made functions shown on screen more appealing by removing useless +es for example added boxes behind the text so you can read it if the functions go through there made user Input more resistant against false Inputs And I finally got Manim Sideview working correctly, before that I always had to render everything and then show it with sideview, Yay!!! Gotta sleep now, it’s 1am, thanks for reading and Good night
Devlog 5 final Devlog I think, after patching the last little bugs and writing a better Readme, I had a little fight with github pages because it sometimes wouldn’t show my videos, luckily I got it to work. So my Demo is now a page with the rendered videos on it and that should hopefully work for everyone. The pictures are what the demo should look like. This has been fun and I’m amazed how fast you can create cool stuff with manim, thanks to Grant Sanderson from 3blue1brown. Right, I’ll get myself some rest and think about the next manim project I will do, thanks for reading and have a nice one.
Devlog 6 Okay so I wanted to ship after last time but then i decided to fix a few more errors and make my project more easily testable, so here’s what i did: Changes made the input better so you can inpu for example constants without writing x0 behind them fixed a problem with x=0, where sympy.solveset would give me infinite zeros, I made so that it gives none because it was the solution that made the most sense in keeping everything as simple as possible made thg curve indicator graph also work for lines with no curvature and lines with no turning points I made the whole thing downloadable and testable over pipx made the website design a little better -made a better Readme and commented my code That is pretty much it, thanks for reading, if anybody wants to try the project, the Readme says how it’s done, thank you for reading
Devlog 6 In my first ship try I didn’t explain how to test the project yourself on the demo site, so I now fixed that and added the explanations from the readme to the site, thanks to the shipping team for pointing this out to me and I hope it is good now. thanks for reading, have a good one
Devlog 7 After resolving the last problem I tried to ship again however there was a bug, because I had used LaTex to show the functions in my code and you have to install a seperate programm for that. So thanks to the shipping team for pointing this out, I now changed it to Typst, which for my purposes works basically like Tex but I can put in my pyproject.toml dependencies. So that’s it, hope it works for everyone now, thank you for reading and have a good one
Devlog 8 I think I am finally finished now, I tried to make a standalone executable but the packaging tool didn’t like me and I didn’t like it. So I made a Pypi release!!! It was my first so I had to read through the documentation and also get a little explaining from copilot but it is actually surprisingly simple. I just had to create a folder structure a README (had it already) a pyproject-toml (configuration) a LICENSE then just build and ship finished!!! So you can very easily try my project out now just run pip install manim-derivative-plotter and use render_animation() and render_picture() but I explain all of it in the Readme Sooo, I’ll ship again now, hope it works Thanks for reading, have a nice one
Devlog 9 So I didn’t write for long time because I have been busy with other projects but I have done mainly two new things while waiting for the project to get reviewed Add a new video I basically want to turn this repository into a collection of all the things I do with manim and I had to make a video about electric potential for school so I put it in there and it is quite cool and useful Start website development It appears that a python library is harder to do than I thought, so my plan is now to make a website and let my computer handle all the python. For now it is local and you can only send text to the backend but if it works it will be sooo cool. I’m using Next.js and FastAPI which I already know from a former project. That’s as they say it for now, thanks for reading, have a nice one
Devlog 10 Ok, so I didn’t write for some time but I have done some pretty cool stuff actually. What I did first I worked a little more on another explanatory video for school, before moving it to another project because it didn’t fit here very well Mainly I worked on getting the website working (with a lot of help from my friend perplexity) -first I made the video upload from python to next.js work on my PC then I deployed the frontend on vercel -Tried to deploy backend on render but it didn’t like manim very much so I instead put it on my Linux Laptop and it’s working now for pictures at least What I’ll do next Make the website more stable and let it upload videos too and make it look better (whoooo CSS) That’s about all, you’re welcome to try my project at manim-ochre.vercel.app
Devlog 11 So, I coded a lot today, very fun stuff What I did I styled my website with tailwindcss with the help of the official documentation You can now also see the rendered videos on the site I have a joke tab on the website with jokes from here , thanks to this project where I found this awesome API I added little stuff like a very cool favicon Challenges Tailwindcss is al little messy but soooo useful Needed a little help from copilot for finding some errors as I am not that good with javascript What I’ll do next make the input more robust to user error fix a few small rendering issues make a more permanent cloudflared tunnel ship hopefully tomorrow That’s it, coding is cool, if you like, try my website here , have a nice one, thanks for reading
Devlog 12 I mainly made some small help adjustments to get ready to ship What I did Added a help tab with infos and a link to the readme Made the server work on multiple workers (this is just one simple command LOL) Made all the python functions async, so it can connect to multiple users Ok, so I think I’ll get ready to ship now, there is still a ton of stuff I’ll be doing in the next version but it works for now and I want this shipped before stardance runs out. Thank you for reading, have a good one
Devlog 13 First thanks for all the amazing reviews on my last ship, I’m very happy how it turned out. Since last time I put in a few things. What I did put in a copy button on the image (mostly with AI) so user can easily put the content somwhere else check for false inputs on the frontend, because before the backend always rendered 1x when a false input was given make the help more understandable added an alt image for testing when I can’t connect to the backend What I’ll do next I have like a 15 point to do list so I wont be running out of things to do Thank you for reading and have a nice day
Ships:
Manim Derivative plotter: I started this project a week ago because I#m fascinated with 3b1b’s Animations and thougth being able to do them myself would be pretty cool, so I madde this because it was the first thing that came to mind as I had done derivatives a lot in school last year, so I just made something that can do a part of the tedious boring work for me, at least till we learn something new. Challenges At first it was a challenge to learn how exactly Manim works, but once you get the basics it is really easy to expand your knowledge because it is very logical. Then I had problems with manim sideview because it didn’t render so I had to manually render my videos through most of this project (but it was just two more clicks, so that’s okay). I also had to learn a little patience because rendering takes a long time, but I made a simple version with whih i could also test things much faster than with the long rendering animations. In the end I’m pretty proud of the logic behind the animations, especially the scaling of the axes correspnfing to the function and that I really made something I think is simple enough so I and will use it for school so it’s not just a project nobody needs but actually something useful. That’s it I think, if you want to see some of the programm outputs or test the project yourself then look in the Readme, it says there what you gotta do, i tested it and I think it should work. Thats all from me, this has been really fun, I hope you like my project and maybe someone will actually use it for school or something. Thanks for reading, have fun with the plotter :)
I updated my python project: Last ship I had made a python library for plotting polynomial functions with manim. Th most common suggestion I got by reviewers is: put in on a website for better accesability, so I did :). The website runs on next.js and vercel and is connected to a python backend on a local laptop. The core logic is still my python project from before. It was quite hard to set up the site because I first wanted to host the backend on render but it didn’t like manim so i migrated it to local. Originally I also wanted to include more of my manim projects but I moved them into another project and repo now. What was very fun was the styling with tailwincss and I quite like how it turned out, also the video saving part is quite fun as it saves one new file for each request So in summary my site has the following features: A video and a picture tool where you can let the backend give you a picture/video of a function, its derivatives and the extremes and turning points… and a little joke generator :) I hope the site works and my PC can always crash but it has run for 4 days now and I’m confident. That’s about it, thank you for reading and have a good one...
|
1792846113.4430408
|
1792932513.4430408
|
|
65458
|
Escape The Facility! by @Mian_Ismail_Shahbaz_Ali | Escape The Facility! by @Mian_Ismail_Shahbaz_Ali | Stardance...
|
Mian_Ismail_Shahbaz_Ali
|
0
|
13.05
|
0
|
[]
|
[{"post_id": 80610, "ts": "202 [{"post_id": 80610, "ts": "2026-10-18T09:29:20Z", "hours": 1.5831, "text": "Devlog 3 : Escape the Facility Today, I worked on improving the browser version of Escape the Facility. I updated the Junction options, removed the option to return to the Airlock, and kept the Inventory button working as intended. I also fixed the Power Control Room progression so that restoring one system lets the player return to the Research Junction instead of being sent back to the main menu. After returning, the player can access the next progression options. I tested the changes and ran node –check game.js to confirm there were no syntax errors. Next up: implementing the Security and Research sections."}, {"post_id": 80336, "ts": "2026-10-17T10:01:07Z", "hours": 1.5411, "text": "Devlog 2 : Escape the Facility Today, I continued developing ESCAPE THE FACILITY and worked on making it playable directly in a web browser using HTML, CSS, and JavaScript. I tested the browser version and fixed bugs in the survival and combat systems, including issues with health and oxygen checks. I also worked on improving the combat display and reducing duplicate stats in the story text. Challenges: Debugging conditional logic and adapting my Python text adventure into a browser-based experience. Next Steps: Continue testing the game, polish the interface, fix any remaining bugs, and push the latest changes to GitHub."}, {"post_id": 79011, "ts": "2026-10-12T10:29:22Z", "hours": 9.9269, "text": "Devlog 1 : Escape the Facility Hey everyone! This is my first devlog for my StarDance project, ESCAPE THE FACILITY. I haven’t posted any devlogs yet because I’ve mostly been focused on actually building the game. I’ve spent 9 hours and 55 minutes on it so far, and my goal is to reach 15 hours. It’s a Python text adventure set in an abandoned NASA lunar facility. So far, I’ve added exploration, combat, an inventory system, oxygen management, crew logs, puzzles, and a boss fight. Right now, I’m working on making the story flow better, fixing some bugs, and bringing the playtime closer to my 7.5-minute target. I’ll try to post updates more regularly from now on!"}]...
|
Title: Escape The Facility! by @Mian_Ismail_Shahba Title: Escape The Facility! by @Mian_Ismail_Shahbaz_Ali | Stardance
Devlogs:
Devlog 1 : Escape the Facility Hey everyone! This is my first devlog for my StarDance project, ESCAPE THE FACILITY. I haven’t posted any devlogs yet because I’ve mostly been focused on actually building the game. I’ve spent 9 hours and 55 minutes on it so far, and my goal is to reach 15 hours. It’s a Python text adventure set in an abandoned NASA lunar facility. So far, I’ve added exploration, combat, an inventory system, oxygen management, crew logs, puzzles, and a boss fight. Right now, I’m working on making the story flow better, fixing some bugs, and bringing the playtime closer to my 7.5-minute target. I’ll try to post updates more regularly from now on!
Devlog 2 : Escape the Facility Today, I continued developing ESCAPE THE FACILITY and worked on making it playable directly in a web browser using HTML, CSS, and JavaScript. I tested the browser version and fixed bugs in the survival and combat systems, including issues with health and oxygen checks. I also worked on improving the combat display and reducing duplicate stats in the story text. Challenges: Debugging conditional logic and adapting my Python text adventure into a browser-based experience. Next Steps: Continue testing the game, polish the interface, fix any remaining bugs, and push the latest changes to GitHub.
Devlog 3 : Escape the Facility Today, I worked on improving the browser version of Escape the Facility. I updated the Junction options, removed the option to return to the Airlock, and kept the Inventory button working as intended. I also fixed the Power Control Room progression so that restoring one system lets the player return to the Research Junction instead of being sent back to the main menu. After returning, the player can access the next progression options. I tested the changes and ran node –check game.js to confirm there were no syntax errors. Next up: implementing the Security and Research sections....
|
1792454019.6294067
|
1793058819.6294067
|
|
67480
|
Swordigo_Mario (BETA) by @IsoVoir | Stardance
|
IsoVoir
|
1
|
39.85
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-16T12:54:28Z", "hours": 37.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? I made a beta version of my own 2D fantasy adventure game. I worked on the environments, different pathways, backgrounds, level design, characters and other parts of the game. I tried to make it feel like a real adventure game, where the player can explore different places and face enemies. It is not perfect right now, but I made it with a lot of effort and time. What was challenging? The most challenging part for me was making the pathways and designing the levels. I struggled a lot to get the terrain and backgrounds looking the way I wanted. Sometimes things didn’t work as I expected, and I had to try again and again. Connecting the different parts of the game and fixing enemy attack and behaviour errors was also difficult for me. What are you proud of? I am proud that I didn’t give up even when things were not working properly. I spent a lot of time preparing the different parts of the game and trying to make everything work together. I used AI only for help with fixing some hostile mob behaviour and attack errors, and for converting some images to match the game’s art theme. I wanted to do the main work and understand what I was making instead of just getting the whole game generated. What should people know before trying my project? This is only the beta version, so there are still some flaws and things that need more work. I already know about many of them, and I have plans to improve them in the next updates. For now, I wanted to finish a playable version and share what I have made instead of waiting forever for everything to become perfect. I am going to work on better level design, more improvements and fixing the remaining issues in future updates. Please try my project and share your feedback. And keep an eye on my profile, because I will be working on improving the game in the next updates!", "repo": "https://github.com/kumarishan0825/SwordigoMario", "demo": "https://ishan0825.itch.io/swordigo-mario-beta-version"}]...
|
[{"post_id": 80611, "ts": "202 [{"post_id": 80611, "ts": "2026-10-18T09:30:19Z", "hours": 2.8489, "text": "All the AI art/asset I used in my game has been removed, and my code is now clean totally and the obstacles and character designing i done by my friend so that is why characters and obstacles were nothing used via seeking help with AI and the CODE of this game is really messing part where I dont took help of any kind of AI prompting, I learned and implement every single thing and this took me that much time but yeah without asset prompting and by my own efforts this game is literally took me 28 hours and For asset generation time extends 11 hours more, I honestly confirms my all the working"}, {"post_id": 80127, "ts": "2026-10-16T09:37:30Z", "hours": 6.7131, "text": "Final Devlog: I am so glad that my game is now playable and yeah it have some issues with animations of mobs but it is beta version next time i update it soon…. (1) Adding few Hostile mobs and bosses (2) Adding Winning and Death Scene (3) Fixing 239 errors while coding the nature of mobs but i got too many errors so I used claude AI to examine code that my code were faulty at which point (4)It have few issues like some bugs and some animation problem but i am unable to fix it so I am done here but overall I made it atleast good enough to explore and due to limiting resources and assets I am unable to do the music and sfx works but yeah it looks damn good"}, {"post_id": 79749, "ts": "2026-10-15T08:40:10Z", "hours": 6.2847, "text": "Devlog 10: An amazing timespent on the completion of my level “Castle wars” with its total stages development furnishment completed and only the area node to connect with player and it is finally become playable . , Only things left:- add mobs and bosses, some bizarre obstacles to interact, some beautiful animations, winning and losing scene, settings layout and also…. “volcanic end” development primarily under development and after a update i would publish"}, {"post_id": 79267, "ts": "2026-10-13T08:28:16Z", "hours": 3.2197, "text": "Devlog 9:- Plane Biome- all the stages of this level finally completed…"}, {"post_id": 79126, "ts": "2026-10-12T19:17:44Z", "hours": 2.3897, "text": "Devlog 8: “Level: Plane Biome” all 3 stages’ Background and obstacles work has done…"}, {"post_id": 78642, "ts": "2026-10-11T04:57:54Z", "hours": 4.1283, "text": "Devlog 7: I do massive changes : (i) Added a spell casting animation, (ii) Adding Master and the interaction with my player through Area 2D node and collisionshape2d (iii) Adding damage dealt by playerwhen entity came in his collision shape and connecting it with my left mouse button (iv) Resolving 29 errors and 8 warnings…. Now my code looks very healthy and easy to approachable but from next time and there is no ai usage in code, only pathway obstacle conversion into pixelated form was done by AI, I clearly admited it , I am not going to do things at same time, first i create back ground first in all then later i do some changes according to environment"}, {"post_id": 78138, "ts": "2026-10-09T18:31:53Z", "hours": 2.4664, "text": "Devlog 6: Adding Fighting animation and fixes the debug of jumping animation"}, {"post_id": 77871, "ts": "2026-10-08T16:44:25Z", "hours": 1.8572, "text": "Devlog 5; Working on Heart Dynamics after damage"}, {"post_id": 77579, "ts": "2026-10-07T15:03:52Z", "hours": 2.8178, "text": "Devlog 4: I added the parallax effect and solved some bugs of character falling and few flaws still there but resolves soon and changes some scripts to playable format."}, {"post_id": 77394, "ts": "2026-10-06T19:46:31Z", "hours": 4.3981, "text": "Devlog 3 : I add the protagonist and animate his movement and also work on background theme parallax effect but it failed badly.. Any suggestion to place the character on the static body because mine always falls even i try to resolve but here i get tired"}, {"post_id": 77013, "ts": "2026-10-05T11:20:40Z", "hours": 2.6014, "text": "Devlog 2 : I created a Menu Screen of my game and level scene Screen . Also I implemented the Global script for automated tabs and GdScript for the Menu buttons such as start etc."}, {"post_id": 76418, "ts": "2026-10-03T14:07:09Z", "hours": 0.3294, "text": "Devlog 1 : First time I am getting introduced by Godot engine. I am so excited with this project"}]...
|
Title: Swordigo_Mario (BETA) by @IsoVoir | Stardan Title: Swordigo_Mario (BETA) by @IsoVoir | Stardance
Devlogs:
Devlog 1 : First time I am getting introduced by Godot engine. I am so excited with this project
Devlog 2 : I created a Menu Screen of my game and level scene Screen . Also I implemented the Global script for automated tabs and GdScript for the Menu buttons such as start etc.
Devlog 3 : I add the protagonist and animate his movement and also work on background theme parallax effect but it failed badly.. Any suggestion to place the character on the static body because mine always falls even i try to resolve but here i get tired
Devlog 4: I added the parallax effect and solved some bugs of character falling and few flaws still there but resolves soon and changes some scripts to playable format.
Devlog 5; Working on Heart Dynamics after damage
Devlog 6: Adding Fighting animation and fixes the debug of jumping animation
Devlog 7: I do massive changes : (i) Added a spell casting animation, (ii) Adding Master and the interaction with my player through Area 2D node and collisionshape2d (iii) Adding damage dealt by playerwhen entity came in his collision shape and connecting it with my left mouse button (iv) Resolving 29 errors and 8 warnings…. Now my code looks very healthy and easy to approachable but from next time and there is no ai usage in code, only pathway obstacle conversion into pixelated form was done by AI, I clearly admited it , I am not going to do things at same time, first i create back ground first in all then later i do some changes according to environment
Devlog 8: “Level: Plane Biome” all 3 stages’ Background and obstacles work has done…
Devlog 9:- Plane Biome- all the stages of this level finally completed…
Devlog 10: An amazing timespent on the completion of my level “Castle wars” with its total stages development furnishment completed and only the area node to connect with player and it is finally become playable . , Only things left:- add mobs and bosses, some bizarre obstacles to interact, some beautiful animations, winning and losing scene, settings layout and also…. “volcanic end” development primarily under development and after a update i would publish
Final Devlog: I am so glad that my game is now playable and yeah it have some issues with animations of mobs but it is beta version next time i update it soon…. (1) Adding few Hostile mobs and bosses (2) Adding Winning and Death Scene (3) Fixing 239 errors while coding the nature of mobs but i got too many errors so I used claude AI to examine code that my code were faulty at which point (4)It have few issues like some bugs and some animation problem but i am unable to fix it so I am done here but overall I made it atleast good enough to explore and due to limiting resources and assets I am unable to do the music and sfx works but yeah it looks damn good
All the AI art/asset I used in my game has been removed, and my code is now clean totally and the obstacles and character designing i done by my friend so that is why characters and obstacles were nothing used via seeking help with AI and the CODE of this game is really messing part where I dont took help of any kind of AI prompting, I learned and implement every single thing and this took me that much time but yeah without asset prompting and by my own efforts this game is literally took me 28 hours and For asset generation time extends 11 hours more, I honestly confirms my all the working
Ships:
What did you make? I made a beta version of my own 2D fantasy adventure game. I worked on the environments, different pathways, backgrounds, level design, characters and other parts of the game. I tried to make it feel like a real adventure game, where the player can explore different places and face enemies. It is not perfect right now, but I made it with a lot of effort and time. What was challenging? The most challenging part for me was making the pathways and designing the levels. I struggled a lot to get the terrain and backgrounds looking the way I wanted. Sometimes things didn’t work as I expected, and I had to try again and again. Connecting the different parts of the game and fixing enemy attack and behaviour errors was also difficult for me. What are you proud of? I am proud that I didn’t give up even when things were not working properly. I spent a lot of time preparing the different parts of the game and trying to make everything work together. I used AI only for help with fixing some hostile mob behaviour and attack errors, and for converting some images to match the game’s art theme. I wanted to do the main work and understand what I was making instead of just getting the whole game generated. What should people know before trying my project? This is only the beta version, so there are still some flaws and things that need more work. I already know about many of them, and I have plans to improve them in the next updates. For now, I wanted to finish a playable version and share what I have made instead of waiting forever for everything to become perfect. I am going to work on better level design, more improvements and fixing the remaining issues in future updates. Please try my project and share your feedback. And keep an eye on my profile, because I will be working on improving the game in the next updates!...
|
1792857176.199529
|
1792943576.199529
|
|
53361
|
FreeDomain by @theskriptkid | Stardance
|
theskriptkid
|
1
|
26.38
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T13:52:33Z", "hours": 26.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Free SUbdomain Hosting plattform! Anyone can get a Free subdomain of the *.freedomain.meme domain, as long as its only per account. Please Note while testing: The domain May (or may not?) take up to 30-60 minutes to come up, this is because of Namecheap and I cant do anything about it! You can Only make 1 Domain per Useraccount You need an 2 Factor app on your phone You can Not change your password, we generated it for you. On the TEST Ip, you WILL GET an Certificate warning. If this were not our test IP, you would be able to use certbot or similar programms that allow you to generate an Certificate for your site. However, as we Don’t know your subdomain name, we cant do that and because of that there is an Warning (should be skippable, goto show more and then continue to site)", "repo": "https://github.com/TherealONE12/FreeDomain", "demo": "https://freedomain.meme"}]...
|
[{"post_id": 80617, "ts": "202 [{"post_id": 80617, "ts": "2026-10-18T09:58:52Z", "hours": 0.3808, "text": "fixxed stuff, clarified in readme ai usage, Redeployed everything."}, {"post_id": 75800, "ts": "2026-10-01T05:48:53Z", "hours": 2.5833, "text": "fixxed (All?) Bugss, gonna ship Now!"}, {"post_id": 69787, "ts": "2026-09-17T19:51:14Z", "hours": 1.0708, "text": "I wanted to Ship today but YAY DEBUGGING DAY! Well, thanks to zsharpminor (sorry, I only know your dc name ) and two of my real Live friends We found some bugs. And afther an hour or so of fixing stuff, There are still Bugs. Well, Gonna ship another Day! (And btw, YAY Day 20 Of 21 of Code everyday for a Pluschi!!!)"}, {"post_id": 69597, "ts": "2026-09-17T11:52:51Z", "hours": 0.8467, "text": "Deployed The Website! But Wait, why Isnt this the ship Message? Because, I sadly found a few bugs and wrong Grammar/text on the website, wich I will Fix Today a bit later, and then, it goes to one last round of Beta Testing and then I will ship (Hopefully no bugs emerge)! Im pretty hyped, as I can see the end of this Projekt!! Cant wait to share what I build!!"}, {"post_id": 68791, "ts": "2026-09-15T19:18:31Z", "hours": 2.8333, "text": "debugged, fixxed and removed useless stuff. Began on recommenting and added an (empty) readme file"}, {"post_id": 67919, "ts": "2026-09-14T07:06:43Z", "hours": 3.4039, "text": "Made the HTML sites more dynamic, and added MINIMAL logic to the code to make the HTML sites more dynamic and yeah. They still look no good, but i dont know css or html soooooo i will need some more time… (Wich is good because more time = more stardust ;) ) It broke everything existing. I dont know why or how. But heyyyyy, thats gonna be fine or something"}, {"post_id": 66082, "ts": "2026-09-11T17:30:54Z", "hours": 1.7911, "text": "Added The Admin System (Well the Logging part) I Made varius different types of logs. One for New Domains, one for varius stuff, one for Bans, etc. And They look pretty Okay!"}, {"post_id": 65810, "ts": "2026-09-11T06:10:11Z", "hours": 0.7681, "text": "Secured the Homepage, added that the real A level names get pulled from the DNS server (Namecheap) instead of just the safed entries in the database, so that it “auto-syncs” on each new request the names from the dns provider and my personal entries dont get overwritten. The next step would be to either add an small website scraper to verify the connected websites that they are sfw and dont do bad stuff (cause thats still my domain and I am getting to jail if smth happens) Or add more different html error/sucsess types so that they are acutally usefull Or to Make the Admin integrations for (un) Banning members, (re)setting the domains or smth Or to enhance the sites with some css/better html styling cause I think my rating is getting obliverated if I let them how they are right now…"}, {"post_id": 65351, "ts": "2026-09-10T13:13:27Z", "hours": 3.9522, "text": "fixxed the problem with namecheap, added support to make domains, added mayor Commenting for interested people to understand what my thoughts are on why stuff what made that way"}, {"post_id": 63803, "ts": "2026-09-07T19:27:19Z", "hours": 1.7511, "text": "Finalised and tested OTP/login/register flow, added support for subdomain-creation and added the m,ethodes to interact with namecheap api. Sadly namecheap is currently blocking all requests and idk why… Even though I added the correct api key AND the correct ip…. gotta see what I can do."}, {"post_id": 62437, "ts": "2026-09-05T19:39:20Z", "hours": 2.8569, "text": "Added background system for domain registration, and a new auth system so that you dont have to input an topt code every 10s"}, {"post_id": 59084, "ts": "2026-08-31T18:11:07Z", "hours": 4.1478, "text": "I have made some cool Progress! I added an register flow (with db) and account code generation. There are still some “minor” bugs, but its good enough for the 1. devlog."}]...
|
Title: FreeDomain by @theskriptkid | Stardance
De Title: FreeDomain by @theskriptkid | Stardance
Devlogs:
I have made some cool Progress! I added an register flow (with db) and account code generation. There are still some “minor” bugs, but its good enough for the 1. devlog.
Added background system for domain registration, and a new auth system so that you dont have to input an topt code every 10s
Finalised and tested OTP/login/register flow, added support for subdomain-creation and added the m,ethodes to interact with namecheap api. Sadly namecheap is currently blocking all requests and idk why… Even though I added the correct api key AND the correct ip…. gotta see what I can do.
fixxed the problem with namecheap, added support to make domains, added mayor Commenting for interested people to understand what my thoughts are on why stuff what made that way
Secured the Homepage, added that the real A level names get pulled from the DNS server (Namecheap) instead of just the safed entries in the database, so that it “auto-syncs” on each new request the names from the dns provider and my personal entries dont get overwritten. The next step would be to either add an small website scraper to verify the connected websites that they are sfw and dont do bad stuff (cause thats still my domain and I am getting to jail if smth happens) Or add more different html error/sucsess types so that they are acutally usefull Or to Make the Admin integrations for (un) Banning members, (re)setting the domains or smth Or to enhance the sites with some css/better html styling cause I think my rating is getting obliverated if I let them how they are right now…
Added The Admin System (Well the Logging part) I Made varius different types of logs. One for New Domains, one for varius stuff, one for Bans, etc. And They look pretty Okay!
Made the HTML sites more dynamic, and added MINIMAL logic to the code to make the HTML sites more dynamic and yeah. They still look no good, but i dont know css or html soooooo i will need some more time… (Wich is good because more time = more stardust ;) ) It broke everything existing. I dont know why or how. But heyyyyy, thats gonna be fine or something
debugged, fixxed and removed useless stuff. Began on recommenting and added an (empty) readme file
Deployed The Website! But Wait, why Isnt this the ship Message? Because, I sadly found a few bugs and wrong Grammar/text on the website, wich I will Fix Today a bit later, and then, it goes to one last round of Beta Testing and then I will ship (Hopefully no bugs emerge)! Im pretty hyped, as I can see the end of this Projekt!! Cant wait to share what I build!!
I wanted to Ship today but YAY DEBUGGING DAY! Well, thanks to zsharpminor (sorry, I only know your dc name ) and two of my real Live friends We found some bugs. And afther an hour or so of fixing stuff, There are still Bugs. Well, Gonna ship another Day! (And btw, YAY Day 20 Of 21 of Code everyday for a Pluschi!!!)
fixxed (All?) Bugss, gonna ship Now!
fixxed stuff, clarified in readme ai usage, Redeployed everything.
Ships:
I made a Free SUbdomain Hosting plattform! Anyone can get a Free subdomain of the *.freedomain.meme domain, as long as its only per account. Please Note while testing: The domain May (or may not?) take up to 30-60 minutes to come up, this is because of Namecheap and I cant do anything about it! You can Only make 1 Domain per Useraccount You need an 2 Factor app on your phone You can Not change your password, we generated it for you. On the TEST Ip, you WILL GET an Certificate warning. If this were not our test IP, you would be able to use certbot or similar programms that allow you to generate an Certificate for your site. However, as we Don’t know your subdomain name, we cant do that and because of that there is an Warning (should be skippable, goto show more and then continue to site)...
|
1792856874.457237
|
1792943274.457237
|
|
70292
|
Personal Website by @HostApple | Stardance
|
HostApple
|
0
|
0.92
|
0
|
[]
|
[{"post_id": 80620, "ts": "202 [{"post_id": 80620, "ts": "2026-10-18T10:13:29Z", "hours": 0.3703, "text": "coming together"}, {"post_id": 80607, "ts": "2026-10-18T09:20:16Z", "hours": 0.5525, "text": "the starting is always slow"}]...
|
Title: Personal Website by @HostApple | Stardance
Title: Personal Website by @HostApple | Stardance
Devlogs:
the starting is always slow
coming together...
|
1792320425.961439
|
1792925225.961439
|
|
6353
|
onecalc by @aer | Stardance
|
aer
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T10:18:21Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a whimsical b&w calculator inspired by onekey,u use the e-key of your keyboard.have lots of fun calculating with this calculator.", "repo": "https://github.com/aeratory678/onecalc", "demo": "https://onecalc-pi.vercel.app"}]...
|
[{"post_id": 80621, "ts": "202 [{"post_id": 80621, "ts": "2026-10-18T10:14:12Z", "hours": 5.1033, "text": "calculator which works with an e-key,every key has a mini-game,play it,to get the number! hihi ☆☆☆"}]...
|
Title: onecalc by @aer | Stardance
Devlogs:
calcu Title: onecalc by @aer | Stardance
Devlogs:
calculator which works with an e-key,every key has a mini-game,play it,to get the number! hihi ☆☆☆
Ships:
i made a whimsical b&w calculator inspired by onekey,u use the e-key of your keyboard.have lots of fun calculating with this calculator....
|
1792774234.441803
|
1792860634.441803
|
|
27454
|
MacWall - Website by @foundrceo | Stardance
|
foundrceo
|
3
|
116.0
|
1090
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T12:01:12Z", "hours": 18.0, "multiplier": 18.8, "payout": 331, "blessing": "neutral", "text": "Redesigned the homepage and site UI New hero, navbar, category strip and License pop-up. Features shown as rows, an Apple-style footer, and new 404 and error pages. New app icon everywhere (favicons, email logo) and a new social share image. New hero app video in 1080p, slowed down. Redesigned pricing page that says “one-time payment”. Install guide with animations, shown after you download. New help center with topic cards, search, and help inside the ⌘K command menu. Moved the whole site from Vercel to Cloudflare Workers macwall.app now runs on Cloudflare; Vercel is kept only as a backup. I connected the domains, moved the scheduled jobs (cron) over, set up caching for the landing pages, and fixed visitor country/IP detection on Cloudflare. Before the move I cut Vercel costs: videos served from R2, longer caching, lighter images, smaller 404 pages. Phone visitors On a phone, “Send to my Mac” emails you the download link instead of downloading a Mac file. “Set on Mac” opens the app directly through a macwall:// link. Wallpaper gallery and search traffic 45 wallpaper collections, more detailed wallpaper pages, and guides written to answer questions directly. Gallery sorted by most liked, with a “Download free” button and a sticky bar at the bottom. Faster loading: static gallery pages, lighter images, and full-size wallpaper files no longer served.", "repo": "https://github.com/foundrceo/MacWall-Web", "demo": "https://macwall.app/"}, {"ship_num": 2, "ts": "2026-09-16T07:40:26Z", "hours": 55.0, "multiplier": 10.94, "payout": 556, "blessing": "neutral", "text": "I just updated the entire ui ux of my website to make it 100x better and get better conversions update all the files and components name also to a professional / enterprise level", "repo": "https://github.com/foundrceo/MacWall-Web", "demo": "https://macwall.app/"}, {"ship_num": 3, "ts": "2026-07-24T10:16:41Z", "hours": 43.0, "multiplier": 9.79, "payout": 203, "blessing": "neutral", "text": "what did you make? macwall.app - the website for my macos live wallpaper app. download the free app buy pro with stripe and activate with a deep link. also pricing blog submit wallpapers and affiliates. what was challenging? getting checkout right. stripe → license email → macwall://activate had a lot of edge cases. india pricing and the reel refund flow took a few rewrites. keeping price copy in sync with real stripe prices was annoying. what are you proud of? it is live and people can actually use it. one click download one click checkout and the app unlocks. the site feels like a real product not a template. what should people know so they can test? open https://macwall.app hit download for macos (or grab the dmg on the github release). you need macos 26. browse pricing if you want to see permanent annual and reel refund. free try works without paying.", "repo": "https://github.com/foundrceo/MacWall-Web", "demo": "https://macwall.app/"}]...
|
[{"post_id": 80623, "ts": "202 [{"post_id": 80623, "ts": "2026-10-18T10:19:19Z", "hours": 10.7622, "text": "Just Shipped a major update in the ui ux overall application."}, {"post_id": 74829, "ts": "2026-09-28T12:06:55Z", "hours": 3.3728, "text": "raised macwall pricing recently and the response has actually been really good traffic is growing a lot too now around 59k visitors and 128k page views been testing pricing changes and polishing the site while watching how people respond to it"}, {"post_id": 72557, "ts": "2026-09-23T06:44:37Z", "hours": 2.4158, "text": "Update: v4.0.3Sep 18, 2026"}, {"post_id": 69630, "ts": "2026-09-17T13:22:36Z", "hours": 1.8347, "text": "mihi"}, {"post_id": 69026, "ts": "2026-09-16T07:39:04Z", "hours": 8.0711, "text": "Updated Entire Website UI/UX to 100x better :)"}, {"post_id": 64279, "ts": "2026-09-08T15:39:49Z", "hours": 0.9261, "text": "Fixes - Older free installs are treated the same as an ended trial: wallpapers stay paused until you unlock Pro."}, {"post_id": 62817, "ts": "2026-09-06T10:44:52Z", "hours": 6.8814, "text": "Improvements Public changelog page synced with shipping updates. Align the site catalog with the nine app categories. Allow timed unique conversion codes at checkout and in recovery mail."}, {"post_id": 43780, "ts": "2026-08-09T06:37:47Z", "hours": 10.1469, "text": "Improvements- Overhaul marketing copy, pricing UX, and hero assets for conversion. Fixes - Fix checkout recovery mail for failed and abandoned payments."}, {"post_id": 41147, "ts": "2026-08-05T05:28:58Z", "hours": 9.2678, "text": "New features - Public wallpaper gallery with search, SEO, and app deep links. Improvements - Clearer pricing cards, benefits, and upgrade prompts. Fixes - Fix blank wallpaper player caused by expired ISR signed URLs. Fix gallery Back wiping Show more and jumping to the footer."}, {"post_id": 39858, "ts": "2026-08-03T03:47:19Z", "hours": 13.9444, "text": "Highlights MacWall 3.0 — a redesigned Home with Liquid Glass chrome and a cleaner everyday workflow. Heart any wallpaper to bookmark it in Library Favorites without downloading. Save wallpapers to your Library, then auto-cycle them as a slideshow. New features Home rebuilt around Top Charts and Categories for faster browsing. Spotlight-style search to find wallpapers instantly (⌘K / ⌘F). One Add Wallpaper flow for private Library imports and community submissions. Save-only Library actions — keep a wallpaper without setting it on the desktop. Auto-cycle slideshow through saved Library wallpapers. Open wallpapers from macwall.app share links directly in the app. Pro+ licenses now support 10, 15, or 20 Macs. New features - Home rebuilt around Top Charts and Categories for faster browsing. Discord community invite pointed at the new server link. Improvements Liquid Glass navigation, Cause brand type, and tighter Home composition. Pro unlock sheet with glass chrome and smooth open / close motion. Escape closes overlays reliably — no blue focus ring around the window. Native Settings sidebar Forms and simpler window chrome. App icon refreshed to match macwall.app. Instagram handle updated to @macwallapp_ . Discord community invite pointed at the new server link. Highlights - MacWall 3.0 — a redesigned Home with Liquid Glass chrome and a cleaner everyday workflow. Heart any wallpaper to bookmark it in Library Favorites without downloading. Save wallpapers to your Library, then auto-cycle them as a slideshow. Spotlight-style search to find wallpapers instantly (⌘K / ⌘F). Save-only Library actions — keep a wallpaper without setting it on the desktop. Auto-cycle slideshow through saved Library wallpapers. Open wallpapers from macwall.app share links directly in the app. Improvements - Liquid Glass navigation, Cause brand type, and tighter Home composition. Favorites correctly appear in Library without a silent full download. Stronger app lifecycle, liveness, and desktop wallpaper stability. Smoother Live Support handoff with fewer stuck tickets. Fixes More reliable native wallpaper apply, repair, and extension playback. Favorites correctly appear in Library without a silent full download. Stronger app lifecycle, liveness, and desktop wallpaper stability. Smoother Live Support handoff with fewer stuck tickets. Fixes - More reliable native wallpaper apply, repair, and extension playback."}, {"post_id": 35582, "ts": "2026-07-27T03:37:07Z", "hours": 2.1853, "text": "MacWall updates after June 1, 2026"}, {"post_id": 34484, "ts": "2026-07-25T07:47:03Z", "hours": 3.4406, "text": "Working on MacWall.app :)"}, {"post_id": 33965, "ts": "2026-07-24T10:14:34Z", "hours": 0.7647, "text": "I built MacWall because I wanted live wallpapers on Mac that feel native not an Electron wrapper eating battery. The Swift app is the product. This repo is the storefront: marketing, Stripe checkout, license activation, downloads, blog, community submit, and admin tools."}, {"post_id": 33944, "ts": "2026-07-24T08:38:07Z", "hours": 14.6167, "text": "shipped pricing model today let’s go visit for free live wallpapers for your mac 💻 macwall.app get your one now !"}, {"post_id": 17445, "ts": "2026-06-28T07:04:17Z", "hours": 27.6111, "text": "live wallpaper for macos download the app now"}]...
|
Title: MacWall - Website by @foundrceo | Stardance Title: MacWall - Website by @foundrceo | Stardance
Devlogs:
live wallpaper for macos download the app now
shipped pricing model today let’s go visit for free live wallpapers for your mac 💻 macwall.app get your one now !
I built MacWall because I wanted live wallpapers on Mac that feel native not an Electron wrapper eating battery. The Swift app is the product. This repo is the storefront: marketing, Stripe checkout, license activation, downloads, blog, community submit, and admin tools.
Working on MacWall.app :)
MacWall updates after June 1, 2026
Highlights MacWall 3.0 — a redesigned Home with Liquid Glass chrome and a cleaner everyday workflow. Heart any wallpaper to bookmark it in Library Favorites without downloading. Save wallpapers to your Library, then auto-cycle them as a slideshow. New features Home rebuilt around Top Charts and Categories for faster browsing. Spotlight-style search to find wallpapers instantly (⌘K / ⌘F). One Add Wallpaper flow for private Library imports and community submissions. Save-only Library actions — keep a wallpaper without setting it on the desktop. Auto-cycle slideshow through saved Library wallpapers. Open wallpapers from macwall.app share links directly in the app. Pro+ licenses now support 10, 15, or 20 Macs. New features - Home rebuilt around Top Charts and Categories for faster browsing. Discord community invite pointed at the new server link. Improvements Liquid Glass navigation, Cause brand type, and tighter Home composition. Pro unlock sheet with glass chrome and smooth open / close motion. Escape closes overlays reliably — no blue focus ring around the window. Native Settings sidebar Forms and simpler window chrome. App icon refreshed to match macwall.app. Instagram handle updated to @macwallapp_ . Discord community invite pointed at the new server link. Highlights - MacWall 3.0 — a redesigned Home with Liquid Glass chrome and a cleaner everyday workflow. Heart any wallpaper to bookmark it in Library Favorites without downloading. Save wallpapers to your Library, then auto-cycle them as a slideshow. Spotlight-style search to find wallpapers instantly (⌘K / ⌘F). Save-only Library actions — keep a wallpaper without setting it on the desktop. Auto-cycle slideshow through saved Library wallpapers. Open wallpapers from macwall.app share links directly in the app. Improvements - Liquid Glass navigation, Cause brand type, and tighter Home composition. Favorites correctly appear in Library without a silent full download. Stronger app lifecycle, liveness, and desktop wallpaper stability. Smoother Live Support handoff with fewer stuck tickets. Fixes More reliable native wallpaper apply, repair, and extension playback. Favorites correctly appear in Library without a silent full download. Stronger app lifecycle, liveness, and desktop wallpaper stability. Smoother Live Support handoff with fewer stuck tickets. Fixes - More reliable native wallpaper apply, repair, and extension playback.
New features - Public wallpaper gallery with search, SEO, and app deep links. Improvements - Clearer pricing cards, benefits, and upgrade prompts. Fixes - Fix blank wallpaper player caused by expired ISR signed URLs. Fix gallery Back wiping Show more and jumping to the footer.
Improvements- Overhaul marketing copy, pricing UX, and hero assets for conversion. Fixes - Fix checkout recovery mail for failed and abandoned payments.
Improvements Public changelog page synced with shipping updates. Align the site catalog with the nine app categories. Allow timed unique conversion codes at checkout and in recovery mail.
Fixes - Older free installs are treated the same as an ended trial: wallpapers stay paused until you unlock Pro.
Updated Entire Website UI/UX to 100x better :)
mihi
Update: v4.0.3Sep 18, 2026
raised macwall pricing recently and the response has actually been really good traffic is growing a lot too now around 59k visitors and 128k page views been testing pricing changes and polishing the site while watching how people respond to it
Just Shipped a major update in the ui ux overall application.
Ships:
what did you make? macwall.app - the website for my macos live wallpaper app. download the free app buy pro with stripe and activate with a deep link. also pricing blog submit wallpapers and affiliates. what was challenging? getting checkout right. stripe → license email → macwall://activate had a lot of edge cases. india pricing and the reel refund flow took a few rewrites. keeping price copy in sync with real stripe prices was annoying. what are you proud of? it is live and people can actually use it. one click download one click checkout and the app unlocks. the site feels like a real product not a template. what should people know so they can test? open https://macwall.app hit download for macos (or grab the dmg on the github release). you need macos 26. browse pricing if you want to see permanent annual and reel refund. free try works without paying.
I just updated the entire ui ux of my website to make it 100x better and get better conversions update all the files and components name also to a professional / enterprise level
Redesigned the homepage and site UI New hero, navbar, category strip and License pop-up. Features shown as rows, an Apple-style footer, and new 404 and error pages. New app icon everywhere (favicons, email logo) and a new social share image. New hero app video in 1080p, slowed down. Redesigned pricing page that says “one-time payment”. Install guide with animations, shown after you download. New help center with topic cards, search, and help inside the ⌘K command menu. Moved the whole site from Vercel to Cloudflare Workers macwall.app now runs on Cloudflare; Vercel is kept only as a backup. I connected the domains, moved the scheduled jobs (cron) over, set up caching for the landing pages, and fixed visitor country/IP detection on Cloudflare. Before the move I cut Vercel costs: videos served from R2, longer caching, lighter images, smaller 404 pages. Phone visitors On a phone, “Send to my Mac” emails you the download link instead of downloading a Mac file. “Set on Mac” opens the app directly through a macwall:// link. Wallpaper gallery and search traffic 45 wallpaper collections, more detailed wallpaper pages, and guides written to answer questions directly. Gallery sorted by most liked, with a “Download free” button and a sticky bar at the bottom. Faster loading: static gallery pages, lighter images, and full-size wallpaper files no longer served....
|
1792846146.3479602
|
1792932546.3479602
|
|
70299
|
A Techy Portfolio by @melodelete | Stardance
|
melodelete
|
0
|
4.37
|
0
|
[]
|
[{"post_id": 80626, "ts": "202 [{"post_id": 80626, "ts": "2026-10-18T10:38:13Z", "hours": 0.5925, "text": "Added some pretty cool logos to each skill making it look so much better"}, {"post_id": 80608, "ts": "2026-10-18T09:26:22Z", "hours": 3.7822, "text": "Got the base site fully working, adding some more features later!"}]...
|
Title: A Techy Portfolio by @melodelete | Stardanc Title: A Techy Portfolio by @melodelete | Stardance
Devlogs:
Got the base site fully working, adding some more features later!
Added some pretty cool logos to each skill making it look so much better...
|
1792320432.8078594
|
1792925232.8078594
|
|
41369
|
Duos by @winwon23 | Stardance
|
winwon23
|
0
|
69.04
|
0
|
[]
|
[{"post_id": 80630, "ts": "202 [{"post_id": 80630, "ts": "2026-10-18T10:46:02Z", "hours": 9.1008, "text": "Devlog #13 - New maps! Progress TLDR: I made 3 new maps that replace the old test map, being indoor, forest and beach, which are all super cool, and I’ve started working on the tutorial. 2 of the 3 new maps (forrest and beach) were made via the terrain feature so I have some nice landscape for both, but I decided to keep them relatively simple The indoor map looks kinda scary like backrooms vibes which idk about, I’m not that great with lighting and stuff, and it also has a super cursed ground texture if you look outside of the indoor area… The tutorial is going along pretty well without much trouble and so far you can learn to bump and to set which is nice What’s next? As mentioned previously, I’m going to work on the scoring and graphics, and obv I want to get the tutorial done ASAP I’ll also add free practice mode bc I get that the game will probably be kinda hard for beginners I don’t have enough time in Stardance left to make cool multiplayer or even local multiplayer or difficulties, so those will come in a future event, hopefully Terra if I can stay consistent."}, {"post_id": 78015, "ts": "2026-10-09T06:46:59Z", "hours": 6.3503, "text": "Devlog #12 - New screens! Progress TLDR: I made a new splash, menu, and settings screen on the same canvas using a separate script to switch between the pages, with a transition! I’m genuinely super excited bc Duos is starting to turn into like an actual game. I used Canva to handmake all my assets and stuff which was a bit of a trek bc it doesn’t get counted toward hours but it was worth it bc the design is original I used separate scripts for buttons to enlarge on hover, dot ribbons to scroll across, and to change the text on the different modes This took quite a while since I’ve never really done much in UI other than like a basic button/canvas, so I’m pretty proud of what I’ve done. Also, I hit 60 hrs on Duos What’s next? I’m gonna work on the three maps, indoor, beach, and forrest, which should be pretty easy I’m then going to implement some graphics, so like a UI scoreboard and setboard(idk is that a thing lol) I’m also going to make the 3rd person view way better, it’s really impractical rn, I’m thinking like just volleyball style (new vb game that came out recently) Side note I’m coming close to shipping, I was previously trying to work up to 44 hrs but I realised I should probably get maybe 60-70 hrs to be safe, bc I really want to get the Bambu Lab A1 Mini…"}, {"post_id": 77239, "ts": "2026-10-06T07:44:01Z", "hours": 8.3558, "text": "Devlog #11 - Point distribution and new loading screen (?) Progress TLDR: I finished a ground detection system that sees when the ball hits the ground and gives appropriate pts. I’m also working on a new pre-menu/splash screen! The ground detection system uses a collider check that looks for when the ball hits the ground and sees where the ball was last and the last player to touch the ball, giving points accordingly There were issues with ground hits giving double points because the ball would bounce, so I had to add a cooldown that prevented this The ground hitting detection made me realise the bots kept letting the ball hit the ground first , so I had to fix that up by getting bots to hit earlier which I did by reducing hit cooldown (idk why it worked) I’m also working on a new splash screen! (check below) What’s next? Hopefully I can get the splash screen done fairly quickly now that I think I’ve finalised a design I want to make a menu screen and a tutorial I’m going to add some kind of animations for the characters I’ll also eventually add some sort of score-keeping graphics and animations"}, {"post_id": 75164, "ts": "2026-09-29T10:52:48Z", "hours": 8.5981, "text": "Devlog #10 - Gameplay systems Progress TLDR: Fine tuned bot spikes to be more consistent with a diff system, made a starting serving procedure I’m not kidding when I say I must’ve spent like 4 hours just trying to make the bots way more consistent in spiking so I switched from a fixed delay to waiting until the ball is at a certain point in order to spike Bots and players now tp to default positions at the start of gameplay and bots have a serving procedure TPs and positioning took some 3-4 hours because character controllers tend to conflict with teleporting using transform.position, which is smth I didn’t know till chat(ai) told me What’s next Going to keep working on the gameplay system so that you can play a full set at least I’m gonna hopefully then work on the menu to make it look nice I’m also going to make a tutorial since I think the game would be relatively difficult for beginners"}, {"post_id": 73533, "ts": "2026-09-25T10:35:47Z", "hours": 9.1533, "text": "Devlog #9 - Teammate Progress TLDR: Made the teammate who can make plays and spent LOTS of time fine-tuning gameplay and spikes I essentially used a similar set of code for the teammate compared to the opponent bots, except with a few changes such as decision making It took maybe 2 hrs to fine tune and fix bugs related to the spike to a point where it is somewhat consistent I also improved the touch system so each bot knows who the last player to touch the ball was which took the bulk of the time What’s next I’m planning on improving the difficulty by making the bots spike steeper angles depending on the distance from the net I’m then going to try and make the game management for point counting and stuff I’m also planning on improving the menu so that it feels more immersive Below: I must’ve written like over 1000 lines of code for the whole project"}, {"post_id": 71689, "ts": "2026-09-21T09:52:11Z", "hours": 8.9931, "text": "Devlog #8 - Bots Progress TLDR: Built a position predictor/tracker for the ball and made bots able to go to the ball/hit It took about 2-3 hrs to make the ball tracker, which uses physics/math (SUVAT equations) to solve for the general predicted position of the ball after a hit I then spent about 5-6 hrs trying to figure out how to implement the bots, as even trying to get them to move reliably to the ball position was difficult The bots can return your first ball you hit at them What’s next I’m now gonna try and make these bots able to decipher between who last touched the ball and then do sets and hits and stuff to complete playsJ I also need to figure out the teammate, which should be easier"}, {"post_id": 67056, "ts": "2026-09-13T03:09:38Z", "hours": 2.5928, "text": "Devlog #7 - Third Person Progress TLDR: Made a toggleable third person orbiting view This took a really long time because I’ve never actually made a proper third person view in Unity before It took quite a lot of code (140 lines), mainly because trying to make the camera orbit properly and not just tilt is way more complicated than it looks What’s next I’m finally get a move on and make the game manager and the teammates/opponents cpus After that, I’m hoping to do some refining work on the menus and stuff and make Duos more polished as a game, not just like a one trick pony project"}, {"post_id": 65918, "ts": "2026-09-11T11:42:45Z", "hours": 8.7131, "text": "Devlog #6 - Menu (kinda) Progress TLDR: Made a menu w/ environment and play button I haven’t worked on the game for a while bc of exams in the past few weeks, but I should hopefully still be able to complete the game before the challenge finishes. I designed a few elements in Canva and tried to pair them with an environment, which took forever bc the grass wouldn’t sway properly and kept shifting around. I linked the play button to reach the main volleyball game part, but I will probably make a submenu What’s next I’m going to start working on a 3rd person view for the character since it is pretty hard to play in first person I’m going to make a tracker for the ball so there can be more visual cues as to where its going I should hopefully be able to start making the opponents/teammate which I’ve been procrastinating on Please offer any feedback, it’s been really useful!"}, {"post_id": 40661, "ts": "2026-08-04T10:49:46Z", "hours": 1.0389, "text": "Devlog #5 - Set Progress TLDR: Added set, rerouted dive button, unified hitting system The main thing I added was a set, which is now F (for front set). If you don’t play vb, the set basically hits it high for someone else to spike (hit) the ball Changed the dive button from F to Q Moved all the hitting stuff to a unified system, so basically clicking a certain button registers a type of hit via a string that determines if you set, spike or bump. This should make it easier in the long term Any feedback’s great! Suggested gamemodes, features, arts, nitpicks are all welcome!"}, {"post_id": 40070, "ts": "2026-08-03T13:18:13Z", "hours": 1.3219, "text": "Devlog #4 - Crosshair cooldown timer Progress Made a crosshair that basically goes clear(ish) once you hit, and then goes back to opaque once the cooldown timers over (1 s) Also made the sky a little bluer All suggestions are welcome btw, I’m happy to hear what sports, features, etc you want to see in the game! Attached a vid of gameplay below and another Goober portrait"}, {"post_id": 39396, "ts": "2026-08-02T10:38:47Z", "hours": 2.6408, "text": "Devlog #3 - Dive Progress This genuinely took way too much math and testing values, but I finally got a somewhat decent looking dive implemented. When you press F, your character hits a dive and saves the ball. It uses this rectangle hitbox area, and balls that go in that area are hittable. Also shout out to @aayanalikhan09 for the idea to move the light source, now the shadows are much more unnoticeable :) Please feel free to make some suggestions, whether that be small features like lighting or big things like gamemodes/sports you’d like to see! I’ve linked a video of the dive in action below and today’s Goober photo:"}, {"post_id": 38858, "ts": "2026-08-01T12:50:17Z", "hours": 1.2911, "text": "Devlog #2 - Hit cooldown Progress Before this cooldown timer, you could basically double hit the balls and send them to space. Now, you have to wait one second between hits. Feel free to make suggestions, should I make drills, volleyball-soccer cross minigames in the future, etc Enjoy a portrait of Goober below (swipe right):"}, {"post_id": 38064, "ts": "2026-07-31T08:10:55Z", "hours": 0.8853, "text": "Devlog #1 - Foundations of Duos What’s Duos? Duos is a Unity-based 3D sports game that’s going to involve sports such as volleyball, soccer, etc. Feel free to make any suggestions on how you think I could make the game more fun :) The game will be free on Steam when I get the volleyball and soccer parts done. Progress So far, I’ve gotten down the WASD movement and jumping along with the bumping and spiking (hitting) for the volleyball. I’m starting with volleyball, then I’ll move onto soccer. The reason I haven’t made any devlogs before is because I only discovered Stardance from a teacher recently. Stay safe and have fun with your projects :) AI disclosure To be straight up, I have used a bit of Gemini/ChatGPT in some of the bugfixing for my code. Sometime’s I’ll come across some error message or smth that I have no idea what it means, so I’ll just get ai to tell me. Otherwise, the code’s all written originally by me, and I am using some free assets off the unity store for Goober and his sports equipment! I’ve also attached some portraits of the main character, Goober, and some test gameplay."}]...
|
Title: Duos by @winwon23 | Stardance
Devlogs:
Dev Title: Duos by @winwon23 | Stardance
Devlogs:
Devlog #1 - Foundations of Duos What’s Duos? Duos is a Unity-based 3D sports game that’s going to involve sports such as volleyball, soccer, etc. Feel free to make any suggestions on how you think I could make the game more fun :) The game will be free on Steam when I get the volleyball and soccer parts done. Progress So far, I’ve gotten down the WASD movement and jumping along with the bumping and spiking (hitting) for the volleyball. I’m starting with volleyball, then I’ll move onto soccer. The reason I haven’t made any devlogs before is because I only discovered Stardance from a teacher recently. Stay safe and have fun with your projects :) AI disclosure To be straight up, I have used a bit of Gemini/ChatGPT in some of the bugfixing for my code. Sometime’s I’ll come across some error message or smth that I have no idea what it means, so I’ll just get ai to tell me. Otherwise, the code’s all written originally by me, and I am using some free assets off the unity store for Goober and his sports equipment! I’ve also attached some portraits of the main character, Goober, and some test gameplay.
Devlog #2 - Hit cooldown Progress Before this cooldown timer, you could basically double hit the balls and send them to space. Now, you have to wait one second between hits. Feel free to make suggestions, should I make drills, volleyball-soccer cross minigames in the future, etc Enjoy a portrait of Goober below (swipe right):
Devlog #3 - Dive Progress This genuinely took way too much math and testing values, but I finally got a somewhat decent looking dive implemented. When you press F, your character hits a dive and saves the ball. It uses this rectangle hitbox area, and balls that go in that area are hittable. Also shout out to @aayanalikhan09 for the idea to move the light source, now the shadows are much more unnoticeable :) Please feel free to make some suggestions, whether that be small features like lighting or big things like gamemodes/sports you’d like to see! I’ve linked a video of the dive in action below and today’s Goober photo:
Devlog #4 - Crosshair cooldown timer Progress Made a crosshair that basically goes clear(ish) once you hit, and then goes back to opaque once the cooldown timers over (1 s) Also made the sky a little bluer All suggestions are welcome btw, I’m happy to hear what sports, features, etc you want to see in the game! Attached a vid of gameplay below and another Goober portrait
Devlog #5 - Set Progress TLDR: Added set, rerouted dive button, unified hitting system The main thing I added was a set, which is now F (for front set). If you don’t play vb, the set basically hits it high for someone else to spike (hit) the ball Changed the dive button from F to Q Moved all the hitting stuff to a unified system, so basically clicking a certain button registers a type of hit via a string that determines if you set, spike or bump. This should make it easier in the long term Any feedback’s great! Suggested gamemodes, features, arts, nitpicks are all welcome!
Devlog #6 - Menu (kinda) Progress TLDR: Made a menu w/ environment and play button I haven’t worked on the game for a while bc of exams in the past few weeks, but I should hopefully still be able to complete the game before the challenge finishes. I designed a few elements in Canva and tried to pair them with an environment, which took forever bc the grass wouldn’t sway properly and kept shifting around. I linked the play button to reach the main volleyball game part, but I will probably make a submenu What’s next I’m going to start working on a 3rd person view for the character since it is pretty hard to play in first person I’m going to make a tracker for the ball so there can be more visual cues as to where its going I should hopefully be able to start making the opponents/teammate which I’ve been procrastinating on Please offer any feedback, it’s been really useful!
Devlog #7 - Third Person Progress TLDR: Made a toggleable third person orbiting view This took a really long time because I’ve never actually made a proper third person view in Unity before It took quite a lot of code (140 lines), mainly because trying to make the camera orbit properly and not just tilt is way more complicated than it looks What’s next I’m finally get a move on and make the game manager and the teammates/opponents cpus After that, I’m hoping to do some refining work on the menus and stuff and make Duos more polished as a game, not just like a one trick pony project
Devlog #8 - Bots Progress TLDR: Built a position predictor/tracker for the ball and made bots able to go to the ball/hit It took about 2-3 hrs to make the ball tracker, which uses physics/math (SUVAT equations) to solve for the general predicted position of the ball after a hit I then spent about 5-6 hrs trying to figure out how to implement the bots, as even trying to get them to move reliably to the ball position was difficult The bots can return your first ball you hit at them What’s next I’m now gonna try and make these bots able to decipher between who last touched the ball and then do sets and hits and stuff to complete playsJ I also need to figure out the teammate, which should be easier
Devlog #9 - Teammate Progress TLDR: Made the teammate who can make plays and spent LOTS of time fine-tuning gameplay and spikes I essentially used a similar set of code for the teammate compared to the opponent bots, except with a few changes such as decision making It took maybe 2 hrs to fine tune and fix bugs related to the spike to a point where it is somewhat consistent I also improved the touch system so each bot knows who the last player to touch the ball was which took the bulk of the time What’s next I’m planning on improving the difficulty by making the bots spike steeper angles depending on the distance from the net I’m then going to try and make the game management for point counting and stuff I’m also planning on improving the menu so that it feels more immersive Below: I must’ve written like over 1000 lines of code for the whole project
Devlog #10 - Gameplay systems Progress TLDR: Fine tuned bot spikes to be more consistent with a diff system, made a starting serving procedure I’m not kidding when I say I must’ve spent like 4 hours just trying to make the bots way more consistent in spiking so I switched from a fixed delay to waiting until the ball is at a certain point in order to spike Bots and players now tp to default positions at the start of gameplay and bots have a serving procedure TPs and positioning took some 3-4 hours because character controllers tend to conflict with teleporting using transform.position, which is smth I didn’t know till chat(ai) told me What’s next Going to keep working on the gameplay system so that you can play a full set at least I’m gonna hopefully then work on the menu to make it look nice I’m also going to make a tutorial since I think the game would be relatively difficult for beginners
Devlog #11 - Point distribution and new loading screen (?) Progress TLDR: I finished a ground detection system that sees when the ball hits the ground and gives appropriate pts. I’m also working on a new pre-menu/splash screen! The ground detection system uses a collider check that looks for when the ball hits the ground and sees where the ball was last and the last player to touch the ball, giving points accordingly There were issues with ground hits giving double points because the ball would bounce, so I had to add a cooldown that prevented this The ground hitting detection made me realise the bots kept letting the ball hit the ground first , so I had to fix that up by getting bots to hit earlier which I did by reducing hit cooldown (idk why it worked) I’m also working on a new splash screen! (check below) What’s next? Hopefully I can get the splash screen done fairly quickly now that I think I’ve finalised a design I want to make a menu screen and a tutorial I’m going to add some kind of animations for the characters I’ll also eventually add some sort of score-keeping graphics and animations
Devlog #12 - New screens! Progress TLDR: I made a new splash, menu, and settings screen on the same canvas using a separate script to switch between the pages, with a transition! I’m genuinely super excited bc Duos is starting to turn into like an actual game. I used Canva to handmake all my assets and stuff which was a bit of a trek bc it doesn’t get counted toward hours but it was worth it bc the design is original I used separate scripts for buttons to enlarge on hover, dot ribbons to scroll across, and to change the text on the different modes This took quite a while since I’ve never really done much in UI other than like a basic button/canvas, so I’m pretty proud of what I’ve done. Also, I hit 60 hrs on Duos What’s next? I’m gonna work on the three maps, indoor, beach, and forrest, which should be pretty easy I’m then going to implement some graphics, so like a UI scoreboard and setboard(idk is that a thing lol) I’m also going to make the 3rd person view way better, it’s really impractical rn, I’m thinking like just volleyball style (new vb game that came out recently) Side note I’m coming close to shipping, I was previously trying to work up to 44 hrs but I realised I should probably get maybe 60-70 hrs to be safe, bc I really want to get the Bambu Lab A1 Mini…
Devlog #13 - New maps! Progress TLDR: I made 3 new maps that replace the old test map, being indoor, forest and beach, which are all super cool, and I’ve started working on the tutorial. 2 of the 3 new maps (forrest and beach) were made via the terrain feature so I have some nice landscape for both, but I decided to keep them relatively simple The indoor map looks kinda scary like backrooms vibes which idk about, I’m not that great with lighting and stuff, and it also has a super cursed ground texture if you look outside of the indoor area… The tutorial is going along pretty well without much trouble and so far you can learn to bump and to set which is nice What’s next? As mentioned previously, I’m going to work on the scoring and graphics, and obv I want to get the tutorial done ASAP I’ll also add free practice mode bc I get that the game will probably be kinda hard for beginners I don’t have enough time in Stardance left to make cool multiplayer or even local multiplayer or difficulties, so those will come in a future event, hopefully Terra if I can stay consistent....
|
1792802922.227178
|
1793407722.227178
|
|
64236
|
FaceML by @ChiChi | Stardance
|
ChiChi
|
0
|
10.15
|
0
|
[]
|
[{"post_id": 80631, "ts": "202 [{"post_id": 80631, "ts": "2026-10-18T10:51:43Z", "hours": 3.7286, "text": "In this iteration I worked on multiple things, first I finally finished my ML model (sort of) the accuracy is again not very high unfortunately however, what I can really do is bring this further later. For now I have just start integrating the camera where I have the basic web setup of purely headers and like buttons to activate my camera with, I have also added basic face detection from javascript which I just used the library for because I cannot be asked to make another detection software which would a project in of itself, I have also added basic green line for debug to check where your face are because my model need only the precise picture of your face and not just random part of your body, and yes that is my face, please don’t dox me. . Next iteration I will be finishing the main bit for actually outputting the prediction of the model"}, {"post_id": 76417, "ts": "2026-10-03T14:02:46Z", "hours": 3.6219, "text": "In this iteration I have worked on multiple models of the CNN by first just training it with the basic layer with no global average pooling and no augmentation of data to allow me to see which model is the best for this data set, I got a validation accuracy of around 53.13% however its not really good as I really want it to get as high as 65% as according to the thesis paper research done on the FER2013 dataset for facial expression people have reached up to 72% accuracy with a refined and tuned model Afterward I tried out Augmented data without global average pooling which got 55% and improved one which uses everything and got 57% which is fair enough Next step will probably be trying out class weight"}, {"post_id": 72444, "ts": "2026-09-22T23:33:15Z", "hours": 1.1539, "text": "I have now finished writing my CNN and now using my training data that I have finally finish organising to begin to train the network to identify the expression based on the face, I am right now using a very basic linear convolutional neural network to train it based on filters and kernel, right now I have 3 different Conv layers and in total 12 layers including the input layer with over 683000 parameters which is quite nice, this should provide me with enough complexity to actually get this working. Now I will be working towards just feeding my organised FER-2013 training data into the neural network and using keras will hopefully avoid the stupid amount of maths I need to do for like the layers e.g. gradient descent and backpropagation."}, {"post_id": 71973, "ts": "2026-09-21T21:44:11Z", "hours": 1.6433, "text": "In my first like 2 hours of this project I have actually done quite a few things: Imported Tensorflow Downloaded WSL2 for tensorflow gpu acceleration to allow training for the project later on Downloaded and imported all my files for the training data necessary for the image recognition of expression and being able to identify based on the expression which I made into a list Now making the loading of the dataset into the main program and preparing the training data of the Machine learning program by using matplotlib and make it into a set size for the CNN stuff which should hopefully allow better spatial relations between the pixels for this algorithm to work which is pretty cool Anyways enough yap and I am gonna continue"}]...
|
Title: FaceML by @ChiChi | Stardance
Devlogs:
In Title: FaceML by @ChiChi | Stardance
Devlogs:
In my first like 2 hours of this project I have actually done quite a few things: Imported Tensorflow Downloaded WSL2 for tensorflow gpu acceleration to allow training for the project later on Downloaded and imported all my files for the training data necessary for the image recognition of expression and being able to identify based on the expression which I made into a list Now making the loading of the dataset into the main program and preparing the training data of the Machine learning program by using matplotlib and make it into a set size for the CNN stuff which should hopefully allow better spatial relations between the pixels for this algorithm to work which is pretty cool Anyways enough yap and I am gonna continue
I have now finished writing my CNN and now using my training data that I have finally finish organising to begin to train the network to identify the expression based on the face, I am right now using a very basic linear convolutional neural network to train it based on filters and kernel, right now I have 3 different Conv layers and in total 12 layers including the input layer with over 683000 parameters which is quite nice, this should provide me with enough complexity to actually get this working. Now I will be working towards just feeding my organised FER-2013 training data into the neural network and using keras will hopefully avoid the stupid amount of maths I need to do for like the layers e.g. gradient descent and backpropagation.
In this iteration I have worked on multiple models of the CNN by first just training it with the basic layer with no global average pooling and no augmentation of data to allow me to see which model is the best for this data set, I got a validation accuracy of around 53.13% however its not really good as I really want it to get as high as 65% as according to the thesis paper research done on the FER2013 dataset for facial expression people have reached up to 72% accuracy with a refined and tuned model Afterward I tried out Augmented data without global average pooling which got 55% and improved one which uses everything and got 57% which is fair enough Next step will probably be trying out class weight
In this iteration I worked on multiple things, first I finally finished my ML model (sort of) the accuracy is again not very high unfortunately however, what I can really do is bring this further later. For now I have just start integrating the camera where I have the basic web setup of purely headers and like buttons to activate my camera with, I have also added basic face detection from javascript which I just used the library for because I cannot be asked to make another detection software which would a project in of itself, I have also added basic green line for debug to check where your face are because my model need only the precise picture of your face and not just random part of your body, and yes that is my face, please don’t dox me. . Next iteration I will be finishing the main bit for actually outputting the prediction of the model...
|
1792446617.788986
|
1793051417.788986
|
|
69166
|
RADAR SYSTEM USING ARDUINO UNO by @damu_7341 | Sta RADAR SYSTEM USING ARDUINO UNO by @damu_7341 | Stardance...
|
damu_7341
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T16:41:16Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I WAS CURIOUS ABOUT IT’S WORKING CONDITION.TO TEST IT I MADE IT.THE CHALLENGING PART WAS THE CODING,CONNECTIONS,TIMELAPSE. DURING THE TIME LAPSE DUE TO OVERHEAT OF THE SYSTEM I GOT BURNS TO MY FINGER TIPS,BE CAREFUL. SPENT 4 SLEEPLESS NIGHTS FOR THIS PROJECT. PEOPLE CAN KNOW HOW A RADAR SYSTEM IN AIR TRAFFIC CONTROL(ATC),MILITARY, AIRFORCE,NAVY ACTUALLY WORK. EASY TO BUILD,HARD TO MANAGE. GOOD LUCK 🤞 AND HAVE A TRY ..", "repo": "https://github.com/damu7341/damu.7341-gmail.com", "demo": ""}]...
|
[{"post_id": 80632, "ts": "202 [{"post_id": 80632, "ts": "2026-10-18T10:54:22Z", "hours": 2.6186, "text": "I AM ACTUALLY WORKING ON A HARD WARE PROJECT USING ARDUINO UNO,ULTRA SONIC SENSOR,SERVI MOTOR;THESE ARE ALSO BUDGET FRIENDLY ITEMS…(BE CAREFUL, WHILE WORKING LONG TIME SYSTEM MIGHT OVER HEAR)"}]...
|
Title: RADAR SYSTEM USING ARDUINO UNO by @damu_734 Title: RADAR SYSTEM USING ARDUINO UNO by @damu_7341 | Stardance
Devlogs:
I AM ACTUALLY WORKING ON A HARD WARE PROJECT USING ARDUINO UNO,ULTRA SONIC SENSOR,SERVI MOTOR;THESE ARE ALSO BUDGET FRIENDLY ITEMS…(BE CAREFUL, WHILE WORKING LONG TIME SYSTEM MIGHT OVER HEAR)
Ships:
I WAS CURIOUS ABOUT IT’S WORKING CONDITION.TO TEST IT I MADE IT.THE CHALLENGING PART WAS THE CODING,CONNECTIONS,TIMELAPSE. DURING THE TIME LAPSE DUE TO OVERHEAT OF THE SYSTEM I GOT BURNS TO MY FINGER TIPS,BE CAREFUL. SPENT 4 SLEEPLESS NIGHTS FOR THIS PROJECT. PEOPLE CAN KNOW HOW A RADAR SYSTEM IN AIR TRAFFIC CONTROL(ATC),MILITARY, AIRFORCE,NAVY ACTUALLY WORK. EASY TO BUILD,HARD TO MANAGE. GOOD LUCK 🤞 AND HAVE A TRY .....
|
1792857222.1075559
|
1792943622.1075559
|
|
136
|
Clientwarden by @CT5 | Stardance
|
CT5
|
0
|
282.93
|
0
|
[]
|
[{"post_id": 80638, "ts": "202 [{"post_id": 80638, "ts": "2026-10-18T11:24:17Z", "hours": 9.7372, "text": "BitWarden Vendor Architecture - Part 5 I kinda hoped that Sync would be easier but its pretty much as hard as Orchestrator, despite looking at the sync logic before hand and having to do less. I also rushed a ton of the stuff, so I need to have another look over the whole codebase and add comments and stuff before I continue again. I also need to handle all the todos and stuff. Tomorrow Im going to work on a lot of the bugs and errors with the runtime, sync and orchestrator because I did rush a lot of it."}, {"post_id": 79747, "ts": "2026-10-15T08:37:16Z", "hours": 9.7283, "text": "BitWarden Vendor Architecture - Part 4 I forgot to devlog today, so consider this 8h and 30mins and add 30mins to the next devlog. I finally finished Orchestrator which took waaaay too much time (almost 5 days) and I had to fix my plan a bit as well because of the roadblocks. Finishing off the rest of it was pretty easy and starting on the Sync class was much easier due to the massive amount of time it took for me to think of a solution to the syncing issue in the midst of the Orchestrator issues. Ill be posting a Sync finished devlog soon, probably tmrw, so stay tuned!"}, {"post_id": 78954, "ts": "2026-10-12T05:37:12Z", "hours": 8.7328, "text": "BitWarden Vendor Architecture - Part 3 Making the orchestrator is pretty difficult because tying everything together is soo difficult, especially with the attachment stuff. BitWarden has some weird concepts on how it works. When creating an item and pushing it to the server, the server generates the id for you and sends the whole cipher back. However, if the network request fails halfway through, then it can create it online, without giving you the id. There are 3 solutions to this. One, is to just re-push, which creates a duplicate. Another way to fix this, is to leave it and fail, which is not a good idea. The best way to combat this situation, is to pull the items from the server, and find the one that was created by comparing the key from the local and remote vaults. The issue, is that sometimes, there is no key, so we have to rely on comparing the fields alone, which isnt the best, but its the only way. This is pretty difficult to think of on the spot and to resolve quickly, so thats why it took me so long. The other issue, is that I’ve faced a roadblock. I didnt think of attachments when designing the runtime class, so I have to add more funcs to help with offline attachments. Another issue, is that the runtime class is getting kinda messy now, since there are like 5 of the same type of funcs so I have to clean that up too. And then, I have the largest issue that I have to fix. Syncing. Syncing is a pretty weird concept on BitWarden. If you update an item offline, you dont change the revision Date, the version changes it. However, if the server’s item was changed as well, then it gets complicated because you need to handle it yourself. The first thing you can do, is to merge the individual fields, like if the name was changed on the server, and the username was changed on the client, then merge both. However if the name was changed on the server and the client, then you can create a new item with (conflict X) and then push that. All this is pretty complicated, and its probably going to get even more complicated soon."}, {"post_id": 77766, "ts": "2026-10-08T06:17:11Z", "hours": 8.2647, "text": "BitWarden Vendor Architecture - Part 2 So I was able to finish off the BitWarden Network part which was somewhat hard, but it was just mainly repetitive stuff. I also got started on the BitWarden Runtime which wasnt too hard, although its sorta difficult to wrap your head around. After I finish off the runtime, I should be able to get started on the orchestrator and sync and versioning parts. For the Bitwarden Network I decided to integrate some stuff from the previous orchestrator that was wouldve been better to have in the Network and the same thing with Runtime as well."}, {"post_id": 76359, "ts": "2026-10-03T09:26:49Z", "hours": 9.3314, "text": "BitWarden Vendor Architecture - Part 1 Now that I’ve completed the Generic Base classes and stuff, I decided to work on the Vendor stuff. The main goal of the Architecturing is to make the architecture loose enough to work with BitWarden and 1Password, since if I focused solely on BitWarden again, it would have ended up being less abstract and I wanted it to be as abstract as possible without complicating things too much. Anyway, so I was able to finish off the crypto class and get started on the network class which pretty good progress. I did think of some additional ways to make it abstract, like making the UI call the Network class to get a list of all the URLs needed. Im hoping to get all the vendor classes finished by the end of next week and then start fixing the UI and UI Bridge in the following week."}, {"post_id": 74276, "ts": "2026-09-27T03:34:58Z", "hours": 9.3614, "text": "Finishing off the New Architecture So I was able to finish off the Architecture Implementations and add a few more classes, like the Thread and Utils files. I also added a ton of comments (one per func & one per class/struct) as per the style guidelines that I wrote. Writing the comments took me waaay too long, since some funcs were pretty generic and I couldnt think of what comment to put for that func. I still have a ton more to do, like the Generic Item Stuff which is really really confusing and I havent even gotten to that part yet. After all that, I need to start on the BitWarden Vendor stuff and then integrate all that into the UI Bridge which shouldnt be too hard."}, {"post_id": 72964, "ts": "2026-09-24T03:54:04Z", "hours": 8.3058, "text": "Vault Re-Architecturing - Part 2 So I started working on the architecture and it was pretty difficult. I was able to add the crypto, netowrk, orchestrator, profile, runtime, settings, sync and versioning. So currently, I’ve decieded to expose only the orchestrator, settings and versioning because those are the only essential features that the UI requires, and exposing any more would re-create a God Class. Essentially, this time I decided to abstract it enough so that it would work with 1Pass and Bitwarden as a guide so that it would be abstract enough, even though I’m probably never going to support another password manager API. One thing I didn’t account for was the fact that BitWarden has an Organisation thing where the Organisation has its own keys and stuff, which pretty much requires me to re-architecture it again. Im probably not going to implement the organisation thing any time soon, so I should be fine for now. I’m hoping to finish with the structure today and start on the implementations tmrw."}, {"post_id": 71612, "ts": "2026-09-21T05:03:56Z", "hours": 8.0961, "text": "Vault Re-Architecturing (again) So I again noticed a few bugs like last time, and had a think about the Vault itself. I noticed that its getting kinda complicated and things are getting intertwined and there are funcs that arent used, and func of which I dont even know what they do. So unlike last time, where I just asked claude how to structure things, I decided to do some proper professional re-archtecturing. I already had an overall plan on how things were going to be structured, but it was pretty hard. The doc format I decided to use was ARC42 which is a guide on how to make a proper software architecture doc. I did skip a few things, but those werent really relevant in my case so thats fine. I also decided to make a style guide since things were getting kinda messy. I havent fully finished the style guide yet, but its a start and I really need to get this new vault finished before Stardance ends. If you want to look at the doc, its on my GitHub Wiki and its pretty straightforward and extensive. It did take me quite a while to think of everything in depth, so I will be spending a ton more time since software architecturing is pretty difficult."}, {"post_id": 69611, "ts": "2026-09-17T12:42:56Z", "hours": 8.3583, "text": "Bug Fixes + Code Cleanup + Documentation Since I didn’t really have much to do, I decided to prepare my app for release. Currently there are quite a few things wrong with Clientwarden. First, it has tons of bugs, and the code is sorta messy, and the architecture is also kinda borked. The whole point of the past revamp was to prevent a God Class like last time where Vault held pretty much everything. Its much better now, but its far from perfect. This time, Im actually going to make a whole style guide and an architecture plan/guide which should be good. After that, I can actually implement the new architecture and then fix the remaining bugs. Tomorrow, ill probably do a more in depth test of the app and then fix them and repeat before actually trying to re-architecture."}, {"post_id": 68022, "ts": "2026-09-14T12:09:27Z", "hours": 8.3717, "text": "New Bitwarden Fields (Passport, Drivers License, Bank Account) So I was just looking at the vault.json in ClientWarden to check something, and I noticed that the data field was missing, which was pretty weird since Bitwarden or VaultWarden will not accept or respond with a json without a data field. When I looked closer, they had also added new fields like passport , bankAccount and driversLicense which means they added new Item Types. These Item Types aren’t supported yet, but I might as well implement them so that Clientwarden supports them early. Right now, you can create and see the new Item Types, but I havent implemented support to view or edit these new types."}, {"post_id": 65866, "ts": "2026-09-11T09:26:44Z", "hours": 8.0503, "text": "Mac OS 27 Support + Tests I recently switched to Mac OS 27 Public Beta, which turned out to a very bad idea, as I hated the new icons and especially the new lighter glass. I was hoping that when MacOS 27 actually releases it would be fixed. Well, it released, and it wasn’t fixed. So I had to fix the UI for MacOS 27 and it was kinda pending anyway since it was sorta against Apple’s UI guidelines, but it looked amazing. The new one doesnt look as good, but its ok. Ill be fixing it in the days to come. I’m also working on more tests, specifically for the network part, since the network part is an important part of the vault."}, {"post_id": 64675, "ts": "2026-09-09T08:18:01Z", "hours": 8.6503, "text": "Finished Android UI So I was able to finally finish off the Android UI, and I was able to finish it off dramatically faster than I spent on the Mac OS UI. Mainly because, with the Mac OS UI, I had to spend a lot more time on the architecture and I had to revamp the Vault itself. My favorite part about making the UI is the About Screen, where I can hide tons of really cool effects and easter egg. If you download the Android App and go to Settings and about, you will see an App Icon which if you click 3 times, will spin around, kinda like the chrome easter egg."}, {"post_id": 62728, "ts": "2026-09-06T07:07:08Z", "hours": 8.6769, "text": "Android UI - Details Screen I was able to implement the Password History Screen as well as the Reprompt UI and the Clientwarden Image class so that I can use an Image, Icon or App Resource. I still need to add a progress bar to the Attachment Item, Add callbacks for the top bar, add multi select support (tbh i dont really know how Im going to implement this) and do the rest of the stuff from the readme. I do want to focus more on the Mac OS side as well, bc I want to support Golden Gate and add a few features. The Main features that need to be implemented are the Sign Up support, Offline Vault support, and a ton more. If you want to help with the project, dm me at @CT5 on slack."}, {"post_id": 60174, "ts": "2026-09-02T12:01:52Z", "hours": 9.1489, "text": "Android Support So I decided to work mainly on Android UI Support for now and then move onto Iced on Linux. I was able to work on the Details Screen as well as finish the Items Screen and fix some main stuff for the Nav Screen like adding Folder support and stuff. I also started work on getting the Android UI to compile on CMake and it looks like its going to be way harder than I thought it would be initially. Tbh it looks like Apple’s XCode Swift UI combo is generally the best, since they have a declarative style UI and things are pretty easy to Implement. With Windows, its XAML which wouldn’t fit in my situation, and for Android its almost perfect, except gradle is a pain and there a hundred types of everything, like the IconButton , Button , FilledTonalButton , TextButton , etc, and those are just the ones I learnt rn. Unlike Android, SwiftUI just has one type of button which can do everything which is pretty good for beginners and advanced ppl. And the best part, Swift UI can have negative padding, which is genuinaly PEAK!"}, {"post_id": 57922, "ts": "2026-08-30T08:01:03Z", "hours": 8.9831, "text": "Linux + Android Support I was able to do a ton of work for the past few days. I was working on Linux Support in Rust using Iced but it was pretty difficult to use to look good since it didn’t have any native nav panel elements and required me to make my own. So I decided to go to the Android side. Working with Android Kotlin was a bit difficult at first, but then it became much much easier. It was kinda annoying that I have to import literally everything, including the conversion things. By the end of the day, my imports were basically half the file. Either way, I decided to work on the Nav Screen first, and then the Items Panel which went pretty well. I think it turned out pretty well, but if you have any feedback, share it in the comments."}, {"post_id": 54965, "ts": "2026-08-26T12:19:21Z", "hours": 6.1822, "text": "Bug Fixes + Linux UI Ok, so I added an easter egg (see if you can find it), and I also switched to the list type Nav Panel which I had implemented but stashed before. I decided to restore it because it looked better and was a bit more organised, code-wise, and I thought it would help remove the shadows to fix light mode. I also had to change the folder button to glass and I also did a bit of work on the wiki. I decided to restart with the Windows UI, and I was planning on having a NavPanel, ItemsPanel and SidePanel with GenericItem’s which could perform the role of the TOTP Field, Text Field, Password Field, etc. However, I couldn’t do that bc WinUI isn’t declaritive like SwiftUI so I had to either create a bunch of xaml files and types, or just hide and show elements. Now that I think of it, I could’ve also populated it via C++, but I already moved on to the Linux side. For Linux, I was thinking of using QT with a catppuccin theme, since I’m very very bad at making color palette’s and stuff and the palette is pretty important. Anyway, after battling with QT with QML to work on MacOS and to even configure, bc it couldn’t find the deps from Conan, I was finally able to get it to work. I’m going to start working on the NavPanel tmrw. For now, Im going to have to develop the Linux UI on Mac, but after I finish the UI, ill move onto linux to finish it off."}, {"post_id": 52140, "ts": "2026-08-22T07:17:36Z", "hours": 5.7122, "text": "Adding Tests Since I wanted to revamp the old crypto stuff to support Argon2ID, I decided to create some tests to know if I’ve implemented it correctly or if I mess smth up. It took me waaay too long to figure this out. I had to fix a lot of stuff like adding a fake Clipboard, Storage and UI Bridge just so that I could link the backend, but in the end it was worth it."}, {"post_id": 50062, "ts": "2026-08-19T03:12:28Z", "hours": 5.2053, "text": "Autofill Support Ok, so it took me a while to figure out how to implement Autofill support. I dont have the Apple Dev License yet, so unfortunatly I couldn’t test it and the only thing I could do is see compiler errors and fix them. So the way it works, is that it has a notification thing, and the extension notifies the vault app, asking for all the logins that match the website, it then puts the website in the keychain so that the app can access it and then the app checks the keychain, writes the result to the same keychain and notifies the extension. I also made this cool screenshots of it infront of a really cool bg and it looks sooo cool."}, {"post_id": 47492, "ts": "2026-08-15T13:17:45Z", "hours": 2.8094, "text": "Drag and Drop Support Usually if I want to implement a new feature, I would ask Claude how I would do it and what APIs I should use, note that Im not just vibe coding everything, Im just asking it how to do smth. This time tho, I decided not to do that and to directly look at Apple Docs, and it was pretty helpful. I was able to figure out how to implement more animations and figure out how to implement drag and drop support which was kinda hard but I was able to implement it. I also fixed a folder bug and did some stuff for the wiki."}, {"post_id": 46202, "ts": "2026-08-13T08:27:22Z", "hours": 4.7533, "text": "Multi Select Support I added a multi-select support thing so that you can press shift and select all the items you want to delete, restore, perm delete, archive or un archive. I also made it so that there would be a biometric button on the autofill unlock window and I also made it shake when the password is incorrect, its kinda fun to just press unlock 100 times to see it shake. Next, Im going to add animation and add support for device unlock."}, {"post_id": 44485, "ts": "2026-08-10T08:48:11Z", "hours": 2.1506, "text": "Archive Support Ok, so Im still waiting for the Apple Developer License so until then I can’t implement a lot of the really good features. Currently I’ve just implemented Archive Support and some fixes like to Check for missing Websocket Events . Im going to be doing a full test soon, once I finish all the features for v1.1.0. I also added a networking page for the wiki."}, {"post_id": 43171, "ts": "2026-08-08T09:09:12Z", "hours": 5.3011, "text": "Passkey + Biometric Support + Security Updates So I was talking to @/Darren and they told me that I shouldn’t store auth keys in plaintext. I didn’t think that storing the keys would be a big issue since you needed a master Password to use them, but I decided to be safe anyway and I stored them in Keychain. Currently I can’t really implement most of the Keychain stuff because I don’t have an Apple Developer License yet. I also implemented broken passkey login support and also broken biometric support. They are broken bc I can’t really use them without a dev license"}, {"post_id": 41214, "ts": "2026-08-05T09:22:47Z", "hours": 7.8433, "text": "AutoFill Unlock Window So while waiting to get the Apple Developer License for the App Group Setup and Code Signing Setup, I decided to work on AutoLock Support for v1.1.0 and the tiny AutoFill unlock window. I also tried to add support for logging in via passkeys, until I realised that I can’t since I need the dev license and I need to add my app bundle name to my vaultwarden instance for it to work. I also implemented support for clientwarden to stay open in the background. The second screenshot is just a cool little failure bc I forgot to give it a liquid glass background."}, {"post_id": 38651, "ts": "2026-08-01T04:51:47Z", "hours": 0.9225, "text": "Crypto Docs Currently Im working on the Wiki, but after that, Ill work on v1.1.0 and the security stuff for v1.0.0. There really isn’t much so say here, bc its mostly just adding more stuff so docs."}, {"post_id": 38617, "ts": "2026-08-01T03:18:13Z", "hours": 8.1911, "text": "First Release Candidate - Functionality So I was able to fix quite a few bugs and implement a bunch of the last features I needed to add for the first release candidate. So I changed the network timeout, fixed the annoying padding on some generic items, fix sync, remove duplicate ciphers, fix race conditions, fix item duplication when offline, login view exceptions, change the title placeholder to value, prevent click to copy when editing, prevent sshKey and note from creating linked field, add delete folder message and make the button red, add a custom item for identity so that there arent 4 different fields for the name, add the remove field button, create the codeql thing and fix some stuff so that clientwarden would work with the official Bitwarden servers."}, {"post_id": 36280, "ts": "2026-07-28T08:52:43Z", "hours": 5.9608, "text": "Icon + Password Generator I fixed the SSH Key Cannot decrypt error and I also finished off a few things for the beta release. I designed an icon in Icon Composer, which is a really great app btw, why can’t windows have a proper UI app like that, and fixed the cmake so that it would show up. I also changed the about page to have a uniform height. The only issue is that there is a ton of blank space, so Im probably going to have to make some art for it myself. I also made a really cool password generator UI for passwords and stuff in the Login Item. I still need to make an ssh key thing, although I might do that on the next release."}, {"post_id": 34497, "ts": "2026-07-25T08:09:36Z", "hours": 7.5661, "text": "Clipboard + Screenshot Support & Settings UI I’ve pretty much fixed most of the larger bugs so I’m currently just working on the essential missing features that ClientWarden needs. I was able to add clipboard support, settings bridge, screenshot option, finish off websocket stuff, a proper versioning system and a much better settings UI, as well as proper folder support and a reprompt window for those sensitive notes. I’m probably going to make a cool graphic for the about window soon, so stay tuned."}, {"post_id": 32232, "ts": "2026-07-21T08:36:22Z", "hours": 3.9908, "text": "Bug Fixes Currently Im just focusing on making bug fixes and then working on new features. Because I’d rather fix it and then work on new features, rather than work on new features and fix a bunch of them later. A bunch of the bugs were caused by the vault rewrite or just me forgetting to finish implementing it. Anyway, so I fixed the Upload, Remove and Download Attachment, as well as the Add Website Button, invalid password vault unlock crash, I also made it to preserve the current tab (Bitwarden or Custom Server), refresh items panel every 5s, remove password after login and unlock, edit when creating an item, show deletion date and show password history date. I also noticed that when I create an empty ssh key and edit it with bitwarden, it fails, making a [cannot decrypt] error."}, {"post_id": 31048, "ts": "2026-07-19T04:02:54Z", "hours": 6.5961, "text": "Bug Fixes So I’ve done a lot of stuff. I just finished porting the Vault UI Bridge to the new Vault API which requires you to get an item from Vault. I also forgot to implement saving support for Card, Identity, Note and SSH Key, so I implemented that too. Also I fixed the favorites issue. I also fixed the TOTP field, bc when it was empty it would just have no code and would still show. The only other bugs I have left to fix are the add website bug, attachment bug and password preservation bug. Then I can get started on the other features like folder support, password gen support, pfp support, folder tree view support and clipboard support."}, {"post_id": 27540, "ts": "2026-07-13T06:03:33Z", "hours": 9.4325, "text": "Vault Rewrite The Vault rewrite is going pretty well so far. I’ve already finished the Vault Rewrite, but the only thing I have left is porting the old GenericItem stuff to the new Vault. At first, I was just fixing stuff that ended up in the error log, which was a bad idea, so I decided to skim through all the files and fix them as I saw them, which went pretty well. @/Dexrn suggested that I should make builders like Generic Item from the Vault and to have all the other Login Item and stuff a derived class from Generic Item using templates so that GenericItem would still output a LoginItem*. So I decided to have the normal Generic Item and then an Impl one based on Generic Item with all the Implementation functions in a protected part in Generic Item. Then Generic Item has its own GenericItem* ones, but the derived ones have their own LoginItem* ones from GenericItem Impl. Its pretty confusing but its easier to understand once you have a look. There is just a bit code that I need to fix, mainly CW Thread and then I should be done"}, {"post_id": 25053, "ts": "2026-07-09T00:31:15Z", "hours": 9.2058, "text": "Vault Rewrite So I’ve faced a couple of vault bugs over the past few days like [error could not decrypt] which is a serious error that could destroy anyone’s Bitwarden vault. The other issue that I’d been delaying for a while was the Vault Revamp, since the vault was incredibly messy and held stuff for networking, crypto and session, so I decided to start from scratch and copy and fix the code as I went. When I started from scratch, my mind went blank, I didn’t even know where to start, since the Network stuff needed session stuff and the crypto stuff, so I was beyond confused. I spent a day or two figuring it out, with no success. Then I asked ChatGPT because my Claude credits had just expired, and the second it gave me an answer, I knew I was cooked. I then asked Gemini, with the same results. Afterward I asked Claude, and the solution it gave me didn’t really work. It did tell me that it was a good idea to separate it into a Network, Session and Crypto class. Then I asked @/dexrn and they helped me figure out how to separate it. Essentially, what I ended up with is Vault does the CreateItem stuff which calls funcs in the Network and Session classes. The crypto class only holds the funcs and so does the Networking class. The session class holds all the vaultData and secret data."}, {"post_id": 22899, "ts": "2026-07-05T15:17:31Z", "hours": 5.5311, "text": "Attachment Support + Bug Fixes I was able to clean up the messy bridge code and add attachment support. I also fixed some bugs, like when you enter an incorrect email or password, it would crash the whole app in the login view, and also I added an error toast for each of the errors. I still need to implement a ton more stuff, like the freezing issue with the vault and the random signouts as well as making the vault faster."}, {"post_id": 21377, "ts": "2026-07-03T08:49:22Z", "hours": 3.5994, "text": "Login Item Support - SidePane I was able to finish the login viewer part of the SidePane which is the hardest part since it needs to show not only the username and password, but the totp code and the websites part. The only other part I need to work on, is the attachments callback and the card, identity, note and sshKey parts. I also fixed the padding for the details on the bottom which were touching the very bottom. I also had to add a few funcs into the backend to get the creation, modification and deletion date."}, {"post_id": 20630, "ts": "2026-07-02T08:35:03Z", "hours": 1.6858, "text": "Bug Fixes I was able to fix a few things in the Nav Panel Bridge, mainly renaming support. I also implemented Items Panel and a bit of the SidePanel. The Sidepanel is the hardest part, especially the part where it needs to save and the part where it needs to be populated. I also made items to automatically open when they are created. The only other things that I need to do are PFP support, make the vault faster, implement the bridge for the settings menu, add an option to allow screenshotting in settings and fix the random signouts in the vault."}, {"post_id": 19834, "ts": "2026-07-01T07:09:40Z", "hours": 2.8203, "text": "Finish up Nav Panel Bridge So I was able to finish building the Nav Panel Bridge. It was a bit difficult since I needed to fix a few things in the UI code, so that it could map the callbacks correctly. For some reason, Objective-C doesn’t have any syntax highlighting and it doesn’t check for errors at compile time, so you just end up with it breaking at runtime. I also forgot to add a UI element to rename the folder and the Vault is kinda slow to open. I also need to highlight the selected Item and add an animation for when the window extends."}, {"post_id": 19089, "ts": "2026-06-30T09:19:54Z", "hours": 4.2778, "text": "Start on the UI Bridge I was able to wire up the Vault and the UI today. I haven’t finished adding callbacks for the NavPanel or the Items Panel or the SidePanel, which is pretty much the whole vault, but I was able to do the Login, Unlock and ClientwardenApp callbacks. I had to make these callbacks in objective c, and it was soo hard, bc there wasn’t any good syntax highlighting and if there was an error, I had to wait for it to build and then look through the messy build logs and figure out what was wrong. I also noticed that the password field was a normal text field so I changed that and I also made it so that you can’t screenshot the vault. The login and unlock buttons also behaved kinda weird, so I fixed that. The only part of the Login Page that I haven’t done yet is the profile picture. I also added a loading screen btw."}, {"post_id": 18212, "ts": "2026-06-29T08:45:08Z", "hours": 2.1806, "text": "Cleaning Up Item Classes I decided to clean up my backend Vault Code since the item management code was pretty much the same copy pasted thing, so I decided to make all item classes, LoginItem, CardItem, IdentityItem, NoteItem, SSHKeyItem, a derived class from GenericItem. This was pretty difficult tho, because GenericItem returns GenericItem, and LoginItem and all the rest need GenericItem to return their class. I asked @dexrn , and they told me about covariant returns, where basically you can return GenericItem but then override it in LoginItem and return a LoginItem by calling the the GenericItem func and then converting it to LoginItem. I also noticed that the attachment code in the individual Item classes were out of date, so this helped organise them. There isn’t really much so show so Ill just post a scrshot of the build."}, {"post_id": 18120, "ts": "2026-06-29T04:02:19Z", "hours": 2.7272, "text": "Settings Page + Lock Support + Attachment Item So I was able to finish off some simple tasks as well as adding a settings page, a lock button on the menu bar under Vault and making the trash tool bar icons. I also added an Attachment Item with a progress bar. I also fixed added a proper roadmap in the readme for Mac OS, Windows and Linux Support. After I get MacOS working, ill probably replace the Windows image with a Mac OS one."}, {"post_id": 17487, "ts": "2026-06-28T09:13:47Z", "hours": 2.6439, "text": "UI States So I was able to finish off the UI by adding a Login and Unlock Page and adding states so that when the app runs, a getState callback func is run to know if the vault should present the Login Page or the Unlock Page. Once the vault is Unlocked or Logged into, the state will be switched to VaultUI. I also made the Unlock page fixed to a small window since it doesn’t really present much info."}, {"post_id": 17336, "ts": "2026-06-28T02:31:50Z", "hours": 1.5056, "text": "Unfortunatly, just as I was going to push my changes after the last devlog, I wanted to remove some files, so I ran git-filter-repo and it removed all my staged files. So basically, pretty much all the work I did for the past 4h yesterday were gone. I tried using reflog and even Disk Drill, but I wasn’t able to get it back. Thankfully, while I was trying to figure out how animations worked yesterday by asking claude, some of my code was there. It wasn’t a lot but I was able to reconstruct the rest from memory. I did remember some things today as well so I fixed those too. There will be another devlog today so stay tuned."}, {"post_id": 16805, "ts": "2026-06-27T09:05:03Z", "hours": 3.9606, "text": "Finish off Item Panel + Bug Fixes I was able to finish off the Items Panel by making the search bar and the new item button. I also fixed the animation issue that was present before. I also added some content things where it says No Items and stuff so that it doesnt look incomplete and blank. I was able to also get it to run in CMake and get it built into an app. There is still much to do, like changing the icon and making a github actions thing, and the UI Bridge. The UI Bridge should be pretty easy, hopefully."}, {"post_id": 16250, "ts": "2026-06-26T12:17:21Z", "hours": 7.1319, "text": "Finish off SidePanel + Nav Panel + Items Panel I spent wayy too long getting animations to work and it still doesnt work. Anyway, so I was able to finish off the SidePanel and the Navigation Panel as well as the Items Panel. The Navigation Panel now has a callback which passes the Items which are then passed to ItemsPanel to display them. The issue is that I can’t create an animation because of Swift States or smth. If I go to another navigation tab and then go back, the animation doesnt apply. I also added a mininum window width and height. I almost forgot, I was also able to add edit support which involved rewriting a bunch of code."}, {"post_id": 15581, "ts": "2026-06-25T10:44:28Z", "hours": 5.0989, "text": "Finished Generic Item + Field Item Ok, so I got a lot done. I was able to finish creating Generic Item and FieldItem. I decided to combine Websites in the Generic Item struct since it was going to be grouped together anyway, but maybe I should make a derived struct or class or smth next time. I might try and clean it up tho, because I’d rather clean it up now rather than never. I also added the TOTP and Websites Editable thing which were the hardest parts to add. Here are a couple of screenshots of all the stuff I’ve added."}, {"post_id": 14310, "ts": "2026-06-23T12:12:27Z", "hours": 3.505, "text": "Sidepane Stuff I was able to get most of the sidepane working. The only thing I have left is the custom fields and the bottom dates and attachment stuff. I used an array of a data struct which is used to store the fields that need to be displayed. This way I can separate the UI from the Vault UI code and the Vault. The VaultUI just bridges the Vault and UI code. I think it looks good so far, and I even added a nice glow effect when you reveal a password or item."}, {"post_id": 13657, "ts": "2026-06-22T12:38:01Z", "hours": 6.0439, "text": "UI Design So I made a lot of progress in designing the UI for the native MacOS version. It was really fun to design a UI with liquid glass. Usually I don’t like liquid glass on phones, but on a computer it really looks good. But when I try and close the nav menu, it has this sliding animation where it goes underneath the other icons with the border which looks kinda off. Im not too sure how to disable the collapse button, but it should be fine for now. Ive implemented an error modal as well to notify the user of errors instead of making them read the log files. The font kinda looks off and the sizing as well, but Im not sure how to fix it. If you know how to improve it, tell me in the comments. Next devlog, Im going to try and get it to work with cmake or ill just keep developing the UI."}, {"post_id": 12945, "ts": "2026-06-21T05:50:19Z", "hours": 1.4514, "text": "Switch to MacOS tbh the WinUI code is insanely messy and needs to be fixed, so I’ll be fixing it later. I think it would be good for me to start on the mac os side of things because it would allow me to work on less messy code. I think it would be much better to work on new code rather than fixing old code. There are still a ton of random bugs where sometimes editing will not work and some things will fail randomly."}, {"post_id": 12353, "ts": "2026-06-20T04:48:39Z", "hours": 2.2797, "text": "Getting ClientWarden Working Again! After almost 2 weeks of setting up my mac, I was finally able to create a windows VM and get Clientwarden to build on ARM64. Although it was a bit difficult. First I needed to get all the vcpkg dependencies, so I did vcpkg install. One of the dependencies was boost which needed to build some python library. For some reason it was giving me a heap error stating that it didn’t have enough heap space. I looked at task manager and it did indeed use up all my 8GB of ram. I tried increasing my windows swap but it didn’t work, so I had to increase the ram on the vm to 64GB, even though I had 16GB of ram. Mac OS was able to speedily transfer and compress all that memory to its swap, and after a while, it finally built the lib taking about ~30GB of memory"}, {"post_id": 3375, "ts": "2026-06-06T08:29:39Z", "hours": 1.6608, "text": "Bug Fixes I finally got the bugs fixed and after a long time of debugging I was able to fix the folder error. I still have a ton of bugs to fix, but the folder one was the hardest one so far."}, {"post_id": 192, "ts": "2026-06-01T07:02:56Z", "hours": 1.2086, "text": "Quality Checks + Documentation I just finished quality checking the whole app and it is kinda buggy in some places so I decided to write it all down. I want to address these bugs before I work on more features, as well as documenting the code and the Bitwarden/Vaultwarden API. Vaultwarden API is a mess of the old and new Bitwarden API. Anyway I caught a ton of bugs that I will address before finishing off WebSockets."}]...
|
Title: Clientwarden by @CT5 | Stardance
Devlogs:
Title: Clientwarden by @CT5 | Stardance
Devlogs:
Quality Checks + Documentation I just finished quality checking the whole app and it is kinda buggy in some places so I decided to write it all down. I want to address these bugs before I work on more features, as well as documenting the code and the Bitwarden/Vaultwarden API. Vaultwarden API is a mess of the old and new Bitwarden API. Anyway I caught a ton of bugs that I will address before finishing off WebSockets.
Bug Fixes I finally got the bugs fixed and after a long time of debugging I was able to fix the folder error. I still have a ton of bugs to fix, but the folder one was the hardest one so far.
Getting ClientWarden Working Again! After almost 2 weeks of setting up my mac, I was finally able to create a windows VM and get Clientwarden to build on ARM64. Although it was a bit difficult. First I needed to get all the vcpkg dependencies, so I did vcpkg install. One of the dependencies was boost which needed to build some python library. For some reason it was giving me a heap error stating that it didn’t have enough heap space. I looked at task manager and it did indeed use up all my 8GB of ram. I tried increasing my windows swap but it didn’t work, so I had to increase the ram on the vm to 64GB, even though I had 16GB of ram. Mac OS was able to speedily transfer and compress all that memory to its swap, and after a while, it finally built the lib taking about ~30GB of memory
Switch to MacOS tbh the WinUI code is insanely messy and needs to be fixed, so I’ll be fixing it later. I think it would be good for me to start on the mac os side of things because it would allow me to work on less messy code. I think it would be much better to work on new code rather than fixing old code. There are still a ton of random bugs where sometimes editing will not work and some things will fail randomly.
UI Design So I made a lot of progress in designing the UI for the native MacOS version. It was really fun to design a UI with liquid glass. Usually I don’t like liquid glass on phones, but on a computer it really looks good. But when I try and close the nav menu, it has this sliding animation where it goes underneath the other icons with the border which looks kinda off. Im not too sure how to disable the collapse button, but it should be fine for now. Ive implemented an error modal as well to notify the user of errors instead of making them read the log files. The font kinda looks off and the sizing as well, but Im not sure how to fix it. If you know how to improve it, tell me in the comments. Next devlog, Im going to try and get it to work with cmake or ill just keep developing the UI.
Sidepane Stuff I was able to get most of the sidepane working. The only thing I have left is the custom fields and the bottom dates and attachment stuff. I used an array of a data struct which is used to store the fields that need to be displayed. This way I can separate the UI from the Vault UI code and the Vault. The VaultUI just bridges the Vault and UI code. I think it looks good so far, and I even added a nice glow effect when you reveal a password or item.
Finished Generic Item + Field Item Ok, so I got a lot done. I was able to finish creating Generic Item and FieldItem. I decided to combine Websites in the Generic Item struct since it was going to be grouped together anyway, but maybe I should make a derived struct or class or smth next time. I might try and clean it up tho, because I’d rather clean it up now rather than never. I also added the TOTP and Websites Editable thing which were the hardest parts to add. Here are a couple of screenshots of all the stuff I’ve added.
Finish off SidePanel + Nav Panel + Items Panel I spent wayy too long getting animations to work and it still doesnt work. Anyway, so I was able to finish off the SidePanel and the Navigation Panel as well as the Items Panel. The Navigation Panel now has a callback which passes the Items which are then passed to ItemsPanel to display them. The issue is that I can’t create an animation because of Swift States or smth. If I go to another navigation tab and then go back, the animation doesnt apply. I also added a mininum window width and height. I almost forgot, I was also able to add edit support which involved rewriting a bunch of code.
Finish off Item Panel + Bug Fixes I was able to finish off the Items Panel by making the search bar and the new item button. I also fixed the animation issue that was present before. I also added some content things where it says No Items and stuff so that it doesnt look incomplete and blank. I was able to also get it to run in CMake and get it built into an app. There is still much to do, like changing the icon and making a github actions thing, and the UI Bridge. The UI Bridge should be pretty easy, hopefully.
Unfortunatly, just as I was going to push my changes after the last devlog, I wanted to remove some files, so I ran git-filter-repo and it removed all my staged files. So basically, pretty much all the work I did for the past 4h yesterday were gone. I tried using reflog and even Disk Drill, but I wasn’t able to get it back. Thankfully, while I was trying to figure out how animations worked yesterday by asking claude, some of my code was there. It wasn’t a lot but I was able to reconstruct the rest from memory. I did remember some things today as well so I fixed those too. There will be another devlog today so stay tuned.
UI States So I was able to finish off the UI by adding a Login and Unlock Page and adding states so that when the app runs, a getState callback func is run to know if the vault should present the Login Page or the Unlock Page. Once the vault is Unlocked or Logged into, the state will be switched to VaultUI. I also made the Unlock page fixed to a small window since it doesn’t really present much info.
Settings Page + Lock Support + Attachment Item So I was able to finish off some simple tasks as well as adding a settings page, a lock button on the menu bar under Vault and making the trash tool bar icons. I also added an Attachment Item with a progress bar. I also fixed added a proper roadmap in the readme for Mac OS, Windows and Linux Support. After I get MacOS working, ill probably replace the Windows image with a Mac OS one.
Cleaning Up Item Classes I decided to clean up my backend Vault Code since the item management code was pretty much the same copy pasted thing, so I decided to make all item classes, LoginItem, CardItem, IdentityItem, NoteItem, SSHKeyItem, a derived class from GenericItem. This was pretty difficult tho, because GenericItem returns GenericItem, and LoginItem and all the rest need GenericItem to return their class. I asked @dexrn , and they told me about covariant returns, where basically you can return GenericItem but then override it in LoginItem and return a LoginItem by calling the the GenericItem func and then converting it to LoginItem. I also noticed that the attachment code in the individual Item classes were out of date, so this helped organise them. There isn’t really much so show so Ill just post a scrshot of the build.
Start on the UI Bridge I was able to wire up the Vault and the UI today. I haven’t finished adding callbacks for the NavPanel or the Items Panel or the SidePanel, which is pretty much the whole vault, but I was able to do the Login, Unlock and ClientwardenApp callbacks. I had to make these callbacks in objective c, and it was soo hard, bc there wasn’t any good syntax highlighting and if there was an error, I had to wait for it to build and then look through the messy build logs and figure out what was wrong. I also noticed that the password field was a normal text field so I changed that and I also made it so that you can’t screenshot the vault. The login and unlock buttons also behaved kinda weird, so I fixed that. The only part of the Login Page that I haven’t done yet is the profile picture. I also added a loading screen btw.
Finish up Nav Panel Bridge So I was able to finish building the Nav Panel Bridge. It was a bit difficult since I needed to fix a few things in the UI code, so that it could map the callbacks correctly. For some reason, Objective-C doesn’t have any syntax highlighting and it doesn’t check for errors at compile time, so you just end up with it breaking at runtime. I also forgot to add a UI element to rename the folder and the Vault is kinda slow to open. I also need to highlight the selected Item and add an animation for when the window extends.
Bug Fixes I was able to fix a few things in the Nav Panel Bridge, mainly renaming support. I also implemented Items Panel and a bit of the SidePanel. The Sidepanel is the hardest part, especially the part where it needs to save and the part where it needs to be populated. I also made items to automatically open when they are created. The only other things that I need to do are PFP support, make the vault faster, implement the bridge for the settings menu, add an option to allow screenshotting in settings and fix the random signouts in the vault.
Login Item Support - SidePane I was able to finish the login viewer part of the SidePane which is the hardest part since it needs to show not only the username and password, but the totp code and the websites part. The only other part I need to work on, is the attachments callback and the card, identity, note and sshKey parts. I also fixed the padding for the details on the bottom which were touching the very bottom. I also had to add a few funcs into the backend to get the creation, modification and deletion date.
Attachment Support + Bug Fixes I was able to clean up the messy bridge code and add attachment support. I also fixed some bugs, like when you enter an incorrect email or password, it would crash the whole app in the login view, and also I added an error toast for each of the errors. I still need to implement a ton more stuff, like the freezing issue with the vault and the random signouts as well as making the vault faster.
Vault Rewrite So I’ve faced a couple of vault bugs over the past few days like [error could not decrypt] which is a serious error that could destroy anyone’s Bitwarden vault. The other issue that I’d been delaying for a while was the Vault Revamp, since the vault was incredibly messy and held stuff for networking, crypto and session, so I decided to start from scratch and copy and fix the code as I went. When I started from scratch, my mind went blank, I didn’t even know where to start, since the Network stuff needed session stuff and the crypto stuff, so I was beyond confused. I spent a day or two figuring it out, with no success. Then I asked ChatGPT because my Claude credits had just expired, and the second it gave me an answer, I knew I was cooked. I then asked Gemini, with the same results. Afterward I asked Claude, and the solution it gave me didn’t really work. It did tell me that it was a good idea to separate it into a Network, Session and Crypto class. Then I asked @/dexrn and they helped me figure out how to separate it. Essentially, what I ended up with is Vault does the CreateItem stuff which calls funcs in the Network and Session classes. The crypto class only holds the funcs and so does the Networking class. The session class holds all the vaultData and secret data.
Vault Rewrite The Vault rewrite is going pretty well so far. I’ve already finished the Vault Rewrite, but the only thing I have left is porting the old GenericItem stuff to the new Vault. At first, I was just fixing stuff that ended up in the error log, which was a bad idea, so I decided to skim through all the files and fix them as I saw them, which went pretty well. @/Dexrn suggested that I should make builders like Generic Item from the Vault and to have all the other Login Item and stuff a derived class from Generic Item using templates so that GenericItem would still output a LoginItem*. So I decided to have the normal Generic Item and then an Impl one based on Generic Item with all the Implementation functions in a protected part in Generic Item. Then Generic Item has its own GenericItem* ones, but the derived ones have their own LoginItem* ones from GenericItem Impl. Its pretty confusing but its easier to understand once you have a look. There is just a bit code that I need to fix, mainly CW Thread and then I should be done
Bug Fixes So I’ve done a lot of stuff. I just finished porting the Vault UI Bridge to the new Vault API which requires you to get an item from Vault. I also forgot to implement saving support for Card, Identity, Note and SSH Key, so I implemented that too. Also I fixed the favorites issue. I also fixed the TOTP field, bc when it was empty it would just have no code and would still show. The only other bugs I have left to fix are the add website bug, attachment bug and password preservation bug. Then I can get started on the other features like folder support, password gen support, pfp support, folder tree view support and clipboard support.
Bug Fixes Currently Im just focusing on making bug fixes and then working on new features. Because I’d rather fix it and then work on new features, rather than work on new features and fix a bunch of them later. A bunch of the bugs were caused by the vault rewrite or just me forgetting to finish implementing it. Anyway, so I fixed the Upload, Remove and Download Attachment, as well as the Add Website Button, invalid password vault unlock crash, I also made it to preserve the current tab (Bitwarden or Custom Server), refresh items panel every 5s, remove password after login and unlock, edit when creating an item, show deletion date and show password history date. I also noticed that when I create an empty ssh key and edit it with bitwarden, it fails, making a [cannot decrypt] error.
Clipboard + Screenshot Support & Settings UI I’ve pretty much fixed most of the larger bugs so I’m currently just working on the essential missing features that ClientWarden needs. I was able to add clipboard support, settings bridge, screenshot option, finish off websocket stuff, a proper versioning system and a much better settings UI, as well as proper folder support and a reprompt window for those sensitive notes. I’m probably going to make a cool graphic for the about window soon, so stay tuned.
Icon + Password Generator I fixed the SSH Key Cannot decrypt error and I also finished off a few things for the beta release. I designed an icon in Icon Composer, which is a really great app btw, why can’t windows have a proper UI app like that, and fixed the cmake so that it would show up. I also changed the about page to have a uniform height. The only issue is that there is a ton of blank space, so Im probably going to have to make some art for it myself. I also made a really cool password generator UI for passwords and stuff in the Login Item. I still need to make an ssh key thing, although I might do that on the next release.
First Release Candidate - Functionality So I was able to fix quite a few bugs and implement a bunch of the last features I needed to add for the first release candidate. So I changed the network timeout, fixed the annoying padding on some generic items, fix sync, remove duplicate ciphers, fix race conditions, fix item duplication when offline, login view exceptions, change the title placeholder to value, prevent click to copy when editing, prevent sshKey and note from creating linked field, add delete folder message and make the button red, add a custom item for identity so that there arent 4 different fields for the name, add the remove field button, create the codeql thing and fix some stuff so that clientwarden would work with the official Bitwarden servers.
Crypto Docs Currently Im working on the Wiki, but after that, Ill work on v1.1.0 and the security stuff for v1.0.0. There really isn’t much so say here, bc its mostly just adding more stuff so docs.
AutoFill Unlock Window So while waiting to get the Apple Developer License for the App Group Setup and Code Signing Setup, I decided to work on AutoLock Support for v1.1.0 and the tiny AutoFill unlock window. I also tried to add support for logging in via passkeys, until I realised that I can’t since I need the dev license and I need to add my app bundle name to my vaultwarden instance for it to work. I also implemented support for clientwarden to stay open in the background. The second screenshot is just a cool little failure bc I forgot to give it a liquid glass background.
Passkey + Biometric Support + Security Updates So I was talking to @/Darren and they told me that I shouldn’t store auth keys in plaintext. I didn’t think that storing the keys would be a big issue since you needed a master Password to use them, but I decided to be safe anyway and I stored them in Keychain. Currently I can’t really implement most of the Keychain stuff because I don’t have an Apple Developer License yet. I also implemented broken passkey login support and also broken biometric support. They are broken bc I can’t really use them without a dev license
Archive Support Ok, so Im still waiting for the Apple Developer License so until then I can’t implement a lot of the really good features. Currently I’ve just implemented Archive Support and some fixes like to Check for missing Websocket Events . Im going to be doing a full test soon, once I finish all the features for v1.1.0. I also added a networking page for the wiki.
Multi Select Support I added a multi-select support thing so that you can press shift and select all the items you want to delete, restore, perm delete, archive or un archive. I also made it so that there would be a biometric button on the autofill unlock window and I also made it shake when the password is incorrect, its kinda fun to just press unlock 100 times to see it shake. Next, Im going to add animation and add support for device unlock.
Drag and Drop Support Usually if I want to implement a new feature, I would ask Claude how I would do it and what APIs I should use, note that Im not just vibe coding everything, Im just asking it how to do smth. This time tho, I decided not to do that and to directly look at Apple Docs, and it was pretty helpful. I was able to figure out how to implement more animations and figure out how to implement drag and drop support which was kinda hard but I was able to implement it. I also fixed a folder bug and did some stuff for the wiki.
Autofill Support Ok, so it took me a while to figure out how to implement Autofill support. I dont have the Apple Dev License yet, so unfortunatly I couldn’t test it and the only thing I could do is see compiler errors and fix them. So the way it works, is that it has a notification thing, and the extension notifies the vault app, asking for all the logins that match the website, it then puts the website in the keychain so that the app can access it and then the app checks the keychain, writes the result to the same keychain and notifies the extension. I also made this cool screenshots of it infront of a really cool bg and it looks sooo cool.
Adding Tests Since I wanted to revamp the old crypto stuff to support Argon2ID, I decided to create some tests to know if I’ve implemented it correctly or if I mess smth up. It took me waaay too long to figure this out. I had to fix a lot of stuff like adding a fake Clipboard, Storage and UI Bridge just so that I could link the backend, but in the end it was worth it.
Bug Fixes + Linux UI Ok, so I added an easter egg (see if you can find it), and I also switched to the list type Nav Panel which I had implemented but stashed before. I decided to restore it because it looked better and was a bit more organised, code-wise, and I thought it would help remove the shadows to fix light mode. I also had to change the folder button to glass and I also did a bit of work on the wiki. I decided to restart with the Windows UI, and I was planning on having a NavPanel, ItemsPanel and SidePanel with GenericItem’s which could perform the role of the TOTP Field, Text Field, Password Field, etc. However, I couldn’t do that bc WinUI isn’t declaritive like SwiftUI so I had to either create a bunch of xaml files and types, or just hide and show elements. Now that I think of it, I could’ve also populated it via C++, but I already moved on to the Linux side. For Linux, I was thinking of using QT with a catppuccin theme, since I’m very very bad at making color palette’s and stuff and the palette is pretty important. Anyway, after battling with QT with QML to work on MacOS and to even configure, bc it couldn’t find the deps from Conan, I was finally able to get it to work. I’m going to start working on the NavPanel tmrw. For now, Im going to have to develop the Linux UI on Mac, but after I finish the UI, ill move onto linux to finish it off.
Linux + Android Support I was able to do a ton of work for the past few days. I was working on Linux Support in Rust using Iced but it was pretty difficult to use to look good since it didn’t have any native nav panel elements and required me to make my own. So I decided to go to the Android side. Working with Android Kotlin was a bit difficult at first, but then it became much much easier. It was kinda annoying that I have to import literally everything, including the conversion things. By the end of the day, my imports were basically half the file. Either way, I decided to work on the Nav Screen first, and then the Items Panel which went pretty well. I think it turned out pretty well, but if you have any feedback, share it in the comments.
Android Support So I decided to work mainly on Android UI Support for now and then move onto Iced on Linux. I was able to work on the Details Screen as well as finish the Items Screen and fix some main stuff for the Nav Screen like adding Folder support and stuff. I also started work on getting the Android UI to compile on CMake and it looks like its going to be way harder than I thought it would be initially. Tbh it looks like Apple’s XCode Swift UI combo is generally the best, since they have a declarative style UI and things are pretty easy to Implement. With Windows, its XAML which wouldn’t fit in my situation, and for Android its almost perfect, except gradle is a pain and there a hundred types of everything, like the IconButton , Button , FilledTonalButton , TextButton , etc, and those are just the ones I learnt rn. Unlike Android, SwiftUI just has one type of button which can do everything which is pretty good for beginners and advanced ppl. And the best part, Swift UI can have negative padding, which is genuinaly PEAK!
Android UI - Details Screen I was able to implement the Password History Screen as well as the Reprompt UI and the Clientwarden Image class so that I can use an Image, Icon or App Resource. I still need to add a progress bar to the Attachment Item, Add callbacks for the top bar, add multi select support (tbh i dont really know how Im going to implement this) and do the rest of the stuff from the readme. I do want to focus more on the Mac OS side as well, bc I want to support Golden Gate and add a few features. The Main features that need to be implemented are the Sign Up support, Offline Vault support, and a ton more. If you want to help with the project, dm me at @CT5 on slack.
Finished Android UI So I was able to finally finish off the Android UI, and I was able to finish it off dramatically faster than I spent on the Mac OS UI. Mainly because, with the Mac OS UI, I had to spend a lot more time on the architecture and I had to revamp the Vault itself. My favorite part about making the UI is the About Screen, where I can hide tons of really cool effects and easter egg. If you download the Android App and go to Settings and about, you will see an App Icon which if you click 3 times, will spin around, kinda like the chrome easter egg.
Mac OS 27 Support + Tests I recently switched to Mac OS 27 Public Beta, which turned out to a very bad idea, as I hated the new icons and especially the new lighter glass. I was hoping that when MacOS 27 actually releases it would be fixed. Well, it released, and it wasn’t fixed. So I had to fix the UI for MacOS 27 and it was kinda pending anyway since it was sorta against Apple’s UI guidelines, but it looked amazing. The new one doesnt look as good, but its ok. Ill be fixing it in the days to come. I’m also working on more tests, specifically for the network part, since the network part is an important part of the vault.
New Bitwarden Fields (Passport, Drivers License, Bank Account) So I was just looking at the vault.json in ClientWarden to check something, and I noticed that the data field was missing, which was pretty weird since Bitwarden or VaultWarden will not accept or respond with a json without a data field. When I looked closer, they had also added new fields like passport , bankAccount and driversLicense which means they added new Item Types. These Item Types aren’t supported yet, but I might as well implement them so that Clientwarden supports them early. Right now, you can create and see the new Item Types, but I havent implemented support to view or edit these new types.
Bug Fixes + Code Cleanup + Documentation Since I didn’t really have much to do, I decided to prepare my app for release. Currently there are quite a few things wrong with Clientwarden. First, it has tons of bugs, and the code is sorta messy, and the architecture is also kinda borked. The whole point of the past revamp was to prevent a God Class like last time where Vault held pretty much everything. Its much better now, but its far from perfect. This time, Im actually going to make a whole style guide and an architecture plan/guide which should be good. After that, I can actually implement the new architecture and then fix the remaining bugs. Tomorrow, ill probably do a more in depth test of the app and then fix them and repeat before actually trying to re-architecture.
Vault Re-Architecturing (again) So I again noticed a few bugs like last time, and had a think about the Vault itself. I noticed that its getting kinda complicated and things are getting intertwined and there are funcs that arent used, and func of which I dont even know what they do. So unlike last time, where I just asked claude how to structure things, I decided to do some proper professional re-archtecturing. I already had an overall plan on how things were going to be structured, but it was pretty hard. The doc format I decided to use was ARC42 which is a guide on how to make a proper software architecture doc. I did skip a few things, but those werent really relevant in my case so thats fine. I also decided to make a style guide since things were getting kinda messy. I havent fully finished the style guide yet, but its a start and I really need to get this new vault finished before Stardance ends. If you want to look at the doc, its on my GitHub Wiki and its pretty straightforward and extensive. It did take me quite a while to think of everything in depth, so I will be spending a ton more time since software architecturing is pretty difficult.
Vault Re-Architecturing - Part 2 So I started working on the architecture and it was pretty difficult. I was able to add the crypto, netowrk, orchestrator, profile, runtime, settings, sync and versioning. So currently, I’ve decieded to expose only the orchestrator, settings and versioning because those are the only essential features that the UI requires, and exposing any more would re-create a God Class. Essentially, this time I decided to abstract it enough so that it would work with 1Pass and Bitwarden as a guide so that it would be abstract enough, even though I’m probably never going to support another password manager API. One thing I didn’t account for was the fact that BitWarden has an Organisation thing where the Organisation has its own keys and stuff, which pretty much requires me to re-architecture it again. Im probably not going to implement the organisation thing any time soon, so I should be fine for now. I’m hoping to finish with the structure today and start on the implementations tmrw.
Finishing off the New Architecture So I was able to finish off the Architecture Implementations and add a few more classes, like the Thread and Utils files. I also added a ton of comments (one per func & one per class/struct) as per the style guidelines that I wrote. Writing the comments took me waaay too long, since some funcs were pretty generic and I couldnt think of what comment to put for that func. I still have a ton more to do, like the Generic Item Stuff which is really really confusing and I havent even gotten to that part yet. After all that, I need to start on the BitWarden Vendor stuff and then integrate all that into the UI Bridge which shouldnt be too hard.
BitWarden Vendor Architecture - Part 1 Now that I’ve completed the Generic Base classes and stuff, I decided to work on the Vendor stuff. The main goal of the Architecturing is to make the architecture loose enough to work with BitWarden and 1Password, since if I focused solely on BitWarden again, it would have ended up being less abstract and I wanted it to be as abstract as possible without complicating things too much. Anyway, so I was able to finish off the crypto class and get started on the network class which pretty good progress. I did think of some additional ways to make it abstract, like making the UI call the Network class to get a list of all the URLs needed. Im hoping to get all the vendor classes finished by the end of next week and then start fixing the UI and UI Bridge in the following week.
BitWarden Vendor Architecture - Part 2 So I was able to finish off the BitWarden Network part which was somewhat hard, but it was just mainly repetitive stuff. I also got started on the BitWarden Runtime which wasnt too hard, although its sorta difficult to wrap your head around. After I finish off the runtime, I should be able to get started on the orchestrator and sync and versioning parts. For the Bitwarden Network I decided to integrate some stuff from the previous orchestrator that was wouldve been better to have in the Network and the same thing with Runtime as well.
BitWarden Vendor Architecture - Part 3 Making the orchestrator is pretty difficult because tying everything together is soo difficult, especially with the attachment stuff. BitWarden has some weird concepts on how it works. When creating an item and pushing it to the server, the server generates the id for you and sends the whole cipher back. However, if the network request fails halfway through, then it can create it online, without giving you the id. There are 3 solutions to this. One, is to just re-push, which creates a duplicate. Another way to fix this, is to leave it and fail, which is not a good idea. The best way to combat this situation, is to pull the items from the server, and find the one that was created by comparing the key from the local and remote vaults. The issue, is that sometimes, there is no key, so we have to rely on comparing the fields alone, which isnt the best, but its the only way. This is pretty difficult to think of on the spot and to resolve quickly, so thats why it took me so long. The other issue, is that I’ve faced a roadblock. I didnt think of attachments when designing the runtime class, so I have to add more funcs to help with offline attachments. Another issue, is that the runtime class is getting kinda messy now, since there are like 5 of the same type of funcs so I have to clean that up too. And then, I have the largest issue that I have to fix. Syncing. Syncing is a pretty weird concept on BitWarden. If you update an item offline, you dont change the revision Date, the version changes it. However, if the server’s item was changed as well, then it gets complicated because you need to handle it yourself. The first thing you can do, is to merge the individual fields, like if the name was changed on the server, and the username was changed on the client, then merge both. However if the name was changed on the server and the client, then you can create a new item with (conflict X) and then push that. All this is pretty complicated, and its probably going to get even more complicated soon.
BitWarden Vendor Architecture - Part 4 I forgot to devlog today, so consider this 8h and 30mins and add 30mins to the next devlog. I finally finished Orchestrator which took waaaay too much time (almost 5 days) and I had to fix my plan a bit as well because of the roadblocks. Finishing off the rest of it was pretty easy and starting on the Sync class was much easier due to the massive amount of time it took for me to think of a solution to the syncing issue in the midst of the Orchestrator issues. Ill be posting a Sync finished devlog soon, probably tmrw, so stay tuned!
BitWarden Vendor Architecture - Part 5 I kinda hoped that Sync would be easier but its pretty much as hard as Orchestrator, despite looking at the sync logic before hand and having to do less. I also rushed a ton of the stuff, so I need to have another look over the whole codebase and add comments and stuff before I continue again. I also need to handle all the todos and stuff. Tomorrow Im going to work on a lot of the bugs and errors with the runtime, sync and orchestrator because I did rush a lot of it....
|
1792504296.8145175
|
1793109096.8145175
|
|
22203
|
TejOS by @yadavtejas1947 | Stardance
|
yadavtejas1947
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T11:41:22Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I got lots of help from the guide so shout out to Amber for making that guide. The most challenging part was the CSS because I really don’t like CSS. Tweaking stuff, borders, and padding was quite difficult. I’m really proud. People should test my project in any kind of way they want and give me a review.", "repo": "https://github.com/yadavtejas1947-eng/TejOS", "demo": "https://tejos.onrender.com/"}]...
|
[{"post_id": 80641, "ts": "202 [{"post_id": 80641, "ts": "2026-10-18T11:38:04Z", "hours": 0.4567, "text": "Final tweaks and checks before the ship.."}, {"post_id": 33582, "ts": "2026-07-23T17:00:41Z", "hours": 2.8411, "text": "Day - 04 : 23-07-2026 After a quite a long break I restarted work on this project . Today I made some significant changes to the OS. First of all I add a draggable window to the OS , which is essentially a welcome screen which opens up whenever to start the OS . I was working on this feature some past 2-3days but couldn’t finish it together . So , Today I did that . Also I made that window closeable and openable which was a headache , because I don’t know JavaScript so I had to go through tutorials and Claude to help me fix every bug . So , that’s it for today ."}, {"post_id": 28469, "ts": "2026-07-14T18:36:19Z", "hours": 0.9064, "text": "Day - 03 : 15-07-2026 Today I didn’t made a significant progress but still managed to make the best out of my time. Firstly I added a better wallpaper for my OS , added a bottom bar and styled it a little , added a proper functioning clock and date which refreshes every second , I made it using basic JavaScript(JS)."}, {"post_id": 27842, "ts": "2026-07-13T18:42:39Z", "hours": 1.2642, "text": "Day -02 : 14-07-2026 I know their is a very significant gap between my first and second devlog of this project , that is because I had to travel out of town for two weeks , I promise myself that I’ll be consistent from today.. So , nothing much progress ,just added a topbar , added translucency to it and fixed my broken CSS code and rewrite the whole CSS script , so it took a lot of my time. The biggest challenge I face while working on websites is that I don’t understand the positioning and placement of divs , I’ll take a tutorial before working from tomorrow ….."}, {"post_id": 16893, "ts": "2026-06-27T12:47:19Z", "hours": 2.5186, "text": "Day - 01 : 27-06-2026 Today was the first day of building my own OS . First I revised over some basic HTML and CSS concepts because I haven’t touched these since 2024 . Then following the tutorial I made the basic page , added some image , fonts , background color and borders. I struggled with the CSS at first but then I managed to make the basic page in about 1hr 30mins , I know its a lot but going over StackOverflow , Youtube , Chatgpt , Claude takes time . I didn’t copied the code , just understood and then applied it into my project. So this was it for today ThankYou……"}]...
|
Title: TejOS by @yadavtejas1947 | Stardance
Devlo Title: TejOS by @yadavtejas1947 | Stardance
Devlogs:
Day - 01 : 27-06-2026 Today was the first day of building my own OS . First I revised over some basic HTML and CSS concepts because I haven’t touched these since 2024 . Then following the tutorial I made the basic page , added some image , fonts , background color and borders. I struggled with the CSS at first but then I managed to make the basic page in about 1hr 30mins , I know its a lot but going over StackOverflow , Youtube , Chatgpt , Claude takes time . I didn’t copied the code , just understood and then applied it into my project. So this was it for today ThankYou……
Day -02 : 14-07-2026 I know their is a very significant gap between my first and second devlog of this project , that is because I had to travel out of town for two weeks , I promise myself that I’ll be consistent from today.. So , nothing much progress ,just added a topbar , added translucency to it and fixed my broken CSS code and rewrite the whole CSS script , so it took a lot of my time. The biggest challenge I face while working on websites is that I don’t understand the positioning and placement of divs , I’ll take a tutorial before working from tomorrow …..
Day - 03 : 15-07-2026 Today I didn’t made a significant progress but still managed to make the best out of my time. Firstly I added a better wallpaper for my OS , added a bottom bar and styled it a little , added a proper functioning clock and date which refreshes every second , I made it using basic JavaScript(JS).
Day - 04 : 23-07-2026 After a quite a long break I restarted work on this project . Today I made some significant changes to the OS. First of all I add a draggable window to the OS , which is essentially a welcome screen which opens up whenever to start the OS . I was working on this feature some past 2-3days but couldn’t finish it together . So , Today I did that . Also I made that window closeable and openable which was a headache , because I don’t know JavaScript so I had to go through tutorials and Claude to help me fix every bug . So , that’s it for today .
Final tweaks and checks before the ship..
Ships:
I got lots of help from the guide so shout out to Amber for making that guide. The most challenging part was the CSS because I really don’t like CSS. Tweaking stuff, borders, and padding was quite difficult. I’m really proud. People should test my project in any kind of way they want and give me a review....
|
1792741789.2870264
|
1792828189.2870264
|
|
64009
|
SefirahOS by @meroquixel | Stardance
|
meroquixel
|
0
|
10.53
|
0
|
[]
|
[{"post_id": 80642, "ts": "202 [{"post_id": 80642, "ts": "2026-10-18T11:40:39Z", "hours": 1.1575, "text": "Now, I am working on Theme app, I think it will be necessary for user to change their theme as they want."}, {"post_id": 78400, "ts": "2026-10-10T17:25:17Z", "hours": 2.0514, "text": "It will be shipped after around 1 hour of work. It was very complex to write it’s script, but after great challenges it is nearly done."}, {"post_id": 76745, "ts": "2026-10-04T13:52:37Z", "hours": 1.0744, "text": "Now, my apps are draggable and when you open next app it will appear above last ones."}, {"post_id": 76426, "ts": "2026-10-03T14:20:59Z", "hours": 1.0606, "text": "Now, i’m adding first and simple app that most of us use it in our daily life"}, {"post_id": 76392, "ts": "2026-10-03T12:01:24Z", "hours": 0.7331, "text": "For welcome icon, i cannot find other suitable picture, if you have and idea please write it on comment. Still, it is running and working smoothly"}, {"post_id": 75840, "ts": "2026-10-01T09:53:23Z", "hours": 1.3375, "text": "Now it is draggable and closeable I think that i have pass the most complex part. Openable function won’t be very challenging (in my opinion)"}, {"post_id": 73666, "ts": "2026-09-25T17:00:14Z", "hours": 0.8094, "text": "I have entered to the most challenging part: adding draggable, openable and closeable window."}, {"post_id": 71173, "ts": "2026-09-20T12:05:15Z", "hours": 1.3767, "text": "I have added topbar, and now working on draggable window"}, {"post_id": 71120, "ts": "2026-09-20T10:10:07Z", "hours": 0.9286, "text": "New project has started. It is my WebOS and I will develop it until it is like serious project."}]...
|
Title: SefirahOS by @meroquixel | Stardance
Devlo Title: SefirahOS by @meroquixel | Stardance
Devlogs:
New project has started. It is my WebOS and I will develop it until it is like serious project.
I have added topbar, and now working on draggable window
I have entered to the most challenging part: adding draggable, openable and closeable window.
Now it is draggable and closeable I think that i have pass the most complex part. Openable function won’t be very challenging (in my opinion)
For welcome icon, i cannot find other suitable picture, if you have and idea please write it on comment. Still, it is running and working smoothly
Now, i’m adding first and simple app that most of us use it in our daily life
Now, my apps are draggable and when you open next app it will appear above last ones.
It will be shipped after around 1 hour of work. It was very complex to write it’s script, but after great challenges it is nearly done.
Now, I am working on Theme app, I think it will be necessary for user to change their theme as they want....
|
1792446457.9201686
|
1793051257.9201686
|
|
23084
|
StarBrowser by @jphwb | Stardance
|
jphwb
|
1
|
23.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T12:01:14Z", "hours": 23.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a web browser from scratch in Rust. I made my own networking code, it can fetch HTTP and HTTPS websites, and it can parse the HTML itself. The challenging part was getting the websites to actually show up since everytime I tried to get it to work it kept showing No Response. I was able to fix this by rewriting my client.rs file and changing the way the app connects to websites. I am proud of this whole thing as I was still a sort of ‘intermediate beginner’ to rust but I got the hang of it by watching a bunch of youtube videos at 3am in the morning and learning from w3schools as well as getting documentation from the Mozilla docs. To run the project you just need to run the windows exe. For macOS and Linux I cannot test those executables so I am not 100% sure but the windows exe works. Just make sure that on some websites like google.com you need the www subdomain first. All websites require http:// or https:// at the start. Other websites like github.com dont need the www. I was initially going to add working CSS styling however due to Stardance ending soon and I was on holiday for majority of the time I just didn’t have time.", "repo": "https://github.com/jphwba/StarBrowser", "demo": "https://github.com/jphwba/StarBrowser/releases/tag/v1.0.0"}]...
|
[{"post_id": 80645, "ts": "202 [{"post_id": 80645, "ts": "2026-10-18T11:52:41Z", "hours": 1.6633, "text": "This is a short change, initially I was working on making working CSS styling however I don’t have the time for it so all I did was create a release workflow (which took longer than expected) and I made a README going through all the features and limitations as well as a rundown of the app. I have made 3 executables. One for Windows, Linux and MacOS. All are x86_64 not ARM. I am unable to test the Linux and MacOS executables however the windows one works."}, {"post_id": 79769, "ts": "2026-10-15T10:04:18Z", "hours": 4.1039, "text": "First in the UI and Rendering architecture I added a 2010 style chrome colour palette. I also implemented new vertex, rect and ui structs with layout_ui() to calculate and position the tab strip, address bat, navi buttons and the content viewport. I also made a new WGSL shader pipeline and vertex buffer for rendering flat colour rectangles. I then added normalise_url(), fetch_page(), navigate(), go_history() and reload(). Then I updated the core State struct, removed the raw display_text stering and replaced it with rectangle pipelines, address input state, focus flags, document title tracking, history stacks, scroll offsets and mouse tracking. I rewrote window_event() and app resume logic to handle the mouse movements, vlivks, wheel scrolling and keyboard typing including Enter backspace and shortcuts with ctrl and alt. I also removed the esc to quit application and it now just refocuses onto the addrtess bar. And render() draws the UI rectabgles first, then the address text, tabs buttons and page text with clipping and scroll offsets on a white background. I also made a new HTML Parser module. With tokenisation and scanning, it includfes void/raw text element lists, entitity decoding with &, &nbdp, etc, character scanning and attribute parsing. parse() constructs the existing HTMLDocument and HTMLNode types from client.rs which handles comments, doctypes, closing tags and script/style. With DOM Utils it includfes is_block_level(), extract_visible_text() which skips , , and tags while infecting liner breaks around block elements and nodewalking and title extraction (find_title()). I also deleted cssrom.rs whcih I originally had plans for but I just merged them into parser.rs and cascade.rs. My current limitations are rendering since the pages only display as plain text so no images, hyperlinks, styling or CSS in general. There is also network bliocking where page fetching is synchronus and blocks the UI window while loading."}, {"post_id": 77540, "ts": "2026-10-07T12:06:19Z", "hours": 8.0286, "text": "I can guarantee you I am not dead even though its been like 3 months. I build about the entire css engine. I can now display the web page’s html onto the app. In the app you can’t scroll down as I still need to implement that but this is progress. A lot of the functionality is there in my code but it is unused since I need to do a whole lot more work on it but this devlog is already 8 hours and I don’t want to go over 10 so I’m making a devlog here. tokenise.rs is a css level 3 tokeniser and is pretty much the architecture. units.rs is just simple unit and angle conversion. colour.rs is just colour parsing. colours.rs is mostly just the colour-name hex table. selectors.rs is the full selector parser. parser.rs is the component valuesa dn declarations into a Stylesheet model. cascade.rs matches an element against a stylesheet and sorts it by specificity/order. box_model.rs and layout.rs just set the layout of the app’s edges/borders/padding/margin and a block-layout pass decoupled from font types that dont exist in the app natively. I would write a lot more and style the devlog better but this new stardance thing with the animations everywhere make it almost impossible to type properly and I’m on a gaming laptop"}, {"post_id": 16945, "ts": "2026-06-27T14:50:30Z", "hours": 2.6572, "text": "Added Protocol::connect_tls() method using rustls::StreamOwned<rustls::ClientConnection, TcpStream>. Created AllowAnyVerifier implementing rustls::client::danger::ServerCertVerifier to accept any certificate AddedClient::connect_tls() that loads ca-certificates.crt if present otherwise falls back to system certs TLS now works for HTTP1_1 and HTTP2_0 protocols New DNSCache struct with Arc<Mutex<HashMap<String, DNSCacheEntry»> thread-safe, TTL-based DNSCacheEntry stores resolved SocketAddr list + expiry timestamp resolve_dns() now uses trust_dns_resolver::Resolver::from_system_conf() for proper DNS lookups, with fallback to ToSocketAddrs parse_url() extracts the host, port, and TLS flag from http:// or https:// URLs Handles explicit ports (example.com:8080) and defaults (80/443) connect_to() now calls resolve_and_connect() which uses DNS cache + TLS decision logic Client now tracks redirect_count send_request() detects 3xx status codes, reads location header, and follows redirects HTMLTag -enum of all standard HTML5 tags HTMLAttribute -name/value pairs HTMLNode - tag + attributes + children + optional text content HTMLDocument -doctype + root node HTMLTag::from_string() - case-insensitive parser for all tags"}, {"post_id": 14312, "ts": "2026-06-23T12:16:35Z", "hours": 1.6106, "text": "I added text rendering to the wgpu window so it displays the HTTP status code instead of just printing it to the console. The window now shows “Status: 200” (or whatever the server returns)"}, {"post_id": 13879, "ts": "2026-06-22T19:03:58Z", "hours": 2.2364, "text": "I added response decoding and support for http0.9 1.0 and 1.1. These guides: browser.engineering , firefox guides and servo were amazing resources for learning how HTTP works and with encoding/decoding requests and responses. I mostly just followed along with how firefox worked and built my way away from it but the code formatting went a bit off in the middle (it was 4:30am I have an exam in 4 hours I was tired) Next I want to print everything in the UI instead of terminal"}, {"post_id": 13080, "ts": "2026-06-21T12:20:07Z", "hours": 0.5225, "text": "Added the initial browser engine foundataion. I added basic support for http protocol and implemented http request encoding."}, {"post_id": 13036, "ts": "2026-06-21T10:04:14Z", "hours": 2.2739, "text": "I created the basic app here but it just shows a colour right now. I was following a tutorial on basic rust because I’m still learning it."}]...
|
Title: StarBrowser by @jphwb | Stardance
Devlogs: Title: StarBrowser by @jphwb | Stardance
Devlogs:
I created the basic app here but it just shows a colour right now. I was following a tutorial on basic rust because I’m still learning it.
Added the initial browser engine foundataion. I added basic support for http protocol and implemented http request encoding.
I added response decoding and support for http0.9 1.0 and 1.1. These guides: browser.engineering , firefox guides and servo were amazing resources for learning how HTTP works and with encoding/decoding requests and responses. I mostly just followed along with how firefox worked and built my way away from it but the code formatting went a bit off in the middle (it was 4:30am I have an exam in 4 hours I was tired) Next I want to print everything in the UI instead of terminal
I added text rendering to the wgpu window so it displays the HTTP status code instead of just printing it to the console. The window now shows “Status: 200” (or whatever the server returns)
Added Protocol::connect_tls() method using rustls::StreamOwned<rustls::ClientConnection, TcpStream>. Created AllowAnyVerifier implementing rustls::client::danger::ServerCertVerifier to accept any certificate AddedClient::connect_tls() that loads ca-certificates.crt if present otherwise falls back to system certs TLS now works for HTTP1_1 and HTTP2_0 protocols New DNSCache struct with Arc<Mutex<HashMap<String, DNSCacheEntry»> thread-safe, TTL-based DNSCacheEntry stores resolved SocketAddr list + expiry timestamp resolve_dns() now uses trust_dns_resolver::Resolver::from_system_conf() for proper DNS lookups, with fallback to ToSocketAddrs parse_url() extracts the host, port, and TLS flag from http:// or https:// URLs Handles explicit ports (example.com:8080) and defaults (80/443) connect_to() now calls resolve_and_connect() which uses DNS cache + TLS decision logic Client now tracks redirect_count send_request() detects 3xx status codes, reads location header, and follows redirects HTMLTag -enum of all standard HTML5 tags HTMLAttribute -name/value pairs HTMLNode - tag + attributes + children + optional text content HTMLDocument -doctype + root node HTMLTag::from_string() - case-insensitive parser for all tags
I can guarantee you I am not dead even though its been like 3 months. I build about the entire css engine. I can now display the web page’s html onto the app. In the app you can’t scroll down as I still need to implement that but this is progress. A lot of the functionality is there in my code but it is unused since I need to do a whole lot more work on it but this devlog is already 8 hours and I don’t want to go over 10 so I’m making a devlog here. tokenise.rs is a css level 3 tokeniser and is pretty much the architecture. units.rs is just simple unit and angle conversion. colour.rs is just colour parsing. colours.rs is mostly just the colour-name hex table. selectors.rs is the full selector parser. parser.rs is the component valuesa dn declarations into a Stylesheet model. cascade.rs matches an element against a stylesheet and sorts it by specificity/order. box_model.rs and layout.rs just set the layout of the app’s edges/borders/padding/margin and a block-layout pass decoupled from font types that dont exist in the app natively. I would write a lot more and style the devlog better but this new stardance thing with the animations everywhere make it almost impossible to type properly and I’m on a gaming laptop
First in the UI and Rendering architecture I added a 2010 style chrome colour palette. I also implemented new vertex, rect and ui structs with layout_ui() to calculate and position the tab strip, address bat, navi buttons and the content viewport. I also made a new WGSL shader pipeline and vertex buffer for rendering flat colour rectangles. I then added normalise_url(), fetch_page(), navigate(), go_history() and reload(). Then I updated the core State struct, removed the raw display_text stering and replaced it with rectangle pipelines, address input state, focus flags, document title tracking, history stacks, scroll offsets and mouse tracking. I rewrote window_event() and app resume logic to handle the mouse movements, vlivks, wheel scrolling and keyboard typing including Enter backspace and shortcuts with ctrl and alt. I also removed the esc to quit application and it now just refocuses onto the addrtess bar. And render() draws the UI rectabgles first, then the address text, tabs buttons and page text with clipping and scroll offsets on a white background. I also made a new HTML Parser module. With tokenisation and scanning, it includfes void/raw text element lists, entitity decoding with &, &nbdp, etc, character scanning and attribute parsing. parse() constructs the existing HTMLDocument and HTMLNode types from client.rs which handles comments, doctypes, closing tags and script/style. With DOM Utils it includfes is_block_level(), extract_visible_text() which skips , , and tags while infecting liner breaks around block elements and nodewalking and title extraction (find_title()). I also deleted cssrom.rs whcih I originally had plans for but I just merged them into parser.rs and cascade.rs. My current limitations are rendering since the pages only display as plain text so no images, hyperlinks, styling or CSS in general. There is also network bliocking where page fetching is synchronus and blocks the UI window while loading.
This is a short change, initially I was working on making working CSS styling however I don’t have the time for it so all I did was create a release workflow (which took longer than expected) and I made a README going through all the features and limitations as well as a rundown of the app. I have made 3 executables. One for Windows, Linux and MacOS. All are x86_64 not ARM. I am unable to test the Linux and MacOS executables however the windows one works.
Ships:
I made a web browser from scratch in Rust. I made my own networking code, it can fetch HTTP and HTTPS websites, and it can parse the HTML itself. The challenging part was getting the websites to actually show up since everytime I tried to get it to work it kept showing No Response. I was able to fix this by rewriting my client.rs file and changing the way the app connects to websites. I am proud of this whole thing as I was still a sort of ‘intermediate beginner’ to rust but I got the hang of it by watching a bunch of youtube videos at 3am in the morning and learning from w3schools as well as getting documentation from the Mozilla docs. To run the project you just need to run the windows exe. For macOS and Linux I cannot test those executables so I am not 100% sure but the windows exe works. Just make sure that on some websites like google.com you need the www subdomain first. All websites require http:// or https:// at the start. Other websites like github.com dont need the www. I was initially going to add working CSS styling however due to Stardance ending soon and I was on holiday for majority of the time I just didn’t have time....
|
1792857261.6255362
|
1792943661.6255362
|
|
70321
|
Brain Tumor Detectionnn by @akanksha | Stardance
|
akanksha
|
0
|
0.97
|
0
|
[]
|
[{"post_id": 80649, "ts": "202 [{"post_id": 80649, "ts": "2026-10-18T12:05:54Z", "hours": 0.9697, "text": "Analysed Dataset Format Architecture"}]...
|
Title: Brain Tumor Detectionnn by @akanksha | Star Title: Brain Tumor Detectionnn by @akanksha | Stardance
Devlogs:
Analysed Dataset Format Architecture...
|
1792327624.3559716
|
1792932424.3559716
|
|
68669
|
Ultron by @Hamstersarus | Stardance
|
Hamstersarus
|
0
|
10.67
|
0
|
[]
|
[{"post_id": 80650, "ts": "202 [{"post_id": 80650, "ts": "2026-10-18T12:08:32Z", "hours": 1.3297, "text": "Created a website for downloading the app"}, {"post_id": 80554, "ts": "2026-10-18T04:36:01Z", "hours": 0.8222, "text": "Made some more progress on the website, added ultron to it"}, {"post_id": 80531, "ts": "2026-10-18T01:51:43Z", "hours": 0.8664, "text": "Started working on the website for the demo and instructions and stuff."}, {"post_id": 80494, "ts": "2026-10-17T21:03:34Z", "hours": 2.2031, "text": "Ultron moves around the screen, the text scrolls in and the mouth moves like its talking."}, {"post_id": 80314, "ts": "2026-10-17T07:34:32Z", "hours": 1.6472, "text": "So a lot of progress was made… I added the AI and it works which is great! Also, I wrote instructions for the user to add an api key but I’ll make more concise instructions later."}, {"post_id": 79691, "ts": "2026-10-15T02:28:50Z", "hours": 0.8586, "text": "Started working on integrating an ai (Newmatron) and some answers that it can give if something breaks. I also gave it a little backstory type thing so that it stays in character (I may be a little bit of a larper but I know mostly what the character is)."}, {"post_id": 79423, "ts": "2026-10-13T22:30:04Z", "hours": 0.5667, "text": "Added a blinking animation and a thinking sprite and talking (I lost wifi mid drawing so not all of it was recorded). Next I gotta give it a brain (connect it to some ai.. maybe claude??). Not sure yet what I’ll do so research time!! Going into projects without planning is so fun :)"}, {"post_id": 79209, "ts": "2026-10-13T01:31:25Z", "hours": 1.3064, "text": "Created a way to actually chat with it (even if it won’t talk back… and its just a grey box). Progress!!!"}, {"post_id": 78236, "ts": "2026-10-10T02:33:30Z", "hours": 1.0689, "text": "Set up Electron app with a basic window"}]...
|
Title: Ultron by @Hamstersarus | Stardance
Devlog Title: Ultron by @Hamstersarus | Stardance
Devlogs:
Set up Electron app with a basic window
Created a way to actually chat with it (even if it won’t talk back… and its just a grey box). Progress!!!
Added a blinking animation and a thinking sprite and talking (I lost wifi mid drawing so not all of it was recorded). Next I gotta give it a brain (connect it to some ai.. maybe claude??). Not sure yet what I’ll do so research time!! Going into projects without planning is so fun :)
Started working on integrating an ai (Newmatron) and some answers that it can give if something breaks. I also gave it a little backstory type thing so that it stays in character (I may be a little bit of a larper but I know mostly what the character is).
So a lot of progress was made… I added the AI and it works which is great! Also, I wrote instructions for the user to add an api key but I’ll make more concise instructions later.
Ultron moves around the screen, the text scrolls in and the mouth moves like its talking.
Started working on the website for the demo and instructions and stuff.
Made some more progress on the website, added ultron to it
Created a website for downloading the app...
|
1792472065.4179325
|
1793076865.4179325
|
|
70323
|
Fox Challenge by @Matuskas | Stardance
|
Matuskas
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T12:42:06Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a 2D platformer in the style of Mario and Sonic. It’s a short game with no set ending, consisting of just two simple levels. The main character is a fox that faces challenges, defeats enemies, and collects gems and cherries. I’m proud to have been able to build this project and improve my programming skills; I hope to create more games like this in the future.", "repo": "https://github.com/MatuskasKenji/Fox-Challenge", "demo": "https://matuskas.itch.io/fox-challege"}]...
|
[{"post_id": 80652, "ts": "202 [{"post_id": 80652, "ts": "2026-10-18T12:18:54Z", "hours": 12.0664, "text": "Updating 0.2"}]...
|
Title: Fox Challenge by @Matuskas | Stardance
Dev Title: Fox Challenge by @Matuskas | Stardance
Devlogs:
Updating 0.2
Ships:
I created a 2D platformer in the style of Mario and Sonic. It’s a short game with no set ending, consisting of just two simple levels. The main character is a fox that faces challenges, defeats enemies, and collects gems and cherries. I’m proud to have been able to build this project and improve my programming skills; I hope to create more games like this in the future....
|
1792857051.3207176
|
1792943451.3207176
|
|
56572
|
arcPad by @jorm | Stardance
|
jorm
|
0
|
23.62
|
0
|
[]
|
[{"post_id": 80655, "ts": "202 [{"post_id": 80655, "ts": "2026-10-18T12:33:51Z", "hours": 4.0678, "text": "finished modelling the case! I wanted to keep the design really compact (which was the reason why I redesigned the PCB earlier), so I decided not to use screws and secured the PCB with friction instead. The PCB is sandwiched between a base and a top plate, the PCB is secured to the top plate when the switches are attached, and the top plate secures to the base with some neat snap fit geometry (second pic). I made a little render to illustrate how it’ll look in the end, with the light bar as well."}, {"post_id": 80210, "ts": "2026-10-16T19:10:26Z", "hours": 4.9892, "text": "for some reason, I decided to change my macropad’s design, so I had to redo parts of the schematic and PCB. It’s now more compact, with one switch replaced by the rotary encoder, and 5 extra LEDs used as some sort of “progress bar” that I think would turn out pretty cool."}, {"post_id": 79858, "ts": "2026-10-15T17:05:16Z", "hours": 5.3056, "text": "finished pcb! designing and tracing the pcb was definitely the most enjoyable part of the process so far imo. i also imported all the step files and silkscreen into fusion, next up is designing a case!"}, {"post_id": 78790, "ts": "2026-10-11T16:39:28Z", "hours": 6.1658, "text": "made progress on the pcb! this was an oddly satisfying process, but took absolutely forever since I had to redo the LED traces at least 5 times. I ran a quick DRC after wiring everthing and got about 80 warnings and errors… tomorrow’s problem."}, {"post_id": 78094, "ts": "2026-10-09T15:26:49Z", "hours": 3.0908, "text": "finished the schematics (for now)! this took way longer than it should’ve, mainly because i have no clue what i’m doing, but i think it all works? next I have to check if it actually works as a pcb, and make sure it doesn’t exceed the max dimensions (100x100mm)"}]...
|
Title: arcPad by @jorm | Stardance
Devlogs:
finis Title: arcPad by @jorm | Stardance
Devlogs:
finished the schematics (for now)! this took way longer than it should’ve, mainly because i have no clue what i’m doing, but i think it all works? next I have to check if it actually works as a pcb, and make sure it doesn’t exceed the max dimensions (100x100mm)
made progress on the pcb! this was an oddly satisfying process, but took absolutely forever since I had to redo the LED traces at least 5 times. I ran a quick DRC after wiring everthing and got about 80 warnings and errors… tomorrow’s problem.
finished pcb! designing and tracing the pcb was definitely the most enjoyable part of the process so far imo. i also imported all the step files and silkscreen into fusion, next up is designing a case!
for some reason, I decided to change my macropad’s design, so I had to redo parts of the schematic and PCB. It’s now more compact, with one switch replaced by the rotary encoder, and 5 extra LEDs used as some sort of “progress bar” that I think would turn out pretty cool.
finished modelling the case! I wanted to keep the design really compact (which was the reason why I redesigned the PCB earlier), so I decided not to use screws and secured the PCB with friction instead. The PCB is sandwiched between a base and a top plate, the PCB is secured to the top plate when the switches are attached, and the top plate secures to the base with some neat snap fit geometry (second pic). I made a little render to illustrate how it’ll look in the end, with the light bar as well....
|
1792669786.425491
|
1793274586.425491
|
|
61846
|
ArduCore — My Own Arduino Board by @Sammy_Uranus | ArduCore — My Own Arduino Board by @Sammy_Uranus | Stardance...
|
Sammy_Uranus
|
0
|
9.93
|
0
|
[]
|
[{"post_id": 80659, "ts": "202 [{"post_id": 80659, "ts": "2026-10-18T12:45:47Z", "hours": 1.2333, "text": "SMD to THT I thought the SMD components were looking nice and clean until I thought that I won’t be able to solder such small microscopic components properly at all !! So I swapped it with THT components Below is the final view of Arducore PCB !! I hope it turns out good and working"}, {"post_id": 70762, "ts": "2026-09-19T18:36:05Z", "hours": 7.3403, "text": "#Devlog 2 — 7 Hours Later… I Built My Own Arduino 😭 Today was the big build day for ArduCore . I spent almost 7 hours designing and finishing my custom Arduino-style development board using the DIP ATmega328P . This isn’t using a ready-made Arduino board — I built the main circuit myself and had to figure out how all the important parts connect and work together. One thing I learned is that this board doesn’t have a built-in USB programmer , so I’ll need to use another Arduino as an ISP programmer/burner to upload the bootloader and program the ATmega328P. Today I: Finished the schematic Designed the PCB Worked through the component connections Figured out the ATmega328P DIP setup Finished the board design Recorded the whole ~ 7 hour build session And finally… ArduCore is complete! 🚀 Now comes the fun part — getting the actual hardware, programming it, and seeing if my board really works. 👀"}, {"post_id": 67552, "ts": "2026-09-13T18:07:57Z", "hours": 1.3539, "text": "#Devlog 1 — Starting My Own Arduino Board Today I officially Started working on my own custom Arduino style development board called ArduCore I started by Searching : What IC is used What each pin does Which Components are needed( incomplete yet ) I also started exploring` KiCad , trying out different tools and plugins to get familiar with the workflow. Of course, KiCad had to test my patience with a few “Not Responding” moments 😭💀 Still a lot to figure out, but the goal is to understand everything properly before I start designing the actual board. Day 1 done 🚀"}]...
|
Title: ArduCore — My Own Arduino Board by @Sammy_U Title: ArduCore — My Own Arduino Board by @Sammy_Uranus | Stardance
Devlogs:
#Devlog 1 — Starting My Own Arduino Board Today I officially Started working on my own custom Arduino style development board called ArduCore I started by Searching : What IC is used What each pin does Which Components are needed( incomplete yet ) I also started exploring` KiCad , trying out different tools and plugins to get familiar with the workflow. Of course, KiCad had to test my patience with a few “Not Responding” moments 😭💀 Still a lot to figure out, but the goal is to understand everything properly before I start designing the actual board. Day 1 done 🚀
#Devlog 2 — 7 Hours Later… I Built My Own Arduino 😭 Today was the big build day for ArduCore . I spent almost 7 hours designing and finishing my custom Arduino-style development board using the DIP ATmega328P . This isn’t using a ready-made Arduino board — I built the main circuit myself and had to figure out how all the important parts connect and work together. One thing I learned is that this board doesn’t have a built-in USB programmer , so I’ll need to use another Arduino as an ISP programmer/burner to upload the bootloader and program the ATmega328P. Today I: Finished the schematic Designed the PCB Worked through the component connections Figured out the ATmega328P DIP setup Finished the board design Recorded the whole ~ 7 hour build session And finally… ArduCore is complete! 🚀 Now comes the fun part — getting the actual hardware, programming it, and seeing if my board really works. 👀
SMD to THT I thought the SMD components were looking nice and clean until I thought that I won’t be able to solder such small microscopic components properly at all !! So I swapped it with THT components Below is the final view of Arducore PCB !! I hope it turns out good and working...
|
1792432446.486731
|
1793037246.486731
|
|
70331
|
anime battle arena by @chestagahlawat06 | Stardanc anime battle arena by @chestagahlawat06 | Stardance...
|
chestagahlawat06
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T13:03:41Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a game where anime characters battle each other….", "repo": "https://github.com/chestagahlawat6-maker/anime-battle-arena", "demo": "https://anime-battle-arena-w8jv.vercel.app/"}]...
|
[{"post_id": 80661, "ts": "202 [{"post_id": 80661, "ts": "2026-10-18T13:01:33Z", "hours": 10.7028, "text": "hi i am working on a game… maybe …umm its made by css( a few lines because i dont know much about css), html and java script. Its not much impressive although"}]...
|
Title: anime battle arena by @chestagahlawat06 | S Title: anime battle arena by @chestagahlawat06 | Stardance
Devlogs:
hi i am working on a game… maybe …umm its made by css( a few lines because i dont know much about css), html and java script. Its not much impressive although
Ships:
i made a game where anime characters battle each other…....
|
1792857059.570911
|
1792943459.570911
|
|
69521
|
Basic Page Turner by @Partholimew | Stardance
|
Partholimew
|
0
|
2.67
|
0
|
[]
|
[{"post_id": 80666, "ts": "202 [{"post_id": 80666, "ts": "2026-10-18T13:12:53Z", "hours": 1.0333, "text": "Today I did the CAD for the enclosure of the Page Turner. All I have left to do is prep the files, finish the repo, and get cost estimates for all the parts! The case is structured to properly support the pcb over the battery and expose needed components."}, {"post_id": 80368, "ts": "2026-10-17T12:51:46Z", "hours": 0.8833, "text": "So today I made the firmware. You can swap between 4 different keymaps, repair BLE, turn the pages, and it even has a status LED that will display the current mode or pairing status. Now I just have to do the CAD and budgeting. Here’s a picture of the Schematic since a picture of code you can’t see all of unless you check the repo wouldn’t be that helpful."}, {"post_id": 79860, "ts": "2026-10-15T17:15:46Z", "hours": 0.7503, "text": "This is going to be a pretty short project, since it’s a fairly simple item. This is devlog 1 of 3-4 for the pre-funding part. I’m making a page-turner pedal with BLE. So it connects to the device you are using for sheet music, and when you press one of the buttons, it will turn the page. For this section, I made both the schematic and the PCB layout."}]...
|
Title: Basic Page Turner by @Partholimew | Stardan Title: Basic Page Turner by @Partholimew | Stardance
Devlogs:
This is going to be a pretty short project, since it’s a fairly simple item. This is devlog 1 of 3-4 for the pre-funding part. I’m making a page-turner pedal with BLE. So it connects to the device you are using for sheet music, and when you press one of the buttons, it will turn the page. For this section, I made both the schematic and the PCB layout.
So today I made the firmware. You can swap between 4 different keymaps, repair BLE, turn the pages, and it even has a status LED that will display the current mode or pairing status. Now I just have to do the CAD and budgeting. Here’s a picture of the Schematic since a picture of code you can’t see all of unless you check the repo wouldn’t be that helpful.
Today I did the CAD for the enclosure of the Page Turner. All I have left to do is prep the files, finish the repo, and get cost estimates for all the parts! The case is structured to properly support the pcb over the battery and expose needed components....
|
1792857077.8672545
|
1793461877.8672545
|
|
41892
|
My own site! by @jiya | Stardance
|
jiya
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T13:36:27Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "well my project is so simple its not so creative nor big and advance but i made it for checking up my 1 of dreams to make a person website its about dr stone character of sai nanami and senku who inspires me for programming and science or space love 😊 well the stickers and photo glows when touched", "repo": "https://github.com/yasmeenpapppy0-prog/deep-space", "demo": "https://yasmeenpapppy0-prog.github.io/deep-space"}]...
|
[{"post_id": 80669, "ts": "202 [{"post_id": 80669, "ts": "2026-10-18T13:27:06Z", "hours": 3.59, "text": "its an website about dr stone characters who inspired me and abut space to that hoow much i love space > < ^"}]...
|
Title: My own site! by @jiya | Stardance
Devlogs: Title: My own site! by @jiya | Stardance
Devlogs:
its an website about dr stone characters who inspired me and abut space to that hoow much i love space > < ^
Ships:
well my project is so simple its not so creative nor big and advance but i made it for checking up my 1 of dreams to make a person website its about dr stone character of sai nanami and senku who inspires me for programming and science or space love 😊 well the stickers and photo glows when touched...
|
1792857251.443763
|
1792943651.443763
|
|
63134
|
productivity-tab by @satr14 | Stardance
|
satr14
|
0
|
3.92
|
0
|
[]
|
[{"post_id": 80676, "ts": "202 [{"post_id": 80676, "ts": "2026-10-18T13:44:19Z", "hours": 0.3494, "text": "okay well i slept for the day, prob not the best idea but oh well. last commit hash: 53397fab62e551b9828fefa448c84038b1c85004 ngl im happy with how the design ended up, still could use polish but its definitely a lot better. my main issue is that i always depended on catppuccin colors for my sites, but since i want user customizability, i needed to make things work with tailwind’s provided colors. added helper function to get current time formatted using intl api display time and moved motivation text to the background as big text improved styling with rounded corners, tweaked base colors, and less thick borders"}, {"post_id": 80410, "ts": "2026-10-17T15:37:52Z", "hours": 0.6478, "text": "honestly didnt have much energy, and this is a filler project. but i gotta get 11hr/week last commit hash: f2f34b36d4106a2b0e599bbdeb4466d5bfee9d0d hardest part is probably designing and theming. switched fonts again because it just didnt feel right. maybe its the text sizing, padding and spacing, or just something else. just cant find it yet. but the important part is to finish a raw prototype thats functional and make it look pretty later. added extra data to api fetcher function: sum and largest added a helper function for formatting raw integer seconds: hh mm ss rename variables to be more sensible + code cleanup switched font from jetbrains mono to inter implemented projects time spent display card using html table element ill probably try to theme this around hackatime’s webui theme so theres gonna be a lot of red for hackclub ;)"}, {"post_id": 78770, "ts": "2026-10-11T15:30:39Z", "hours": 0.9275, "text": "last commit hash: c8d25b899f7d860afa25c6f10b6b6a333f0bbf6a working on this after finishing most of my main projects. this might surpass the under 3h mark which may make letting go of the mission on this project necesarry for higher payout. modified fetch function to also get statusbar and goal information switched font to jetbrains mono display statusbar text and goal on the page modified fetch function to also calculate coding times by each day “just make it exists, polish later”"}, {"post_id": 74340, "ts": "2026-09-27T06:19:24Z", "hours": 0.4989, "text": "barely worked on this project for that long but anyways: made a helper function for generating dates in yyyy-mm-dd format for hackatime made a function to fetch hackatime tracked projects based of date offset provided data isnt used for visuals yet. all the creds are fetched from local storage"}, {"post_id": 73786, "ts": "2026-09-26T00:01:20Z", "hours": 0.9494, "text": "after a lot of school shenanigans, im gonna continue for this project: made a dotted bg (adapted from my website) as a fallback background when no bg is available made a center container for elements remove catppuccin for later user style customization dim background image for better text visibility added svelte state variables for inputs style tweaks to search bar search engine selection changed base color to tailwind’s stone remove ugly focus outline radial fade for background added onsubmit handler so now search bar works"}, {"post_id": 71542, "ts": "2026-09-21T01:13:43Z", "hours": 0.5447, "text": "well i got a bit tired on working on my main projects so im doing this side quest: init project with sveltekit, tailwind, and cloudflare create MIT license and basic README installed catppuccin for theming added background image element based of local storage made a file upload input for setting background theme and storing in local storage as data uri"}]...
|
Title: productivity-tab by @satr14 | Stardance
De Title: productivity-tab by @satr14 | Stardance
Devlogs:
well i got a bit tired on working on my main projects so im doing this side quest: init project with sveltekit, tailwind, and cloudflare create MIT license and basic README installed catppuccin for theming added background image element based of local storage made a file upload input for setting background theme and storing in local storage as data uri
after a lot of school shenanigans, im gonna continue for this project: made a dotted bg (adapted from my website) as a fallback background when no bg is available made a center container for elements remove catppuccin for later user style customization dim background image for better text visibility added svelte state variables for inputs style tweaks to search bar search engine selection changed base color to tailwind’s stone remove ugly focus outline radial fade for background added onsubmit handler so now search bar works
barely worked on this project for that long but anyways: made a helper function for generating dates in yyyy-mm-dd format for hackatime made a function to fetch hackatime tracked projects based of date offset provided data isnt used for visuals yet. all the creds are fetched from local storage
last commit hash: c8d25b899f7d860afa25c6f10b6b6a333f0bbf6a working on this after finishing most of my main projects. this might surpass the under 3h mark which may make letting go of the mission on this project necesarry for higher payout. modified fetch function to also get statusbar and goal information switched font to jetbrains mono display statusbar text and goal on the page modified fetch function to also calculate coding times by each day “just make it exists, polish later”
honestly didnt have much energy, and this is a filler project. but i gotta get 11hr/week last commit hash: f2f34b36d4106a2b0e599bbdeb4466d5bfee9d0d hardest part is probably designing and theming. switched fonts again because it just didnt feel right. maybe its the text sizing, padding and spacing, or just something else. just cant find it yet. but the important part is to finish a raw prototype thats functional and make it look pretty later. added extra data to api fetcher function: sum and largest added a helper function for formatting raw integer seconds: hh mm ss rename variables to be more sensible + code cleanup switched font from jetbrains mono to inter implemented projects time spent display card using html table element ill probably try to theme this around hackatime’s webui theme so theres gonna be a lot of red for hackclub ;)
okay well i slept for the day, prob not the best idea but oh well. last commit hash: 53397fab62e551b9828fefa448c84038b1c85004 ngl im happy with how the design ended up, still could use polish but its definitely a lot better. my main issue is that i always depended on catppuccin colors for my sites, but since i want user customizability, i needed to make things work with tailwind’s provided colors. added helper function to get current time formatted using intl api display time and moved motivation text to the background as big text improved styling with rounded corners, tweaked base colors, and less thick borders...
|
1792439583.144082
|
1793044383.144082
|
|
50131
|
Vanguard SSA (Space Situational Awareness) by @Spa Vanguard SSA (Space Situational Awareness) by @SpaceRanger | Stardance...
|
SpaceRanger
|
0
|
30.61
|
0
|
[]
|
[{"post_id": 80681, "ts": "202 [{"post_id": 80681, "ts": "2026-10-18T14:11:49Z", "hours": 1.4303, "text": "Well, you can now choose your own time multiplier from between the Real world, and the app. This part was(Mostly) gemini code. I suck at math, so I had it do the calculations and stuff. I also tried to Make the earth also spin in relation to the satellites using Julian Time mathematical calculations, But i’ve not been able to achieve that. Changelog git commit -m “choose time multiplier plus earth rotation” ( a585661 ) choose time multiplier plus earth rotation ( eca1623 )"}, {"post_id": 76714, "ts": "2026-10-04T12:17:06Z", "hours": 1.9442, "text": "Changelog configured 2 way channel websocket broadcast. can now receive info from the frontend ( 2500f28 ) Yeah. That’s all. “THAT’S ALL YOU DID FOR 2 HOURS 🙆♀️”. Yeah. Keep judging. Until you try to code in RUST 😑🙂"}, {"post_id": 75998, "ts": "2026-10-01T23:58:50Z", "hours": 1.0653, "text": "Changelog Made the in App world go 60* faster than the normal time. ( be91922 ) Basically, 1 Normal second is 60 seconds in app. 1 Normal hour is 60 hours in app"}, {"post_id": 75991, "ts": "2026-10-01T21:38:25Z", "hours": 1.0053, "text": "Changelog Trajectory calculation Now uses universal timestamp ( c842228 ) Okay, Because Celestrak tracks and updates satellite data at different times, The data from the API doesn’t actually reflect the current coordinates of the satellites, especially when compared to one another. While the specific orbits were accurate, The timing was completely random, and so, if 2 satellites were recorded in the same position, 6 hours apart, My simulation will start them in the same coordinate. This is obviously dangerously inaccurate. Fix: I removed the simulated “timestep” entirely, and Built the whole thing to Check current time, Check time the satellite’s data was recorded, and Simulate Orbit/Calculate trajectory and coordinates based on that. Problem with that is, without the timestep, My previous calculation for How fast this thing can run in relation to real word time will be totally wrong. I’ll fix that next."}, {"post_id": 75982, "ts": "2026-10-01T20:30:22Z", "hours": 0.6856, "text": "Changelog Improve error handling for satellite and debris data fetching; adjust time step for simulation ( 7e7c487 ) Coming back to this after legit leaving it for One month 😭. Anyway, I fixed error handling for Cases where the user is not able to ping the Celestrak servers to get the data needed. Now It just falls back to the Cache. I also reduced the amount of time That goes by in app, to perfectly mirror the real world."}, {"post_id": 73015, "ts": "2026-09-24T07:04:21Z", "hours": 1.5769, "text": "A few different things have bugged me since last I Devlogged. For one, i’m not tntirely sure how to go on. What i need, to remove, and all. Secondly, everything is so Unorganized rn. So many debris and satellites Just swimming around in Orbit against a static Earth And everything doesn’t even scale properly. Lastly, I’ve tried to focus a bit more on Orging My own YSWS. Thank goodness stardance was extended(Expected, but thank goodness still)."}, {"post_id": 68568, "ts": "2026-09-15T10:28:11Z", "hours": 1.9689, "text": "Changelog tweaks and updates ( 7fc4786 ) Ported satellite data from backend, and introduced satellite component in frontend. ( b6b8e5d ) Meh. Frontend change. Not much."}, {"post_id": 64802, "ts": "2026-09-09T13:47:15Z", "hours": 1.9544, "text": "Changelog Updated program to include, and handle both satellite and debris Cache Data from Celestrak ( 1665273 ) Basically, Now I have 2 files of both Debris data and Satellite Data"}, {"post_id": 63937, "ts": "2026-09-08T00:39:47Z", "hours": 1.2925, "text": "Changelog Implement caching for live satellite data and adjust debris scaling for better visualization ( 0e71088 ) Okay, so remember in my last Devlog, i noted that Celestrak didn’t like me pinging their servers more than once every 2 hours, which crashes my RUST backend. So today i implemented Caching. Basically, How this works is, I check if there is a file named “active_satellites.txt”, if there is not, i go ahead and create one, and add all the satellite TLE data from Celestrak here. If there already was one, I check the MetaData for time modified, and if this is more than 2 hours, I ping Celestrak again, and Update the File with new data. If it is less than 2 hours tho, i go ahead and use the one i already HAD."}, {"post_id": 62528, "ts": "2026-09-05T23:06:15Z", "hours": 1.88, "text": "Changelog Changed from Static data to live data using celestrak Starlink APIs. ( 4a27c90 ) Okay, so i HAVE been able to Change from Static data to live data using Celestrak Starlink APIs. Doing this inSo many problems like Chunking, Parsing, RUST async/await, and doing all of that over 500 3d models without frying my CPU. Now, even tho i have been able to get it actually showing up, I need to deal with Celestrak Rate limiting, and Separating Debris from Satellites(Currently, One of the satellite is chosen to be the Satellite, and the rest are set to debris lol). I’ll fix all of this Tomorrow, FOR NOW I HAVE TO SLEEP(My girlfriend got Mad i was not sleeping enough lol 😭😂). Also fixing Scaling, as these should NOT be this big compared to the earth lol."}, {"post_id": 61809, "ts": "2026-09-04T21:53:45Z", "hours": 0.9103, "text": "Changelog Collision Detection now works on the frontend by changing to a red glow from a cyan glow. ( 81c0078 ) Okay, Massive W on this devlog. So I made collision detection show up on the frontend rather than just the Backend by enhancing my RUST functions to return a True or False value when collision is detected. I had some problems with that, cause RUST doesn’t do global variables, and trying to pass a variable from one function(The collision detector) To another(The trajectory calculation), to add a value to my struct was quite literally impossible. I had to delete one of my threads, and change my architecture from branching to linear. Oh, and I also changed the number of debris from 10 to 100, and the collision distance from 100km to 1000km to ensure collision will be detected lol."}, {"post_id": 61475, "ts": "2026-09-04T12:37:51Z", "hours": 0.7792, "text": "Changelog Add Asteroid component and GLB model for 3D visualization ( f92bbd9 ) Yay 🥳🎉. Finally have the debris models showing up. They’re really small tho, so can’t really be seennn. Lemme make them a bit bigger Done."}, {"post_id": 60702, "ts": "2026-09-03T07:58:01Z", "hours": 1.8011, "text": "Changelog Replaced 250 dynamic debris with 10 Static Debris. ( 10a6f0a ) Sighs. I promise this is not all i did for nearly 2 hours 😭🤧. I have been really battling with trying to render 3d Model Asteroids instead of red Meshes, and am having problems with Only accepting one unique item(Which means i’d have to load 10 different 4mb debris file 62 times every second PURELY ON THE FRONTEND, which would surely crash any browser in any computer lol. Severely Un-Optimised). Currently doing research On how to Handle that, Don’t wanna use gemini too much. Sadly, HackClub does not record time spent on research 😭"}, {"post_id": 60236, "ts": "2026-09-02T14:05:00Z", "hours": 2.1914, "text": "Changelog Add Debris component for visualizing debris in 3D space ( 20f3c78 ) Refactor collision detection to use dynamic debris field ( b07aa44 ) Added random coordinate generator for debris coordinates. ( 45ddcbf ) Basically, i have been working with generating debris coordinates, and Mesh visualizations for said Debris."}, {"post_id": 59950, "ts": "2026-09-02T00:43:08Z", "hours": 1.7517, "text": "Changelog Added 3d visualizations of the earth, and the ISS. ( 382c0e9 ) Basically, I Ditched the Nonsense Sphere Meshes, and added actual 3d models of the Earth and the ISS. I encountered several issues, Like scaling, and stuff. Had to make sure The ISS could be seen, While not being big enough to be a bother to the Earth. Ended up adding a glow to the satellite. Add 3D models for Earth and ISS with scaling logic"}, {"post_id": 59844, "ts": "2026-09-01T20:29:01Z", "hours": 1.5506, "text": "Changelog Added sattellite coordinates updates in the browser ( 81723a5 ) Init vanguard frontend with React and Vite setup ( a3f753c ) Started Adding the 3d implementation of a satellite(The ISS) orbiting the earth. For now, I have used Mesh spheres to test that my code works, before actually loading massive glb files. The Red satellite Mesh Sphere actually orbits the Blue Earth Mesh Sphere. THIS IS INTERESTING. NB: The prediction formula predicts the location of the ISS every second where one second is 90 seconds simulated."}, {"post_id": 59474, "ts": "2026-09-01T10:40:50Z", "hours": 0.7222, "text": "Changelog Implement WebSocket server for real-time trajectory updates. ( 6708b17 ) Basically, My RUST Program can now talk to my Browser console. It’s so cool. And it works over multiple Browsers Windows/Tabs too. Now I can add a frontend with those 3d models, and an infinite Zoomable Canvas. This is moving forward much faster than i thought."}, {"post_id": 59420, "ts": "2026-09-01T07:33:56Z", "hours": 0.9658, "text": "Changelog Added async support for frontend integration, And Used Tokio’s broadcast channel to pass messages between threads. ( daf47ad ) Okay, So…… I wanted a way to show my Output Outside if the terminal, and I chose to use a web browser, since I am already quite skilled in frontend web dev. Had to add 2 New crates. Tokio for Async/Await functions, and Axum for Web socket Functions. Had some fun reading through their documentations and Implementing Tokio’s Broadcast instead of mpsc ones. The reason i needed to change my broadcast method is cause mpsc is Single Consumer/Client, But multiple people might want to View the website at the same time"}, {"post_id": 59296, "ts": "2026-09-01T00:36:01Z", "hours": 0.6539, "text": "Changelog Implement collision detection in check_collision function using fake, Hardcoded debris coordinates ( 5b6b87f ) Okay, so I Hardcoded Debris Coordinates, and Compared it’s Predicted Coordinates to the Predicted Coordinates of My Sattelite. Cna now Predict Collision Chances, and Warn if They get too close. Also went on a Looking Spree, to Download 3d Models of Sattelites, Space Junk, and the Earth, To use in my Frontend, and Look at other Sites that do what I am aiming at like https://keeptrack.space , and https://cp4.rkas.net/?intldes=2007-012Q(Stuffin Space)."}, {"post_id": 59256, "ts": "2026-08-31T22:58:07Z", "hours": 0.3883, "text": "Changelog Added time tracking to the Telemetry state so the ISS can update coordinates based on time set. ( cf354ae ) Basically Made the Predicted Coordinates of the ISS change based on the amount of time that has passed(Simulates 90 minutes in 60 seconds)."}, {"post_id": 59133, "ts": "2026-08-31T19:18:10Z", "hours": 1.33, "text": "Changelog Add sgp4 and chrono dependencies; implement trajectory calculation for the ISS ( 4702ca4 ) Update telemetry handling and add orbital trajectory calculations ( 4cc8218 ) Basically, i can now track the Live position of the ISS, and Calculate/Predict it’s trajectory. Yay."}, {"post_id": 57691, "ts": "2026-08-29T22:39:05Z", "hours": 1.4156, "text": "Changelog Add telemetry models and refactor signal analysis and database saving functions ( 7aaf79a ) Threaded the analyse signal, and save to database functions too ( b37fc97 ) Added a thread to make sure the main loop runs without waiting for stuff… I guess ( 16c5881 ) Bad first commit. rectified ( 32b9e40 ) Basically Added Threading to the RUST Program to make sure stuff runs without waiting for something, And Multi File RUST Handling. Still only Infinitely Prints stuff to the terminal tho."}, {"post_id": 57359, "ts": "2026-08-29T14:15:58Z", "hours": 1.35, "text": "Changelog 4a6461d Basically, I wrote some functions, and a RUST struct with Mock telemetry data. Doesn’t do much rn, Just prints stuff to the terminal."}]...
|
Title: Vanguard SSA (Space Situational Awareness) Title: Vanguard SSA (Space Situational Awareness) by @SpaceRanger | Stardance
Devlogs:
Changelog 4a6461d Basically, I wrote some functions, and a RUST struct with Mock telemetry data. Doesn’t do much rn, Just prints stuff to the terminal.
Changelog Add telemetry models and refactor signal analysis and database saving functions ( 7aaf79a ) Threaded the analyse signal, and save to database functions too ( b37fc97 ) Added a thread to make sure the main loop runs without waiting for stuff… I guess ( 16c5881 ) Bad first commit. rectified ( 32b9e40 ) Basically Added Threading to the RUST Program to make sure stuff runs without waiting for something, And Multi File RUST Handling. Still only Infinitely Prints stuff to the terminal tho.
Changelog Add sgp4 and chrono dependencies; implement trajectory calculation for the ISS ( 4702ca4 ) Update telemetry handling and add orbital trajectory calculations ( 4cc8218 ) Basically, i can now track the Live position of the ISS, and Calculate/Predict it’s trajectory. Yay.
Changelog Added time tracking to the Telemetry state so the ISS can update coordinates based on time set. ( cf354ae ) Basically Made the Predicted Coordinates of the ISS change based on the amount of time that has passed(Simulates 90 minutes in 60 seconds).
Changelog Implement collision detection in check_collision function using fake, Hardcoded debris coordinates ( 5b6b87f ) Okay, so I Hardcoded Debris Coordinates, and Compared it’s Predicted Coordinates to the Predicted Coordinates of My Sattelite. Cna now Predict Collision Chances, and Warn if They get too close. Also went on a Looking Spree, to Download 3d Models of Sattelites, Space Junk, and the Earth, To use in my Frontend, and Look at other Sites that do what I am aiming at like https://keeptrack.space , and https://cp4.rkas.net/?intldes=2007-012Q(Stuffin Space).
Changelog Added async support for frontend integration, And Used Tokio’s broadcast channel to pass messages between threads. ( daf47ad ) Okay, So…… I wanted a way to show my Output Outside if the terminal, and I chose to use a web browser, since I am already quite skilled in frontend web dev. Had to add 2 New crates. Tokio for Async/Await functions, and Axum for Web socket Functions. Had some fun reading through their documentations and Implementing Tokio’s Broadcast instead of mpsc ones. The reason i needed to change my broadcast method is cause mpsc is Single Consumer/Client, But multiple people might want to View the website at the same time
Changelog Implement WebSocket server for real-time trajectory updates. ( 6708b17 ) Basically, My RUST Program can now talk to my Browser console. It’s so cool. And it works over multiple Browsers Windows/Tabs too. Now I can add a frontend with those 3d models, and an infinite Zoomable Canvas. This is moving forward much faster than i thought.
Changelog Added sattellite coordinates updates in the browser ( 81723a5 ) Init vanguard frontend with React and Vite setup ( a3f753c ) Started Adding the 3d implementation of a satellite(The ISS) orbiting the earth. For now, I have used Mesh spheres to test that my code works, before actually loading massive glb files. The Red satellite Mesh Sphere actually orbits the Blue Earth Mesh Sphere. THIS IS INTERESTING. NB: The prediction formula predicts the location of the ISS every second where one second is 90 seconds simulated.
Changelog Added 3d visualizations of the earth, and the ISS. ( 382c0e9 ) Basically, I Ditched the Nonsense Sphere Meshes, and added actual 3d models of the Earth and the ISS. I encountered several issues, Like scaling, and stuff. Had to make sure The ISS could be seen, While not being big enough to be a bother to the Earth. Ended up adding a glow to the satellite. Add 3D models for Earth and ISS with scaling logic
Changelog Add Debris component for visualizing debris in 3D space ( 20f3c78 ) Refactor collision detection to use dynamic debris field ( b07aa44 ) Added random coordinate generator for debris coordinates. ( 45ddcbf ) Basically, i have been working with generating debris coordinates, and Mesh visualizations for said Debris.
Changelog Replaced 250 dynamic debris with 10 Static Debris. ( 10a6f0a ) Sighs. I promise this is not all i did for nearly 2 hours 😭🤧. I have been really battling with trying to render 3d Model Asteroids instead of red Meshes, and am having problems with Only accepting one unique item(Which means i’d have to load 10 different 4mb debris file 62 times every second PURELY ON THE FRONTEND, which would surely crash any browser in any computer lol. Severely Un-Optimised). Currently doing research On how to Handle that, Don’t wanna use gemini too much. Sadly, HackClub does not record time spent on research 😭
Changelog Add Asteroid component and GLB model for 3D visualization ( f92bbd9 ) Yay 🥳🎉. Finally have the debris models showing up. They’re really small tho, so can’t really be seennn. Lemme make them a bit bigger Done.
Changelog Collision Detection now works on the frontend by changing to a red glow from a cyan glow. ( 81c0078 ) Okay, Massive W on this devlog. So I made collision detection show up on the frontend rather than just the Backend by enhancing my RUST functions to return a True or False value when collision is detected. I had some problems with that, cause RUST doesn’t do global variables, and trying to pass a variable from one function(The collision detector) To another(The trajectory calculation), to add a value to my struct was quite literally impossible. I had to delete one of my threads, and change my architecture from branching to linear. Oh, and I also changed the number of debris from 10 to 100, and the collision distance from 100km to 1000km to ensure collision will be detected lol.
Changelog Changed from Static data to live data using celestrak Starlink APIs. ( 4a27c90 ) Okay, so i HAVE been able to Change from Static data to live data using Celestrak Starlink APIs. Doing this inSo many problems like Chunking, Parsing, RUST async/await, and doing all of that over 500 3d models without frying my CPU. Now, even tho i have been able to get it actually showing up, I need to deal with Celestrak Rate limiting, and Separating Debris from Satellites(Currently, One of the satellite is chosen to be the Satellite, and the rest are set to debris lol). I’ll fix all of this Tomorrow, FOR NOW I HAVE TO SLEEP(My girlfriend got Mad i was not sleeping enough lol 😭😂). Also fixing Scaling, as these should NOT be this big compared to the earth lol.
Changelog Implement caching for live satellite data and adjust debris scaling for better visualization ( 0e71088 ) Okay, so remember in my last Devlog, i noted that Celestrak didn’t like me pinging their servers more than once every 2 hours, which crashes my RUST backend. So today i implemented Caching. Basically, How this works is, I check if there is a file named “active_satellites.txt”, if there is not, i go ahead and create one, and add all the satellite TLE data from Celestrak here. If there already was one, I check the MetaData for time modified, and if this is more than 2 hours, I ping Celestrak again, and Update the File with new data. If it is less than 2 hours tho, i go ahead and use the one i already HAD.
Changelog Updated program to include, and handle both satellite and debris Cache Data from Celestrak ( 1665273 ) Basically, Now I have 2 files of both Debris data and Satellite Data
Changelog tweaks and updates ( 7fc4786 ) Ported satellite data from backend, and introduced satellite component in frontend. ( b6b8e5d ) Meh. Frontend change. Not much.
A few different things have bugged me since last I Devlogged. For one, i’m not tntirely sure how to go on. What i need, to remove, and all. Secondly, everything is so Unorganized rn. So many debris and satellites Just swimming around in Orbit against a static Earth And everything doesn’t even scale properly. Lastly, I’ve tried to focus a bit more on Orging My own YSWS. Thank goodness stardance was extended(Expected, but thank goodness still).
Changelog Improve error handling for satellite and debris data fetching; adjust time step for simulation ( 7e7c487 ) Coming back to this after legit leaving it for One month 😭. Anyway, I fixed error handling for Cases where the user is not able to ping the Celestrak servers to get the data needed. Now It just falls back to the Cache. I also reduced the amount of time That goes by in app, to perfectly mirror the real world.
Changelog Trajectory calculation Now uses universal timestamp ( c842228 ) Okay, Because Celestrak tracks and updates satellite data at different times, The data from the API doesn’t actually reflect the current coordinates of the satellites, especially when compared to one another. While the specific orbits were accurate, The timing was completely random, and so, if 2 satellites were recorded in the same position, 6 hours apart, My simulation will start them in the same coordinate. This is obviously dangerously inaccurate. Fix: I removed the simulated “timestep” entirely, and Built the whole thing to Check current time, Check time the satellite’s data was recorded, and Simulate Orbit/Calculate trajectory and coordinates based on that. Problem with that is, without the timestep, My previous calculation for How fast this thing can run in relation to real word time will be totally wrong. I’ll fix that next.
Changelog Made the in App world go 60* faster than the normal time. ( be91922 ) Basically, 1 Normal second is 60 seconds in app. 1 Normal hour is 60 hours in app
Changelog configured 2 way channel websocket broadcast. can now receive info from the frontend ( 2500f28 ) Yeah. That’s all. “THAT’S ALL YOU DID FOR 2 HOURS 🙆♀️”. Yeah. Keep judging. Until you try to code in RUST 😑🙂
Well, you can now choose your own time multiplier from between the Real world, and the app. This part was(Mostly) gemini code. I suck at math, so I had it do the calculations and stuff. I also tried to Make the earth also spin in relation to the satellites using Julian Time mathematical calculations, But i’ve not been able to achieve that. Changelog git commit -m “choose time multiplier plus earth rotation” ( a585661 ) choose time multiplier plus earth rotation ( eca1623 )...
|
1792619376.7553356
|
1793224176.7553356
|
|
66977
|
Neil The Astronaut by @Geki | Stardance
|
Geki
|
1
|
9.16
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-04T12:02:37Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello! I made Neil The Astronaut, Neil is a desktop buddy/assistant that stays with you while you’re working, coding or just browsing the internet. He has AI Integration which can help u while you are doing something and need a quick answer and also it can read files too if the user needs help with files quickly to translate or summarize, you can make him idle if he is distracting and also when mad u can just grab and throw him around the screen ( he bounces sometimes). Also there is the Annoying mode where he closes your tabs. For me the most challenging part was integrating the AI and the file feature, I used Gemini for help because I had no idea how to even go about it. I am proud that it is actually useful, at first I thought its just a pet but no I would classify Neil as you Astronaut assistant!! Good to know is that I don’t recommend to use the F1 key to ask since F1 is also to open windows for help but just right-click Neil and click ask Neil on the Menu. be careful if using annoying mode because if u have important tabs open he will close them, if he does click ctrl + shift + T to bring the tab back. Hopefully you guys enjoy it and actually use it after rating, that would be amazing! ( I will maybe make a video on Neil not too sure yet ).", "repo": "https://github.com/GesPm/Neil.The_Astronaut", "demo": "https://gekib.itch.io/neil-the-astronaut"}]...
|
[{"post_id": 80687, "ts": "202 [{"post_id": 80687, "ts": "2026-10-18T14:48:54Z", "hours": 1.1628, "text": "Fixed README and some bugs such as when u ask Neil something he just teleports under the screen 😅 and also integrated Hackclub AI (Qwen3-32B) API key to work with Neil!"}, {"post_id": 76670, "ts": "2026-10-04T09:48:39Z", "hours": 0.6617, "text": "You can now drop files in the query and give tasks on what to do with them! And also he now has memory to remember the last 5 answers and questions. Neil is fully finished!"}, {"post_id": 76527, "ts": "2026-10-03T20:38:04Z", "hours": 4.7719, "text": "Full menu for Neil added, also added a bunch of new features. Neil will be launching on itch.io soon!!! Also yes he does close tabs and yes ITS INTEGRATED WITH AI!! (Optional of course)"}, {"post_id": 75873, "ts": "2026-10-01T13:16:41Z", "hours": 1.3064, "text": "You can now throw Neil around and he will bounce around and land on one your bezel! I will also add 1 final feature to make Neil more “useful”."}, {"post_id": 75574, "ts": "2026-09-30T14:01:48Z", "hours": 1.0783, "text": "What do I name him? Got the animations fully done and the code works, I just need to add more stuff he can do!"}]...
|
Title: Neil The Astronaut by @Geki | Stardance
De Title: Neil The Astronaut by @Geki | Stardance
Devlogs:
What do I name him? Got the animations fully done and the code works, I just need to add more stuff he can do!
You can now throw Neil around and he will bounce around and land on one your bezel! I will also add 1 final feature to make Neil more “useful”.
Full menu for Neil added, also added a bunch of new features. Neil will be launching on itch.io soon!!! Also yes he does close tabs and yes ITS INTEGRATED WITH AI!! (Optional of course)
You can now drop files in the query and give tasks on what to do with them! And also he now has memory to remember the last 5 answers and questions. Neil is fully finished!
Fixed README and some bugs such as when u ask Neil something he just teleports under the screen 😅 and also integrated Hackclub AI (Qwen3-32B) API key to work with Neil!
Ships:
Hello! I made Neil The Astronaut, Neil is a desktop buddy/assistant that stays with you while you’re working, coding or just browsing the internet. He has AI Integration which can help u while you are doing something and need a quick answer and also it can read files too if the user needs help with files quickly to translate or summarize, you can make him idle if he is distracting and also when mad u can just grab and throw him around the screen ( he bounces sometimes). Also there is the Annoying mode where he closes your tabs. For me the most challenging part was integrating the AI and the file feature, I used Gemini for help because I had no idea how to even go about it. I am proud that it is actually useful, at first I thought its just a pet but no I would classify Neil as you Astronaut assistant!! Good to know is that I don’t recommend to use the F1 key to ask since F1 is also to open windows for help but just right-click Neil and click ask Neil on the Menu. be careful if using annoying mode because if u have important tabs open he will close them, if he does click ctrl + shift + T to bring the tab back. Hopefully you guys enjoy it and actually use it after rating, that would be amazing! ( I will maybe make a video on Neil not too sure yet )....
|
1792817373.4241633
|
1792903773.4241633
|
|
48736
|
Wifi and blutooth jammer by @Txseen | Stardance
|
Txseen
|
1
|
2.27
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T13:56:10Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i had made a bluetooth and wifi jammer", "repo": "https://github.com/EmenstaNougat/ESP32-BlueJammer", "demo": ""}]...
|
[{"post_id": 80692, "ts": "202 [{"post_id": 80692, "ts": "2026-10-18T15:13:21Z", "hours": 1.2714, "text": "another circuit diagram"}, {"post_id": 69652, "ts": "2026-09-17T14:39:07Z", "hours": 0.3006, "text": "circuit diagram of jammer"}, {"post_id": 69621, "ts": "2026-09-17T13:08:18Z", "hours": 0.3008, "text": "jammeer coodes"}]...
|
Title: Wifi and blutooth jammer by @Txseen | Stard Title: Wifi and blutooth jammer by @Txseen | Stardance
Devlogs:
jammeer coodes
circuit diagram of jammer
another circuit diagram
Ships:
i had made a bluetooth and wifi jammer...
|
1792853481.9773889
|
1792939881.9773889
|
|
39315
|
City of the forgotten by @Ling | Stardance
|
Ling
|
1
|
100.49
|
305
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T17:17:44Z", "hours": 22.0, "multiplier": 13.63, "payout": 305, "blessing": "neutral", "text": "I made a Raylib Noir Adventue and point and click game My bigest Challenge Was by Far learning Raylib and code logic for collision", "repo": "https://github.com/Miyamoto-web/City-Of-the-Forgoten-Beta-", "demo": "https://miyamoto-web.itch.io/city-of-the-forgotten"}]...
|
[{"post_id": 80704, "ts": "202 [{"post_id": 80704, "ts": "2026-10-18T15:52:08Z", "hours": 7.6203, "text": "Dev Log 2.0 I debugged the hud by replacing the Rich text label for a label I also made the hud reactable to your actions -## Also I fixed a bug in one of the main buttons of the main screen"}, {"post_id": 79674, "ts": "2026-10-15T01:10:40Z", "hours": 3.5631, "text": "Dev Log 1.9 Making cinematic cameras with collision shapes Fixing Ui text bugs Working on the visuals"}, {"post_id": 78746, "ts": "2026-10-11T14:15:16Z", "hours": 11.7417, "text": "Dev Log 1.8 Working Hud for the objectives Made by Creating global bool variables to mark if the objective is done Functional Terminal password puzle I used If states and == to Know if the player writed the wrong or the right password Also I added a system to make each objective that goes to the ui go to right tab"}, {"post_id": 76772, "ts": "2026-10-04T15:11:59Z", "hours": 14.4964, "text": "Dev Log 1.7 Button to exit the menu Finished move and intereact system I made the mechanic using nav agent and area 3d Stored Position when you change scenes I used Global Variant to make this system which saves the Player global position when you go to the menu and loads when you go bak to the game extends Node var player: CharacterBody3D var player_global: Vector3 var good_pos : bool func _ready() -> void: good_pos = false"}, {"post_id": 75274, "ts": "2026-09-29T16:46:44Z", "hours": 6.7075, "text": "Dev Log 1.6 -New and Better Point and Click -Ui visuals done"}, {"post_id": 72438, "ts": "2026-09-22T23:10:36Z", "hours": 10.0053, "text": "Dev Log 1.5 -New Ui and Hud -Trying to program the Hud -New Main Menu (again i realy need to get more creative for the game’s art)"}, {"post_id": 70389, "ts": "2026-09-19T02:57:56Z", "hours": 6.3439, "text": "New Dev log 1.4 -Making UI -Making Case Menu -Trying to learn UI desing"}, {"post_id": 69930, "ts": "2026-09-18T02:41:46Z", "hours": 3.5856, "text": "New Changes! -Making UI (Notes Case and Lore) -More Polished Point and Click Mechanic"}, {"post_id": 68405, "ts": "2026-09-15T02:08:07Z", "hours": 2.0369, "text": "Devlog 1.2 -New Script Point and Click Moviment -I used Rays, get.position and Lots of Variables -I realy need to configurate a decent Camera"}, {"post_id": 67714, "ts": "2026-09-13T22:21:53Z", "hours": 8.7006, "text": "New version on godot -Script for the moviment -Custom Made 3d Model (Made by me) -Third Person Camera -Version Text -A Prototipe Menu Ps: If you want to see the developement of the 3d model go to my other Project Modeling Assetsd for City of the Forgotten (My Project)"}, {"post_id": 66716, "ts": "2026-09-12T16:35:08Z", "hours": 1.2506, "text": "New Readme"}, {"post_id": 64214, "ts": "2026-09-08T13:37:08Z", "hours": 2.4339, "text": "I realy tried to make the web version work propely but i couldn’t make all the features in the game work in the web version i am realy sorry (next version will be on godot raylib is to messy)"}, {"post_id": 53131, "ts": "2026-08-23T15:42:23Z", "hours": 0.4392, "text": "Final touch in the code"}, {"post_id": 48419, "ts": "2026-08-16T19:11:00Z", "hours": 8.6686, "text": "New models desk and terminal new texture for the ground and walls and hitboxs for the desk and walls"}, {"post_id": 42118, "ts": "2026-08-06T18:09:37Z", "hours": 5.5647, "text": "More modeling and fuctional hack mini game"}, {"post_id": 37375, "ts": "2026-07-30T01:24:44Z", "hours": 1.2122, "text": "Working itens!"}, {"post_id": 36762, "ts": "2026-07-29T01:01:24Z", "hours": 0.2667, "text": "more coding"}, {"post_id": 36105, "ts": "2026-07-27T23:53:07Z", "hours": 2.0636, "text": "working inventory system"}, {"post_id": 34847, "ts": "2026-07-25T21:35:54Z", "hours": 1.2464, "text": "Working Persona style menu"}, {"post_id": 34763, "ts": "2026-07-25T19:04:13Z", "hours": 1.2956, "text": "working point and click system!"}, {"post_id": 34633, "ts": "2026-07-25T15:00:59Z", "hours": 0.5706, "text": "working controls and music!"}, {"post_id": 34376, "ts": "2026-07-25T01:17:02Z", "hours": 0.4106, "text": "3d model in the game"}, {"post_id": 34276, "ts": "2026-07-24T20:55:19Z", "hours": 0.6428, "text": "working text"}]...
|
Title: City of the forgotten by @Ling | Stardance
Title: City of the forgotten by @Ling | Stardance
Devlogs:
working text
3d model in the game
working controls and music!
working point and click system!
Working Persona style menu
working inventory system
more coding
Working itens!
More modeling and fuctional hack mini game
New models desk and terminal new texture for the ground and walls and hitboxs for the desk and walls
Final touch in the code
I realy tried to make the web version work propely but i couldn’t make all the features in the game work in the web version i am realy sorry (next version will be on godot raylib is to messy)
New Readme
New version on godot -Script for the moviment -Custom Made 3d Model (Made by me) -Third Person Camera -Version Text -A Prototipe Menu Ps: If you want to see the developement of the 3d model go to my other Project Modeling Assetsd for City of the Forgotten (My Project)
Devlog 1.2 -New Script Point and Click Moviment -I used Rays, get.position and Lots of Variables -I realy need to configurate a decent Camera
New Changes! -Making UI (Notes Case and Lore) -More Polished Point and Click Mechanic
New Dev log 1.4 -Making UI -Making Case Menu -Trying to learn UI desing
Dev Log 1.5 -New Ui and Hud -Trying to program the Hud -New Main Menu (again i realy need to get more creative for the game’s art)
Dev Log 1.6 -New and Better Point and Click -Ui visuals done
Dev Log 1.7 Button to exit the menu Finished move and intereact system I made the mechanic using nav agent and area 3d Stored Position when you change scenes I used Global Variant to make this system which saves the Player global position when you go to the menu and loads when you go bak to the game extends Node var player: CharacterBody3D var player_global: Vector3 var good_pos : bool func _ready() -> void: good_pos = false
Dev Log 1.8 Working Hud for the objectives Made by Creating global bool variables to mark if the objective is done Functional Terminal password puzle I used If states and == to Know if the player writed the wrong or the right password Also I added a system to make each objective that goes to the ui go to right tab
Dev Log 1.9 Making cinematic cameras with collision shapes Fixing Ui text bugs Working on the visuals
Dev Log 2.0 I debugged the hud by replacing the Rich text label for a label I also made the hud reactable to your actions -## Also I fixed a bug in one of the main buttons of the main screen
Ships:
I made a Raylib Noir Adventue and point and click game My bigest Challenge Was by Far learning Raylib and code logic for collision...
|
1792817557.4965744
|
1792903957.4965744
|
|
25673
|
Observatory by @Gerafftes | Stardance
|
Gerafftes
|
0
|
264.57
|
0
|
[]
|
[{"post_id": 80706, "ts": "202 [{"post_id": 80706, "ts": "2026-10-18T15:55:28Z", "hours": 10.1042, "text": "DEVLOG #42 RX3 and RX4 have passed their individual checks on the latest firmware. A complete OTA update, the LED pattern test and ten minutes of stability monitoring each, with no errors recorded. The false SOS warning on RX1 is also fixed and verified on the board now. I corrected concurrent access in the shared UDP sender and transport statistics, too. Those are real software fixes, but I still can’t claim they explain the original RX3 heap corruption or watchdog resets. I also improved CAD profile handling. Profiles can use a separate store, the UI shows which revision is loaded, and refreshing no longer overwrites unsaved edits or brings back an older saved version. The rollout isn’t finished, though. The next RX1 update stopped because its device identity couldn’t be confirmed, so RX2’s update to this latest version hasn’t started either. Next: resolve that binding, finish updating RX1 and RX2, then move on to the actual two-way peer comparison. Tracking acceptance is still open."}, {"post_id": 80452, "ts": "2026-10-17T17:48:17Z", "hours": 9.9825, "text": "DEVLOG #41 RX1 finally passed a full three-minute TX1→RX1 test. 6,407 qualified CSI frames, around 35.6 per second, and all 173 measurement windows passed. The firmware had been rejecting our setup because TX1 is also the Wi-Fi access point. That’s corrected and installed now. SOS is the warning for missing or stale usable CSI from TX1. It doesn’t automatically mean the board is broken. Ironically, the warning itself had a bug, RX1 reported stale data even though a matching frame had arrived just 8.7 milliseconds earlier. A timing race between the LED task and CSI reception caused the false alarm. The fix is built and tested offline, but isn’t installed yet. Host startup and recording also work now. RX2 is still a problem, though: its upload timed out while CSI kept arriving, and the cause isn’t confirmed. Next: install and verify the LED fix on RX1 before continuing with the other receivers. The actual two-way peer comparison and tracking acceptance are still open."}, {"post_id": 80208, "ts": "2026-10-16T19:06:18Z", "hours": 10.01, "text": "DEVLOG #40 I cut the recording footprint from 4.54 to 2.67 GB in the full synthetic test, about 41% less. The saving comes mainly from removing duplicate exports, not throwing away raw data or evidence. I also corrected timing and CSI rate-limit bugs offline, plus a cleanup issue that could prevent the recorder from stopping its own processes when disk space got tight. The frustrating part is that the peer comparison still hasn’t recorded anything. One attempt stopped on the timing bug, after that was fixed, the next hit a missing signing key during host startup. No peer firmware was uploaded and no capture started in either attempt. Next: fix host startup and prepare a separate 35-minute pilot. The actual peer comparison and tracking acceptance are still open."}, {"post_id": 79987, "ts": "2026-10-15T19:13:06Z", "hours": 10.2558, "text": "DEVLOG #39 All four receivers finally made it through a full 30-minute CSI run together. RX1, RX3 and RX4 are now on C1, while RX2 stays on C. Each delivered around 17–20 matching frames per second, and 99.61% of the shared measurement windows passed the CSI checks. The RX1↔RX4 peer firmware and recording workflow are also implemented and tested offline now. The actual radio comparison hasn’t happened yet, so I still don’t know whether those extra links will improve positioning. One annoying bug kept rejecting good data after a 128→64→128 format change. That’s fixed in the offline analysis, along with separate format rules for TX1 and peer links and a recorder completion check. I also added RX and radar exports that keep raw data, timing and recording boundaries together. That path works in offline tests; it isn’t a new live hardware result. Next: check both mmWave sensors individually and then together at known points. The shared CSI run is a milestone, but tracking and full-system acceptance are still open."}, {"post_id": 79381, "ts": "2026-10-13T18:55:19Z", "hours": 9.4147, "text": "DEVLOG #38 RX2 is finally delivering a lot more matching CSI data. After installing the new firmware, the rate went from about 1.9 to 31.9 frames per second. A longer, half-hour capture averaged around 30. The firmware now fixes Wi-Fi bandwidth at 20 MHz and guards against invalid CSI callbacks. One annoying catch: the long capture only recorded RX2 because some device endpoints were outdated or mixed up. I’ve prepared a stricter preflight so an incomplete group can’t silently become a four-receiver test again. I also corrected the offline window analysis. A valid frame with a different format no longer ruins an entire otherwise usable window. The UI code now separates format exclusions from unexplained sequence gaps instead of calling everything “loss”. The host fixes are tested locally, but aren’t active on the running server yet. Next: complete a proper simultaneous four-RX capture, then implement the RX1 <-> RX4 peer profile for testing. Tracking and full-system acceptance are still open."}, {"post_id": 78806, "ts": "2026-10-11T17:42:21Z", "hours": 9.8042, "text": "DEVLOG #37 I narrowed down the RX2 and mmWave2 issues from the failed run. Still no hardware fix, but the picture is getting clearer. The surprising part is that RX2 was still sending valid CSI packets during its apparent dropout. They just weren’t the 128-subcarrier frames the current evaluation needs. mmWave2, on the other hand, really did have gaps in packets reaching the host. I’m looking into its send-and-acknowledgement path, but haven’t proven the cause yet. I also found a parser mistake. A supposedly damaged RX packet was actually a valid warning message. That’s corrected in the isolated diagnostic tools, which now also distinguish device timeouts from requests the collector skipped or cancelled. New diagnostic firmware candidates for TX1, RX2 and mmWave2 are built locally to help trace where things stop moving. They aren’t installed yet, and the TX send errors are still unresolved. The UI is less misleading now, too: an ESP being reachable doesn’t mean radar data is arriving, and old readings no longer keep disconnected devices looking active. Next: review the diagnostic candidates, then use a short, controlled hardware run to investigate the remaining errors. The last full acceptance is still a FAIL."}, {"post_id": 78171, "ts": "2026-10-09T21:04:22Z", "hours": 9.5261, "text": "DEVLOG #36 The first full TX1 acceptance run is done now and it failed, but at least I finally have a much clearer picture of what is still going wrong… The common setup passed: all seven expected participants were visible, and 22 complete snapshots kept the shared basis valid for more than 20 seconds. Then Scope A ran its three 120-second windows. All three failed. There were 14 new TX send errors, and the diagnostic counters placed them in the wifi_handoff ENOMEM stage. That tells me where the error was recorded, but not yet why it happens or whether it is fixed. MMWAVE2 also became stale in parts of the run, and several RX requests were missing, so none of the historical comparisons could count as a valid PASS. Scope B stopped itself at the safety gate when the source binding became inconsistent and RX2 was already 5.044 seconds old. This is frustrating, but the guard did exactly what it was supposed to do, it refused to turn an incomplete 120-second window into a result. Next: decide how to continue the ENOMEM and source-binding issues before starting another acceptance run."}, {"post_id": 77864, "ts": "2026-10-08T16:16:06Z", "hours": 10.1556, "text": "DEVLOG #35 I fixed two concrete TX1 firmware bugs. An authentication check that ran too late and an HTTP task with too little stack space. The status endpoint could lose the request headers before checking authorization. I moved that check ahead of the response. I also increased the HTTP task’s stack from 4 KB to 8 KB after confirming that some call paths could exceed the old limit. Two independent builds matched byte for byte. After taking fresh backups, I installed the candidate and verified the complete 16 MiB flash against the expected image. That part passed. The UDP/ENOMEM errors are not yet proven fixed. Next: investigate the reset path, complete a clean controlled boot, then check the matching server setup, authentication, all participants, and the measurement windows."}, {"post_id": 77133, "ts": "2026-10-05T19:02:41Z", "hours": 10.1275, "text": "DEVLOG #34 The TX1 migration is now 100% verified , but the project is still only around ≈ 70% complete. The third and final boot attempt did not give me the clean result I was hoping for. Recovery happened within the allowed time, but UART0 showed two app starts. After the first start, an RTC_SW_CPU_RST appeared and the app started again. It eventually reached BOOT_OK , but because of the duplicate start I still cannot accept the boot trace or move on to server activation and measurements. I am currently documenting the exact restart sequence and trying to figure out what caused it. I also put together a source collection about Wi-Fi sensing and RF-based person detection. GitHub The separate mmWave freshness test did not reproduce the old MMWAVE2 delay problem, but that does not prove it is fixed. Next: get one clean TX1 boot, then activate the server and start collecting real measurements."}, {"post_id": 76667, "ts": "2026-10-04T09:40:44Z", "hours": 10.0744, "text": "DEVLOG #33 The TX1 finally made it all the way to BOOT_OK . After the CHECK_COUNTRY problem from the last update, the new candidate passed the Country20/Power44 and Wi-Fi checks, booted into test mode, and passed the local TX/RX4 checks. I also confirmed the amber LED and both mmWave transport paths. The previous candidate had stopped because one sampling gap grew to 10.2 seconds. I traced that back to the timing bookkeeping and changed the sampler to schedule from the last real sample completion. The corrected run stayed within the sampling limits. That is a real improvement, but it is not the final acceptance yet. The full coverage result is still blocked by the clock-binding requirement, and the radar window only showed no_target , not a position result. I also switched to the new diagnostic server in a controlled run. It stayed ready and a separate 61-second capture passed the coverage gate, but the active CSI position setup is still missing, so this does not count as a complete TX-7B or system pass. The CAD UI got a pretty big upgrade too. MMWAVE1 and MMWAVE2 can now be edited as separate sensors with their own colors, 6 m fields of view, direction arrows, and yaw handles. I added a button to aim them at each other, plus a wall-angle tool that draws the real beam/wall intersection and lets me set the angle directly. Marker labels also move out of the way automatically, and the snap setting survives a refresh. Next: fix the remaining coverage and clock evidence, activate the sealed CAD/CSI setup, and complete the full TX-7B validation."}, {"post_id": 76233, "ts": "2026-10-02T19:45:23Z", "hours": 10.1567, "text": "DEVLOG #32 I still do not really have a final result to show, but it has been another ten hours, so I did not want to skip the devlog. The latest TX1 boot attempt did at least narrow things down. The new firmware now passes the Wi-Fi channel checks: channel 6, HT40 with the secondary channel below, AP-only mode, and the other radio checks all matched the expected profile. It then stops at CHECK_COUNTRY , before reaching BOOT_OK . The TX1 migration is therefore still not accepted, but the failure is much more specific now. The confusing part is that the Wi-Fi power values do not line up cleanly. The country structure reports a different power field than expected, while the separate power API returns the expected value. This may be an SDK representation or comparison issue rather than a real transmit-power problem, but there is not enough evidence to call it fixed yet. I also corrected related checks for the country bytes, SSID representation, and status getters, and prepared another reproducible candidate offline. With the move to Python 3.15, I also added the new lazy-import implementation. The official Python documentation describes the new syntax. Eligible imports now use explicit lazy import and lazy from syntax, with a local verifier to keep the behavior consistent. After the failed candidate boot, I restored the original 16 MiB image and verified the return path. The historical firmware is running again, and RX4 plus both mmWave sensors are sending data. Next: resolve the country/power comparison, then attempt the candidate boot again under the existing safety gates."}, {"post_id": 74540, "ts": "2026-09-27T16:25:38Z", "hours": 9.8731, "text": "DEVLOG #31 The mmWave2 connection problem is finally understood. It was caused by a reproducible dependency on the WLAN transmit power: at around 19.5 dBm, the ESP kept running and received probe requests, but its test AP could not be found and connections failed. At 10 dBm, the AP worked immediately, csi-test connected again, and 360/360 pings succeeded without a disconnect. Raising the limit reproduced the issue, confirming the dependency. Both mmWave sensors now work reliably. The TX1 migration is also complete. I verified the candidate firmware and baseline, created two identical 16 MiB backups. The new app was written to app1 together with the NVS merge and OTA selection. A complete readback of all 16,777,216 bytes matched the expected flash image exactly. Next: Boot the candidate under the existing safety gates, check that TX1 comes up properly, and run the full comparison."}, {"post_id": 74078, "ts": "2026-09-26T17:07:07Z", "hours": 9.0633, "text": "DEVLOG #30 The replacement ESP for mmWave2 is now soldered and mounted on the previously working breadboard setup. The connection problem has not disappeared, however WiFi still fails, so I uploaded a minimal WiFi test script to isolate the radio and network path before testing the radar or UDP transport. The mmWave firmware now distinguishes MMWAVE1 and MMWAVE2 with separate build and upload paths, uses 55010 as the default UDP port, and logs the WiFi disconnect reason. These changes are prepared locally; the test image is not yet a confirmed fix, and the complete mmWave2 path is still unvalidated. In parallel, the TX1 replacement reached a stronger local checkpoint. Reproducible builds from fresh and isolated source copies are byte-identical, and the local test suite passed. The 7A TX1/RX4 baseline still produced no usable measurement data, so the migration remains blocked and 7B is NO-GO . Next: resolve the WiFi connection on the replacement ESP, verify mmWave2 communication, and continue with two-sensor validation and RX3 calibration."}, {"post_id": 73272, "ts": "2026-09-24T18:35:00Z", "hours": 7.6919, "text": "DEVLOG #29 The local RX work has expanded, but the two-sensor setup is currently blocked by a connection problem with mmWave2. RX-04 to RX-12 add bounded capture and queue handling, stale-frame rejection, corrected CSI parsing, clearer UDP/server counters, and timing and synchronization metadata. The firmware host tests, standard and raw ESP32-S3 builds, and targeted server checks pass. These are still software and build results. No live RX measurement has yet proven lower frame loss or data age. :( The 3D-printed part now fits. While investigating the mmWave2 connection, I tried to desolder its ESP, but it could not be removed cleanly. Since the connection problem is not resolved, I ordered a replacement ESP, a new mmWave sensor, and an FH/Fenghua 1206X106K160NT SMD component. The exact cause is still open, and the replacement parts have not been installed or tested yet. The existing TX1 replacement also remains locally tested but unflashed. Next: rebuild mmWave2 with the replacement parts, identify the connection fault, validate both sensor paths, and continue with RX3 calibration."}, {"post_id": 72260, "ts": "2026-09-22T15:24:39Z", "hours": 10.1567, "text": "DEVLOG #28 I prepared and locally verified an ESP-IDF replacement candidate for TX1. The firmware builds successfully, and the host-side checks for packet handling, scheduling, boot/OTA variants, and negative compile guards pass. This is still a software-only result. Nothing has been flashed, and TX1 has not been validated on hardware. Before replacing the existing TX1, the old TX1/RX4 baseline and network pre-check must still be completed. I also tightened the RX data path. Incoming frames are now checked for valid input and correct TX binding before passing through one jitter-tolerant 20 ms admission gate. Invalid or foreign frames no longer consume the timing budget. Callback, queue, UDP, and server-side counters are tracked separately, making it possible to see where loss or delay occurs. The deterministic fixtures and local ESP32-S3 build pass, but no live RX measurement has yet shown an actual reduction in frame loss or data age. The new 3D print exposed a mechanical error: it is approximately 1 mm too small and does not fit. It needs to be adjusted and printed again. Next: complete the read-only TX1/RX4 baseline, adjust and reprint the part, then continue with RX3 calibration and validation of both mmWave sensor paths."}, {"post_id": 71302, "ts": "2026-09-20T16:26:13Z", "hours": 9.9056, "text": "DEVLOG #27 I soldered a second PCB from revision 3, making the hardware for two mmWave sensors available. The software now keeps MMWAVE1 and MMWAVE2 separate through stable node identities and independent sequence, transform, and calibration state. The mmWave transport also crossed an important milestone. Because best-effort UDP was not enough, firmware 0.1.6 now uses ACK-based retransmission. In a controlled 60-second comparison, sequence loss reached 0.00% and the radar_sequence_loss_free gate passed, compared with 0.70% loss and 84 full ACK timeouts on firmware 0.1.5. The Tauri desktop shell has been replaced in the active build by a loopback control helper for discovery, provisioning, flashing, OTA, and WASM. I also created a new 3D-print file, which is currently being printed; the mechanical result is not finished yet. Next: validate both sensor paths together, resolve the RX3 Phase 1 offset, and repeat the full radar preflight."}, {"post_id": 70187, "ts": "2026-09-18T17:19:24Z", "hours": 5.8228, "text": "DEVLOG #26 I have completed, soldered, and tested the third and hopefully final PCB revision. Everything works, but the ground plane made soldering significantly more difficult than expected. Even with thermal reliefs around the solder pads, the plane acted like a heat sink, dissipating heat across the entire board. The shift to a browser-centric approach is progressing: the Tauri desktop app and its associated release pipeline are being removed, while hardware control is being moved to a standalone “loopback crate.” This crate handles tasks such as device discovery, serial access, provisioning, flashing, OTA updates, and WASM integration. This work is currently ongoing. The server now protects the /api/field and /ws/field endpoints using Bearer authentication and keeps auto mode offline until real data is available. An explicit simulated source is required for simulation. mmWave transmission has been improved but still exhibits a sequence loss rate of 13.1%, causing the radar preflight to remain blocked. The causes of the remaining loss still need to be investigated, particularly regarding channel conditions, the startup process/ARP, and Wi-Fi airtime and scheduling. The calibration offset for “Phase 1” on RX3 also remains unresolved. Next steps: fixing the RX3 offset, completing the migration to the browser/control setup, and re-running the radar preflight."}, {"post_id": 69194, "ts": "2026-09-16T15:53:57Z", "hours": 9.0253, "text": "DEVLOG #25 I measured and optimized the mmWave UDP transport, but the radar path still fails the lossless-transmission test (image 1) . The new firmware and server path use one UDP copy without artificial delay, disable Wi-Fi power saving on the mains-powered node, persist the collector target and CAD transform, and separate socket reads from processing. Reordering, sequence validation, deduplication, and rolling metrics expose failures instead of hiding them. Across three 60-second runs, unique arrivals improved by 11.2%, sequence loss fell from 20.6% to 13.1%, duplicates dropped to zero, and arrival P95 improved by 27.8%. Two copies did not reduce loss and only added duplicates, so one copy remains the default. The transport is better, but not lossless: 13.1% sequence loss still blocks the radar preflight. The 50 ms interval is not the bottleneck; LD2450 frames arrive in bursts and the bridge emits about 2.64 measurements per second, not 20 independent frames per second. Next I will investigate RSSI and channel conditions, ARP and startup behaviour, Wi-Fi retries and airtime, and packet scheduling. RX/CSI stayed offline, so this is not a full Wi-Fi validation. The server refactor from DEVLOG #24 is now integrated: routes, state, runtime, calibration, recording, model, and system responsibilities moved out of main.rs , with active, legacy, and unavailable-training contracts separated. Desktop-interface removal remains in progress. Hardware-control modules are moving to a standalone control crate, while loopback-only browser server controls with origin checks are being added. Phase 1 calibration is also getting a longer measurement window and persisted evidence. RX3 currently lands roughly two to three metres from its expected fixed point. I will not consider the calibration valid until the transform, profile binding, or target association causing this offset is understood and corrected. Next: resolve the RX3 Phase 1 offset (seen in image 2) , then repeat the full fixed-point calibration and re-verify the radar preflight."}, {"post_id": 66738, "ts": "2026-09-12T17:07:38Z", "hours": 7.1744, "text": "DEVLOG #24 I strengthened security for live-sensor operation and started aligning the Observatory UI with backend functionality that actually exists. Live WebSockets now require Bearer authentication along with strict Origin and Host checks. Browser and Python clients no longer send tokens in the URL. Regression tests cover missing, invalid, and duplicate requests as well as cross-origin access. The complete CAD geometry document is now persisted in SQLite and survives a server restart. Another issue was in the browser catalog: it listed routes that the active Rust server did not provide. I am separating active routes from legacy compatibility routes, adding the missing model-details contract, and returning unavailable or HTTP 501 when browser-triggered training is not available instead of falsely reporting that it started. Next: finish and commit the route extraction, then repeat the live mmWave preflight, including calibration."}, {"post_id": 62834, "ts": "2026-09-06T11:19:03Z", "hours": 4.7731, "text": "DEVLOG #23 The issue encountered during initial startup was a design error: the LD2450 had been mounted rotated by 180°. The UART routing itself was correct. After rotating the sensor and reflashing the ESP32-C3, everything worked again, though the physical setup doesn’t look very tidy. I designed PCB-03 based on PCB-02. The LD2450 connector and its wiring have been rotated by 180°. Everything else remains unchanged. I also added ground planes. Until the PCB arrives, the breadboard setup will continue to serve as a temporary mmWave configuration. Next steps: order PCB-03, mount the LD2450 in the marked orientation, and repeat the live radar verification. Continue using the breadboard setup until delivery."}, {"post_id": 61621, "ts": "2026-09-04T16:40:26Z", "hours": 6.7853, "text": "DEVLOG #22 I fixed the last browser security gap found in the local security review: a page on one local port can no longer reach an unauthenticated service on another local port by default. The review contained 13 entries. Entries 8 and 11, and entries 12 and 13, were duplicates, leaving 11 unique findings. The old check trusted the hostname alone, so every localhost port was accepted. I separated browser Origin validation from the existing Host /DNS-rebinding protection. WebSockets and state-changing /api/v1/* requests now require an exact scheme, host, and port. By default, only http://localhost:<http_port> , http://127.0.0.1:<http_port> , and http://[::1]:<http_port> are allowed. Repeatable --allowed-origin values or the comma-separated SENSING_ALLOWED_ORIGINS variable explicitly replace these defaults. Host-only values, wildcards, null , paths, userinfo, and invalid ports are rejected. The protection covers /ws/* and /api/v1/stream/pose on both the HTTP and dedicated WebSocket ports. CLI clients without an Origin header remain compatible. The regression test now returns 403 for an unlisted cross-port UI, while an explicitly allowlisted cross-port UI still works. All 24/24 Origin/Host tests, 471 sensing-server tests ( 1 ignored), HomeCore server/API/auth/WebSocket tests ( 18 + 18 + 6 + 5 ), and 7 Python/firmware security-boundary tests passed. Binary checks, targeted rustfmt, and git diff --check also passed. No flash or OTA action was performed. The ESP-IDF v5.4 build matrix is still inconclusive: the native ARM64 image is missing a containerd layer, while the AMD64 fallback crashes in the emulated Xtensa compiler inside MbedTLS. I therefore do not count the three firmware builds as passed. Next: Solder PCB-02 first, then mount the mmWave sensor in the corner."}, {"post_id": 58478, "ts": "2026-08-30T21:57:05Z", "hours": 2.7247, "text": "DEVLOG #21 The 65-second empty-room calibration failed before it could collect a usable baseline. The UI showed Samples 0 when I returned, so no calibration ID or context hash was created. The failure exposed a design problem in the run itself. A recoverable outside-room radar target could stop the entire measurement. I’m changing the workflow so the run always reaches its configured end and evaluates the evidence afterwards. The final report will mark it valid or invalid with concrete reasons instead of hiding the failure behind an early stop. This behavior change is planned, but not yet implemented or validated. No successful calibration, restored baseline, 10/10 acceptance, position index, guided room walk, or blind-test result is claimed. Next: implement and test the non-interrupting run plus the post-run validity report"}, {"post_id": 57699, "ts": "2026-08-29T22:49:17Z", "hours": 5.3125, "text": "DEVLOG #20 Today I finally found why the four RX streams kept disagreeing: the server was fusing packets from different transmitter moments. The old path had already reached 98,126 engine errors with a timestamp spread of about 710 ms . The first timing fix exposed the deeper problem. The server was simply taking the latest packet from each receiver, even when those packets did not belong to the same event. I replaced that with bounded per-RX queues and approximate-time matching. The existing 60 ms guard stays fail-closed, so an incoherent quartet is discarded instead of becoming a fake D6 input. The new tests cover packet loss, reboots, sequence wrap, clock jumps, queue matching, and host-time fallback. 484/485 tests passed in the sandbox,. Next: restart the server and verify a stable, error-free 25-second preflight. But for now, time to sleep."}, {"post_id": 56909, "ts": "2026-08-28T22:30:41Z", "hours": 4.6578, "text": "DEVLOG #19 I activated the new mmWave firmware and got the live 25-second preflight to pass once, but the first empty-room recording did not complete. The main work was hardening the transport: the firmware now sends redundant radar packets, while the server handles reordering, duplicates, short CSI gaps, and recent diagnostics instead of relying on cumulative counters. The UI also gained a controlled empty-room countdown. The remaining failure is intermittent: the sensor stays online and reports no local UDP send errors, but the server still recorded packets_lost=10 and packets_rejected=324 . The empty-room capture lasted only 4.8 s for radar and 5.1 s for CSI, so it is not a valid calibration reference. No calibration, training, or blind position result is claimed yet. Next: expose the exact reject reason and sequence-gap timing, fix the remaining transport problem, and repeat the complete empty-room measurement."}, {"post_id": 56202, "ts": "2026-08-27T21:07:33Z", "hours": 3.7439, "text": "DEVLOG #18 Since the LD2450 first worked, I connected TX, RX1–RX4, and Wi-Fi, positioned the sensor, sealed setup-v2 , and added a calibration preparation phase with a countdown and a minimum duration of 60 seconds . The real hardware UI is running on port 8080 ; port 3002 still shows the simulation. I started the workflow, but it currently stops at step 4, the empty-room Wi-Fi baseline , because radar packets are being lost. I improved server-side packet sorting and built a new 10 Hz firmware. The OTA update started, but the device still boots the old firmware from ota_0 at about 20.6 Hz . The sensor is online, but calibration is not ready. 63 UI tests pass; one Rust test mismatch remains. No real D6 calibration or blind validation has been completed yet. Next: activate the 10 Hz firmware, resolve the packet-loss blocker, and rerun the preflight and empty-room baseline."}, {"post_id": 55631, "ts": "2026-08-27T16:22:32Z", "hours": 3.55, "text": "DEVLOG #17 I finally verified the complete breadboard mmWave data path with the HLK-LD2450. After flashing the known firmware to a new ESP32-C3, it joined csi-test , received 192.168.4.2 , and exposed /ota/status on port 8032 . The status confirmed the expected UART mapping: GPIO20 RX, GPIO21 TX, and 256000 baud in calibration mode. The important test was a read-only UDP capture: 224 valid LD2450 datagrams in 20 seconds, followed by 222 more while the setup was powered only from the normal power supply. Every packet matched ruview.mmwave.ld2450.v1 and contained a recognized target. This proves that the breadboard wiring, UART parser, ESP Wi-Fi connection, and UDP transport work together. The reported coordinates are still sensor-frame data, not a validated room position. The permanent PCB-02 is still pending. Next I will validate the radar transform with known room marks, connect the CSI receivers, and continue with D6 calibration, training, blind tests, and the quality gates."}, {"post_id": 54003, "ts": "2026-08-24T18:57:34Z", "hours": 1.6292, "text": "DEVLOG #16 The ESP was not the problem After the original PCB failed during WLAN authentication, I redesigned the mmWave carrier as PCB-02 and isolated the ESP to find the real cause. PCB-02 replaces the too-small ESP contact pads with proper through-hole header rows, keeps the case-compatible outline, protects the antenna area, and retains the SMD capacitors. The routing and electrical checks passed, and the Gerbers are ready to order. The important experiment came next. I unsoldered the suspect ESP from the old PCB and powered it by itself. It joined csi-test , answered every ping, and returned HTTP 200 from /ota/status . A second ESP did exactly the same without any PCB attached. This was the key finding: both ESPs work outside the PCB. The earlier auth → init failure is therefore very unlikely to be a dead ESP. The likely cause is the old PCB assembly, its soldered fly-wires, power delivery, or the antenna/contact area. The LD2450 UART and radar path are still unverified. Next: as an interim solution, continue on a breadboard with one known-good ESP and the LD2450 before moving to manufactured PCB-02."}, {"post_id": 53168, "ts": "2026-08-23T16:42:54Z", "hours": 1.9047, "text": "DEVLOG #15 D4/D5/D6 evidence package I consolidated every archived D4/D5/D6 recording into one reproducible technical report and a 25-run CSV inventory. I kept historical A/G captures separate because their sample rate and guard settings do not support a direct percentage comparison. The result is clear: pooled D4 retained 88.4% still recall but produced 75.2% empty-room false presence. Historical D5 replay looked strong at 0.0% false presence and 89.3% recall, but the real D5 live run and D5-abs still-person run both collapsed to 0% recall. D5-abs therefore reduced false presence only by making still presence unusable. I also audited all five D6 raw CSI files against their sidecars. Every file is complete, has zero recorder drops, includes RX1–RX4, and uses one 2.437 GHz / 1-antenna / 64-subcarrier grid. The current empty-neutral-02 capture is a valid same-setup baseline candidate; the older setup and discovery capture remain separate. This is technical evidence, not an accuracy claim. No phase yet has independent mmWave ground truth, blind position validation, or a proven live localization path. Next I will install the heat-set thread inserts in the mmWave case and then check whether everything works as intended before deciding how to proceed."}, {"post_id": 51926, "ts": "2026-08-21T20:58:54Z", "hours": 2.4314, "text": "DEVLOG #14 Since the last devlog, I published a new Observatory Control Center and a guided calibration workflow for the D6 experiment. The setup now includes a CAD-style room editor for the TX and RX1–RX4 positions. It validates room boundaries, duplicate receiver positions, and the canonical node IDs. The continuous mmWave calibration route is now the primary workflow; the manual P01–P09 grid remains only as a legacy fallback. Experiment profiles, run phases, setup hashes, and prediction/truth artifact hashes are persisted in SQLite. The UI also makes READY , RUNNING , PASS , OFFLINE , and SOFTWARE-ONLY / UNVALIDATED states explicit, so a simulated workflow cannot be mistaken for a real sensor result. I ran 41 UI/Observatory tests and 4 targeted Rust workflow tests ; all passed. This validates the software workflow, but not the real CSI stream, LD2450 UART/UDP path, calibration data, or position accuracy. Next: connect the LD2450 to the working ESP on the breadboard, verify UART bytes and valid radar frames, and then continue with the sealed hardware workflow and real blind tests."}, {"post_id": 51771, "ts": "2026-08-21T16:41:39Z", "hours": 1.8486, "text": "DEVLOG #13 I narrowed the Wi-Fi authentication problem down to the original ESP32-C3 . A second ESP running the same firmware connected to csi-test , received an IP address, and started its HTTP server successfully. This shows that the TX, credentials, and firmware work in principle—and that the LD2450 is not causing the current Wi-Fi failure. The original ESP ( ac:a7:04:c2:71:f4 ) is now the main suspect, possibly because of its Wi-Fi hardware, power stability, flash state, or an access-point client entry. I also planned a breadboard-compatible power setup for testing without the SMD capacitors: a through-hole 100 nF ceramic capacitor and 10 µF electrolytic capacitor across 5 V and GND, placed close to the ESP and radar connections. The radar itself has not passed a UART test yet . Next, I will connect the unpowered LD2450 to the working ESP and check whether UART bytes and valid radar frames increase."}, {"post_id": 49852, "ts": "2026-08-18T20:01:28Z", "hours": 3.3072, "text": "DEVLOG #12 I built a new Observatory Control Center that guides the experiment through all ten phases—from creating and sealing the setup to calibration, blind tests, evaluation, and the final report. Run metadata, setup profiles, phase history, and artifact hashes are now stored persistently in SQLite, while the raw recordings remain separate files. The UI shows clear READY , RUNNING , PASS , OFFLINE , and UNVALIDATED states and keeps software-only demonstrations separate from real measurements. I also made continuous mmWave-guided calibration the main workflow. The manual P01–P09 capture grid remains available only as a legacy fallback. All 29 UI tests and all 4 targeted SQLite/workflow tests pass. This verifies the software workflow, but does not yet validate the real sensors or position accuracy . Next: connect the finished hardware and run the guided workflow with real data ."}, {"post_id": 48977, "ts": "2026-08-17T15:47:15Z", "hours": 3.4047, "text": "DEVLOG #11 I started assembling the reference-sensor PCB and soldered the available parts. The SMD capacitors have not arrived yet, and the ESP pads turned out to be too small for reliable soldering, so I have started connecting the ESP with wires instead. On the software side, I added diagnostics for UART bytes, valid radar frames, UDP transmissions, and errors. The server and UI now display these values and detect connection or network problems. I also tested the complete software path synthetically—from radar input through calibration, position indexing, blind-test gates, and the UI. All relevant tests passed, including 10/10 UI tests. This confirms the software path, but not the final live hardware setup. A read-only CSI check currently receives no RX packets. The last discovery did find TX and RX1–RX4 with a stable 64-subcarrier grid, although sequence gaps were around 5–6% . Next: finish the wiring, add the capacitors, and restore live CSI reception ."}, {"post_id": 46851, "ts": "2026-08-14T11:44:53Z", "hours": 1.2353, "text": "DEVLOG #10 I completed the calibration and evaluation pipeline for WiFi positioning with an HLK-LD2450 reference sensor. The new system includes: ESP32-C3 firmware with UART parsing, room coordinates, operating modes, Wi-Fi transmission, and protected configuration; persistent coordinate transformation with origin, rotation, and optional mirroring; synchronization of mmWave and RX1–RX4 CSI data within 150 ms ; a 65-second empty-room reference; automatic room coverage with nine reachable zones ( P01–P09 ) and six training blocks per zone; a position index that uses only CSI after calibration ; blind evaluation with separated WiFi predictions and mmWave reference data; fixed quality thresholds with automatic acceptance or rejection; and a guided German calibration assistant in the UI. The PCB has also arrived. I am checking it carefully before soldering and starting the first complete hardware tests. Next: verify the PCB, solder the components, and test the full system ."}, {"post_id": 46000, "ts": "2026-08-12T21:00:12Z", "hours": 1.3247, "text": "DEVLOG #09 I 3D-printed the case and a PCB mockup to test the fit. The IKEA Skådis mount and the retaining posts were slightly too large, possibly because supports were placed in the wrong areas. I have already updated the 3D model and will print the revised version tomorrow."}, {"post_id": 45443, "ts": "2026-08-11T21:51:23Z", "hours": 0.6469, "text": "DEVLOG #08 I finished the firmware and flashed it onto the ESP32-C3 SuperMini for the mmWave reference sensor. It uses the correct UART pins ( GPIO20 RX , GPIO21 TX , 256000 baud ), parses all three LD2450 targets using the official protocol , and sends timestamped UDP JSON data. It also separates calibration and reference recordings, supports protected A/B OTA, detects ambiguous multi-person measurements, and allows configurable radar placement. The firmware is ready, but the final PCB still needs to arrive. I then need to solder it before any complete hardware testing can begin. I will also finish the IKEA-board mount, print the case, and check the PCB fit—especially the retaining posts . Next: receive and solder the PCB, print the case, and test everything together ."}, {"post_id": 45318, "ts": "2026-08-11T18:12:17Z", "hours": 1.1956, "text": "DEVLOG #07 I added small retaining posts to hold the PCB securely inside the mmWave sensor case. I also designed a holder for mounting the enclosure to an IKEA board. These details should keep both the electronics and the finished case in place, but they still need to be printed and tested for fit. Next: print the parts and check the tolerances ."}, {"post_id": 45185, "ts": "2026-08-11T14:38:53Z", "hours": 1.9669, "text": "DEVLOG #06 I continued redesigning the mmWave reference sensor case and replaced the honeycomb pattern with cleaner parallel openings. I also refined the inside of the enclosure by adding two posts and a rectangular internal feature. The case now has a much cleaner shape, but it is still a CAD design and has not been printed or tested yet . Next: check the component fit and prepare the case for printing ."}, {"post_id": 44901, "ts": "2026-08-10T23:16:59Z", "hours": 1.9811, "text": "DEVLOG #05 Redesigning the mmWave reference sensor case Today Redesigned the 3D-printed enclosure for the mmWave reference sensor. Finish the enclosure and prepare it for printing. Current Challenge I am currently working on the honeycomb pattern. The new case is taking shape, but the pattern still needs to be fixed before the design is complete. Status: Redesigned , NOT FINISHED , currently focused on the pattern ."}, {"post_id": 44167, "ts": "2026-08-09T18:58:20Z", "hours": 2.1736, "text": "DEVLOG #04 D6 setup and calibration Today Sealed the 1TX/4RX setup and identified the TX without flashing. Passed the 25-second preflight and recorded 65 seconds of empty-room data. UI Fix Camera rotation was replaced with a display-only X-axis mirror: x_display = room_length - x Next Record training data at P01–P09 Build the position fingerprint index Run blind tests and evaluate both quality thresholds Complete all nine training positions. Build the fingerprint model. Validate before enabling live positioning. Status: Connected , UNCALIBRATED , setup sealed and unchanged"}, {"post_id": 43483, "ts": "2026-08-08T19:35:11Z", "hours": 1.7147, "text": "DEVLOG #03 Today I finished the 3D-printed case for the reference sensor (mmWave). Its purpose is to measure how accurate the WiFi CSI-based positioning actually is."}, {"post_id": 42271, "ts": "2026-08-06T22:02:29Z", "hours": 0.5714, "text": "DEVLOG #02 So, I had a big issue today. I finished my PCB after five hours of work and recorded the entire process as a timelapse in Lookout . Then I accidentally clicked Discard . Fortunately, I was able to recover the video on my Mac, including all of its metadata. Getting the logged time restored now depends on the incredible team at Hack Club/Laps . I have already asked for help on Slack and sent an email. The PCB Is Finished Despite the timelapse issue, the PCB shown below is finished and already ordered . Its purpose is to provide reference data for evaluating how accurately the Wi-Fi-based tracking system works. The board includes: an ESP32-C3 SuperMini ; and an mmWave radar sensor."}, {"post_id": 40866, "ts": "2026-08-04T17:44:34Z", "hours": 27.3636, "text": "DEVLOG #01 Hi, long time no see. Over the past few weeks, I have been developing two new approaches to presence detection. The main issue was that the system could not reliably distinguish between an empty room and a room with me standing inside :(. To solve this, I first developed D5 and then D6 . D5 is already available on GitHub . D6 is not available yet because it is still under development and has not been fully validated with real measurements and blind tests. D5 — Presence Detection D5 was designed to determine whether a room is empty or occupied. It compares current CSI measurements with a previously recorded empty-room reference. However, D5 mainly evaluated changes in one direction. In practice, a person’s presence can cause CSI values to either increase or decrease, depending on the receiver and propagation path. As a result, D5 behaved more like a motion detector and could miss a person who remained still. While it significantly improved presence detection, it was not robust enough for reliable real-world use. D6 — Presence Detection and Position Classification D6 builds on D5 by evaluating deviations from the empty-room reference in both directions , making it much more effective at detecting people who remain stationary. Once a person has been detected, D6 attempts to classify their position. Instead of calculating arbitrary coordinates, it identifies one of nine predefined locations ( P01–P09 ) that were previously trained using CSI recordings. A position is only reported if: the hardware setup is valid and sealed; all receivers provide fresh and valid CSI data; the correct transmitter has been verified; a person has been detected; a valid position index is available; and the classification result is sufficiently confident. If any of these conditions are not met, D6 deliberately reports no position instead of inventing one. The software pipeline is largely complete, but the system still needs to be validated using a new sealed setup, fresh training recordings, and independent blind tests before D6 can be released on GitHub. New Interface I also redesigned the standard RuView interface as a clean, white, Samaritan-inspired UI based on the AI system from the TV series Person of Interest ."}]...
|
Title: Observatory by @Gerafftes | Stardance
Devl Title: Observatory by @Gerafftes | Stardance
Devlogs:
DEVLOG #01 Hi, long time no see. Over the past few weeks, I have been developing two new approaches to presence detection. The main issue was that the system could not reliably distinguish between an empty room and a room with me standing inside :(. To solve this, I first developed D5 and then D6 . D5 is already available on GitHub . D6 is not available yet because it is still under development and has not been fully validated with real measurements and blind tests. D5 — Presence Detection D5 was designed to determine whether a room is empty or occupied. It compares current CSI measurements with a previously recorded empty-room reference. However, D5 mainly evaluated changes in one direction. In practice, a person’s presence can cause CSI values to either increase or decrease, depending on the receiver and propagation path. As a result, D5 behaved more like a motion detector and could miss a person who remained still. While it significantly improved presence detection, it was not robust enough for reliable real-world use. D6 — Presence Detection and Position Classification D6 builds on D5 by evaluating deviations from the empty-room reference in both directions , making it much more effective at detecting people who remain stationary. Once a person has been detected, D6 attempts to classify their position. Instead of calculating arbitrary coordinates, it identifies one of nine predefined locations ( P01–P09 ) that were previously trained using CSI recordings. A position is only reported if: the hardware setup is valid and sealed; all receivers provide fresh and valid CSI data; the correct transmitter has been verified; a person has been detected; a valid position index is available; and the classification result is sufficiently confident. If any of these conditions are not met, D6 deliberately reports no position instead of inventing one. The software pipeline is largely complete, but the system still needs to be validated using a new sealed setup, fresh training recordings, and independent blind tests before D6 can be released on GitHub. New Interface I also redesigned the standard RuView interface as a clean, white, Samaritan-inspired UI based on the AI system from the TV series Person of Interest .
DEVLOG #02 So, I had a big issue today. I finished my PCB after five hours of work and recorded the entire process as a timelapse in Lookout . Then I accidentally clicked Discard . Fortunately, I was able to recover the video on my Mac, including all of its metadata. Getting the logged time restored now depends on the incredible team at Hack Club/Laps . I have already asked for help on Slack and sent an email. The PCB Is Finished Despite the timelapse issue, the PCB shown below is finished and already ordered . Its purpose is to provide reference data for evaluating how accurately the Wi-Fi-based tracking system works. The board includes: an ESP32-C3 SuperMini ; and an mmWave radar sensor.
DEVLOG #03 Today I finished the 3D-printed case for the reference sensor (mmWave). Its purpose is to measure how accurate the WiFi CSI-based positioning actually is.
DEVLOG #04 D6 setup and calibration Today Sealed the 1TX/4RX setup and identified the TX without flashing. Passed the 25-second preflight and recorded 65 seconds of empty-room data. UI Fix Camera rotation was replaced with a display-only X-axis mirror: x_display = room_length - x Next Record training data at P01–P09 Build the position fingerprint index Run blind tests and evaluate both quality thresholds Complete all nine training positions. Build the fingerprint model. Validate before enabling live positioning. Status: Connected , UNCALIBRATED , setup sealed and unchanged
DEVLOG #05 Redesigning the mmWave reference sensor case Today Redesigned the 3D-printed enclosure for the mmWave reference sensor. Finish the enclosure and prepare it for printing. Current Challenge I am currently working on the honeycomb pattern. The new case is taking shape, but the pattern still needs to be fixed before the design is complete. Status: Redesigned , NOT FINISHED , currently focused on the pattern .
DEVLOG #06 I continued redesigning the mmWave reference sensor case and replaced the honeycomb pattern with cleaner parallel openings. I also refined the inside of the enclosure by adding two posts and a rectangular internal feature. The case now has a much cleaner shape, but it is still a CAD design and has not been printed or tested yet . Next: check the component fit and prepare the case for printing .
DEVLOG #07 I added small retaining posts to hold the PCB securely inside the mmWave sensor case. I also designed a holder for mounting the enclosure to an IKEA board. These details should keep both the electronics and the finished case in place, but they still need to be printed and tested for fit. Next: print the parts and check the tolerances .
DEVLOG #08 I finished the firmware and flashed it onto the ESP32-C3 SuperMini for the mmWave reference sensor. It uses the correct UART pins ( GPIO20 RX , GPIO21 TX , 256000 baud ), parses all three LD2450 targets using the official protocol , and sends timestamped UDP JSON data. It also separates calibration and reference recordings, supports protected A/B OTA, detects ambiguous multi-person measurements, and allows configurable radar placement. The firmware is ready, but the final PCB still needs to arrive. I then need to solder it before any complete hardware testing can begin. I will also finish the IKEA-board mount, print the case, and check the PCB fit—especially the retaining posts . Next: receive and solder the PCB, print the case, and test everything together .
DEVLOG #09 I 3D-printed the case and a PCB mockup to test the fit. The IKEA Skådis mount and the retaining posts were slightly too large, possibly because supports were placed in the wrong areas. I have already updated the 3D model and will print the revised version tomorrow.
DEVLOG #10 I completed the calibration and evaluation pipeline for WiFi positioning with an HLK-LD2450 reference sensor. The new system includes: ESP32-C3 firmware with UART parsing, room coordinates, operating modes, Wi-Fi transmission, and protected configuration; persistent coordinate transformation with origin, rotation, and optional mirroring; synchronization of mmWave and RX1–RX4 CSI data within 150 ms ; a 65-second empty-room reference; automatic room coverage with nine reachable zones ( P01–P09 ) and six training blocks per zone; a position index that uses only CSI after calibration ; blind evaluation with separated WiFi predictions and mmWave reference data; fixed quality thresholds with automatic acceptance or rejection; and a guided German calibration assistant in the UI. The PCB has also arrived. I am checking it carefully before soldering and starting the first complete hardware tests. Next: verify the PCB, solder the components, and test the full system .
DEVLOG #11 I started assembling the reference-sensor PCB and soldered the available parts. The SMD capacitors have not arrived yet, and the ESP pads turned out to be too small for reliable soldering, so I have started connecting the ESP with wires instead. On the software side, I added diagnostics for UART bytes, valid radar frames, UDP transmissions, and errors. The server and UI now display these values and detect connection or network problems. I also tested the complete software path synthetically—from radar input through calibration, position indexing, blind-test gates, and the UI. All relevant tests passed, including 10/10 UI tests. This confirms the software path, but not the final live hardware setup. A read-only CSI check currently receives no RX packets. The last discovery did find TX and RX1–RX4 with a stable 64-subcarrier grid, although sequence gaps were around 5–6% . Next: finish the wiring, add the capacitors, and restore live CSI reception .
DEVLOG #12 I built a new Observatory Control Center that guides the experiment through all ten phases—from creating and sealing the setup to calibration, blind tests, evaluation, and the final report. Run metadata, setup profiles, phase history, and artifact hashes are now stored persistently in SQLite, while the raw recordings remain separate files. The UI shows clear READY , RUNNING , PASS , OFFLINE , and UNVALIDATED states and keeps software-only demonstrations separate from real measurements. I also made continuous mmWave-guided calibration the main workflow. The manual P01–P09 capture grid remains available only as a legacy fallback. All 29 UI tests and all 4 targeted SQLite/workflow tests pass. This verifies the software workflow, but does not yet validate the real sensors or position accuracy . Next: connect the finished hardware and run the guided workflow with real data .
DEVLOG #13 I narrowed the Wi-Fi authentication problem down to the original ESP32-C3 . A second ESP running the same firmware connected to csi-test , received an IP address, and started its HTTP server successfully. This shows that the TX, credentials, and firmware work in principle—and that the LD2450 is not causing the current Wi-Fi failure. The original ESP ( ac:a7:04:c2:71:f4 ) is now the main suspect, possibly because of its Wi-Fi hardware, power stability, flash state, or an access-point client entry. I also planned a breadboard-compatible power setup for testing without the SMD capacitors: a through-hole 100 nF ceramic capacitor and 10 µF electrolytic capacitor across 5 V and GND, placed close to the ESP and radar connections. The radar itself has not passed a UART test yet . Next, I will connect the unpowered LD2450 to the working ESP and check whether UART bytes and valid radar frames increase.
DEVLOG #14 Since the last devlog, I published a new Observatory Control Center and a guided calibration workflow for the D6 experiment. The setup now includes a CAD-style room editor for the TX and RX1–RX4 positions. It validates room boundaries, duplicate receiver positions, and the canonical node IDs. The continuous mmWave calibration route is now the primary workflow; the manual P01–P09 grid remains only as a legacy fallback. Experiment profiles, run phases, setup hashes, and prediction/truth artifact hashes are persisted in SQLite. The UI also makes READY , RUNNING , PASS , OFFLINE , and SOFTWARE-ONLY / UNVALIDATED states explicit, so a simulated workflow cannot be mistaken for a real sensor result. I ran 41 UI/Observatory tests and 4 targeted Rust workflow tests ; all passed. This validates the software workflow, but not the real CSI stream, LD2450 UART/UDP path, calibration data, or position accuracy. Next: connect the LD2450 to the working ESP on the breadboard, verify UART bytes and valid radar frames, and then continue with the sealed hardware workflow and real blind tests.
DEVLOG #15 D4/D5/D6 evidence package I consolidated every archived D4/D5/D6 recording into one reproducible technical report and a 25-run CSV inventory. I kept historical A/G captures separate because their sample rate and guard settings do not support a direct percentage comparison. The result is clear: pooled D4 retained 88.4% still recall but produced 75.2% empty-room false presence. Historical D5 replay looked strong at 0.0% false presence and 89.3% recall, but the real D5 live run and D5-abs still-person run both collapsed to 0% recall. D5-abs therefore reduced false presence only by making still presence unusable. I also audited all five D6 raw CSI files against their sidecars. Every file is complete, has zero recorder drops, includes RX1–RX4, and uses one 2.437 GHz / 1-antenna / 64-subcarrier grid. The current empty-neutral-02 capture is a valid same-setup baseline candidate; the older setup and discovery capture remain separate. This is technical evidence, not an accuracy claim. No phase yet has independent mmWave ground truth, blind position validation, or a proven live localization path. Next I will install the heat-set thread inserts in the mmWave case and then check whether everything works as intended before deciding how to proceed.
DEVLOG #16 The ESP was not the problem After the original PCB failed during WLAN authentication, I redesigned the mmWave carrier as PCB-02 and isolated the ESP to find the real cause. PCB-02 replaces the too-small ESP contact pads with proper through-hole header rows, keeps the case-compatible outline, protects the antenna area, and retains the SMD capacitors. The routing and electrical checks passed, and the Gerbers are ready to order. The important experiment came next. I unsoldered the suspect ESP from the old PCB and powered it by itself. It joined csi-test , answered every ping, and returned HTTP 200 from /ota/status . A second ESP did exactly the same without any PCB attached. This was the key finding: both ESPs work outside the PCB. The earlier auth → init failure is therefore very unlikely to be a dead ESP. The likely cause is the old PCB assembly, its soldered fly-wires, power delivery, or the antenna/contact area. The LD2450 UART and radar path are still unverified. Next: as an interim solution, continue on a breadboard with one known-good ESP and the LD2450 before moving to manufactured PCB-02.
DEVLOG #17 I finally verified the complete breadboard mmWave data path with the HLK-LD2450. After flashing the known firmware to a new ESP32-C3, it joined csi-test , received 192.168.4.2 , and exposed /ota/status on port 8032 . The status confirmed the expected UART mapping: GPIO20 RX, GPIO21 TX, and 256000 baud in calibration mode. The important test was a read-only UDP capture: 224 valid LD2450 datagrams in 20 seconds, followed by 222 more while the setup was powered only from the normal power supply. Every packet matched ruview.mmwave.ld2450.v1 and contained a recognized target. This proves that the breadboard wiring, UART parser, ESP Wi-Fi connection, and UDP transport work together. The reported coordinates are still sensor-frame data, not a validated room position. The permanent PCB-02 is still pending. Next I will validate the radar transform with known room marks, connect the CSI receivers, and continue with D6 calibration, training, blind tests, and the quality gates.
DEVLOG #18 Since the LD2450 first worked, I connected TX, RX1–RX4, and Wi-Fi, positioned the sensor, sealed setup-v2 , and added a calibration preparation phase with a countdown and a minimum duration of 60 seconds . The real hardware UI is running on port 8080 ; port 3002 still shows the simulation. I started the workflow, but it currently stops at step 4, the empty-room Wi-Fi baseline , because radar packets are being lost. I improved server-side packet sorting and built a new 10 Hz firmware. The OTA update started, but the device still boots the old firmware from ota_0 at about 20.6 Hz . The sensor is online, but calibration is not ready. 63 UI tests pass; one Rust test mismatch remains. No real D6 calibration or blind validation has been completed yet. Next: activate the 10 Hz firmware, resolve the packet-loss blocker, and rerun the preflight and empty-room baseline.
DEVLOG #19 I activated the new mmWave firmware and got the live 25-second preflight to pass once, but the first empty-room recording did not complete. The main work was hardening the transport: the firmware now sends redundant radar packets, while the server handles reordering, duplicates, short CSI gaps, and recent diagnostics instead of relying on cumulative counters. The UI also gained a controlled empty-room countdown. The remaining failure is intermittent: the sensor stays online and reports no local UDP send errors, but the server still recorded packets_lost=10 and packets_rejected=324 . The empty-room capture lasted only 4.8 s for radar and 5.1 s for CSI, so it is not a valid calibration reference. No calibration, training, or blind position result is claimed yet. Next: expose the exact reject reason and sequence-gap timing, fix the remaining transport problem, and repeat the complete empty-room measurement.
DEVLOG #20 Today I finally found why the four RX streams kept disagreeing: the server was fusing packets from different transmitter moments. The old path had already reached 98,126 engine errors with a timestamp spread of about 710 ms . The first timing fix exposed the deeper problem. The server was simply taking the latest packet from each receiver, even when those packets did not belong to the same event. I replaced that with bounded per-RX queues and approximate-time matching. The existing 60 ms guard stays fail-closed, so an incoherent quartet is discarded instead of becoming a fake D6 input. The new tests cover packet loss, reboots, sequence wrap, clock jumps, queue matching, and host-time fallback. 484/485 tests passed in the sandbox,. Next: restart the server and verify a stable, error-free 25-second preflight. But for now, time to sleep.
DEVLOG #21 The 65-second empty-room calibration failed before it could collect a usable baseline. The UI showed Samples 0 when I returned, so no calibration ID or context hash was created. The failure exposed a design problem in the run itself. A recoverable outside-room radar target could stop the entire measurement. I’m changing the workflow so the run always reaches its configured end and evaluates the evidence afterwards. The final report will mark it valid or invalid with concrete reasons instead of hiding the failure behind an early stop. This behavior change is planned, but not yet implemented or validated. No successful calibration, restored baseline, 10/10 acceptance, position index, guided room walk, or blind-test result is claimed. Next: implement and test the non-interrupting run plus the post-run validity report
DEVLOG #22 I fixed the last browser security gap found in the local security review: a page on one local port can no longer reach an unauthenticated service on another local port by default. The review contained 13 entries. Entries 8 and 11, and entries 12 and 13, were duplicates, leaving 11 unique findings. The old check trusted the hostname alone, so every localhost port was accepted. I separated browser Origin validation from the existing Host /DNS-rebinding protection. WebSockets and state-changing /api/v1/* requests now require an exact scheme, host, and port. By default, only http://localhost:<http_port> , http://127.0.0.1:<http_port> , and http://[::1]:<http_port> are allowed. Repeatable --allowed-origin values or the comma-separated SENSING_ALLOWED_ORIGINS variable explicitly replace these defaults. Host-only values, wildcards, null , paths, userinfo, and invalid ports are rejected. The protection covers /ws/* and /api/v1/stream/pose on both the HTTP and dedicated WebSocket ports. CLI clients without an Origin header remain compatible. The regression test now returns 403 for an unlisted cross-port UI, while an explicitly allowlisted cross-port UI still works. All 24/24 Origin/Host tests, 471 sensing-server tests ( 1 ignored), HomeCore server/API/auth/WebSocket tests ( 18 + 18 + 6 + 5 ), and 7 Python/firmware security-boundary tests passed. Binary checks, targeted rustfmt, and git diff --check also passed. No flash or OTA action was performed. The ESP-IDF v5.4 build matrix is still inconclusive: the native ARM64 image is missing a containerd layer, while the AMD64 fallback crashes in the emulated Xtensa compiler inside MbedTLS. I therefore do not count the three firmware builds as passed. Next: Solder PCB-02 first, then mount the mmWave sensor in the corner.
DEVLOG #23 The issue encountered during initial startup was a design error: the LD2450 had been mounted rotated by 180°. The UART routing itself was correct. After rotating the sensor and reflashing the ESP32-C3, everything worked again, though the physical setup doesn’t look very tidy. I designed PCB-03 based on PCB-02. The LD2450 connector and its wiring have been rotated by 180°. Everything else remains unchanged. I also added ground planes. Until the PCB arrives, the breadboard setup will continue to serve as a temporary mmWave configuration. Next steps: order PCB-03, mount the LD2450 in the marked orientation, and repeat the live radar verification. Continue using the breadboard setup until delivery.
DEVLOG #24 I strengthened security for live-sensor operation and started aligning the Observatory UI with backend functionality that actually exists. Live WebSockets now require Bearer authentication along with strict Origin and Host checks. Browser and Python clients no longer send tokens in the URL. Regression tests cover missing, invalid, and duplicate requests as well as cross-origin access. The complete CAD geometry document is now persisted in SQLite and survives a server restart. Another issue was in the browser catalog: it listed routes that the active Rust server did not provide. I am separating active routes from legacy compatibility routes, adding the missing model-details contract, and returning unavailable or HTTP 501 when browser-triggered training is not available instead of falsely reporting that it started. Next: finish and commit the route extraction, then repeat the live mmWave preflight, including calibration.
DEVLOG #25 I measured and optimized the mmWave UDP transport, but the radar path still fails the lossless-transmission test (image 1) . The new firmware and server path use one UDP copy without artificial delay, disable Wi-Fi power saving on the mains-powered node, persist the collector target and CAD transform, and separate socket reads from processing. Reordering, sequence validation, deduplication, and rolling metrics expose failures instead of hiding them. Across three 60-second runs, unique arrivals improved by 11.2%, sequence loss fell from 20.6% to 13.1%, duplicates dropped to zero, and arrival P95 improved by 27.8%. Two copies did not reduce loss and only added duplicates, so one copy remains the default. The transport is better, but not lossless: 13.1% sequence loss still blocks the radar preflight. The 50 ms interval is not the bottleneck; LD2450 frames arrive in bursts and the bridge emits about 2.64 measurements per second, not 20 independent frames per second. Next I will investigate RSSI and channel conditions, ARP and startup behaviour, Wi-Fi retries and airtime, and packet scheduling. RX/CSI stayed offline, so this is not a full Wi-Fi validation. The server refactor from DEVLOG #24 is now integrated: routes, state, runtime, calibration, recording, model, and system responsibilities moved out of main.rs , with active, legacy, and unavailable-training contracts separated. Desktop-interface removal remains in progress. Hardware-control modules are moving to a standalone control crate, while loopback-only browser server controls with origin checks are being added. Phase 1 calibration is also getting a longer measurement window and persisted evidence. RX3 currently lands roughly two to three metres from its expected fixed point. I will not consider the calibration valid until the transform, profile binding, or target association causing this offset is understood and corrected. Next: resolve the RX3 Phase 1 offset (seen in image 2) , then repeat the full fixed-point calibration and re-verify the radar preflight.
DEVLOG #26 I have completed, soldered, and tested the third and hopefully final PCB revision. Everything works, but the ground plane made soldering significantly more difficult than expected. Even with thermal reliefs around the solder pads, the plane acted like a heat sink, dissipating heat across the entire board. The shift to a browser-centric approach is progressing: the Tauri desktop app and its associated release pipeline are being removed, while hardware control is being moved to a standalone “loopback crate.” This crate handles tasks such as device discovery, serial access, provisioning, flashing, OTA updates, and WASM integration. This work is currently ongoing. The server now protects the /api/field and /ws/field endpoints using Bearer authentication and keeps auto mode offline until real data is available. An explicit simulated source is required for simulation. mmWave transmission has been improved but still exhibits a sequence loss rate of 13.1%, causing the radar preflight to remain blocked. The causes of the remaining loss still need to be investigated, particularly regarding channel conditions, the startup process/ARP, and Wi-Fi airtime and scheduling. The calibration offset for “Phase 1” on RX3 also remains unresolved. Next steps: fixing the RX3 offset, completing the migration to the browser/control setup, and re-running the radar preflight.
DEVLOG #27 I soldered a second PCB from revision 3, making the hardware for two mmWave sensors available. The software now keeps MMWAVE1 and MMWAVE2 separate through stable node identities and independent sequence, transform, and calibration state. The mmWave transport also crossed an important milestone. Because best-effort UDP was not enough, firmware 0.1.6 now uses ACK-based retransmission. In a controlled 60-second comparison, sequence loss reached 0.00% and the radar_sequence_loss_free gate passed, compared with 0.70% loss and 84 full ACK timeouts on firmware 0.1.5. The Tauri desktop shell has been replaced in the active build by a loopback control helper for discovery, provisioning, flashing, OTA, and WASM. I also created a new 3D-print file, which is currently being printed; the mechanical result is not finished yet. Next: validate both sensor paths together, resolve the RX3 Phase 1 offset, and repeat the full radar preflight.
DEVLOG #28 I prepared and locally verified an ESP-IDF replacement candidate for TX1. The firmware builds successfully, and the host-side checks for packet handling, scheduling, boot/OTA variants, and negative compile guards pass. This is still a software-only result. Nothing has been flashed, and TX1 has not been validated on hardware. Before replacing the existing TX1, the old TX1/RX4 baseline and network pre-check must still be completed. I also tightened the RX data path. Incoming frames are now checked for valid input and correct TX binding before passing through one jitter-tolerant 20 ms admission gate. Invalid or foreign frames no longer consume the timing budget. Callback, queue, UDP, and server-side counters are tracked separately, making it possible to see where loss or delay occurs. The deterministic fixtures and local ESP32-S3 build pass, but no live RX measurement has yet shown an actual reduction in frame loss or data age. The new 3D print exposed a mechanical error: it is approximately 1 mm too small and does not fit. It needs to be adjusted and printed again. Next: complete the read-only TX1/RX4 baseline, adjust and reprint the part, then continue with RX3 calibration and validation of both mmWave sensor paths.
DEVLOG #29 The local RX work has expanded, but the two-sensor setup is currently blocked by a connection problem with mmWave2. RX-04 to RX-12 add bounded capture and queue handling, stale-frame rejection, corrected CSI parsing, clearer UDP/server counters, and timing and synchronization metadata. The firmware host tests, standard and raw ESP32-S3 builds, and targeted server checks pass. These are still software and build results. No live RX measurement has yet proven lower frame loss or data age. :( The 3D-printed part now fits. While investigating the mmWave2 connection, I tried to desolder its ESP, but it could not be removed cleanly. Since the connection problem is not resolved, I ordered a replacement ESP, a new mmWave sensor, and an FH/Fenghua 1206X106K160NT SMD component. The exact cause is still open, and the replacement parts have not been installed or tested yet. The existing TX1 replacement also remains locally tested but unflashed. Next: rebuild mmWave2 with the replacement parts, identify the connection fault, validate both sensor paths, and continue with RX3 calibration.
DEVLOG #30 The replacement ESP for mmWave2 is now soldered and mounted on the previously working breadboard setup. The connection problem has not disappeared, however WiFi still fails, so I uploaded a minimal WiFi test script to isolate the radio and network path before testing the radar or UDP transport. The mmWave firmware now distinguishes MMWAVE1 and MMWAVE2 with separate build and upload paths, uses 55010 as the default UDP port, and logs the WiFi disconnect reason. These changes are prepared locally; the test image is not yet a confirmed fix, and the complete mmWave2 path is still unvalidated. In parallel, the TX1 replacement reached a stronger local checkpoint. Reproducible builds from fresh and isolated source copies are byte-identical, and the local test suite passed. The 7A TX1/RX4 baseline still produced no usable measurement data, so the migration remains blocked and 7B is NO-GO . Next: resolve the WiFi connection on the replacement ESP, verify mmWave2 communication, and continue with two-sensor validation and RX3 calibration.
DEVLOG #31 The mmWave2 connection problem is finally understood. It was caused by a reproducible dependency on the WLAN transmit power: at around 19.5 dBm, the ESP kept running and received probe requests, but its test AP could not be found and connections failed. At 10 dBm, the AP worked immediately, csi-test connected again, and 360/360 pings succeeded without a disconnect. Raising the limit reproduced the issue, confirming the dependency. Both mmWave sensors now work reliably. The TX1 migration is also complete. I verified the candidate firmware and baseline, created two identical 16 MiB backups. The new app was written to app1 together with the NVS merge and OTA selection. A complete readback of all 16,777,216 bytes matched the expected flash image exactly. Next: Boot the candidate under the existing safety gates, check that TX1 comes up properly, and run the full comparison.
DEVLOG #32 I still do not really have a final result to show, but it has been another ten hours, so I did not want to skip the devlog. The latest TX1 boot attempt did at least narrow things down. The new firmware now passes the Wi-Fi channel checks: channel 6, HT40 with the secondary channel below, AP-only mode, and the other radio checks all matched the expected profile. It then stops at CHECK_COUNTRY , before reaching BOOT_OK . The TX1 migration is therefore still not accepted, but the failure is much more specific now. The confusing part is that the Wi-Fi power values do not line up cleanly. The country structure reports a different power field than expected, while the separate power API returns the expected value. This may be an SDK representation or comparison issue rather than a real transmit-power problem, but there is not enough evidence to call it fixed yet. I also corrected related checks for the country bytes, SSID representation, and status getters, and prepared another reproducible candidate offline. With the move to Python 3.15, I also added the new lazy-import implementation. The official Python documentation describes the new syntax. Eligible imports now use explicit lazy import and lazy from syntax, with a local verifier to keep the behavior consistent. After the failed candidate boot, I restored the original 16 MiB image and verified the return path. The historical firmware is running again, and RX4 plus both mmWave sensors are sending data. Next: resolve the country/power comparison, then attempt the candidate boot again under the existing safety gates.
DEVLOG #33 The TX1 finally made it all the way to BOOT_OK . After the CHECK_COUNTRY problem from the last update, the new candidate passed the Country20/Power44 and Wi-Fi checks, booted into test mode, and passed the local TX/RX4 checks. I also confirmed the amber LED and both mmWave transport paths. The previous candidate had stopped because one sampling gap grew to 10.2 seconds. I traced that back to the timing bookkeeping and changed the sampler to schedule from the last real sample completion. The corrected run stayed within the sampling limits. That is a real improvement, but it is not the final acceptance yet. The full coverage result is still blocked by the clock-binding requirement, and the radar window only showed no_target , not a position result. I also switched to the new diagnostic server in a controlled run. It stayed ready and a separate 61-second capture passed the coverage gate, but the active CSI position setup is still missing, so this does not count as a complete TX-7B or system pass. The CAD UI got a pretty big upgrade too. MMWAVE1 and MMWAVE2 can now be edited as separate sensors with their own colors, 6 m fields of view, direction arrows, and yaw handles. I added a button to aim them at each other, plus a wall-angle tool that draws the real beam/wall intersection and lets me set the angle directly. Marker labels also move out of the way automatically, and the snap setting survives a refresh. Next: fix the remaining coverage and clock evidence, activate the sealed CAD/CSI setup, and complete the full TX-7B validation.
DEVLOG #34 The TX1 migration is now 100% verified , but the project is still only around ≈ 70% complete. The third and final boot attempt did not give me the clean result I was hoping for. Recovery happened within the allowed time, but UART0 showed two app starts. After the first start, an RTC_SW_CPU_RST appeared and the app started again. It eventually reached BOOT_OK , but because of the duplicate start I still cannot accept the boot trace or move on to server activation and measurements. I am currently documenting the exact restart sequence and trying to figure out what caused it. I also put together a source collection about Wi-Fi sensing and RF-based person detection. GitHub The separate mmWave freshness test did not reproduce the old MMWAVE2 delay problem, but that does not prove it is fixed. Next: get one clean TX1 boot, then activate the server and start collecting real measurements.
DEVLOG #35 I fixed two concrete TX1 firmware bugs. An authentication check that ran too late and an HTTP task with too little stack space. The status endpoint could lose the request headers before checking authorization. I moved that check ahead of the response. I also increased the HTTP task’s stack from 4 KB to 8 KB after confirming that some call paths could exceed the old limit. Two independent builds matched byte for byte. After taking fresh backups, I installed the candidate and verified the complete 16 MiB flash against the expected image. That part passed. The UDP/ENOMEM errors are not yet proven fixed. Next: investigate the reset path, complete a clean controlled boot, then check the matching server setup, authentication, all participants, and the measurement windows.
DEVLOG #36 The first full TX1 acceptance run is done now and it failed, but at least I finally have a much clearer picture of what is still going wrong… The common setup passed: all seven expected participants were visible, and 22 complete snapshots kept the shared basis valid for more than 20 seconds. Then Scope A ran its three 120-second windows. All three failed. There were 14 new TX send errors, and the diagnostic counters placed them in the wifi_handoff ENOMEM stage. That tells me where the error was recorded, but not yet why it happens or whether it is fixed. MMWAVE2 also became stale in parts of the run, and several RX requests were missing, so none of the historical comparisons could count as a valid PASS. Scope B stopped itself at the safety gate when the source binding became inconsistent and RX2 was already 5.044 seconds old. This is frustrating, but the guard did exactly what it was supposed to do, it refused to turn an incomplete 120-second window into a result. Next: decide how to continue the ENOMEM and source-binding issues before starting another acceptance run.
DEVLOG #37 I narrowed down the RX2 and mmWave2 issues from the failed run. Still no hardware fix, but the picture is getting clearer. The surprising part is that RX2 was still sending valid CSI packets during its apparent dropout. They just weren’t the 128-subcarrier frames the current evaluation needs. mmWave2, on the other hand, really did have gaps in packets reaching the host. I’m looking into its send-and-acknowledgement path, but haven’t proven the cause yet. I also found a parser mistake. A supposedly damaged RX packet was actually a valid warning message. That’s corrected in the isolated diagnostic tools, which now also distinguish device timeouts from requests the collector skipped or cancelled. New diagnostic firmware candidates for TX1, RX2 and mmWave2 are built locally to help trace where things stop moving. They aren’t installed yet, and the TX send errors are still unresolved. The UI is less misleading now, too: an ESP being reachable doesn’t mean radar data is arriving, and old readings no longer keep disconnected devices looking active. Next: review the diagnostic candidates, then use a short, controlled hardware run to investigate the remaining errors. The last full acceptance is still a FAIL.
DEVLOG #38 RX2 is finally delivering a lot more matching CSI data. After installing the new firmware, the rate went from about 1.9 to 31.9 frames per second. A longer, half-hour capture averaged around 30. The firmware now fixes Wi-Fi bandwidth at 20 MHz and guards against invalid CSI callbacks. One annoying catch: the long capture only recorded RX2 because some device endpoints were outdated or mixed up. I’ve prepared a stricter preflight so an incomplete group can’t silently become a four-receiver test again. I also corrected the offline window analysis. A valid frame with a different format no longer ruins an entire otherwise usable window. The UI code now separates format exclusions from unexplained sequence gaps instead of calling everything “loss”. The host fixes are tested locally, but aren’t active on the running server yet. Next: complete a proper simultaneous four-RX capture, then implement the RX1 <-> RX4 peer profile for testing. Tracking and full-system acceptance are still open.
DEVLOG #39 All four receivers finally made it through a full 30-minute CSI run together. RX1, RX3 and RX4 are now on C1, while RX2 stays on C. Each delivered around 17–20 matching frames per second, and 99.61% of the shared measurement windows passed the CSI checks. The RX1↔RX4 peer firmware and recording workflow are also implemented and tested offline now. The actual radio comparison hasn’t happened yet, so I still don’t know whether those extra links will improve positioning. One annoying bug kept rejecting good data after a 128→64→128 format change. That’s fixed in the offline analysis, along with separate format rules for TX1 and peer links and a recorder completion check. I also added RX and radar exports that keep raw data, timing and recording boundaries together. That path works in offline tests; it isn’t a new live hardware result. Next: check both mmWave sensors individually and then together at known points. The shared CSI run is a milestone, but tracking and full-system acceptance are still open.
DEVLOG #40 I cut the recording footprint from 4.54 to 2.67 GB in the full synthetic test, about 41% less. The saving comes mainly from removing duplicate exports, not throwing away raw data or evidence. I also corrected timing and CSI rate-limit bugs offline, plus a cleanup issue that could prevent the recorder from stopping its own processes when disk space got tight. The frustrating part is that the peer comparison still hasn’t recorded anything. One attempt stopped on the timing bug, after that was fixed, the next hit a missing signing key during host startup. No peer firmware was uploaded and no capture started in either attempt. Next: fix host startup and prepare a separate 35-minute pilot. The actual peer comparison and tracking acceptance are still open.
DEVLOG #41 RX1 finally passed a full three-minute TX1→RX1 test. 6,407 qualified CSI frames, around 35.6 per second, and all 173 measurement windows passed. The firmware had been rejecting our setup because TX1 is also the Wi-Fi access point. That’s corrected and installed now. SOS is the warning for missing or stale usable CSI from TX1. It doesn’t automatically mean the board is broken. Ironically, the warning itself had a bug, RX1 reported stale data even though a matching frame had arrived just 8.7 milliseconds earlier. A timing race between the LED task and CSI reception caused the false alarm. The fix is built and tested offline, but isn’t installed yet. Host startup and recording also work now. RX2 is still a problem, though: its upload timed out while CSI kept arriving, and the cause isn’t confirmed. Next: install and verify the LED fix on RX1 before continuing with the other receivers. The actual two-way peer comparison and tracking acceptance are still open.
DEVLOG #42 RX3 and RX4 have passed their individual checks on the latest firmware. A complete OTA update, the LED pattern test and ten minutes of stability monitoring each, with no errors recorded. The false SOS warning on RX1 is also fixed and verified on the board now. I corrected concurrent access in the shared UDP sender and transport statistics, too. Those are real software fixes, but I still can’t claim they explain the original RX3 heap corruption or watchdog resets. I also improved CAD profile handling. Profiles can use a separate store, the UI shows which revision is loaded, and refreshing no longer overwrites unsaved edits or brings back an older saved version. The rollout isn’t finished, though. The next RX1 update stopped because its device identity couldn’t be confirmed, so RX2’s update to this latest version hasn’t started either. Next: resolve that binding, finish updating RX1 and RX2, then move on to the actual two-way peer comparison. Tracking acceptance is still open....
|
1792572487.707279
|
1793177287.707279
|
|
19818
|
Circuitel by @Thepdi | Stardance
|
Thepdi
|
0
|
70.94
|
0
|
[]
|
[{"post_id": 80710, "ts": "202 [{"post_id": 80710, "ts": "2026-10-18T16:14:29Z", "hours": 10.1894, "text": "I made the mobile view, the website is responsive now! I started the live notifs part, added the reset password feature, and only need to add the angular part for the live notifs to work, and then design them! Next week most likely the project will be pushed to production!"}, {"post_id": 77932, "ts": "2026-10-08T20:39:07Z", "hours": 9.6656, "text": "I have worked on the overall design and added the circuit time form, you now can add record times to any circuit based on a car! Still need to add some things on the display part, and resolve live notifs and the admin dashboard. Getting there!"}, {"post_id": 75976, "ts": "2026-10-01T19:56:51Z", "hours": 10.9531, "text": "I started designing the front-end, added pagination and search on /circuits and on /cars, will stick a bit on the design part, then get to add circuit time, leaderbord of friends, live notifs, and the symfony admin dashboard"}, {"post_id": 72797, "ts": "2026-09-23T19:12:04Z", "hours": 9.9614, "text": "Created the add car feature, update car feature & everything that has a relation with the friend requests. I know get along way more with Angular, and get a little bit of happiness from it, still a lot to learn."}, {"post_id": 68858, "ts": "2026-09-15T21:46:44Z", "hours": 12.3469, "text": "Started developing the angular part, it’s cruel, I got so many errors, and also the learning path I think is at like 85 degrees, anyways I think at least the profile part is done(without symfony tests), nothing pretty still"}, {"post_id": 65049, "ts": "2026-09-09T21:39:15Z", "hours": 13.1917, "text": "I worked so much on the API side, I added the CarController, ProfileController, ResetPassword feature, and all type of things, but most important the login request-response works, the user is authenticated and the refresh-token works. Still a lot to do, like write tests, the overall design, and most of the angular part:))))"}, {"post_id": 58461, "ts": "2026-08-30T21:34:15Z", "hours": 4.6281, "text": "Hello, this is an time circuit tracker app, it is based on Symfony as the REST API and on Angular as the SPA, it will save a users track time. It will many cool features like JWT auth, private chats between friends, and many more. I will do my best, because I want this app to check all the points for a php junior job. Have a nice day! Will keep up with updates."}]...
|
Title: Circuitel by @Thepdi | Stardance
Devlogs:
Title: Circuitel by @Thepdi | Stardance
Devlogs:
Hello, this is an time circuit tracker app, it is based on Symfony as the REST API and on Angular as the SPA, it will save a users track time. It will many cool features like JWT auth, private chats between friends, and many more. I will do my best, because I want this app to check all the points for a php junior job. Have a nice day! Will keep up with updates.
I worked so much on the API side, I added the CarController, ProfileController, ResetPassword feature, and all type of things, but most important the login request-response works, the user is authenticated and the refresh-token works. Still a lot to do, like write tests, the overall design, and most of the angular part:))))
Started developing the angular part, it’s cruel, I got so many errors, and also the learning path I think is at like 85 degrees, anyways I think at least the profile part is done(without symfony tests), nothing pretty still
Created the add car feature, update car feature & everything that has a relation with the friend requests. I know get along way more with Angular, and get a little bit of happiness from it, still a lot to learn.
I started designing the front-end, added pagination and search on /circuits and on /cars, will stick a bit on the design part, then get to add circuit time, leaderbord of friends, live notifs, and the symfony admin dashboard
I have worked on the overall design and added the circuit time form, you now can add record times to any circuit based on a car! Still need to add some things on the display part, and resolve live notifs and the admin dashboard. Getting there!
I made the mobile view, the website is responsive now! I started the live notifs part, added the reset password feature, and only need to add the angular part for the live notifs to work, and then design them! Next week most likely the project will be pushed to production!...
|
1792515242.2512953
|
1793120042.2512953
|
|
69586
|
Cosmic Grounds by @AuraMonster | Stardance
|
AuraMonster
|
0
|
5.36
|
0
|
[]
|
[{"post_id": 80712, "ts": "202 [{"post_id": 80712, "ts": "2026-10-18T16:15:45Z", "hours": 5.3603, "text": "First Devlog for Cosmic Grounds What is Cosmic Grounds? Cosmic grounds is a battlegrounds game on Roblox. Inspiration was taken from Jujutsu Shenanigans (JJS), The Strongest Battlegrounds (TSB), and Jump Showdown (JSD) IMPORTANT NOTE: I was able to finish most major mechanisms in a couple weeks because I brought in old code from a scrapped battlegrounds game Current Characters Planned on Release: Mash from Mashle Trafalgar D. Water Law from One Piece Planned future Characters (Subject to change and will come in a later update): Ichigo from Bleach Ken Kaneki from Tokyo Ghoul Sanji From One Piece Aizen From Bleach (most likely obtainable via boss fight) Luffy from One Piece New Features: Hitboxes Character Select Move cooldown Ultimate Drain/Gain M1 Character Module In Progress: Ragdoll System Future Features (Subject to change): Animations Cinematic Trailer Admin Features Moves"}]...
|
Title: Cosmic Grounds by @AuraMonster | Stardance
Title: Cosmic Grounds by @AuraMonster | Stardance
Devlogs:
First Devlog for Cosmic Grounds What is Cosmic Grounds? Cosmic grounds is a battlegrounds game on Roblox. Inspiration was taken from Jujutsu Shenanigans (JJS), The Strongest Battlegrounds (TSB), and Jump Showdown (JSD) IMPORTANT NOTE: I was able to finish most major mechanisms in a couple weeks because I brought in old code from a scrapped battlegrounds game Current Characters Planned on Release: Mash from Mashle Trafalgar D. Water Law from One Piece Planned future Characters (Subject to change and will come in a later update): Ichigo from Bleach Ken Kaneki from Tokyo Ghoul Sanji From One Piece Aizen From Bleach (most likely obtainable via boss fight) Luffy from One Piece New Features: Hitboxes Character Select Move cooldown Ultimate Drain/Gain M1 Character Module In Progress: Ragdoll System Future Features (Subject to change): Animations Cinematic Trailer Admin Features Moves...
|
1792857165.557198
|
1793461965.557198
|
|
27590
|
arnav-hackpad by @arnavshah100 | Stardance
|
arnavshah100
|
0
|
17.26
|
0
|
[]
|
[{"post_id": 80714, "ts": "202 [{"post_id": 80714, "ts": "2026-10-18T16:22:14Z", "hours": 0.9506, "text": "I have built and finished my macropad! I made many changes to make the hackpad work, like adding pull up resistors, and reworking the code from the beginning. Now, I have a functional macropad, and have added 2 layers! My README was also drastically changed, as the file is a lot bigger. Some changes in the CAD files made the cable easier to fit, and the design of the plate was changed. I added a video of the hackpad working IRL. Now, I feel more comfortable with PCBs, coding, and 3-D printing. This was a great learning experience!"}, {"post_id": 41372, "ts": "2026-08-05T15:22:34Z", "hours": 3.7283, "text": "I finished creating my ReadMe! It has an intro, a not too long or short description of all the parts of the hackpad, a how to make it part, lots of links, and lots of pictures!"}, {"post_id": 36688, "ts": "2026-07-28T22:08:41Z", "hours": 2.5178, "text": "I finished making all my CAD files, and I put everything in Github! I added a USB-C cutout on the bottom part of the hackpad, and put a design on the plate. I also put everything together in an assembly file. I finally finished!"}, {"post_id": 32538, "ts": "2026-07-21T19:45:36Z", "hours": 1.0936, "text": "I finished the firmware for the hackpad! All the rotary encoders and key switches are coded in KMK because QMK doesn’t have direct integration with PCF8574 expanders. Finally, I have to double-check my work and put it all on Github. I put a screenshot of part of my code below."}, {"post_id": 27238, "ts": "2026-07-12T17:01:03Z", "hours": 3.7447, "text": "I finished the case of the macropad! To make it in a top mount layout, I included 3 parts: the plate, the bottom part, and the top part. Next, I will create the firmware."}, {"post_id": 23198, "ts": "2026-07-06T00:50:51Z", "hours": 2.6361, "text": "I finished my PCB design! After a lot of messy wiring, I have a board that has the main components laid put exactly as I planned. The DRC still throws “Silkscreen clipped by solder mask” errors, but I don’t think anything of the functionality of the board is still broken. I will now move on to making the case of the board."}, {"post_id": 21919, "ts": "2026-07-04T03:14:42Z", "hours": 1.2172, "text": "I finished my schematic. I used matrix wiring for 10 keys and added 2 rotary encoders with switches. I used a 8-bit I/O expander to fit all the global tags."}, {"post_id": 19552, "ts": "2026-06-30T21:34:44Z", "hours": 1.3725, "text": "I followed all the instructions for the HackPad. I forgot to log me making the PCB, so a lot of my time wasn’t logged. Also, it took me a long time to figure out how to navigate through KiCad and Fusion. In the end, I was able to make a PCB board and case that are almost identical to the one in the instructions. Now, I will make my own customizations to the PCB board and case."}]...
|
Title: arnav-hackpad by @arnavshah100 | Stardance
Title: arnav-hackpad by @arnavshah100 | Stardance
Devlogs:
I followed all the instructions for the HackPad. I forgot to log me making the PCB, so a lot of my time wasn’t logged. Also, it took me a long time to figure out how to navigate through KiCad and Fusion. In the end, I was able to make a PCB board and case that are almost identical to the one in the instructions. Now, I will make my own customizations to the PCB board and case.
I finished my schematic. I used matrix wiring for 10 keys and added 2 rotary encoders with switches. I used a 8-bit I/O expander to fit all the global tags.
I finished my PCB design! After a lot of messy wiring, I have a board that has the main components laid put exactly as I planned. The DRC still throws “Silkscreen clipped by solder mask” errors, but I don’t think anything of the functionality of the board is still broken. I will now move on to making the case of the board.
I finished the case of the macropad! To make it in a top mount layout, I included 3 parts: the plate, the bottom part, and the top part. Next, I will create the firmware.
I finished the firmware for the hackpad! All the rotary encoders and key switches are coded in KMK because QMK doesn’t have direct integration with PCF8574 expanders. Finally, I have to double-check my work and put it all on Github. I put a screenshot of part of my code below.
I finished making all my CAD files, and I put everything in Github! I added a USB-C cutout on the bottom part of the hackpad, and put a design on the plate. I also put everything together in an assembly file. I finally finished!
I finished creating my ReadMe! It has an intro, a not too long or short description of all the parts of the hackpad, a how to make it part, lots of links, and lots of pictures!
I have built and finished my macropad! I made many changes to make the hackpad work, like adding pull up resistors, and reworking the code from the beginning. Now, I have a functional macropad, and have added 2 layers! My README was also drastically changed, as the file is a lot bigger. Some changes in the CAD files made the cable easier to fit, and the design of the plate was changed. I added a video of the hackpad working IRL. Now, I feel more comfortable with PCBs, coding, and 3-D printing. This was a great learning experience!...
|
1792590634.0155666
|
1793195434.0155666
|
|
69155
|
Dreamland by @luxi | Stardance
|
luxi
|
0
|
13.28
|
0
|
[]
|
[{"post_id": 80715, "ts": "202 [{"post_id": 80715, "ts": "2026-10-18T16:22:51Z", "hours": 8.2228, "text": "I’ve implemented the first version of GPU meshing and meshlet generation. It’s about 20 times faster than what my CPU can do (I have an rx 9070 and a 5950x) Also I don’t need to upload all the data so it’s even faster there (it was also quite slow to do) Of course, we are comparing an algorithm I tinkered and worked on for months to the GPU version which I just finished, so it’s completely unfair, as the CPU also can utilize more tricks with chunk generation skipping etc… using data that the GPU currently doesn’t yet have"}, {"post_id": 79166, "ts": "2026-10-12T21:05:54Z", "hours": 5.0619, "text": "I am continuing work on my main project, it’s a voxel engine utilizing virtualized geometry and splatting. It’s software rasterized but uses hardware rasterization in some cases. I’ve implemented clouds using raymarching and secondary lights. Currently the light is accelerated using only chunks. Nothing fancy yet but it’s a start"}]...
|
Title: Dreamland by @luxi | Stardance
Devlogs:
I Title: Dreamland by @luxi | Stardance
Devlogs:
I am continuing work on my main project, it’s a voxel engine utilizing virtualized geometry and splatting. It’s software rasterized but uses hardware rasterization in some cases. I’ve implemented clouds using raymarching and secondary lights. Currently the light is accelerated using only chunks. Nothing fancy yet but it’s a start
I’ve implemented the first version of GPU meshing and meshlet generation. It’s about 20 times faster than what my CPU can do (I have an rx 9070 and a 5950x) Also I don’t need to upload all the data so it’s even faster there (it was also quite slow to do) Of course, we are comparing an algorithm I tinkered and worked on for months to the GPU version which I just finished, so it’s completely unfair, as the CPU also can utilize more tricks with chunk generation skipping etc… using data that the GPU currently doesn’t yet have...
|
1792475693.8352475
|
1793080493.8352475
|
|
70372
|
Tycoon game by @centcoder | Stardance
|
centcoder
|
0
|
5.46
|
0
|
[]
|
[{"post_id": 80716, "ts": "202 [{"post_id": 80716, "ts": "2026-10-18T16:25:56Z", "hours": 5.4614, "text": "I finished the html (the bugs, at least for now) and currently working on the js and css"}]...
|
Title: Tycoon game by @centcoder | Stardance
Devl Title: Tycoon game by @centcoder | Stardance
Devlogs:
I finished the html (the bugs, at least for now) and currently working on the js and css...
|
1792342025.720922
|
1792946825.720922
|
|
44724
|
My awesome macropad! by @warda_nyshea | Stardance
|
warda_nyshea
|
0
|
27.11
|
0
|
[]
|
[{"post_id": 80719, "ts": "202 [{"post_id": 80719, "ts": "2026-10-18T16:39:03Z", "hours": 5.3508, "text": "design for macropod"}, {"post_id": 75135, "ts": "2026-09-29T08:07:23Z", "hours": 6.3336, "text": "Finally made the the base"}, {"post_id": 74933, "ts": "2026-09-28T16:51:25Z", "hours": 3.0336, "text": "Trying to figure out case design"}, {"post_id": 74053, "ts": "2026-09-26T16:26:45Z", "hours": 4.1503, "text": "pbc done"}, {"post_id": 73770, "ts": "2026-09-25T22:10:38Z", "hours": 6.0953, "text": "Learning pcb design"}, {"post_id": 71813, "ts": "2026-09-21T16:20:25Z", "hours": 2.1486, "text": "Learning about how keyboards work and how to design pbc"}]...
|
Title: My awesome macropad! by @warda_nyshea | Sta Title: My awesome macropad! by @warda_nyshea | Stardance
Devlogs:
Learning about how keyboards work and how to design pbc
Learning pcb design
pbc done
Trying to figure out case design
Finally made the the base
design for macropod...
|
1792597822.6555586
|
1793202622.6555586
|
|
46371
|
Let down your hair by @airinazaria_h_putri | Stard Let down your hair by @airinazaria_h_putri | Stardance...
|
airinazaria_h_putri
|
0
|
29.9
|
0
|
[]
|
[{"post_id": 80725, "ts": "202 [{"post_id": 80725, "ts": "2026-10-18T16:48:35Z", "hours": 2.8517, "text": "i’m still working on mini games, now i’ve done making games like, jumping game and fireplace game (for bedroom) next, i want to add library game where the player needs to be quiet."}, {"post_id": 80306, "ts": "2026-10-17T06:35:57Z", "hours": 1.8267, "text": "So now i’m making maze game, not related to the plot tho, and it’s just a simple maze game that player can randomized it each time they played"}, {"post_id": 80188, "ts": "2026-10-16T16:55:44Z", "hours": 2.4786, "text": "Because stardance getting extended, i intend to add more minigames for player to explore. So i change the code for unlocked places. I also cut the ending to be more short."}, {"post_id": 75157, "ts": "2026-09-29T09:54:50Z", "hours": 1.5003, "text": "Now i’m making more scene such as library scene, dress-up scene.. and connecting them with dialogic"}, {"post_id": 74327, "ts": "2026-09-27T05:35:53Z", "hours": 1.8814, "text": "My first idea was to make every object in some areas interactive, and add some minigames too. But since I’m running out of time, I’ll focus on the main story for now. Hopefully, I can keep adding more minigames later! For now, I’m just using a placeholder that says the object is locked. Lol"}, {"post_id": 74104, "ts": "2026-09-26T18:01:22Z", "hours": 1.6031, "text": "Almost done… I just need to add info, and fixing dialogic problem"}, {"post_id": 71292, "ts": "2026-09-20T16:11:06Z", "hours": 1.0611, "text": "Finally fixed the save & load system! I changed the flow so that the game pauses first, then the player can choose to go back, return to the home screen, or save the scene. The problem now is that it can’t display a screenshot of the current progress…"}, {"post_id": 68999, "ts": "2026-09-16T06:03:39Z", "hours": 1.3861, "text": "Trying to fix save & load scene"}, {"post_id": 44593, "ts": "2026-08-10T13:42:52Z", "hours": 15.3064, "text": "I edited this devlog. So, i just realized that 15hours of code and the desc just saying ; work on the mini game is such a crime. And to make it more worse, i wrote my first commit ; making UI and logic… So i’ll try make it more spesific of what i do.. ( i hope it’s not late to do this) I’m making scenes that i wanted such as ; home.tscn and main.tscn I also making the rough mini games (some of it already can be played, but the button and everything still bad) the minigames ; painting game = just drawing & sketching can game = the player aiming for can to be falling crane game = well, yeah.. like the usual crane game shooting game = shooting doll to winning I also try making save & load (but at that time, it doesn’t work like i wanted too) So yeah, that’s what i was doing in 15h, actually this project was made for another ysws, but i can’t done it sooner, so i add this to stardance, and i have like 10 devlogs there, but not push it to github.. (I JUST KNOW THAT IT WAS BAD A COUPLE DAYS AGO) so for now i’ll be more spesific at telling what i do, and commit push."}]...
|
Title: Let down your hair by @airinazaria_h_putri Title: Let down your hair by @airinazaria_h_putri | Stardance
Devlogs:
I edited this devlog. So, i just realized that 15hours of code and the desc just saying ; work on the mini game is such a crime. And to make it more worse, i wrote my first commit ; making UI and logic… So i’ll try make it more spesific of what i do.. ( i hope it’s not late to do this) I’m making scenes that i wanted such as ; home.tscn and main.tscn I also making the rough mini games (some of it already can be played, but the button and everything still bad) the minigames ; painting game = just drawing & sketching can game = the player aiming for can to be falling crane game = well, yeah.. like the usual crane game shooting game = shooting doll to winning I also try making save & load (but at that time, it doesn’t work like i wanted too) So yeah, that’s what i was doing in 15h, actually this project was made for another ysws, but i can’t done it sooner, so i add this to stardance, and i have like 10 devlogs there, but not push it to github.. (I JUST KNOW THAT IT WAS BAD A COUPLE DAYS AGO) so for now i’ll be more spesific at telling what i do, and commit push.
Trying to fix save & load scene
Finally fixed the save & load system! I changed the flow so that the game pauses first, then the player can choose to go back, return to the home screen, or save the scene. The problem now is that it can’t display a screenshot of the current progress…
Almost done… I just need to add info, and fixing dialogic problem
My first idea was to make every object in some areas interactive, and add some minigames too. But since I’m running out of time, I’ll focus on the main story for now. Hopefully, I can keep adding more minigames later! For now, I’m just using a placeholder that says the object is locked. Lol
Now i’m making more scene such as library scene, dress-up scene.. and connecting them with dialogic
Because stardance getting extended, i intend to add more minigames for player to explore. So i change the code for unlocked places. I also cut the ending to be more short.
So now i’m making maze game, not related to the plot tho, and it’s just a simple maze game that player can randomized it each time they played
i’m still working on mini games, now i’ve done making games like, jumping game and fireplace game (for bedroom) next, i want to add library game where the player needs to be quiet....
|
1792662638.4410386
|
1793267438.4410386
|
|
34953
|
Ultimate Mob Farms by @OffsetMonkey538 | Stardance
|
OffsetMonkey538
|
1
|
139.24
|
2678
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T13:59:43Z", "hours": 125.0, "multiplier": 18.99, "payout": 2678, "blessing": "neutral", "text": "This is a Minecraft mod for making mob farms, something similar to for example Mob Grinding Utils. It features item and xp collection, entity movement, spawner relocation and crafting, single block mob farms and some other stuff. Honestly, I’m quite proud just over the fact that I finally did finish this project (or at least got it to the point of being comfortable releasing it publically) and it’s hard to choose any specific features, but here I go… I do really like how the particle effects for the soul fan turned out, they’re quite satisfying imo. This is kind of unrelated to the mod, but I’m also proud of having helped out with the development of RRV, the recipe viewer mod I added compat with. While adding support for it in this mod, I noticed some bugs and crashes and stuff, which I PRed fixes for. It’s a bigger project with many complex things, so coming up with a list of all the things I found hard or took a lot of time and explaining all of them would probably go over whatever character limit this text box has lol. One thing that was a big PITA was the compact mob farm inventory. The original implementation I wrote was just… completely wrong, so I had to rewrite it. Then later I realized I overlooked like the most important part of the item transfer api (transactions, which are used for rolling back changes and stuff) so I had to rewrite it again, and then after that I rewrote quite a bit of it one more time because, after the last rewrite, I had accidentally made it possible for other blocks to insert into the inventory, which isn’t something I wanted as that seems quite OP. Another thing that comes to mind is figuring out the code for the soul fan’s range based on upgrades and strength at a given distance. The problem was that the coordinate you have to increase/decrease depends on the orientation of the block, so as an example, the depth upgrade would need to increase the Y pos when the block is placed pointing up and decrease it when pointing down, the X pos when facing north/south and the Z pos when facing east/west. For pushing the entities, I had to find the coordinates of the middle of the face the block is pointing, and add/subtract the correct coordinate to get the range in the depth direction, and then find the distance between each entity currently in range and the fan in just that plane for calculating the strength. For people testing out the project, I definitely do recommend also installing the Reliable Recipe Viewer (RRV) and Item Description mods", "repo": "https://git.offsetmonkey538.top/OffsetMods538/Ultimate-Mob-Farms", "demo": "https://modrinth.com/mod/ultimate-mob-farms"}]...
|
[{"post_id": 80728, "ts": "202 [{"post_id": 80728, "ts": "2026-10-18T17:03:06Z", "hours": 1.5967, "text": "Started working on setting up a docs page for the mod. Mainly want it for explaining the data driven configuration, but having full pages to give more detailed explanations of the different features is also probably a nice touch. Made a new icon for the mod as well, it’s pretty much the same but higher res because the 256x256 one looked weird on the docs page. The docs are done using Starlight like all my other docs pages (see those here ) and lives at https://ultimate-mob-farms.docs.cursedmods.com/ and on the docs/master branch in the repo Currently it’s just the landing page, but it’ll have more stuff soon enough"}, {"post_id": 79375, "ts": "2026-10-13T18:29:39Z", "hours": 3.9611, "text": "Added an RRV screen showing what items can be acquired from the Compact Mob Farm. Shows the entity, the items it drops and the required tier upgrade level. Hoping this also helps with confusion on how stuff works"}, {"post_id": 76204, "ts": "2026-10-02T17:34:45Z", "hours": 2.1567, "text": "Added a progress bar to the Compact Mob Farm GUI that hopefully makes it much easier to understand when it’ll damage the entity and it doesn’t look like it’s just doing nothing lol, especially with the 30 second default time"}, {"post_id": 75664, "ts": "2026-09-30T17:54:02Z", "hours": 6.5264, "text": "Waow that’s quite a bit of stardust 😅 Quite happy with this project and the ratings it got on the first ship :D (except the one that accused my devlogs of being written by ai… My writing is not that bad, right? ) I noticed in the shipwrights’ review video that how upgrades work is not very obvious, they were trying to put a tier upgrade into a soul fan, which only accepts width, height and depth upgrades. It was mentioned in ratings that stuff is a bit hard to figure out in the beginning as well. So to fix that, I added some silhouettes of the supported upgrades shown in the slots and also a hover tooltip saying what’s supported. Oh and i’ve also added 26.3 support now"}, {"post_id": 70575, "ts": "2026-09-19T11:52:49Z", "hours": 7.4719, "text": "School starting with september really hit my productivity on this mod like a truck I am realizing the deadline for stardance is getting real close, so I think this is probably the point where I’ll have to ship it. There are still some TODOs in the code and bugs that need to be squashed and porting to 26.3 (which released like this week, thanks mojang ) and so I haven’t been comfortable marking the latest release as 1.0.0 yet or making announcements elsewhere, but the mod is now perfectly usable and I like where it is. Changes since last devblog: 26.2 support Injecting some items into vanilla loot chests Advancements 26.2 wasn’t actually as painful as I thought it’d be, which was a nice surprise. Adding advancements was a bit more of a pain with 26.2 support though as I needed custom criteria for some of the advancements (one for putting a soul gem in the compact mob farm and another for using a soul gem on a spawner) and Mojang, in their infinite wisdom, decided to move a bunch of advancement stuff around in 26.2."}, {"post_id": 62252, "ts": "2026-09-05T15:04:19Z", "hours": 6.3956, "text": "Getting closer and closer to the actual release… could this be the last devblog before that? Still not quite 100% about if the required kills for each mob are balanced, but it’s probably good enough. Definitely better than everything being 10 kills tho. Felt very off-balance when withers, which are hard to spawn and hard to kill, and pigs, which are just everywhere, required the same amount of kills to capture. Notable changes: Show soul capturing recipe in rrv when checking usages of spawn eggs Show tooltip with entity name when hovering entity in soul capturing rrv recipe Add item descriptions Fix being able to insert items into the compact mob farm inventory Make amount of kills required for capturing an entity different per entity. Update compact mob farm recipe (now uses soul spikes in the middle instead of stone bricks) Store soul gem colors as hex strings in entity tiers config. Much more understandable and easier to manually change the overrides config or whatever Make built-in packs use the mod icon using a mixin instead of copying the icon into the packs. This shaves like 80kb off the final jar which is quite a bit of unnecessary duplicate crap Remove some log spam that was for debugging"}, {"post_id": 59802, "ts": "2026-09-01T19:04:17Z", "hours": 2.5989, "text": "checking the recipe for a specific soul gem now only shows that specific entity instead of all soul capturing recipes soul capturing recipe now shows up before the duplication recipe soul gems can now be searched by the name of the entity they contain fix compact mob farm gui not rendering vanilla background overlay allow filling soul gem when held in the main hand fix dedicated server crashing Running in a dedicated server would crash because there are quite a few places where I referenced client-only classes in places that the jvm will load on the dedicated server as well. Mostly in the different block entity classes, where I had a clientTick method that had ClientLevel as one of it’s parameters. Even though that method would never get called on the dedicated server, java still wants it to exist when loading the class because it’s part of a method’s definition. My current solution is very very awful… I moved those things into methods in the client initializer and… well… yeah… it just looks and is awful: https://git.offsetmonkey538.top/OffsetMods538/Ultimate-Mob-Farms/src/commit/0.0.7/modded/src/main/java/top/offsetmonkey538/ultimatemobfarms/modded/UltimateMobFarmsModdedClient.java#L65 The real, foolproof solution would be using the split sources feature of loom, which creates a second source set and makes the main source set unable to access client classes. Only problem is that it’d be a bit annoying to fully get set up in my multiloader-version gradle system and would most definitely need many changes on MonkeyLib538 as well and I just am not up for doing that atm."}, {"post_id": 58874, "ts": "2026-08-31T13:27:24Z", "hours": 8.6083, "text": "Fixed compact mob farm inventory not working correctly and being incompatible with other mods’ item movement stuff. The whole point of the transfer API on both fabric and neoforge is the transaction system, where each change must store a snapshot that can be returned to if needed; Turns out ignoring the TransactionContext and not saving any snapshots is a bad idea 😅 I’ve tested and it’s compatible with create fly (see screenshot where a compact mob farm with a blaze is being used to feed a blaze burner for a steam engine) and most probably other mods as well. Added Reliable Recipe Viewer integration that explains soul capturing"}, {"post_id": 54946, "ts": "2026-08-26T11:20:57Z", "hours": 7.2406, "text": "Bunch of refactoring, bug fixes, balancing, etc. Release notes can be seen on the forgejo release or on modrinth, I’m not gonna copy paste em here (this is version 0.0.5 right now) It is now actually reviewed on Modrinth, took two weeks for that to happen (Gosh I remember when review times were like less than 24 hours ). I’m still keeping it unlisted until I get a 1.0.0 release out, but if anyone wants to check it out and share feedback or anything, then it’s right over here: https://modrinth.com/mod/ultimate-mob-farms Before a v1, I still need better rrv and item descriptions integration, some more balancing changes, advancements, quite a few bugfixes and probably some other stuff I’m forgetting at the moment."}, {"post_id": 50153, "ts": "2026-08-19T08:08:41Z", "hours": 2.3531, "text": "Made soul fans placed at different locations use a different starting frame offset, so they don’t all look the same (see before and after videos). The way this is implemented is a bit interesting… There’s no easy “use this model but offset any texture’s animation by 1 frame” as afaik the frame index is global per texture. What Minecraft does allow is each block state variant actually being an array of variants that the game will choose between using afaik a hash derived from the block position. This is used in vanilla for things like stone and deepslate, which have mirrored and rotated variants so caves look less repetitive or whatever. As each texture has a global frame index, I am duplicating the soul fan texture and just changing the order of the frames in the accompanying animation metadata file and creating separate models which point to the different textures and then those models are used as variants in the blockstate. What’s even more fun is I am using datagen for duplicating the texture and creating the animation metadata files, which definitely isn’t concerning at all. This also required me to make a pull request to fabric api because the FabricCodecDataProvider assumes all files it generates are .json files, but animation metadata is .mcmeta. (The PR isn’t yet merged so I resorted to…. injecting a mixin into fabric api, definitely not cursed at all I swear)"}, {"post_id": 49673, "ts": "2026-08-18T15:46:30Z", "hours": 4.43, "text": "Added particle effects for soul fan. Figuring out where to spawn em was quite fun actually, though I did have to add a custom particle (reuses the vanilla “small gust” texture) because turns out most particles won’t obey the velocity you give them and just do their own thing, which was a bit annoying."}, {"post_id": 49138, "ts": "2026-08-17T19:28:11Z", "hours": 3.7422, "text": "Added range upgrades for the fan and collector blocks. It was a bit challenging figuring out actually extending the bounding box in the correct directions based on the block is facing, but I did get it working"}, {"post_id": 48767, "ts": "2026-08-17T09:17:16Z", "hours": 4.6397, "text": "Implemented functionality of the soul fan, getting the strength to scale based on distance was a bit of a pain cause i needed to get the position of the center of the face that the fan’s pointing in and only calculate the distance to the entity based on the correct axis cause otherwise giving it a larger range would make the farther to the side entities get pushed less and uhh yeah, took quite a bit of experimenting with stuff to get it to work correctly"}, {"post_id": 47706, "ts": "2026-08-15T19:55:20Z", "hours": 0.9575, "text": "Spent the last hour and a half faffing about with my loader abstraction in monkeylib (stardance only recorded an hour cause that’s technically a separate project) for creative tabs. All that just cause I really wanted the RRV stack group for the filled soul gems to show up next to the empty soul gem, instead of at the end of the list where it did previously"}, {"post_id": 47530, "ts": "2026-08-15T14:35:38Z", "hours": 3.0928, "text": "Spent a bunch of time on cleaning up some code and abstracting some things out of collector block classes to make it easier to add functionality of the soul fan later on, speaking of which! the soul fan is a block that exists in game now"}, {"post_id": 46880, "ts": "2026-08-14T12:46:12Z", "hours": 0.2881, "text": "Spent some time thinking about what I’m gonna do for the block that moves mobs around. I think I’ve decided on going with a basic “fan” type block and now started working on what it could look like. I’m imagining the souls kinda like escaping from the soul sand and also particles spawning and moving in the direction it’s pushing. As always I’m pretty bad at drawing textures, so the beginning here looks a bit crude, but it’s definitely a start. It’d be really nice if aseprite had a wakatime plugin…"}, {"post_id": 46845, "ts": "2026-08-14T11:27:58Z", "hours": 3.8683, "text": "Added the experience collector block, which obviously picks up xp orbs and turns em into bottles of enchanting. Kind of got so focused I forgot about making more detailed devlogs 😅"}, {"post_id": 46238, "ts": "2026-08-13T10:39:10Z", "hours": 3.695, "text": "Made the soul spikes actually deal extra fall damage when fell on. Current fall damage multiplier is at 5, not sure if that is too much or too little. The damage is done by a FakePlayer, so the mob will also drop loot that only drops from player kills, including experience orbs. (Seems like I need to add an XP Collector block in the future to deal with those). Oh and also did some boilerplate-ish things to soul spikes like adding a recipe, translation, etc Turns out minecraft decides that the block you fall on is the one that’s 0.2 blocks below you…. The model of the soul spikes (which i don’t really wanna change anymore) has the base at 3 pixels high, which makes it… 0.1875 block high 😮💨 Nothing that can’t be solved with a mixin to Entity#getOnPosLegacy that changes the BlockPos it returns if the the block above the “correct” block is soul spikes"}, {"post_id": 45189, "ts": "2026-08-11T14:44:28Z", "hours": 0.2731, "text": "Made an okay-ish texture for the soul spikes block (many of em at once looks kinda noisy but oh well, it’ll do. Hopefully it’ll be locked up in a farm killing chamber room anyway). Had to change the UV mapping again because for whatever reasons, minecraft decides to render a sliver of the neighboring pixel as well which looks super bad with two very contrasty colors next to each other. Solution was to move the blue parts to the bottom of the texture where there was room to have it separated by a row of blank pixels."}, {"post_id": 45107, "ts": "2026-08-11T11:51:36Z", "hours": 0.7186, "text": "Finished UV mapping the spikes…. this literally took like over an hour haha, sadly time spent in blockbench doesn’t count as it doesn’t have a plugin for wakatime or whatever :/ (the 43min this devlog logs was actually setting up oxipng to automatically run on every commit to optimize the png files) Next i guess will be to make an actual texture for it, yay. Here’s the super very interesting texture that currently just has all the different mapped sides in different colors"}, {"post_id": 44754, "ts": "2026-08-10T18:48:32Z", "hours": 2.0067, "text": "Started working on the soul spikes. First made a model for it, not sure if it’ll look good once I make a texture for the actual spikes part of it as well"}, {"post_id": 41521, "ts": "2026-08-05T19:39:30Z", "hours": 1.7181, "text": "Been doing some boring things like writing a description and making an icon and some miscellaneous fixes and whatnot as I actually think I want to get this in a state where I could send it in for review on modrinth. Otherwise if I sent it in once I was actually finished with the project, it probably wouldn’t get reviewed before stardance ends and then i’d have to tell people to download the mod from my git releases and that wouldn’t automatically tell em where to get dependencies and whatnot so yeah, want to get it in the queue asap. Here’s the icon I came up with btw"}, {"post_id": 40668, "ts": "2026-08-04T11:02:42Z", "hours": 2.4575, "text": "Added a texture and recipe to item collector, made it possible to disable it using redstone, made the sample collector only pick up items every 10 ticks."}, {"post_id": 39730, "ts": "2026-08-02T21:36:20Z", "hours": 1.855, "text": "Shift-right-clicking an item collector with an empty hand now shows its range. Drawing lines of particles between the correct corners for the outline took a bit of trial and error, also added a screenshot where it doesn’t look quite correct Also I’m not sure if the video from the previous devlog got uploaded correctly (my browser at least isn’t able to play it) so here it is again"}, {"post_id": 39564, "ts": "2026-08-02T16:40:59Z", "hours": 2.9042, "text": "Made item collector spawn a line of particles when picking up items Oh and also added compatibility to item collector with container blocks from other mods that use the fabric or neoforge transfer api instead of vanilla containers, more loader specific stuff, yay!"}, {"post_id": 38906, "ts": "2026-08-01T14:21:22Z", "hours": 1.0933, "text": "Implemented basic functionality of the item collector. Currently has a range of 2 blocks that it will pick things up from and put em straight into a connected inventory"}, {"post_id": 38761, "ts": "2026-08-01T10:08:52Z", "hours": 3.6756, "text": "Started work on adding the item collector, currently just got done with adding the block itself with some boilerplate stuff and a model. As the name suggests, it’ll be for picking up items in some range of it. Not quite sure if I want it to be a range all around the block, or maybe going outwards from the direction it’s facing? Also not yet quite sure if I want it to just put stuff into an internal inventory and require a hopper or something modded to pull out of it, or if it should act like a hopper pushing things out from the side it’s attached on"}, {"post_id": 37603, "ts": "2026-07-30T13:35:05Z", "hours": 1.1933, "text": "Received new textures and spent some time messing around in the mcmeta file for the animation timing. Looks quite good now. Also made the empty soul gem use the same texture, just with a soul light blue colors."}, {"post_id": 37190, "ts": "2026-07-29T18:31:37Z", "hours": 5.0456, "text": "Past while has been spent on fighting with gradle to extend my overly complicated setup ( monkeylogic, my gradle convention plugin ) and make it even more complicated allow adding dependencies from modrinth to projects. After that I could easily add RRV (Reliable Recipe Viewer) as a dependency and now lastly add integration with it. Currently I’ve got integration to the point of showing the custom duplication recipe, which is great"}, {"post_id": 35160, "ts": "2026-07-26T12:28:59Z", "hours": 2.7197, "text": "Finally fixed the soul gem duplication recipe, which was a bit of a pain to deal with… I initially went down a dumb rabbit hole of overcomplicating the matcher system when turns out having multiple of the same item in the recipe can easily be solved by storing a count for each ingredient instead of having multiple entries for them 😝"}, {"post_id": 34287, "ts": "2026-07-24T21:18:42Z", "hours": 2.5044, "text": "Made spawners craftable, made interacting with spawners using a filled soul gem set the entity in the spawner. Still not quite sure what to call the “filled” soul gem. One idea i had was to call it just a soul gem and call the not filled one an “Empty Soul Gem”, which is honestly a pretty good idea, but I’m not sure what to do when it’s in the process of being filled. Technically at that point it’s not empty , but maybe it’d be fine to call it that"}, {"post_id": 32839, "ts": "2026-07-22T07:47:33Z", "hours": 3.5317, "text": "Lots of fun stuff between this and the last devlog: Creative tab for filled soul gems now only contains supported ones (had to make creative tabs refresh when data is reloaded cause datapacks can change what’s supported) Removed the old SampleTakerItem and FilledSampleTakerItem classes and moved most logic to custom components or mixins. Soul gems can be filled by holding them in the off hand when killing the target entity ( https://imgur.com/a/Lz6PjZs ) Some optimizations"}, {"post_id": 32407, "ts": "2026-07-21T16:00:26Z", "hours": 1.9203, "text": "Optimized the EntityTiers lookup (which I mentioned I messed up last devlog) by using a map instead of a list, and it’s also now storing a reference to the Identifier instead of EntityType, so there’s less work converting between them for the packet codec (has to be sent as an Identifier (or, well, string) over the network) and also when doing some of the lookups (like from the tint provider, which has just the id by itself) Not sure what to put as the screenshot it requires me to add…. I guess have some prototypes of the new soul gem texture a person’s working on (the final shape will probably not be a perfectly round pearl)"}, {"post_id": 32271, "ts": "2026-07-21T10:39:38Z", "hours": 3.1261, "text": "Made “filled” soul gems have colors based on the entity they contain! (and also switched to a different (and probably even worse lmao) texture) The colors are the same as what spawn eggs used to have, thankfully the minecraft wiki has a list of what they all were before that was removed. Sadly I can’t steal the entity colors from vanilla anymore as that was removed in 1.21.5, so I had to add color fields to the entity tiers config and that messed with a lot of stuff and is a bit of a hit on performance when it’s not looping over stuff in weird ways as it’s a list of entries when it really should probably be a map… I’ll fix that i guess Also I know this texture is ass and someone a bit more talented in drawing is cooking up a new one which I’ll probably be able to show off in a few days. Question is… do I want the current one to show up when the vanilla programmer art pack is enabled or is that too embarrassing to show off?"}, {"post_id": 31810, "ts": "2026-07-20T14:25:41Z", "hours": 0.9456, "text": "Added recipes, translations, etc for soul essence and gem, removed spirit bottle, added recipe for spawner, made spawners drop with silk touch. Thanks to neoforge there have to be separate mixins for fabric and neo for disabling the xp drop when a spawner is broken with silk touch (would lead to infinite xp otherwise lol)…. if only neoforge was just fabric"}, {"post_id": 31751, "ts": "2026-07-20T12:04:50Z", "hours": 1.2917, "text": "Made soul essence drop from mobs killed on soul sand/soil. Also spawns fun particles! https://imgur.com/a/Qt5XxUI"}, {"post_id": 31695, "ts": "2026-07-20T09:44:19Z", "hours": 0.3378, "text": "So I’ve been doing some brainstorming and writing things down on paper (like a caveman) and have at least redesigned some of the features that already exist. Instead of a bottle of spirits that you get by right clicking a spawner, there’s going to be Soul Essence that you get by killing a mob while they’re standing on soul sand/soil. Instead of the Sample taker, there’s gonna be a soul gem crafted from a diamond and 4 soul essence that will be filled by holding it in your offhand while killing x amount of the target mob. Also thought of some recipes that I’m not gonna explain here rn. Sadly (or thankfully) I haven’t found a wakatime plugin for Aseprite, so nobody will know just how many hours I spent on the absolute trash textures I made for the soul gem and soul essence (I promise they’ll be better at some point maybe idk if I can do any better 😭 ). Soul essence just looks off somehow, and the soul gem looks like a duck spawn egg 😭 😭 😭 😭"}, {"post_id": 31122, "ts": "2026-07-19T08:32:28Z", "hours": 6.5108, "text": "It is now working on NeoForge as well! Getting the inventory to work with the neoforge transfer api was a bit of a pain, but I managed to get it to work! (Don’t mind the debug upgrades in the screenshot, they make it easier to test but dont have textures) Next up is uhh… some brainstorming and rethinking how the whole mod works and thinking about what’s in scope for this and what’s not: One thing I definitely want to add is a crafting recipe for spawners and making the sample takers (which will probably be renamed to something relating to souls and gems) usable as spawn eggs on spawners. I’m not quite sure if upgradeable spawners should be a part of this though as there’s already apotheosis for neoforge (and a port in the works for fabric) that does that and probably other mods as well. I also really wanted to add things for moving and killing mobs in the world, for which there are also already mods like Dark Utilities (got quite inspired by that) which afaik also is updated to the latest version and is for both fabric and neoforge…. Though it seems to have more random things unrelated to mob farming, and maybe it’d be fine if I really differentiate from it and other similar mods with the theme of this? Yeahhh this’ll need quite a bit more thinking."}, {"post_id": 28545, "ts": "2026-07-14T21:20:48Z", "hours": 2.0633, "text": "Finished getting everything out of :loader:fabric and into :modded that makes sense to move. The fabric subproject now only has 4 files, two of which are just the entrypoints that invoke the common initializer and the other two are using fabric api specific things and can’t be moved out without a lot of headache!"}, {"post_id": 28177, "ts": "2026-07-14T09:44:23Z", "hours": 0.2531, "text": "(the 15m were spent working on getting MenuProvider stuff out from fabric specific code and into the common modded subproject, butttt I’m making a post cause I wanna share…) Some funny screenshots from when I was porting from 1.21.1 to 26.1 (rendering changes here are a pain lol)"}, {"post_id": 28170, "ts": "2026-07-14T09:24:59Z", "hours": 17.9675, "text": "Just realized this is probably something I could submit to stardance as well 😅 Basically the initial idea was to have a mob farm contained in a single block. You craft a sample taker and have to click on 10 separate instances of an entity to get a filled sample of that entity. Then you put that into a Compact Mob Farm, turn it on, maybe give it some upgrades and a sword, and it’ll start farming the drops of the entity you took samples of. Here are some screenshots of what stuff looks like"}]...
|
Title: Ultimate Mob Farms by @OffsetMonkey538 | St Title: Ultimate Mob Farms by @OffsetMonkey538 | Stardance
Devlogs:
Just realized this is probably something I could submit to stardance as well 😅 Basically the initial idea was to have a mob farm contained in a single block. You craft a sample taker and have to click on 10 separate instances of an entity to get a filled sample of that entity. Then you put that into a Compact Mob Farm, turn it on, maybe give it some upgrades and a sword, and it’ll start farming the drops of the entity you took samples of. Here are some screenshots of what stuff looks like
(the 15m were spent working on getting MenuProvider stuff out from fabric specific code and into the common modded subproject, butttt I’m making a post cause I wanna share…) Some funny screenshots from when I was porting from 1.21.1 to 26.1 (rendering changes here are a pain lol)
Finished getting everything out of :loader:fabric and into :modded that makes sense to move. The fabric subproject now only has 4 files, two of which are just the entrypoints that invoke the common initializer and the other two are using fabric api specific things and can’t be moved out without a lot of headache!
It is now working on NeoForge as well! Getting the inventory to work with the neoforge transfer api was a bit of a pain, but I managed to get it to work! (Don’t mind the debug upgrades in the screenshot, they make it easier to test but dont have textures) Next up is uhh… some brainstorming and rethinking how the whole mod works and thinking about what’s in scope for this and what’s not: One thing I definitely want to add is a crafting recipe for spawners and making the sample takers (which will probably be renamed to something relating to souls and gems) usable as spawn eggs on spawners. I’m not quite sure if upgradeable spawners should be a part of this though as there’s already apotheosis for neoforge (and a port in the works for fabric) that does that and probably other mods as well. I also really wanted to add things for moving and killing mobs in the world, for which there are also already mods like Dark Utilities (got quite inspired by that) which afaik also is updated to the latest version and is for both fabric and neoforge…. Though it seems to have more random things unrelated to mob farming, and maybe it’d be fine if I really differentiate from it and other similar mods with the theme of this? Yeahhh this’ll need quite a bit more thinking.
So I’ve been doing some brainstorming and writing things down on paper (like a caveman) and have at least redesigned some of the features that already exist. Instead of a bottle of spirits that you get by right clicking a spawner, there’s going to be Soul Essence that you get by killing a mob while they’re standing on soul sand/soil. Instead of the Sample taker, there’s gonna be a soul gem crafted from a diamond and 4 soul essence that will be filled by holding it in your offhand while killing x amount of the target mob. Also thought of some recipes that I’m not gonna explain here rn. Sadly (or thankfully) I haven’t found a wakatime plugin for Aseprite, so nobody will know just how many hours I spent on the absolute trash textures I made for the soul gem and soul essence (I promise they’ll be better at some point maybe idk if I can do any better 😭 ). Soul essence just looks off somehow, and the soul gem looks like a duck spawn egg 😭 😭 😭 😭
Made soul essence drop from mobs killed on soul sand/soil. Also spawns fun particles! https://imgur.com/a/Qt5XxUI
Added recipes, translations, etc for soul essence and gem, removed spirit bottle, added recipe for spawner, made spawners drop with silk touch. Thanks to neoforge there have to be separate mixins for fabric and neo for disabling the xp drop when a spawner is broken with silk touch (would lead to infinite xp otherwise lol)…. if only neoforge was just fabric
Made “filled” soul gems have colors based on the entity they contain! (and also switched to a different (and probably even worse lmao) texture) The colors are the same as what spawn eggs used to have, thankfully the minecraft wiki has a list of what they all were before that was removed. Sadly I can’t steal the entity colors from vanilla anymore as that was removed in 1.21.5, so I had to add color fields to the entity tiers config and that messed with a lot of stuff and is a bit of a hit on performance when it’s not looping over stuff in weird ways as it’s a list of entries when it really should probably be a map… I’ll fix that i guess Also I know this texture is ass and someone a bit more talented in drawing is cooking up a new one which I’ll probably be able to show off in a few days. Question is… do I want the current one to show up when the vanilla programmer art pack is enabled or is that too embarrassing to show off?
Optimized the EntityTiers lookup (which I mentioned I messed up last devlog) by using a map instead of a list, and it’s also now storing a reference to the Identifier instead of EntityType, so there’s less work converting between them for the packet codec (has to be sent as an Identifier (or, well, string) over the network) and also when doing some of the lookups (like from the tint provider, which has just the id by itself) Not sure what to put as the screenshot it requires me to add…. I guess have some prototypes of the new soul gem texture a person’s working on (the final shape will probably not be a perfectly round pearl)
Lots of fun stuff between this and the last devlog: Creative tab for filled soul gems now only contains supported ones (had to make creative tabs refresh when data is reloaded cause datapacks can change what’s supported) Removed the old SampleTakerItem and FilledSampleTakerItem classes and moved most logic to custom components or mixins. Soul gems can be filled by holding them in the off hand when killing the target entity ( https://imgur.com/a/Lz6PjZs ) Some optimizations
Made spawners craftable, made interacting with spawners using a filled soul gem set the entity in the spawner. Still not quite sure what to call the “filled” soul gem. One idea i had was to call it just a soul gem and call the not filled one an “Empty Soul Gem”, which is honestly a pretty good idea, but I’m not sure what to do when it’s in the process of being filled. Technically at that point it’s not empty , but maybe it’d be fine to call it that
Finally fixed the soul gem duplication recipe, which was a bit of a pain to deal with… I initially went down a dumb rabbit hole of overcomplicating the matcher system when turns out having multiple of the same item in the recipe can easily be solved by storing a count for each ingredient instead of having multiple entries for them 😝
Past while has been spent on fighting with gradle to extend my overly complicated setup ( monkeylogic, my gradle convention plugin ) and make it even more complicated allow adding dependencies from modrinth to projects. After that I could easily add RRV (Reliable Recipe Viewer) as a dependency and now lastly add integration with it. Currently I’ve got integration to the point of showing the custom duplication recipe, which is great
Received new textures and spent some time messing around in the mcmeta file for the animation timing. Looks quite good now. Also made the empty soul gem use the same texture, just with a soul light blue colors.
Started work on adding the item collector, currently just got done with adding the block itself with some boilerplate stuff and a model. As the name suggests, it’ll be for picking up items in some range of it. Not quite sure if I want it to be a range all around the block, or maybe going outwards from the direction it’s facing? Also not yet quite sure if I want it to just put stuff into an internal inventory and require a hopper or something modded to pull out of it, or if it should act like a hopper pushing things out from the side it’s attached on
Implemented basic functionality of the item collector. Currently has a range of 2 blocks that it will pick things up from and put em straight into a connected inventory
Made item collector spawn a line of particles when picking up items Oh and also added compatibility to item collector with container blocks from other mods that use the fabric or neoforge transfer api instead of vanilla containers, more loader specific stuff, yay!
Shift-right-clicking an item collector with an empty hand now shows its range. Drawing lines of particles between the correct corners for the outline took a bit of trial and error, also added a screenshot where it doesn’t look quite correct Also I’m not sure if the video from the previous devlog got uploaded correctly (my browser at least isn’t able to play it) so here it is again
Added a texture and recipe to item collector, made it possible to disable it using redstone, made the sample collector only pick up items every 10 ticks.
Been doing some boring things like writing a description and making an icon and some miscellaneous fixes and whatnot as I actually think I want to get this in a state where I could send it in for review on modrinth. Otherwise if I sent it in once I was actually finished with the project, it probably wouldn’t get reviewed before stardance ends and then i’d have to tell people to download the mod from my git releases and that wouldn’t automatically tell em where to get dependencies and whatnot so yeah, want to get it in the queue asap. Here’s the icon I came up with btw
Started working on the soul spikes. First made a model for it, not sure if it’ll look good once I make a texture for the actual spikes part of it as well
Finished UV mapping the spikes…. this literally took like over an hour haha, sadly time spent in blockbench doesn’t count as it doesn’t have a plugin for wakatime or whatever :/ (the 43min this devlog logs was actually setting up oxipng to automatically run on every commit to optimize the png files) Next i guess will be to make an actual texture for it, yay. Here’s the super very interesting texture that currently just has all the different mapped sides in different colors
Made an okay-ish texture for the soul spikes block (many of em at once looks kinda noisy but oh well, it’ll do. Hopefully it’ll be locked up in a farm killing chamber room anyway). Had to change the UV mapping again because for whatever reasons, minecraft decides to render a sliver of the neighboring pixel as well which looks super bad with two very contrasty colors next to each other. Solution was to move the blue parts to the bottom of the texture where there was room to have it separated by a row of blank pixels.
Made the soul spikes actually deal extra fall damage when fell on. Current fall damage multiplier is at 5, not sure if that is too much or too little. The damage is done by a FakePlayer, so the mob will also drop loot that only drops from player kills, including experience orbs. (Seems like I need to add an XP Collector block in the future to deal with those). Oh and also did some boilerplate-ish things to soul spikes like adding a recipe, translation, etc Turns out minecraft decides that the block you fall on is the one that’s 0.2 blocks below you…. The model of the soul spikes (which i don’t really wanna change anymore) has the base at 3 pixels high, which makes it… 0.1875 block high 😮💨 Nothing that can’t be solved with a mixin to Entity#getOnPosLegacy that changes the BlockPos it returns if the the block above the “correct” block is soul spikes
Added the experience collector block, which obviously picks up xp orbs and turns em into bottles of enchanting. Kind of got so focused I forgot about making more detailed devlogs 😅
Spent some time thinking about what I’m gonna do for the block that moves mobs around. I think I’ve decided on going with a basic “fan” type block and now started working on what it could look like. I’m imagining the souls kinda like escaping from the soul sand and also particles spawning and moving in the direction it’s pushing. As always I’m pretty bad at drawing textures, so the beginning here looks a bit crude, but it’s definitely a start. It’d be really nice if aseprite had a wakatime plugin…
Spent a bunch of time on cleaning up some code and abstracting some things out of collector block classes to make it easier to add functionality of the soul fan later on, speaking of which! the soul fan is a block that exists in game now
Spent the last hour and a half faffing about with my loader abstraction in monkeylib (stardance only recorded an hour cause that’s technically a separate project) for creative tabs. All that just cause I really wanted the RRV stack group for the filled soul gems to show up next to the empty soul gem, instead of at the end of the list where it did previously
Implemented functionality of the soul fan, getting the strength to scale based on distance was a bit of a pain cause i needed to get the position of the center of the face that the fan’s pointing in and only calculate the distance to the entity based on the correct axis cause otherwise giving it a larger range would make the farther to the side entities get pushed less and uhh yeah, took quite a bit of experimenting with stuff to get it to work correctly
Added range upgrades for the fan and collector blocks. It was a bit challenging figuring out actually extending the bounding box in the correct directions based on the block is facing, but I did get it working
Added particle effects for soul fan. Figuring out where to spawn em was quite fun actually, though I did have to add a custom particle (reuses the vanilla “small gust” texture) because turns out most particles won’t obey the velocity you give them and just do their own thing, which was a bit annoying.
Made soul fans placed at different locations use a different starting frame offset, so they don’t all look the same (see before and after videos). The way this is implemented is a bit interesting… There’s no easy “use this model but offset any texture’s animation by 1 frame” as afaik the frame index is global per texture. What Minecraft does allow is each block state variant actually being an array of variants that the game will choose between using afaik a hash derived from the block position. This is used in vanilla for things like stone and deepslate, which have mirrored and rotated variants so caves look less repetitive or whatever. As each texture has a global frame index, I am duplicating the soul fan texture and just changing the order of the frames in the accompanying animation metadata file and creating separate models which point to the different textures and then those models are used as variants in the blockstate. What’s even more fun is I am using datagen for duplicating the texture and creating the animation metadata files, which definitely isn’t concerning at all. This also required me to make a pull request to fabric api because the FabricCodecDataProvider assumes all files it generates are .json files, but animation metadata is .mcmeta. (The PR isn’t yet merged so I resorted to…. injecting a mixin into fabric api, definitely not cursed at all I swear)
Bunch of refactoring, bug fixes, balancing, etc. Release notes can be seen on the forgejo release or on modrinth, I’m not gonna copy paste em here (this is version 0.0.5 right now) It is now actually reviewed on Modrinth, took two weeks for that to happen (Gosh I remember when review times were like less than 24 hours ). I’m still keeping it unlisted until I get a 1.0.0 release out, but if anyone wants to check it out and share feedback or anything, then it’s right over here: https://modrinth.com/mod/ultimate-mob-farms Before a v1, I still need better rrv and item descriptions integration, some more balancing changes, advancements, quite a few bugfixes and probably some other stuff I’m forgetting at the moment.
Fixed compact mob farm inventory not working correctly and being incompatible with other mods’ item movement stuff. The whole point of the transfer API on both fabric and neoforge is the transaction system, where each change must store a snapshot that can be returned to if needed; Turns out ignoring the TransactionContext and not saving any snapshots is a bad idea 😅 I’ve tested and it’s compatible with create fly (see screenshot where a compact mob farm with a blaze is being used to feed a blaze burner for a steam engine) and most probably other mods as well. Added Reliable Recipe Viewer integration that explains soul capturing
checking the recipe for a specific soul gem now only shows that specific entity instead of all soul capturing recipes soul capturing recipe now shows up before the duplication recipe soul gems can now be searched by the name of the entity they contain fix compact mob farm gui not rendering vanilla background overlay allow filling soul gem when held in the main hand fix dedicated server crashing Running in a dedicated server would crash because there are quite a few places where I referenced client-only classes in places that the jvm will load on the dedicated server as well. Mostly in the different block entity classes, where I had a clientTick method that had ClientLevel as one of it’s parameters. Even though that method would never get called on the dedicated server, java still wants it to exist when loading the class because it’s part of a method’s definition. My current solution is very very awful… I moved those things into methods in the client initializer and… well… yeah… it just looks and is awful: https://git.offsetmonkey538.top/OffsetMods538/Ultimate-Mob-Farms/src/commit/0.0.7/modded/src/main/java/top/offsetmonkey538/ultimatemobfarms/modded/UltimateMobFarmsModdedClient.java#L65 The real, foolproof solution would be using the split sources feature of loom, which creates a second source set and makes the main source set unable to access client classes. Only problem is that it’d be a bit annoying to fully get set up in my multiloader-version gradle system and would most definitely need many changes on MonkeyLib538 as well and I just am not up for doing that atm.
Getting closer and closer to the actual release… could this be the last devblog before that? Still not quite 100% about if the required kills for each mob are balanced, but it’s probably good enough. Definitely better than everything being 10 kills tho. Felt very off-balance when withers, which are hard to spawn and hard to kill, and pigs, which are just everywhere, required the same amount of kills to capture. Notable changes: Show soul capturing recipe in rrv when checking usages of spawn eggs Show tooltip with entity name when hovering entity in soul capturing rrv recipe Add item descriptions Fix being able to insert items into the compact mob farm inventory Make amount of kills required for capturing an entity different per entity. Update compact mob farm recipe (now uses soul spikes in the middle instead of stone bricks) Store soul gem colors as hex strings in entity tiers config. Much more understandable and easier to manually change the overrides config or whatever Make built-in packs use the mod icon using a mixin instead of copying the icon into the packs. This shaves like 80kb off the final jar which is quite a bit of unnecessary duplicate crap Remove some log spam that was for debugging
School starting with september really hit my productivity on this mod like a truck I am realizing the deadline for stardance is getting real close, so I think this is probably the point where I’ll have to ship it. There are still some TODOs in the code and bugs that need to be squashed and porting to 26.3 (which released like this week, thanks mojang ) and so I haven’t been comfortable marking the latest release as 1.0.0 yet or making announcements elsewhere, but the mod is now perfectly usable and I like where it is. Changes since last devblog: 26.2 support Injecting some items into vanilla loot chests Advancements 26.2 wasn’t actually as painful as I thought it’d be, which was a nice surprise. Adding advancements was a bit more of a pain with 26.2 support though as I needed custom criteria for some of the advancements (one for putting a soul gem in the compact mob farm and another for using a soul gem on a spawner) and Mojang, in their infinite wisdom, decided to move a bunch of advancement stuff around in 26.2.
Waow that’s quite a bit of stardust 😅 Quite happy with this project and the ratings it got on the first ship :D (except the one that accused my devlogs of being written by ai… My writing is not that bad, right? ) I noticed in the shipwrights’ review video that how upgrades work is not very obvious, they were trying to put a tier upgrade into a soul fan, which only accepts width, height and depth upgrades. It was mentioned in ratings that stuff is a bit hard to figure out in the beginning as well. So to fix that, I added some silhouettes of the supported upgrades shown in the slots and also a hover tooltip saying what’s supported. Oh and i’ve also added 26.3 support now
Added a progress bar to the Compact Mob Farm GUI that hopefully makes it much easier to understand when it’ll damage the entity and it doesn’t look like it’s just doing nothing lol, especially with the 30 second default time
Added an RRV screen showing what items can be acquired from the Compact Mob Farm. Shows the entity, the items it drops and the required tier upgrade level. Hoping this also helps with confusion on how stuff works
Started working on setting up a docs page for the mod. Mainly want it for explaining the data driven configuration, but having full pages to give more detailed explanations of the different features is also probably a nice touch. Made a new icon for the mod as well, it’s pretty much the same but higher res because the 256x256 one looked weird on the docs page. The docs are done using Starlight like all my other docs pages (see those here ) and lives at https://ultimate-mob-farms.docs.cursedmods.com/ and on the docs/master branch in the repo Currently it’s just the landing page, but it’ll have more stuff soon enough
Ships:
This is a Minecraft mod for making mob farms, something similar to for example Mob Grinding Utils. It features item and xp collection, entity movement, spawner relocation and crafting, single block mob farms and some other stuff. Honestly, I’m quite proud just over the fact that I finally did finish this project (or at least got it to the point of being comfortable releasing it publically) and it’s hard to choose any specific features, but here I go… I do really like how the particle effects for the soul fan turned out, they’re quite satisfying imo. This is kind of unrelated to the mod, but I’m also proud of having helped out with the development of RRV, the recipe viewer mod I added compat with. While adding support for it in this mod, I noticed some bugs and crashes and stuff, which I PRed fixes for. It’s a bigger project with many complex things, so coming up with a list of all the things I found hard or took a lot of time and explaining all of them would probably go over whatever character limit this text box has lol. One thing that was a big PITA was the compact mob farm inventory. The original implementation I wrote was just… completely wrong, so I had to rewrite it. Then later I realized I overlooked like the most important part of the item transfer api (transactions, which are used for rolling back changes and stuff) so I had to rewrite it again, and then after that I rewrote quite a bit of it one more time because, after the last rewrite, I had accidentally made it possible for other blocks to insert into the inventory, which isn’t something I wanted as that seems quite OP. Another thing that comes to mind is figuring out the code for the soul fan’s range based on upgrades and strength at a given distance. The problem was that the coordinate you have to increase/decrease depends on the orientation of the block, so as an example, the depth upgrade would need to increase the Y pos when the block is placed pointing up and decrease it when pointing down, the X pos when facing north/south and the Z pos when facing east/west. For pushing the entities, I had to find the coordinates of the middle of the face the block is pointing, and add/subtract the correct coordinate to get the range in the depth direction, and then find the distance between each entity currently in range and the fan in just that plane for calculating the strength. For people testing out the project, I definitely do recommend also installing the Reliable Recipe Viewer (RRV) and Item Description mods...
|
1792853443.0379903
|
1792939843.0379903
|
|
8190
|
Invio by @kittendevv | Stardance
|
kittendevv
|
0
|
2.51
|
0
|
[]
|
[{"post_id": 8073, "ts": "2026 [{"post_id": 8073, "ts": "2026-06-13T14:09:43Z", "hours": 2.5081, "text": "I started re-writing my entire backend in Bun + ElysiaJS. My old backend was vibecoded, used raw SQL and uses a different JS runtime then my frontend. Safe to say I have a lot of work ahead of me, but it should also be a big win in removing most of the AI written code from my project"}]...
|
Title: Invio by @kittendevv | Stardance
Devlogs:
Title: Invio by @kittendevv | Stardance
Devlogs:
I started re-writing my entire backend in Bun + ElysiaJS. My old backend was vibecoded, used raw SQL and uses a different JS runtime then my frontend. Safe to say I have a lot of work ahead of me, but it should also be a big win in removing most of the AI written code from my project...
|
1792565668.8130612
|
1793170468.8130612
|
|
43469
|
Iron Mario by @Lalith | Stardance
|
Lalith
|
2
|
57.0
|
740
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T17:21:14Z", "hours": 46.0, "multiplier": 16.47, "payout": 740, "blessing": "neutral", "text": "What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}, {"ship_num": 2, "ts": "2026-09-22T01:51:21Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}]...
|
[{"post_id": 80734, "ts": "202 [{"post_id": 80734, "ts": "2026-10-18T17:20:14Z", "hours": 5.2547, "text": "Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️"}, {"post_id": 80318, "ts": "2026-10-17T08:47:56Z", "hours": 10.0194, "text": "The starting of the change:"}, {"post_id": 79851, "ts": "2026-10-15T16:48:50Z", "hours": 1.2397, "text": "Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck"}, {"post_id": 79818, "ts": "2026-10-15T15:09:00Z", "hours": 1.4878, "text": "I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:"}, {"post_id": 79786, "ts": "2026-10-15T12:21:24Z", "hours": 3.0142, "text": "Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!"}, {"post_id": 78684, "ts": "2026-10-11T09:15:07Z", "hours": 2.99, "text": "As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE"}, {"post_id": 78045, "ts": "2026-10-09T10:45:03Z", "hours": 10.6569, "text": "Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!"}, {"post_id": 74434, "ts": "2026-09-27T11:33:45Z", "hours": 1.1883, "text": "Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!"}, {"post_id": 74381, "ts": "2026-09-27T08:52:32Z", "hours": 6.3475, "text": "To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!"}, {"post_id": 73998, "ts": "2026-09-26T14:30:37Z", "hours": 3.4033, "text": "I am trying to make this website like a full on authentic game app and make money with this"}, {"post_id": 43836, "ts": "2026-08-09T08:24:02Z", "hours": 2.0347, "text": "I have this idea of replacing irom man instad of flappy bird and stuff and all of that"}, {"post_id": 43671, "ts": "2026-08-09T02:04:07Z", "hours": 6.4192, "text": "I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game."}, {"post_id": 41917, "ts": "2026-08-06T13:08:15Z", "hours": 0.3697, "text": "Ijust added a ending page, more like coding"}, {"post_id": 41902, "ts": "2026-08-06T12:24:45Z", "hours": 1.5389, "text": "I love you 3000"}, {"post_id": 41397, "ts": "2026-08-05T16:19:29Z", "hours": 0.9978, "text": "Starting of my very own Iron-Man themed game. Stay tuned gng"}]...
|
Title: Iron Mario by @Lalith | Stardance
Devlogs: Title: Iron Mario by @Lalith | Stardance
Devlogs:
Starting of my very own Iron-Man themed game. Stay tuned gng
I love you 3000
Ijust added a ending page, more like coding
I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game.
I have this idea of replacing irom man instad of flappy bird and stuff and all of that
I am trying to make this website like a full on authentic game app and make money with this
To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!
Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!
Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!
As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE
Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!
I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:
Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck
The starting of the change:
Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️
Ships:
What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/
What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️...
|
1792853444.3103187
|
1792939844.3103187
|
|
65480
|
Simple Chat by @MarioS271 | Stardance
|
MarioS271
|
0
|
19.95
|
0
|
[]
|
[{"post_id": 80738, "ts": "202 [{"post_id": 80738, "ts": "2026-10-18T17:32:01Z", "hours": 3.6989, "text": "Packet Types After a (way too long) pause, I’m finally working on Simple Chat again. I’ve added a packet enum, which wraps all possible kinds of data communication. What this means Basically, now everything that’s being sent has the same interface: serialize and deserialize. You don’t need to worry about what is in this packet, just serialize it, encrypt it and it works. This means handshakes aren’t loose bytes being sent between client and server and held together by pure hopes and dream (im praying somebody gets the reference), but instead a proper packet, which can also now be encrypted. Heartbeats Previously, there was also a big design flaw. If no message was being sent, you couldn’t tell if the others were just not sending anything or had already (uncleanly) disconnected. The TCP stream looked the same in both scenarios. Because of this, I’ve added a Packet::Heartbeat type. It contains no data, and if it gets received by any party, (almost) nothing happens. It’s sole purpose is to keep the stream alive. Now with this, lets say we’re the server: a client doesn’t send a heartbeat twice. We now know that they’ve likely crashed or not properly disconnected in some other way. Because of this, we can now kick them instead of keeping a connection live."}, {"post_id": 76098, "ts": "2026-10-02T10:04:08Z", "hours": 8.5097, "text": "Server Rewrite! I’ve rewritten the server using Tokio instead of Threads for improved performance and less server-side overhead. What Tokio is It utilizes Rust’s async implementation with futures to create a much more lightweight alternative to threads. Basically, you can summon multiple tasks and instead of them being full threads with seperate 8MB stacks and so on, they have way less context switching overhead and a much smaller stack per instance. Other Server-Side Changes In the initial handshake, the client provides its name to the server. If the server receives a message with the wrong name from that client, it will replace the name with the originally given one. Encryption I’m still working on finishing up encryption for all messages and the initial handshake."}, {"post_id": 73319, "ts": "2026-09-24T21:00:42Z", "hours": 2.165, "text": "im almost done already what So… it kinda works???? The client AND server, the TUI, the new message structs and all of that work now. Changelog Reworked Message Struct(s) and multiple message types ( Chat , System ) Proper connect handshake Rework server to use SystemMessage s to broadcast client connect/disconnect events What’s planned A config file to store your name ( ~/.lan-chat ) Encryption (between clients)"}, {"post_id": 73260, "ts": "2026-09-24T18:08:38Z", "hours": 1.1111, "text": "TUI Time! :) The TUI works now, I only need to polish it (stuff like scrolling when message box is full) Additonally, I’m planning to add a special kind of message that the server sends on client join/leave events."}, {"post_id": 73217, "ts": "2026-09-24T16:48:43Z", "hours": 4.4622, "text": "New Project!! This is LAN Chat, a TUI chat messenger to use in the same LAN as others. Build using Rust with ratatui (a TUI library) Currently, I have a working client/server system, which sends serialized message structs. Next up, I’m gonna work on getting the TUI running."}]...
|
Title: Simple Chat by @MarioS271 | Stardance
Devl Title: Simple Chat by @MarioS271 | Stardance
Devlogs:
New Project!! This is LAN Chat, a TUI chat messenger to use in the same LAN as others. Build using Rust with ratatui (a TUI library) Currently, I have a working client/server system, which sends serialized message structs. Next up, I’m gonna work on getting the TUI running.
TUI Time! :) The TUI works now, I only need to polish it (stuff like scrolling when message box is full) Additonally, I’m planning to add a special kind of message that the server sends on client join/leave events.
im almost done already what So… it kinda works???? The client AND server, the TUI, the new message structs and all of that work now. Changelog Reworked Message Struct(s) and multiple message types ( Chat , System ) Proper connect handshake Rework server to use SystemMessage s to broadcast client connect/disconnect events What’s planned A config file to store your name ( ~/.lan-chat ) Encryption (between clients)
Server Rewrite! I’ve rewritten the server using Tokio instead of Threads for improved performance and less server-side overhead. What Tokio is It utilizes Rust’s async implementation with futures to create a much more lightweight alternative to threads. Basically, you can summon multiple tasks and instead of them being full threads with seperate 8MB stacks and so on, they have way less context switching overhead and a much smaller stack per instance. Other Server-Side Changes In the initial handshake, the client provides its name to the server. If the server receives a message with the wrong name from that client, it will replace the name with the originally given one. Encryption I’m still working on finishing up encryption for all messages and the initial handshake.
Packet Types After a (way too long) pause, I’m finally working on Simple Chat again. I’ve added a packet enum, which wraps all possible kinds of data communication. What this means Basically, now everything that’s being sent has the same interface: serialize and deserialize. You don’t need to worry about what is in this packet, just serialize it, encrypt it and it works. This means handshakes aren’t loose bytes being sent between client and server and held together by pure hopes and dream (im praying somebody gets the reference), but instead a proper packet, which can also now be encrypted. Heartbeats Previously, there was also a big design flaw. If no message was being sent, you couldn’t tell if the others were just not sending anything or had already (uncleanly) disconnected. The TCP stream looked the same in both scenarios. Because of this, I’ve added a Packet::Heartbeat type. It contains no data, and if it gets received by any party, (almost) nothing happens. It’s sole purpose is to keep the stream alive. Now with this, lets say we’re the server: a client doesn’t send a heartbeat twice. We now know that they’ve likely crashed or not properly disconnected in some other way. Because of this, we can now kick them instead of keeping a connection live....
|
1792454038.5842412
|
1793058838.5842412
|
|
52554
|
Mini Humanoid Robot by @elliottn | Stardance
|
elliottn
|
0
|
30.33
|
0
|
[]
|
[{"post_id": 80739, "ts": "202 [{"post_id": 80739, "ts": "2026-10-18T17:37:22Z", "hours": 8.8961, "text": "Log #7 Worked more on robot movements to convert optimized RL sim movements to pre-programmed actions. Quickly built a vibe-coded website for the product."}, {"post_id": 76987, "ts": "2026-10-05T08:14:46Z", "hours": 3.7881, "text": "Log #6 I got my robot up and running in the simulator with a reinforcement learning algorithm from Claude. Hopefully I can have all functions be simulated and copied to the real world."}, {"post_id": 74585, "ts": "2026-09-27T17:55:45Z", "hours": 1.8083, "text": "Log #5 Got my URDF working in sim somewhat."}, {"post_id": 74255, "ts": "2026-09-27T02:35:34Z", "hours": 1.9289, "text": "Log #4 Finally got a URDF with the pieces in the right place, but its just really big when put into a web URDF viewer."}, {"post_id": 74227, "ts": "2026-09-27T00:09:17Z", "hours": 7.6606, "text": "Log #3 Even though the robot is completely built, I am still yet to figure out creating a URDF so I can simulate a physical environment on my computer. So, here’s a pic of the robot saying hi!"}, {"post_id": 59262, "ts": "2026-08-31T23:08:20Z", "hours": 5.2, "text": "Log #2 - Tried to make a URDF but failed. Only have a jointed model for now."}, {"post_id": 56902, "ts": "2026-08-28T22:20:22Z", "hours": 1.05, "text": "Log #1"}]...
|
Title: Mini Humanoid Robot by @elliottn | Stardanc Title: Mini Humanoid Robot by @elliottn | Stardance
Devlogs:
Log #1
Log #2 - Tried to make a URDF but failed. Only have a jointed model for now.
Log #3 Even though the robot is completely built, I am still yet to figure out creating a URDF so I can simulate a physical environment on my computer. So, here’s a pic of the robot saying hi!
Log #4 Finally got a URDF with the pieces in the right place, but its just really big when put into a web URDF viewer.
Log #5 Got my URDF working in sim somewhat.
Log #6 I got my robot up and running in the simulator with a reinforcement learning algorithm from Claude. Hopefully I can have all functions be simulated and copied to the real world.
Log #7 Worked more on robot movements to convert optimized RL sim movements to pre-programmed actions. Quickly built a vibe-coded website for the product....
|
1792713104.4769902
|
1793317904.4769902
|
|
29723
|
Monty Hall Simulator by @kingsuper195 | Stardance
|
kingsuper195
|
1
|
8.76
|
29
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T09:47:32Z", "hours": 6.0, "multiplier": 4.7, "payout": 29, "blessing": "neutral", "text": "A simulator for the famous Monty Hall problem, with two goats and a car. Includes manual choice and automatic.", "repo": "https://github.com/kingsuper195/MontyHall", "demo": "https://kingsuper195.github.io/MontyHall/"}]...
|
[{"post_id": 80740, "ts": "202 [{"post_id": 80740, "ts": "2026-10-18T17:48:22Z", "hours": 1.5856, "text": "Added some more styling to the initial startup screen, including making the automatic toggle bigger and clearer, so that people don’t miss it."}, {"post_id": 71190, "ts": "2026-09-20T12:42:14Z", "hours": 0.4019, "text": "Added a progress bar using the HTML5 progress element."}, {"post_id": 70542, "ts": "2026-09-19T10:26:16Z", "hours": 0.7725, "text": "Added a current door highlight, and refactored to avoid the annoying door flicker when going at full automatic speed."}, {"post_id": 22729, "ts": "2026-07-05T09:46:53Z", "hours": 0.3067, "text": "Added README.md"}, {"post_id": 22719, "ts": "2026-07-05T09:22:14Z", "hours": 0.8339, "text": "Added some styling and a settings menu on the side."}, {"post_id": 21371, "ts": "2026-07-03T08:27:56Z", "hours": 0.5456, "text": "Added favicon and wait for seconds after each step in automatic mode."}, {"post_id": 20604, "ts": "2026-07-02T07:35:28Z", "hours": 4.4256, "text": "Began project, added automatic and manual modes, and a result page."}]...
|
Title: Monty Hall Simulator by @kingsuper195 | Sta Title: Monty Hall Simulator by @kingsuper195 | Stardance
Devlogs:
Began project, added automatic and manual modes, and a result page.
Added favicon and wait for seconds after each step in automatic mode.
Added some styling and a settings menu on the side.
Added README.md
Added a current door highlight, and refactored to avoid the annoying door flicker when going at full automatic speed.
Added a progress bar using the HTML5 progress element.
Added some more styling to the initial startup screen, including making the automatic toggle bigger and clearer, so that people don’t miss it.
Ships:
A simulator for the famous Monty Hall problem, with two goats and a car. Includes manual choice and automatic....
|
1792824568.6525156
|
1792910968.6525156
|
|
11169
|
SupplyChains by @Thijmen | Stardance
|
Thijmen
|
1
|
313.73
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T19:48:03Z", "hours": 307.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Supply Chains Supply Chains is a game inspired by Transport Fever and Mindustry, centered around building road networks and logistics chains for construction and mining operations. Features Vehicles, trailers and a garage Route system: pick a source, a destination and a resource, then assign it to a vehicle Multi-step production chains Construction sites, trading, generated terrain, and A* pathfinding with road weights Controls: WASD camera, 1-5 build, right click remove, space pause. Everything else is in HELP.md . Known limitations I’m a solo dev, so some things aren’t finished. The full list is in the README. Hope you enjoy it!", "repo": "https://github.com/thijmenb1/roadbalencer", "demo": "https://github.com/thijmenb1/SupplyChains/releases/tag/v0.1.3"}]...
|
[{"post_id": 80746, "ts": "202 [{"post_id": 80746, "ts": "2026-10-18T18:11:49Z", "hours": 6.7261, "text": "Devlog 27: Tutorial: After feadback I have dicided to make a tutorial and made a couple quality of live updates that made the game easier to understand."}, {"post_id": 76500, "ts": "2026-10-03T19:24:02Z", "hours": 16.3356, "text": "Devlog 26: Last devlog I’ve officially finished the game. It’s been an incredible journey, and I’m pretty happy with the end result. excavator The excavator is now fully functional. You can use it to create mines, which automatically convert into factories once placed. a lot of small things I have done a lot of small things to optimse the game and fix things i coudend test till now Release This is the last devlog I’ll be writing for this project. I want to thank you all for the support. I hope you enjoy playing the game."}, {"post_id": 75365, "ts": "2026-09-29T21:04:49Z", "hours": 9.8742, "text": "Devlog 25: Planes and saving! I’ve locked in over the last 2 days and finished the final 2 of the 3 major systems. I’ve completed the planes (which now spawn when you accept an order) and finished the saving system. Planes/order system I’ve finished the order system, when you accept an order, a plane now spawns a couple thousand pixels out. It flies to the airstrip, loads up at the end of the runway, turns around, and flies away. It doesn’t taxi all the way to the terminal because I just don’t have time for that, but it looks good enough for now. Saving You can now save 3 worlds in the game. Everything gets encrypted and saves all the world values. It was pretty difficult converting some of the arrays filled with instances into dictionaries and back again, but it works on both PC and on the web. whats left: The only things left are the excavator and some smaller things. I’m finishing that all tomorrow, and that will be the last devlog for my ship. The main gameplay loop should be finished by end of day tomorrow. If I can’t finish everything, so be it, I dont have time to work on it anymore if I also want to continu in third space, but I’m happy with how it works now and what I have learned along the way."}, {"post_id": 74558, "ts": "2026-09-27T17:07:31Z", "hours": 10.1058, "text": "Devlog 24: Construction finished and start secunce made I’ve finished the construction system and made the start sequence actually playable by adding a resource box containing 10 iron bars needed to build a terminal. It’s been 2 weeks since my last devlog school and commitments to Third Space have kept me busier, so I’m not 100% certain I’ve captured everything that’s changed. Construction system The construction system now generates building routes that you can assign vehicles to. Resources must be delivered to a building site before construction begins, making the resource system meaningful in actual gameplay. Starting secunce The starting secunce now has a couple of steps: Place the resource box Place a runway Place a terminal Conect the runway with the terminal with a taxiway Place 4 base tiles for the vehicle to spawn on What has to be done: Mine/excavator system ~3h Finish trade system ~3h Save system ~2h Documentation ~2h"}, {"post_id": 67659, "ts": "2026-09-13T20:19:08Z", "hours": 10.0428, "text": "Devlog 23: Vehicle pathfinding and construction I have fixed the vehicle pathfinding (mostly) and I have made the construction system. Vehicle pathfinding I have fixed the vehicle pathfinding and it works now mostly. I say mostly because it breaks when a trailer is equipped, but that is a way smaller thing to fix. Construction system It’s almost done. The system makes it so the resources actually have a function and you now need to deliver resources to a building site before the factory can get built. Still not done I know I said it would be done this weekend and it still isn’t, but it’s almost there. What I still have to do: The mine/excavator ~5h Finishing a couple of systems (like the construction and trade system) ~5h Make a savegame system ~5h Small things ~2h Documentation ~2h So 2 devlogs left, and otherwise I will just ship incomplete because I don’t have time anymore."}, {"post_id": 66739, "ts": "2026-09-12T17:07:44Z", "hours": 10.2911, "text": "Devlog 22: Factory UI and Finished base building I’ve finished base building and am now working on the factory UI. Factory UI I’m working on the factory UI, where you can see the factory’s storage and change its recipe. It’s almost finished. Base building Base building is finished you can now make taxiways and build a warehouse. I’ve also put these into a UI like the factory’s, so it only takes one button. Vehicle physics/pathfinding I’ve spent yet another hour on vehicle physics/pathfinding, and I’ve narrowed it down to a bug in the handoff to the prebaked paths of the factories. Timeline I’m pretty sure I am gooing tho finish it this weekend. What’s left: Vehicle physics ~3h Mines/excavators ~5h Building construction (will reuse most of the factory logic) ~2h Random bugs and small things ~5h"}, {"post_id": 65022, "ts": "2026-09-09T20:33:42Z", "hours": 9.9275, "text": "Devlog 21: Trading Finished, but I’m Stuck I’ve finished the trading system! Trading System The trading system is done. Orders are generated, you can accept them, and accepted trades show up in the UI. The only thing left is adding the planes, but that depends on finishing the base-building system first. Base Building I’ve started working on base building. It’s pretty simple and mostly uses systems that already exist, so it should only take around an hour to fully implement. Stuck Development has been going way slower than I hoped because my codebase is currently a bunch of bandaids stacked on top of each other. I also need to ship this week since Thirdspace starts next week, which means I probably won’t have time to add much polish.So I need your opinion: is it worth delaying the game for another week? 😭 Or should I just ship it? Do you think I’ll still be able to afford the Framework 13 if I release it now? My current plan is to focus on getting the core systems working, fix any major bugs, and leave extra polish and construction vehicles for a post-launch update."}, {"post_id": 62429, "ts": "2026-09-05T19:31:29Z", "hours": 9.9097, "text": "Devlog 20: UI and Trading Got the backend for the trading system done and overhauled the UI to go with it. Trading System I made a trading system. It generates contracts with the recipient’s name, the resource being traded, and the price. Basically the foundation for the aircraft system. UI Redesigned the time and date display because it looked kinda rough. Also switched the economy back to money instead of the resource, makes way more sense for trading. Oh, and vehicles now actually speed up when you speed up time, which is pretty cool. What’s Shipping vs Later I’m not including construction vehicles in the initial release because that’s like 40+ more hours of work and I want to actually finish this before Thirdspace starts (I’m gonna compete too). So yeah, that’s going to a post-launch update. Still gotta do: Get the excavators working (mines) ~5h Finish the trading system ~3h Fix vehicle physics again 😭~5h Random bugs and polish ~5h Hope I can get that done this week. Tryna hit at least 14sd/h so I can hopfuly buy that Framework 13 lol"}, {"post_id": 55609, "ts": "2026-08-27T16:01:00Z", "hours": 4.3333, "text": "Devlog 19: Busy School has started again and I have been geting busy and my motivation is also not that high right now because things take alot longer and dont work like i want to. I think I will delay release to septembere 12th."}, {"post_id": 50634, "ts": "2026-08-19T21:45:22Z", "hours": 9.9061, "text": "Devlog 18: Pre-baked docking paths I’ve implemented pre-baked docking paths for factory entrances to solve some pathfinding issues with vehicle physics. Pre-baked paths The A* pathfinding system was struggling to navigate the sharp corners around factory entrances. When the trailer tried to find its own path through these tight spaces, it would instantly jackknife, not ideal. Rather than spend 50+ hours refining the vehicle physics, I decided to pre-bake specific docking paths to each factory. It’s not a perfect solution visually, but it’s functional and gets the job done. I can always refine this for a post-launch update if needed. I’m still wrapping up the final details of the docking path system before moving on. Mines My next major task is implementing mine logic, which includes the excavator logic and ore detection and depletion. Aircraft After the mining logic I will add the last vital gameplay system the aircraft system which will be responsible trade and contracts with other villages. Release I’m currently deciding whether to push construction vehicle implementation to a post-beta update or delay the release by a week to include them. Construction vehicles aren’t vital to core gameplay, but they would add a lot of polish. I’m still on the fence about this one, it depends on how the mine logic implementation goes."}, {"post_id": 49170, "ts": "2026-08-17T20:13:08Z", "hours": 9.9731, "text": "Devlog 17: Factory placement I’ve built a system for placing factories in the world. Factory placement Turns out it’s an absolute pain in the ass to place objects that are multiple tiles big while also having them connect to multiple Godot terrains. So I had to write a whole system that places every tile separately and keeps track of which tiles are occupied. Roads I also had to rework how roads are placed. Originally, every road type was its own terrain, but that doesn’t work if you want them all to connect to factories and to each other. So now they’re all just one terrain, and a script gives each tile the correct color for its road type. This only works because all the road types are identical in shape just different colors. Aircraft sprites I’ve added several new aircraft sprites: the Bo 105, the Twin Otter, the PC-6, and the H225. I’m planning to add the Chinook and the A400M next, which will round out the aircraft lineup for the beta launch. Release It’s going to be close. I’m not sure I’ll hit my self-imposed deadline, since some things took a lot longer than expected but I might still make it. Either way, I’m not going to rush it. I’d rather ship a week late than release something that gets 5 SD/h because it isn’t polished."}, {"post_id": 47570, "ts": "2026-08-15T15:24:06Z", "hours": 9.8719, "text": "Devlog 16: Factorys and aircraft I’ve reworked the factory sprites and added aircraft. Factory sprites I have made new sprites for every factory execpt the concrete mixing plant. the sprites are now 2x2 or larger so vehicles can realisticly unload there. Aircraft I’ve decided to add aircraft, which will serve as a trading terminal so you can trade with other villages, get contracts, and earn money. Aircraft fit well for this since no other villages spawn in the world. they let you trade with other vilages without them needing to exist in the world. I still need to add alot to make this work but currently I have a working runway building mecanic Next: Factories Next, I still need to build out the factory logic. I plan to make them with custom resources, just like vehicles. I made the new sprites first because I needed to know where (un)loading would need to happen before I could design the logic around it."}, {"post_id": 46516, "ts": "2026-08-13T19:56:21Z", "hours": 10.2989, "text": "Devlog #15: Vehicle rework I’ve completely restructured how vehicles work under the hood. The main goal was to break down the code into readable, reusable pieces. Vehicle componentization The vehicle script had become too large to work with, so I split it into five scripts: vehicleBody.gd , drivetrainComponent.gd , path_movement_component.gd , CargoComponent.gd and attachment_component.gd . This makes the code easier to maintain and reduces the chance of bugs when adding new vehicle types. Vehicle data I have converted the nested Dictionaries into custom resources which makes it easier to add vehicles and less error prone. Pathfinding improvements I tweaked how the pathfinding works by chamfering the corners so vehicles navigate them more smoothly. It doesn’t look quite as I want yet, but combined with animations, it should look acceptable for now. This is something I’ll have to find a more permanent solution for later. Release I’m targeting version 1.0.0 for Saturday, August 22nd. There’s still quite a bit to do, but I think I can make it. I set this deadline because I’ll have less time once school starts."}, {"post_id": 45126, "ts": "2026-08-11T12:41:38Z", "hours": 9.745, "text": "Devlog #14.2: Route system The route system is now done Route sytem The route system turned out to be more complicated than initially expected. I restructured it so the route is calculated centrally in the Global script, and every instance using it reads from there. This keeps things synchronized and maintainable. For now, the system has one mode implemented: a ping-pong mode where vehicles travel back and forth between two set points. Vehicle physics There’s a persistent issue with vehicle physics where they cut corners and miss checkpoints, requiring them to turn around. I’ve set this aside for now to focus on other features, but it’s something I’ll need to fix down the line. I realy have no idea how though I cant seem to find the issue. Whats next The last major things before release are: Linking factories to vehicles so they can load and unload cargo Animating the excavators at the mine Building out the construction system"}, {"post_id": 43506, "ts": "2026-08-08T20:31:23Z", "hours": 10.0922, "text": "Devlog #14: Route UI and system I am currently working on the route ui and the route system. Route UI The route UI is almost done I only need to link it to the route system. Route system I am almost finished with the route system I only have to connect it to the vehicle and rewrite the factory system a bit so it works with the route system. there will be multiple modes distribution of one factory based on demand or a ping pong mode where it drives back and forward between 2 set points. You also will be able to assign vehicles to construction projects but this will come later. Trailer UI The trailer UI is finised you can connect trailers to vehicles via it."}, {"post_id": 41554, "ts": "2026-08-05T20:48:09Z", "hours": 9.8542, "text": "Devlog #13: Vehicles in the world I’ve connected the vehicle systems to the world and to the UI. Vehicle manager I’ve made a vehilce manager script. This manager stores and retrieves vehicle data efficiently by ID, making it easy for the UI and other systems to access vehicle information. Vehicle UI I’ve made a UI where you can see the fuel, total weigth, health and engine load of the vehicle by clicking on it. There are also 2 buttons 1 for selecting a route and the other for coupling a trailer. Spauwing When you buy a vehicle it gets assigned a base tile you now need a base tile per vehicle. Last things Next, I need to implement the route selection and trailer coupling buttons to complete the vehicle system integration as far as I can right now."}, {"post_id": 40212, "ts": "2026-08-03T16:52:56Z", "hours": 10.0389, "text": "Devlog #12: Planing I’ve put together a roadmap for the rest of development. Roadmap I’m planning to release the game in 3 weeks and have laid out a plan accordingly. Vehicle physics I’ve spent about half my time since the last devlog tweaking vehicle physics, and I’ve decided to compromise on a few things — for example, when the trailer jackknifes and gets stuck, it’ll just clip through the vehicle. Shop rework I am almost finished with reworking the shop it now displays all the stats that the vehicle uses"}, {"post_id": 38143, "ts": "2026-07-31T11:37:38Z", "hours": 9.9372, "text": "Devlog #11.2: Trailer Logic and Pathfinding I’ve almost finished all the vehicle logic. Pathfinding A working pathfinding system is now in place using AStarGrid2D . This system works with vehicles both with and without trailers, and handles both on-road and off-road navigation. Trailers Trailers can now couple to vehicles with the correct hitch and follow them around in a realistic manner. The coupling mechanics work as they would in real life. Finishing Touches The vehicle logic still needs some fine-tuning, and I haven’t tested it yet with every vehicle type. I still need to implement the articulation system for the articulated dump truck."}, {"post_id": 37056, "ts": "2026-07-29T15:06:21Z", "hours": 9.8997, "text": "Devlog #11: Vehicle logic I am currently working on the vehcile logic Vehicle logic There are alot of variables now that determain the behavier off the vehicles like engine and weight Sprite scaling I have fixed the scaling of the sprites. Last things for the vehicle logic I still need to implement the trailer logic and pathfinding."}, {"post_id": 35794, "ts": "2026-07-27T13:37:20Z", "hours": 8.4642, "text": "Devlog #10: Factory logic Just returnt from vacation, and i forgot to make a devlog before i went so i dont fully know anymore what i changed. Factory logic I have implemented the core factory system. Factories can now receive resources, process them and output the procesed resource. I haven’t fully tested the logic yet since the UI and vehicle systems ( needed for input/output) aren’t complete. More I have probebly done more but i dont know anymore because i have been a way for a week. What is next My next priority is implementing vehicle logic, but first i need to fix vehicle sprite scaling. Currently all vehicles are 11px wide, which makes a dump truck as wide as a car. I want to make everything a consistent scale (probably 5px = 1m) and update all sprites accordingly for a more realistic appearance."}, {"post_id": 29417, "ts": "2026-07-16T11:03:02Z", "hours": 10.1492, "text": "Devlog #9: Supplychain Been working on the supplychain structere last 2 days, including new sprites Factorys I have made new factory sprites. All sprites are new i am not realy happy with how the steel and wire mill look but the rest look prety good i think. Resources I have also added a couple new resources their are 4 resource types now: copper, coal, gold, iron. The resources spauwn in mixed vains on the map determent by a NoiseTexture2D . What next I am now gooing to work on the logic for the factorys and i want to take a nother look at shadows because the didnt work last time but i have found a otherway to do it i want to try."}, {"post_id": 28327, "ts": "2026-07-14T14:40:52Z", "hours": 9.6725, "text": "Devlog #8.1: UI and lighting Today i have been focesing on the inviorment UI I have now linked up the hole UI. In the last devlog I had already shown the ui but now it also linked up properly with the game. Day Night cycle I am currently implementation a dynamic day/night cycle. Right now, the timing and transitions aren’t lining up the way I want them to, so i still need to do some fine tuning . Shaders / shadows This is where I’ve been strugeling. I’ve been trying to figure out how to implement proper 2D shadows. The issue is that the built in directional shadows in Godot aren’t really designed for top-down games. They make the sun’s shadows look infinitely long and completely distort the perspective. Every custom solution I’ve tried so far looks terrible. I’ve easily spent about 5 hours making custom shaders making a static shadow, but I’m still stuck. If you have any experience with top down 2D lighting or custom shadow shaders in Godot, please let me know in the comments! I could really use some help right now. The biggest problem is that the fastNoiseLite texture doesnt calculate the same in the shader as via the cpu which is also the thing that is hindering me in the ovelays."}, {"post_id": 27357, "ts": "2026-07-12T21:00:50Z", "hours": 9.8522, "text": "Devlog #8: Made UI Been working on the UI this weekend. its nothing special yet but it is good enough for now. Garage menu I have made a menu where you can see all your vehicles. It is pretty simple but i need it for programming the vehicles. Shop UI I have made a shop ui where you can buy the actual vehicles. The are sorted by type. You can see the stats and capabilities and you can decide if you want to buy the vehicles or if you want to finance it. Exstended selected tile UI I have also made some improvments and additions to the selected tile ui, you can now choose a variant if the selceted tiles has them like the factory. You can also see what number is connected to what if you hover over the ui. Overlay I am also working on a overlay so you can see the height, temperature and humidity I am doing this with a shader but it is not working how i expected at the moment because the shader doesn’t line up with my terrain."}, {"post_id": 26555, "ts": "2026-07-11T13:18:41Z", "hours": 5.2389, "text": "Devlog #7: Fresh foundation As i mentioned in devlog #6, i am rebuilding the game in godot. I am almost done with the essentials and development has already almost doubled in speed. World generation I have build a biome system using three noise textures to determine temperature, altitude, and humidity. Each tile uses these values to determine which biome gets drawn. This means the world has natural variation and will hopefully look less boring. It also sets up the foundation for biome specific resources and mechanics down the line forcing players to make a bigger network. Road placement System You can now place roads this works with terrainSets which makes it easyer to draw roads. Roads are the only thing you can place for now. Vehicle Pathfinding I’ve also made a simple pathfinding script using the built-in NavigationAgent2D. The destinations are hardcoded for now. I’ve heard AStarGrid2D might be better suited for grid-based pathfinding in my case, so I’ll be researching how to implement that. What i still have to add Before I’m back where I was with the Greenfoot version, I still need to add: The factorys and their system The trailers physics The garage menu A couple small things"}, {"post_id": 25816, "ts": "2026-07-10T08:51:36Z", "hours": 9.5967, "text": "devlog #6.1 Terrain I am almost finnished with the prosidural generation of the map which is gooing to make for way more variation in the game and beter planing were to place youre base."}, {"post_id": 24611, "ts": "2026-07-08T10:10:39Z", "hours": 31.0889, "text": "Develog #6: switching engines Spent the last week trying to fix the UI and physics in Greenfoot, and honestly? It’s just not happening. Greenfoot wasn’t really built for games like this the UI support is basically non-existent, and getting clickable buttons to work properly is way more of a pain than it should be. And i decided it was no longer wordt fighting for. So I’m switching to Godot. I’ve made some prototypes in it before, so at least I know the basics, and it’s way better suited for what I’m trying to build. The downside is development is gonna be paused for about a week while I set everything back up and rewrite some stuff. But after that? Should be able to move way faster, which will hopefully make up for the lost time."}, {"post_id": 20941, "ts": "2026-07-02T17:53:03Z", "hours": 21.3453, "text": "Devlog #5: Major System Overhaul—Resource Economy & Vehicle Expansion it has been a bit since my last devlog i have some major changes this version. It is nowhere near done yet but it is almost playable. here is what changed: Added two new resources I have added sand and gravel that are used in multiple new recipes Changed the economy: from currency to resources I got rid of the money system because it gave the ability of players just focusing on one resource. Now players need to use all the resources like iron ore, copper ore, sulfer ore, sand, gravel and many more. You have to mine all resources and process them This forces the player to actually spent time making a supplychain with diffrent mines and factories. This way it feels less as a idle and more like a managing game. Added new factories I have added new factories using the factory system i made last time these factories all require two or more inputs. Some factories make concrete from gravel and sand, others make PCBs and other compilicated stuff. I plan to add more in the future but for now it is way beter than before. Added a bunch of vehicles I have added multiple new vehicles: Bulk carriers - Can move ore and loose materials Flatbed trucks - Move finished products (pallets ore IBCs) Trailers - These can attach to diffrent vehicles and extend capacity Concrete truck - Transports concrete Construction Vehicles Dozer - Removes the building Excavator - Now needed for quarries Asphalt Paver - Changes roads from gravel to asphalt I am planing to add more construction vehicles so that every building needs a construction vehicle to build instead of the building just appearing out of nowere. Rebuilt the UI The old ui didnt fit anymore there where to many tiles and the route tab did not support construction equipment, so i made a new tile ui that groupes the tiles in road, factory and mines. I have also made a new vehicle ui which i call the garage this shows The vehicles you own The vehicle shop The abilities of the vehicle: It can hook a trailer It can carry bulk cargo It can carry flatbed cargo It can go offroad It can destroy building It can pave roads It can mine it’s way better than before but you currently cant buy the vehicles yet Roads have levels now Roads can be upgraded: gravel -> cement -> asphalt. Gravel roads are cheap but slow, asphalt is fast but expensive. Upgrading is expensive but can speed up your production or reduce the number of vehicles required to keep the factory full. The road level doesnt effect offroad vehicles and some vehicles may get a max speed in the futer What i still need to do It is the same as last time because i had to many new ideas and no motivation to implent mutch backend stuff Levels / progresion - It is just a sand box now Beter end goal - There is not realy a endgoal A tutorial - The game becomes increasingly complicated so hard without any guidance"}, {"post_id": 13898, "ts": "2026-06-22T19:41:09Z", "hours": 3.8419, "text": "Devlog #4 Finised the factory system Finised the factory ui / recipie ui that now tracks input output and procesing time Added new sprites for the vehicles now have 2 types a dumptruck form the drill and a flatbed to the sellpoint Stil need to add Change detection system Levels / progresion Beter end goal A tutorial Known bugs When you edit the route it deletes it self When you delete a route it doesnt delete the vehicles"}, {"post_id": 12159, "ts": "2026-06-19T21:21:22Z", "hours": 3.4008, "text": "Devlog #3 Added a factory system it is not fully done but there is a basic factory system now so you cant just infinatly take recources from the factroy to the sell point"}, {"post_id": 7675, "ts": "2026-06-12T20:25:33Z", "hours": 12.4575, "text": "Devlog #2 Finshed the game I have finnished the main gameplay loop I still want to add: A tutorial Levels / Progresion More recources and factorys / recipes Better end goal there is nothing to save for right now failsave for when you delete the path with vehicle on it"}, {"post_id": 4420, "ts": "2026-06-07T18:55:50Z", "hours": 1.8458, "text": "Devlog #1 I have made some improvements on the game i am curently making in greenfoot (java engine) i am using this engine because i have used it before for school"}]...
|
Title: SupplyChains by @Thijmen | Stardance
Devlo Title: SupplyChains by @Thijmen | Stardance
Devlogs:
Devlog #1 I have made some improvements on the game i am curently making in greenfoot (java engine) i am using this engine because i have used it before for school
Devlog #2 Finshed the game I have finnished the main gameplay loop I still want to add: A tutorial Levels / Progresion More recources and factorys / recipes Better end goal there is nothing to save for right now failsave for when you delete the path with vehicle on it
Devlog #3 Added a factory system it is not fully done but there is a basic factory system now so you cant just infinatly take recources from the factroy to the sell point
Devlog #4 Finised the factory system Finised the factory ui / recipie ui that now tracks input output and procesing time Added new sprites for the vehicles now have 2 types a dumptruck form the drill and a flatbed to the sellpoint Stil need to add Change detection system Levels / progresion Beter end goal A tutorial Known bugs When you edit the route it deletes it self When you delete a route it doesnt delete the vehicles
Devlog #5: Major System Overhaul—Resource Economy & Vehicle Expansion it has been a bit since my last devlog i have some major changes this version. It is nowhere near done yet but it is almost playable. here is what changed: Added two new resources I have added sand and gravel that are used in multiple new recipes Changed the economy: from currency to resources I got rid of the money system because it gave the ability of players just focusing on one resource. Now players need to use all the resources like iron ore, copper ore, sulfer ore, sand, gravel and many more. You have to mine all resources and process them This forces the player to actually spent time making a supplychain with diffrent mines and factories. This way it feels less as a idle and more like a managing game. Added new factories I have added new factories using the factory system i made last time these factories all require two or more inputs. Some factories make concrete from gravel and sand, others make PCBs and other compilicated stuff. I plan to add more in the future but for now it is way beter than before. Added a bunch of vehicles I have added multiple new vehicles: Bulk carriers - Can move ore and loose materials Flatbed trucks - Move finished products (pallets ore IBCs) Trailers - These can attach to diffrent vehicles and extend capacity Concrete truck - Transports concrete Construction Vehicles Dozer - Removes the building Excavator - Now needed for quarries Asphalt Paver - Changes roads from gravel to asphalt I am planing to add more construction vehicles so that every building needs a construction vehicle to build instead of the building just appearing out of nowere. Rebuilt the UI The old ui didnt fit anymore there where to many tiles and the route tab did not support construction equipment, so i made a new tile ui that groupes the tiles in road, factory and mines. I have also made a new vehicle ui which i call the garage this shows The vehicles you own The vehicle shop The abilities of the vehicle: It can hook a trailer It can carry bulk cargo It can carry flatbed cargo It can go offroad It can destroy building It can pave roads It can mine it’s way better than before but you currently cant buy the vehicles yet Roads have levels now Roads can be upgraded: gravel -> cement -> asphalt. Gravel roads are cheap but slow, asphalt is fast but expensive. Upgrading is expensive but can speed up your production or reduce the number of vehicles required to keep the factory full. The road level doesnt effect offroad vehicles and some vehicles may get a max speed in the futer What i still need to do It is the same as last time because i had to many new ideas and no motivation to implent mutch backend stuff Levels / progresion - It is just a sand box now Beter end goal - There is not realy a endgoal A tutorial - The game becomes increasingly complicated so hard without any guidance
Develog #6: switching engines Spent the last week trying to fix the UI and physics in Greenfoot, and honestly? It’s just not happening. Greenfoot wasn’t really built for games like this the UI support is basically non-existent, and getting clickable buttons to work properly is way more of a pain than it should be. And i decided it was no longer wordt fighting for. So I’m switching to Godot. I’ve made some prototypes in it before, so at least I know the basics, and it’s way better suited for what I’m trying to build. The downside is development is gonna be paused for about a week while I set everything back up and rewrite some stuff. But after that? Should be able to move way faster, which will hopefully make up for the lost time.
devlog #6.1 Terrain I am almost finnished with the prosidural generation of the map which is gooing to make for way more variation in the game and beter planing were to place youre base.
Devlog #7: Fresh foundation As i mentioned in devlog #6, i am rebuilding the game in godot. I am almost done with the essentials and development has already almost doubled in speed. World generation I have build a biome system using three noise textures to determine temperature, altitude, and humidity. Each tile uses these values to determine which biome gets drawn. This means the world has natural variation and will hopefully look less boring. It also sets up the foundation for biome specific resources and mechanics down the line forcing players to make a bigger network. Road placement System You can now place roads this works with terrainSets which makes it easyer to draw roads. Roads are the only thing you can place for now. Vehicle Pathfinding I’ve also made a simple pathfinding script using the built-in NavigationAgent2D. The destinations are hardcoded for now. I’ve heard AStarGrid2D might be better suited for grid-based pathfinding in my case, so I’ll be researching how to implement that. What i still have to add Before I’m back where I was with the Greenfoot version, I still need to add: The factorys and their system The trailers physics The garage menu A couple small things
Devlog #8: Made UI Been working on the UI this weekend. its nothing special yet but it is good enough for now. Garage menu I have made a menu where you can see all your vehicles. It is pretty simple but i need it for programming the vehicles. Shop UI I have made a shop ui where you can buy the actual vehicles. The are sorted by type. You can see the stats and capabilities and you can decide if you want to buy the vehicles or if you want to finance it. Exstended selected tile UI I have also made some improvments and additions to the selected tile ui, you can now choose a variant if the selceted tiles has them like the factory. You can also see what number is connected to what if you hover over the ui. Overlay I am also working on a overlay so you can see the height, temperature and humidity I am doing this with a shader but it is not working how i expected at the moment because the shader doesn’t line up with my terrain.
Devlog #8.1: UI and lighting Today i have been focesing on the inviorment UI I have now linked up the hole UI. In the last devlog I had already shown the ui but now it also linked up properly with the game. Day Night cycle I am currently implementation a dynamic day/night cycle. Right now, the timing and transitions aren’t lining up the way I want them to, so i still need to do some fine tuning . Shaders / shadows This is where I’ve been strugeling. I’ve been trying to figure out how to implement proper 2D shadows. The issue is that the built in directional shadows in Godot aren’t really designed for top-down games. They make the sun’s shadows look infinitely long and completely distort the perspective. Every custom solution I’ve tried so far looks terrible. I’ve easily spent about 5 hours making custom shaders making a static shadow, but I’m still stuck. If you have any experience with top down 2D lighting or custom shadow shaders in Godot, please let me know in the comments! I could really use some help right now. The biggest problem is that the fastNoiseLite texture doesnt calculate the same in the shader as via the cpu which is also the thing that is hindering me in the ovelays.
Devlog #9: Supplychain Been working on the supplychain structere last 2 days, including new sprites Factorys I have made new factory sprites. All sprites are new i am not realy happy with how the steel and wire mill look but the rest look prety good i think. Resources I have also added a couple new resources their are 4 resource types now: copper, coal, gold, iron. The resources spauwn in mixed vains on the map determent by a NoiseTexture2D . What next I am now gooing to work on the logic for the factorys and i want to take a nother look at shadows because the didnt work last time but i have found a otherway to do it i want to try.
Devlog #10: Factory logic Just returnt from vacation, and i forgot to make a devlog before i went so i dont fully know anymore what i changed. Factory logic I have implemented the core factory system. Factories can now receive resources, process them and output the procesed resource. I haven’t fully tested the logic yet since the UI and vehicle systems ( needed for input/output) aren’t complete. More I have probebly done more but i dont know anymore because i have been a way for a week. What is next My next priority is implementing vehicle logic, but first i need to fix vehicle sprite scaling. Currently all vehicles are 11px wide, which makes a dump truck as wide as a car. I want to make everything a consistent scale (probably 5px = 1m) and update all sprites accordingly for a more realistic appearance.
Devlog #11: Vehicle logic I am currently working on the vehcile logic Vehicle logic There are alot of variables now that determain the behavier off the vehicles like engine and weight Sprite scaling I have fixed the scaling of the sprites. Last things for the vehicle logic I still need to implement the trailer logic and pathfinding.
Devlog #11.2: Trailer Logic and Pathfinding I’ve almost finished all the vehicle logic. Pathfinding A working pathfinding system is now in place using AStarGrid2D . This system works with vehicles both with and without trailers, and handles both on-road and off-road navigation. Trailers Trailers can now couple to vehicles with the correct hitch and follow them around in a realistic manner. The coupling mechanics work as they would in real life. Finishing Touches The vehicle logic still needs some fine-tuning, and I haven’t tested it yet with every vehicle type. I still need to implement the articulation system for the articulated dump truck.
Devlog #12: Planing I’ve put together a roadmap for the rest of development. Roadmap I’m planning to release the game in 3 weeks and have laid out a plan accordingly. Vehicle physics I’ve spent about half my time since the last devlog tweaking vehicle physics, and I’ve decided to compromise on a few things — for example, when the trailer jackknifes and gets stuck, it’ll just clip through the vehicle. Shop rework I am almost finished with reworking the shop it now displays all the stats that the vehicle uses
Devlog #13: Vehicles in the world I’ve connected the vehicle systems to the world and to the UI. Vehicle manager I’ve made a vehilce manager script. This manager stores and retrieves vehicle data efficiently by ID, making it easy for the UI and other systems to access vehicle information. Vehicle UI I’ve made a UI where you can see the fuel, total weigth, health and engine load of the vehicle by clicking on it. There are also 2 buttons 1 for selecting a route and the other for coupling a trailer. Spauwing When you buy a vehicle it gets assigned a base tile you now need a base tile per vehicle. Last things Next, I need to implement the route selection and trailer coupling buttons to complete the vehicle system integration as far as I can right now.
Devlog #14: Route UI and system I am currently working on the route ui and the route system. Route UI The route UI is almost done I only need to link it to the route system. Route system I am almost finished with the route system I only have to connect it to the vehicle and rewrite the factory system a bit so it works with the route system. there will be multiple modes distribution of one factory based on demand or a ping pong mode where it drives back and forward between 2 set points. You also will be able to assign vehicles to construction projects but this will come later. Trailer UI The trailer UI is finised you can connect trailers to vehicles via it.
Devlog #14.2: Route system The route system is now done Route sytem The route system turned out to be more complicated than initially expected. I restructured it so the route is calculated centrally in the Global script, and every instance using it reads from there. This keeps things synchronized and maintainable. For now, the system has one mode implemented: a ping-pong mode where vehicles travel back and forth between two set points. Vehicle physics There’s a persistent issue with vehicle physics where they cut corners and miss checkpoints, requiring them to turn around. I’ve set this aside for now to focus on other features, but it’s something I’ll need to fix down the line. I realy have no idea how though I cant seem to find the issue. Whats next The last major things before release are: Linking factories to vehicles so they can load and unload cargo Animating the excavators at the mine Building out the construction system
Devlog #15: Vehicle rework I’ve completely restructured how vehicles work under the hood. The main goal was to break down the code into readable, reusable pieces. Vehicle componentization The vehicle script had become too large to work with, so I split it into five scripts: vehicleBody.gd , drivetrainComponent.gd , path_movement_component.gd , CargoComponent.gd and attachment_component.gd . This makes the code easier to maintain and reduces the chance of bugs when adding new vehicle types. Vehicle data I have converted the nested Dictionaries into custom resources which makes it easier to add vehicles and less error prone. Pathfinding improvements I tweaked how the pathfinding works by chamfering the corners so vehicles navigate them more smoothly. It doesn’t look quite as I want yet, but combined with animations, it should look acceptable for now. This is something I’ll have to find a more permanent solution for later. Release I’m targeting version 1.0.0 for Saturday, August 22nd. There’s still quite a bit to do, but I think I can make it. I set this deadline because I’ll have less time once school starts.
Devlog 16: Factorys and aircraft I’ve reworked the factory sprites and added aircraft. Factory sprites I have made new sprites for every factory execpt the concrete mixing plant. the sprites are now 2x2 or larger so vehicles can realisticly unload there. Aircraft I’ve decided to add aircraft, which will serve as a trading terminal so you can trade with other villages, get contracts, and earn money. Aircraft fit well for this since no other villages spawn in the world. they let you trade with other vilages without them needing to exist in the world. I still need to add alot to make this work but currently I have a working runway building mecanic Next: Factories Next, I still need to build out the factory logic. I plan to make them with custom resources, just like vehicles. I made the new sprites first because I needed to know where (un)loading would need to happen before I could design the logic around it.
Devlog 17: Factory placement I’ve built a system for placing factories in the world. Factory placement Turns out it’s an absolute pain in the ass to place objects that are multiple tiles big while also having them connect to multiple Godot terrains. So I had to write a whole system that places every tile separately and keeps track of which tiles are occupied. Roads I also had to rework how roads are placed. Originally, every road type was its own terrain, but that doesn’t work if you want them all to connect to factories and to each other. So now they’re all just one terrain, and a script gives each tile the correct color for its road type. This only works because all the road types are identical in shape just different colors. Aircraft sprites I’ve added several new aircraft sprites: the Bo 105, the Twin Otter, the PC-6, and the H225. I’m planning to add the Chinook and the A400M next, which will round out the aircraft lineup for the beta launch. Release It’s going to be close. I’m not sure I’ll hit my self-imposed deadline, since some things took a lot longer than expected but I might still make it. Either way, I’m not going to rush it. I’d rather ship a week late than release something that gets 5 SD/h because it isn’t polished.
Devlog 18: Pre-baked docking paths I’ve implemented pre-baked docking paths for factory entrances to solve some pathfinding issues with vehicle physics. Pre-baked paths The A* pathfinding system was struggling to navigate the sharp corners around factory entrances. When the trailer tried to find its own path through these tight spaces, it would instantly jackknife, not ideal. Rather than spend 50+ hours refining the vehicle physics, I decided to pre-bake specific docking paths to each factory. It’s not a perfect solution visually, but it’s functional and gets the job done. I can always refine this for a post-launch update if needed. I’m still wrapping up the final details of the docking path system before moving on. Mines My next major task is implementing mine logic, which includes the excavator logic and ore detection and depletion. Aircraft After the mining logic I will add the last vital gameplay system the aircraft system which will be responsible trade and contracts with other villages. Release I’m currently deciding whether to push construction vehicle implementation to a post-beta update or delay the release by a week to include them. Construction vehicles aren’t vital to core gameplay, but they would add a lot of polish. I’m still on the fence about this one, it depends on how the mine logic implementation goes.
Devlog 19: Busy School has started again and I have been geting busy and my motivation is also not that high right now because things take alot longer and dont work like i want to. I think I will delay release to septembere 12th.
Devlog 20: UI and Trading Got the backend for the trading system done and overhauled the UI to go with it. Trading System I made a trading system. It generates contracts with the recipient’s name, the resource being traded, and the price. Basically the foundation for the aircraft system. UI Redesigned the time and date display because it looked kinda rough. Also switched the economy back to money instead of the resource, makes way more sense for trading. Oh, and vehicles now actually speed up when you speed up time, which is pretty cool. What’s Shipping vs Later I’m not including construction vehicles in the initial release because that’s like 40+ more hours of work and I want to actually finish this before Thirdspace starts (I’m gonna compete too). So yeah, that’s going to a post-launch update. Still gotta do: Get the excavators working (mines) ~5h Finish the trading system ~3h Fix vehicle physics again 😭~5h Random bugs and polish ~5h Hope I can get that done this week. Tryna hit at least 14sd/h so I can hopfuly buy that Framework 13 lol
Devlog 21: Trading Finished, but I’m Stuck I’ve finished the trading system! Trading System The trading system is done. Orders are generated, you can accept them, and accepted trades show up in the UI. The only thing left is adding the planes, but that depends on finishing the base-building system first. Base Building I’ve started working on base building. It’s pretty simple and mostly uses systems that already exist, so it should only take around an hour to fully implement. Stuck Development has been going way slower than I hoped because my codebase is currently a bunch of bandaids stacked on top of each other. I also need to ship this week since Thirdspace starts next week, which means I probably won’t have time to add much polish.So I need your opinion: is it worth delaying the game for another week? 😭 Or should I just ship it? Do you think I’ll still be able to afford the Framework 13 if I release it now? My current plan is to focus on getting the core systems working, fix any major bugs, and leave extra polish and construction vehicles for a post-launch update.
Devlog 22: Factory UI and Finished base building I’ve finished base building and am now working on the factory UI. Factory UI I’m working on the factory UI, where you can see the factory’s storage and change its recipe. It’s almost finished. Base building Base building is finished you can now make taxiways and build a warehouse. I’ve also put these into a UI like the factory’s, so it only takes one button. Vehicle physics/pathfinding I’ve spent yet another hour on vehicle physics/pathfinding, and I’ve narrowed it down to a bug in the handoff to the prebaked paths of the factories. Timeline I’m pretty sure I am gooing tho finish it this weekend. What’s left: Vehicle physics ~3h Mines/excavators ~5h Building construction (will reuse most of the factory logic) ~2h Random bugs and small things ~5h
Devlog 23: Vehicle pathfinding and construction I have fixed the vehicle pathfinding (mostly) and I have made the construction system. Vehicle pathfinding I have fixed the vehicle pathfinding and it works now mostly. I say mostly because it breaks when a trailer is equipped, but that is a way smaller thing to fix. Construction system It’s almost done. The system makes it so the resources actually have a function and you now need to deliver resources to a building site before the factory can get built. Still not done I know I said it would be done this weekend and it still isn’t, but it’s almost there. What I still have to do: The mine/excavator ~5h Finishing a couple of systems (like the construction and trade system) ~5h Make a savegame system ~5h Small things ~2h Documentation ~2h So 2 devlogs left, and otherwise I will just ship incomplete because I don’t have time anymore.
Devlog 24: Construction finished and start secunce made I’ve finished the construction system and made the start sequence actually playable by adding a resource box containing 10 iron bars needed to build a terminal. It’s been 2 weeks since my last devlog school and commitments to Third Space have kept me busier, so I’m not 100% certain I’ve captured everything that’s changed. Construction system The construction system now generates building routes that you can assign vehicles to. Resources must be delivered to a building site before construction begins, making the resource system meaningful in actual gameplay. Starting secunce The starting secunce now has a couple of steps: Place the resource box Place a runway Place a terminal Conect the runway with the terminal with a taxiway Place 4 base tiles for the vehicle to spawn on What has to be done: Mine/excavator system ~3h Finish trade system ~3h Save system ~2h Documentation ~2h
Devlog 25: Planes and saving! I’ve locked in over the last 2 days and finished the final 2 of the 3 major systems. I’ve completed the planes (which now spawn when you accept an order) and finished the saving system. Planes/order system I’ve finished the order system, when you accept an order, a plane now spawns a couple thousand pixels out. It flies to the airstrip, loads up at the end of the runway, turns around, and flies away. It doesn’t taxi all the way to the terminal because I just don’t have time for that, but it looks good enough for now. Saving You can now save 3 worlds in the game. Everything gets encrypted and saves all the world values. It was pretty difficult converting some of the arrays filled with instances into dictionaries and back again, but it works on both PC and on the web. whats left: The only things left are the excavator and some smaller things. I’m finishing that all tomorrow, and that will be the last devlog for my ship. The main gameplay loop should be finished by end of day tomorrow. If I can’t finish everything, so be it, I dont have time to work on it anymore if I also want to continu in third space, but I’m happy with how it works now and what I have learned along the way.
Devlog 26: Last devlog I’ve officially finished the game. It’s been an incredible journey, and I’m pretty happy with the end result. excavator The excavator is now fully functional. You can use it to create mines, which automatically convert into factories once placed. a lot of small things I have done a lot of small things to optimse the game and fix things i coudend test till now Release This is the last devlog I’ll be writing for this project. I want to thank you all for the support. I hope you enjoy playing the game.
Devlog 27: Tutorial: After feadback I have dicided to make a tutorial and made a couple quality of live updates that made the game easier to understand.
Ships:
Supply Chains Supply Chains is a game inspired by Transport Fever and Mindustry, centered around building road networks and logistics chains for construction and mining operations. Features Vehicles, trailers and a garage Route system: pick a source, a destination and a resource, then assign it to a vehicle Multi-step production chains Construction sites, trading, generated terrain, and A* pathfinding with road weights Controls: WASD camera, 1-5 build, right click remove, space pause. Everything else is in HELP.md . Known limitations I’m a solo dev, so some things aren’t finished. The full list is in the README. Hope you enjoy it!...
|
1792853836.385709
|
1792940236.385709
|
|
55049
|
SmartBin by @Vedant_Daga | Stardance
|
Vedant_Daga
|
0
|
11.41
|
0
|
[]
|
[{"post_id": 80748, "ts": "202 [{"post_id": 80748, "ts": "2026-10-18T18:14:17Z", "hours": 1.5514, "text": "Devlog 4 - Smart Bin i used a ton of AI to help me find the right parts for the cheapest dollar amount possible and then ordered them using the grant approval and they finally all shipped going to start lapsing me soldering the things (starting with pi headers etc)"}, {"post_id": 68931, "ts": "2026-09-16T02:05:39Z", "hours": 0.9875, "text": "Devlog 3 - Smart Bin got some feedback from the hardware reviewer said that my costs were too high and that I should switch to AliExpress and other sources for cheaper things looked into AliExpress and digikey for cheaper sources delivery fees are really high, so I swapped only the things that were free delievery cut down around 80 dollars from the BOM"}, {"post_id": 58591, "ts": "2026-08-31T02:00:40Z", "hours": 2.22, "text": "Devlog 2 - Smart Bin ml pipeline 6 modules, tensorflow only, three dependencies. cut it from 629 lines to 308, and the old one trained in pytorch then converted to tflite for the pi, so it needed both frameworks the split is by session, not by frame. frames from one session are near-duplicates, so a random split puts near-copies of your training data in the test set and the accuracy number means nothing evaluate.py prints both numbers and the gap. the frame-split one is there as the number not to believe firmware 11 files. trigger, weigh, light, capture, classify, decide, tilt, log, serve the safety rule is enforced twice: a confidence gate at runtime, and a config check that refuses to start if the rules file would ever send an unidentified item to recycling weight adjusts the result too. paper over 40 g is probably wet, so it goes to trash bom priced everything out, then checked the parts against my own schematic. found five problems: the mcp3208 had nothing to measure. its only connected input is the battery divider, and there’s no 12 V source in the build, so i dropped it the load cell “kit” ships an hx711 module. my hat already has an hx711 on it, and those modules run at 5 V where mine is deliberately at 3.3 V. bought the bare IC instead camera module 3 at $36 to module 2 at $9.49. autofocus is pointless when the camera and the pan never move relative to each other before: $283.52 now: $195.19"}, {"post_id": 57719, "ts": "2026-08-29T23:40:35Z", "hours": 6.6492, "text": "Devlog 1 - Smart Bin why: recycling bins get contaminated easily, and one bad load can get the whole bin rejected and landfilled. every recycling project i’ve seen is an app telling you which bin to use. i wanted the bin to just do it. schematic 34 components, 26 nets: pi header, load cell (hx711), battery sense (mcp3208), servo rail, led driver, break-beam hx711 runs at 3.3 v so both signals are pi-safe, which deletes 4 level-shifting parts servo has its own ground meeting pi ground at one 0r link. a shared return browns out the pi and corrupts the sd card caught a real bug: led on gpio18 and servo on gpio12 are both pwm0 board 65 × 45 mm, 2 layers, pi zero hat footprint. fully routed, ground plane poured. gerbers exported. cad 7 parts on a base plate: pan, hub, idler, servo mount, bearing block, pi mount, plate. it couldn’t move. pivot sat 16 mm above the plate, but the pan is 180 mm wide, so at 45° the edges swing 65 mm down and cut through it. raised the pivot to 70 mm also measured my actual mg996r instead of trusting the spec (it was actually 39.9 not 40.7 mm, shaft 10.95 off centre not 10.35) FYI i accidently cadded on fusion and forgot to lapse (there goes like 4 hours of my life) and i imported to onshape so u can see it"}]...
|
Title: SmartBin by @Vedant_Daga | Stardance
Devlo Title: SmartBin by @Vedant_Daga | Stardance
Devlogs:
Devlog 1 - Smart Bin why: recycling bins get contaminated easily, and one bad load can get the whole bin rejected and landfilled. every recycling project i’ve seen is an app telling you which bin to use. i wanted the bin to just do it. schematic 34 components, 26 nets: pi header, load cell (hx711), battery sense (mcp3208), servo rail, led driver, break-beam hx711 runs at 3.3 v so both signals are pi-safe, which deletes 4 level-shifting parts servo has its own ground meeting pi ground at one 0r link. a shared return browns out the pi and corrupts the sd card caught a real bug: led on gpio18 and servo on gpio12 are both pwm0 board 65 × 45 mm, 2 layers, pi zero hat footprint. fully routed, ground plane poured. gerbers exported. cad 7 parts on a base plate: pan, hub, idler, servo mount, bearing block, pi mount, plate. it couldn’t move. pivot sat 16 mm above the plate, but the pan is 180 mm wide, so at 45° the edges swing 65 mm down and cut through it. raised the pivot to 70 mm also measured my actual mg996r instead of trusting the spec (it was actually 39.9 not 40.7 mm, shaft 10.95 off centre not 10.35) FYI i accidently cadded on fusion and forgot to lapse (there goes like 4 hours of my life) and i imported to onshape so u can see it
Devlog 2 - Smart Bin ml pipeline 6 modules, tensorflow only, three dependencies. cut it from 629 lines to 308, and the old one trained in pytorch then converted to tflite for the pi, so it needed both frameworks the split is by session, not by frame. frames from one session are near-duplicates, so a random split puts near-copies of your training data in the test set and the accuracy number means nothing evaluate.py prints both numbers and the gap. the frame-split one is there as the number not to believe firmware 11 files. trigger, weigh, light, capture, classify, decide, tilt, log, serve the safety rule is enforced twice: a confidence gate at runtime, and a config check that refuses to start if the rules file would ever send an unidentified item to recycling weight adjusts the result too. paper over 40 g is probably wet, so it goes to trash bom priced everything out, then checked the parts against my own schematic. found five problems: the mcp3208 had nothing to measure. its only connected input is the battery divider, and there’s no 12 V source in the build, so i dropped it the load cell “kit” ships an hx711 module. my hat already has an hx711 on it, and those modules run at 5 V where mine is deliberately at 3.3 V. bought the bare IC instead camera module 3 at $36 to module 2 at $9.49. autofocus is pointless when the camera and the pan never move relative to each other before: $283.52 now: $195.19
Devlog 3 - Smart Bin got some feedback from the hardware reviewer said that my costs were too high and that I should switch to AliExpress and other sources for cheaper things looked into AliExpress and digikey for cheaper sources delivery fees are really high, so I swapped only the things that were free delievery cut down around 80 dollars from the BOM
Devlog 4 - Smart Bin i used a ton of AI to help me find the right parts for the cheapest dollar amount possible and then ordered them using the grant approval and they finally all shipped going to start lapsing me soldering the things (starting with pi headers etc)...
|
1792479168.349921
|
1793083968.349921
|