|
66232
|
CircuitShelf-Esp32 inventory by @ajmaleee__ | Star CircuitShelf-Esp32 inventory by @ajmaleee__ | Stardance...
|
ajmaleee__
|
0
|
2.07
|
0
|
[]
|
[{"post_id": 74935, "ts": "202 [{"post_id": 74935, "ts": "2026-09-28T17:05:44Z", "hours": 2.0683, "text": "Arduino Parts Tracker — Stages 1 & 2 I built an Arduino Parts Tracker because keeping track of all my modules and sensors was getting annoying!! Stage 1 was getting the core system working storing parts, locations, and basic navigation Stage 2 was about making it actually usable I implemented the 5 planned changes, cleaned up the interface, and improved navigation and data handling. I also designed a custom keypad skin for it. Small thing, but it makes the whole project feel much more finished. Both stages are working properly now. Still got 3 more stages planned. No point rushing them — I’ll build them when the current system is solid."}]...
|
Title: CircuitShelf-Esp32 inventory by @ajmaleee__ Title: CircuitShelf-Esp32 inventory by @ajmaleee__ | Stardance
Devlogs:
Arduino Parts Tracker — Stages 1 & 2 I built an Arduino Parts Tracker because keeping track of all my modules and sensors was getting annoying!! Stage 1 was getting the core system working storing parts, locations, and basic navigation Stage 2 was about making it actually usable I implemented the 5 planned changes, cleaned up the interface, and improved navigation and data handling. I also designed a custom keypad skin for it. Small thing, but it makes the whole project feel much more finished. Both stages are working properly now. Still got 3 more stages planned. No point rushing them — I’ll build them when the current system is solid....
|
1793094897.4281104
|
1793699697.4281104
|
|
65683
|
My meeting pad by @rayhan_fr | Stardance
|
rayhan_fr
|
0
|
2.94
|
0
|
[]
|
[{"post_id": 74940, "ts": "202 [{"post_id": 74940, "ts": "2026-09-28T17:17:52Z", "hours": 0.2711, "text": "started pcb"}, {"post_id": 74360, "ts": "2026-09-27T07:42:49Z", "hours": 0.3922, "text": "new wiring and started pcb"}, {"post_id": 74023, "ts": "2026-09-26T15:27:22Z", "hours": 1.475, "text": "done with wiring"}, {"post_id": 73963, "ts": "2026-09-26T12:29:50Z", "hours": 0.8019, "text": "just started to learn to make a pcb"}]...
|
Title: My meeting pad by @rayhan_fr | Stardance
D Title: My meeting pad by @rayhan_fr | Stardance
Devlogs:
just started to learn to make a pcb
done with wiring
new wiring and started pcb
started pcb...
|
1793090972.2010932
|
1793695772.2010932
|
|
65178
|
My awesome macropad! by @aaravvohra_ | Stardance
|
aaravvohra_
|
0
|
3.07
|
0
|
[]
|
[{"post_id": 74943, "ts": "202 [{"post_id": 74943, "ts": "2026-09-28T17:26:49Z", "hours": 0.3361, "text": "made case for the macropod on fusion. previewed with keys"}, {"post_id": 74849, "ts": "2026-09-28T13:15:12Z", "hours": 2.7333, "text": "made preliminary model of pcb on kicad"}]...
|
Title: My awesome macropad! by @aaravvohra_ | Star Title: My awesome macropad! by @aaravvohra_ | Stardance
Devlogs:
made preliminary model of pcb on kicad
made case for the macropod on fusion. previewed with keys...
|
1793084044.2175288
|
1793688844.2175288
|
|
14826
|
FoxyOs by @FIhhy | Stardance
|
FIhhy
|
0
|
1.07
|
0
|
[]
|
[{"post_id": 7495, "ts": "2026 [{"post_id": 7495, "ts": "2026-06-12T14:36:20Z", "hours": 1.0653, "text": "Got done with the first 3 parts of the guide."}]...
|
Title: FoxyOs by @FIhhy | Stardance
Devlogs:
Got Title: FoxyOs by @FIhhy | Stardance
Devlogs:
Got done with the first 3 parts of the guide....
|
1792626642.0632474
|
1793231442.0632474
|
|
65954
|
personal webby by @smollcoin | Stardance
|
smollcoin
|
0
|
8.28
|
0
|
[]
|
[{"post_id": 74953, "ts": "202 [{"post_id": 74953, "ts": "2026-09-28T17:46:47Z", "hours": 1.6514, "text": "added more details"}, {"post_id": 74506, "ts": "2026-09-27T15:08:46Z", "hours": 4.4714, "text": "this was what i did and im pretty proud of it also my copilot autocomplete got maxed out i am so sad"}, {"post_id": 74118, "ts": "2026-09-26T18:30:02Z", "hours": 2.16, "text": "so i initialised a new project and i did a bit of basic styling (dark and light mode, basic typography, base etc) and then i spent about 1.5 hours styling and finding the correct colors for my tetris blocks at first i tried just transforming it 90 degrees but it did not work and i was horrified that i have to key in all the different rotation states of 7 blocks. but thank the auto complete it made my life a little easier. i am quite sure there is a better way to go about doing this. i not sure but i am quite satisfied with what i have for now."}]...
|
Title: personal webby by @smollcoin | Stardance
D Title: personal webby by @smollcoin | Stardance
Devlogs:
so i initialised a new project and i did a bit of basic styling (dark and light mode, basic typography, base etc) and then i spent about 1.5 hours styling and finding the correct colors for my tetris blocks at first i tried just transforming it 90 degrees but it did not work and i was horrified that i have to key in all the different rotation states of 7 blocks. but thank the auto complete it made my life a little easier. i am quite sure there is a better way to go about doing this. i not sure but i am quite satisfied with what i have for now.
this was what i did and im pretty proud of it also my copilot autocomplete got maxed out i am so sad
added more details...
|
1793094488.6600554
|
1793699288.6600554
|
|
66597
|
HOME by @Myukyu | Stardance
|
Myukyu
|
0
|
0.35
|
0
|
[]
|
[{"post_id": 74957, "ts": "202 [{"post_id": 74957, "ts": "2026-09-28T18:04:01Z", "hours": 0.35, "text": "HOME #1: turning a cheap TV box into a homelab I can carry around I bought a used Android TV box (HG680P, 2 GB RAM, 8 GB eMMC) flashed with Armbian, and wanted a tiny personal server that lives in my bag. Starting point: I couldn’t even reach it. No router, no HDMI. The fix was sharing my laptop’s connection over a LAN cable (Windows ICS), ping-sweeping 192.168.137.x until something answered, then SSH-ing in. It now runs 4 services in Docker: a Homepage dashboard, Gitea (mirroring my GitHub repos), FileBrowser Quantum, and Uptime Kuma. It also does encrypted daily restic backups to my laptop, and I actually test-restored them (72/72 files identical, SQLite integrity checks OK). The interesting part was everything that went wrong: The box was pulling packages from Armbian’s nightly repo, and upgrades rewrite /boot. No HDMI means a bad boot = full reflash, so I froze the kernel, bootloader and initramfs, and checksum /boot before and after every upgrade. The SD slot kept failing flush commands. I spent ~3 hours testing the card with H2testw: the card was perfect, the slot wasn’t. The card now lives in a USB reader. Docker 29 stores images in containerd, not data-root. “Moving Docker to the SD card” would have silently filled the eMMC anyway. Filebrowser got archived mid-project (no more security patches), so I swapped to FileBrowser Quantum. My phone hotspot returns NAT64 addresses, which made Gitea refuse to mirror from GitHub. restic over SFTP to Windows broke because of an open Win32-OpenSSH chroot bug (#2263). I routed it through rclone instead of weakening the lockdown. How I work: I plan and make the decisions with Claude (chat), and Claude Code executes over SSH. Every change is logged and committed, so the whole box can be rebuilt from the repo."}]...
|
Title: HOME by @Myukyu | Stardance
Devlogs:
HOME Title: HOME by @Myukyu | Stardance
Devlogs:
HOME #1: turning a cheap TV box into a homelab I can carry around I bought a used Android TV box (HG680P, 2 GB RAM, 8 GB eMMC) flashed with Armbian, and wanted a tiny personal server that lives in my bag. Starting point: I couldn’t even reach it. No router, no HDMI. The fix was sharing my laptop’s connection over a LAN cable (Windows ICS), ping-sweeping 192.168.137.x until something answered, then SSH-ing in. It now runs 4 services in Docker: a Homepage dashboard, Gitea (mirroring my GitHub repos), FileBrowser Quantum, and Uptime Kuma. It also does encrypted daily restic backups to my laptop, and I actually test-restored them (72/72 files identical, SQLite integrity checks OK). The interesting part was everything that went wrong: The box was pulling packages from Armbian’s nightly repo, and upgrades rewrite /boot. No HDMI means a bad boot = full reflash, so I froze the kernel, bootloader and initramfs, and checksum /boot before and after every upgrade. The SD slot kept failing flush commands. I spent ~3 hours testing the card with H2testw: the card was perfect, the slot wasn’t. The card now lives in a USB reader. Docker 29 stores images in containerd, not data-root. “Moving Docker to the SD card” would have silently filled the eMMC anyway. Filebrowser got archived mid-project (no more security patches), so I swapped to FileBrowser Quantum. My phone hotspot returns NAT64 addresses, which made Gitea refuse to mirror from GitHub. restic over SFTP to Windows broke because of an open Win32-OpenSSH chroot bug (#2263). I routed it through rclone instead of weakening the lockdown. How I work: I plan and make the decisions with Claude (chat), and Claude Code executes over SSH. Every change is logged and committed, so the whole box can be rebuilt from the repo....
|
1793101713.5556653
|
1793706513.5556653
|
|
65434
|
New Tab Page by @ashish-raj-singh | Stardance
|
ashish-raj-singh
|
1
|
9.19
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T18:46:54Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Overview Although I have been a front-end web developer for long, but this concept of creating your own new tab page was completely new for me I have never even thought or heard of it it felt nice creating something which I will be using on a daily basis Version One have made this new tab page according to my own needs, very minimal, and only showing the things which I need to see Obviously there are a lot of things to add but right now this is something I can call version 1 I think I will first try the present and see if it requires some more features and require some changes instead of bloating it with abundance of features which i dont actually require day to day Challenges About the challenge part, I would say I’m reading about how can I actually replace my new tab page instead of just this website, and I found out that I can do that by writing a manifest file. So yeah, I am researching on that and see what I can do. I think challenge here mostly is something that is going to come next about researching out that manifest file about how to make it actually a new tab page. Future Scope (Version Two) How do I get that native right clicks on my page? And how do i track the times that other websites are using? Maybe make an extension to track the user behavior when he’s not on the page and display that on this page, on this landing page sp a lot of scope is there. lets see what’s come up in version two but for version now i think this is enough", "repo": "https://github.com/ashish757/new-tab-page", "demo": "https://new-tab-page-eta-gilt.vercel.app"}]...
|
[{"post_id": 74958, "ts": "202 [{"post_id": 74958, "ts": "2026-09-28T18:04:57Z", "hours": 1.6761, "text": "Devlog Last time reject due to my project being ai heavy, idk, the ui was generated with google stitch and then i coded it out, i just removed the css and redesign the website completely i took the inspiraation my from my old project, idk i made it like 3-4 years ago, link below https://ashish757.github.io/some-frontend-stuff/guess-the-number/index.html"}, {"post_id": 74373, "ts": "2026-09-27T08:21:54Z", "hours": 3.5097, "text": "Devlog 4 wrote some of css again, removed the AI snippets that I had used fixed some bugs like, error on refetching data when handle is chagned showed more info in cards thorugh codeforces and github apis (commits and next rank requirement in codeforces) the image in the bg was not loading on the first opening of the website, fixed that too"}, {"post_id": 74125, "ts": "2026-09-26T18:37:19Z", "hours": 0.6094, "text": "Devlog 3 this time i fixed the weather card, now it shows the correct weather based on your location, and also shows the correct time and date. i also made UI improvements and now the todo list is on the left side of the screen, almost 100% long added text shadow to text, so that its visible on any image as a background"}, {"post_id": 74026, "ts": "2026-09-26T15:31:12Z", "hours": 2.435, "text": "Devlog 2 so i started with goal to display info cards of my coding profiles from different platform, but turns out that i cant codechef has deprecated their public api, leetcode graphql api can only be accesed from server, so was only able to display my codeforces and github stats after this i added a toto list card, initially it was a card but later i made it like aa sidebar app insted for better UX i also worked on settings to customize the design , some thing i have completed like selecting which cards to display, theme, and bg, but there is still imporvement like more option for images, gradient and colour also more then just dark and light theme, maybe a comic theme and termical theme created a component for displaying time, date and weather, weather thing is yer to be completed"}, {"post_id": 73671, "ts": "2026-09-25T17:18:10Z", "hours": 1.0706, "text": "Devlog 1 ###For the new page tab here are my ideas i want to improve me Competitive Programing skill so my new tab page will revolve around that theme i will create some web shortcuts and a reading list thing theme customization is there, but i dont know i will try to provide as much as customizability i can Current Status have created a simple search bar the search bar can be focused by pressing “/” it also has options for three different search engines"}]...
|
Title: New Tab Page by @ashish-raj-singh | Stardan Title: New Tab Page by @ashish-raj-singh | Stardance
Devlogs:
Devlog 1 ###For the new page tab here are my ideas i want to improve me Competitive Programing skill so my new tab page will revolve around that theme i will create some web shortcuts and a reading list thing theme customization is there, but i dont know i will try to provide as much as customizability i can Current Status have created a simple search bar the search bar can be focused by pressing “/” it also has options for three different search engines
Devlog 2 so i started with goal to display info cards of my coding profiles from different platform, but turns out that i cant codechef has deprecated their public api, leetcode graphql api can only be accesed from server, so was only able to display my codeforces and github stats after this i added a toto list card, initially it was a card but later i made it like aa sidebar app insted for better UX i also worked on settings to customize the design , some thing i have completed like selecting which cards to display, theme, and bg, but there is still imporvement like more option for images, gradient and colour also more then just dark and light theme, maybe a comic theme and termical theme created a component for displaying time, date and weather, weather thing is yer to be completed
Devlog 3 this time i fixed the weather card, now it shows the correct weather based on your location, and also shows the correct time and date. i also made UI improvements and now the todo list is on the left side of the screen, almost 100% long added text shadow to text, so that its visible on any image as a background
Devlog 4 wrote some of css again, removed the AI snippets that I had used fixed some bugs like, error on refetching data when handle is chagned showed more info in cards thorugh codeforces and github apis (commits and next rank requirement in codeforces) the image in the bg was not loading on the first opening of the website, fixed that too
Devlog Last time reject due to my project being ai heavy, idk, the ui was generated with google stitch and then i coded it out, i just removed the css and redesign the website completely i took the inspiraation my from my old project, idk i made it like 3-4 years ago, link below https://ashish757.github.io/some-frontend-stuff/guess-the-number/index.html
Ships:
Overview Although I have been a front-end web developer for long, but this concept of creating your own new tab page was completely new for me I have never even thought or heard of it it felt nice creating something which I will be using on a daily basis Version One have made this new tab page according to my own needs, very minimal, and only showing the things which I need to see Obviously there are a lot of things to add but right now this is something I can call version 1 I think I will first try the present and see if it requires some more features and require some changes instead of bloating it with abundance of features which i dont actually require day to day Challenges About the challenge part, I would say I’m reading about how can I actually replace my new tab page instead of just this website, and I found out that I can do that by writing a manifest file. So yeah, I am researching on that and see what I can do. I think challenge here mostly is something that is going to come next about researching out that manifest file about how to make it actually a new tab page. Future Scope (Version Two) How do I get that native right clicks on my page? And how do i track the times that other websites are using? Maybe make an extension to track the user behavior when he’s not on the page and display that on this page, on this landing page sp a lot of scope is there. lets see what’s come up in version two but for version now i think this is enough...
|
1793213762.546389
|
1793300162.546389
|
|
61308
|
Signal Zero by @Makkonen | Stardance
|
Makkonen
|
0
|
19.86
|
0
|
[]
|
[{"post_id": 74959, "ts": "202 [{"post_id": 74959, "ts": "2026-09-28T18:06:41Z", "hours": 6.4008, "text": "Big game update! New levels I have updated level 2 and added test versions of levels 3 and 4. Level 2 You will have the first encounters with the robots, and after eliminating them (either deactivating or just shooting) you will find the first humans and free them, you will find out they are your neighbors and you will want to go to the (un named)robot company’s headquarters to find out more stuff. Level 3 You will be at the supposed “headquarters” only to find out that the robots have moved the headquarters to another location, but you don’t know where, in level 3 you will encounter an high-damage unit, it is an different color robot and it sure packs an punch, in other words IT WILL ONE SHOT YOU! But it has an small downside, its reaction time isn’t that good, and the weapon isn’t automatic so it will take an bit to reload the next bullet. Level 4 Level 4 is definetly my favorite, because of its variety in enemies! Level 4 has alot of different enemies like: Default, high damage, heavy and an new one! The light unit, the light unit has some serious reaction time, and it has high fire rate making it THE MOST DANGEROUS UNIT (yet :D) The robot is bright red to indicate the danger. New stuff I have added an new weapon, THE RIFLE! It has high damage and also good fire rate but it comes with an tradeoff, the recoil is pretty big, but once you master this weapon you will be unstoppable! (until i add new dangerous robots that is)"}, {"post_id": 70742, "ts": "2026-09-19T18:00:16Z", "hours": 6.6356, "text": "Introduction and Level 2 development Introduction So the introduction is not finished, this is just an test version, but its supposed to go like this: An robot breaks into Garys home, the robot tells Gary hes being moved into containment for his safety, Gary tells the robot hes not going anywhere, Gary grabs an gun and 1. Just shoots the robot 2. Deactivates the robot. Then he moves out and goes to Level 2 Level 2, the warehouse In level 2, Gary enters an warehouse owned by the robot company, he steps inside with an weapon of his choosing (SMG or Pistol), the robots recognise him as an threat and open fire, after hes dealt with the robots (I will add cover for the Android route) (I have not yet made the following stuff) he will find some humans locked in containment with an robot supplying them with living essentials, Gary frees the people and moves to the next level. Upgrades and changes I have updated the enemy AI so they now can navigate around walls (Before they just tried to ram theirselves throught them) And i have also added an new weapon, the SMG, an automatic weapon with an very nice fire rate, the damage isnt that good thought… I added an little panel to choose the weapons from at the start of an level (i will update the design) I added an little mainmenu and an intro showing an HugoStudios logo i made that i featured in my other game LASTSIGNAL. I added an new enemy type, i call it the heavy(wow so original) it is an slow robot that is packed with an big automatic gun and it is ready to shoot, the robot is big so its easier to hit but it also has alot more HP than Gary or an standard robot. I added an vision changer so now you can use your scroll wheel to zoom out or in to either see farther ahead and plan out your attack OR to admire Gary"}, {"post_id": 67362, "ts": "2026-09-13T13:18:47Z", "hours": 4.5969, "text": "BIG upgrades and routes Enemy AI I updated the enemy ai so now it will start chasing you if it sees you and you go behind cover, it works by first looking where you are, then going to your last known position and looking if you are there anymore. Overide feature You can now “slow down time” by holding right click, the name overide means that your reactions and actions are faster than the robots systems. The overide lasts 5 seconds and makes your screen darker the more you use it, it refreshes after 1 second of not using it. Routes and deactivation You can now “Deactivate” the robots by sneaking near them so they dont see you and then pressing E. It does not work if the robot is attacking you. If you dont harm any robots in the whole game, you will achieve the “Android” route. If you on the opposite side choose to destroy every robot, you will get the “true terminator” route. And if you do between these two you will get the neutral/normal route. Graphics and sounds The shooting now makes an white bullet trail and where ever the shot lands, it creates an particle hit effect. The weapons now have sounds when shootting. Gary(Player) and the Robot now have actual models and animations!"}, {"post_id": 66643, "ts": "2026-09-12T14:27:04Z", "hours": 2.2292, "text": "Working systems! Weapon mechanic I made an working weapon and added some small light effects, i made the bullets come out of the players chest because the bullets kept going through walls. Working AI I made an ai that has an raycast vision of 90 degrees and it tries to stay at an distance of the player and shoot him, i made an seperate layer for the “obstacles” So the ai cant shoot through them or see through them Camera and player The camera follows the player with light shakes when shooting and it has an slight delay when moving Storyline I have been thinking of the story and i came up with this: Its the year 3012, the world has united into one big nation and deployed robots whose only command is to protect humans, but they understood it wrong and decided to lock the humans up in prisons so no crime can be commited, and Gary (the protagonist) has to free all of the humans and disable the robots in an big server room located at the companys headquarters!"}]...
|
Title: Signal Zero by @Makkonen | Stardance
Devlo Title: Signal Zero by @Makkonen | Stardance
Devlogs:
Working systems! Weapon mechanic I made an working weapon and added some small light effects, i made the bullets come out of the players chest because the bullets kept going through walls. Working AI I made an ai that has an raycast vision of 90 degrees and it tries to stay at an distance of the player and shoot him, i made an seperate layer for the “obstacles” So the ai cant shoot through them or see through them Camera and player The camera follows the player with light shakes when shooting and it has an slight delay when moving Storyline I have been thinking of the story and i came up with this: Its the year 3012, the world has united into one big nation and deployed robots whose only command is to protect humans, but they understood it wrong and decided to lock the humans up in prisons so no crime can be commited, and Gary (the protagonist) has to free all of the humans and disable the robots in an big server room located at the companys headquarters!
BIG upgrades and routes Enemy AI I updated the enemy ai so now it will start chasing you if it sees you and you go behind cover, it works by first looking where you are, then going to your last known position and looking if you are there anymore. Overide feature You can now “slow down time” by holding right click, the name overide means that your reactions and actions are faster than the robots systems. The overide lasts 5 seconds and makes your screen darker the more you use it, it refreshes after 1 second of not using it. Routes and deactivation You can now “Deactivate” the robots by sneaking near them so they dont see you and then pressing E. It does not work if the robot is attacking you. If you dont harm any robots in the whole game, you will achieve the “Android” route. If you on the opposite side choose to destroy every robot, you will get the “true terminator” route. And if you do between these two you will get the neutral/normal route. Graphics and sounds The shooting now makes an white bullet trail and where ever the shot lands, it creates an particle hit effect. The weapons now have sounds when shootting. Gary(Player) and the Robot now have actual models and animations!
Introduction and Level 2 development Introduction So the introduction is not finished, this is just an test version, but its supposed to go like this: An robot breaks into Garys home, the robot tells Gary hes being moved into containment for his safety, Gary tells the robot hes not going anywhere, Gary grabs an gun and 1. Just shoots the robot 2. Deactivates the robot. Then he moves out and goes to Level 2 Level 2, the warehouse In level 2, Gary enters an warehouse owned by the robot company, he steps inside with an weapon of his choosing (SMG or Pistol), the robots recognise him as an threat and open fire, after hes dealt with the robots (I will add cover for the Android route) (I have not yet made the following stuff) he will find some humans locked in containment with an robot supplying them with living essentials, Gary frees the people and moves to the next level. Upgrades and changes I have updated the enemy AI so they now can navigate around walls (Before they just tried to ram theirselves throught them) And i have also added an new weapon, the SMG, an automatic weapon with an very nice fire rate, the damage isnt that good thought… I added an little panel to choose the weapons from at the start of an level (i will update the design) I added an little mainmenu and an intro showing an HugoStudios logo i made that i featured in my other game LASTSIGNAL. I added an new enemy type, i call it the heavy(wow so original) it is an slow robot that is packed with an big automatic gun and it is ready to shoot, the robot is big so its easier to hit but it also has alot more HP than Gary or an standard robot. I added an vision changer so now you can use your scroll wheel to zoom out or in to either see farther ahead and plan out your attack OR to admire Gary
Big game update! New levels I have updated level 2 and added test versions of levels 3 and 4. Level 2 You will have the first encounters with the robots, and after eliminating them (either deactivating or just shooting) you will find the first humans and free them, you will find out they are your neighbors and you will want to go to the (un named)robot company’s headquarters to find out more stuff. Level 3 You will be at the supposed “headquarters” only to find out that the robots have moved the headquarters to another location, but you don’t know where, in level 3 you will encounter an high-damage unit, it is an different color robot and it sure packs an punch, in other words IT WILL ONE SHOT YOU! But it has an small downside, its reaction time isn’t that good, and the weapon isn’t automatic so it will take an bit to reload the next bullet. Level 4 Level 4 is definetly my favorite, because of its variety in enemies! Level 4 has alot of different enemies like: Default, high damage, heavy and an new one! The light unit, the light unit has some serious reaction time, and it has high fire rate making it THE MOST DANGEROUS UNIT (yet :D) The robot is bright red to indicate the danger. New stuff I have added an new weapon, THE RIFLE! It has high damage and also good fire rate but it comes with an tradeoff, the recoil is pretty big, but once you master this weapon you will be unstoppable! (until i add new dangerous robots that is)...
|
1793040531.433506
|
1793645331.433506
|
|
36389
|
Cyberdeck by @sn3ak | Stardance
|
sn3ak
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T19:01:42Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my cyberdeck. Its powered by a raspberry pi 5 and has a 5 inch touchscreen. it is also equipped with a touch pad and keyboard (yes the keyboard says keyboard on it). This is my first hardware project, I have learnt many new things like how to 3d design and how to use a 3d printer. Stardance has really motivated me to complete this project as before it was just an idea in my head that would probably never see the light of day.", "repo": "https://github.com/sn3ak14/Cyberdeck", "demo": ""}]...
|
[{"post_id": 74960, "ts": "202 [{"post_id": 74960, "ts": "2026-09-28T18:13:56Z", "hours": 2.6008, "text": "I finished! After a lot of work and tears a I have finished my cyberdeck! I am ready to ship my project thank you all for the support and good luck with your projects."}, {"post_id": 65499, "ts": "2026-09-10T18:01:27Z", "hours": 2.0503, "text": "New prototype design. I took a break from the project but I’m back now and have decided to take a different approach to the design, rather than putting it inside of a pelican case I’m making its own outer shell this new design should be a lot smaller and easier to work with it is currently a very crude and basic design but this will change, don’t worry. I plan on printing it very soon."}, {"post_id": 37751, "ts": "2026-07-30T17:42:09Z", "hours": 0.5, "text": "Printed the base for my Cyberdeck. I finely was able to print the bottom half of the deck and it went well! the keyboard hole was to small and I haven’t ordered the trackpad yet so I don’t know if it fits. My biggest problem right now is I cant 3d print parts all the time and usually have to wait days between designs this is because I have to travel to use the 3D printer and it also is a shared printer so I cant always use it making time between prints take ages hopefully when I ship my project I will be able to get a 3d printer it would make all of my future projects so much easier to do. Next I plan on printing MK2 for the top half of the design and after I iron out all of the problems I can start to make the deck look amazing."}, {"post_id": 34777, "ts": "2026-07-25T19:24:27Z", "hours": 0.2836, "text": "MK2 Cyberdeck panel. I re-model MK1 to have a better fit for all of the components and rearranged them a bit however the Cyberdeck is looking empty and boring I am thinking of adding switches or possibly another screen but can think of what they will do, my plan is by the next model to decide what the theme should be by making some kind of mood board and then add things accordingly if you have any ideas please let me know in the comments."}, {"post_id": 34201, "ts": "2026-07-24T18:36:07Z", "hours": 0.3325, "text": "Fixing old keyboard. the wires were broken near the connection points I performed a temporary twist and splice on the exposed wired I plan to solder a new cable later but for now it works!"}, {"post_id": 34148, "ts": "2026-07-24T17:25:45Z", "hours": 0.2844, "text": "2 updates to the project, I 3d printed the MK1 top piece with varying success and modelled the MK1 base panel. after ages of waiting for the 3d printer I rent to be free I printed it, it fits the case and the components well (although the screen hole was a lot bigger than it needed to be) however I encountered 2 major errors 1. the dowels I used to connect the two half’s were to big and made gaps in the model, and 2. I may or may not have forgotten to turn supports on witched caused the model to sag a bit but it turned out ok in the end. Next I plan on printing the base panel and re-modelling the top panel."}, {"post_id": 30752, "ts": "2026-07-18T16:10:06Z", "hours": 0.2533, "text": "Cut the panel in half, added dowels to connect them. next I plan on printing it and seeing what i can do to improve it"}, {"post_id": 30099, "ts": "2026-07-17T12:30:05Z", "hours": 0.5225, "text": "MK1 the first test design for the top panel of my cyber deck very early design and will be subject to change. one problem I’m facing is the 3d printer that is available to me (its not mine its kinda like a rental) is to small to fit the whole panel so I will have to print it in separate parts and figure out a way to connect them."}]...
|
Title: Cyberdeck by @sn3ak | Stardance
Devlogs:
M Title: Cyberdeck by @sn3ak | Stardance
Devlogs:
MK1 the first test design for the top panel of my cyber deck very early design and will be subject to change. one problem I’m facing is the 3d printer that is available to me (its not mine its kinda like a rental) is to small to fit the whole panel so I will have to print it in separate parts and figure out a way to connect them.
Cut the panel in half, added dowels to connect them. next I plan on printing it and seeing what i can do to improve it
2 updates to the project, I 3d printed the MK1 top piece with varying success and modelled the MK1 base panel. after ages of waiting for the 3d printer I rent to be free I printed it, it fits the case and the components well (although the screen hole was a lot bigger than it needed to be) however I encountered 2 major errors 1. the dowels I used to connect the two half’s were to big and made gaps in the model, and 2. I may or may not have forgotten to turn supports on witched caused the model to sag a bit but it turned out ok in the end. Next I plan on printing the base panel and re-modelling the top panel.
Fixing old keyboard. the wires were broken near the connection points I performed a temporary twist and splice on the exposed wired I plan to solder a new cable later but for now it works!
MK2 Cyberdeck panel. I re-model MK1 to have a better fit for all of the components and rearranged them a bit however the Cyberdeck is looking empty and boring I am thinking of adding switches or possibly another screen but can think of what they will do, my plan is by the next model to decide what the theme should be by making some kind of mood board and then add things accordingly if you have any ideas please let me know in the comments.
Printed the base for my Cyberdeck. I finely was able to print the bottom half of the deck and it went well! the keyboard hole was to small and I haven’t ordered the trackpad yet so I don’t know if it fits. My biggest problem right now is I cant 3d print parts all the time and usually have to wait days between designs this is because I have to travel to use the 3D printer and it also is a shared printer so I cant always use it making time between prints take ages hopefully when I ship my project I will be able to get a 3d printer it would make all of my future projects so much easier to do. Next I plan on printing MK2 for the top half of the design and after I iron out all of the problems I can start to make the deck look amazing.
New prototype design. I took a break from the project but I’m back now and have decided to take a different approach to the design, rather than putting it inside of a pelican case I’m making its own outer shell this new design should be a lot smaller and easier to work with it is currently a very crude and basic design but this will change, don’t worry. I plan on printing it very soon.
I finished! After a lot of work and tears a I have finished my cyberdeck! I am ready to ship my project thank you all for the support and good luck with your projects.
Ships:
This is my cyberdeck. Its powered by a raspberry pi 5 and has a 5 inch touchscreen. it is also equipped with a touch pad and keyboard (yes the keyboard says keyboard on it). This is my first hardware project, I have learnt many new things like how to 3d design and how to use a 3d printer. Stardance has really motivated me to complete this project as before it was just an idea in my head that would probably never see the light of day....
|
1793145346.2920566
|
1793231746.2920566
|
|
65021
|
My first slack bot! by @shaurya500 | Stardance
|
shaurya500
|
0
|
0.65
|
0
|
[]
|
[{"post_id": 74974, "ts": "202 [{"post_id": 74974, "ts": "2026-09-28T19:11:45Z", "hours": 0.6514, "text": "currently working on giving the slackbot the control of my systems to make it think and do things for me as per commands"}]...
|
Title: My first slack bot! by @shaurya500 | Starda Title: My first slack bot! by @shaurya500 | Stardance
Devlogs:
currently working on giving the slackbot the control of my systems to make it think and do things for me as per commands...
|
1793083750.4991543
|
1793688550.4991543
|
|
66442
|
Teencode by @Mourad | Stardance
|
Mourad
|
0
|
0.28
|
0
|
[]
|
[{"post_id": 74975, "ts": "202 [{"post_id": 74975, "ts": "2026-09-28T19:13:30Z", "hours": 0.2831, "text": "Look at this guys im cooking"}]...
|
Title: Teencode by @Mourad | Stardance
Devlogs:
L Title: Teencode by @Mourad | Stardance
Devlogs:
Look at this guys im cooking...
|
1793098375.1338885
|
1793703175.1338885
|
|
66086
|
Kernel.panic by @Kathirvelan_S | Stardance
|
Kathirvelan_S
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T19:19:42Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So i made a terminal style horror webgame. the most challenging part was honestly the debugging, i made a lot of typos as i was in a time constraint as my exams were beginning and i wanted to finish it before then. I am mainly proud of the audio part, this is the first time im ever adding audio to a website of mine, and i even voice recorded this myself :). Just know there is a jumpscare", "repo": "https://github.com/Kathirvelan-s-gh/kernel.panic", "demo": "https://kernel-panic-sand.vercel.app/"}]...
|
[{"post_id": 74977, "ts": "202 [{"post_id": 74977, "ts": "2026-09-28T19:15:54Z", "hours": 7.7144, "text": "I sat down basically did a marathon doing the full script in one sitting, debugging honestly took the most time as i had a lot of typos cus i was sleep deprived. but now it works :)"}, {"post_id": 74160, "ts": "2026-09-26T20:02:54Z", "hours": 0.4439, "text": "Starting off pretty strong so far"}]...
|
Title: Kernel.panic by @Kathirvelan_S | Stardance
Title: Kernel.panic by @Kathirvelan_S | Stardance
Devlogs:
Starting off pretty strong so far
I sat down basically did a marathon doing the full script in one sitting, debugging honestly took the most time as i had a lot of typos cus i was sleep deprived. but now it works :)
Ships:
So i made a terminal style horror webgame. the most challenging part was honestly the debugging, i made a lot of typos as i was in a time constraint as my exams were beginning and i wanted to finish it before then. I am mainly proud of the audio part, this is the first time im ever adding audio to a website of mine, and i even voice recorded this myself :). Just know there is a jumpscare...
|
1793216884.113154
|
1794080884.113154
|
|
65656
|
BLARE V1 by @IsoVoir | Stardance
|
IsoVoir
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T21:13:43Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made BLARE_ALARM_V1, an ESP32-C3 embedded hardware project. As a beginner, I faced a lots of huge challenges of this huge workflow revolving around assemble of the circuital parts and CAD designing, PCB layout routing, but I learn specifically give time to project and it gives lots of learning to understand the complex problem gave us a strong grasp of concept. I am proud of my absolute dedication to this project. It proved to me that learning entirely new technical skills never goes wasted and conserved in a very healthy manner which can be ignited by little bit of curiosity. Reviewers should check the repository homepage, where the README file provides a detailed showcase with cropped screenshots of the Onshape enclosure assembly, the KiCad circuit schematics, and the routed PCB layout. The editable project designs are neatly grouped in the CAD and PCB folders using relative path structures, and the final production-ready manufacturing assets are completely bundled within the single gerbers.zip archive inside the Production directory.", "repo": "https://github.com/kumarishan0825/Blare_Alarm_v1", "demo": ""}]...
|
[{"post_id": 74980, "ts": "202 [{"post_id": 74980, "ts": "2026-09-28T19:26:32Z", "hours": 2.7692, "text": "I FINALLY COMPLETED MY BLARE_ALARM TASK. BRO IT DOESN’T LOOK SO ELEGANT BUT TOO SIMPLE BUT I’M HAPPY BECAUSE IT WAS MY FIRST EXPOSURE TO LEARN THIS."}, {"post_id": 74148, "ts": "2026-09-26T19:33:28Z", "hours": 6.7433, "text": "hey guys, i am new in CAD so could you please help me because for display mount i want to increase the bottom part but select whole area of display section like a certain area I defined for display and i have to sketch the mount region but as i go to excruding that portion the whole area would lifted and makes me more frustating. Suggest me some tips and also suggest me any other app to ease in understanding what to do"}, {"post_id": 73679, "ts": "2026-09-25T17:54:14Z", "hours": 4.5753, "text": "I am new in cad designing and also faces lots of difficulties in applying like buttons on the pcb. After I tried many things such as transform property etc but sometimes it shows that its directional position not be done .. how do i build my stuff"}]...
|
Title: BLARE V1 by @IsoVoir | Stardance
Devlogs:
Title: BLARE V1 by @IsoVoir | Stardance
Devlogs:
I am new in cad designing and also faces lots of difficulties in applying like buttons on the pcb. After I tried many things such as transform property etc but sometimes it shows that its directional position not be done .. how do i build my stuff
hey guys, i am new in CAD so could you please help me because for display mount i want to increase the bottom part but select whole area of display section like a certain area I defined for display and i have to sketch the mount region but as i go to excruding that portion the whole area would lifted and makes me more frustating. Suggest me some tips and also suggest me any other app to ease in understanding what to do
I FINALLY COMPLETED MY BLARE_ALARM TASK. BRO IT DOESN’T LOOK SO ELEGANT BUT TOO SIMPLE BUT I’M HAPPY BECAUSE IT WAS MY FIRST EXPOSURE TO LEARN THIS.
Ships:
I made BLARE_ALARM_V1, an ESP32-C3 embedded hardware project. As a beginner, I faced a lots of huge challenges of this huge workflow revolving around assemble of the circuital parts and CAD designing, PCB layout routing, but I learn specifically give time to project and it gives lots of learning to understand the complex problem gave us a strong grasp of concept. I am proud of my absolute dedication to this project. It proved to me that learning entirely new technical skills never goes wasted and conserved in a very healthy manner which can be ignited by little bit of curiosity. Reviewers should check the repository homepage, where the README file provides a detailed showcase with cropped screenshots of the Onshape enclosure assembly, the KiCad circuit schematics, and the routed PCB layout. The editable project designs are neatly grouped in the CAD and PCB folders using relative path structures, and the final production-ready manufacturing assets are completely bundled within the single gerbers.zip archive inside the Production directory....
|
1792965184.6714365
|
1793829184.6714365
|
|
48449
|
Lookout Os by @yourfiyan | Stardance
|
yourfiyan
|
1
|
18.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T19:46:38Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "WebOs A desktop OS that runs in the web I built it using only HTML, CSS and JavaScript. Thats all i started this with the Hack Club webOS guide and then added more apps including my own stuff What it have? Calculator 2048 game (love this game) Notes Weather Music Player That’s all!", "repo": "https://github.com/Yourfiyan/WebOs", "demo": "https://yourfiyan.is-a.dev/WebOs/"}]...
|
[{"post_id": 74983, "ts": "202 [{"post_id": 74983, "ts": "2026-09-28T19:29:52Z", "hours": 3.4286, "text": "Wrapping thing up All i did in this session was reorganized the desktop and app windows, improved the terminal commands, and fix window dragging boundaries, And at last added a readme file"}, {"post_id": 64904, "ts": "2026-09-09T16:46:13Z", "hours": 11.8808, "text": "Just changed the whole look of it. Well now the taskbar is below and I added this cool Liquid Glass theme for the windows. Also added some new commands to the terminal, along with new apps like Contacts, Projects, Weather, and even 2048. And yup thats pretty much it for now"}, {"post_id": 48826, "ts": "2026-08-17T11:34:42Z", "hours": 2.5803, "text": "I called it Lookout Os.. well nothing too much to see really, build the whole look around the wallpaper I found. Nothing too crazy, There are two apps for now, Crate is basically my music records and ahh the terminal, in there we got some commands that can be displayed by help command yup thats all for now"}]...
|
Title: Lookout Os by @yourfiyan | Stardance
Devlo Title: Lookout Os by @yourfiyan | Stardance
Devlogs:
I called it Lookout Os.. well nothing too much to see really, build the whole look around the wallpaper I found. Nothing too crazy, There are two apps for now, Crate is basically my music records and ahh the terminal, in there we got some commands that can be displayed by help command yup thats all for now
Just changed the whole look of it. Well now the taskbar is below and I added this cool Liquid Glass theme for the windows. Also added some new commands to the terminal, along with new apps like Contacts, Projects, Weather, and even 2048. And yup thats pretty much it for now
Wrapping thing up All i did in this session was reorganized the desktop and app windows, improved the terminal commands, and fix window dragging boundaries, And at last added a readme file
Ships:
WebOs A desktop OS that runs in the web I built it using only HTML, CSS and JavaScript. Thats all i started this with the Hack Club webOS guide and then added more apps including my own stuff What it have? Calculator 2048 game (love this game) Notes Weather Music Player That’s all!...
|
1793148518.1681676
|
1793234918.1681676
|
|
42942
|
PikaOS by @notvedansh | Stardance
|
notvedansh
|
1
|
29.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T08:32:02Z", "hours": 29.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "The main idea behind this project was to make an operating system with a virtual assistant, so I chose Pikachu as the main theme. Now, for the cool features: the Pikachu assistant can move on your screen. Clicking it will make it stop, and it will open a panel where you can type things from a selected range of inputs that will make Pikachu do the certain things I have written about in my devlogs; you can see those. Well, it also has a terminal and a file manager which are fully functional. The main thing I see from this project is a base for version 2 of the project. I have a set of goals which I would complete in the next version. I think I learned a lot from handling the CMake errors; at least, I think almost every time I compiled the code, I had at least atleast one error. And yh i think that’s it.", "repo": "https://github.com/vedansh201/PikaOS", "demo": "https://github.com/vedansh201/PikaOS/releases/tag/Version-1"}]...
|
[{"post_id": 74985, "ts": "202 [{"post_id": 74985, "ts": "2026-09-28T19:35:22Z", "hours": 1.5372, "text": "#Final Devlog Alright so yeah you all haven’t heard from me in a while now, and I am very,, very sorry for that like I couldn’t manage a project of this level with my daily life and there were some family complications. But long story short, I created version 1 of this operating system. Now it’s not fancy and does not have all the desired features i promised it would have, but it’s version 1 so yeah. There will be new versions of this, and I think the next version will be the final version of it. I am proud of it what i have made, like, most of my time was wasted in handling the cmake errors so yeah, but still I think it has the perfect base for upcoming features. And for what i did to complete it - i did all the wiring of the system like i completed the main base and did the panel work so like now when we click the start button it opens a panel with two options file manager and terminal. So yeah, that’s it, guys: version 1 of PikaOS is finally complete."}, {"post_id": 60166, "ts": "2026-09-02T11:43:24Z", "hours": 8.6597, "text": "Devlog 6 Well, every Operating system needs a file manager, so I completed one. It now has folder navigation, sidebar locations, creating files and folders, renaming, deleting, properties, right-click menus, multi-selection, and multi-file copy/cut/paste. I have added it to the assistant so that typing “open files” will open the file manager. Now I will add more features to this, but I want to complete the base of the whole O.S. first. I had to handle so many CMake errors; handling them took most of my time."}, {"post_id": 52281, "ts": "2026-08-22T12:01:52Z", "hours": 5.48, "text": "Devlog 5 Well sorry for the late devlog i was little busy with my school life. The good thing is the terminal is now finally ready in the operating system. I initially had the terminal running Bash through QProcess, which worked for simple commands, but it had limitations. Things like Ctrl+C, interactive programs, terminal formatting, and commands such as ping weren’t behaving like they would in a real terminal. So I switched to a PTY (pseudo-terminal) approach using Linux’s forkpty(). Last time u saw the assistant working, I also connected my assistant to this terminal, not the Konsole which I was using earlier. Also sorry for the vid quality and voice"}, {"post_id": 44732, "ts": "2026-08-10T17:52:16Z", "hours": 3.9169, "text": "Devlog 4 So I don’t think I have mentioned why I’m tinkering with a Pikachu image. So I think it’s time to reveal to you my plan for this operating system. I wanted my operating system to have an assistant that would help with small tasks such as creating folders open terminal. So, like now, when you click Pikachu, you will open a dialogue box in which you can type things. ** FEW FUNCTIONS IT CAN DO RIGHT NOW ** –> It can open the terminal. –> It can tell the battery status. –> It can tell the date and time. –> It can create files and folders. –> It has a help command too, so that if you want to know what things it can do. Now, what happens when you type something it doesn’t understand? It says, “I don’t know this command”. I will be improving the assistant more in the upcoming days, but setting up the logic for this much part only is exhausting."}, {"post_id": 42787, "ts": "2026-08-07T17:52:08Z", "hours": 3.2186, "text": "Devlog 3 So, over the last two days, I spent making Pikachu move left to right; I mean, now Pikachu can move a random distance in a random time. He can move 50 pixels in the left direction and then wait for some random time and then start moving again in random directions. Also, it flips the image, so if it moves left, the image gets flipped, and up and down motion is as it is. Now this may seem very little, but trust me, the level of errors I have encountered is crazy. Here is a video attached. ignore the vid quality."}, {"post_id": 41232, "ts": "2026-08-05T09:40:04Z", "hours": 2.2336, "text": "Devlog 2 So after spending a considerable amount of time thinking about which thing to start from, I went with polishing the Pikachu transparent image I have on the desktop. So now it is draggable!! And you can drag it from one place to another. I also added a simple up-and-down animation to it. So now the image moves up and down, and once you drag it to some other place, it will do the same at that place too. My plan for it is that after this, I will add walking, sleeping and idle motion. PS - sorry for the video quality."}, {"post_id": 40806, "ts": "2026-08-04T15:53:23Z", "hours": 3.6608, "text": "#Devlog 1 So I planned to build an operating system that is built around my favourite Pokémon, Pikachu. I am building it in Oracle VirtualBox. I will mainly use C++ for this because they are faster and also because I want to build something using my C++ skills. So what I did is not that interesting: I set up my vbox, installed git and connected hackatime to it. What I actually coded: Created a dedicated Pikachuwidget Loaded the sprite through Qt’s resource system Fixed resource loading issues and CMake errors I downloaded an image from browser that is transparent and added it to the desktop layer of pikashell. I also added functions so that it shows the time in the panel. Now I know it sounds simple, but it took me lots of time to figure out why the image is not showing up on the desktop layer."}]...
|
Title: PikaOS by @notvedansh | Stardance
Devlogs: Title: PikaOS by @notvedansh | Stardance
Devlogs:
#Devlog 1 So I planned to build an operating system that is built around my favourite Pokémon, Pikachu. I am building it in Oracle VirtualBox. I will mainly use C++ for this because they are faster and also because I want to build something using my C++ skills. So what I did is not that interesting: I set up my vbox, installed git and connected hackatime to it. What I actually coded: Created a dedicated Pikachuwidget Loaded the sprite through Qt’s resource system Fixed resource loading issues and CMake errors I downloaded an image from browser that is transparent and added it to the desktop layer of pikashell. I also added functions so that it shows the time in the panel. Now I know it sounds simple, but it took me lots of time to figure out why the image is not showing up on the desktop layer.
Devlog 2 So after spending a considerable amount of time thinking about which thing to start from, I went with polishing the Pikachu transparent image I have on the desktop. So now it is draggable!! And you can drag it from one place to another. I also added a simple up-and-down animation to it. So now the image moves up and down, and once you drag it to some other place, it will do the same at that place too. My plan for it is that after this, I will add walking, sleeping and idle motion. PS - sorry for the video quality.
Devlog 3 So, over the last two days, I spent making Pikachu move left to right; I mean, now Pikachu can move a random distance in a random time. He can move 50 pixels in the left direction and then wait for some random time and then start moving again in random directions. Also, it flips the image, so if it moves left, the image gets flipped, and up and down motion is as it is. Now this may seem very little, but trust me, the level of errors I have encountered is crazy. Here is a video attached. ignore the vid quality.
Devlog 4 So I don’t think I have mentioned why I’m tinkering with a Pikachu image. So I think it’s time to reveal to you my plan for this operating system. I wanted my operating system to have an assistant that would help with small tasks such as creating folders open terminal. So, like now, when you click Pikachu, you will open a dialogue box in which you can type things. ** FEW FUNCTIONS IT CAN DO RIGHT NOW ** –> It can open the terminal. –> It can tell the battery status. –> It can tell the date and time. –> It can create files and folders. –> It has a help command too, so that if you want to know what things it can do. Now, what happens when you type something it doesn’t understand? It says, “I don’t know this command”. I will be improving the assistant more in the upcoming days, but setting up the logic for this much part only is exhausting.
Devlog 5 Well sorry for the late devlog i was little busy with my school life. The good thing is the terminal is now finally ready in the operating system. I initially had the terminal running Bash through QProcess, which worked for simple commands, but it had limitations. Things like Ctrl+C, interactive programs, terminal formatting, and commands such as ping weren’t behaving like they would in a real terminal. So I switched to a PTY (pseudo-terminal) approach using Linux’s forkpty(). Last time u saw the assistant working, I also connected my assistant to this terminal, not the Konsole which I was using earlier. Also sorry for the vid quality and voice
Devlog 6 Well, every Operating system needs a file manager, so I completed one. It now has folder navigation, sidebar locations, creating files and folders, renaming, deleting, properties, right-click menus, multi-selection, and multi-file copy/cut/paste. I have added it to the assistant so that typing “open files” will open the file manager. Now I will add more features to this, but I want to complete the base of the whole O.S. first. I had to handle so many CMake errors; handling them took most of my time.
#Final Devlog Alright so yeah you all haven’t heard from me in a while now, and I am very,, very sorry for that like I couldn’t manage a project of this level with my daily life and there were some family complications. But long story short, I created version 1 of this operating system. Now it’s not fancy and does not have all the desired features i promised it would have, but it’s version 1 so yeah. There will be new versions of this, and I think the next version will be the final version of it. I am proud of it what i have made, like, most of my time was wasted in handling the cmake errors so yeah, but still I think it has the perfect base for upcoming features. And for what i did to complete it - i did all the wiring of the system like i completed the main base and did the panel work so like now when we click the start button it opens a panel with two options file manager and terminal. So yeah, that’s it, guys: version 1 of PikaOS is finally complete.
Ships:
The main idea behind this project was to make an operating system with a virtual assistant, so I chose Pikachu as the main theme. Now, for the cool features: the Pikachu assistant can move on your screen. Clicking it will make it stop, and it will open a panel where you can type things from a selected range of inputs that will make Pikachu do the certain things I have written about in my devlogs; you can see those. Well, it also has a terminal and a file manager which are fully functional. The main thing I see from this project is a base for version 2 of the project. I have a set of goals which I would complete in the next version. I think I learned a lot from handling the CMake errors; at least, I think almost every time I compiled the code, I had at least atleast one error. And yh i think that’s it....
|
1793145338.9517605
|
1793231738.9517605
|
|
66426
|
raspberry pi weather display by @pcsef40 | Stardan raspberry pi weather display by @pcsef40 | Stardance...
|
pcsef40
|
0
|
1.28
|
0
|
[]
|
[{"post_id": 74995, "ts": "202 [{"post_id": 74995, "ts": "2026-09-28T20:04:50Z", "hours": 1.285, "text": "some cable management… as you can see i dont have much to work with"}]...
|
Title: raspberry pi weather display by @pcsef40 | Title: raspberry pi weather display by @pcsef40 | Stardance
Devlogs:
some cable management… as you can see i dont have much to work with...
|
1793098349.0572212
|
1793703149.0572212
|
|
36115
|
Lumiverse by @LumiLovesYou | Stardance
|
LumiLovesYou
|
0
|
13.91
|
0
|
[]
|
[{"post_id": 75000, "ts": "202 [{"post_id": 75000, "ts": "2026-09-28T20:15:47Z", "hours": 2.0903, "text": "Main Page Design ~ I think I’ve finally landed on a design I like! I’m still working on filling it out but this is just a little test to make sure I actually liked it before committing. The design consists of 88x31s for navigation, linking to friends’ pages, giving information about the site, and later linking to pages that inspired me and that I really like. It’s not particularly advanced or stylish but it’s original and something I like!"}, {"post_id": 73764, "ts": "2026-09-25T21:44:29Z", "hours": 9.1781, "text": "Minecraft Page ~ I’ve been struggling to decide on how to theme my main page, so I worked on another page instead! I wanted a place to share all the mods I’ve worked on in the past so I made a /minecraft subpage for my site! It’s auto-populated via a Flask template pulling from a JSON file. It turned out pretty well and I have an idea for the main page but it’ll require my finishing some more subpages first."}, {"post_id": 35911, "ts": "2026-07-27T17:29:33Z", "hours": 1.0308, "text": "Basic Progress ~ I’ve got a very simple layout working as well as a nice folder structure and backend. It’s not much so far but I’m trying to move some things over from the last site without just completely copying what I did there."}, {"post_id": 35546, "ts": "2026-07-27T01:45:48Z", "hours": 1.6136, "text": "In the beginning was the raw HTML ~ My old website was pretty cool but my want to keep it 100% compatible with any device that supports HTML 3.2 meant anything I could do on it was very limited. As such I’ve decided to soon retire it to a retro.* page under my domain and work on a newer, more modern page. ~ To start I’ve set up a Python Flask backend (not the greatest, sure, but it works) serving the page. One feature I decided to bring over from my old page was a randomly-generated subtitle on the page that I quite enjoyed."}]...
|
Title: Lumiverse by @LumiLovesYou | Stardance
Dev Title: Lumiverse by @LumiLovesYou | Stardance
Devlogs:
In the beginning was the raw HTML ~ My old website was pretty cool but my want to keep it 100% compatible with any device that supports HTML 3.2 meant anything I could do on it was very limited. As such I’ve decided to soon retire it to a retro.* page under my domain and work on a newer, more modern page. ~ To start I’ve set up a Python Flask backend (not the greatest, sure, but it works) serving the page. One feature I decided to bring over from my old page was a randomly-generated subtitle on the page that I quite enjoyed.
Basic Progress ~ I’ve got a very simple layout working as well as a nice folder structure and backend. It’s not much so far but I’m trying to move some things over from the last site without just completely copying what I did there.
Minecraft Page ~ I’ve been struggling to decide on how to theme my main page, so I worked on another page instead! I wanted a place to share all the mods I’ve worked on in the past so I made a /minecraft subpage for my site! It’s auto-populated via a Flask template pulling from a JSON file. It turned out pretty well and I have an idea for the main page but it’ll require my finishing some more subpages first.
Main Page Design ~ I think I’ve finally landed on a design I like! I’m still working on filling it out but this is just a little test to make sure I actually liked it before committing. The design consists of 88x31s for navigation, linking to friends’ pages, giving information about the site, and later linking to pages that inspired me and that I really like. It’s not particularly advanced or stylish but it’s original and something I like!...
|
1793267315.9869778
|
1793872115.9869778
|
|
4452
|
Researca! by @araadh3111 | Stardance
|
araadh3111
|
0
|
26.2
|
0
|
[]
|
[{"post_id": 7501, "ts": "2026 [{"post_id": 7501, "ts": "2026-06-12T14:44:02Z", "hours": 1.7342, "text": "Done adding the library feature!! in researca try it out at https://research-copilot-sigma.vercel.app/library"}, {"post_id": 6878, "ts": "2026-06-11T15:13:38Z", "hours": 2.0897, "text": "Changed the ui of Researca fromlight manuscript theme to dark night theme"}, {"post_id": 6763, "ts": "2026-06-11T10:22:00Z", "hours": 22.3761, "text": "This Is Day 16 of Being the senior engineer of Researca and its my first devlog too, first lets start with what is Researca? To make countable contributions in science, scientists all over the world publish papers to record their discovery, methodology and The whole process done to publish that paper. This whole process consumes loads of time off the scientists table and doing it manually makes it reallly really hard for a scientist to finally publish a paper, we can understand it better by taking an example of a coder, He knows how to code but he takes too much time to code a full fledged app and then misses on the most important part of coding i.e. Shipping his/her project. I myself wanted to introduce myself to world of research by writing a paper on prosthetic arms, but then I realised this whole process is really difficult, scraping papers for gaps, reading 100’s of papers every month spending months on literature review. Thats why I built Researca and I am currently building it, Researca is an Ai Assistant ( not a wrapper) that ranks and synthesizes all the papers in ure field, it is like a workspace for a scientist(like notion) It has library feature, And Im currently building agentic Ai workflow to automate the research process, I have even collected feedback from 2 professors regarding what they find hard in their research process, researca comes with comparitive matrix and writing tool too!, here is the link to try Researca, Constant improvements are being made by me to improve researca each day!try it out at –> https://research-copilot-sigma.vercel.app/"}]...
|
Title: Researca! by @araadh3111 | Stardance
Devlo Title: Researca! by @araadh3111 | Stardance
Devlogs:
This Is Day 16 of Being the senior engineer of Researca and its my first devlog too, first lets start with what is Researca? To make countable contributions in science, scientists all over the world publish papers to record their discovery, methodology and The whole process done to publish that paper. This whole process consumes loads of time off the scientists table and doing it manually makes it reallly really hard for a scientist to finally publish a paper, we can understand it better by taking an example of a coder, He knows how to code but he takes too much time to code a full fledged app and then misses on the most important part of coding i.e. Shipping his/her project. I myself wanted to introduce myself to world of research by writing a paper on prosthetic arms, but then I realised this whole process is really difficult, scraping papers for gaps, reading 100’s of papers every month spending months on literature review. Thats why I built Researca and I am currently building it, Researca is an Ai Assistant ( not a wrapper) that ranks and synthesizes all the papers in ure field, it is like a workspace for a scientist(like notion) It has library feature, And Im currently building agentic Ai workflow to automate the research process, I have even collected feedback from 2 professors regarding what they find hard in their research process, researca comes with comparitive matrix and writing tool too!, here is the link to try Researca, Constant improvements are being made by me to improve researca each day!try it out at –> https://research-copilot-sigma.vercel.app/
Changed the ui of Researca fromlight manuscript theme to dark night theme
Done adding the library feature!! in researca try it out at https://research-copilot-sigma.vercel.app/library...
|
1793224114.1017065
|
1793828914.1017065
|
|
65703
|
journal by @helix- | Stardance
|
helix-
|
0
|
6.12
|
0
|
[]
|
[{"post_id": 75012, "ts": "202 [{"post_id": 75012, "ts": "2026-09-28T21:01:24Z", "hours": 1.3372, "text": "I wrote an init_config function to initialize the config file to an empty one. I had to use global in this function, though that is not the best way to write code. I also added --reset and --init options to the config command. If you specify either of those options, you can reset or init/re-init the config file. If none are specified, the command works normally and outputs the config file. I had fun writing these because I got to reduce an initial mess of if statements to one clean one that’s also readable. I then wrote the --get-path option to the config command. I improved my error message for when the user passes too many options to the config command, inspired by some that git returns. I also removed a now unneeded CONFIG_PATH print when the config command is run without any options."}, {"post_id": 74833, "ts": "2026-09-28T12:15:38Z", "hours": 2.705, "text": "I renamed a variable in a helper function named configfile to config_file , and I have no idea how that missing underscore made its way into a previous commit. I usually use basedpyright as my linter so I added that as a dev dependency and started adding missing type hints to functions and their tests. The list_projects function I had written previously returned project names with a “project.” prefix because that is ho w projects are stored in the config.ini file. Also, the function did not update the config object from the CONFIG_PATH. I fixed both these problems. I wrote another function to get a project’s path given its name. I wrote tests for both list_projects and get_project_path . I started using rich.print and rich.Console.print to make my terminal outputs better. While doing this I realised that rich.print-ing text in square brackets is not printed directly and is interpreted differently. In doing all this, the project flow became kinda complicated so I refactored it into a bunch of smaller functions and now the main project command function looks cleaner and you can look at and understand what it’s doing, which, of course, all good code should do. I believe this is a good point for an initial release."}, {"post_id": 73574, "ts": "2026-09-25T12:42:48Z", "hours": 2.0828, "text": "Hardware projects require you to journal your progress. I prefer storing my journals with me in a JOURNAL.md file in my project repo. I saw that fallout and forge had different but compatible journaling formats. In general, I dislike having to add the boilerplate before I journal, even though it isn’t as big of a deal. The goal of this project is to write a CLI program that makes it easy for me to journal for my hardware projects in a JOURNAL.md file without having to deal with boilerplate. Up until now, I’ve written a typer app that taken in a project name, path, and journaling content and writes it to a JOURNAL.md file located at said path. This is an extremely simple implementation. I’m choosing to build on this slowly since the last time I tried to code this, things got out of hand pretty fast, and I couldn’t refactor or organize the codebase (if you can call it a codebase, that is). In my previous python projects this year, I’ve been writing my own implementation of config handling, adding features every project. I had planned to branch that off into its own project in the winter, before I realised the configparser package already does that work for you, which is why this project has a config.py file that uses configparser, significantly reducing my workload. I might return to rewriting configparser (or a simpler version of it) some other day. This config file is of type .ini and stores projects in the format f”[projects.{proj_name}]”. As of this devlog, config.py isn’t used in the main CLI. I’m writing tests for my code with pytest. I learnt about fixtures and how I could affect the state of a variable at runtime using monkeypatch (for testing only). Another thing I had to look up was the pathlib.Path.expanduser() function. That came in handy, because I’ll be using paths like ~/macropad and they need to be resolved appropriately."}]...
|
Title: journal by @helix- | Stardance
Devlogs:
Ha Title: journal by @helix- | Stardance
Devlogs:
Hardware projects require you to journal your progress. I prefer storing my journals with me in a JOURNAL.md file in my project repo. I saw that fallout and forge had different but compatible journaling formats. In general, I dislike having to add the boilerplate before I journal, even though it isn’t as big of a deal. The goal of this project is to write a CLI program that makes it easy for me to journal for my hardware projects in a JOURNAL.md file without having to deal with boilerplate. Up until now, I’ve written a typer app that taken in a project name, path, and journaling content and writes it to a JOURNAL.md file located at said path. This is an extremely simple implementation. I’m choosing to build on this slowly since the last time I tried to code this, things got out of hand pretty fast, and I couldn’t refactor or organize the codebase (if you can call it a codebase, that is). In my previous python projects this year, I’ve been writing my own implementation of config handling, adding features every project. I had planned to branch that off into its own project in the winter, before I realised the configparser package already does that work for you, which is why this project has a config.py file that uses configparser, significantly reducing my workload. I might return to rewriting configparser (or a simpler version of it) some other day. This config file is of type .ini and stores projects in the format f”[projects.{proj_name}]”. As of this devlog, config.py isn’t used in the main CLI. I’m writing tests for my code with pytest. I learnt about fixtures and how I could affect the state of a variable at runtime using monkeypatch (for testing only). Another thing I had to look up was the pathlib.Path.expanduser() function. That came in handy, because I’ll be using paths like ~/macropad and they need to be resolved appropriately.
I renamed a variable in a helper function named configfile to config_file , and I have no idea how that missing underscore made its way into a previous commit. I usually use basedpyright as my linter so I added that as a dev dependency and started adding missing type hints to functions and their tests. The list_projects function I had written previously returned project names with a “project.” prefix because that is ho w projects are stored in the config.ini file. Also, the function did not update the config object from the CONFIG_PATH. I fixed both these problems. I wrote another function to get a project’s path given its name. I wrote tests for both list_projects and get_project_path . I started using rich.print and rich.Console.print to make my terminal outputs better. While doing this I realised that rich.print-ing text in square brackets is not printed directly and is interpreted differently. In doing all this, the project flow became kinda complicated so I refactored it into a bunch of smaller functions and now the main project command function looks cleaner and you can look at and understand what it’s doing, which, of course, all good code should do. I believe this is a good point for an initial release.
I wrote an init_config function to initialize the config file to an empty one. I had to use global in this function, though that is not the best way to write code. I also added --reset and --init options to the config command. If you specify either of those options, you can reset or init/re-init the config file. If none are specified, the command works normally and outputs the config file. I had fun writing these because I got to reduce an initial mess of if statements to one clean one that’s also readable. I then wrote the --get-path option to the config command. I improved my error message for when the user passes too many options to the config command, inspired by some that git returns. I also removed a now unneeded CONFIG_PATH print when the config command is run without any options....
|
1793090982.7546287
|
1793695782.7546287
|
|
65846
|
Phone holder by @BenjaminLewis | Stardance
|
BenjaminLewis
|
0
|
6.49
|
0
|
[]
|
[{"post_id": 75017, "ts": "202 [{"post_id": 75017, "ts": "2026-09-28T21:22:16Z", "hours": 6.4925, "text": "Phone holder It is a Phone holder that looks like a chair. You can put it on vertically or horizontally. There are many owls on it to make it cute."}]...
|
Title: Phone holder by @BenjaminLewis | Stardance
Title: Phone holder by @BenjaminLewis | Stardance
Devlogs:
Phone holder It is a Phone holder that looks like a chair. You can put it on vertically or horizontally. There are many owls on it to make it cute....
|
1793091188.4022255
|
1793695988.4022255
|
|
50949
|
Key65 by @pointer | Stardance
|
pointer
|
0
|
10.81
|
0
|
[]
|
[{"post_id": 75023, "ts": "202 [{"post_id": 75023, "ts": "2026-09-28T21:53:04Z", "hours": 4.9097, "text": "Done with casing and almost done with firmware. it’ll be completed by tomorrow."}, {"post_id": 51322, "ts": "2026-08-20T22:08:09Z", "hours": 4.2372, "text": "devlog #3. Almost done with pcb design created another mess. Hopefully solve all the error tomorrow. this is pointer sighing off!"}, {"post_id": 49801, "ts": "2026-08-18T18:56:51Z", "hours": 1.6681, "text": "Hi, This is Pointer building an opensource mechanical keyboard. Done with schematic will be moving to pcb development tomorrow. signing off for now!"}]...
|
Title: Key65 by @pointer | Stardance
Devlogs:
Hi, Title: Key65 by @pointer | Stardance
Devlogs:
Hi, This is Pointer building an opensource mechanical keyboard. Done with schematic will be moving to pcb development tomorrow. signing off for now!
devlog #3. Almost done with pcb design created another mess. Hopefully solve all the error tomorrow. this is pointer sighing off!
Done with casing and almost done with firmware. it’ll be completed by tomorrow....
|
1792648502.3660488
|
1793253302.3660488
|
|
47761
|
0x6502 by @ThePangel | Stardance
|
ThePangel
|
0
|
29.88
|
0
|
[]
|
[{"post_id": 75025, "ts": "202 [{"post_id": 75025, "ts": "2026-09-28T21:57:03Z", "hours": 4.5253, "text": "Big progress. GOT THE APPLE I RUNNING Hooray wozmon is up and running, marking the most successful milestone yet, a running system, i had to fix some opcode behaviors but it runs great!! Still very early, 1st, not all input keys are mapped, cycle stepping, the ui etc etc, but for now its progress."}, {"post_id": 73677, "ts": "2026-09-25T17:32:55Z", "hours": 3.1269, "text": "So I had to tackle some special cases to adapt everything to the new cycle accurate architecture These are mainly the operations that work with the stack In my architecture addressing handles fetching, while the run_operation() just does the math (and final data write if needed), so it only consumes one cycle, these special cases handles various cycles in their operation (independently of addressing mode) so I had to add that, and some other minor fixes to branch operations and other stuff"}, {"post_id": 73258, "ts": "2026-09-24T18:04:40Z", "hours": 2.7364, "text": "Finished refactoring all the addressing code for it to be cycle accurate. Next I’ll check and fix operations and then the TUI situation and try to get the Apple I running, good progress"}, {"post_id": 72840, "ts": "2026-09-23T20:58:26Z", "hours": 4.7969, "text": "Ok so I’m back Sorta refactoring the code base to be a cycle accurate state machine to make the emulation as truthful as I can, this involves coding each cycle independently (sorta) to maintain accuracy, I have started this refactoring with a lot to go, but at the end it will be much better than before see the code here as an example"}, {"post_id": 48539, "ts": "2026-08-16T23:29:01Z", "hours": 1.5603, "text": "Made some more progress on Implementing the Apple I machine and some TUI handling code + misc fixes"}, {"post_id": 48404, "ts": "2026-08-16T18:54:19Z", "hours": 2.1569, "text": "I worked on adding all the Apple I roms to the program, loading them at each required memory location and started working on some more of the UI"}, {"post_id": 48142, "ts": "2026-08-16T13:09:54Z", "hours": 0.9506, "text": "Started working on the Apple I implementation. Setting memory ranges and more. Also added a console write and read to the bus so machines can display what the want, since each machine does whatever this is a way to normalize it"}, {"post_id": 48083, "ts": "2026-08-16T11:31:43Z", "hours": 0.3844, "text": "Finally finished all instructions. Now I will move to making the first machine (maybe apple I or II) and connecting all cpu mechanics and get the emu working."}, {"post_id": 47782, "ts": "2026-08-15T23:15:38Z", "hours": 2.1928, "text": "Added a bunch more operations, had to learn a bit of low level byte and bit operations. Also started working on operations that work with the stack which is always fun"}, {"post_id": 47656, "ts": "2026-08-15T18:11:48Z", "hours": 3.2358, "text": "Started working on the first cpu operations, also added cycle emulation. Some operations where a struggle, It took a while till I got BCD operations, also the break flag is special in it of itself, but good progress. Next up, more operations"}, {"post_id": 47081, "ts": "2026-08-14T18:31:02Z", "hours": 0.4989, "text": "Added helper functions for flag handling. Setting and reading the status register flags."}, {"post_id": 46859, "ts": "2026-08-14T12:14:13Z", "hours": 3.7103, "text": "I started working on 0x6502, a retro computer lab where you can emulate 6502 based retro computers, like the Apple II or C64 directly in terminal, while being able to live view the stack, memory and registers, all in a tui built woth ratatui. For now I have just worked on the 6502 cpu logic and blocked out the main UI, I have done Instruction and addressing handling, next its operations."}]...
|
Title: 0x6502 by @ThePangel | Stardance
Devlogs:
Title: 0x6502 by @ThePangel | Stardance
Devlogs:
I started working on 0x6502, a retro computer lab where you can emulate 6502 based retro computers, like the Apple II or C64 directly in terminal, while being able to live view the stack, memory and registers, all in a tui built woth ratatui. For now I have just worked on the 6502 cpu logic and blocked out the main UI, I have done Instruction and addressing handling, next its operations.
Added helper functions for flag handling. Setting and reading the status register flags.
Started working on the first cpu operations, also added cycle emulation. Some operations where a struggle, It took a while till I got BCD operations, also the break flag is special in it of itself, but good progress. Next up, more operations
Added a bunch more operations, had to learn a bit of low level byte and bit operations. Also started working on operations that work with the stack which is always fun
Finally finished all instructions. Now I will move to making the first machine (maybe apple I or II) and connecting all cpu mechanics and get the emu working.
Started working on the Apple I implementation. Setting memory ranges and more. Also added a console write and read to the bus so machines can display what the want, since each machine does whatever this is a way to normalize it
I worked on adding all the Apple I roms to the program, loading them at each required memory location and started working on some more of the UI
Made some more progress on Implementing the Apple I machine and some TUI handling code + misc fixes
Ok so I’m back Sorta refactoring the code base to be a cycle accurate state machine to make the emulation as truthful as I can, this involves coding each cycle independently (sorta) to maintain accuracy, I have started this refactoring with a lot to go, but at the end it will be much better than before see the code here as an example
Finished refactoring all the addressing code for it to be cycle accurate. Next I’ll check and fix operations and then the TUI situation and try to get the Apple I running, good progress
So I had to tackle some special cases to adapt everything to the new cycle accurate architecture These are mainly the operations that work with the stack In my architecture addressing handles fetching, while the run_operation() just does the math (and final data write if needed), so it only consumes one cycle, these special cases handles various cycles in their operation (independently of addressing mode) so I had to add that, and some other minor fixes to branch operations and other stuff
Big progress. GOT THE APPLE I RUNNING Hooray wozmon is up and running, marking the most successful milestone yet, a running system, i had to fix some opcode behaviors but it runs great!! Still very early, 1st, not all input keys are mapped, cycle stepping, the ui etc etc, but for now its progress....
|
1793195435.4388902
|
1793800235.4388902
|
|
24173
|
Frictionless by @Stargazer5 | Stardance
|
Stargazer5
|
0
|
60.41
|
0
|
[]
|
[{"post_id": 75027, "ts": "202 [{"post_id": 75027, "ts": "2026-09-28T22:00:32Z", "hours": 9.9469, "text": "Devlog #5 of Procmonstr Apparently I had designed some of the ui back-end to process in batches while it was supposed to handle on event at a time. So I fixed that along with optimizing it a little further. To be honest I don’t really know where I left off last devlog but I might make something meaningful until tomorrow and if so I will also give a more detailed devlog. Peace."}, {"post_id": 53088, "ts": "2026-08-23T14:48:21Z", "hours": 14.0844, "text": "Devlog 4# of ProGaze(?) Dang bro I gotta write a devlog again? Well, since last time I have made it so that the kernel process trace events or rather the data that is needed from them is written into a binary file + are able to be read out of them. Besides that, just a lot of small optimizations to the event formatting, logic and structure, trying to keep it as lightweight as possible. Don’t have much to show besides a lot of code. Hopefully there’s more next time. I hope that I’ll have enough time to finish this project! I’ll try more for something finished than something perfect to ship something in time."}, {"post_id": 44066, "ts": "2026-08-09T16:11:49Z", "hours": 15.89, "text": "Devlog #3 of ProGaze I might call it that Lots of progress (atleast mentally ig), I don’t even remember where we left off. Anyways, I’m able to decode each incoming EVENT_RECORD into its’ EventPropertyInfoArray and EVENT_HEADER and then later by editable preference into individual variables. I use Tdh for this currently but might later make my own decoder if it seems relevant. I’m also almost done with parsing that preferred event data into a binary file which will serve as the actual process timeline when being used by the ui. Speaking of ui, I’ve barely started but I know that I will use egui and eframe for it. Not much else to say. I did take a pretty long break because there was a lot to process but now I’m back:p Oh I also haven’t written in my log much lately because it’s kinda unnecessarily distracting, might do it more later though. Screenshot 1 shows every available event property, some of which I could but don’t decode because they’re unnecessary Screenshot 2 shows every decoded EVENT_HEADER variable and each decoded property, both in bytes"}, {"post_id": 30956, "ts": "2026-07-18T23:32:37Z", "hours": 9.9261, "text": "Devlog #2 of my Task Manager-History tool using Rust or whatever I should call it Code progress I have successfully managed to start both a classic ETW session and a modern one and receive events from them. The difference in how the two work is that the latter uses EnableTraceEx2() (or earlier in its’ lifetime named something similar) to enable all kinds of providers while the former uses flags for the session start to enable only kernel-providers. I’ve also cleaned all of the comments from my code and pasted all of the commented versions into a .md file. Logging I’ve also logged about my understanding of the two different session versions, how they work and what the contrast between them tell me about the ETW architecture. Also written about wrappers in windows code, type casting, the difference between references and pointers in Rust, written a summary of how ETW works etc. Logging is definitely helping me remember what I’ve learned about Rust and the windows API as well as keeping both my progress and where I am going clear. Next? Next up is probably going to be the UI of my program as a desktop application, I have a vision of how I want it to look and I think starting to design it now is going to help me get to know what kind of data I am looking to receive from the events. Other I think I’m gonna keep these a little shorter just saying what I’ve done instead of explaining how everything works. Also if my logging shouldn’t count as hackatime time please let me know asap"}, {"post_id": 28393, "ts": "2026-07-14T16:59:18Z", "hours": 10.5606, "text": "(Friendly note: if your devlog is more than 4000 characters when posting, it will disappear) Devlog #1 of my windows event-tracing project written in Rust What is my project? You know Task Manager? You know how it only shows you the processes that are running in the instant that you’re looking at it? My main idea since the start has been to make an app like it but that also shows the “process history” since boot. Why? The point of the project is to allow the user more insight into what’s happening on their device, whether it’s to detect malware that sort of runs for a little while and then turns off, to see what unnecessary programs launch upon startup or just to get a better hint of what’s going on in the device. How? Figuring this out was what the first part of my project was about and I came to a surprisingly clean conclusion. ETW (Event Tracing for Windows) is an event-tracing framework built into windows whose entire role consists of tracing events (yup) I’m not too familiar with it yet but I know that it works like this in a nutshell: You start an ETW session by passing a struct which basically contains the settings for the session into a function called StartTraceW() . You enable what providers you want the session to listen to with EnableTraceEx2() , where the “providers” respectively emit notifications for different events. To receive the notifications, you use function OpenTraceW() which you also pass a struct which contains information mostly about the session you’re connecting to but also a pointer to one of your own functions (which needs a specific parameter). So basically: *my_function(trace_data) + other session info -> session_info_for_OpenTraceW -> OpenTraceW(session_info_for_OpenTraceW) And the reason you pass one of your own functions is so that ETW can call it to give you said trace data. The final stage is deciphering the above-mentioned trace_data argument that your registered function receives in order to perchance turn it into UI. And all of these functions exist inside of windows so you need a Linker so that your code can “link against” them aka. you write the definitions of the code you want to access in your code and the linker will make it so that calling your code accesses the real logic. And because there was a lot of code that I’d have to declare I used a Crate , which is basically like a built-in mechanic for code-dependencies in Rust and they work pretty much like header files in C/C++, except that they are managed through another file which is called Cargo.toml which installs the crates specified from the web where they are managed and upkept. And I haven’t mentioned that all of the windows logic including ETW is written primarily in C which might make it seem impossible for my code that interacts with it to be written in Rust but there’s something called FFI (Foreign Function Interface) which covers this completely. Where am I right now? Although my coding time has consisted of mostly logging thus far as I am learning both a new programming language and how to use ETW, at the moment I’ve made four scripts which are main.rs , ffi0.rs , ffi1.rs , misc.rs which basically covers stage 1 and 3 of the ETW explanation that I gave above. What’s next? The immediate next step is probably going to be to make my code do what it’s supposed to and start a session, after that it’s stage 2 and then a little into stage 4. That’s a few things necessary before configuring the UI and such. Something else I want to manage before that is schedule an ETW session for next boot that writes its’ data into a file which my program will then read."}]...
|
Title: Frictionless by @Stargazer5 | Stardance
De Title: Frictionless by @Stargazer5 | Stardance
Devlogs:
(Friendly note: if your devlog is more than 4000 characters when posting, it will disappear) Devlog #1 of my windows event-tracing project written in Rust What is my project? You know Task Manager? You know how it only shows you the processes that are running in the instant that you’re looking at it? My main idea since the start has been to make an app like it but that also shows the “process history” since boot. Why? The point of the project is to allow the user more insight into what’s happening on their device, whether it’s to detect malware that sort of runs for a little while and then turns off, to see what unnecessary programs launch upon startup or just to get a better hint of what’s going on in the device. How? Figuring this out was what the first part of my project was about and I came to a surprisingly clean conclusion. ETW (Event Tracing for Windows) is an event-tracing framework built into windows whose entire role consists of tracing events (yup) I’m not too familiar with it yet but I know that it works like this in a nutshell: You start an ETW session by passing a struct which basically contains the settings for the session into a function called StartTraceW() . You enable what providers you want the session to listen to with EnableTraceEx2() , where the “providers” respectively emit notifications for different events. To receive the notifications, you use function OpenTraceW() which you also pass a struct which contains information mostly about the session you’re connecting to but also a pointer to one of your own functions (which needs a specific parameter). So basically: *my_function(trace_data) + other session info -> session_info_for_OpenTraceW -> OpenTraceW(session_info_for_OpenTraceW) And the reason you pass one of your own functions is so that ETW can call it to give you said trace data. The final stage is deciphering the above-mentioned trace_data argument that your registered function receives in order to perchance turn it into UI. And all of these functions exist inside of windows so you need a Linker so that your code can “link against” them aka. you write the definitions of the code you want to access in your code and the linker will make it so that calling your code accesses the real logic. And because there was a lot of code that I’d have to declare I used a Crate , which is basically like a built-in mechanic for code-dependencies in Rust and they work pretty much like header files in C/C++, except that they are managed through another file which is called Cargo.toml which installs the crates specified from the web where they are managed and upkept. And I haven’t mentioned that all of the windows logic including ETW is written primarily in C which might make it seem impossible for my code that interacts with it to be written in Rust but there’s something called FFI (Foreign Function Interface) which covers this completely. Where am I right now? Although my coding time has consisted of mostly logging thus far as I am learning both a new programming language and how to use ETW, at the moment I’ve made four scripts which are main.rs , ffi0.rs , ffi1.rs , misc.rs which basically covers stage 1 and 3 of the ETW explanation that I gave above. What’s next? The immediate next step is probably going to be to make my code do what it’s supposed to and start a session, after that it’s stage 2 and then a little into stage 4. That’s a few things necessary before configuring the UI and such. Something else I want to manage before that is schedule an ETW session for next boot that writes its’ data into a file which my program will then read.
Devlog #2 of my Task Manager-History tool using Rust or whatever I should call it Code progress I have successfully managed to start both a classic ETW session and a modern one and receive events from them. The difference in how the two work is that the latter uses EnableTraceEx2() (or earlier in its’ lifetime named something similar) to enable all kinds of providers while the former uses flags for the session start to enable only kernel-providers. I’ve also cleaned all of the comments from my code and pasted all of the commented versions into a .md file. Logging I’ve also logged about my understanding of the two different session versions, how they work and what the contrast between them tell me about the ETW architecture. Also written about wrappers in windows code, type casting, the difference between references and pointers in Rust, written a summary of how ETW works etc. Logging is definitely helping me remember what I’ve learned about Rust and the windows API as well as keeping both my progress and where I am going clear. Next? Next up is probably going to be the UI of my program as a desktop application, I have a vision of how I want it to look and I think starting to design it now is going to help me get to know what kind of data I am looking to receive from the events. Other I think I’m gonna keep these a little shorter just saying what I’ve done instead of explaining how everything works. Also if my logging shouldn’t count as hackatime time please let me know asap
Devlog #3 of ProGaze I might call it that Lots of progress (atleast mentally ig), I don’t even remember where we left off. Anyways, I’m able to decode each incoming EVENT_RECORD into its’ EventPropertyInfoArray and EVENT_HEADER and then later by editable preference into individual variables. I use Tdh for this currently but might later make my own decoder if it seems relevant. I’m also almost done with parsing that preferred event data into a binary file which will serve as the actual process timeline when being used by the ui. Speaking of ui, I’ve barely started but I know that I will use egui and eframe for it. Not much else to say. I did take a pretty long break because there was a lot to process but now I’m back:p Oh I also haven’t written in my log much lately because it’s kinda unnecessarily distracting, might do it more later though. Screenshot 1 shows every available event property, some of which I could but don’t decode because they’re unnecessary Screenshot 2 shows every decoded EVENT_HEADER variable and each decoded property, both in bytes
Devlog 4# of ProGaze(?) Dang bro I gotta write a devlog again? Well, since last time I have made it so that the kernel process trace events or rather the data that is needed from them is written into a binary file + are able to be read out of them. Besides that, just a lot of small optimizations to the event formatting, logic and structure, trying to keep it as lightweight as possible. Don’t have much to show besides a lot of code. Hopefully there’s more next time. I hope that I’ll have enough time to finish this project! I’ll try more for something finished than something perfect to ship something in time.
Devlog #5 of Procmonstr Apparently I had designed some of the ui back-end to process in batches while it was supposed to handle on event at a time. So I fixed that along with optimizing it a little further. To be honest I don’t really know where I left off last devlog but I might make something meaningful until tomorrow and if so I will also give a more detailed devlog. Peace....
|
1793202602.772525
|
1793807402.772525
|
|
64225
|
Cyber Deck by @kiwi | Stardance
|
kiwi
|
0
|
2.64
|
0
|
[]
|
[{"post_id": 75028, "ts": "202 [{"post_id": 75028, "ts": "2026-09-28T22:01:21Z", "hours": 2.2078, "text": "Retro HUD in progress… For this Cyber Deck I am thinking of a more retro aesthetic, I think it fits well with the old MacBook Pro I am using for this project. Currently I am working on a interactive HUD that also shows live specs like RAM or CPU usage. Took me quite a while to get this look because of some troubleshooting and also typos. As this is my first project I still have lots to learn."}, {"post_id": 74185, "ts": "2026-09-26T21:27:31Z", "hours": 0.4344, "text": "Changing the colors of the Terminal My current goal is to customize the Operating System on my old Mac. For now I finished the Terminal."}]...
|
Title: Cyber Deck by @kiwi | Stardance
Devlogs:
C Title: Cyber Deck by @kiwi | Stardance
Devlogs:
Changing the colors of the Terminal My current goal is to customize the Operating System on my old Mac. For now I finished the Terminal.
Retro HUD in progress… For this Cyber Deck I am thinking of a more retro aesthetic, I think it fits well with the old MacBook Pro I am using for this project. Currently I am working on a interactive HUD that also shows live specs like RAM or CPU usage. Took me quite a while to get this look because of some troubleshooting and also typos. As this is my first project I still have lots to learn....
|
1793058799.3041494
|
1793663599.3041494
|
|
50018
|
VSEPR Predictor by @LuckyInt | Stardance
|
LuckyInt
|
0
|
24.72
|
0
|
[]
|
[{"post_id": 75031, "ts": "202 [{"post_id": 75031, "ts": "2026-09-28T22:33:57Z", "hours": 6.4964, "text": "Welcome! It has been 2 whole weeks. And a devlog has arrived for the project that uses VSEPR theory to primarily predict the shape of a molecule, my name being Lucky. Just to preface , I have made a lot of changes in these 6.5 hours; and I have been irresponsible by not devlogging along the way . . . For more over-arching logging though, feel free to check my github commits to see the progressional changes. As well, check my other devlogs or read my README for more info on what my project does specifically. By the way, I will also not be including already stated info in my devlogs to avoid being repetitive and to save some words. Website I started building the website for my project (picture below), using HTML and CSS and my already-coded python backend. The HTML was pretty streamlined and was finished in a day; I also used Sakura CSS , linked in HTML as classless CSS. The CSS was a bit harder and took more days– mainly because Sakura CSS was overriding a lot of what I wrote! In the future, I believe it would be better if I didn’t use the pre-made CSS at all. I admit that I used a lot of AI due to frustration and confusion, however I retraced, decided to go back, and understood the code, and built some myself. By far the hardest part was connecting my python backend with the frontend, using JS (JavaScript) and API to do so. I did use FastAPI and their documentation, however I still ran into a lot of problems. This may be because I was using Github Codespaces, or for other reasons. Fork/PR Thanks to Su6o on Github for forking my Repo and checking over my README for grammar and phrasing errors. Conclusions/Goodbyes I learned a lot in these 2 weeks, albeit not being so consistent. One thing I have to work on is to be less reliant, to be independent and solve problems on my own. There was a lot of frustration in these sessions, and I hope to relieve of that next. For the future of this project, I would like to use the data given by the backend to write a Lewis Structure code in frontend. As my project is aimed to be an educational tool (might change), it would also be helpful to transform the frontend to do such. That’s all. Thanks for reading, and have a great day. I will try to get a working demo up, so you can interactively use the site."}, {"post_id": 68293, "ts": "2026-09-14T21:23:37Z", "hours": 6.6281, "text": "Hello, World. It’s been a while. Welcome to the 5th devlog centralized around a (mainly python) project that uses VSEPR Theory– aka Valence Shell Electron Pair Repulsion Theory– to predict the shapes/geometries of given molecules. For more info on the project’s main aims, please read my previous devlog. Nevertheless, a bulleted summary of what the project can do (structured in a way similar to my other devlogs for simplicity) is shown below. Capabilities of the Project This project, at its state at the moment of writing: Counts Valence Electrons of the inputted molecule (mendeleev assist). Accounts for charges on molecules and taking that into consideration while calculating Valence Electrons. Error checks / parses the user’s input to only allow valid molecules. * NEW/ADDED Calculates electronegativities of constituent elements (using mendeleev) and determining the central atom of the molecule. Parses the molecule to find its elements and subscripts. Calculates electron groups / steric number. Calculates lone pairs around the central atom. Reforms the molecule in VSEPR form: AX_mE_n. Searches through a dictionary/table of all of the permutations of VSEPR form in order to fetch appropriate data. Interacts with the user in order to act as an educational tool. * NEW Allows the user freedom in the questions asked: they can ask for a hint, can skip 1 questions, and can skip all questions at once. * NEW The Radical Problem (literally. (solved)) A major mistake on my part was that I forgot to account for radical molecules; in fact, I didn’t even know they were a thing. It turns out that, some molecules are allowed to have a lone electron surrounding the central atom, since they have an odd number of total valence electrons, hence yielding them an inevitable 1 leftover electron. Thankfully, the problem is solved now, perhaps in an admittingly unfortunate way: the program is now designed to simply reject radical molecules. There is a good reason for this, and that’s because these molecules’ shapes cannot reliably be predicted with VSEPR theory. The Clean Up In the time in between my 4th and 5th devlog, I have spent a lot of time capturing bugs in my code, and cleaning the code along the way. For a simple example, I would lazily copy-and-paste the same code into each constituent if, elif, and else statement when I could just call that code after them. As it’s been a relatively long time, I cannot remember a lot of the specific clean-ups I had done, which is probably included in the cons of pushing devlogs late . . . I apologize for the late devlog (although I know not many care). The reason for this, and the low amount of hours and effort given in these past 13 days, is mostly because of school. As well as there was a problem with my hackatime or rather my VSCode wherein multiple hours of work were not logged for whatever reason– however, I worked with quality during those times so I consider it a win. Addressing the Functionality (the interactivity) For now, my project asks questions to the reader terminal style, being arguably not engaging and probably very indescriptive as well– which is important to take note of, as this is indeed supposed to be an educational tool. In my future plans, I hope to pick up on some JavaScript or TypeScript, HTML, and CSS, in order to create a website or application that actually renders the models of these molecules, as well as to provide models for constituent steps like creating the Lewis/Dot structure. I firmly believe that if we are building the Dot Structures and are predicting shapes of molecules, the users should be able to see these things so they can then understand . Conclusions Thank you for reading! This was the 5th devlog, on the project based around VSEPR Theory, and I’ll see you, next time."}, {"post_id": 59894, "ts": "2026-09-01T22:10:18Z", "hours": 4.7317, "text": "Welcome, reader. This is my 4th devlog on a project (primarily built in python), that takes a molecule with a single defined central atom and predicts the electron geometries, molecular geometries (bond hybridization as well) using VSEPR Theory , and other quantitative data like total valence electrons, lone pairs, etc., that were collected along the calculations. If you are interested in my motivations and overall more information about the project, you can read my previous devlogs as well. However, the near-following bulleted-list will hopefully provide decent context. I would usually write a devlog earlier than this; however, I worked on my README.MD, yielding not a full 4h 37m on functional programming necessarily. Functions of the Predictor This project, at its state at the moment of writing: Counts Valence Electrons of the inputted molecule (mendeleev assist). Accounts for charges on molecules and taking that into consideration while calculating Valence Electrons. Error checks / parses the user’s input to only allow valid molecules. * NEW/ADDED Calculates electronegativities of constituent elements (using mendeleev) and determining the central atom of the molecule. Parses the molecule to find its elements and subscripts. Calculates electron groups / steric number. Calculates lone pairs around the central atom. Reforms the molecule in VSEPR form: AX_mE_n. * NEW Searches through a dictionary/table of all of the permutations of VSEPR form in order to fetch appropriate data. * NEW New Changes I rewrote some of the code in order to remove redundancy and to improve efficiency. I also created designated functions for some of the code I recently wrote. These parts were quite annoying, as it was frustrating to have to rewrite code to reach the same goal again; a lot of errors kept appearing. Nevertheless, I finished in the end. It takes a lot of patience to read through all your code line by line and go through the functions of each, and then seeing where efficiency could be improved. Nevertheless, it is satisfying to realize and improve on code, and to produce a more concise and readable product in the end. Since I can’t write extensively in this devlog, I will touch on topics like bond hybridization and more later. I also worked on my README.MD as aforementioned, which I encourage you to read or look at. Future Plans As you can see in the screenshot I included below (using H3O+/ hydronium as the example), my project is simply printing out all of the data– though the calculations are arguably demanding. In essence, the output is underwhelming compared to the immense backend logic. I would certainly like to make this into a web or application, and at the same time I would be learning HTML, CSS, and JavaScript. Conclusion / Goodbyes Thank you for reading, reader. I imagine that you learned or found something in my devlog interesting. If you have any suggestions, comment below and I will be sure to ponder over them. By the way, I really don’t know which molecules to pick for my examples in my screenshots, so you can comment some that you might want me to use (make sure it has one central atom). My name is Lucky, and I thank you , once again, Goodbye. for H3O+ (Hydronium) below"}, {"post_id": 54138, "ts": "2026-08-24T23:28:18Z", "hours": 2.3517, "text": "Good day, reader. I’m Lucky. This is a third devlog on my project: VSEPR Predictor. If you aren’t sure of the project aims to do, feel free to read my first devlog; however, I will give you a brief summary. The project takes input a molecule, and then predicts the molecular geometry / shape of the molecule, as well as the electron-group geometry overall. It is built in python. Pytest As stated in my earlier log, I was tired of manually testing my project all of the time, and I wanted to use pytest. Therefore, I created 4 functions that have specific roles in my code. These four functions are the following: get_atoms_subscripts, get_central_atom, get_total_valence, and validate_formula– all of which take a molecule as input. *Before I state the advancements I have made, I’d like to disclaim that the electron-group calculations are not yet finalized, as I have yet to account for double and single bonds. To target this problem, I have calculated formal charges, and I plan to tackle it next. I will not explain what formal charges are– for the sake of words– but if you want, you can search it up. Functional Changes Calculated electron groups note ^^^ Calculated formal charge before adding double or triple bonds - Listed terminal atoms (every atom but the central one) Calculated Lone pairs note ^^^ Overall Function This project, at its state at the moment of writing: Counts Valence Electrons of the inputted molecule (mendeleev assist). Accounts for charges on molecules and taking that into consideration while calculating Valence Electrons. Error checks / parses the user’s input to only allow valid molecules. Calculates electronegativities of constituent elements (using mendeleev) and determining the central atom of the molecule. Parses the molecule to find its elements and subscripts. And does the aforementioned (functional changes). Struggles I admit that the hardest part of this session was transforming my code to create functions instead of just a blob of code. As you can imagine, it became very frustrating when– when I started to convert the code into constituent functions– my code started to have errors: some that have come of before and some new. At one point, I told myself, “My old code works, why can’t I just use that!” Of course, this was just out of a fit of discouragement, but I went on. I included I screenshot of what the project does at this moment, below– using NH3 (ammonia) as an example. Goodbye, thank you for reading. I hope you gained something, whether it be entertainment or knowledge."}, {"post_id": 50671, "ts": "2026-08-19T23:22:02Z", "hours": 2.9908, "text": "Welcome. My name is Lucky This is my second devlog, based around a project (my first personal one) in python that predicts molecular and overall shape geometries using Valence Shell Electron-Pair Repulsion Theory– VSEPR (check my first devlog if you seek more information). The following is what I have done, in simple terms. I have: Counted the Valence Electrons of the inputted molecule using mendeleev . Accounted for charges on molecules and taking that into consideration while calculating Valence Electrons. Error checked / parsed the user’s input to only allow valid molecules. Calculated electronegativities of constituent elements (using mendeleev ) and determining the central atom of the molecule. Challenges: It was hard to parse the user’s input, and organizing code in respect to the type of the user’s molecule (e.g., if it has a charge that isn’t 0 or not). This way, it was hard to check whether my code was breaking other code. I remember accounting charges for my valence electron total– I was so happy and I felt very accomplished. However, I realized that I couldn’t input zero-charge molecules anymore– simple ones like H20 or CO2 . . . This is why I am going to decide to make a test file using pytest . (I may even have errors in my code I haven’t found yet.) I won’t have to go through this struggle again: testing and testing and testing. Rather, I can just run a single line in my terminal and test my whole file easily. That said, I will still need to change some things in order for that to happen– which leads me on to what I hope to achieve in the near future in terms of this project. Goals for next sessions: Create actual functions with respective function (obviously, haha), so I can use pytest. Overall clean up code Start abstractly creating a lewis structure– I don’t know yet if I will actually draw it on the screen. Calculate the amount of covalent bonds needed from the central atom to terminal atoms, and account 2 electrons for each bond. Thanks for reading, I hope you learned something or found my post interesting. I included a screenshot below of my project’s output for now."}, {"post_id": 49240, "ts": "2026-08-17T22:19:09Z", "hours": 1.5242, "text": "Welcome, reader. My name is Lucky, and this is my first personal project; and it's made using python. The modules I decided to use for now was just one: re. For context: my overall project is a cmd-line project that revolves around taking input from the user, a molecule, and predicting the molecular and electron-pair geometries of it. In other words, predicting the overall shape of the molecule. My first step is to count the valence electrons of the full molecule, and my first step in that is shown here. I was inspired by a bit of chemistry and I thought it would be an interesting first project to build my skills, although the concept is admittedly of low practicality or use. Little did I know, the overall idea requires a lot of parsing and error checking than I initially thought! At first, I used for-loop logic to find subscripts and trace them back to their respective elements. The logic was personally overwhelming: while programming, the ideas were too much to hold: I had to think about this list and that list, this dictionary and that dictionary, this index and that index, lining up everything perfectly. I'm glad I pseudo-coded a bit as of before, as I'm afraid my head would have exploded. Even after building the for-logic, there was still too much to parse. It all felt arbitrarily too much for a relatively simple function. I had to take into account of the implicit subscripts of 1, the implicit coefficient as well . . . However, after the struggle, I realized that I could use re.findall to do such as the aforementioned. Plug in a simple pattern, and boom– no more parsing needed, no more messiness. Nonetheless, I am glad and I went through the struggle, as I learned a lot specifically, and I also learned about the reality of programming: it seems easier in your head– it’s certainly easier said than done. As Lao Tzu had said: “A journey of a thousand miles begins with a single step.” Although, admittedly, and ironically, I can’t say my journey is of a thousand miles haha. As you can see, I included I screenshot / small demo below, of what the project’s function is. Next up, I plan to use the information granted by my code to count the number of valence electrons in the full molecule, possibly creating and using a dictionary of valence electron information for constituent atoms. Reader, thanks for coming along and listening to my experience coding my first personal project! I am determined to keep going and ultimately reach my final goal. Again, my name is Lucky, and I thank you for reading."}]...
|
Title: VSEPR Predictor by @LuckyInt | Stardance
D Title: VSEPR Predictor by @LuckyInt | Stardance
Devlogs:
Welcome, reader. My name is Lucky, and this is my first personal project; and it's made using python. The modules I decided to use for now was just one: re. For context: my overall project is a cmd-line project that revolves around taking input from the user, a molecule, and predicting the molecular and electron-pair geometries of it. In other words, predicting the overall shape of the molecule. My first step is to count the valence electrons of the full molecule, and my first step in that is shown here. I was inspired by a bit of chemistry and I thought it would be an interesting first project to build my skills, although the concept is admittedly of low practicality or use. Little did I know, the overall idea requires a lot of parsing and error checking than I initially thought! At first, I used for-loop logic to find subscripts and trace them back to their respective elements. The logic was personally overwhelming: while programming, the ideas were too much to hold: I had to think about this list and that list, this dictionary and that dictionary, this index and that index, lining up everything perfectly. I'm glad I pseudo-coded a bit as of before, as I'm afraid my head would have exploded. Even after building the for-logic, there was still too much to parse. It all felt arbitrarily too much for a relatively simple function. I had to take into account of the implicit subscripts of 1, the implicit coefficient as well . . . However, after the struggle, I realized that I could use re.findall to do such as the aforementioned. Plug in a simple pattern, and boom– no more parsing needed, no more messiness. Nonetheless, I am glad and I went through the struggle, as I learned a lot specifically, and I also learned about the reality of programming: it seems easier in your head– it’s certainly easier said than done. As Lao Tzu had said: “A journey of a thousand miles begins with a single step.” Although, admittedly, and ironically, I can’t say my journey is of a thousand miles haha. As you can see, I included I screenshot / small demo below, of what the project’s function is. Next up, I plan to use the information granted by my code to count the number of valence electrons in the full molecule, possibly creating and using a dictionary of valence electron information for constituent atoms. Reader, thanks for coming along and listening to my experience coding my first personal project! I am determined to keep going and ultimately reach my final goal. Again, my name is Lucky, and I thank you for reading.
Welcome. My name is Lucky This is my second devlog, based around a project (my first personal one) in python that predicts molecular and overall shape geometries using Valence Shell Electron-Pair Repulsion Theory– VSEPR (check my first devlog if you seek more information). The following is what I have done, in simple terms. I have: Counted the Valence Electrons of the inputted molecule using mendeleev . Accounted for charges on molecules and taking that into consideration while calculating Valence Electrons. Error checked / parsed the user’s input to only allow valid molecules. Calculated electronegativities of constituent elements (using mendeleev ) and determining the central atom of the molecule. Challenges: It was hard to parse the user’s input, and organizing code in respect to the type of the user’s molecule (e.g., if it has a charge that isn’t 0 or not). This way, it was hard to check whether my code was breaking other code. I remember accounting charges for my valence electron total– I was so happy and I felt very accomplished. However, I realized that I couldn’t input zero-charge molecules anymore– simple ones like H20 or CO2 . . . This is why I am going to decide to make a test file using pytest . (I may even have errors in my code I haven’t found yet.) I won’t have to go through this struggle again: testing and testing and testing. Rather, I can just run a single line in my terminal and test my whole file easily. That said, I will still need to change some things in order for that to happen– which leads me on to what I hope to achieve in the near future in terms of this project. Goals for next sessions: Create actual functions with respective function (obviously, haha), so I can use pytest. Overall clean up code Start abstractly creating a lewis structure– I don’t know yet if I will actually draw it on the screen. Calculate the amount of covalent bonds needed from the central atom to terminal atoms, and account 2 electrons for each bond. Thanks for reading, I hope you learned something or found my post interesting. I included a screenshot below of my project’s output for now.
Good day, reader. I’m Lucky. This is a third devlog on my project: VSEPR Predictor. If you aren’t sure of the project aims to do, feel free to read my first devlog; however, I will give you a brief summary. The project takes input a molecule, and then predicts the molecular geometry / shape of the molecule, as well as the electron-group geometry overall. It is built in python. Pytest As stated in my earlier log, I was tired of manually testing my project all of the time, and I wanted to use pytest. Therefore, I created 4 functions that have specific roles in my code. These four functions are the following: get_atoms_subscripts, get_central_atom, get_total_valence, and validate_formula– all of which take a molecule as input. *Before I state the advancements I have made, I’d like to disclaim that the electron-group calculations are not yet finalized, as I have yet to account for double and single bonds. To target this problem, I have calculated formal charges, and I plan to tackle it next. I will not explain what formal charges are– for the sake of words– but if you want, you can search it up. Functional Changes Calculated electron groups note ^^^ Calculated formal charge before adding double or triple bonds - Listed terminal atoms (every atom but the central one) Calculated Lone pairs note ^^^ Overall Function This project, at its state at the moment of writing: Counts Valence Electrons of the inputted molecule (mendeleev assist). Accounts for charges on molecules and taking that into consideration while calculating Valence Electrons. Error checks / parses the user’s input to only allow valid molecules. Calculates electronegativities of constituent elements (using mendeleev) and determining the central atom of the molecule. Parses the molecule to find its elements and subscripts. And does the aforementioned (functional changes). Struggles I admit that the hardest part of this session was transforming my code to create functions instead of just a blob of code. As you can imagine, it became very frustrating when– when I started to convert the code into constituent functions– my code started to have errors: some that have come of before and some new. At one point, I told myself, “My old code works, why can’t I just use that!” Of course, this was just out of a fit of discouragement, but I went on. I included I screenshot of what the project does at this moment, below– using NH3 (ammonia) as an example. Goodbye, thank you for reading. I hope you gained something, whether it be entertainment or knowledge.
Welcome, reader. This is my 4th devlog on a project (primarily built in python), that takes a molecule with a single defined central atom and predicts the electron geometries, molecular geometries (bond hybridization as well) using VSEPR Theory , and other quantitative data like total valence electrons, lone pairs, etc., that were collected along the calculations. If you are interested in my motivations and overall more information about the project, you can read my previous devlogs as well. However, the near-following bulleted-list will hopefully provide decent context. I would usually write a devlog earlier than this; however, I worked on my README.MD, yielding not a full 4h 37m on functional programming necessarily. Functions of the Predictor This project, at its state at the moment of writing: Counts Valence Electrons of the inputted molecule (mendeleev assist). Accounts for charges on molecules and taking that into consideration while calculating Valence Electrons. Error checks / parses the user’s input to only allow valid molecules. * NEW/ADDED Calculates electronegativities of constituent elements (using mendeleev) and determining the central atom of the molecule. Parses the molecule to find its elements and subscripts. Calculates electron groups / steric number. Calculates lone pairs around the central atom. Reforms the molecule in VSEPR form: AX_mE_n. * NEW Searches through a dictionary/table of all of the permutations of VSEPR form in order to fetch appropriate data. * NEW New Changes I rewrote some of the code in order to remove redundancy and to improve efficiency. I also created designated functions for some of the code I recently wrote. These parts were quite annoying, as it was frustrating to have to rewrite code to reach the same goal again; a lot of errors kept appearing. Nevertheless, I finished in the end. It takes a lot of patience to read through all your code line by line and go through the functions of each, and then seeing where efficiency could be improved. Nevertheless, it is satisfying to realize and improve on code, and to produce a more concise and readable product in the end. Since I can’t write extensively in this devlog, I will touch on topics like bond hybridization and more later. I also worked on my README.MD as aforementioned, which I encourage you to read or look at. Future Plans As you can see in the screenshot I included below (using H3O+/ hydronium as the example), my project is simply printing out all of the data– though the calculations are arguably demanding. In essence, the output is underwhelming compared to the immense backend logic. I would certainly like to make this into a web or application, and at the same time I would be learning HTML, CSS, and JavaScript. Conclusion / Goodbyes Thank you for reading, reader. I imagine that you learned or found something in my devlog interesting. If you have any suggestions, comment below and I will be sure to ponder over them. By the way, I really don’t know which molecules to pick for my examples in my screenshots, so you can comment some that you might want me to use (make sure it has one central atom). My name is Lucky, and I thank you , once again, Goodbye. for H3O+ (Hydronium) below
Hello, World. It’s been a while. Welcome to the 5th devlog centralized around a (mainly python) project that uses VSEPR Theory– aka Valence Shell Electron Pair Repulsion Theory– to predict the shapes/geometries of given molecules. For more info on the project’s main aims, please read my previous devlog. Nevertheless, a bulleted summary of what the project can do (structured in a way similar to my other devlogs for simplicity) is shown below. Capabilities of the Project This project, at its state at the moment of writing: Counts Valence Electrons of the inputted molecule (mendeleev assist). Accounts for charges on molecules and taking that into consideration while calculating Valence Electrons. Error checks / parses the user’s input to only allow valid molecules. * NEW/ADDED Calculates electronegativities of constituent elements (using mendeleev) and determining the central atom of the molecule. Parses the molecule to find its elements and subscripts. Calculates electron groups / steric number. Calculates lone pairs around the central atom. Reforms the molecule in VSEPR form: AX_mE_n. Searches through a dictionary/table of all of the permutations of VSEPR form in order to fetch appropriate data. Interacts with the user in order to act as an educational tool. * NEW Allows the user freedom in the questions asked: they can ask for a hint, can skip 1 questions, and can skip all questions at once. * NEW The Radical Problem (literally. (solved)) A major mistake on my part was that I forgot to account for radical molecules; in fact, I didn’t even know they were a thing. It turns out that, some molecules are allowed to have a lone electron surrounding the central atom, since they have an odd number of total valence electrons, hence yielding them an inevitable 1 leftover electron. Thankfully, the problem is solved now, perhaps in an admittingly unfortunate way: the program is now designed to simply reject radical molecules. There is a good reason for this, and that’s because these molecules’ shapes cannot reliably be predicted with VSEPR theory. The Clean Up In the time in between my 4th and 5th devlog, I have spent a lot of time capturing bugs in my code, and cleaning the code along the way. For a simple example, I would lazily copy-and-paste the same code into each constituent if, elif, and else statement when I could just call that code after them. As it’s been a relatively long time, I cannot remember a lot of the specific clean-ups I had done, which is probably included in the cons of pushing devlogs late . . . I apologize for the late devlog (although I know not many care). The reason for this, and the low amount of hours and effort given in these past 13 days, is mostly because of school. As well as there was a problem with my hackatime or rather my VSCode wherein multiple hours of work were not logged for whatever reason– however, I worked with quality during those times so I consider it a win. Addressing the Functionality (the interactivity) For now, my project asks questions to the reader terminal style, being arguably not engaging and probably very indescriptive as well– which is important to take note of, as this is indeed supposed to be an educational tool. In my future plans, I hope to pick up on some JavaScript or TypeScript, HTML, and CSS, in order to create a website or application that actually renders the models of these molecules, as well as to provide models for constituent steps like creating the Lewis/Dot structure. I firmly believe that if we are building the Dot Structures and are predicting shapes of molecules, the users should be able to see these things so they can then understand . Conclusions Thank you for reading! This was the 5th devlog, on the project based around VSEPR Theory, and I’ll see you, next time.
Welcome! It has been 2 whole weeks. And a devlog has arrived for the project that uses VSEPR theory to primarily predict the shape of a molecule, my name being Lucky. Just to preface , I have made a lot of changes in these 6.5 hours; and I have been irresponsible by not devlogging along the way . . . For more over-arching logging though, feel free to check my github commits to see the progressional changes. As well, check my other devlogs or read my README for more info on what my project does specifically. By the way, I will also not be including already stated info in my devlogs to avoid being repetitive and to save some words. Website I started building the website for my project (picture below), using HTML and CSS and my already-coded python backend. The HTML was pretty streamlined and was finished in a day; I also used Sakura CSS , linked in HTML as classless CSS. The CSS was a bit harder and took more days– mainly because Sakura CSS was overriding a lot of what I wrote! In the future, I believe it would be better if I didn’t use the pre-made CSS at all. I admit that I used a lot of AI due to frustration and confusion, however I retraced, decided to go back, and understood the code, and built some myself. By far the hardest part was connecting my python backend with the frontend, using JS (JavaScript) and API to do so. I did use FastAPI and their documentation, however I still ran into a lot of problems. This may be because I was using Github Codespaces, or for other reasons. Fork/PR Thanks to Su6o on Github for forking my Repo and checking over my README for grammar and phrasing errors. Conclusions/Goodbyes I learned a lot in these 2 weeks, albeit not being so consistent. One thing I have to work on is to be less reliant, to be independent and solve problems on my own. There was a lot of frustration in these sessions, and I hope to relieve of that next. For the future of this project, I would like to use the data given by the backend to write a Lewis Structure code in frontend. As my project is aimed to be an educational tool (might change), it would also be helpful to transform the frontend to do such. That’s all. Thanks for reading, and have a great day. I will try to get a working demo up, so you can interactively use the site....
|
1793318112.4410806
|
1793922912.4410806
|
|
5962
|
Insert Coin by @hamdaraksa | Stardance
|
hamdaraksa
|
1
|
25.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T23:28:54Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created an arcade game that runs in the taskbar so it can be played flexibly.", "repo": "https://github.com/kyubiner/Insert-Coin", "demo": "https://drive.google.com/drive/folders/14mZBPSmJ7eGYQSYK2bIwrfAscWfY0NeD?usp=sharing"}]...
|
[{"post_id": 75038, "ts": "202 [{"post_id": 75038, "ts": "2026-09-28T23:17:30Z", "hours": 7.3944, "text": "My game is ready for now and can be installed from Google Drive :)"}, {"post_id": 73604, "ts": "2026-09-25T13:47:33Z", "hours": 8.2683, "text": "I’m creating various things here, such as a background for my game and a circle… It’s going to get even more interesting, and I can’t wait to try out the ship for the first time."}, {"post_id": 71051, "ts": "2026-09-20T07:46:05Z", "hours": 3.0236, "text": "Alright, so I’ve finished creating the first mini-game for my arcade game, GitHub Striker . The concept is similar to Blocky Breaker , but the levels are based on your GitHub contribution activity the more active you are, the easier the levels are to complete. And my next goal is to polish this mini-game."}, {"post_id": 70911, "ts": "2026-09-20T00:37:22Z", "hours": 6.5983, "text": "I’m making a block-breaker arcade game, but I’m thinking about making it more interesting hopefully, I can get it done in time."}]...
|
Title: Insert Coin by @hamdaraksa | Stardance
Dev Title: Insert Coin by @hamdaraksa | Stardance
Devlogs:
I’m making a block-breaker arcade game, but I’m thinking about making it more interesting hopefully, I can get it done in time.
Alright, so I’ve finished creating the first mini-game for my arcade game, GitHub Striker . The concept is similar to Blocky Breaker , but the levels are based on your GitHub contribution activity the more active you are, the easier the levels are to complete. And my next goal is to polish this mini-game.
I’m creating various things here, such as a background for my game and a circle… It’s going to get even more interesting, and I can’t wait to try out the ship for the first time.
My game is ready for now and can be installed from Google Drive :)
Ships:
I created an arcade game that runs in the taskbar so it can be played flexibly....
|
1793148716.8134832
|
1793235116.8134832
|
|
23265
|
Personal Website by @moe0606 | Stardance
|
moe0606
|
0
|
5.39
|
0
|
[]
|
[{"post_id": 75044, "ts": "202 [{"post_id": 75044, "ts": "2026-09-28T23:54:18Z", "hours": 1.4208, "text": "Forgot about this and then just randomly remembered today so I’m gonna lock in and finish it. I just got done with the homepage. Tomorrow, I’ll see if I can add the apple music API to show what I’m currently listening to and also add some interactivity to the website."}, {"post_id": 14612, "ts": "2026-06-23T19:42:53Z", "hours": 1.8581, "text": "Finally finished the Figma prototype of the home page, spent like 6~7 ish hours undocumented on procreate and affinity 😭😭. took some inspiration from @supercoolcodinggirl ’s name font. Tomorrow I will take a break from this project and complete the webOS project so I don’t get burnt out."}, {"post_id": 13251, "ts": "2026-06-21T18:13:04Z", "hours": 1.3058, "text": "Progress so far: Designed the mock-up of the home screen (the spiderman background is temporary). Next I need to do some designs on affinity and procreate to make the home screen more inviting and personalised."}, {"post_id": 13196, "ts": "2026-06-21T16:51:02Z", "hours": 0.8094, "text": "I’m building a personal portfolio website in the style of a magazine cover. To begin, I created a mood board on Pinterest of ideas I can use for inspiration, next I think I’ll create a design brief (colour scheme and a font scheme and any other assets I think the website will include), finally I will create a mock up on Figma before getting started on the actual website code."}]...
|
Title: Personal Website by @moe0606 | Stardance
D Title: Personal Website by @moe0606 | Stardance
Devlogs:
I’m building a personal portfolio website in the style of a magazine cover. To begin, I created a mood board on Pinterest of ideas I can use for inspiration, next I think I’ll create a design brief (colour scheme and a font scheme and any other assets I think the website will include), finally I will create a mock up on Figma before getting started on the actual website code.
Progress so far: Designed the mock-up of the home screen (the spiderman background is temporary). Next I need to do some designs on affinity and procreate to make the home screen more inviting and personalised.
Finally finished the Figma prototype of the home page, spent like 6~7 ish hours undocumented on procreate and affinity 😭😭. took some inspiration from @supercoolcodinggirl ’s name font. Tomorrow I will take a break from this project and complete the webOS project so I don’t get burnt out.
Forgot about this and then just randomly remembered today so I’m gonna lock in and finish it. I just got done with the homepage. Tomorrow, I’ll see if I can add the apple music API to show what I’m currently listening to and also add some interactivity to the website....
|
1792752842.8361735
|
1793357642.8361735
|
|
32329
|
HPA Based Tank by @MrCactus | Stardance
|
MrCactus
|
0
|
3.71
|
0
|
[]
|
[{"post_id": 75050, "ts": "202 [{"post_id": 75050, "ts": "2026-09-29T00:16:13Z", "hours": 0.3, "text": "Guys, It’s Over I’m Gonna be Honest, I didn’t finish my project, I just started high school this year and it’s been pretty demanding. Yet I’ve learned so much about github, markdown, hackclub and just making an offical project in general. So I wanted to say thank you, one last time, to anyone who supported me, to everyone who taught me , and to everyone who made stardance possible. BUT This doesn’t mean I’m gonna stop using hackclub , and I do infact plan to finish my tank, after halloween(cuz I gotta make my own costume), which I’ll update the github page for when I’m done so you all can see, I might even make a small Youtube video for it! Anyways , now that I have everything set up for Hackclub, next year summer, I’ll join another program (or maybe even Stardance 2 if they make that 0:), and this time I’ll be ready…(; #Summer2027Hackclub"}, {"post_id": 59966, "ts": "2026-09-02T01:24:00Z", "hours": 2.8425, "text": "HPA Tank // Devlog 2: Firing System Complete! I did it! My firing system using HPA seems to work! What I’ve done since last time: Built, tested, and iterated the firing system until it became operational. Scanned a 3d model of the complete firing system. Modeled and printed a new stand for the firing system. The Process: While I did have a lot of fun making & working on this, the process through which I iterated was quite nerveracking and scary with my process for testing the fire system being: Tediously hand-pumping the main air tank to 1000 psi. Taking everything outside, including a 12v battery, small breadboard, the firing system, and various other piping pieces. Then once testing, I had to prop up the firing system and everything else on two stools from which I would slowly increase the regulator’s pressure output, hoping a piece of piping wouldn’t fly off mortally wounding me.(You can see this in the first image.) All the while trying to figure out what’s wrong with the firing system which included me putting my head near certain parts to try to hear any leaks. Since the first try everything surprisingly worked!… Except the solenoid valve , which I really tried saving through three different tests in which I even added new parts but eventually I just replaced it with this simpler solenoid and just pocketed the return money to be used for the next devlog. This also means that the 3d scan and stand don’t match the firing system anymore since I made them before iterating when the old solenoid was still on. So what’s next? Well for the next devlog I plan to: Make a demo of the drivetrain with suspension and one of the two motors I’ll be using. Add a barrel onto the firing system so we can actually see how it shoots things other than air. Order and setup my rc controls with an Hc-12 module. I’ve already learned a lot about markdown such as how to use emojis , and I soldered for the first time during this devlog. So I’m really excited for the next one, see you then! (Second image if firing system without main air tank) (Third image is the stand I printed out) (Fourth image is just proof that I was able to get pressure into the air tank)"}, {"post_id": 42304, "ts": "2026-08-06T23:11:40Z", "hours": 0.5636, "text": "HPA Tank // Devlog 1 This is a tank I’m creating that will(hopefully) be able to drive on uneven terrain using tank tread, fire plastic darts with a width of 0.5 inches using HPA, and reload without external help, all while being remote controlled. What I’ve done so far: Picked out & ordered the parts needed for the firing system. Drew up a basic blueprint of the firing system with thread sizes and some other technical information. Made a grossly oversimplified model of the firing system in CAD. Made a CAD model for a stand which will hold the firing system during the testing phase. What’s next? Once all the parts arrive, I’ll build the firing system, 3d scan it, and test it. Overall , most of the time I’ve spent leading up to this devlog has been fighting with Hackatime and Platformio to get them to work properly. Other than that, I’m really excited to finally start working on this project.(as this is my first major project I’d be happy to receive any suggestions or helpful tips for using GitHub, Fusion360, Markdown, e.c.t.)"}]...
|
Title: HPA Based Tank by @MrCactus | Stardance
De Title: HPA Based Tank by @MrCactus | Stardance
Devlogs:
HPA Tank // Devlog 1 This is a tank I’m creating that will(hopefully) be able to drive on uneven terrain using tank tread, fire plastic darts with a width of 0.5 inches using HPA, and reload without external help, all while being remote controlled. What I’ve done so far: Picked out & ordered the parts needed for the firing system. Drew up a basic blueprint of the firing system with thread sizes and some other technical information. Made a grossly oversimplified model of the firing system in CAD. Made a CAD model for a stand which will hold the firing system during the testing phase. What’s next? Once all the parts arrive, I’ll build the firing system, 3d scan it, and test it. Overall , most of the time I’ve spent leading up to this devlog has been fighting with Hackatime and Platformio to get them to work properly. Other than that, I’m really excited to finally start working on this project.(as this is my first major project I’d be happy to receive any suggestions or helpful tips for using GitHub, Fusion360, Markdown, e.c.t.)
HPA Tank // Devlog 2: Firing System Complete! I did it! My firing system using HPA seems to work! What I’ve done since last time: Built, tested, and iterated the firing system until it became operational. Scanned a 3d model of the complete firing system. Modeled and printed a new stand for the firing system. The Process: While I did have a lot of fun making & working on this, the process through which I iterated was quite nerveracking and scary with my process for testing the fire system being: Tediously hand-pumping the main air tank to 1000 psi. Taking everything outside, including a 12v battery, small breadboard, the firing system, and various other piping pieces. Then once testing, I had to prop up the firing system and everything else on two stools from which I would slowly increase the regulator’s pressure output, hoping a piece of piping wouldn’t fly off mortally wounding me.(You can see this in the first image.) All the while trying to figure out what’s wrong with the firing system which included me putting my head near certain parts to try to hear any leaks. Since the first try everything surprisingly worked!… Except the solenoid valve , which I really tried saving through three different tests in which I even added new parts but eventually I just replaced it with this simpler solenoid and just pocketed the return money to be used for the next devlog. This also means that the 3d scan and stand don’t match the firing system anymore since I made them before iterating when the old solenoid was still on. So what’s next? Well for the next devlog I plan to: Make a demo of the drivetrain with suspension and one of the two motors I’ll be using. Add a barrel onto the firing system so we can actually see how it shoots things other than air. Order and setup my rc controls with an Hc-12 module. I’ve already learned a lot about markdown such as how to use emojis , and I soldered for the first time during this devlog. So I’m really excited for the next one, see you then! (Second image if firing system without main air tank) (Third image is the stand I printed out) (Fourth image is just proof that I was able to get pressure into the air tank)
Guys, It’s Over I’m Gonna be Honest, I didn’t finish my project, I just started high school this year and it’s been pretty demanding. Yet I’ve learned so much about github, markdown, hackclub and just making an offical project in general. So I wanted to say thank you, one last time, to anyone who supported me, to everyone who taught me , and to everyone who made stardance possible. BUT This doesn’t mean I’m gonna stop using hackclub , and I do infact plan to finish my tank, after halloween(cuz I gotta make my own costume), which I’ll update the github page for when I’m done so you all can see, I might even make a small Youtube video for it! Anyways , now that I have everything set up for Hackclub, next year summer, I’ll join another program (or maybe even Stardance 2 if they make that 0:), and this time I’ll be ready…(; #Summer2027Hackclub...
|
1793317805.1631634
|
1793922605.1631634
|
|
10356
|
Comet Programming Language by @SpookyDervish | Sta Comet Programming Language by @SpookyDervish | Stardance...
|
SpookyDervish
|
1
|
192.82
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T00:29:49Z", "hours": 95.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Comet is in a mostly stable state and ready for people to use! I’ve written a large amount of documentation for the syntax itself, however, Comet is a lower-level programming language and not written for absolute beginner programmers. Please report any bugs on the “Issues” page of the Github/Chookspace repository!", "repo": "https://chookspace.com/Comet/Comet", "demo": "https://chsp.au/Comet/Comet/downloads.html"}]...
|
[{"post_id": 75051, "ts": "202 [{"post_id": 75051, "ts": "2026-09-29T00:28:39Z", "hours": 90.8728, "text": "Rewriting in Rust"}, {"post_id": 26285, "ts": "2026-07-11T00:06:25Z", "hours": 6.9497, "text": "Optimizing Compiler | Devlog #03 New Features ───────────────────────────────────────── Hello again! I’ve turned Comet into an optimizing compiler! So far we don’t have much, but Comet now has constant folding and constant propagation. But what does that actually mean? “Constant Folding” Constant folding means we look through the code for any math expressions or other things of the like. If there are any constants in the math expression, then we can replace the expression with what it will equal. For example: int x = ( 2 + 3 ) * ( 4 + 5 ) The constant folder will see (2+3), and because the expression only has constants it will replace it with 5 int x = 5 * ( 4 + 5 ) The constant folder then sees (4+5), and replaces it with 9. int x = 5 * 9 And finally it sees 5 * 9 and replaces it with 45. int x = 45 We’ve turned a 7 instruction expression into 1 instruction! “Constant Propogation” Constant propogation means that if a variable stays a value that the compiler knows throughout the variable’s lifetime, then we can replace all instances of that variable with its value. For example: int x = 2 + 3 int y = x + 3 * 2 Constant folding runs and we get int x = 5 int y = x + 6 x is a compile time constant now, and because it never stops being a constant, we can replace all values of x with 5. int x = 5 int y = 5 + 6 See how we can now run constant folding again now that we have more information? This is why compilers run optimizations over and over, until the code doesn’t change anymore. Bug Fixes ───────────────────────────────────────── Along with adding an optimizer, I’ve fixed a large bug Return statements are automatically added to functions now! Before, if you didn’t add a return statement, your function could go past where it should’ve been, crashing your program and possibly even running code it shouldn’t. That is now fixed. Comet also throws an error if you don’t include a return statement in a non-void function. Docs ───────────────────────────────────────── Finally, I’ve extended the docs on the Comet website. It previously only have information on everything up to loops, but now includes info on structs and arrays. That’s all from me, see you next time!"}, {"post_id": 25598, "ts": "2026-07-09T23:20:09Z", "hours": 3.9903, "text": "Sockets in Comet | Devlog #02 External Library Updates ───────────────────────────────────────── External libraries now have the ability to define enums. With this, I’ve begun work on a socket library for fun. Socket External Lib ───────────────────────────────────────── In the screenshot I’ve included, I’ve got a very tiny client and server example set up where the server waits for a single connection, and then prints out what the connection sent. I’ve got the core functions done but I’m gonna add more methods like readExact, readAll, those kinds of methods that just make your life a bit easier. Bug Fixes ───────────────────────────────────────── With the help of a friend, I’ve fixed a number of bugs. I also got cometc and comet to compile without any warnings, which is nice. Some bugs where: A lexer issue where trying to access a field from a list access would be incorrectly seen as a decimal number unless you added a space. Type checking on arrays was extremely strict and so I’ve lessened it so that arrays are usable See you next time!"}, {"post_id": 23866, "ts": "2026-07-07T01:45:34Z", "hours": 91.2869, "text": "Devlog #1 - Core of Comet is done What I currently have I’ve got generics, arrays, structs, inheritance, external library support, a package manager, exceptions, loops, enums, and everything else working. My next steps are writing some of the standard library in C, after I get the language to a usable state I’m planning to bootstrap it! What I did since I created the project When I created this project on Stardance I had already begun working on it before the competition started. I think I had already spent around 100 hours on the project. The project was originally written in LLVM, however, LLVM was quite difficult to get working, and I wanted to make progress rather than be stuck fighting with a slow piece of junk. So I decided to rewrite the entire compiler. I created a VM and decided that the VM would be my compilation target. This made things such as exceptions possible because I would not have to worry about stack unwinding and other very complicated and difficult things. I’ve made a huge amount of progress since then, and have gotten exceptions, external libraries, generics and structs, as well as arrays working since I created this project. I must admit, I forgot about the devlogs until now and so this is why I’m so far ahead and creating my first devlog only now. :P I’ll make sure to keep you guys updated though, see you soon once I get a socket running!"}]...
|
Title: Comet Programming Language by @SpookyDervis Title: Comet Programming Language by @SpookyDervish | Stardance
Devlogs:
Devlog #1 - Core of Comet is done What I currently have I’ve got generics, arrays, structs, inheritance, external library support, a package manager, exceptions, loops, enums, and everything else working. My next steps are writing some of the standard library in C, after I get the language to a usable state I’m planning to bootstrap it! What I did since I created the project When I created this project on Stardance I had already begun working on it before the competition started. I think I had already spent around 100 hours on the project. The project was originally written in LLVM, however, LLVM was quite difficult to get working, and I wanted to make progress rather than be stuck fighting with a slow piece of junk. So I decided to rewrite the entire compiler. I created a VM and decided that the VM would be my compilation target. This made things such as exceptions possible because I would not have to worry about stack unwinding and other very complicated and difficult things. I’ve made a huge amount of progress since then, and have gotten exceptions, external libraries, generics and structs, as well as arrays working since I created this project. I must admit, I forgot about the devlogs until now and so this is why I’m so far ahead and creating my first devlog only now. :P I’ll make sure to keep you guys updated though, see you soon once I get a socket running!
Sockets in Comet | Devlog #02 External Library Updates ───────────────────────────────────────── External libraries now have the ability to define enums. With this, I’ve begun work on a socket library for fun. Socket External Lib ───────────────────────────────────────── In the screenshot I’ve included, I’ve got a very tiny client and server example set up where the server waits for a single connection, and then prints out what the connection sent. I’ve got the core functions done but I’m gonna add more methods like readExact, readAll, those kinds of methods that just make your life a bit easier. Bug Fixes ───────────────────────────────────────── With the help of a friend, I’ve fixed a number of bugs. I also got cometc and comet to compile without any warnings, which is nice. Some bugs where: A lexer issue where trying to access a field from a list access would be incorrectly seen as a decimal number unless you added a space. Type checking on arrays was extremely strict and so I’ve lessened it so that arrays are usable See you next time!
Optimizing Compiler | Devlog #03 New Features ───────────────────────────────────────── Hello again! I’ve turned Comet into an optimizing compiler! So far we don’t have much, but Comet now has constant folding and constant propagation. But what does that actually mean? “Constant Folding” Constant folding means we look through the code for any math expressions or other things of the like. If there are any constants in the math expression, then we can replace the expression with what it will equal. For example: int x = ( 2 + 3 ) * ( 4 + 5 ) The constant folder will see (2+3), and because the expression only has constants it will replace it with 5 int x = 5 * ( 4 + 5 ) The constant folder then sees (4+5), and replaces it with 9. int x = 5 * 9 And finally it sees 5 * 9 and replaces it with 45. int x = 45 We’ve turned a 7 instruction expression into 1 instruction! “Constant Propogation” Constant propogation means that if a variable stays a value that the compiler knows throughout the variable’s lifetime, then we can replace all instances of that variable with its value. For example: int x = 2 + 3 int y = x + 3 * 2 Constant folding runs and we get int x = 5 int y = x + 6 x is a compile time constant now, and because it never stops being a constant, we can replace all values of x with 5. int x = 5 int y = 5 + 6 See how we can now run constant folding again now that we have more information? This is why compilers run optimizations over and over, until the code doesn’t change anymore. Bug Fixes ───────────────────────────────────────── Along with adding an optimizer, I’ve fixed a large bug Return statements are automatically added to functions now! Before, if you didn’t add a return statement, your function could go past where it should’ve been, crashing your program and possibly even running code it shouldn’t. That is now fixed. Comet also throws an error if you don’t include a return statement in a non-void function. Docs ───────────────────────────────────────── Finally, I’ve extended the docs on the Comet website. It previously only have information on everything up to loops, but now includes info on structs and arrays. That’s all from me, see you next time!
Rewriting in Rust
Ships:
Comet is in a mostly stable state and ready for people to use! I’ve written a large amount of documentation for the syntax itself, however, Comet is a lower-level programming language and not written for absolute beginner programmers. Please report any bugs on the “Issues” page of the Github/Chookspace repository!...
|
1793292564.9708812
|
1793378964.9708812
|
|
66641
|
Steam Game Roulette by @SunnyFlops | Stardance
|
SunnyFlops
|
0
|
2.34
|
0
|
[]
|
[{"post_id": 75060, "ts": "202 [{"post_id": 75060, "ts": "2026-09-29T00:53:50Z", "hours": 0.2853, "text": "animations are fun (but annoying to program) but i hope you become addicted to spinny wheels in addition to buying endless amounts of steam games"}, {"post_id": 75052, "ts": "2026-09-29T00:34:30Z", "hours": 0.8594, "text": "I made a wheel. it still has yet to spin and it looks HORRIBLE but a whole canvas system would take forever. This also looks funny."}, {"post_id": 75041, "ts": "2026-09-28T23:30:38Z", "hours": 0.7656, "text": "I added the logic to actually get a random game from your list! It also displays it in a box, but the actual randomiser wheel UI I haven’t implemented yet. So far, the API hell is over so I’m having fun."}, {"post_id": 75034, "ts": "2026-09-28T22:44:23Z", "hours": 0.4308, "text": "I haven’t really used APIs all that much because WOW THEY ARE SO ANNOYING TO WORK WITH and because I’m using github pages web hosting I had to go through a whole process to make a cloudflare worker (really annoying). The time spent working on the worker is not tracked properly because it’s web vs code.. which sucks… But at least you can get a list of all the games someone played!"}]...
|
Title: Steam Game Roulette by @SunnyFlops | Starda Title: Steam Game Roulette by @SunnyFlops | Stardance
Devlogs:
I haven’t really used APIs all that much because WOW THEY ARE SO ANNOYING TO WORK WITH and because I’m using github pages web hosting I had to go through a whole process to make a cloudflare worker (really annoying). The time spent working on the worker is not tracked properly because it’s web vs code.. which sucks… But at least you can get a list of all the games someone played!
I added the logic to actually get a random game from your list! It also displays it in a box, but the actual randomiser wheel UI I haven’t implemented yet. So far, the API hell is over so I’m having fun.
I made a wheel. it still has yet to spin and it looks HORRIBLE but a whole canvas system would take forever. This also looks funny.
animations are fun (but annoying to program) but i hope you become addicted to spinny wheels in addition to buying endless amounts of steam games...
|
1793101779.8978949
|
1793706579.8978949
|
|
51617
|
Personal Website by @fsh | Stardance
|
fsh
|
0
|
0.65
|
0
|
[]
|
[{"post_id": 75065, "ts": "202 [{"post_id": 75065, "ts": "2026-09-29T01:21:33Z", "hours": 0.2639, "text": "Added background colour, changed the font from the default, and changed the formatting of the header :)"}, {"post_id": 50562, "ts": "2026-08-19T19:27:58Z", "hours": 0.3867, "text": "hello world! I started by following the workshop guide, and later I will add more CSS and information."}]...
|
Title: Personal Website by @fsh | Stardance
Devlo Title: Personal Website by @fsh | Stardance
Devlogs:
hello world! I started by following the workshop guide, and later I will add more CSS and information.
Added background colour, changed the font from the default, and changed the formatting of the header :)...
|
1792677274.1090689
|
1793282074.1090689
|
|
24833
|
Smartwatch by @alexew0923 | Stardance
|
alexew0923
|
0
|
29.14
|
0
|
[]
|
[{"post_id": 75077, "ts": "202 [{"post_id": 75077, "ts": "2026-09-29T02:34:23Z", "hours": 6.1956, "text": "Automatic Dark Mode This week I wanted to adjust the display brightness from the readings on VEML6035 ambient light sensor. Unlike other sensors, VEML6035 did not have a built-in library on Arduino IDE. I had to spend hours watching how to use Wire library, which allows I2C communication easily. Then, I looked at the datasheet to set the initial setting and calculate lux (unit for illuminance). My initial plan was to adjust the back panel to control the brightness, but on this particular TFT display, there wasn’t a dedicated backlight pin. It meant the backlight would be fully on 24/7, so I adjusted my plan to switch between dark and light mode. The condition to trigger the mode change is that the ambient light sensor would measure every 0.5s and if the average of the last ten lux values is below 10, then the smartwatch changes to dark mode and vice versa."}, {"post_id": 64607, "ts": "2026-09-09T03:51:37Z", "hours": 1.2428, "text": "Temperature Chart It has been almost a month since the last devlog and I regret procrastinating over the summer. Before Stardance challenge ends, I will try my best to upload as many devlogs as possible. Temperature Chart I modified the temperature & humidity app from showing the raw values to graphs, which makes it more visually appealing and also interesting to look at the temperature trend. Clock Settings Now, you can long press the left hand on the clock screen and you can edit the time by every minute. I also added a year-month-day text at the top, so you can check what day it is right away. Minor Bug Fix As reported in an earlier devlog, there was a bug that the passive buzzer was making random noises after using tone() function, even though I called noTone() to stop the sound. I spent quite a good time troubleshooting it and it turns out that instead of relying on tone(), I had to manually set up PWM signals with LEDC (LED control). To make square waves, I set the duty cycle to 50% of the resolution (2048 in my case because I am using 12 bit resolution). The frequency is set at 131Hz, which corresponds to the note C3."}, {"post_id": 45287, "ts": "2026-08-11T17:31:12Z", "hours": 1.4, "text": "Major Update Over the past week, I made a lot of changes to the smartwatch and here are what I have done. App Icon I added custom icons for each app like clock icons for stopwatch and timer and a thermometer for temperature and humidity. I did it by uploading C arrays of pixels (black and white). Then, I used the image widget in LVGL to display the icons. New App With the onboard SHT40 temperature & humidity sensor, I built a new app that displays current temperature and humidity readings. Currently, the app only has plain texts, but I am thinking of changing it to something more visual like a gauge or graph. One thing I did not consider when making the PCB is that SHT40 readings can be affected by the heat from ESP32 or hand, so it might not be as accurate as it should be. Bug Fixes There were some minor issues like the noise from buttons, which microcontroller read it as two clicks even though I clicked only once. I could fix this issue either by software (rechecking value after certain amount of time) or hardware (soldering a capacitor) and I chose to go with hardware because I did not want to make the code more difficult to read than what it is currently. Another bug I found is that DS3231 real time clock and MPU6050 sensor both shared the same I2C address (0x68) and the data was getting corrupted. Luckily, there is a pin on MPU6050 called AD0, which I can power it to change its I2C address to 0x69."}, {"post_id": 40548, "ts": "2026-08-04T05:29:00Z", "hours": 3.3242, "text": "Timer Application I developed a timer application for the smartwatch. You can increment/decrement the time on timer by clicking on the buttons and start it with both buttons pressed. When the timer hits zero, the passive buzzer will beep. However, one thing I noticed is that the passive buzzer will still buzz and make tiny noises even after I stopped it. The Arduino function I am using for the buzzer is tone() and it sends on and off signals to the buzzer in specific frequency. I am not sure what is causing this, so I need to further investigate it."}, {"post_id": 32800, "ts": "2026-07-22T05:51:53Z", "hours": 2.1836, "text": "Soldering PCB I finally received PCBs I designed on KiCad from JLCPCB. All the other components had been sitting in my room for a few weeks, so I was really excited to have the PCB in my hands. First, I created a jig to hold the PCB in place and I spread over solder paste across the PCB with a stencil I ordered as well. Then, I carefully placed SMD components with a tweezer and melted the solder with a heat gun. I was nervous that my PCB design had a fault and would not work, but luckily it worked fine. I found that making a custom PCB is more efficient than hand soldering because I don’t have to fight over with soldering iron. Although it takes additional time to design a PCB and it costs extra money, I am looking forward to make more PCBs as it can also prepare me for industrial manufacturing. Troubleshooting While the smartwatch turns on, there were still some errors in the PCB. First, I reversed the VCC and GND path of the battery connector, so I had to cut the wires from the battery to correct the wire order, which was unsafe. Next, when I tested the display, only the backlight would turn on and it frustrated me. It turned out that the CS pin was connected to the TX pin of ESP32, which transmits message to serial monitor. Additionally, I had to specify esp32 version in board manager to 2.0.8 for the display to be compatible with XIAO ESP32 C3. Lastly, the PCB is way bigger than the display and next time I could try reducing its size, so it fits with the screen size and looks more appealing."}, {"post_id": 30498, "ts": "2026-07-18T03:49:18Z", "hours": 2.0333, "text": "Stopwatch Development I added two buttons with pull-up resistors to simulate forward/backward motion in a smartwatch. By clicking the buttons, you can switch through different apps and you can access them by a long press (> 0.5s). Currently, there is only stopwatch with its basic functions like start/stop/reset. I tried out EEZ Studio and I find it better than Lopaka, but there are still some limitations. Future Plan Add a passive buzzer to give feedback to user Add symbol for the apps Add “lap” function in stopwatch Develop other apps like timer, alarm and weather"}, {"post_id": 29938, "ts": "2026-07-17T03:27:54Z", "hours": 1.1669, "text": "Watch Face Development I integrated DS3231 real time clock with the display to show the time on watch face. The GUI is designed using LGVL format with TFT_eSPI driver. While I am waiting for the PCB to arrive, I will keep developing the software side. Initially, I chose Lopaka as a design tool, but I am planning to switch to EEZ Studio for its open source license and better functionality."}, {"post_id": 28644, "ts": "2026-07-15T00:46:03Z", "hours": 0.4, "text": "Testing DS3231 and Round Display on ESP32 Today, I tested DS3231 and TFT round display on ESP32 by uploading the example codes online and the wiring and the code weren’t too complicated. DS3231 comes with a battery, so it can keep track of the time even when it is not powered by an external source and I am planning to design the UI of the smartwatch with LVGL format, designed on Lopaka. PCB Design Apart from this devlog, I finished designing the PCB for my smartwatch using the schematic from the past devlog. The reason why I am writing my progress on this devlog is because even though 9 hours of my work was recorded on Hackatime, I can’t seem to write a separate devlog on the Stardance. Designing Process At first, I had no clue to what I should do with designing a PCB because it is my first time doing it. So I watched some tutorials on YouTube and learned basic skills like creating tracks (wires) and vias (connecting different layers), checking the PCB on 3D viewer. running Design Rules Checker before finalizing the PCB and exporting Gerber files for PCB manufacturing. Ordering PCB Now, I am done with the PCB and ordered 5 pieces of it on JLCPCB. It takes few weeks to arrive and right now I will be working on the software side while waiting for it. I did not use their assembly service because I wanted to solder SMD components by myself using a heat gun. The electronic parts were purchased through DigiKey and AliExpress and tools for SMD soldering were bought on AliExpress and Amazon."}, {"post_id": 20440, "ts": "2026-07-02T01:08:02Z", "hours": 1.3822, "text": "Schematic I started building a schematic for the smartwatch. It is my first time using KiCad, so I watched basic tutorials on YouTube about the interface. The symbols for the sensors and microcontroller are not listed on the basic KiCad symbol list and I had to find them separately on the manufacturer’s page and SnapMagic for free. How I Built the Schematic At first, I had no idea on how to connect the raw sensors to the microcontroller because I only worked with sensor modules that had other electrical components on it before. Therefore, I looked through the datasheet and there were example circuits, which I followed. Most sensors use I2C communication and it requires resistors between the serial clock and data lines to the power and a capacitor between ground and power to stabilize the power as well. Then, instead of connecting all the wires, I placed labels in order to make the schematic clean to look at. Before I am finished with the schematic, I ran Electrical Rules Checker and fixed errors that showed up. Next Step The next step would be to use the schematic to layout the PCB. I am planning to get a hot plate and solder paste, so that I can solder SMD components onto the PCB by myself. It is a long journey, but I am hoping to finish the project with progress made each day. Comment below if you have any questions!"}, {"post_id": 15507, "ts": "2026-06-25T06:24:17Z", "hours": 9.8089, "text": "Brainstorming For my project, I chose to build a smartwatch of my own, similar to Galaxy and Apple Watch. Today, I brainstormed the basic materials and functions of the smartwatch. These are what I came up with. Components 1.28 Inch Round Circular TFT LCD Touchscreen Display Module 400mAh LiPo Battery - charge through ESP32 XIAO ESP32C3 - main processor MPU6050 - Inertial Measurement Unit SHT40 - Temperature and Humidity BMP581 - Air Pressure and Altitude VEML6035 - Ambient Light Sensor 2x Buttons CPT-9019A-SMT-TR - Passive Buzzer Functions Touchscreen User Interface Automatic Screen Turn On/Off - MPU6050 Stopwatch/Timer/Alarm - Play sound with the buzzer Temperature/Humidity/Air Pressure/Altitude Readings Automatic Brightness Level Adjustment - Ambient Light Sensor Simple music player with buzzer Bluetooth/WiFi connection to mobile and retrieve external data such as local weather/sports/stocks ㅤ These are what I came up with for now and I might add on to this as I work on the project. The next steps would be to design a schematic and printed circuit board, which is for the first time in my life and I am excited about it. This is a huge project, so it will take some time to finish it. Below is the picture of what I brainstormed on Google Docs."}]...
|
Title: Smartwatch by @alexew0923 | Stardance
Devl Title: Smartwatch by @alexew0923 | Stardance
Devlogs:
Brainstorming For my project, I chose to build a smartwatch of my own, similar to Galaxy and Apple Watch. Today, I brainstormed the basic materials and functions of the smartwatch. These are what I came up with. Components 1.28 Inch Round Circular TFT LCD Touchscreen Display Module 400mAh LiPo Battery - charge through ESP32 XIAO ESP32C3 - main processor MPU6050 - Inertial Measurement Unit SHT40 - Temperature and Humidity BMP581 - Air Pressure and Altitude VEML6035 - Ambient Light Sensor 2x Buttons CPT-9019A-SMT-TR - Passive Buzzer Functions Touchscreen User Interface Automatic Screen Turn On/Off - MPU6050 Stopwatch/Timer/Alarm - Play sound with the buzzer Temperature/Humidity/Air Pressure/Altitude Readings Automatic Brightness Level Adjustment - Ambient Light Sensor Simple music player with buzzer Bluetooth/WiFi connection to mobile and retrieve external data such as local weather/sports/stocks ㅤ These are what I came up with for now and I might add on to this as I work on the project. The next steps would be to design a schematic and printed circuit board, which is for the first time in my life and I am excited about it. This is a huge project, so it will take some time to finish it. Below is the picture of what I brainstormed on Google Docs.
Schematic I started building a schematic for the smartwatch. It is my first time using KiCad, so I watched basic tutorials on YouTube about the interface. The symbols for the sensors and microcontroller are not listed on the basic KiCad symbol list and I had to find them separately on the manufacturer’s page and SnapMagic for free. How I Built the Schematic At first, I had no idea on how to connect the raw sensors to the microcontroller because I only worked with sensor modules that had other electrical components on it before. Therefore, I looked through the datasheet and there were example circuits, which I followed. Most sensors use I2C communication and it requires resistors between the serial clock and data lines to the power and a capacitor between ground and power to stabilize the power as well. Then, instead of connecting all the wires, I placed labels in order to make the schematic clean to look at. Before I am finished with the schematic, I ran Electrical Rules Checker and fixed errors that showed up. Next Step The next step would be to use the schematic to layout the PCB. I am planning to get a hot plate and solder paste, so that I can solder SMD components onto the PCB by myself. It is a long journey, but I am hoping to finish the project with progress made each day. Comment below if you have any questions!
Testing DS3231 and Round Display on ESP32 Today, I tested DS3231 and TFT round display on ESP32 by uploading the example codes online and the wiring and the code weren’t too complicated. DS3231 comes with a battery, so it can keep track of the time even when it is not powered by an external source and I am planning to design the UI of the smartwatch with LVGL format, designed on Lopaka. PCB Design Apart from this devlog, I finished designing the PCB for my smartwatch using the schematic from the past devlog. The reason why I am writing my progress on this devlog is because even though 9 hours of my work was recorded on Hackatime, I can’t seem to write a separate devlog on the Stardance. Designing Process At first, I had no clue to what I should do with designing a PCB because it is my first time doing it. So I watched some tutorials on YouTube and learned basic skills like creating tracks (wires) and vias (connecting different layers), checking the PCB on 3D viewer. running Design Rules Checker before finalizing the PCB and exporting Gerber files for PCB manufacturing. Ordering PCB Now, I am done with the PCB and ordered 5 pieces of it on JLCPCB. It takes few weeks to arrive and right now I will be working on the software side while waiting for it. I did not use their assembly service because I wanted to solder SMD components by myself using a heat gun. The electronic parts were purchased through DigiKey and AliExpress and tools for SMD soldering were bought on AliExpress and Amazon.
Watch Face Development I integrated DS3231 real time clock with the display to show the time on watch face. The GUI is designed using LGVL format with TFT_eSPI driver. While I am waiting for the PCB to arrive, I will keep developing the software side. Initially, I chose Lopaka as a design tool, but I am planning to switch to EEZ Studio for its open source license and better functionality.
Stopwatch Development I added two buttons with pull-up resistors to simulate forward/backward motion in a smartwatch. By clicking the buttons, you can switch through different apps and you can access them by a long press (> 0.5s). Currently, there is only stopwatch with its basic functions like start/stop/reset. I tried out EEZ Studio and I find it better than Lopaka, but there are still some limitations. Future Plan Add a passive buzzer to give feedback to user Add symbol for the apps Add “lap” function in stopwatch Develop other apps like timer, alarm and weather
Soldering PCB I finally received PCBs I designed on KiCad from JLCPCB. All the other components had been sitting in my room for a few weeks, so I was really excited to have the PCB in my hands. First, I created a jig to hold the PCB in place and I spread over solder paste across the PCB with a stencil I ordered as well. Then, I carefully placed SMD components with a tweezer and melted the solder with a heat gun. I was nervous that my PCB design had a fault and would not work, but luckily it worked fine. I found that making a custom PCB is more efficient than hand soldering because I don’t have to fight over with soldering iron. Although it takes additional time to design a PCB and it costs extra money, I am looking forward to make more PCBs as it can also prepare me for industrial manufacturing. Troubleshooting While the smartwatch turns on, there were still some errors in the PCB. First, I reversed the VCC and GND path of the battery connector, so I had to cut the wires from the battery to correct the wire order, which was unsafe. Next, when I tested the display, only the backlight would turn on and it frustrated me. It turned out that the CS pin was connected to the TX pin of ESP32, which transmits message to serial monitor. Additionally, I had to specify esp32 version in board manager to 2.0.8 for the display to be compatible with XIAO ESP32 C3. Lastly, the PCB is way bigger than the display and next time I could try reducing its size, so it fits with the screen size and looks more appealing.
Timer Application I developed a timer application for the smartwatch. You can increment/decrement the time on timer by clicking on the buttons and start it with both buttons pressed. When the timer hits zero, the passive buzzer will beep. However, one thing I noticed is that the passive buzzer will still buzz and make tiny noises even after I stopped it. The Arduino function I am using for the buzzer is tone() and it sends on and off signals to the buzzer in specific frequency. I am not sure what is causing this, so I need to further investigate it.
Major Update Over the past week, I made a lot of changes to the smartwatch and here are what I have done. App Icon I added custom icons for each app like clock icons for stopwatch and timer and a thermometer for temperature and humidity. I did it by uploading C arrays of pixels (black and white). Then, I used the image widget in LVGL to display the icons. New App With the onboard SHT40 temperature & humidity sensor, I built a new app that displays current temperature and humidity readings. Currently, the app only has plain texts, but I am thinking of changing it to something more visual like a gauge or graph. One thing I did not consider when making the PCB is that SHT40 readings can be affected by the heat from ESP32 or hand, so it might not be as accurate as it should be. Bug Fixes There were some minor issues like the noise from buttons, which microcontroller read it as two clicks even though I clicked only once. I could fix this issue either by software (rechecking value after certain amount of time) or hardware (soldering a capacitor) and I chose to go with hardware because I did not want to make the code more difficult to read than what it is currently. Another bug I found is that DS3231 real time clock and MPU6050 sensor both shared the same I2C address (0x68) and the data was getting corrupted. Luckily, there is a pin on MPU6050 called AD0, which I can power it to change its I2C address to 0x69.
Temperature Chart It has been almost a month since the last devlog and I regret procrastinating over the summer. Before Stardance challenge ends, I will try my best to upload as many devlogs as possible. Temperature Chart I modified the temperature & humidity app from showing the raw values to graphs, which makes it more visually appealing and also interesting to look at the temperature trend. Clock Settings Now, you can long press the left hand on the clock screen and you can edit the time by every minute. I also added a year-month-day text at the top, so you can check what day it is right away. Minor Bug Fix As reported in an earlier devlog, there was a bug that the passive buzzer was making random noises after using tone() function, even though I called noTone() to stop the sound. I spent quite a good time troubleshooting it and it turns out that instead of relying on tone(), I had to manually set up PWM signals with LEDC (LED control). To make square waves, I set the duty cycle to 50% of the resolution (2048 in my case because I am using 12 bit resolution). The frequency is set at 131Hz, which corresponds to the note C3.
Automatic Dark Mode This week I wanted to adjust the display brightness from the readings on VEML6035 ambient light sensor. Unlike other sensors, VEML6035 did not have a built-in library on Arduino IDE. I had to spend hours watching how to use Wire library, which allows I2C communication easily. Then, I looked at the datasheet to set the initial setting and calculate lux (unit for illuminance). My initial plan was to adjust the back panel to control the brightness, but on this particular TFT display, there wasn’t a dedicated backlight pin. It meant the backlight would be fully on 24/7, so I adjusted my plan to switch between dark and light mode. The condition to trigger the mode change is that the ambient light sensor would measure every 0.5s and if the average of the last ten lux values is below 10, then the smartwatch changes to dark mode and vice versa....
|
1792655702.9237688
|
1793260502.9237688
|
|
10043
|
CoolCompanion by @Gamer123 | Stardance
|
Gamer123
|
0
|
43.13
|
0
|
[]
|
[{"post_id": 75081, "ts": "202 [{"post_id": 75081, "ts": "2026-09-29T02:53:21Z", "hours": 3.44, "text": "Dev Log #12 Its done! All that is left is to film the video and get it submitted before the closing date…. I may have taken a break that was about a month long…"}, {"post_id": 35072, "ts": "2026-07-26T08:10:01Z", "hours": 4.5008, "text": "Dev Log #11 GOOD NEWS THE PERF BOARDS WORKED! So it took me a long time to get the perf boards to work but now they work! So now i got to finish the firmware and finish the soldering for the temp sensor"}, {"post_id": 34455, "ts": "2026-07-25T05:44:05Z", "hours": 1.4992, "text": "Dev Log #10 So i got my new boards, Minus the air bubbles under the solder pads, I tried them and the same design flaw remains, Now I’m going to perf board, if this doesn’t work then i got to get even more creative for this. Or if i can find out the flaw exactly then ill redesign PCB’s"}, {"post_id": 31096, "ts": "2026-07-19T06:59:06Z", "hours": 3.3553, "text": "Dev Log #9 More problems, so during my process of getting a board to work so i can finish software, i discovered a design error and i cant track back exactly what the problem is however its causing major issues, so now back to the drawing board…"}, {"post_id": 30494, "ts": "2026-07-18T03:35:26Z", "hours": 1.0167, "text": "Dev Log #8 Slightly more interesting news, So i received my new boards from oshpark and started soldering however then i noticed that the solder mask was not fully cured on the boards and have since contacted support and now it is in the works of getting me replacements.. For now im going to try and use a pcb from the previous manufacturer to try and get a working prototype again so i can continue work on software."}, {"post_id": 23322, "ts": "2026-07-06T06:24:48Z", "hours": 4.6553, "text": "Dev Log #7 Well…. Sad news… The PCB that i had designed and had printed and i was assembling… Somehow the trace broke internally. I verified it with a multimeter that the 5v rail was not functioning properly and took the necessary troubleshooting steps. This all happened when i was working on the code, Not really sure how it broke but now i have decided to make a few changes to the board pad sizes for easier soldering on this version, and to get it from a new manufacture. Time to wait for shipping again, Wish me luck! (Also the code i am making is coming along well!)"}, {"post_id": 19847, "ts": "2026-07-01T07:46:33Z", "hours": 10.4306, "text": "Dev Log #6 After much much time, I finally received the parts and got to soldering… unfortunately i messed up one of the boards…. But i tried again with the parts i had left over, and it works! all that is missing is the fan being connected but im waiting to build software before that! Thank you for sticking along with me on this journey hopefully it can be done soon! (And yes i did have to do some repairs on the circuit design as the cheap board pads broke)"}, {"post_id": 11750, "ts": "2026-06-19T04:12:23Z", "hours": 3.9244, "text": "Dev Log #5 It’s almost done, everyone! The model has been completed, the circuitry is done, and the PCB is finished. All that is left is to assemble it all together (sanding 3D prints, soldering, etc.) Looking forward to showing my progress. All the parts should be in my hands in about a week or so. See you then!"}, {"post_id": 10497, "ts": "2026-06-17T07:42:22Z", "hours": 5.1117, "text": "Dev Log #4 Work and more work, Over the last day or so i have been working on the PCB, after forgetting to add the temperature sensor to the test circuit i went back and added that as well, the PCB is almost complete all is left is routing the traces and some last finishing touches, here is a rundown of what has been done so far across the project Completed sketches; Completed Test Circuitry; 90% Completion of the 3D model; 85% Completion of the PCB; Overall project: ~75%"}, {"post_id": 9549, "ts": "2026-06-15T22:32:17Z", "hours": 1.2525, "text": "Dev Log #3 Major Major progress has been made so far; the circuit has been tested and is working, showing the current fan RPM and the ability to change the fan speed via the rotary encoder. It is only on breadboards; however, the next step is PCB design, then finishing the model!"}, {"post_id": 7775, "ts": "2026-06-13T00:03:11Z", "hours": 2.7378, "text": "Dev Log #2 In the past several days, I have been working on the enclosure for the whole device, With it being close to 90% done, with the only left to do is finish the circuit then make sure it will all fit inside. The “CoolCompanion” is one more step towards revolutionizing your way of cooling."}, {"post_id": 5461, "ts": "2026-06-09T08:03:59Z", "hours": 1.205, "text": "We ALL have this problem! No matter if you are at home or at the office, we ALL have this problem! The problem I am talking about? Well, I mean a very simple one: being too hot and making you uncomfortable. Normal fans? They may work just fine; however, they are not smart. They don’t know when you are comfortable, and they don’t know how annoying they may be. As someone who lives in Las Vegas, Nevada, where temperatures can reach past a hundred degrees Fahrenheit (~38 degrees Celsius), I believe that I am very experienced in this topic and well equipped to make a solution to this problem. No matter where you may live, this may help you. And the solution? Sensors and the ability to tune your fan to your preferences! This includes: a temperature sensor a rotary encoder an LCD/OLED screen This means you can tune your fan to turn on and off whenever it gets too hot, no more fighting over turning the fan on and off manually, and the ability to change fan speed allows you to make sure the fan doesn’t get too loud or simply so it doesn’t mess up your hair (totally no personal experience in this) Within my first hour of this project, I have worked on getting measurements and working on designs for my project, inspired by a classic desktop fan."}]...
|
Title: CoolCompanion by @Gamer123 | Stardance
Dev Title: CoolCompanion by @Gamer123 | Stardance
Devlogs:
We ALL have this problem! No matter if you are at home or at the office, we ALL have this problem! The problem I am talking about? Well, I mean a very simple one: being too hot and making you uncomfortable. Normal fans? They may work just fine; however, they are not smart. They don’t know when you are comfortable, and they don’t know how annoying they may be. As someone who lives in Las Vegas, Nevada, where temperatures can reach past a hundred degrees Fahrenheit (~38 degrees Celsius), I believe that I am very experienced in this topic and well equipped to make a solution to this problem. No matter where you may live, this may help you. And the solution? Sensors and the ability to tune your fan to your preferences! This includes: a temperature sensor a rotary encoder an LCD/OLED screen This means you can tune your fan to turn on and off whenever it gets too hot, no more fighting over turning the fan on and off manually, and the ability to change fan speed allows you to make sure the fan doesn’t get too loud or simply so it doesn’t mess up your hair (totally no personal experience in this) Within my first hour of this project, I have worked on getting measurements and working on designs for my project, inspired by a classic desktop fan.
Dev Log #2 In the past several days, I have been working on the enclosure for the whole device, With it being close to 90% done, with the only left to do is finish the circuit then make sure it will all fit inside. The “CoolCompanion” is one more step towards revolutionizing your way of cooling.
Dev Log #3 Major Major progress has been made so far; the circuit has been tested and is working, showing the current fan RPM and the ability to change the fan speed via the rotary encoder. It is only on breadboards; however, the next step is PCB design, then finishing the model!
Dev Log #4 Work and more work, Over the last day or so i have been working on the PCB, after forgetting to add the temperature sensor to the test circuit i went back and added that as well, the PCB is almost complete all is left is routing the traces and some last finishing touches, here is a rundown of what has been done so far across the project Completed sketches; Completed Test Circuitry; 90% Completion of the 3D model; 85% Completion of the PCB; Overall project: ~75%
Dev Log #5 It’s almost done, everyone! The model has been completed, the circuitry is done, and the PCB is finished. All that is left is to assemble it all together (sanding 3D prints, soldering, etc.) Looking forward to showing my progress. All the parts should be in my hands in about a week or so. See you then!
Dev Log #6 After much much time, I finally received the parts and got to soldering… unfortunately i messed up one of the boards…. But i tried again with the parts i had left over, and it works! all that is missing is the fan being connected but im waiting to build software before that! Thank you for sticking along with me on this journey hopefully it can be done soon! (And yes i did have to do some repairs on the circuit design as the cheap board pads broke)
Dev Log #7 Well…. Sad news… The PCB that i had designed and had printed and i was assembling… Somehow the trace broke internally. I verified it with a multimeter that the 5v rail was not functioning properly and took the necessary troubleshooting steps. This all happened when i was working on the code, Not really sure how it broke but now i have decided to make a few changes to the board pad sizes for easier soldering on this version, and to get it from a new manufacture. Time to wait for shipping again, Wish me luck! (Also the code i am making is coming along well!)
Dev Log #8 Slightly more interesting news, So i received my new boards from oshpark and started soldering however then i noticed that the solder mask was not fully cured on the boards and have since contacted support and now it is in the works of getting me replacements.. For now im going to try and use a pcb from the previous manufacturer to try and get a working prototype again so i can continue work on software.
Dev Log #9 More problems, so during my process of getting a board to work so i can finish software, i discovered a design error and i cant track back exactly what the problem is however its causing major issues, so now back to the drawing board…
Dev Log #10 So i got my new boards, Minus the air bubbles under the solder pads, I tried them and the same design flaw remains, Now I’m going to perf board, if this doesn’t work then i got to get even more creative for this. Or if i can find out the flaw exactly then ill redesign PCB’s
Dev Log #11 GOOD NEWS THE PERF BOARDS WORKED! So it took me a long time to get the perf boards to work but now they work! So now i got to finish the firmware and finish the soldering for the temp sensor
Dev Log #12 Its done! All that is left is to film the video and get it submitted before the closing date…. I may have taken a break that was about a month long…...
|
1792677143.9620972
|
1793281943.9620972
|
|
10338
|
Liable For Damages by @wilson_brunner | Stardance
|
wilson_brunner
|
1
|
214.95
|
2560
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T17:08:06Z", "hours": 211.0, "multiplier": 13.61, "payout": 2560, "blessing": "neutral", "text": "I made something! This was my first time coding outside of Arduinos, and one of the biggest learning experiences of my life. There was stress, time crunches, and pain, but it all came down to the wire. The most challenging part was drawing, of course, I’m never going to do this again JUST because of the assets. Thanks for playing", "repo": "https://github.com/wilbot3000/Liable-For-Damages", "demo": "https://wilbot3000.itch.io/liable-for-damages"}]...
|
[{"post_id": 75085, "ts": "202 [{"post_id": 75085, "ts": "2026-09-29T03:15:45Z", "hours": 3.1931, "text": "Started working on Liable for Damages 2.0 Devlog #1 Started working on better settings, mostly just things for volume, fonhts, and scrolling things. Whipped up some basic sprites in aseprite and took a day to implement them and figure out bugs, which were very annoying, mostly just related to button sizing. Had to mess around with Godot’s “containers”, for the first time, and it was quite bad, I’ve got some more work to do before I can get the sliders to work, but I’m close! Next stuff’s: -format sliders -start creating settings related to different busses -create saves for the sliders -implement button to change font -make font-changed labels for all maps -do bum ahh drivers ed instead of W Stardance I’ll hopefully release 2.0 within October, and I’mma try and devlog more! ~Wil"}, {"post_id": 72459, "ts": "2026-09-23T00:48:57Z", "hours": 0.7572, "text": "devlog for projects i forgot to add, really just time from learning to export godot games, very annoying um, fun fact, if you create a web game, change the file to index.html, or it literally WON’T WORK!!! Play my game (now!)"}, {"post_id": 71208, "ts": "2026-09-20T13:27:09Z", "hours": 10.0756, "text": "Final Release (or close to it) Game will be out soon, I just gotta ship, but everythings done, I finished sounds, and the ending yesterday, like a 8 hour coding marathon, so i could get this out in time. PLEASE play it, it’s called Liable for Damages, I don’t know where I’ll post it yet, but It’ll probably be on Itch.io or just the game application file. It’s like 150,000 kilabytes, so it shouldn’t be too bad for any computer, hopefully (mines from like 2009 and it ran fine) P.S! Please, (if you do play), comment bugs, especially major things, EXCEPT: -Player dissapearing when opening menu in elevator (don’t try this, im not fixing it it’s funny) -Bugs on top of head, (js kill them) Anything else is bad and needs fix thanks. Also sorry no volume controls, I was crunching down to finish."}, {"post_id": 69943, "ts": "2026-09-18T03:13:43Z", "hours": 10.1883, "text": "SFX stuff, final thing before ending, just finishing sounds, really annoying though ngl. done soon, big update at end"}, {"post_id": 67708, "ts": "2026-09-13T22:09:54Z", "hours": 11.4017, "text": "FINAL STRETCH time to lock in please oh no Im finishing the last level, no time to talk, but got like 4 things to finish THINGS: -level -boss fight -sounds -ending -bugs"}, {"post_id": 59735, "ts": "2026-09-01T17:44:56Z", "hours": 10.84, "text": "WORKING ON MY FINAL STRETCH I’m going to be locked in for the next few days, school starts, so I’ll have less time, but I got a boss fight and then bug fixing and sound effects, hears a sneak peak and one of the many things ive worked on. Also, I came up for a name. Looked up the universal laws for space and saw something about how “Countries of Origin are Liable for Damages caused by their space debris” and said “dang, thas dope” so now i have a name. In my next log ill have a longer devlog like a lite trailer, but the games pretty short, more like a showcase of learning. Thanks!"}, {"post_id": 55339, "ts": "2026-08-27T02:45:42Z", "hours": 9.8842, "text": "quick stuff, nothing much Finished some updates, but I’m locked so don’t have time to write much"}, {"post_id": 53129, "ts": "2026-08-23T15:40:04Z", "hours": 10.67, "text": "Another devlog about levels. Started work on the second (this takes so long) I can’t say much for fear of spoilers, but just say this involves WAY to much code and sprites (I hate drawing so much)"}, {"post_id": 51334, "ts": "2026-08-20T22:46:55Z", "hours": 10.2436, "text": "quick devlog. I need to do this cause i got 10 hours, Im working on the level system and im so tired please why is htis so hard D: D: D: D: D: D: D: D: D: D: D: D:"}, {"post_id": 49718, "ts": "2026-08-18T17:06:16Z", "hours": 9.2325, "text": "keypads, doors, and beginning of the first level. Im actually making a game! contains spoilers First of many… keypads were really difficult, every button, when clicked, multiplies the correct number by a multiplier, and adds it to a “code” variable. the multiplier is chosen based on what step of the code you’re on, (e.g, 1: 10000, 2: 1000, 3: 100, 4: 10, 5: 1), when you click the green button, it cross checks another variable with the one you typed, and if they’re the same, it sends the function to open the doors, and if not, everything resets. The other terminals and what not just open things when clicked on, so it’s just an easier version of the keypad."}, {"post_id": 47241, "ts": "2026-08-15T01:07:13Z", "hours": 8.0058, "text": "Flying enemy is complete, in record time! wow, 8 hours for an enemy, how quick D: This was a challenge, but also really fun. This enemy is the flying one, which made it a little more difficult than just the copy and paste of old ones but still pretty cool. It works using a Navigation Agent, which is like Godot pathfinding. Fast forward three hours and a whole lot of troubleshooting, but that works. The enemy detects the player in the same fashion as the other enemies and then activates the nav-agent to being movement. It’ll follow the player through vents, passages and really anywhere. The fly has three main detection circles, the first one tells it to move towards the player, if the player enters the second one, it’ll freeze and stop moving, and if the player gets even closer, it’ll try to move away (by reversing the velocity var outputted by the nav-agent, iyc) the enemy’s one hit, acourse, but is really annoying to attack, (ill rework ground pounding to make this easier later). The enemy has a shooting attack, that is on a 6 second timer if it can see the player, otherwise it’s just on hold. its shots are pretty slow, so there easy to avoid, but in a crowded fight ya never know. The main quirk of this enemy is it has a really long forgetfulness timer, so even if it can’t see you, it’ll continue to follow for quite a long time, much longer than other enemies. Next:! -stationary, weird wall tentacle that shoots at you -egg spawner that hatches into 1 of three enemies (mystery ooh) -doors (ikr)"}, {"post_id": 44372, "ts": "2026-08-10T02:47:57Z", "hours": 2.9308, "text": "Enemy is complete: Chomper! Lot of work, but got it done. This is the, please avoid, very dangerous, you will die enemy. I haven’t balanced its health yet, and I’m not going to for a while, so it looks like an easy kill in the video. The weird quirks of this enemy are mostly in its charge attack, that rushes the player. It’s pretty easy to avoid, but once again i haven’t done attack balancing, so it may become harder later. The majority of the enemy works just like the lil guy, so idk read that devlog. But there is two major differences: LIST: gasp 1.!!!1! : idle stuff -really just a randomizer -if enemy is idling, starts a timer, and when it runs out of time, it does one of two things (using a randi() function) -if the outputs a 1, nothing happens, but if its a 2 it flips the enemy, thas all -the main reason for this is that since this enemy is so big, making it a tad more animated than the lil guy felt important to me, and also because the detection areas for the big guy are skewed towards the front, so him turning around makes the player sneaking up on him a little less common, it’s generally just for Q-O-l (slang btw) (only cool people understand) 2.!: dash -dear lord, why was hard so much D: -Wasn’t actually that difficult, I spent a lot of time trying stuff before realizing I just unleash my inner enginneer and do it step by step ’till it works, which it did. -first, theres three detection boxes, one for walking towards the player, one for the chomp, and one for dashing, if the player enters the dash-box, a timer will start -when the timer ends, the charge animation plays, which halfway through, activates a function too add velocity (actual charge part of charge) -If the enemy hits a wall, player, or box, it stops moving, but in the case of the player it plays a second animation (dash_hit) that looks like a chomp and kills the player if it hits them. Theres another If statement that sets velocity back to 0 when this happens also. OTHER CHANGES: -I removed the players health really, I like games that are one shot, because it’s subjectively more fun, I’ll make the player death a little more explosive if I have time. I’ll probably make them have three health but that’ll change when I do attack balancing -made the lil guys attack timer shorter, makes him more dangerous. NEXT TIME PLANS: -hopefully in one day (ima lock in rq) -gonna add a flying enemy, -literally just a tad fly, like 5x5 pixels, it’ll look at the player and fire acid that’ll kill you -i might change the death animation to be more BOOM (IYKWIM) :D -my goal is too complete the flying guy 100% tomorrow, but I got other stuff to do so we shall see -also it’ll be nice to not have to do major animating besides literally 6 pixels splaterring -if extra time, I’ll make a weird egg thing that turns into the fly THANKS FOR READING! as always (not really) go make some interesting, and uh learn something new every day please (P.S I made some changes after I took these videos so it still looks and feels kinda bad but not actually rn) ~Wilfred"}, {"post_id": 44000, "ts": "2026-08-09T14:18:20Z", "hours": 11.6767, "text": "Little enemy beginnings I haven’t actually finished anything yet, but I need to devlog anyways, but I have started to finish the second enemy, which is also the framework for more."}, {"post_id": 41460, "ts": "2026-08-05T17:57:18Z", "hours": 12.2908, "text": "player movement is complete!! went on vacation, so fell behind a bit, but finally got this done. I spent a lot of time thinking on how to make player movement good, and then thought of my BOTW playthroughs, where you can either hold your attack and have a powerful slash, or click fast and hit three in a row. First addition!: Ground pounds were pretty interesting, all it does is forces the player down hard if they attack in the air, decreases stamina, and then hits the ground, I added a dust cloud that explodes when he hits the ground, which just plays the animation and then disappears. I had to do some fenagling with this because the code knows when to start the animation because the player will be ground pounding and on the ground, which starts the poof and then stops ground pounding, which also keeps the animation from playing multiple times. SECOND: Annoying stupid player attacks. Tried to finish this in a day, so I was working till 11:00 at night, but I got the animations done and what not. When the player hits/holds the attack button, it starts a stopwatch that increases, when the player releases the button, depending on the time on this timer, it will either play the first of 3 quick attacks or the big attack, which does more damage. If the quick attacks are chosen, the first one will play, three things happen when thats starts, 2 timers start, and player velocity increases to 500. at the end of the attack, there are three things can happen, the player can wait until the animation ends, they can attack again, or they can walk to reset the attack earlier than waiting, the first timer forces the player to wait to cancel the attack by walking, and the second one stops their velocity so they jolt forward. at the end of the animation, a function is played that: starts the reset timer for the attack A variable increases that sets the next attack to be the second or third in the sequence, instead of the first and a if statement that resets the variable to 0 if it gets to 3. Theres some other details for weird situations, like falling off the edge and ground pounding while attacking, or the variable not resetting weirdly. But all of that was like an hour. Thanks for reading: Play my game when it comes out so I have a reason to finihs Also I need a name for the game (please, I suck at naming) and go play Legend of Zelda (or Just Cause 3) (or research operation Just Cause) #USinvadinglatinamericaAGAINfornoreason P.S (I was gonking on being up till eleven, but I did like 3 hours of animating and coding in like 30 minutes while being food deprived and barely awake because deadlines = lock in, so if you need to lock in just don’t sleep ig ) also, I’m technically not done ‘cause ma boy needs a sawed off before I’m done here Yee Haw"}, {"post_id": 35583, "ts": "2026-07-27T03:37:24Z", "hours": 1.1306, "text": "MOVEMENT PART # (3) les go took me short time, it’s ten o’clock im tired, pretty simple stuff. If player is sprinting and the crouch button is pressed, the normal function is overridden and a slide is activated, this just sets the animation to slide and the X velocity of the player to a high number. There’s some other code for just general quality of life, like stopping if you hit a wall and keeping you from changing directions, but the REALLLY cool part is jumping. Like in real life (trust), while sliding the player will jump further, which permits some cool movement combinations, like vaulting over gaps and climbing 4 block walls. I have to work out stamina changes depending on jump strength and stamina decrease for vaulting, but the movement getting pretty fleshed out. P.S, after I took the video, I changed the sprint stamina decrease to be a consistent decrease instead of being choppy like in the video, it’ll be in the next log, but it was just quality of life. NEXTS STUFFS: -dash -enemy lunge -stamina from hoisting and slide-jump stamina increase Thanks for reading!"}, {"post_id": 34965, "ts": "2026-07-26T03:00:51Z", "hours": 3.8936, "text": "Crouching! #2 in the player movement chronicles! Surprisingly, I also managed to create a whole new 5 animations! slide, crouch idle, crouch walk, and the sledge versions (not slide cause ya can’t sprint with sledge). I implemented all but the slide, which’ll take a long time, so I’m going to keep it off a bit. This was really straight forward to add, and for the first time in a long time, i had like only 1 problem . I really just had a piece of code that asks, “did ya click the crouch button?” and if so, it toggles crouch. IF (and only if!) the crouch is on (or “true”) the idle and walk animations are switched to their respective crouch variants, and the normal player hitbox is replaced by a shorter-er-est one. To bar the player from un-crouching in the midst of a tunnel, I added 2 new raycasts to the front and back of the players head facing up, these casts detect if there is a block above the player, and if either one of them detects anything, the player is unable to un-crouch until they are unshielded. Another quick thing I had to fix a bit was the raycasts detecting the player, which broke EVERYTHING so I just turned good ’ol collision mask/layer 20 into the super-cool (ALL-NEW !!) “player raycast collision!!!” which just only lets them interact with the floor and boxes, so yippee NEXT STEPeths!: -slide ): -enemy lunge -other player attacks (only hard attack right now which is bad)"}, {"post_id": 34347, "ts": "2026-07-24T23:18:41Z", "hours": 13.5214, "text": "Mantling and fixes Hi. I have had a very long week. I spent a lot of time working on sprites, mostly for the game 3rd level (no spoilers, (but that’s pretty boring) so heres the interesting part. I’ve been focusing on revamping player movement to make it feel more interesting and fun, and this is a good start. Mantling! if you don’t know what this is, it’s what you do when you get out of a pool without a ladder or staircase, pretty much just “pulling yourself up” The player does this by using raycasts, I added three, but one is for something else. One of them detects a wall in front of the player, and one detects a wall above. The code uses these casts to detect if the player is up against a wall, and if there is no wall above the player, pretty much checking if there is a mantalable ledge. If there is, the code says “you can mantle” Another line says: if you can mantle, and you are not on the ground, and if the player clicked space (Jump), then mantle. The annoying part was animations. When the player begins mantling, the hitbox and player position is frozen in space, and position is snapped to the nearest block to line up the animation. the only thing that moves during the animation is the player sprite, which means at the end of the animation, when the players position is finally changed, the player sprite needs to snap back at the EXACT same time, or it looks bad, which was hard. The other annoying part was the camera snapping randomly, as it moves with the player and not the sprite. I fixed this by just temporarily turning on the cameras position smoothing while the mantle is happening and then turning it off when the player moves again."}, {"post_id": 31003, "ts": "2026-07-19T01:34:03Z", "hours": 14.4064, "text": "sprites! done some stuff, mostly just game planning (sadly didn’t get time for because notes but I got a lot done, mostly just some serious drawing. I finished some tiles for the first and second levels, and some tiles for the next three."}, {"post_id": 26947, "ts": "2026-07-12T01:17:07Z", "hours": 4.2967, "text": "Quick hurt animations Main thing I added was animations for death and injury. I first added knockback when hit. It just takes the player’s scale.x (what i use for flipping the sprite) and multiplies it by 200 to the player velocity, since the scale is either 1 or -1, it changes the direction the player is thrown (in the future i’d like to make the scale the enemies direction, not the players, as if the player is flipped in the wrong direction, it could have knockback in the wrong direction (very bad) Theres was already a variable to detect if the player was being hit that was used for testing, so I just implemented that to play the injury animations. i also detected if the players health was zero or below after being hit, and if so it would make the player play the death animation instead of the injury. I have currently unimplemented animations for a before-death injured player, so after they are hit for the last time they will stand for a bit before collapsing. NEXT STUFF: (hast beeneth narrowed list) -add enemy knockback (only when injured, lok wierd when die) -fix player knockback thank yoh forth coming to my TED talk"}, {"post_id": 25010, "ts": "2026-07-08T22:32:29Z", "hours": 12.3911, "text": "I’m gonna start this by saying: I HATE animating! Aseprite made this so much easier, but GOD this was difficult… I think I had 5 situations this time around where the problem was the littlest change in the world, and I just needed to go to bed. I made 3 different walk cycles, before giving up and figuring out how to do it for real, it was only a little difficult after that. I have unused hurt, death, and push animations, and need to implement a shorter attack and smooth some things out still (jumping while attacking cough ) Almost all of these 12 hours was fixing stupid little problems and changing little pixels, probably some of the worst time ive spent on this project yet… (but still really interesting) NEXT STEPS::: -fix walk so it looks sensible (drifting) -make jumping illegal hwilst attacking -add short attack -customized tile map ????? Thank you for reading goodbye I want to stop animating"}, {"post_id": 21598, "ts": "2026-07-03T17:09:19Z", "hours": 4.0883, "text": "enemy attacks/better particles. This took some work, but not really… The enemy can now attack and hurt the player the codes really just the same as the player attacking the enemies. Theres a hurtbox in the player that gets hit by an area in the enemy that makes them take damage. The particles took some more difficult work. Godot has CPU and GPU particles, which apparently are different, it just depends on what in your computer renders them. I used GPU particles, because they run better and can collide with things. I whipped up a sprite sheet for the particles in Aseprite, which looked a lot better than the weird purple generic Godot things. The particles only collided with light occluders??, so I added an occlusion layer to the tile map, at some point I hope to create a better system for when they hit the ground, but thats not my priority right now. Next STEPS!!!!! -main thing is that the enemy has a lunge attack that I haven’t implemented yet, so thats next. -starting on the player sprites, this is a LOT of work, so its gonna take me a lot of time, but no time like the present"}, {"post_id": 20225, "ts": "2026-07-01T19:32:16Z", "hours": 5.3086, "text": "Some more enemy development! -first “enemy” in the game, a pretty basic little thing. -designed on Aseprite, took some time to set up with hakatime, but turns out I was using a version only used on Mac OS, so no kidding it was giving me trouble -I created unused animations for a lunge and whip attack animations that I will implement soon (?). NEXT STEPS :D : -stop the player from colliding with the enemy’s hitbox, it’s very annoying, and in the future will we a necessity for having many creatures in the same room -add the enemy attacks, I’ll probably just use a raycasy to see if the players close enough, and then make it hit, pretty simple… Also get Aseprite, it’s like 20 bucks but it’s a really good software, also it’s just really good for game making. gasp :D"}, {"post_id": 18857, "ts": "2026-06-30T01:51:26Z", "hours": 10.155, "text": "Basis of an enemy AI!!! the beginnings… I feel like ten hours is a little much for just this, but there was so much work to do. The main step began with a pretty simple area. It just detects if the player enters. The code uses the player position (or “target” position in the code), and subtracts it from the enemy position, if the numbers greater than 1 it moves one way and if less than -1 other. (The buffer in-between the 2 is just for smoothing) If the player is within the hitbox, the enemy shoots out a ray cast towards the player. If it touches the player, it lets the enemy move, if it hits a box or the ground first it doesn’t, pretty simple, till you realize what can go wrong… For clarification i have NO CLUE why any of what i did helped, but it did so yippee!!! The first problem was that the enemy would only detect the player if they were off the ground. I tried to fix this by forcing the ray cast to not interact with the Tile Map (which wouldn’t have worked anyways, because it still needs to so the objects can block the enemy’s sight). I set a piece of code to print what the enemy was interacting with, and it turns out it was the background? (I know, weird?) I seperated the background and collision ground into 2 tile layers, then turned of collisions for the back layer. After that there was some glitchy stuff which you can see in the video a bit, but I fixed almost all of it with literally one if statement that only lets the player become a target for the code (My code is a modified version from this website) / / / / / Godot 3.0: Visibility with Ray-casting · KCC Blog"}, {"post_id": 14832, "ts": "2026-06-24T02:59:54Z", "hours": 4.9869, "text": "Devlog #4? 3 big things this time, physics blocks, destructive blocks, and stamina upgrades. Physics!: -just a block but it’s a “rigid body”, so Godot gives it physics. -It uses some “borrowed code” to detect if the player is colliding with something and then add the players velocity to it.* -I had to change the hitbox of the floor to be a collision polygon, instead of one per block, which made the pushing kind of shotty.** Destruction!: -Really simple… just an enemy that can’t move or fight back. I added an animation so you can tell it’s getting hit but that’s the most complicated it got. Stamina! (it’s better): -I added 3 major things, though 2 of them are pretty small. First, I added a bar, Godot has a built-in progress bar node, so I just mapped the value from 0 - 10, and used the stamina value from the player as the value input -SECOND! I changed the recharge, instead of a variable that goes up when a timer ends, it now uses a move_toward() function to make the stamina tick up smoothly. -thirdibidily, a pause. Mainly because irl and in games you don’t just start recharging as soon as you stop moving. This uses a float that begins to tick up when the player starts moving, and when it surpasses a certain point, it allows the stamina to recharge. Final stuff!!! -I’ll start focusing on: -more indepth weapons -and maybe ai for enemies… probs something with raycasts……….."}, {"post_id": 13221, "ts": "2026-06-21T17:28:44Z", "hours": 1.7094, "text": "Sprinting! took a bit, but I finally got sprinting to work. Works pretty simply, the characters motion is determined by a speed variable, which just increases if the sprint button (shift) is held down. Here’s the code: if Input.is_action_just_pressed(“sprint”) and stamina >= 1: state_machine.travel(“sprint”) sprinting_timer.start() SPEED = 200 sprinting = true elif Input.is_action_just_released(“sprint”): SPEED = 75 sprinting = false sprinting_timer.stop() I’m using an animation_tree for my animations, instead of just a player, this helps the transitions from animations feel smoother, so thats what the “state_machine” is. The “sprinting” variable is used to force other animations (e.g, for idling and running) to check if the player is sprinting, and thus not override the animation (the sprinting animation currently is identical to running, but when I start designing the character i’ll change that). The timer is just on a .5 sec loop, and makes the stamina decrease when it ends, the second bit of code checks if you stopped sprinting, and returns the SPEED to normal and stops the timer loop. This code doesn’t actually fully work, as another if statement is needed. The extra “and” in the first check makes sure you can’t start sprinting if stamina is below one, but actually only checks once when you start sprinting, not constantly, so the sprinting doesn’t stop if stamina goes below 1 (like it should). if stamina < 1: SPEED = 75 sprinting_timer.stop() sprinting = false This code, unlike the first “if”, checks consistantly if stamina’s below one, and does the same job as if you let go of sprinting. This keeps stamina from going negative D: In the future I plan on adding a gradient to the effect, so the speed up isn’t as jarring, but this is a good start! Thanks to Brackeys for the current assets! (go watch his video on Godot, it’s very informative) ~wil"}, {"post_id": 12762, "ts": "2026-06-20T21:26:41Z", "hours": 13.1589, "text": "Finally started to develop a “game” made 3 things, Attacks, Stamina, and GUI Attacks: ->use hurtboxes detect if an area entered, if that area is_in_group(“attackarea”) the hurtbox takes a damage variable and applies it to the thing it’s attached too (Player, enemy, etc) Stamina: -> A timer slowly makes it tick upwards, starts at 10, and goes down if the player jumps or attacks, uses a Global Variable allow the GUI to display the stamina (there’s probably a better way but I’m lazy ¯ _ (ツ)_/¯) GUI: ->uses a canvas layer being displayed over a sub-viewport, which includes the coins and stamina, just displays text and then the quantities of each integer. next steps: ->destructible blocks ->physics blocks ->stamina bar (not integer) ->sprinting (and smoother movement. Thanks to Brackeys for the assets!"}, {"post_id": 5987, "ts": "2026-06-10T01:24:33Z", "hours": 4.8608, "text": "Finally done learning basic Godot!! My entire time has been dedicated to just learning how to use the software, and I’m glad to say I now have something to work off of. I still need to learn more, like GDscript, pixel art, and game design. Next Steps! -develop weapon (sledgehammer :D) -destructible terrain elements (fancy walls that get destroyed) -physics blocks -begin designing character and aliens"}]...
|
Title: Liable For Damages by @wilson_brunner | Sta Title: Liable For Damages by @wilson_brunner | Stardance
Devlogs:
Finally done learning basic Godot!! My entire time has been dedicated to just learning how to use the software, and I’m glad to say I now have something to work off of. I still need to learn more, like GDscript, pixel art, and game design. Next Steps! -develop weapon (sledgehammer :D) -destructible terrain elements (fancy walls that get destroyed) -physics blocks -begin designing character and aliens
Finally started to develop a “game” made 3 things, Attacks, Stamina, and GUI Attacks: ->use hurtboxes detect if an area entered, if that area is_in_group(“attackarea”) the hurtbox takes a damage variable and applies it to the thing it’s attached too (Player, enemy, etc) Stamina: -> A timer slowly makes it tick upwards, starts at 10, and goes down if the player jumps or attacks, uses a Global Variable allow the GUI to display the stamina (there’s probably a better way but I’m lazy ¯ _ (ツ)_/¯) GUI: ->uses a canvas layer being displayed over a sub-viewport, which includes the coins and stamina, just displays text and then the quantities of each integer. next steps: ->destructible blocks ->physics blocks ->stamina bar (not integer) ->sprinting (and smoother movement. Thanks to Brackeys for the assets!
Sprinting! took a bit, but I finally got sprinting to work. Works pretty simply, the characters motion is determined by a speed variable, which just increases if the sprint button (shift) is held down. Here’s the code: if Input.is_action_just_pressed(“sprint”) and stamina >= 1: state_machine.travel(“sprint”) sprinting_timer.start() SPEED = 200 sprinting = true elif Input.is_action_just_released(“sprint”): SPEED = 75 sprinting = false sprinting_timer.stop() I’m using an animation_tree for my animations, instead of just a player, this helps the transitions from animations feel smoother, so thats what the “state_machine” is. The “sprinting” variable is used to force other animations (e.g, for idling and running) to check if the player is sprinting, and thus not override the animation (the sprinting animation currently is identical to running, but when I start designing the character i’ll change that). The timer is just on a .5 sec loop, and makes the stamina decrease when it ends, the second bit of code checks if you stopped sprinting, and returns the SPEED to normal and stops the timer loop. This code doesn’t actually fully work, as another if statement is needed. The extra “and” in the first check makes sure you can’t start sprinting if stamina is below one, but actually only checks once when you start sprinting, not constantly, so the sprinting doesn’t stop if stamina goes below 1 (like it should). if stamina < 1: SPEED = 75 sprinting_timer.stop() sprinting = false This code, unlike the first “if”, checks consistantly if stamina’s below one, and does the same job as if you let go of sprinting. This keeps stamina from going negative D: In the future I plan on adding a gradient to the effect, so the speed up isn’t as jarring, but this is a good start! Thanks to Brackeys for the current assets! (go watch his video on Godot, it’s very informative) ~wil
Devlog #4? 3 big things this time, physics blocks, destructive blocks, and stamina upgrades. Physics!: -just a block but it’s a “rigid body”, so Godot gives it physics. -It uses some “borrowed code” to detect if the player is colliding with something and then add the players velocity to it.* -I had to change the hitbox of the floor to be a collision polygon, instead of one per block, which made the pushing kind of shotty.** Destruction!: -Really simple… just an enemy that can’t move or fight back. I added an animation so you can tell it’s getting hit but that’s the most complicated it got. Stamina! (it’s better): -I added 3 major things, though 2 of them are pretty small. First, I added a bar, Godot has a built-in progress bar node, so I just mapped the value from 0 - 10, and used the stamina value from the player as the value input -SECOND! I changed the recharge, instead of a variable that goes up when a timer ends, it now uses a move_toward() function to make the stamina tick up smoothly. -thirdibidily, a pause. Mainly because irl and in games you don’t just start recharging as soon as you stop moving. This uses a float that begins to tick up when the player starts moving, and when it surpasses a certain point, it allows the stamina to recharge. Final stuff!!! -I’ll start focusing on: -more indepth weapons -and maybe ai for enemies… probs something with raycasts………..
Basis of an enemy AI!!! the beginnings… I feel like ten hours is a little much for just this, but there was so much work to do. The main step began with a pretty simple area. It just detects if the player enters. The code uses the player position (or “target” position in the code), and subtracts it from the enemy position, if the numbers greater than 1 it moves one way and if less than -1 other. (The buffer in-between the 2 is just for smoothing) If the player is within the hitbox, the enemy shoots out a ray cast towards the player. If it touches the player, it lets the enemy move, if it hits a box or the ground first it doesn’t, pretty simple, till you realize what can go wrong… For clarification i have NO CLUE why any of what i did helped, but it did so yippee!!! The first problem was that the enemy would only detect the player if they were off the ground. I tried to fix this by forcing the ray cast to not interact with the Tile Map (which wouldn’t have worked anyways, because it still needs to so the objects can block the enemy’s sight). I set a piece of code to print what the enemy was interacting with, and it turns out it was the background? (I know, weird?) I seperated the background and collision ground into 2 tile layers, then turned of collisions for the back layer. After that there was some glitchy stuff which you can see in the video a bit, but I fixed almost all of it with literally one if statement that only lets the player become a target for the code (My code is a modified version from this website) / / / / / Godot 3.0: Visibility with Ray-casting · KCC Blog
Some more enemy development! -first “enemy” in the game, a pretty basic little thing. -designed on Aseprite, took some time to set up with hakatime, but turns out I was using a version only used on Mac OS, so no kidding it was giving me trouble -I created unused animations for a lunge and whip attack animations that I will implement soon (?). NEXT STEPS :D : -stop the player from colliding with the enemy’s hitbox, it’s very annoying, and in the future will we a necessity for having many creatures in the same room -add the enemy attacks, I’ll probably just use a raycasy to see if the players close enough, and then make it hit, pretty simple… Also get Aseprite, it’s like 20 bucks but it’s a really good software, also it’s just really good for game making. gasp :D
enemy attacks/better particles. This took some work, but not really… The enemy can now attack and hurt the player the codes really just the same as the player attacking the enemies. Theres a hurtbox in the player that gets hit by an area in the enemy that makes them take damage. The particles took some more difficult work. Godot has CPU and GPU particles, which apparently are different, it just depends on what in your computer renders them. I used GPU particles, because they run better and can collide with things. I whipped up a sprite sheet for the particles in Aseprite, which looked a lot better than the weird purple generic Godot things. The particles only collided with light occluders??, so I added an occlusion layer to the tile map, at some point I hope to create a better system for when they hit the ground, but thats not my priority right now. Next STEPS!!!!! -main thing is that the enemy has a lunge attack that I haven’t implemented yet, so thats next. -starting on the player sprites, this is a LOT of work, so its gonna take me a lot of time, but no time like the present
I’m gonna start this by saying: I HATE animating! Aseprite made this so much easier, but GOD this was difficult… I think I had 5 situations this time around where the problem was the littlest change in the world, and I just needed to go to bed. I made 3 different walk cycles, before giving up and figuring out how to do it for real, it was only a little difficult after that. I have unused hurt, death, and push animations, and need to implement a shorter attack and smooth some things out still (jumping while attacking cough ) Almost all of these 12 hours was fixing stupid little problems and changing little pixels, probably some of the worst time ive spent on this project yet… (but still really interesting) NEXT STEPS::: -fix walk so it looks sensible (drifting) -make jumping illegal hwilst attacking -add short attack -customized tile map ????? Thank you for reading goodbye I want to stop animating
Quick hurt animations Main thing I added was animations for death and injury. I first added knockback when hit. It just takes the player’s scale.x (what i use for flipping the sprite) and multiplies it by 200 to the player velocity, since the scale is either 1 or -1, it changes the direction the player is thrown (in the future i’d like to make the scale the enemies direction, not the players, as if the player is flipped in the wrong direction, it could have knockback in the wrong direction (very bad) Theres was already a variable to detect if the player was being hit that was used for testing, so I just implemented that to play the injury animations. i also detected if the players health was zero or below after being hit, and if so it would make the player play the death animation instead of the injury. I have currently unimplemented animations for a before-death injured player, so after they are hit for the last time they will stand for a bit before collapsing. NEXT STUFF: (hast beeneth narrowed list) -add enemy knockback (only when injured, lok wierd when die) -fix player knockback thank yoh forth coming to my TED talk
sprites! done some stuff, mostly just game planning (sadly didn’t get time for because notes but I got a lot done, mostly just some serious drawing. I finished some tiles for the first and second levels, and some tiles for the next three.
Mantling and fixes Hi. I have had a very long week. I spent a lot of time working on sprites, mostly for the game 3rd level (no spoilers, (but that’s pretty boring) so heres the interesting part. I’ve been focusing on revamping player movement to make it feel more interesting and fun, and this is a good start. Mantling! if you don’t know what this is, it’s what you do when you get out of a pool without a ladder or staircase, pretty much just “pulling yourself up” The player does this by using raycasts, I added three, but one is for something else. One of them detects a wall in front of the player, and one detects a wall above. The code uses these casts to detect if the player is up against a wall, and if there is no wall above the player, pretty much checking if there is a mantalable ledge. If there is, the code says “you can mantle” Another line says: if you can mantle, and you are not on the ground, and if the player clicked space (Jump), then mantle. The annoying part was animations. When the player begins mantling, the hitbox and player position is frozen in space, and position is snapped to the nearest block to line up the animation. the only thing that moves during the animation is the player sprite, which means at the end of the animation, when the players position is finally changed, the player sprite needs to snap back at the EXACT same time, or it looks bad, which was hard. The other annoying part was the camera snapping randomly, as it moves with the player and not the sprite. I fixed this by just temporarily turning on the cameras position smoothing while the mantle is happening and then turning it off when the player moves again.
Crouching! #2 in the player movement chronicles! Surprisingly, I also managed to create a whole new 5 animations! slide, crouch idle, crouch walk, and the sledge versions (not slide cause ya can’t sprint with sledge). I implemented all but the slide, which’ll take a long time, so I’m going to keep it off a bit. This was really straight forward to add, and for the first time in a long time, i had like only 1 problem . I really just had a piece of code that asks, “did ya click the crouch button?” and if so, it toggles crouch. IF (and only if!) the crouch is on (or “true”) the idle and walk animations are switched to their respective crouch variants, and the normal player hitbox is replaced by a shorter-er-est one. To bar the player from un-crouching in the midst of a tunnel, I added 2 new raycasts to the front and back of the players head facing up, these casts detect if there is a block above the player, and if either one of them detects anything, the player is unable to un-crouch until they are unshielded. Another quick thing I had to fix a bit was the raycasts detecting the player, which broke EVERYTHING so I just turned good ’ol collision mask/layer 20 into the super-cool (ALL-NEW !!) “player raycast collision!!!” which just only lets them interact with the floor and boxes, so yippee NEXT STEPeths!: -slide ): -enemy lunge -other player attacks (only hard attack right now which is bad)
MOVEMENT PART # (3) les go took me short time, it’s ten o’clock im tired, pretty simple stuff. If player is sprinting and the crouch button is pressed, the normal function is overridden and a slide is activated, this just sets the animation to slide and the X velocity of the player to a high number. There’s some other code for just general quality of life, like stopping if you hit a wall and keeping you from changing directions, but the REALLLY cool part is jumping. Like in real life (trust), while sliding the player will jump further, which permits some cool movement combinations, like vaulting over gaps and climbing 4 block walls. I have to work out stamina changes depending on jump strength and stamina decrease for vaulting, but the movement getting pretty fleshed out. P.S, after I took the video, I changed the sprint stamina decrease to be a consistent decrease instead of being choppy like in the video, it’ll be in the next log, but it was just quality of life. NEXTS STUFFS: -dash -enemy lunge -stamina from hoisting and slide-jump stamina increase Thanks for reading!
player movement is complete!! went on vacation, so fell behind a bit, but finally got this done. I spent a lot of time thinking on how to make player movement good, and then thought of my BOTW playthroughs, where you can either hold your attack and have a powerful slash, or click fast and hit three in a row. First addition!: Ground pounds were pretty interesting, all it does is forces the player down hard if they attack in the air, decreases stamina, and then hits the ground, I added a dust cloud that explodes when he hits the ground, which just plays the animation and then disappears. I had to do some fenagling with this because the code knows when to start the animation because the player will be ground pounding and on the ground, which starts the poof and then stops ground pounding, which also keeps the animation from playing multiple times. SECOND: Annoying stupid player attacks. Tried to finish this in a day, so I was working till 11:00 at night, but I got the animations done and what not. When the player hits/holds the attack button, it starts a stopwatch that increases, when the player releases the button, depending on the time on this timer, it will either play the first of 3 quick attacks or the big attack, which does more damage. If the quick attacks are chosen, the first one will play, three things happen when thats starts, 2 timers start, and player velocity increases to 500. at the end of the attack, there are three things can happen, the player can wait until the animation ends, they can attack again, or they can walk to reset the attack earlier than waiting, the first timer forces the player to wait to cancel the attack by walking, and the second one stops their velocity so they jolt forward. at the end of the animation, a function is played that: starts the reset timer for the attack A variable increases that sets the next attack to be the second or third in the sequence, instead of the first and a if statement that resets the variable to 0 if it gets to 3. Theres some other details for weird situations, like falling off the edge and ground pounding while attacking, or the variable not resetting weirdly. But all of that was like an hour. Thanks for reading: Play my game when it comes out so I have a reason to finihs Also I need a name for the game (please, I suck at naming) and go play Legend of Zelda (or Just Cause 3) (or research operation Just Cause) #USinvadinglatinamericaAGAINfornoreason P.S (I was gonking on being up till eleven, but I did like 3 hours of animating and coding in like 30 minutes while being food deprived and barely awake because deadlines = lock in, so if you need to lock in just don’t sleep ig ) also, I’m technically not done ‘cause ma boy needs a sawed off before I’m done here Yee Haw
Little enemy beginnings I haven’t actually finished anything yet, but I need to devlog anyways, but I have started to finish the second enemy, which is also the framework for more.
Enemy is complete: Chomper! Lot of work, but got it done. This is the, please avoid, very dangerous, you will die enemy. I haven’t balanced its health yet, and I’m not going to for a while, so it looks like an easy kill in the video. The weird quirks of this enemy are mostly in its charge attack, that rushes the player. It’s pretty easy to avoid, but once again i haven’t done attack balancing, so it may become harder later. The majority of the enemy works just like the lil guy, so idk read that devlog. But there is two major differences: LIST: gasp 1.!!!1! : idle stuff -really just a randomizer -if enemy is idling, starts a timer, and when it runs out of time, it does one of two things (using a randi() function) -if the outputs a 1, nothing happens, but if its a 2 it flips the enemy, thas all -the main reason for this is that since this enemy is so big, making it a tad more animated than the lil guy felt important to me, and also because the detection areas for the big guy are skewed towards the front, so him turning around makes the player sneaking up on him a little less common, it’s generally just for Q-O-l (slang btw) (only cool people understand) 2.!: dash -dear lord, why was hard so much D: -Wasn’t actually that difficult, I spent a lot of time trying stuff before realizing I just unleash my inner enginneer and do it step by step ’till it works, which it did. -first, theres three detection boxes, one for walking towards the player, one for the chomp, and one for dashing, if the player enters the dash-box, a timer will start -when the timer ends, the charge animation plays, which halfway through, activates a function too add velocity (actual charge part of charge) -If the enemy hits a wall, player, or box, it stops moving, but in the case of the player it plays a second animation (dash_hit) that looks like a chomp and kills the player if it hits them. Theres another If statement that sets velocity back to 0 when this happens also. OTHER CHANGES: -I removed the players health really, I like games that are one shot, because it’s subjectively more fun, I’ll make the player death a little more explosive if I have time. I’ll probably make them have three health but that’ll change when I do attack balancing -made the lil guys attack timer shorter, makes him more dangerous. NEXT TIME PLANS: -hopefully in one day (ima lock in rq) -gonna add a flying enemy, -literally just a tad fly, like 5x5 pixels, it’ll look at the player and fire acid that’ll kill you -i might change the death animation to be more BOOM (IYKWIM) :D -my goal is too complete the flying guy 100% tomorrow, but I got other stuff to do so we shall see -also it’ll be nice to not have to do major animating besides literally 6 pixels splaterring -if extra time, I’ll make a weird egg thing that turns into the fly THANKS FOR READING! as always (not really) go make some interesting, and uh learn something new every day please (P.S I made some changes after I took these videos so it still looks and feels kinda bad but not actually rn) ~Wilfred
Flying enemy is complete, in record time! wow, 8 hours for an enemy, how quick D: This was a challenge, but also really fun. This enemy is the flying one, which made it a little more difficult than just the copy and paste of old ones but still pretty cool. It works using a Navigation Agent, which is like Godot pathfinding. Fast forward three hours and a whole lot of troubleshooting, but that works. The enemy detects the player in the same fashion as the other enemies and then activates the nav-agent to being movement. It’ll follow the player through vents, passages and really anywhere. The fly has three main detection circles, the first one tells it to move towards the player, if the player enters the second one, it’ll freeze and stop moving, and if the player gets even closer, it’ll try to move away (by reversing the velocity var outputted by the nav-agent, iyc) the enemy’s one hit, acourse, but is really annoying to attack, (ill rework ground pounding to make this easier later). The enemy has a shooting attack, that is on a 6 second timer if it can see the player, otherwise it’s just on hold. its shots are pretty slow, so there easy to avoid, but in a crowded fight ya never know. The main quirk of this enemy is it has a really long forgetfulness timer, so even if it can’t see you, it’ll continue to follow for quite a long time, much longer than other enemies. Next:! -stationary, weird wall tentacle that shoots at you -egg spawner that hatches into 1 of three enemies (mystery ooh) -doors (ikr)
keypads, doors, and beginning of the first level. Im actually making a game! contains spoilers First of many… keypads were really difficult, every button, when clicked, multiplies the correct number by a multiplier, and adds it to a “code” variable. the multiplier is chosen based on what step of the code you’re on, (e.g, 1: 10000, 2: 1000, 3: 100, 4: 10, 5: 1), when you click the green button, it cross checks another variable with the one you typed, and if they’re the same, it sends the function to open the doors, and if not, everything resets. The other terminals and what not just open things when clicked on, so it’s just an easier version of the keypad.
quick devlog. I need to do this cause i got 10 hours, Im working on the level system and im so tired please why is htis so hard D: D: D: D: D: D: D: D: D: D: D: D:
Another devlog about levels. Started work on the second (this takes so long) I can’t say much for fear of spoilers, but just say this involves WAY to much code and sprites (I hate drawing so much)
quick stuff, nothing much Finished some updates, but I’m locked so don’t have time to write much
WORKING ON MY FINAL STRETCH I’m going to be locked in for the next few days, school starts, so I’ll have less time, but I got a boss fight and then bug fixing and sound effects, hears a sneak peak and one of the many things ive worked on. Also, I came up for a name. Looked up the universal laws for space and saw something about how “Countries of Origin are Liable for Damages caused by their space debris” and said “dang, thas dope” so now i have a name. In my next log ill have a longer devlog like a lite trailer, but the games pretty short, more like a showcase of learning. Thanks!
FINAL STRETCH time to lock in please oh no Im finishing the last level, no time to talk, but got like 4 things to finish THINGS: -level -boss fight -sounds -ending -bugs
SFX stuff, final thing before ending, just finishing sounds, really annoying though ngl. done soon, big update at end
Final Release (or close to it) Game will be out soon, I just gotta ship, but everythings done, I finished sounds, and the ending yesterday, like a 8 hour coding marathon, so i could get this out in time. PLEASE play it, it’s called Liable for Damages, I don’t know where I’ll post it yet, but It’ll probably be on Itch.io or just the game application file. It’s like 150,000 kilabytes, so it shouldn’t be too bad for any computer, hopefully (mines from like 2009 and it ran fine) P.S! Please, (if you do play), comment bugs, especially major things, EXCEPT: -Player dissapearing when opening menu in elevator (don’t try this, im not fixing it it’s funny) -Bugs on top of head, (js kill them) Anything else is bad and needs fix thanks. Also sorry no volume controls, I was crunching down to finish.
devlog for projects i forgot to add, really just time from learning to export godot games, very annoying um, fun fact, if you create a web game, change the file to index.html, or it literally WON’T WORK!!! Play my game (now!)
Started working on Liable for Damages 2.0 Devlog #1 Started working on better settings, mostly just things for volume, fonhts, and scrolling things. Whipped up some basic sprites in aseprite and took a day to implement them and figure out bugs, which were very annoying, mostly just related to button sizing. Had to mess around with Godot’s “containers”, for the first time, and it was quite bad, I’ve got some more work to do before I can get the sliders to work, but I’m close! Next stuff’s: -format sliders -start creating settings related to different busses -create saves for the sliders -implement button to change font -make font-changed labels for all maps -do bum ahh drivers ed instead of W Stardance I’ll hopefully release 2.0 within October, and I’mma try and devlog more! ~Wil
Ships:
I made something! This was my first time coding outside of Arduinos, and one of the biggest learning experiences of my life. There was stress, time crunches, and pain, but it all came down to the wire. The most challenging part was drawing, of course, I’m never going to do this again JUST because of the assets. Thanks for playing...
|
1793152470.5129516
|
1793238870.5129516
|
|
52867
|
My awesome macropad! by @jchuan | Stardance
|
jchuan
|
0
|
8.56
|
0
|
[]
|
[{"post_id": 75087, "ts": "202 [{"post_id": 75087, "ts": "2026-09-29T03:37:27Z", "hours": 0.3169, "text": "Asssembleddd"}, {"post_id": 65319, "ts": "2026-09-10T12:12:16Z", "hours": 0.4672, "text": "Finished Repository,ready for submission"}, {"post_id": 64781, "ts": "2026-09-09T13:11:14Z", "hours": 0.5169, "text": "improving circuit more"}, {"post_id": 64176, "ts": "2026-09-08T12:14:45Z", "hours": 0.3003, "text": "Just reworked circuit lines so its not 90 degrees for any, slacking on this project due to Engineering studies assessment study"}, {"post_id": 63524, "ts": "2026-09-07T13:02:09Z", "hours": 0.3669, "text": "drc retest"}, {"post_id": 62861, "ts": "2026-09-06T12:05:31Z", "hours": 0.5833, "text": "upgraded bits also measured design"}, {"post_id": 62187, "ts": "2026-09-05T13:31:40Z", "hours": 1.9, "text": "Finished CAD and PCB done yesterday all that is left is github and then i can ship"}, {"post_id": 61450, "ts": "2026-09-04T11:36:42Z", "hours": 0.6019, "text": "Updated version of macropad, switched it up and somehow managed to add 5 more switches and also implemented diodes"}, {"post_id": 60816, "ts": "2026-09-03T13:10:19Z", "hours": 2.0033, "text": "Macropad update My initial design itself became too complex so I decided to follow the guide except the esp32 seedstudio component didnt fit so i just put it at the top and the pcb works, no errors appeared after DRC test, now its just using fusion before this project is complete"}, {"post_id": 60215, "ts": "2026-09-02T13:16:09Z", "hours": 1.5003, "text": "This is an incomplete version of my PCB for the Macropad which i intend to complete. It features 9 key switches currently and a 0.91 inch oled display. I used kicad to first add all the key switches then connected them to dedicated pins and then connected the other side to Ground pin, after that I worked on the oled which again was just connecting them to pin. After this step I converted into PCB editor and I’m yet to connect them together"}]...
|
Title: My awesome macropad! by @jchuan | Stardance Title: My awesome macropad! by @jchuan | Stardance
Devlogs:
This is an incomplete version of my PCB for the Macropad which i intend to complete. It features 9 key switches currently and a 0.91 inch oled display. I used kicad to first add all the key switches then connected them to dedicated pins and then connected the other side to Ground pin, after that I worked on the oled which again was just connecting them to pin. After this step I converted into PCB editor and I’m yet to connect them together
Macropad update My initial design itself became too complex so I decided to follow the guide except the esp32 seedstudio component didnt fit so i just put it at the top and the pcb works, no errors appeared after DRC test, now its just using fusion before this project is complete
Updated version of macropad, switched it up and somehow managed to add 5 more switches and also implemented diodes
Finished CAD and PCB done yesterday all that is left is github and then i can ship
upgraded bits also measured design
drc retest
Just reworked circuit lines so its not 90 degrees for any, slacking on this project due to Engineering studies assessment study
improving circuit more
Finished Repository,ready for submission
Asssembleddd...
|
1792727522.731873
|
1793332322.731873
|
|
66674
|
MacroPad by @i-do_random-shit_ | Stardance
|
i-do_random-shit_
|
0
|
0.55
|
0
|
[]
|
[{"post_id": 75088, "ts": "202 [{"post_id": 75088, "ts": "2026-09-29T03:53:43Z", "hours": 0.55, "text": "Made the schematics before I go to sleep (hopefully everything is done correctly)"}]...
|
Title: MacroPad by @i-do_random-shit_ | Stardance
Title: MacroPad by @i-do_random-shit_ | Stardance
Devlogs:
Made the schematics before I go to sleep (hopefully everything is done correctly)...
|
1793101828.1013572
|
1793706628.1013572
|
|
51050
|
App to help Seniors protect themselves against sca App to help Seniors protect themselves against scams in India by @Mykulkar | Stardance...
|
Mykulkar
|
1
|
30.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T01:35:56Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "KinGuard - An app to protect seniors against everyday scams. My grandfather was one of the victims of a scam. When I heard about the incident from him, I started researching these scams. Impersonation scams & threatening calls were on the rise and there was no good medium that could help educate seniors and protect them against the scams. This was my inspiration to create an app that would serve the senior community. I initially built this for scams in India and in the latest release I’ve included a US module as similar scams are on the rise here too. The design of the app was the most challenging aspect. What I set out to do was make an app which was graphical and icon based with accessibility options. The end goal was to make it very easy to use for seniors. Testing the features was another challenge as it needed 2 phones or a phone and a browser combination. I learnt a lot creating and integrating multi language support(English, Hindi, Kannada, Telugu and Tamil). I’m proud that I was able to officially launch the app on the Google Play Store and have 13 users within a short space of time. My grandfather has the app too and he appreciated the thought and the ease with which it can be used. KinGuard is very easy to install and use. https://mykit.pythonanywhere.com/how-it-works explains how to use the app. The family member downloads the app through the Google Play Store or by opening it from https://mykit.pythonanywhere.com and adding it to home screen, complete registration and finishes setup. The app gives a private link to share with the elder. The elder opens this link on the phone and it pairs with the family. A single tester can use a combination of one device and browser window or two browser windows.", "repo": "https://github.com/mykulkarvt/KinGuard", "demo": "https://youtube.com/shorts/aS_OT5WA54Q?feature=share"}]...
|
[{"post_id": 75090, "ts": "202 [{"post_id": 75090, "ts": "2026-09-29T04:08:52Z", "hours": 3.1739, "text": "Continued Devlog on Password reset deploy to Production I tested the password reset functionality again to ensure it does not break Production. Pushed my changes to GitHub repo Copied the changed files over to pythonanywhere checked each one against the repo with md5sum set the new Gmail SMTP settings in the WSGI file Reloaded the application The first real password reset email failed with a 535 “Username and Password not accepted” message After a fair bit of troubleshooting I realized I had copied the wrong password in the WSGI file(from a different gmail account) Recreated the password from the right account and updated the WSGI file Reloaded the application Tested the full password reset workflow Got the email this time and was able to reset and login with the new password It might land in spam which I have noted down I also tested rest of the functionality of the app and everything works fine. After this I published v1.0.1 release on GitHub, updated the README and added Repo description, website and topics. This completes my development effort for the moment."}, {"post_id": 74743, "ts": "2026-09-28T03:41:54Z", "hours": 8.2256, "text": "Continued Devlog on Password reset Password reset build complete end to end. A new password_resets table was created, single use tokens that expire after 30 minutes are stored in hash form(not in plaintext) and a reset that logs out every session once it completes. Used Gmail SMTP to send the reset link. Users can request a rest of password, get the email, set a new password and login. Did a lot of testing locally to confirm the old one does not work after a password has been reset. Faced some Python issues to compile the new code. There were also some bugs related to windows copy-paste which took a lot of time to diagonize and fix, In the mean time my laptop crashed and upon reboot hacktime trackign stopped working. I had to spend a couple of hours to troubleshoot the issue which was related to Norton anti-virus on my laptop. It had quarantined the WakaTime tracking tool thinking it was suspicious. Finished testing and ready to roll this into production tomorrow."}, {"post_id": 73462, "ts": "2026-09-25T04:19:37Z", "hours": 8.2314, "text": "Build out a password reset feature based on feedback from users: Started with research on if paid hosting would be needed as KinGuard is hosted on free tier. Outbound email through Gmail is allowed on free tier. Built a Database table to store reset tokens securely, the actual email sending code, request a reset and complete the backend that verifies the token and resets the password. Fixed a bug which broke account registration logic. Faced another issue with the text editor which saved some garbage characters. I had to recreate the file. Created the forgot password html file Verified the backend and all the features of the app multiple times. Reset password logic still has to be built into templates followed by full test(local) and deploy to production More in my next Devlog"}, {"post_id": 72061, "ts": "2026-09-22T03:06:47Z", "hours": 3.1456, "text": "Deployed the US country-support module from Github to the live site on Pythonanywhere. Fixed a couple of issues as well that came along the way. Kinguard app is live on pythonanywhere. This means deployment to local, Github and to Pythonanywhere. As the repo is public now, I used the bash console on PythonAnywhere and directly pulled the changed files from the repo with curl commands. I then verified if the deployed files work correctly by runnign md5sum on all the changed files. I then compared the numbers with my local copies to make sure the numebrs matched. One of the files was not copied over correctly so I had to redo it. After this, I reloaded the app from the web console of pythonanywhere. This ensures changes are propogated and take effect. The README on GitHub is updated now to reflect the changes made and both India & US available as country options. Did a full regression check on the India and US side of the app after deploying. This is to ensure country-support changes had not broken anythign else in the app for the India users who are live on them. Fixed a bug which was leaving a stary character in commit and showing oddly in GitHub history. Fixed with plain ASCII encoding. Verified the “Call for help” and “report” buttons showed correct numbers for India and working as before."}, {"post_id": 69865, "ts": "2026-09-17T23:10:22Z", "hours": 3.3942, "text": "Continuing the US Country-support Build for KinGuard: Researched and wrote the US Scam catalog Mapped 5 categories for India with US Fixed a bug around help dial 1930 Added country specific names Fixed a bug around family screen not getting the alert for the US module Deployed the code locally and verified everything works"}, {"post_id": 68947, "ts": "2026-09-16T02:56:28Z", "hours": 1.9725, "text": "Continuing the US Country-support Build for KinGuard: Wired the country field through push notification(send_push() in app.py) Added country picker to the setup page above the language dropdown Compiled and verified the python code: python -m py_compile app.py conducted a live browser test to verify changes appeared"}, {"post_id": 68477, "ts": "2026-09-15T05:50:12Z", "hours": 2.1247, "text": "KinGuard passed Google Play review and is live in production. 14 installs(12 testers), no crashes. All bugs fixed. Enhancement request made: Develop a US based alerting for Seniors Started the country refactor: RULES now keyed by country Intent is to add new COUNTRIES table Add what varies per country (languages, voice locales, grid order, emergency number, who to report to)"}]...
|
Title: App to help Seniors protect themselves agai Title: App to help Seniors protect themselves against scams in India by @Mykulkar | Stardance
Devlogs:
KinGuard passed Google Play review and is live in production. 14 installs(12 testers), no crashes. All bugs fixed. Enhancement request made: Develop a US based alerting for Seniors Started the country refactor: RULES now keyed by country Intent is to add new COUNTRIES table Add what varies per country (languages, voice locales, grid order, emergency number, who to report to)
Continuing the US Country-support Build for KinGuard: Wired the country field through push notification(send_push() in app.py) Added country picker to the setup page above the language dropdown Compiled and verified the python code: python -m py_compile app.py conducted a live browser test to verify changes appeared
Continuing the US Country-support Build for KinGuard: Researched and wrote the US Scam catalog Mapped 5 categories for India with US Fixed a bug around help dial 1930 Added country specific names Fixed a bug around family screen not getting the alert for the US module Deployed the code locally and verified everything works
Deployed the US country-support module from Github to the live site on Pythonanywhere. Fixed a couple of issues as well that came along the way. Kinguard app is live on pythonanywhere. This means deployment to local, Github and to Pythonanywhere. As the repo is public now, I used the bash console on PythonAnywhere and directly pulled the changed files from the repo with curl commands. I then verified if the deployed files work correctly by runnign md5sum on all the changed files. I then compared the numbers with my local copies to make sure the numebrs matched. One of the files was not copied over correctly so I had to redo it. After this, I reloaded the app from the web console of pythonanywhere. This ensures changes are propogated and take effect. The README on GitHub is updated now to reflect the changes made and both India & US available as country options. Did a full regression check on the India and US side of the app after deploying. This is to ensure country-support changes had not broken anythign else in the app for the India users who are live on them. Fixed a bug which was leaving a stary character in commit and showing oddly in GitHub history. Fixed with plain ASCII encoding. Verified the “Call for help” and “report” buttons showed correct numbers for India and working as before.
Build out a password reset feature based on feedback from users: Started with research on if paid hosting would be needed as KinGuard is hosted on free tier. Outbound email through Gmail is allowed on free tier. Built a Database table to store reset tokens securely, the actual email sending code, request a reset and complete the backend that verifies the token and resets the password. Fixed a bug which broke account registration logic. Faced another issue with the text editor which saved some garbage characters. I had to recreate the file. Created the forgot password html file Verified the backend and all the features of the app multiple times. Reset password logic still has to be built into templates followed by full test(local) and deploy to production More in my next Devlog
Continued Devlog on Password reset Password reset build complete end to end. A new password_resets table was created, single use tokens that expire after 30 minutes are stored in hash form(not in plaintext) and a reset that logs out every session once it completes. Used Gmail SMTP to send the reset link. Users can request a rest of password, get the email, set a new password and login. Did a lot of testing locally to confirm the old one does not work after a password has been reset. Faced some Python issues to compile the new code. There were also some bugs related to windows copy-paste which took a lot of time to diagonize and fix, In the mean time my laptop crashed and upon reboot hacktime trackign stopped working. I had to spend a couple of hours to troubleshoot the issue which was related to Norton anti-virus on my laptop. It had quarantined the WakaTime tracking tool thinking it was suspicious. Finished testing and ready to roll this into production tomorrow.
Continued Devlog on Password reset deploy to Production I tested the password reset functionality again to ensure it does not break Production. Pushed my changes to GitHub repo Copied the changed files over to pythonanywhere checked each one against the repo with md5sum set the new Gmail SMTP settings in the WSGI file Reloaded the application The first real password reset email failed with a 535 “Username and Password not accepted” message After a fair bit of troubleshooting I realized I had copied the wrong password in the WSGI file(from a different gmail account) Recreated the password from the right account and updated the WSGI file Reloaded the application Tested the full password reset workflow Got the email this time and was able to reset and login with the new password It might land in spam which I have noted down I also tested rest of the functionality of the app and everything works fine. After this I published v1.0.1 release on GitHub, updated the README and added Repo description, website and topics. This completes my development effort for the moment.
Ships:
KinGuard - An app to protect seniors against everyday scams. My grandfather was one of the victims of a scam. When I heard about the incident from him, I started researching these scams. Impersonation scams & threatening calls were on the rise and there was no good medium that could help educate seniors and protect them against the scams. This was my inspiration to create an app that would serve the senior community. I initially built this for scams in India and in the latest release I’ve included a US module as similar scams are on the rise here too. The design of the app was the most challenging aspect. What I set out to do was make an app which was graphical and icon based with accessibility options. The end goal was to make it very easy to use for seniors. Testing the features was another challenge as it needed 2 phones or a phone and a browser combination. I learnt a lot creating and integrating multi language support(English, Hindi, Kannada, Telugu and Tamil). I’m proud that I was able to officially launch the app on the Google Play Store and have 13 users within a short space of time. My grandfather has the app too and he appreciated the thought and the ease with which it can be used. KinGuard is very easy to install and use. https://mykit.pythonanywhere.com/how-it-works explains how to use the app. The family member downloads the app through the Google Play Store or by opening it from https://mykit.pythonanywhere.com and adding it to home screen, complete registration and finishes setup. The app gives a private link to share with the elder. The elder opens this link on the phone and it pairs with the family. A single tester can use a combination of one device and browser window or two browser windows....
|
1793149011.7152371
|
1793235411.7152371
|
|
25032
|
KSP MacroPad by @techmanminty | Stardance
|
techmanminty
|
0
|
7.59
|
0
|
[]
|
[{"post_id": 75093, "ts": "202 [{"post_id": 75093, "ts": "2026-09-29T04:15:14Z", "hours": 1.8517, "text": "I have completed everything for a sufficient ship, the mod and firmware is at an acceptable place and the case and board have been restructured to fit the requirements. This was a very fun project and I can’t wait to see it in action."}, {"post_id": 73840, "ts": "2026-09-26T04:30:46Z", "hours": 1.5806, "text": "I finished the case so it is now time to start working on the firmware and the mod. The case wasn’t that hard to build just laying out the holes for each part and making sure all the tolerances were correct. The holes are intentionally there so that the underglow of the board can be seen"}, {"post_id": 28109, "ts": "2026-07-14T05:24:56Z", "hours": 1.8122, "text": "After running into issues with missing 3D models for my components, I had to manually source STEP files from GrabCAD and assign them to their footprints in KiCad. This taught me a lot about how KiCad handles footprints and 3D models separately, and how component libraries work. I also learned the difference between standard and reverse mount components. For example, the SK6812 MINI-E is reverse mount, meaning it sits on the back of the PCB and shines through a hole toward the keycap. With all that sorted, the PCB is complete and ready for case design."}, {"post_id": 27732, "ts": "2026-07-13T15:30:28Z", "hours": 2.3469, "text": "My macropad is inspired by my love for the game Kerbal Space Program. For a long time I have wanted to make a mod for it, but I didn’t have an inspiration for what to do with it. With my hackpad, macros will be made to execute certain actions within the game. Because it is made for a game, this project is a little bit more than just PCB, case, and firmware. I am also developing a mod for KSP so that the macropad can control certain actions in game and the pad can be real-time responsive to what is happening in the game. So far I have been working on the skeleton of the mod as well as the hardware for the macropad. I’ve almost completely finished the schematic and PCB with the exception of some appearance things I would like to change on the PCB. The most complex thing so far, was figuring out how to utilize all the parts provided by the stardance team in tandem with the microcontrollers limited pins. I am using a 4x4 matrix which would usually require 8 pins, however I have reduced it to 4, using a resistor ladder voltage divider. Using ohm’s law and power cycling between 2 of the 4 analog pins will allow the microcontroller to determine which exact key is being pressed."}]...
|
Title: KSP MacroPad by @techmanminty | Stardance
Title: KSP MacroPad by @techmanminty | Stardance
Devlogs:
My macropad is inspired by my love for the game Kerbal Space Program. For a long time I have wanted to make a mod for it, but I didn’t have an inspiration for what to do with it. With my hackpad, macros will be made to execute certain actions within the game. Because it is made for a game, this project is a little bit more than just PCB, case, and firmware. I am also developing a mod for KSP so that the macropad can control certain actions in game and the pad can be real-time responsive to what is happening in the game. So far I have been working on the skeleton of the mod as well as the hardware for the macropad. I’ve almost completely finished the schematic and PCB with the exception of some appearance things I would like to change on the PCB. The most complex thing so far, was figuring out how to utilize all the parts provided by the stardance team in tandem with the microcontrollers limited pins. I am using a 4x4 matrix which would usually require 8 pins, however I have reduced it to 4, using a resistor ladder voltage divider. Using ohm’s law and power cycling between 2 of the 4 analog pins will allow the microcontroller to determine which exact key is being pressed.
After running into issues with missing 3D models for my components, I had to manually source STEP files from GrabCAD and assign them to their footprints in KiCad. This taught me a lot about how KiCad handles footprints and 3D models separately, and how component libraries work. I also learned the difference between standard and reverse mount components. For example, the SK6812 MINI-E is reverse mount, meaning it sits on the back of the PCB and shines through a hole toward the keycap. With all that sorted, the PCB is complete and ready for case design.
I finished the case so it is now time to start working on the firmware and the mod. The case wasn’t that hard to build just laying out the holes for each part and making sure all the tolerances were correct. The holes are intentionally there so that the underglow of the board can be seen
I have completed everything for a sufficient ship, the mod and firmware is at an acceptable place and the case and board have been restructured to fit the requirements. This was a very fun project and I can’t wait to see it in action....
|
1792752553.6673553
|
1793357353.6673553
|
|
65270
|
wack a mole by @MaybeKiya | Stardance
|
MaybeKiya
|
0
|
1.05
|
0
|
[]
|
[{"post_id": 75094, "ts": "202 [{"post_id": 75094, "ts": "2026-09-29T04:15:31Z", "hours": 1.0514, "text": "wack a mouse/ today i worked on changing the backgrond from green to pink"}]...
|
Title: wack a mole by @MaybeKiya | Stardance
Devl Title: wack a mole by @MaybeKiya | Stardance
Devlogs:
wack a mouse/ today i worked on changing the backgrond from green to pink...
|
1793084212.3334022
|
1793689012.3334022
|
|
36862
|
Random Compliment Generator by @nilaani_aether | S Random Compliment Generator by @nilaani_aether | Stardance...
|
nilaani_aether
|
1
|
2.34
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T01:57:29Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a Random Compliment Generator in Python to boost crew morale for the Beans while we write code and log hours to defend our spaceship!", "repo": "https://github.com/nilaaniaether-alt/Cosmic-Dodger", "demo": "https://trinket.io/python/81a6a5841d5f?showInstructions=true"}]...
|
[{"post_id": 75095, "ts": "202 [{"post_id": 75095, "ts": "2026-09-29T04:20:04Z", "hours": 0.3372, "text": "Building a game where you avoid stellar obstacles, it hasn’t been successful, but I am continuously spotting errors and modifying it. I have some problems with the front end which i must work more on."}, {"post_id": 71019, "ts": "2026-09-20T06:51:13Z", "hours": 0.6903, "text": "I have almost completed coding the random compliment generator, i hope this will be a great companion for everyone! 😇"}, {"post_id": 41770, "ts": "2026-08-06T05:16:59Z", "hours": 1.0539, "text": "I have coded a random compliment generator where you can click a button to recieve some compliments which might suit you, i have to add more compliments to make it more interesting."}]...
|
Title: Random Compliment Generator by @nilaani_aet Title: Random Compliment Generator by @nilaani_aether | Stardance
Devlogs:
I have coded a random compliment generator where you can click a button to recieve some compliments which might suit you, i have to add more compliments to make it more interesting.
I have almost completed coding the random compliment generator, i hope this will be a great companion for everyone! 😇
Building a game where you avoid stellar obstacles, it hasn’t been successful, but I am continuously spotting errors and modifying it. I have some problems with the front end which i must work more on.
Ships:
I built a Random Compliment Generator in Python to boost crew morale for the Beans while we write code and log hours to defend our spaceship!...
|
1793145199.6296215
|
1793231599.6296215
|
|
54518
|
SudoSchool - interactive linux learning site by @M SudoSchool - interactive linux learning site by @Maxye4655 | Stardance...
|
Maxye4655
|
2
|
24.0
|
434
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T04:24:00Z", "hours": 4.0, "multiplier": 15.55, "payout": 57, "blessing": "neutral", "text": "I have built an interactive way to learn the basics of the linux terminal, all without requiring you to install a VM, Distro or terminal emulator, it all happens from your browser. Now with smoother scrolling animations, fully working commands and all features complete.", "repo": "https://github.com/Maxye4655/LinuxLearnSite", "demo": "https://maxye4655.github.io/LinuxLearnSite/pages/Homepage.html"}, {"ship_num": 2, "ts": "2026-09-20T07:55:23Z", "hours": 20.0, "multiplier": 18.76, "payout": 377, "blessing": "neutral", "text": "I have built an interactive way to learn the basics of the linux terminal, all without requiring you to install a VM, Distro or terminal emulator, it all happens from your browser.", "repo": "https://github.com/Maxye4655/LinuxLearnSite", "demo": "https://maxye4655.github.io/LinuxLearnSite/pages/Homepage.html"}]...
|
[{"post_id": 75098, "ts": "202 [{"post_id": 75098, "ts": "2026-09-29T04:22:39Z", "hours": 1.1333, "text": "Made the scrolling noticeably smoother, tidied up the code for the next ship and pushed to a new demo."}, {"post_id": 72119, "ts": "2026-09-22T06:28:31Z", "hours": 1.7047, "text": "This is the final devlog before I ship, here is what I added/changed: Changed the background from an 8.9MB PNG to a 128KB WebP Removed the jQuery + jQuery Terminal CDN block and terminal.js from pages/LessonLanding.html Added and to pages/LessonLanding.html and all 6 lesson pages Added to all 11 pages Changed the title on index.html and pages/Homepage.html from “Interactive Educational Website” to “SudoSchool - Interactive Linux Command Line Lessons”"}, {"post_id": 72090, "ts": "2026-09-22T04:32:53Z", "hours": 0.8319, "text": "re-wrote the README so it uses no AI, also realized that the background image was 5k, so i downscaled it to ~1.2k"}, {"post_id": 70818, "ts": "2026-09-19T20:18:19Z", "hours": 2.7611, "text": "Wrote the documentation, fixed any file path errors in my code leading to depecrated or non-existent files and launched it as a demo on Github, you can try it at: “ https://maxye4655.github.io/LinuxLearnSite/pages/Homepage.html ”"}, {"post_id": 70375, "ts": "2026-09-19T02:12:27Z", "hours": 1.8922, "text": "Finished the content for lesson 6, and updated the quiz and lesson teacking feature."}, {"post_id": 69534, "ts": "2026-09-17T07:42:58Z", "hours": 2.7575, "text": "Wrote the content for lesson 5, finished the LessonLanding page and updated the terminal javascript for hopefully the last time."}, {"post_id": 68798, "ts": "2026-09-15T19:28:54Z", "hours": 2.8989, "text": "I started and finished working on Lesson 5, added emulated ping command, Ip command, curl command and scp command."}, {"post_id": 67977, "ts": "2026-09-14T09:38:38Z", "hours": 1.4, "text": "Found a massive bug in my terminal code, the virtual file-system’s directory layout wouldn’t register when using ls, grep or any other file related commands, I had to completely rewrite the file-system and it now works."}, {"post_id": 67928, "ts": "2026-09-14T07:34:09Z", "hours": 0.6419, "text": "Finished Lesson 4, made the file for lesson 5. Just 2 more to go until I ship. Cleaned up some files."}, {"post_id": 67890, "ts": "2026-09-14T05:57:49Z", "hours": 1.1186, "text": "Finished Lesson 3, added more commands to the terminal Sim, and created the file for lesson 4. I still have to update LessonLanding.HTML to add Lessons 3 and 4. I’m planning to do my first ship after I finish lesson 6. I also want to optimise the SVG filter."}, {"post_id": 60513, "ts": "2026-09-02T22:06:38Z", "hours": 0.5522, "text": "Added Quiz Categories, and styled the quiz function. Next I will finish adding all the topics."}, {"post_id": 60109, "ts": "2026-09-02T08:20:05Z", "hours": 1.8481, "text": "Added a Quiz Yourself function. Fixed my Hackatime Config. Next I’ll work on styling the quiz as currently only the text and button are styled."}, {"post_id": 59428, "ts": "2026-09-01T08:31:56Z", "hours": 0.6739, "text": "Created Lesson 2 and expanded the virtual terminal logic."}, {"post_id": 58715, "ts": "2026-08-31T08:03:18Z", "hours": 0.3894, "text": "Finished the first lesson, next, I will either begin work on the next few lessons or a “Quiz yourself” function"}, {"post_id": 58682, "ts": "2026-08-31T06:02:15Z", "hours": 0.7981, "text": "Devlog - 5 I added more content to lesson 1, as well as added a progress bar and “Next section “ button."}, {"post_id": 57114, "ts": "2026-08-29T06:46:22Z", "hours": 0.6592, "text": "Devlog 4 - Began working on Lesson 1 and added the basic functionality of a terminal emulator."}, {"post_id": 57081, "ts": "2026-08-29T05:18:25Z", "hours": 0.6894, "text": "Devlog 3 - Began Working on the lessons page, I’ve decided to start with 6 lessons but might expand it later."}, {"post_id": 57058, "ts": "2026-08-29T04:25:05Z", "hours": 0.4089, "text": "Devlog 2 - I made the SVG HTML filter use a smaller file string, Improving performance while keeping the visuals the same."}, {"post_id": 56490, "ts": "2026-08-28T08:57:55Z", "hours": 0.5953, "text": "Began work on the continuation of a project I started before this competition began, in the time recorded in this Devlog I added the termianl emulator (Not fully complete) into my website. The premise of the website is to allow windows/mac users to get familiar with basic Linux commands through interactive lessons before they hopefully make the full time switch to Linux."}]...
|
Title: SudoSchool - interactive linux learning sit Title: SudoSchool - interactive linux learning site by @Maxye4655 | Stardance
Devlogs:
Began work on the continuation of a project I started before this competition began, in the time recorded in this Devlog I added the termianl emulator (Not fully complete) into my website. The premise of the website is to allow windows/mac users to get familiar with basic Linux commands through interactive lessons before they hopefully make the full time switch to Linux.
Devlog 2 - I made the SVG HTML filter use a smaller file string, Improving performance while keeping the visuals the same.
Devlog 3 - Began Working on the lessons page, I’ve decided to start with 6 lessons but might expand it later.
Devlog 4 - Began working on Lesson 1 and added the basic functionality of a terminal emulator.
Devlog - 5 I added more content to lesson 1, as well as added a progress bar and “Next section “ button.
Finished the first lesson, next, I will either begin work on the next few lessons or a “Quiz yourself” function
Created Lesson 2 and expanded the virtual terminal logic.
Added a Quiz Yourself function. Fixed my Hackatime Config. Next I’ll work on styling the quiz as currently only the text and button are styled.
Added Quiz Categories, and styled the quiz function. Next I will finish adding all the topics.
Finished Lesson 3, added more commands to the terminal Sim, and created the file for lesson 4. I still have to update LessonLanding.HTML to add Lessons 3 and 4. I’m planning to do my first ship after I finish lesson 6. I also want to optimise the SVG filter.
Finished Lesson 4, made the file for lesson 5. Just 2 more to go until I ship. Cleaned up some files.
Found a massive bug in my terminal code, the virtual file-system’s directory layout wouldn’t register when using ls, grep or any other file related commands, I had to completely rewrite the file-system and it now works.
I started and finished working on Lesson 5, added emulated ping command, Ip command, curl command and scp command.
Wrote the content for lesson 5, finished the LessonLanding page and updated the terminal javascript for hopefully the last time.
Finished the content for lesson 6, and updated the quiz and lesson teacking feature.
Wrote the documentation, fixed any file path errors in my code leading to depecrated or non-existent files and launched it as a demo on Github, you can try it at: “ https://maxye4655.github.io/LinuxLearnSite/pages/Homepage.html ”
re-wrote the README so it uses no AI, also realized that the background image was 5k, so i downscaled it to ~1.2k
This is the final devlog before I ship, here is what I added/changed: Changed the background from an 8.9MB PNG to a 128KB WebP Removed the jQuery + jQuery Terminal CDN block and terminal.js from pages/LessonLanding.html Added and to pages/LessonLanding.html and all 6 lesson pages Added to all 11 pages Changed the title on index.html and pages/Homepage.html from “Interactive Educational Website” to “SudoSchool - Interactive Linux Command Line Lessons”
Made the scrolling noticeably smoother, tidied up the code for the next ship and pushed to a new demo.
Ships:
I have built an interactive way to learn the basics of the linux terminal, all without requiring you to install a VM, Distro or terminal emulator, it all happens from your browser.
I have built an interactive way to learn the basics of the linux terminal, all without requiring you to install a VM, Distro or terminal emulator, it all happens from your browser. Now with smoother scrolling animations, fully working commands and all features complete....
|
1793155652.1572573
|
1793242052.1572573
|
|
66105
|
Web OS by @VoiDDR5 | Stardance
|
VoiDDR5
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T04:49:14Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "VoidOS is a web based operating system I built with HTML, CSS, and Java Script. The desktop has a taskbar with the apps like the welcome page and the random cat generator that can be dragged around, opened, and closed like a reall app window. Their is also a live clock that updates every second on the task bar.", "repo": "https://github.com/charlesidk/Web-OS", "demo": "https://charlesidk.github.io/Web-OS/"}]...
|
[{"post_id": 75099, "ts": "202 [{"post_id": 75099, "ts": "2026-09-29T04:23:06Z", "hours": 1.5383, "text": "I added a random cat generator app"}, {"post_id": 75078, "ts": "2026-09-29T02:35:57Z", "hours": 2.4814, "text": "I added a background and a dragable window that can be opened and closed. There is also a task bar with the time and date on it."}, {"post_id": 74150, "ts": "2026-09-26T19:38:40Z", "hours": 0.5933, "text": "My Web OS I added my cat"}]...
|
Title: Web OS by @VoiDDR5 | Stardance
Devlogs:
My Title: Web OS by @VoiDDR5 | Stardance
Devlogs:
My Web OS I added my cat
I added a background and a dragable window that can be opened and closed. There is also a task bar with the time and date on it.
I added a random cat generator app
Ships:
VoidOS is a web based operating system I built with HTML, CSS, and Java Script. The desktop has a taskbar with the apps like the welcome page and the random cat generator that can be dragged around, opened, and closed like a reall app window. Their is also a live clock that updates every second on the task bar....
|
1793216892.7960527
|
1793303292.7960527
|
|
3680
|
Pokémon Lavender by @just_late | Stardance
|
just_late
|
0
|
3.27
|
0
|
[]
|
[{"post_id": 751, "ts": "2026- [{"post_id": 751, "ts": "2026-06-02T11:50:21Z", "hours": 3.2681, "text": "This project is something I’ve been working on for a long time now, and I started it in 2024. Most recently, I added a speaker bar to textboxes which creates a smoother look when talking to characters."}]...
|
Title: Pokémon Lavender by @just_late | Stardance
Title: Pokémon Lavender by @just_late | Stardance
Devlogs:
This project is something I’ve been working on for a long time now, and I started it in 2024. Most recently, I added a speaker bar to textboxes which creates a smoother look when talking to characters....
|
1793242492.1800642
|
1793847292.1800642
|
|
60500
|
I/O_Pad by @pelmin_404 | Stardance
|
pelmin_404
|
0
|
19.05
|
0
|
[]
|
[{"post_id": 75102, "ts": "202 [{"post_id": 75102, "ts": "2026-09-29T04:33:45Z", "hours": 3.8169, "text": "Edited symbol references for a cleaner look, and did overall polishing and preparation for production"}, {"post_id": 72974, "ts": "2026-09-24T04:24:24Z", "hours": 1.25, "text": "Completed the first design version by applying example colors, adding numbers above the headers, chamfering the cover, and adding little press fit pins to avoid small screws that would ruin the look of the cover, and to allow easy access to the PCB"}, {"post_id": 72551, "ts": "2026-09-23T05:59:50Z", "hours": 1.6, "text": "Designed levers for the DPDT switches, made case walls shorter in order to make the headers flush to the cover that is not yet mounted, and made the keycaps taller so keys are hidden"}, {"post_id": 72106, "ts": "2026-09-22T05:37:20Z", "hours": 2.5333, "text": "Increased the PCB size a bit to add holes for mounting, modeled the main part of the case, and designed keycaps"}, {"post_id": 69986, "ts": "2026-09-18T05:55:48Z", "hours": 0.2833, "text": "Revised the PCB size, added fillets, and made the ground net fill the whole PCB"}, {"post_id": 69483, "ts": "2026-09-17T04:34:17Z", "hours": 1.05, "text": "Had to reroute the 2nd layer because of missing tracks"}, {"post_id": 68998, "ts": "2026-09-16T05:54:34Z", "hours": 1.7833, "text": "Imported the rest of the 3D models and removed the LED from the MX key model"}, {"post_id": 68472, "ts": "2026-09-15T05:17:35Z", "hours": 1.8833, "text": "Slightly rearranged all footprints, flipped the 01x02 socket symbols, and routed all traces"}, {"post_id": 67884, "ts": "2026-09-14T05:41:14Z", "hours": 2.2333, "text": "Found suitable slide switches, assigned their footprints, and made an approximate PCB layout"}, {"post_id": 67126, "ts": "2026-09-13T05:52:47Z", "hours": 1.0167, "text": "Assigned the rest of the footprints and researched switches that might work for button modes but couldn’t find their datasheets and suitable footprints"}, {"post_id": 66375, "ts": "2026-09-12T05:27:23Z", "hours": 0.3, "text": "Established digital pin nets"}, {"post_id": 65782, "ts": "2026-09-11T04:51:33Z", "hours": 0.85, "text": "Removed all male pins and set up button mode switches along with headers"}, {"post_id": 65187, "ts": "2026-09-10T04:36:58Z", "hours": 0.45, "text": "Gathered most of the symbols and footprints for the project"}]...
|
Title: I/O_Pad by @pelmin_404 | Stardance
Devlogs Title: I/O_Pad by @pelmin_404 | Stardance
Devlogs:
Gathered most of the symbols and footprints for the project
Removed all male pins and set up button mode switches along with headers
Established digital pin nets
Assigned the rest of the footprints and researched switches that might work for button modes but couldn’t find their datasheets and suitable footprints
Found suitable slide switches, assigned their footprints, and made an approximate PCB layout
Slightly rearranged all footprints, flipped the 01x02 socket symbols, and routed all traces
Imported the rest of the 3D models and removed the LED from the MX key model
Had to reroute the 2nd layer because of missing tracks
Revised the PCB size, added fillets, and made the ground net fill the whole PCB
Increased the PCB size a bit to add holes for mounting, modeled the main part of the case, and designed keycaps
Designed levers for the DPDT switches, made case walls shorter in order to make the headers flush to the cover that is not yet mounted, and made the keycaps taller so keys are hidden
Completed the first design version by applying example colors, adding numbers above the headers, chamfering the cover, and adding little press fit pins to avoid small screws that would ruin the look of the cover, and to allow easy access to the PCB
Edited symbol references for a cleaner look, and did overall polishing and preparation for production...
|
1793033542.6952145
|
1793638342.6952145
|
|
62947
|
WarioWare game by @Tom1234 | Stardance
|
Tom1234
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T04:52:02Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a warioware style game where consisting of 3 minigames that you have to beat.", "repo": "https://github.com/Timmyaintit12/WariowareGame", "demo": "https://toma12345.itch.io/warioware-game"}]...
|
[{"post_id": 75103, "ts": "202 [{"post_id": 75103, "ts": "2026-09-29T04:34:38Z", "hours": 1.2197, "text": "I made a 3rd minigame where you have to dodge the falling mushrooms. I also fixed bugs with the level switching and win/loss screens"}, {"post_id": 69847, "ts": "2026-09-17T21:56:52Z", "hours": 0.5567, "text": "Made the clicker minigame, also fixed some bugs with the mushroom collection in the platformer, due to them not being linked properly. Also fixed bugs in level switching and what scene it changed to"}, {"post_id": 69436, "ts": "2026-09-17T01:41:54Z", "hours": 1.3306, "text": "I have made and coded the platformer minigame, had some issues trying to get the mushrooms to work but fixed them in the end"}, {"post_id": 69381, "ts": "2026-09-16T22:52:05Z", "hours": 0.5072, "text": "I created the level screen and added the code to go alongside it"}, {"post_id": 69368, "ts": "2026-09-16T22:14:16Z", "hours": 0.2883, "text": "I have designed and coded the menu screen for my game, the settings button currently doesn’t work. It’s not really WarioWare themed, but isn’t the whole point to be unique"}]...
|
Title: WarioWare game by @Tom1234 | Stardance
Dev Title: WarioWare game by @Tom1234 | Stardance
Devlogs:
I have designed and coded the menu screen for my game, the settings button currently doesn’t work. It’s not really WarioWare themed, but isn’t the whole point to be unique
I created the level screen and added the code to go alongside it
I have made and coded the platformer minigame, had some issues trying to get the mushrooms to work but fixed them in the end
Made the clicker minigame, also fixed some bugs with the mushroom collection in the platformer, due to them not being linked properly. Also fixed bugs in level switching and what scene it changed to
I made a 3rd minigame where you have to dodge the falling mushrooms. I also fixed bugs with the level switching and win/loss screens
Ships:
I made a warioware style game where consisting of 3 minigames that you have to beat....
|
1793210156.751632
|
1793296556.751632
|
|
66629
|
My fandoms by @anaPesto | Stardance
|
anaPesto
|
0
|
0.29
|
0
|
[]
|
[{"post_id": 75111, "ts": "202 [{"post_id": 75111, "ts": "2026-09-29T04:49:47Z", "hours": 0.2947, "text": "I actually spent an hour+ on this but forgot to make a hackatime project oops anyway I got the basics of the website going ooh this will be fun… I’ll fix the css and add more content later a lot of this is placeholder stuff as I’m learning how to do it"}]...
|
Title: My fandoms by @anaPesto | Stardance
Devlog Title: My fandoms by @anaPesto | Stardance
Devlogs:
I actually spent an hour+ on this but forgot to make a hackatime project oops anyway I got the basics of the website going ooh this will be fun… I’ll fix the css and add more content later a lot of this is placeholder stuff as I’m learning how to do it...
|
1793101765.8070607
|
1793706565.8070607
|
|
66673
|
Jujuslander by @anura | Stardance
|
anura
|
0
|
2.26
|
0
|
[]
|
[{"post_id": 75118, "ts": "202 [{"post_id": 75118, "ts": "2026-09-29T05:38:19Z", "hours": 2.2611, "text": "made gojo and sukuna gojo got that glow cause he is the honered one get it..(‘w’)"}]...
|
Title: Jujuslander by @anura | Stardance
Devlogs: Title: Jujuslander by @anura | Stardance
Devlogs:
made gojo and sukuna gojo got that glow cause he is the honered one get it..(‘w’)...
|
1792461161.3758938
|
1793325161.3758938
|
|
22022
|
Ornithopter by @java | Stardance
|
java
|
0
|
23.51
|
0
|
[]
|
[{"post_id": 75121, "ts": "202 [{"post_id": 75121, "ts": "2026-09-29T05:50:20Z", "hours": 1.5736, "text": "Wow it’s been awhille… well someone got funing 400$ yay. anyway someone forgot about there tolerances. and the main gear is really wobbly oh well lets see what i can do here a quick vid for u guys."}, {"post_id": 41107, "ts": "2026-08-05T03:00:37Z", "hours": 0.6003, "text": "Tiny Design So as I wait for grant money, I have decided to make a fork of the project in Onshape, and I made it smaller. I now have an 80 tooth on the big main gear instead of a 112 tooth. I am still going to be making the 112 tooth version, as I would like to get my first prototype made. This will let me practice building, and I can tweak anything else in the next version. Frame Size Width Old 226 mm, New 162mm Height Old 152 mm, New 130mm"}, {"post_id": 40294, "ts": "2026-08-03T18:44:43Z", "hours": 1.7681, "text": "I think I made it too big……. anyway been awhile since an update. I am just going to build it and see what happens the plan is right now it to stop worrying about “what if” and just see what is wrong with the designs."}, {"post_id": 35024, "ts": "2026-07-26T05:39:51Z", "hours": 0.6028, "text": "I am thinking of moving this dev log to my new website. I ask in the slack if I could move the dev logs to my website I made for the project. so I may be just putting links to them here. aka I think I am going a little crazy whille I wait for funding apps to reopen anyway here are some photos of what I may added to the website."}, {"post_id": 34443, "ts": "2026-07-25T04:51:18Z", "hours": 8.8142, "text": "Hello Been awhile. What I have done. Made a website Added more detail to the model Still waiting on funding Here a cool video of it Website is called https://www.governmentcrow.net/"}, {"post_id": 23664, "ts": "2026-07-06T19:33:38Z", "hours": 0.9172, "text": "Hello Yall, maybe I should lock in to what I am making give some more detail of how this project is going to work out. So I am trying to make a ornithopter what it does is it flap its wing to generate life ( aka a mechinal bird) The Goal of the project: to build a lightweight ornithopter capable of stable powered flight using a simple flapping mechanism. The project will be set up in phases. Phase 1 This is the prototyping phase of the wing movement mechanism. I will be designing a body that takes the rotating motion from a motor to move the wings up and down. I will be looking for reliability, strength, and efficiency. Phase 2 Here I will be designing the wing. I need to make it lightweight. I will also be testing it with the gear mechanism and measuring how much lift it produces so I can determine my design constraints for the tail. Phase 3 – Adding the Tail and Other Electronics This is where I will be adding the tail and electronics together. I will also be doing some early test flights if all goes to plan. My goal is to have a clean mechanical system. The tail will look like an airplane tail, as I am currently just focusing on the flapping mechanism. Phase 4 This phase is for debugging and testing. I want to aim for reliability and simplicity, and I will be conducting my own test flights as well. Current Progress (Phase 1) I am currently in Phase 1 and have decided to use a crankshaft based mechanism for wing motion.I am using this simulation tool to help calculate and visualize the wing path: https://www.desmos.com/calculator/iuprdl6sxkMy motor has a KV rating of 1700, and I will need a gear reduction of approximately 21.24:1. This may change during testing, but for now I am satisfied with the I have just submitted my project for funding so I am hoping it will go though. – Changes I’ve Made. So I change how the space sits as it look a little to week and it was interfering with the flapping motion"}, {"post_id": 23291, "ts": "2026-07-06T04:54:43Z", "hours": 7.03, "text": "So I’ve Finish my design and I would be ready to move to the protyping phase. from the last design i have change the movment mech so that I have a clean path to follow. I also made a bom list of all of the parts."}, {"post_id": 21934, "ts": "2026-07-04T04:02:05Z", "hours": 2.2, "text": "Hello, this is my Ornithopter project. I am just working on a mechanism to move the wings up and down. This will let me test to see if I have the flapping motion correct. The next thing I need to do is print it out and do a test with it to see if my measurements are right.In Onshape right now, I need to get the ratio proper so I can have a clean up-and-down movement.The next thing I need to do is prototype with a 3D printer."}]...
|
Title: Ornithopter by @java | Stardance
Devlogs:
Title: Ornithopter by @java | Stardance
Devlogs:
Hello, this is my Ornithopter project. I am just working on a mechanism to move the wings up and down. This will let me test to see if I have the flapping motion correct. The next thing I need to do is print it out and do a test with it to see if my measurements are right.In Onshape right now, I need to get the ratio proper so I can have a clean up-and-down movement.The next thing I need to do is prototype with a 3D printer.
So I’ve Finish my design and I would be ready to move to the protyping phase. from the last design i have change the movment mech so that I have a clean path to follow. I also made a bom list of all of the parts.
Hello Yall, maybe I should lock in to what I am making give some more detail of how this project is going to work out. So I am trying to make a ornithopter what it does is it flap its wing to generate life ( aka a mechinal bird) The Goal of the project: to build a lightweight ornithopter capable of stable powered flight using a simple flapping mechanism. The project will be set up in phases. Phase 1 This is the prototyping phase of the wing movement mechanism. I will be designing a body that takes the rotating motion from a motor to move the wings up and down. I will be looking for reliability, strength, and efficiency. Phase 2 Here I will be designing the wing. I need to make it lightweight. I will also be testing it with the gear mechanism and measuring how much lift it produces so I can determine my design constraints for the tail. Phase 3 – Adding the Tail and Other Electronics This is where I will be adding the tail and electronics together. I will also be doing some early test flights if all goes to plan. My goal is to have a clean mechanical system. The tail will look like an airplane tail, as I am currently just focusing on the flapping mechanism. Phase 4 This phase is for debugging and testing. I want to aim for reliability and simplicity, and I will be conducting my own test flights as well. Current Progress (Phase 1) I am currently in Phase 1 and have decided to use a crankshaft based mechanism for wing motion.I am using this simulation tool to help calculate and visualize the wing path: https://www.desmos.com/calculator/iuprdl6sxkMy motor has a KV rating of 1700, and I will need a gear reduction of approximately 21.24:1. This may change during testing, but for now I am satisfied with the I have just submitted my project for funding so I am hoping it will go though. – Changes I’ve Made. So I change how the space sits as it look a little to week and it was interfering with the flapping motion
Hello Been awhile. What I have done. Made a website Added more detail to the model Still waiting on funding Here a cool video of it Website is called https://www.governmentcrow.net/
I am thinking of moving this dev log to my new website. I ask in the slack if I could move the dev logs to my website I made for the project. so I may be just putting links to them here. aka I think I am going a little crazy whille I wait for funding apps to reopen anyway here are some photos of what I may added to the website.
I think I made it too big……. anyway been awhile since an update. I am just going to build it and see what happens the plan is right now it to stop worrying about “what if” and just see what is wrong with the designs.
Tiny Design So as I wait for grant money, I have decided to make a fork of the project in Onshape, and I made it smaller. I now have an 80 tooth on the big main gear instead of a 112 tooth. I am still going to be making the 112 tooth version, as I would like to get my first prototype made. This will let me practice building, and I can tweak anything else in the next version. Frame Size Width Old 226 mm, New 162mm Height Old 152 mm, New 130mm
Wow it’s been awhille… well someone got funing 400$ yay. anyway someone forgot about there tolerances. and the main gear is really wobbly oh well lets see what i can do here a quick vid for u guys....
|
1792662485.1571782
|
1793267285.1571782
|
|
66091
|
websos by @sapu | Stardance
|
sapu
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T06:20:39Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "web os to play my game in scratch, I use a cute theme and the challenging part was translating the normal css to tailwind", "repo": "https://github.com/savwicak/WebSOs", "demo": "https://savwicak.github.io/WebSOs/"}]...
|
[{"post_id": 75123, "ts": "202 [{"post_id": 75123, "ts": "2026-09-29T06:18:33Z", "hours": 0.9031, "text": "FINISSHH!!! Yes it can run everything added positions if you click in header and fix the code line"}, {"post_id": 75101, "ts": "2026-09-29T04:33:37Z", "hours": 0.855, "text": "ADDING GAMESS"}, {"post_id": 75070, "ts": "2026-09-29T01:56:49Z", "hours": 1.4864, "text": "i used kirby theme for this, looking really good, been designing for the UI Form"}, {"post_id": 74759, "ts": "2026-09-28T04:54:14Z", "hours": 0.6869, "text": "I’m making a webos that has a lot of exclusive games (my game) but the diffrent from the tutorial i used tailwind for the css :D"}]...
|
Title: websos by @sapu | Stardance
Devlogs:
I’m m Title: websos by @sapu | Stardance
Devlogs:
I’m making a webos that has a lot of exclusive games (my game) but the diffrent from the tutorial i used tailwind for the css :D
i used kirby theme for this, looking really good, been designing for the UI Form
ADDING GAMESS
FINISSHH!!! Yes it can run everything added positions if you click in header and fix the code line
Ships:
web os to play my game in scratch, I use a cute theme and the challenging part was translating the normal css to tailwind...
|
1793216888.0510325
|
1793303288.0510325
|
|
51188
|
arc rocket by @gyandakshin | Stardance
|
gyandakshin
|
0
|
8.11
|
0
|
[]
|
[{"post_id": 75126, "ts": "202 [{"post_id": 75126, "ts": "2026-09-29T06:40:35Z", "hours": 1.4669, "text": "I was working on the aft section and the egg capsule and other stuff for the rocket."}, {"post_id": 58691, "ts": "2026-08-31T06:30:25Z", "hours": 1.2167, "text": "Another work day for the egg capsule. This is really important as without it, the egg would crack and my team would lose at ARC. PS. I was trying to write upside down in this picture, which is why my hand is like that."}, {"post_id": 57821, "ts": "2026-08-30T03:53:00Z", "hours": 2.0336, "text": "I was working on the capsule which holds eggs that will go inside the rocket, as for ARC the 2 eggs must come back safely, uncracked, otherwise you’ll lose points."}, {"post_id": 55407, "ts": "2026-08-27T06:52:10Z", "hours": 3.3975, "text": "Fin alignment jig for my ARC rocket. It holds the 3 trapezoidal fins at the bottom of the rocket when we put the epoxy on to cure, then it slides off. It’s not an actual part of the rocket, but its there to help keep the fins in place while the epoxy hardens."}]...
|
Title: arc rocket by @gyandakshin | Stardance
Dev Title: arc rocket by @gyandakshin | Stardance
Devlogs:
Fin alignment jig for my ARC rocket. It holds the 3 trapezoidal fins at the bottom of the rocket when we put the epoxy on to cure, then it slides off. It’s not an actual part of the rocket, but its there to help keep the fins in place while the epoxy hardens.
I was working on the capsule which holds eggs that will go inside the rocket, as for ARC the 2 eggs must come back safely, uncracked, otherwise you’ll lose points.
Another work day for the egg capsule. This is really important as without it, the egg would crack and my team would lose at ARC. PS. I was trying to write upside down in this picture, which is why my hand is like that.
I was working on the aft section and the egg capsule and other stuff for the rocket....
|
1792659198.5366495
|
1793263998.5366495
|