|
32567
|
Marine Odyssey by @Kartik_B | Stardance
|
Kartik_B
|
2
|
33.0
|
238
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T05:21:53Z", "hours": 5.0, "multiplier": 4.25, "payout": 20, "blessing": "neutral", "text": "I have made an endless underwater themed submarine game. You have to survive as long as you can. There are threats like shark, starfish, titan and sea mines. Two types of controls in pc and joystick controls in mobile. Also, the game is now fully zero AI used game. I have just added the android support to the games.", "repo": "https://github.com/K-BIDDOLIYA/Marine-Odyssey", "demo": "https://kartik-biddoliya.itch.io/marine-odyssey"}, {"ship_num": 2, "ts": "2026-08-17T07:58:36Z", "hours": 28.0, "multiplier": 7.94, "payout": 218, "blessing": "neutral", "text": "This is Marine Odyssey Ans underwater submarine game where you have to survive as long as you can. There can be Sharks, Titan, Starfish and Sea mines. The danger will increase with time. You have two controller modes, Cursor mode and WASD/arrow. You can also luckily pick a health boost. Beware, the Titan is really mad at you.", "repo": "https://github.com/K-BIDDOLIYA/Marine-Odyssey", "demo": "https://kartik-biddoliya.itch.io/marine-odyssey"}]...
|
[{"post_id": 70515, "ts": "202 [{"post_id": 70515, "ts": "2026-09-19T09:39:53Z", "hours": 2.5186, "text": "I just added the android version for marine odyssey. Some final tests still remain…"}, {"post_id": 55445, "ts": "2026-08-27T09:08:08Z", "hours": 2.0872, "text": "Last devlog I have fixed all the issues that were pointed out in the first ship. I have tried my best to write most of the code by myself and only 1 sprite is ai generated cause i couldn’t find that anywhere. But still its less than 30% AI."}, {"post_id": 48722, "ts": "2026-08-17T07:45:44Z", "hours": 2.3597, "text": "🌊 Marine Odyssey — It’s Finished!"}, {"post_id": 48167, "ts": "2026-08-16T13:42:40Z", "hours": 5.1744, "text": "Marine Odyssey Devlog - #10 Update - I have added the Home scene, it deisplays the running game scene in background (without submarine). I have added some more sprites and most importantly, Audio and BGM. I added two types of controller mode also, Cursor and WASD. Next up, im making the health boost and and some more collectable stuff. Then, Ship it!"}, {"post_id": 45707, "ts": "2026-08-12T11:34:17Z", "hours": 3.1664, "text": "I added a bunch of sprites for: Background, starfish, sea mines, corals, submarine. Also, improved a lot of game play features. But still, the homw scene remains untouched till now. I’ll start working for that also. For now, please suggest me any ui improvements needed. (i have used ai to generate bg and coral sprites)"}, {"post_id": 42461, "ts": "2026-08-07T06:43:55Z", "hours": 1.8383, "text": "Marine Odyssey - Devlog #8 Today, I : Added bg sprite. Added shark sprite. Improved the game play. Fixed some code. Upgraded damage system."}, {"post_id": 41879, "ts": "2026-08-06T11:24:51Z", "hours": 6.1014, "text": "Marine Odyssey - Devlog #7 I almost forgot to devlog for some days. Here’s what is have done: Completed Titan hand. Completed Starfish. Completed Seamines. Completed sharks. Some game ui. No Sprites till now, No home scene, no audio."}, {"post_id": 29448, "ts": "2026-07-16T12:16:31Z", "hours": 1.875, "text": "Marine Odyssey - Devlog #6 There were MANY small tweaks and fixes to do in the game and in the event. I just: Fixed tentacle rotation. Added camera shake. Fixed submarine movement. Fixed Dark effect. Adjusted timings. Debugged some code. The Marine Odyssey is 20% completed. Still no UI, audio, buttons etc. One more thing, please give me some ideas of what can i add besides Kraken, Sharks and Starfish swarm. Or any feature you have in mind that will look good."}, {"post_id": 28878, "ts": "2026-07-15T13:35:47Z", "hours": 1.7692, "text": "Marine Odyssey - Devlog #5 Phew…!! It was a long day fighting errors and adjusting stuff. What i did is to implement the full Kraken. The old codes had soo many errors and structural issues and was incomplete. So, i had to replace almost everything and also upgraded the gameplan Some features are still missing though, that i’ll add later. And yeah, i still haven’t added the sprites and UI, just working on the gameplay."}, {"post_id": 28212, "ts": "2026-07-14T11:09:26Z", "hours": 1.1769, "text": "Marine Odyssey - Devlog #4 Been focusing on gameplay systems instead of visuals lately. The shark encounters are now working, with coral hiding fully integrated into the core gameplay loop. After some playtesting, I scrapped one of my original enemy ideas because it just wasn’t as interesting and started building a Kraken event instead. The Kraken is turning into one of the game’s biggest moments. Instead of permanent obstacles, giant tentacles will strike from beneath the seabed, forcing quick reactions and precise movement. I’ve also finished setting up the event system that controls the warnings, ocean darkening, cooldowns, and attack sequence. The tentacle system is now being rebuilt to use movement rather than scaling, which should make the final animations look much more natural once the real art is added. Still sticking with placeholder shapes for now. Getting the mechanics right before worrying about the visuals has been the best decision so far."}, {"post_id": 27682, "ts": "2026-07-13T13:51:33Z", "hours": 1.5522, "text": "Marine Odyssey - Devlog #3 Made a lot of progress today. The coral system is now in place, including hiding zones that the submarine can use to avoid sharks. I also got the first enemy working—sharks now patrol the ocean, chase the player when spotted, and lose interest if you disappear into the coral. I spent some time cleaning up the game’s structure too, fixing early issues with the camera, movement, and world scale so everything feels much more open. I also scrapped one of my original enemy ideas and replaced it with a Secret event that’s going to be a full event instead of just another obstacle. Still using placeholder shapes for everything. Focusing on making the gameplay fun first before moving on to art and polish."}, {"post_id": 27018, "ts": "2026-07-12T05:09:38Z", "hours": 1.8144, "text": "Marine Odyssey - Devlog #2 Made some solid progress on the submarine game today. I finished the core movement systems, added an endless scrolling ocean, and reworked the camera so it follows the submarine vertically while the world keeps moving forward. I also cleaned up a few early design decisions to make the ocean feel much larger and easier to build on later. Started working on the coral system as well. The coral foreground now loops endlessly with the environment, and I’m laying the groundwork for hiding mechanics that’ll be used to avoid predators later on. Still using placeholder shapes—gameplay first, art later. I’m really excited to complete this game and show it to you all!!!"}, {"post_id": 25344, "ts": "2026-07-09T16:05:18Z", "hours": 0.68, "text": "Marine Odyssey - Devlog #1 Just started off this underwater submarine game. I went through a lot of ideas following the arcady style 2D game and landed on this game idea. Wait to see the whole game reveal itself"}]...
|
Title: Marine Odyssey by @Kartik_B | Stardance
De Title: Marine Odyssey by @Kartik_B | Stardance
Devlogs:
Marine Odyssey - Devlog #1 Just started off this underwater submarine game. I went through a lot of ideas following the arcady style 2D game and landed on this game idea. Wait to see the whole game reveal itself
Marine Odyssey - Devlog #2 Made some solid progress on the submarine game today. I finished the core movement systems, added an endless scrolling ocean, and reworked the camera so it follows the submarine vertically while the world keeps moving forward. I also cleaned up a few early design decisions to make the ocean feel much larger and easier to build on later. Started working on the coral system as well. The coral foreground now loops endlessly with the environment, and I’m laying the groundwork for hiding mechanics that’ll be used to avoid predators later on. Still using placeholder shapes—gameplay first, art later. I’m really excited to complete this game and show it to you all!!!
Marine Odyssey - Devlog #3 Made a lot of progress today. The coral system is now in place, including hiding zones that the submarine can use to avoid sharks. I also got the first enemy working—sharks now patrol the ocean, chase the player when spotted, and lose interest if you disappear into the coral. I spent some time cleaning up the game’s structure too, fixing early issues with the camera, movement, and world scale so everything feels much more open. I also scrapped one of my original enemy ideas and replaced it with a Secret event that’s going to be a full event instead of just another obstacle. Still using placeholder shapes for everything. Focusing on making the gameplay fun first before moving on to art and polish.
Marine Odyssey - Devlog #4 Been focusing on gameplay systems instead of visuals lately. The shark encounters are now working, with coral hiding fully integrated into the core gameplay loop. After some playtesting, I scrapped one of my original enemy ideas because it just wasn’t as interesting and started building a Kraken event instead. The Kraken is turning into one of the game’s biggest moments. Instead of permanent obstacles, giant tentacles will strike from beneath the seabed, forcing quick reactions and precise movement. I’ve also finished setting up the event system that controls the warnings, ocean darkening, cooldowns, and attack sequence. The tentacle system is now being rebuilt to use movement rather than scaling, which should make the final animations look much more natural once the real art is added. Still sticking with placeholder shapes for now. Getting the mechanics right before worrying about the visuals has been the best decision so far.
Marine Odyssey - Devlog #5 Phew…!! It was a long day fighting errors and adjusting stuff. What i did is to implement the full Kraken. The old codes had soo many errors and structural issues and was incomplete. So, i had to replace almost everything and also upgraded the gameplan Some features are still missing though, that i’ll add later. And yeah, i still haven’t added the sprites and UI, just working on the gameplay.
Marine Odyssey - Devlog #6 There were MANY small tweaks and fixes to do in the game and in the event. I just: Fixed tentacle rotation. Added camera shake. Fixed submarine movement. Fixed Dark effect. Adjusted timings. Debugged some code. The Marine Odyssey is 20% completed. Still no UI, audio, buttons etc. One more thing, please give me some ideas of what can i add besides Kraken, Sharks and Starfish swarm. Or any feature you have in mind that will look good.
Marine Odyssey - Devlog #7 I almost forgot to devlog for some days. Here’s what is have done: Completed Titan hand. Completed Starfish. Completed Seamines. Completed sharks. Some game ui. No Sprites till now, No home scene, no audio.
Marine Odyssey - Devlog #8 Today, I : Added bg sprite. Added shark sprite. Improved the game play. Fixed some code. Upgraded damage system.
I added a bunch of sprites for: Background, starfish, sea mines, corals, submarine. Also, improved a lot of game play features. But still, the homw scene remains untouched till now. I’ll start working for that also. For now, please suggest me any ui improvements needed. (i have used ai to generate bg and coral sprites)
Marine Odyssey Devlog - #10 Update - I have added the Home scene, it deisplays the running game scene in background (without submarine). I have added some more sprites and most importantly, Audio and BGM. I added two types of controller mode also, Cursor and WASD. Next up, im making the health boost and and some more collectable stuff. Then, Ship it!
🌊 Marine Odyssey — It’s Finished!
Last devlog I have fixed all the issues that were pointed out in the first ship. I have tried my best to write most of the code by myself and only 1 sprite is ai generated cause i couldn’t find that anywhere. But still its less than 30% AI.
I just added the android version for marine odyssey. Some final tests still remain…
Ships:
This is Marine Odyssey Ans underwater submarine game where you have to survive as long as you can. There can be Sharks, Titan, Starfish and Sea mines. The danger will increase with time. You have two controller modes, Cursor mode and WASD/arrow. You can also luckily pick a health boost. Beware, the Titan is really mad at you.
I have made an endless underwater themed submarine game. You have to survive as long as you can. There are threats like shark, starfish, titan and sea mines. Two types of controls in pc and joystick controls in mobile. Also, the game is now fully zero AI used game. I have just added the android support to the games....
|
1793116067.8037245
|
1793202467.8037245
|
|
33760
|
EcoRover by @muhamedanber | Stardance
|
muhamedanber
|
1
|
33.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-27T19:34:50Z", "hours": 33.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did I make? I built EcoRover, a 3 tier motorized recycling bin and food waste collector designed for food courts. The whole point of it is to wander around autonomously using an 8 sensor ultrasonic array for 360 degree obstacle avoidance, running on an Arduino and a custom differential drive setup. The bottom tier handles power and the heavy lifting, the middle tier has a Peltier cooling module acting as a built in fridge to keep food leftovers fresh so anyone in need can grab them without asking anyone (keeping their dignity completely intact), and the top tier handles trash and recycling sorting. Plus, I teamed up with VeryNile in Cairo to get a custom CNC milled recycled plastic plate made by local women on Qorsaya Island mounted right on the chassis. What was challenging? Man where do I even start? Everything from administration to pure hardware agony. First dealing with the grant and banking loops in Egypt was a total marathon that nearly drove me insane. Then came the physical building where I completely fried my first Arduino Mega because my hand slipped with the multimeter probe right between 5V and GND while testing the power distributor. I also had to adapt the whole build to whatever 3mm plywood panel sizes I could actually source locally from Amazon, which completely threw off my original CAD weight distribution. That led to a massive wobble issue at the very end because the battery was way too heavy for the narrow footprint. Balancing all of this while starting my freshman year at the Faculty of Science at Cairo University, drowning in chemistry labs and getting sick with brutal bone aching flus, and crashing 4 lectures behind schedule almost made me give up. What am I proud of? Honestly I’m just proud I didn’t quit when everything was falling apart. I taught myself how to CAD in Fusion 360 from scratch, soldered electronics, built a custom safety fuse circuit that actually saved my motor drivers from blowing up when I accidentally reversed polarity, and pushed through physical exhaustion and college stress to ship a fully functional physical robot (for someone who has 0 self control usually this is HUGEE). Also collaborating with VeryNile to incorporate real recycled plastic art made by local Egyptian women into the robot instead of just making another generic plastic toy means the world to me. What should people know so they can test my project? Since this is a physical autonomous rover built with real hardware, testing it requires a few things if you’re looking at the repo and code: The Logic board & Firmware: It runs on an Arduino Uno with a custom obstacle avoidance firmware sketch handling 8 HC-SR04 ultrasonic sensors mapped North, South, East, and West. The Power System: It uses a dual L298N driven differential steering setup powered by a heavy battery pack with an inline safety fuse and a physical master rocker switch. How to inspect it: Everything from the step files, CAD renders, wiring schematics, BOM, and firmware is fully documented in the GitHub repository. If you’re looking at the code, keep in mind I had to heavily optimize pin layouts and use multiplexing trig pin strategies to make everything fit neatly onto a standard microcontroller board without running out of GPIO pins.", "repo": "https://github.com/muhamedanber/EcoRover", "demo": ""}]...
|
[{"post_id": 83342, "ts": "202 [{"post_id": 83342, "ts": "2026-10-27T19:04:17Z", "hours": 9.8744, "text": "Devlog #8: The End? – From Sep 29th to Oct 27th 2026 – MAN what a month. If I had to sum up October in a single phrase, it would be “AHHHHHHHHHHHHHHHHHHHHHHHHH” but tbh this final stretch of EcoRover has been abslute cinema. Chapter one: The Final Hustle Right after the last log i finally got back to work through the usual physical exhaustion. I managed to mount and wire all 8 HC-SR04s. Also remember in earlier devlogs when I bragged about my cable management? Yeah… throw that statement against the wall. It turned into an absolute disaster in the middle tier, but hey it connected I mounted the Uno, hooked up the H bridge and wired the power lines. Power was running straight to the uno, but the 5V rail decided to ghost me. I had to pause cuz college lectures were piling up fast and gpa protection takes top priority 🤡. Chapter two: ANYONE HELP! CU Eats Me Alive. Coming back home dead on my feet every single day with brutal headaches, bone aches, and a mountain of chemistry labs meant the progress hit a wall. By early October I was sitting four lectures behind with quizzes looming over my head. By Oct 10th, the rover was technically 97% complete. All the individual components were wired and functional, but they needed to be stacked. When I finally pushed through the sickness to assemble it, I hit a dead end The Wobble. The chassis footprint was simply too narrow for the height and total weight cuz i’ven’t followed the original dimensions in the CAD file i made and just used the size of plywood i got off of amazon. The heavy lithium battery pack in the middle tier was causing the entire frame to sway, and the housing kept snapping under its own weight. To fix it properly, I would’ve needed to either: Rebuild the entire frame with a wider footprint or Ditch the bottom tier completely and mount the drive wheels straight to the second tier. Both options required a lighter battery and time I physically didn’t have. So looking like a total biohazard 45 minutes before a lecture I shot a message straight to Jay on Slack: “The project is around 97% complete, but fixing this issue would take energy and time I honestly don’t have right now. Is it okay to ship in its current state?” A few days later, Jay replied that as long as it’s functional we are good to ship! Massive sigh of relief. Chapter three: While hardware was on pause my personal life went into overdrive in the best way possible. Out of 12000 students at the Faculty of Science@CU, I was nominated as one of 21 candidates for The Ideal Student Competition less than a month after enrolling! 🥳 During the interview, I had a long talk with Professor Maha Al-Khazindar (Vice Dean) and three other decorated professors. We talked about everything I’ve done over the last 6 years. They liked my background so much that Dr. Khazindar personally invited me to join the official university board to welcome an incoming high-level delegation from KoreaTech University !!!! Standing alongside the Dean and Vice Dean to welcome an international delegation as a freshman was completely surreal. Alhamdulillah for everything He constantly grants me. Chapter four: This is the END (Adele singing) On Oct 22nd, after college gave me a much needed breather I heard a distant screaming in the background… AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH! I FINALLY FINISHED FILMING THE VIDEO! 🎉 It might not be hollywood quality but it’s raw, real, and captures the entire chaotic journey of bringing EcoRover to life. With the repo updated, video uploaded, and the final submit button smashed… EcoRover is SHIPPED! 🥳🎉 💖 What’s Next? A massive thank u to everyone who followed this chaotic journey. Thanks stardance for giving me this crazyyy learning experince that ill remember till i die <3 For everyone reading the journal on the GitHub I love u. Until the next build, thank God for everything, and byeeeeee! 🚀✨"}, {"post_id": 74316, "ts": "2026-09-27T05:21:15Z", "hours": 9.0006, "text": "Devlog #7: Pin-Pinching Hacks, Mechanical Chaos, and Big Life Updates – From Sep 21st to Sep 26th 2026 – This past week has been an absolute blur of hardware troubleshooting, unexpected setbacks, physical injuries, and huge personal milestones. After sending Jay@Stardance a video proving the Arduino Mega was officially toast ( RIP ), I jumped straight into assembling the cooling setup with the TEC1-12706 Peltier module. That thing gets insanely hot within seconds leaving me with a nice second degree burn as a souvenir. Since I still didn’t have a new tip for my soldering iron, I wired up the main rocker switch using good old Egyptian electrician techniques, twisting the bare wires around the pins in a slightly cursed knot, followed by plenty of electrical tape and heat shrink tubing. With hardware up in the air, I spent considerable time optimizing circuit logic to minimize GPIO pins so the entire project could run on a single Arduino Uno if replacement funding fell through. Bypassing the microcontroller for components that stay on continuously (like the relay) saved digital pins immediately. By tying all eight HC-SR04 ultrasonic sensor TRIG pins into a single line, the total GPIO requirement dropped down to just 13 pins, 1 shared TRIG pin + 8 individual ECHO pins 4 directional control pins for the L298N motor driver On the physical build side, I finished the insulated fridge compartment, mounted access doors, installed locking latches, and laid out the lower drive chassis. Hot glue turned out to be useless against motor torque, and the heavy lithium battery pack caused the chassis to drag, so I installed a heavy duty caster wheel underneath the frame to balance the weight. Then came the hardware headaches. The cheap 12V cooling fans turned out to be completely dead on arrival (details in the journal.md). Instead of dealing with local return hassles, I mounted them decoratively for display while keeping the working Peltier module unpowered to prevent further burns. Mid-week brought an incredible thing: I got accepted into the Faculty of Science at Cairo University! 🥳 With the Stardance deadline extended to October 31st, I took a brief breather to celebrate followed by a quick internet outage that paused video logs. so I took 2 days off Getting back to assembly, initial power tests revealed the DC motors were running way too fast. To tame the speed, I removed the jumpers on the L298N driver to enable PWM speed control, using up the absolute last 2 available GPIO pins on the Uno. I also had to rebalance the wheel alignment to expand the base area. The heavy battery was originally locking up the motors in the bottom tier, so I relocated it up to the middle tier which it’s super crowded now, but cable management kept it clean. Naturally, I managed to cut my hand on the saw again while trimming wheel clearance, but thankfully it was minor. With the chassis built and the electronics wired, the rover is practically finished. All that remains is picking up a few extra Female-Male jumper wires to mount the ultrasonic sensors on my way to college today, and EcoRover will officially be ready for initial testing. (I’m too tired to put photos, so here’s red mike wazowski again"}, {"post_id": 71596, "ts": "2026-09-21T03:52:23Z", "hours": 8.8233, "text": "Devlog #6: Unboxing, Sawdust Wars, and Smoking Arduinos – From Sep 17th to Sep 20th 2026 – The last four days have been an absolute fever dream. All 58 components finally arrived in one piece! Huge shoutout to the local sellers who threw in thank-you notes, a car freshener, and a random red Mike Wazowski figurine inside the box with the Arduino Mega . Unhinged, but cute. Naturally, right as everything landed, my body hit peak flu with brutal bone aches. But I pushed through to start assembly and prep the updated BOM. I had to cover a few out-of-pocket expenses for miscellaneous screws and hinges I forgot to calculate 🤦🏻. Also the only 3mm plywood I could source on Amazon that fit the budget came in ~30x50cm sheets, so I’m building this first physical prototype using the raw panels as is while keeping core frame dimensions intact. Later on, I decided to cut wood. Pro-tip: foldable handsaws are dangerous. I pressed the release button with my hand in the folding track. A quick flash of blood and a mini heart attack later, it stopped bleeding, thank God. Despite my clumsiness, I cut the middle layer outer shell, fridge frame, logic board mount, and lower latching mechanism. I blacked out from exhaustion right after and woke up to an immediate eviction notice from my grandma: zero woodworking in the living room. I relocated my entire workshop out to the balcony. It’s actually a great setup, plus I’ve made friends with the local balcony mouse who hangs out while I work. Despite the flu, I finished the chassis over 2 days, prepared doors/panels, and packed up the gear to move back inside. I started assembling electronics by wiring the main power rail. Within an hour, I completely scorched my soldering iron tip 🙃. Since tips are super cheap in Egypt, I’m replacing it out of pocket. My cousin set up a meeting with an electrician friend for a masterclass, but he wasn’t much help so I figured it out on my own. Health-wise, the flu is receding. Personal life is at peak chaos, but thank god we manage 🤡. Then came one of the most chaotic testing days yet. I built a 5V power distributor for the HC-SR04 sensors, routing power through the Arduino Mega’s internal regulator to get 5V . Multimeter read a clean 5.0V . Pure satisfaction. Then came the tragedy. While staring at my schematic to figure out the next step, I was holding the probe in my left hand. My hand drifted. The bare metal probe tip bridged the Arduino’s 5V pin and GND pin simultaneously. Faint click. Scent of burnt toast. I yanked the power cord instantly. Plugged back in, the board ran super hot. Multimeter showed the regulator blowing a raw 7V straight into the ATmega2560 chip. The brain of EcoRover was officially fried. I spent 20-30 minutes in full despair, but thank god, what happened happened. I reached out to the Stardance grant reviewer to explain the short circuit. Worst case: I’ll fall back to my personal non-original Arduino Uno and figure out a massive GPIO multiplexing hack to run all 8 sensors and drivers on fewer pins. Best case scenario: They approve a $ 20 grant top-up for a replacement Mega so I can stay on schedule before the September 30 deadline. To keep momentum, I tested the drive motors. My CAD planned for 2 L298N s, but Gemini sayed using 1 driver and wiring motors in parallel for differential steering. I wired it, flipped the switch, and… total silence. I panicked, thinking I blew the L298N driver. Swapped to my backup still zero power. I probed the main power line: 0V . Then I checked the inline safety fuse I wired earlier. The fuse wire was completely snapped! It blew the microsecond it sensed the high amp spike from my reverse polarity mistake, saving both motor drivers from getting destroyed. Seeing a safety feature you designed actually perform its job in real-time and save hardware from your own clumsiness is an unmatched feeling. I replaced the tiny car fuse, flipped the switch, and"}, {"post_id": 68396, "ts": "2026-09-15T01:53:37Z", "hours": 4.885, "text": "Devlog #5: Funding Cleared, Amazon, and Currency stuff – From Sep 1st to Sep 15th 2026 – Today, the funding finally got approved!!!!!! I woke up to absolute green lights and the best notification ever. Naturally, within 3 hours the money completely evaporated lol 😂. But honestly, two major roadblocks popped up back to back, only for one good fate to come through and overwrite all the stress thank god. The first headache was payment processing. Future Electronics (who was supposed to be my primary supplier for the Arduino Mega and the main LiPo setup) doesn’t accept card payments. Then RAM Electronics whicj is my second biggest supplier, turned out not to accept foreign cards. Since the grant was issued as a virtual card, that meant zero local offline shops and zero local sites without online gateways. So I had to pivot entirely to uncle Amazon who is slightly more expensive for a lot of things here, so I immediately googled \"177 usd to egp\" . The conversion hit 9,158.42 EGP (which was wayyy higher than the original 8 grand budget I calculated weeks ago) i thought i’d need to cut corners but thank god the extra grand payed for the price difference! For the first time in history the EGP dip against the USD actually worked in my favor. I didn’t just cover the costs I was fully prepared to start axing components from the build, but thank God, I didn’t have to cut a single thing. After checking out every single line item the project needed, the card balance is sitting clean at exactly $0.64 USD. The order log is wild its 43 individual orders totaling 58 pieces, modules, and physical tools. Overall shipping added up to just under 5 bucks. The sheer dopamine hit of smashing that checkout button is still running high because lowkey this is officially the biggest Amazon order of my life. Deliveries start rolling in tomorrow (aka today cuz i still havent slept and its 0450am) and will keep trickling in over the next few days. We also had to make two crucial hardware adjustments on the fly The LiPo Swap: The original LiPo battery plan had to go. Future was the only local vendor stocking the specific pack, they’re notoriously hazardous to ship/store, and finding proper balance chargers online locally was an absolute dead end. We’re swapping the primary power delivery to a safer, more accessible Lithium Ion setup. Card Only Sourcing: As mentioned, because this is an international card grant, any vendor without structured online payment processing had to be swapped out of the supply chain entirely. I’m currently in the middle of rebuilding and restructuring the entire BOM to reflect the exact Amazon components, specs, and updated unit prices. I’ll push the updated BOM file directly to the GitHub repo as soon as it’s finalized. Huge thanks again to Jay @ Stardance Hardware for helping clear the administrative loops and getting the grant active! <3 Immediate Action Plan Unbox and inspect all 58 individual components upon arrival over the next few days Complete the updated BOM spreadsheet with exact Amazon item links and prices Push the updated BOM.md and CAD changes to the main GitHub repository Lay out the real-world bench assembly and start initial power testing"}, {"post_id": 59668, "ts": "2026-09-01T16:16:29Z", "hours": 7.4781, "text": "Devlog #4: Funding Loops, Licensing Hassles, and a Huge Local Win – From Jul 31st to Sep 1st 2026 – Man, August was an absolute administrative marathon. First came the banking wild goose chase. I went through the whole process of opening a brand new USD bank account in Egypt specifically to receive the project grant, only to find out right after activation that funding was being issued as a card grant anyway 🤡. Total facepalm moment, but a good reality check to stop making assumptions before jumping through hoops. To make matters more frustrating, the grant review hit a few speedbumps. Stardance flagged my initial README as AI-generated and asked me to clean it up, fix my BOM pricing into USD, link standard STEP files, and push the initial firmware to the repo. I also ended up building off an open source obstacle detection script to get the base firmware pre release ready. Between waiting on grant replies, keeping up with these repo adjustments, and dealing with some heavy life updates floating in the background, things got pretty exhausting and its been already 8 days. Luckily, the highlight of this entire month came from reaching out to VeryNile. If you don’t know them, they are a fantastic Egyptian initiative that cleans plastic waste from the Nile using local boats, pays local fishermen to collect the waste, and employs local women from Qorsaya island to upcycle that plastic into new materials. They have a CNC machine that engraves directly on their recycled plastic sheets. Since our missions align so closely on sustainability and local impact, I wanted to collaborate with them on a custom plate for EcoRover that features our logos and a “Made in Egypt” emblem and some other logos. After a couple of calls with their team, Sama from VeryNile confirmed they would engrave and donate the custom plate for free! 🎉 with that the core design, licensing (CC-BY-NC-SA 4.0 for the hardware assets via Zenodo -to get a DOI- and MIT for the code), and local partnerships are locked in. Next up: picking up the custom plate from Qorsaya and starting physical assembly!"}, {"post_id": 49363, "ts": "2026-08-18T04:20:17Z", "hours": 6.0258, "text": "Devlog #3: Pivot, Wiring Struggles, and Learning the Hard Way – From Aug 13th to Aug 18th 2026 – Alr, a lot has happened since Devlog 2! First off, I traveled back to Egypt on August 13th, and the internet here is honestly making video editing a whole mission. I was originally using Google Vids and its AI auto-trimmer to cut out silences from my documentary footage, but uploading massive video files to Drive here completely destroys the internet plan and takes forever. I tried switching over to Premiere Pro (which my laptop usually handles pretty well), but it started lagging badly and making my laptop run super hot. After wasting about 3 hours trying to get it to run smoothly with zero luck, I decided to completely pivot: I’m setting aside the documentary video for now and focusing on keeping a detailed journal.md directly in the GitHub repo instead, uploading as many progress time-lapses there as I can. On the hardware side, I started modeling the electronics in Fritzing. Even though it’s only my second time using it, the connections are insanely annoying to trace out. I’m pretty sure some of the schematic lines look wrong on paper, but I have the whole circuit clear in my mind, so I just modeled it anyway to visualize the layout. I’ll make sure everything is hooked up correctly when I actually assemble the physical board. I also finalized the Bill of Materials (BOM) and did some price comparisons across different stores. To keep things safe, I added a few crucial safety measures like an inline fuse and a rocker switch so nothing accidentally shorts out or catches fire. Speaking of not blowing things up, I reached out to a fellow engineer, Mustafa Qasid (a mechatronics engineer and currently a B1 aircraft maintenance engineer at EgyptAir), to get his feedback on my circuit setup. Huge shout out to him! He was super supportive, though he made it clear he won’t give me direct shortcuts on the electronics. He wants me to learn through trial and error, but he promised he’d step in and tell me if anything I wired is genuinely dangerous or going to go kaboom. If it’s safe, he’s letting me figure out the best way on my own, which I really respect. Next up, finishing the parts procurement and actually getting hands-on with the physical build. Thx for reading!"}, {"post_id": 36293, "ts": "2026-07-28T09:39:29Z", "hours": 8.1536, "text": "Devlog #2: The CAD Nightmare and the New Dimensions – From jul 15 to jul 23rd 2026– Alr this whole CAD thing is a total headache. When I first started, Gemini suggested a 40x30cm footprint and 60cm height. I just started drawing it and didn’t notice it was way too short, making the trash compartment totally inaccessible and the fridge way too tiny. I didn’t notice till I was already cadding. Since 30x40cm is a good footprint, I decided to keep that but when I pulled out a physical tape measure and imagined the project I found myself bending over just to reach over that height! So, I pushed it up to 90cm, which feels much better. Gemini assumed I would use heavy materials, but I’m going lightweight, so Inshallah it won’t tip over. Now the new dimensions are: Bottom tier: 10cm for the battery, motors and H bridges, and counterweights if needed. Middle tier: The fridge and logic board layer, now pushed from 35 to 45cm. Top tier: The trash compartment, changed to 35cm instead of 15cm so people can actually use it. A quick heads up if you forgot. It’s a fancy trashcan after all, it has wheels and sensors and it’s gonna be wandering around in food courts with a built-in fridge. And it’s gonna store food leftovers. That way, whenever someone needs food, they can just take it without having to ask anyone, keeping their dignity completely intact. While still serving as a trashcan with 4 holes so it can be recycled later. Back to the story XD: This was my first time ever cadding, so I drew everything in Photoshop first. Then I watched a 20 minute video and figured the rest out in Fusion 360 on my own. Fusion was pretty heavy for my laptop, so it was a nightmare when parts failed and I had to remodel them from scratch. And in the end when I was rendering it looked a bit weird but im not gonna change it cuz i’m exhausted tbh and my patience is running thin. Also during cadding, I added some access panels for maintenance and emergency latches in case god forbid we needed to kill the power. As for the video, I decided not to script it word for word anymore, so I’m just running the camera and letting it happen. Next up, I’m modeling the electronics in fritzing (which unlike fusion I know how to use) separately, updating the BOM, working on the GitHub repo, and finally editing the existing footage. Thx for reading"}, {"post_id": 28273, "ts": "2026-07-14T12:59:15Z", "hours": 2.4453, "text": "Devlog #1: Taking EcoRover Off the Slideshow – jul 12th 2026 – Let me be honest for a second. A while ago my school pressured me and my friends into entering a local hackathon. I had exactly 24 hours to brainstorm an idea, throw a team together, build a quick prototype, and set up a booth for the final judging visit. I came up with a concept called EcoBot , which was a smart, autonomous recycling bin and bread leftovers collector designed for schools. On paper it was cool but in reality? It never actually got built. It lived and died on a slideshow to check a school box. But I actually liked the concept. So for Stardance this summer I decided to bring it back and build it for real. Except this time there’s no rush, no team, and no cutting corners to pass a class. I’m going completely solo as EcoRover . A quick BG about me: I’m Mohamed Anber, an 18yo Egyptian teen who happened to join Stardance in the final year before I’m too old for it. For the last 3 years I’ve been volunteering as an EMR with the Saudi Red Crescent Authority and a Tech Dept. supervisor with the Egyptian Red Crescent. I’ve built some pretty cool projects before (u can check them out on my website btw: https://muhamedanber.space/ ) though none of them involved trying to keep bread fresh while driving a fancy motorized trash can around. We’ll try to make smth good. 🛠️ The new Blueprint & The Specs I’ve changed the idea partially. It’s still a fancy trashcan after all, but instead of going around at schools, it’s gonna be for food courts with a built-in fridge. So instead of bread remainings, it’s gonna take food leftovers and save them. That way, whenever someone needs food, they can just take it without having to ask anyone, keeping their dignity completely intact. I’m building a triple-decker chassis: Bottom tier: Handles the heavy power and movement.* Middle tier: Houses an insulated compartment kept cold by a Peltier cooling module to keep those leftovers fresh.* top tier: Handles sorting whatever thrown into to recycle later. The Tabletop MVP Specs: The Brain: Arduino Mega 2560 (absolutely need the massive amount of IO pins). The Eyes: 4x HC-SR04 Ultrasonic Sensors mapped North, South, East, and West for 360° obstacle avoidance. The Muscle: 4x DC Yellow Smart Car Motors paired with dual L298N H-Bridge drivers. I wanted to go with mecanum wheels at first but it’s gonna be too much of a hustle rn, so we’re just doing differential drive. The Fridge: Since an actual 12V mini fridge is gonna be soo heavy, expensive and just not practical, I’m using a TEC1-12706 Peltier Thermoelectric Cooler switched via a 12V Relay module. 📹 Current Status That’s pretty much everything I’ve got down so far. Plus, I’m working on a long video to document the whole journey, so I’ve already scripted and filmed the first part-ish. Thx for reading this far, more updates soon!"}]...
|
Title: EcoRover by @muhamedanber | Stardance
Devl Title: EcoRover by @muhamedanber | Stardance
Devlogs:
Devlog #1: Taking EcoRover Off the Slideshow – jul 12th 2026 – Let me be honest for a second. A while ago my school pressured me and my friends into entering a local hackathon. I had exactly 24 hours to brainstorm an idea, throw a team together, build a quick prototype, and set up a booth for the final judging visit. I came up with a concept called EcoBot , which was a smart, autonomous recycling bin and bread leftovers collector designed for schools. On paper it was cool but in reality? It never actually got built. It lived and died on a slideshow to check a school box. But I actually liked the concept. So for Stardance this summer I decided to bring it back and build it for real. Except this time there’s no rush, no team, and no cutting corners to pass a class. I’m going completely solo as EcoRover . A quick BG about me: I’m Mohamed Anber, an 18yo Egyptian teen who happened to join Stardance in the final year before I’m too old for it. For the last 3 years I’ve been volunteering as an EMR with the Saudi Red Crescent Authority and a Tech Dept. supervisor with the Egyptian Red Crescent. I’ve built some pretty cool projects before (u can check them out on my website btw: https://muhamedanber.space/ ) though none of them involved trying to keep bread fresh while driving a fancy motorized trash can around. We’ll try to make smth good. 🛠️ The new Blueprint & The Specs I’ve changed the idea partially. It’s still a fancy trashcan after all, but instead of going around at schools, it’s gonna be for food courts with a built-in fridge. So instead of bread remainings, it’s gonna take food leftovers and save them. That way, whenever someone needs food, they can just take it without having to ask anyone, keeping their dignity completely intact. I’m building a triple-decker chassis: Bottom tier: Handles the heavy power and movement.* Middle tier: Houses an insulated compartment kept cold by a Peltier cooling module to keep those leftovers fresh.* top tier: Handles sorting whatever thrown into to recycle later. The Tabletop MVP Specs: The Brain: Arduino Mega 2560 (absolutely need the massive amount of IO pins). The Eyes: 4x HC-SR04 Ultrasonic Sensors mapped North, South, East, and West for 360° obstacle avoidance. The Muscle: 4x DC Yellow Smart Car Motors paired with dual L298N H-Bridge drivers. I wanted to go with mecanum wheels at first but it’s gonna be too much of a hustle rn, so we’re just doing differential drive. The Fridge: Since an actual 12V mini fridge is gonna be soo heavy, expensive and just not practical, I’m using a TEC1-12706 Peltier Thermoelectric Cooler switched via a 12V Relay module. 📹 Current Status That’s pretty much everything I’ve got down so far. Plus, I’m working on a long video to document the whole journey, so I’ve already scripted and filmed the first part-ish. Thx for reading this far, more updates soon!
Devlog #2: The CAD Nightmare and the New Dimensions – From jul 15 to jul 23rd 2026– Alr this whole CAD thing is a total headache. When I first started, Gemini suggested a 40x30cm footprint and 60cm height. I just started drawing it and didn’t notice it was way too short, making the trash compartment totally inaccessible and the fridge way too tiny. I didn’t notice till I was already cadding. Since 30x40cm is a good footprint, I decided to keep that but when I pulled out a physical tape measure and imagined the project I found myself bending over just to reach over that height! So, I pushed it up to 90cm, which feels much better. Gemini assumed I would use heavy materials, but I’m going lightweight, so Inshallah it won’t tip over. Now the new dimensions are: Bottom tier: 10cm for the battery, motors and H bridges, and counterweights if needed. Middle tier: The fridge and logic board layer, now pushed from 35 to 45cm. Top tier: The trash compartment, changed to 35cm instead of 15cm so people can actually use it. A quick heads up if you forgot. It’s a fancy trashcan after all, it has wheels and sensors and it’s gonna be wandering around in food courts with a built-in fridge. And it’s gonna store food leftovers. That way, whenever someone needs food, they can just take it without having to ask anyone, keeping their dignity completely intact. While still serving as a trashcan with 4 holes so it can be recycled later. Back to the story XD: This was my first time ever cadding, so I drew everything in Photoshop first. Then I watched a 20 minute video and figured the rest out in Fusion 360 on my own. Fusion was pretty heavy for my laptop, so it was a nightmare when parts failed and I had to remodel them from scratch. And in the end when I was rendering it looked a bit weird but im not gonna change it cuz i’m exhausted tbh and my patience is running thin. Also during cadding, I added some access panels for maintenance and emergency latches in case god forbid we needed to kill the power. As for the video, I decided not to script it word for word anymore, so I’m just running the camera and letting it happen. Next up, I’m modeling the electronics in fritzing (which unlike fusion I know how to use) separately, updating the BOM, working on the GitHub repo, and finally editing the existing footage. Thx for reading
Devlog #3: Pivot, Wiring Struggles, and Learning the Hard Way – From Aug 13th to Aug 18th 2026 – Alr, a lot has happened since Devlog 2! First off, I traveled back to Egypt on August 13th, and the internet here is honestly making video editing a whole mission. I was originally using Google Vids and its AI auto-trimmer to cut out silences from my documentary footage, but uploading massive video files to Drive here completely destroys the internet plan and takes forever. I tried switching over to Premiere Pro (which my laptop usually handles pretty well), but it started lagging badly and making my laptop run super hot. After wasting about 3 hours trying to get it to run smoothly with zero luck, I decided to completely pivot: I’m setting aside the documentary video for now and focusing on keeping a detailed journal.md directly in the GitHub repo instead, uploading as many progress time-lapses there as I can. On the hardware side, I started modeling the electronics in Fritzing. Even though it’s only my second time using it, the connections are insanely annoying to trace out. I’m pretty sure some of the schematic lines look wrong on paper, but I have the whole circuit clear in my mind, so I just modeled it anyway to visualize the layout. I’ll make sure everything is hooked up correctly when I actually assemble the physical board. I also finalized the Bill of Materials (BOM) and did some price comparisons across different stores. To keep things safe, I added a few crucial safety measures like an inline fuse and a rocker switch so nothing accidentally shorts out or catches fire. Speaking of not blowing things up, I reached out to a fellow engineer, Mustafa Qasid (a mechatronics engineer and currently a B1 aircraft maintenance engineer at EgyptAir), to get his feedback on my circuit setup. Huge shout out to him! He was super supportive, though he made it clear he won’t give me direct shortcuts on the electronics. He wants me to learn through trial and error, but he promised he’d step in and tell me if anything I wired is genuinely dangerous or going to go kaboom. If it’s safe, he’s letting me figure out the best way on my own, which I really respect. Next up, finishing the parts procurement and actually getting hands-on with the physical build. Thx for reading!
Devlog #4: Funding Loops, Licensing Hassles, and a Huge Local Win – From Jul 31st to Sep 1st 2026 – Man, August was an absolute administrative marathon. First came the banking wild goose chase. I went through the whole process of opening a brand new USD bank account in Egypt specifically to receive the project grant, only to find out right after activation that funding was being issued as a card grant anyway 🤡. Total facepalm moment, but a good reality check to stop making assumptions before jumping through hoops. To make matters more frustrating, the grant review hit a few speedbumps. Stardance flagged my initial README as AI-generated and asked me to clean it up, fix my BOM pricing into USD, link standard STEP files, and push the initial firmware to the repo. I also ended up building off an open source obstacle detection script to get the base firmware pre release ready. Between waiting on grant replies, keeping up with these repo adjustments, and dealing with some heavy life updates floating in the background, things got pretty exhausting and its been already 8 days. Luckily, the highlight of this entire month came from reaching out to VeryNile. If you don’t know them, they are a fantastic Egyptian initiative that cleans plastic waste from the Nile using local boats, pays local fishermen to collect the waste, and employs local women from Qorsaya island to upcycle that plastic into new materials. They have a CNC machine that engraves directly on their recycled plastic sheets. Since our missions align so closely on sustainability and local impact, I wanted to collaborate with them on a custom plate for EcoRover that features our logos and a “Made in Egypt” emblem and some other logos. After a couple of calls with their team, Sama from VeryNile confirmed they would engrave and donate the custom plate for free! 🎉 with that the core design, licensing (CC-BY-NC-SA 4.0 for the hardware assets via Zenodo -to get a DOI- and MIT for the code), and local partnerships are locked in. Next up: picking up the custom plate from Qorsaya and starting physical assembly!
Devlog #5: Funding Cleared, Amazon, and Currency stuff – From Sep 1st to Sep 15th 2026 – Today, the funding finally got approved!!!!!! I woke up to absolute green lights and the best notification ever. Naturally, within 3 hours the money completely evaporated lol 😂. But honestly, two major roadblocks popped up back to back, only for one good fate to come through and overwrite all the stress thank god. The first headache was payment processing. Future Electronics (who was supposed to be my primary supplier for the Arduino Mega and the main LiPo setup) doesn’t accept card payments. Then RAM Electronics whicj is my second biggest supplier, turned out not to accept foreign cards. Since the grant was issued as a virtual card, that meant zero local offline shops and zero local sites without online gateways. So I had to pivot entirely to uncle Amazon who is slightly more expensive for a lot of things here, so I immediately googled "177 usd to egp" . The conversion hit 9,158.42 EGP (which was wayyy higher than the original 8 grand budget I calculated weeks ago) i thought i’d need to cut corners but thank god the extra grand payed for the price difference! For the first time in history the EGP dip against the USD actually worked in my favor. I didn’t just cover the costs I was fully prepared to start axing components from the build, but thank God, I didn’t have to cut a single thing. After checking out every single line item the project needed, the card balance is sitting clean at exactly $0.64 USD. The order log is wild its 43 individual orders totaling 58 pieces, modules, and physical tools. Overall shipping added up to just under 5 bucks. The sheer dopamine hit of smashing that checkout button is still running high because lowkey this is officially the biggest Amazon order of my life. Deliveries start rolling in tomorrow (aka today cuz i still havent slept and its 0450am) and will keep trickling in over the next few days. We also had to make two crucial hardware adjustments on the fly The LiPo Swap: The original LiPo battery plan had to go. Future was the only local vendor stocking the specific pack, they’re notoriously hazardous to ship/store, and finding proper balance chargers online locally was an absolute dead end. We’re swapping the primary power delivery to a safer, more accessible Lithium Ion setup. Card Only Sourcing: As mentioned, because this is an international card grant, any vendor without structured online payment processing had to be swapped out of the supply chain entirely. I’m currently in the middle of rebuilding and restructuring the entire BOM to reflect the exact Amazon components, specs, and updated unit prices. I’ll push the updated BOM file directly to the GitHub repo as soon as it’s finalized. Huge thanks again to Jay @ Stardance Hardware for helping clear the administrative loops and getting the grant active! <3 Immediate Action Plan Unbox and inspect all 58 individual components upon arrival over the next few days Complete the updated BOM spreadsheet with exact Amazon item links and prices Push the updated BOM.md and CAD changes to the main GitHub repository Lay out the real-world bench assembly and start initial power testing
Devlog #6: Unboxing, Sawdust Wars, and Smoking Arduinos – From Sep 17th to Sep 20th 2026 – The last four days have been an absolute fever dream. All 58 components finally arrived in one piece! Huge shoutout to the local sellers who threw in thank-you notes, a car freshener, and a random red Mike Wazowski figurine inside the box with the Arduino Mega . Unhinged, but cute. Naturally, right as everything landed, my body hit peak flu with brutal bone aches. But I pushed through to start assembly and prep the updated BOM. I had to cover a few out-of-pocket expenses for miscellaneous screws and hinges I forgot to calculate 🤦🏻. Also the only 3mm plywood I could source on Amazon that fit the budget came in ~30x50cm sheets, so I’m building this first physical prototype using the raw panels as is while keeping core frame dimensions intact. Later on, I decided to cut wood. Pro-tip: foldable handsaws are dangerous. I pressed the release button with my hand in the folding track. A quick flash of blood and a mini heart attack later, it stopped bleeding, thank God. Despite my clumsiness, I cut the middle layer outer shell, fridge frame, logic board mount, and lower latching mechanism. I blacked out from exhaustion right after and woke up to an immediate eviction notice from my grandma: zero woodworking in the living room. I relocated my entire workshop out to the balcony. It’s actually a great setup, plus I’ve made friends with the local balcony mouse who hangs out while I work. Despite the flu, I finished the chassis over 2 days, prepared doors/panels, and packed up the gear to move back inside. I started assembling electronics by wiring the main power rail. Within an hour, I completely scorched my soldering iron tip 🙃. Since tips are super cheap in Egypt, I’m replacing it out of pocket. My cousin set up a meeting with an electrician friend for a masterclass, but he wasn’t much help so I figured it out on my own. Health-wise, the flu is receding. Personal life is at peak chaos, but thank god we manage 🤡. Then came one of the most chaotic testing days yet. I built a 5V power distributor for the HC-SR04 sensors, routing power through the Arduino Mega’s internal regulator to get 5V . Multimeter read a clean 5.0V . Pure satisfaction. Then came the tragedy. While staring at my schematic to figure out the next step, I was holding the probe in my left hand. My hand drifted. The bare metal probe tip bridged the Arduino’s 5V pin and GND pin simultaneously. Faint click. Scent of burnt toast. I yanked the power cord instantly. Plugged back in, the board ran super hot. Multimeter showed the regulator blowing a raw 7V straight into the ATmega2560 chip. The brain of EcoRover was officially fried. I spent 20-30 minutes in full despair, but thank god, what happened happened. I reached out to the Stardance grant reviewer to explain the short circuit. Worst case: I’ll fall back to my personal non-original Arduino Uno and figure out a massive GPIO multiplexing hack to run all 8 sensors and drivers on fewer pins. Best case scenario: They approve a $ 20 grant top-up for a replacement Mega so I can stay on schedule before the September 30 deadline. To keep momentum, I tested the drive motors. My CAD planned for 2 L298N s, but Gemini sayed using 1 driver and wiring motors in parallel for differential steering. I wired it, flipped the switch, and… total silence. I panicked, thinking I blew the L298N driver. Swapped to my backup still zero power. I probed the main power line: 0V . Then I checked the inline safety fuse I wired earlier. The fuse wire was completely snapped! It blew the microsecond it sensed the high amp spike from my reverse polarity mistake, saving both motor drivers from getting destroyed. Seeing a safety feature you designed actually perform its job in real-time and save hardware from your own clumsiness is an unmatched feeling. I replaced the tiny car fuse, flipped the switch, and
Devlog #7: Pin-Pinching Hacks, Mechanical Chaos, and Big Life Updates – From Sep 21st to Sep 26th 2026 – This past week has been an absolute blur of hardware troubleshooting, unexpected setbacks, physical injuries, and huge personal milestones. After sending Jay@Stardance a video proving the Arduino Mega was officially toast ( RIP ), I jumped straight into assembling the cooling setup with the TEC1-12706 Peltier module. That thing gets insanely hot within seconds leaving me with a nice second degree burn as a souvenir. Since I still didn’t have a new tip for my soldering iron, I wired up the main rocker switch using good old Egyptian electrician techniques, twisting the bare wires around the pins in a slightly cursed knot, followed by plenty of electrical tape and heat shrink tubing. With hardware up in the air, I spent considerable time optimizing circuit logic to minimize GPIO pins so the entire project could run on a single Arduino Uno if replacement funding fell through. Bypassing the microcontroller for components that stay on continuously (like the relay) saved digital pins immediately. By tying all eight HC-SR04 ultrasonic sensor TRIG pins into a single line, the total GPIO requirement dropped down to just 13 pins, 1 shared TRIG pin + 8 individual ECHO pins 4 directional control pins for the L298N motor driver On the physical build side, I finished the insulated fridge compartment, mounted access doors, installed locking latches, and laid out the lower drive chassis. Hot glue turned out to be useless against motor torque, and the heavy lithium battery pack caused the chassis to drag, so I installed a heavy duty caster wheel underneath the frame to balance the weight. Then came the hardware headaches. The cheap 12V cooling fans turned out to be completely dead on arrival (details in the journal.md). Instead of dealing with local return hassles, I mounted them decoratively for display while keeping the working Peltier module unpowered to prevent further burns. Mid-week brought an incredible thing: I got accepted into the Faculty of Science at Cairo University! 🥳 With the Stardance deadline extended to October 31st, I took a brief breather to celebrate followed by a quick internet outage that paused video logs. so I took 2 days off Getting back to assembly, initial power tests revealed the DC motors were running way too fast. To tame the speed, I removed the jumpers on the L298N driver to enable PWM speed control, using up the absolute last 2 available GPIO pins on the Uno. I also had to rebalance the wheel alignment to expand the base area. The heavy battery was originally locking up the motors in the bottom tier, so I relocated it up to the middle tier which it’s super crowded now, but cable management kept it clean. Naturally, I managed to cut my hand on the saw again while trimming wheel clearance, but thankfully it was minor. With the chassis built and the electronics wired, the rover is practically finished. All that remains is picking up a few extra Female-Male jumper wires to mount the ultrasonic sensors on my way to college today, and EcoRover will officially be ready for initial testing. (I’m too tired to put photos, so here’s red mike wazowski again
Devlog #8: The End? – From Sep 29th to Oct 27th 2026 – MAN what a month. If I had to sum up October in a single phrase, it would be “AHHHHHHHHHHHHHHHHHHHHHHHHH” but tbh this final stretch of EcoRover has been abslute cinema. Chapter one: The Final Hustle Right after the last log i finally got back to work through the usual physical exhaustion. I managed to mount and wire all 8 HC-SR04s. Also remember in earlier devlogs when I bragged about my cable management? Yeah… throw that statement against the wall. It turned into an absolute disaster in the middle tier, but hey it connected I mounted the Uno, hooked up the H bridge and wired the power lines. Power was running straight to the uno, but the 5V rail decided to ghost me. I had to pause cuz college lectures were piling up fast and gpa protection takes top priority 🤡. Chapter two: ANYONE HELP! CU Eats Me Alive. Coming back home dead on my feet every single day with brutal headaches, bone aches, and a mountain of chemistry labs meant the progress hit a wall. By early October I was sitting four lectures behind with quizzes looming over my head. By Oct 10th, the rover was technically 97% complete. All the individual components were wired and functional, but they needed to be stacked. When I finally pushed through the sickness to assemble it, I hit a dead end The Wobble. The chassis footprint was simply too narrow for the height and total weight cuz i’ven’t followed the original dimensions in the CAD file i made and just used the size of plywood i got off of amazon. The heavy lithium battery pack in the middle tier was causing the entire frame to sway, and the housing kept snapping under its own weight. To fix it properly, I would’ve needed to either: Rebuild the entire frame with a wider footprint or Ditch the bottom tier completely and mount the drive wheels straight to the second tier. Both options required a lighter battery and time I physically didn’t have. So looking like a total biohazard 45 minutes before a lecture I shot a message straight to Jay on Slack: “The project is around 97% complete, but fixing this issue would take energy and time I honestly don’t have right now. Is it okay to ship in its current state?” A few days later, Jay replied that as long as it’s functional we are good to ship! Massive sigh of relief. Chapter three: While hardware was on pause my personal life went into overdrive in the best way possible. Out of 12000 students at the Faculty of Science@CU, I was nominated as one of 21 candidates for The Ideal Student Competition less than a month after enrolling! 🥳 During the interview, I had a long talk with Professor Maha Al-Khazindar (Vice Dean) and three other decorated professors. We talked about everything I’ve done over the last 6 years. They liked my background so much that Dr. Khazindar personally invited me to join the official university board to welcome an incoming high-level delegation from KoreaTech University !!!! Standing alongside the Dean and Vice Dean to welcome an international delegation as a freshman was completely surreal. Alhamdulillah for everything He constantly grants me. Chapter four: This is the END (Adele singing) On Oct 22nd, after college gave me a much needed breather I heard a distant screaming in the background… AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH! I FINALLY FINISHED FILMING THE VIDEO! 🎉 It might not be hollywood quality but it’s raw, real, and captures the entire chaotic journey of bringing EcoRover to life. With the repo updated, video uploaded, and the final submit button smashed… EcoRover is SHIPPED! 🥳🎉 💖 What’s Next? A massive thank u to everyone who followed this chaotic journey. Thanks stardance for giving me this crazyyy learning experince that ill remember till i die <3 For everyone reading the journal on the GitHub I love u. Until the next build, thank God for everything, and byeeeeee! 🚀✨
Ships:
What did I make? I built EcoRover, a 3 tier motorized recycling bin and food waste collector designed for food courts. The whole point of it is to wander around autonomously using an 8 sensor ultrasonic array for 360 degree obstacle avoidance, running on an Arduino and a custom differential drive setup. The bottom tier handles power and the heavy lifting, the middle tier has a Peltier cooling module acting as a built in fridge to keep food leftovers fresh so anyone in need can grab them without asking anyone (keeping their dignity completely intact), and the top tier handles trash and recycling sorting. Plus, I teamed up with VeryNile in Cairo to get a custom CNC milled recycled plastic plate made by local women on Qorsaya Island mounted right on the chassis. What was challenging? Man where do I even start? Everything from administration to pure hardware agony. First dealing with the grant and banking loops in Egypt was a total marathon that nearly drove me insane. Then came the physical building where I completely fried my first Arduino Mega because my hand slipped with the multimeter probe right between 5V and GND while testing the power distributor. I also had to adapt the whole build to whatever 3mm plywood panel sizes I could actually source locally from Amazon, which completely threw off my original CAD weight distribution. That led to a massive wobble issue at the very end because the battery was way too heavy for the narrow footprint. Balancing all of this while starting my freshman year at the Faculty of Science at Cairo University, drowning in chemistry labs and getting sick with brutal bone aching flus, and crashing 4 lectures behind schedule almost made me give up. What am I proud of? Honestly I’m just proud I didn’t quit when everything was falling apart. I taught myself how to CAD in Fusion 360 from scratch, soldered electronics, built a custom safety fuse circuit that actually saved my motor drivers from blowing up when I accidentally reversed polarity, and pushed through physical exhaustion and college stress to ship a fully functional physical robot (for someone who has 0 self control usually this is HUGEE). Also collaborating with VeryNile to incorporate real recycled plastic art made by local Egyptian women into the robot instead of just making another generic plastic toy means the world to me. What should people know so they can test my project? Since this is a physical autonomous rover built with real hardware, testing it requires a few things if you’re looking at the repo and code: The Logic board & Firmware: It runs on an Arduino Uno with a custom obstacle avoidance firmware sketch handling 8 HC-SR04 ultrasonic sensors mapped North, South, East, and West. The Power System: It uses a dual L298N driven differential steering setup powered by a heavy battery pack with an inline safety fuse and a physical master rocker switch. How to inspect it: Everything from the step files, CAD renders, wiring schematics, BOM, and firmware is fully documented in the GitHub repository. If you’re looking at the code, keep in mind I had to heavily optimize pin layouts and use multiplexing trig pin strategies to make everything fit neatly onto a standard microcontroller board without running out of GPIO pins....
|
1793238689.499001
|
1793325089.499001
|
|
34296
|
Sundial by @Ann_with_an_e | Stardance
|
Ann_with_an_e
|
1
|
33.0
|
577
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-05T15:59:25Z", "hours": 33.0, "multiplier": 14.61, "payout": 577, "blessing": "neutral", "text": "What I made -Sundial is a personal website/portfolio made to explore creative web designing. My initial inspo was a pokemon game, which is why the landing page is a choose your trainer type thing! The actual page is a room where you can move around and explore object. General Instructions -Not currently mobile friendly -While zoom is accounted for, I highly recommend keeping it at 100% only -Movement is….quirky. It’s being worked on rn, but as of now its a bit odd. It does not influence your ability to interact w/h objects so it shouldn’t impact your experience negatively! -Hover on the yellow buttons to view a description of the pop-up and click on them to actually view the pop-up. -Music, Information and the Quit on the top bar are interactive. -Its recommended to look at the README if you find yourself slightly lost What I’m proud of -I had so much fun making this. From planning this out on scraps of paper, to designing the art, to actually coding this out! It may not be very impressive or complex but I’m so so happy that I could envision something and make something as close as, if not better than my original vision. There are some design related components I wanted to include so much, but I’m slow and I want to make sure I don’t rush something that’s simply not my best! So I’ll add those in the next ship, so keep an eye out! -If there are any issues/bugs/suggestions, feel free to tell me!! I’d love to hear it. So I guess what I want to say is that I made this with tons of care at the tiniest of details, and I really hope it shows! I hope you have as much fun trying this as I had making this", "repo": "https://github.com/syntax-error4O4/Sundial", "demo": "https://syntax-error4o4.github.io/Sundial/"}]...
|
[{"post_id": 41378, "ts": "202 [{"post_id": 41378, "ts": "2026-08-05T15:37:11Z", "hours": 0.2622, "text": "This project is ready to ship! Made some very tiny adjustments while I was editing my repo. Came across a few minor issues that I fixed, like my custom pointer cursor refusing to work, the mute audio once unselected didn’t allow the music to restart, tiny things Cheers! Repo pic !"}, {"post_id": 41326, "ts": "2026-08-05T13:57:19Z", "hours": 4.2881, "text": "What I’m making Okay, you guys know the drill-Sundial is a personal website . The landing page lets you choose a sprite to carry with you to the actual page. You can move around, click on stuff and generally explore! What I added I majorly wanted to improve user experience so all updates are related to that, soo firstly, 🎼 I added sound effects when you click buttons, and background music. I also made a type of screensaver that opens up when you click on the object. Under the pop-up and the overlay some shapes float up and disappear before reaching the top! It was sooo satisfying to see it work Also added a custom cursor! Also realised I needed to actually link my other spritesheets for the boy one so did that too. I added a general info button on the top bar. I added a profile thing, updated my projects page, tweaked my contact me page’s backend a bit I also finally downloaded git! Idk how but the first time I tried using it, the code in my repo went back to the outdated version💀 💀 . Nearly gave me a heart attack. I’m a bit scared to mess my code up, so I’m going to stick to uploading files manually. I really wanted to avoid shipping this until some other stuff on the more art side of things was done with, but I’m really slow. So I’ll ship this as an initial version, and add those things once I’m satisfied. I don’t want to rush and make something that just stresses me out/am unhappy with. Cheers!"}, {"post_id": 37734, "ts": "2026-07-30T17:24:44Z", "hours": 7.1242, "text": "What I’m Making Sooo-I’m making a personal page/portfolio but slightly gamified. Choose a sprite, a name, walk around and click on stuff!! There’ll be background added music soon! Not to mention tons of art/animations because I want this to have ✨ personality✨ What’s new tho? Sooo I drew a few more objects to link pop-ups to, like a globe to show my timezone and a telephone for my contact page☎️ A tree blossoming gif I made for my contact pop-up! Code-wise, I added a typing effect for text in certain parts. The UI/UX went through major improvements, I added a hover effect. For my pop-up I added a tab where you can draw me something and email it to me! I repurposed that for the painterly app in my webos lol . Shoutout to @Alisha for being super cool and letting me use her idea for this! * Tbh I’m running into some issues with receiving the pic, but I’ll troubleshoot it tmr for sure! Currently I’m receiving only the image data….and even if I draw a single line the image data is way too large for this to work. I’m trying to research how I can convert it to a file before it gets to me! But actually fixing it is a job for tmr! I’m going to lock in and try to ship this before this week ends. Think I can do it? No? Yeah, I don’t think I’ll be able to finish it either Cheers! PS: I’m having a bit of trouble attaching the gif, so I attached my spritesheet instead!"}, {"post_id": 35064, "ts": "2026-07-26T07:49:16Z", "hours": 5.6986, "text": "What I’m making Personal website, made by someone who really wants to play a pokemon game that I used to play when I was little but can’t find now. What I did I made a new pop-up for my art!! This was for sure the hardest thing I’ve done because I had to learn abt APIs and stuff and I felt it was terribly confusing. Soo umm why did my art pop-up need APIs? I had this idea, that if sm was visiting the site, and they really liked a certain piece, they could like it! That’s why I had to learn abt APIs. Tbh I’m still confused what I’ll do when I upload it on Github, because I’m pretty sure its a Security Issue™ to just leave the info out in the open. Because this is a porfolio/ personal page I figured I’ll add a section abt education. I wanted to add some ✨ pizzaz ✨ to the pop-up!! So I drew a gif, recorded it to my lapse, and connected it to my hacktime!!!! I’m soooo happy with how it turned out!!!!! I didn’t think it would look nice, but it does! All in all, a preety good update. Cheers!"}, {"post_id": 33620, "ts": "2026-07-23T18:01:56Z", "hours": 6.8931, "text": "#What I’m making A personal website, slightly gamified! The basic premise is that you choose a sprite, a name, move around a room and interact with the objects there. Some of them are going to be purely animated stuff that I’m going to work on pretty soon!!! What I did Spent a bit of time improving the movement. Read: a lot of time. It’s a lot better now! Next I began with the interactive objects. I’m going to finish off the more code?/typing based work first before I begin with the animations for the pop-ups. I made a pop-up to show my projects! You click on the board abv the computer 💻 . I made an overview tab, a devlog tab (I just copied my devlogs on stardance) and a links tab for the readme and deployment and stuff A lot of time was spent on the css, but I’m happy with how it turned out. I might add like a bit of texture to the pop-up, maybe I’ll make a plaid background? Anyway, have a great day!!!! Check out the video if you have time :) ps-idk why my screen recording doesn’t show my sprite walking It makes me sad 😭 😭"}, {"post_id": 30079, "ts": "2026-07-17T11:41:13Z", "hours": 6.1233, "text": "What I’m making A personal website, but make it creative. Last time, I just finished the landing page, where you choose a sprite and a name! The general look I’m going for is kinda like the pixel pokemon games What I added So I began by storing the user’s name and choice of character. Then I remembered that I needed to convert my animated gifs into spritesheets. I’ve never actually made this before, else I would have just done them as I was animating I made the UI, which is a isometric room and a topbar. Then came the fun part! Making the sprite move and not bump into the furniture. This was where I jinxed myself. My room was a flat image, and individually plotting areas where the sprite couldn’t move was….hard to say the least. I created a temporary debug code using where I could adjust the points, view the coordinates in my console and copy it into my code. It worked, but only to an extent. I was three seconds away from exiling myself to yt to learn blender to make a 3d model instead. Idk how, but in some stroke of inspiration, I decided instead of marking places that weren’t walkable, I’d mark the places that actually were. Things got a lot simpler from there. I drew over the walkable areas and inserted it. I kept it transparent so the code could see it but you can’t. IT WORKED, by some grace. It isn’t perfect, but soo much better. Cheers!"}, {"post_id": 28977, "ts": "2026-07-15T16:37:40Z", "hours": 2.5619, "text": "What I’m Making I’ve been thinking about making a personal website for so long, but I simply didn’t like the idea of simply making a scrolling page with a sleek design. I think that websites can be so much more interesting than that! What I want to make is something with character and colour. Sooo here goes- I have a very distinct idea of what I want to make though I’m not sure if I can make it. But I’m going to try anyway lol. The theme is going to be pixel art!!! So today I locked in and made the landing page. I forgot to track the designing 😭😭 so this is only the coding time. The landing page has three avatars you can choose from, an info button and a keyboard for your username. All sprites are drawn and animated by me! Check out the video, I think this is coming along pretty nicely! Next devlog will be better, I’m in a rush rn . I have my physics paper tmr and I haven’t studied yet 💀"}]...
|
Title: Sundial by @Ann_with_an_e | Stardance
Devl Title: Sundial by @Ann_with_an_e | Stardance
Devlogs:
What I’m Making I’ve been thinking about making a personal website for so long, but I simply didn’t like the idea of simply making a scrolling page with a sleek design. I think that websites can be so much more interesting than that! What I want to make is something with character and colour. Sooo here goes- I have a very distinct idea of what I want to make though I’m not sure if I can make it. But I’m going to try anyway lol. The theme is going to be pixel art!!! So today I locked in and made the landing page. I forgot to track the designing 😭😭 so this is only the coding time. The landing page has three avatars you can choose from, an info button and a keyboard for your username. All sprites are drawn and animated by me! Check out the video, I think this is coming along pretty nicely! Next devlog will be better, I’m in a rush rn . I have my physics paper tmr and I haven’t studied yet 💀
What I’m making A personal website, but make it creative. Last time, I just finished the landing page, where you choose a sprite and a name! The general look I’m going for is kinda like the pixel pokemon games What I added So I began by storing the user’s name and choice of character. Then I remembered that I needed to convert my animated gifs into spritesheets. I’ve never actually made this before, else I would have just done them as I was animating I made the UI, which is a isometric room and a topbar. Then came the fun part! Making the sprite move and not bump into the furniture. This was where I jinxed myself. My room was a flat image, and individually plotting areas where the sprite couldn’t move was….hard to say the least. I created a temporary debug code using where I could adjust the points, view the coordinates in my console and copy it into my code. It worked, but only to an extent. I was three seconds away from exiling myself to yt to learn blender to make a 3d model instead. Idk how, but in some stroke of inspiration, I decided instead of marking places that weren’t walkable, I’d mark the places that actually were. Things got a lot simpler from there. I drew over the walkable areas and inserted it. I kept it transparent so the code could see it but you can’t. IT WORKED, by some grace. It isn’t perfect, but soo much better. Cheers!
#What I’m making A personal website, slightly gamified! The basic premise is that you choose a sprite, a name, move around a room and interact with the objects there. Some of them are going to be purely animated stuff that I’m going to work on pretty soon!!! What I did Spent a bit of time improving the movement. Read: a lot of time. It’s a lot better now! Next I began with the interactive objects. I’m going to finish off the more code?/typing based work first before I begin with the animations for the pop-ups. I made a pop-up to show my projects! You click on the board abv the computer 💻 . I made an overview tab, a devlog tab (I just copied my devlogs on stardance) and a links tab for the readme and deployment and stuff A lot of time was spent on the css, but I’m happy with how it turned out. I might add like a bit of texture to the pop-up, maybe I’ll make a plaid background? Anyway, have a great day!!!! Check out the video if you have time :) ps-idk why my screen recording doesn’t show my sprite walking It makes me sad 😭 😭
What I’m making Personal website, made by someone who really wants to play a pokemon game that I used to play when I was little but can’t find now. What I did I made a new pop-up for my art!! This was for sure the hardest thing I’ve done because I had to learn abt APIs and stuff and I felt it was terribly confusing. Soo umm why did my art pop-up need APIs? I had this idea, that if sm was visiting the site, and they really liked a certain piece, they could like it! That’s why I had to learn abt APIs. Tbh I’m still confused what I’ll do when I upload it on Github, because I’m pretty sure its a Security Issue™ to just leave the info out in the open. Because this is a porfolio/ personal page I figured I’ll add a section abt education. I wanted to add some ✨ pizzaz ✨ to the pop-up!! So I drew a gif, recorded it to my lapse, and connected it to my hacktime!!!! I’m soooo happy with how it turned out!!!!! I didn’t think it would look nice, but it does! All in all, a preety good update. Cheers!
What I’m Making Sooo-I’m making a personal page/portfolio but slightly gamified. Choose a sprite, a name, walk around and click on stuff!! There’ll be background added music soon! Not to mention tons of art/animations because I want this to have ✨ personality✨ What’s new tho? Sooo I drew a few more objects to link pop-ups to, like a globe to show my timezone and a telephone for my contact page☎️ A tree blossoming gif I made for my contact pop-up! Code-wise, I added a typing effect for text in certain parts. The UI/UX went through major improvements, I added a hover effect. For my pop-up I added a tab where you can draw me something and email it to me! I repurposed that for the painterly app in my webos lol . Shoutout to @Alisha for being super cool and letting me use her idea for this! * Tbh I’m running into some issues with receiving the pic, but I’ll troubleshoot it tmr for sure! Currently I’m receiving only the image data….and even if I draw a single line the image data is way too large for this to work. I’m trying to research how I can convert it to a file before it gets to me! But actually fixing it is a job for tmr! I’m going to lock in and try to ship this before this week ends. Think I can do it? No? Yeah, I don’t think I’ll be able to finish it either Cheers! PS: I’m having a bit of trouble attaching the gif, so I attached my spritesheet instead!
What I’m making Okay, you guys know the drill-Sundial is a personal website . The landing page lets you choose a sprite to carry with you to the actual page. You can move around, click on stuff and generally explore! What I added I majorly wanted to improve user experience so all updates are related to that, soo firstly, 🎼 I added sound effects when you click buttons, and background music. I also made a type of screensaver that opens up when you click on the object. Under the pop-up and the overlay some shapes float up and disappear before reaching the top! It was sooo satisfying to see it work Also added a custom cursor! Also realised I needed to actually link my other spritesheets for the boy one so did that too. I added a general info button on the top bar. I added a profile thing, updated my projects page, tweaked my contact me page’s backend a bit I also finally downloaded git! Idk how but the first time I tried using it, the code in my repo went back to the outdated version💀 💀 . Nearly gave me a heart attack. I’m a bit scared to mess my code up, so I’m going to stick to uploading files manually. I really wanted to avoid shipping this until some other stuff on the more art side of things was done with, but I’m really slow. So I’ll ship this as an initial version, and add those things once I’m satisfied. I don’t want to rush and make something that just stresses me out/am unhappy with. Cheers!
This project is ready to ship! Made some very tiny adjustments while I was editing my repo. Came across a few minor issues that I fixed, like my custom pointer cursor refusing to work, the mute audio once unselected didn’t allow the music to restart, tiny things Cheers! Repo pic !
Ships:
What I made -Sundial is a personal website/portfolio made to explore creative web designing. My initial inspo was a pokemon game, which is why the landing page is a choose your trainer type thing! The actual page is a room where you can move around and explore object. General Instructions -Not currently mobile friendly -While zoom is accounted for, I highly recommend keeping it at 100% only -Movement is….quirky. It’s being worked on rn, but as of now its a bit odd. It does not influence your ability to interact w/h objects so it shouldn’t impact your experience negatively! -Hover on the yellow buttons to view a description of the pop-up and click on them to actually view the pop-up. -Music, Information and the Quit on the top bar are interactive. -Its recommended to look at the README if you find yourself slightly lost What I’m proud of -I had so much fun making this. From planning this out on scraps of paper, to designing the art, to actually coding this out! It may not be very impressive or complex but I’m so so happy that I could envision something and make something as close as, if not better than my original vision. There are some design related components I wanted to include so much, but I’m slow and I want to make sure I don’t rush something that’s simply not my best! So I’ll add those in the next ship, so keep an eye out! -If there are any issues/bugs/suggestions, feel free to tell me!! I’d love to hear it. So I guess what I want to say is that I made this with tons of care at the tiniest of details, and I really hope it shows! I hope you have as much fun trying this as I had making this...
|
1793137853.1989152
|
1793224253.1989152
|
|
36393
|
internet archive DS by @mikhailnotfish | Stardance
|
mikhailnotfish
|
1
|
33.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-08T23:53:42Z", "hours": 33.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "internetarchiveDS has been completed! i have changed the UI, made a 754 page long essay of a readME, and made a very detailed instruction manual of how to download and setup the program (it isnt plug and play) a suppose there isnt very much else to do now, i hope you have a nintendo DS! or you’ll have to download a video, as proof that it works. (sorry its big i tried to compress it)", "repo": "https://github.com/mikhailnotfish/InternetArchiveDS", "demo": "https://github.com/mikhailnotfish/proof-it-works/releases/tag/v1.0"}]...
|
[{"post_id": 75853, "ts": "202 [{"post_id": 75853, "ts": "2026-10-01T10:49:13Z", "hours": 5.4669, "text": "LADIES AND GENTLEMEN i am very happy to announce that, INTERNETARCHIVEDS IS ALMOST FINISHED!!!! in the previous devlog, i was facing a guru meditation error. i figured out that it was because i misspelt “ITCM” as “ITC” and therefore the whole video parser didnt load. one letter. i know. now, i have had about a thousand different issues with macroblock alignment, and finally figured out the issue- the AUDIO. i know, the audion has nothing to do with the video, but it ACTUALLY DOES! you see, the audio is loaded in before every frame… and the way gericom did it worked for itag7, but doesnt work for any other mpeg4 version. that audio placement, sets the macroblock back by one frame every time, corrupting the video. but now, i put a filter into the php server to only search for videos 20MiB and under, so that they play fast fast. now that the whole pull echo flush system works, all i need to do is remove the debug code, (it takes forever) change the ui, and picture for the top screen, and internetarchiveDS will be ready for you to use!!! if you have a ds of course. also i encoded a video to test on it, here it is for you guys to see!"}, {"post_id": 67193, "ts": "2026-09-13T07:56:08Z", "hours": 5.2714, "text": "as stardance begins to come to an end, the time crunch begins to get more serious. in these past 5 hours, i have gotten search to work perfectly, and ran into a guru meditation error, with some very strange hexadecimal values. for example the first 3 rows are all 00000000 and address and pc are both 00000030. things like r8 are ffffffff, and the stackdump is very unusual. there is a photo for you to see the stackdump for yourself. so far im still trying to get the vidfeo to play, i havent even started on the json parser yet! im using a pre- encoded video! anyway stay tuned to see if my 10 day holiday lock in will let me finish this project, and obtain the ultimate prize from the shop."}, {"post_id": 52184, "ts": "2026-08-22T08:41:22Z", "hours": 6.9197, "text": "ladies and gentlemen DO I HAVE A STORY TO TELL! i know, its been 20 days scince my last devlog… but ive made some uncomprehendable progress on the project. in these 7 hours, i have managed to get the proxy server to work with the archive, ive managed to get the dsi to not guru meditate, and actually connect to the wifi using the old wpa wifi protocol! that was the problem with the library im using, DSWIFI. the ersion of dswifi im using, is an old one, from 10 years ago. back befre the 2.0 update when they added calcio. back then dswifi didnt hav support for anything other that wpa, no wap, 1,2,3 nothing. after that, i actally managed to get working search results! i hosted the php proxy using msys bash, whatever works i guess, and the dsi is now recieving and transmitting requests and data through the proxy to the internetarchive. but my next bottleneck! back ten years ago, you tube was really weak, primitive, low quality. and even then, the dsi had do you every last rescource on te lowest data type, ITAG 7, to be able to run. but the project extracts RAW JSON METADATA, which as you know can be really bulky. so my next move will be to make a filter for my php server, to only show results under a certain size, so the json metadata will be processable."}, {"post_id": 39326, "ts": "2026-08-02T07:25:10Z", "hours": 1.6669, "text": "today I spent a lot of time investigating the original YouTubeDS ROM to figure out what is missing and why my rebuilt version does not perfectly match the original.The good news: I was able to confirm that the ROM filesystem is not the issue. Using Tinke and ndstool, I extracted both the original ROM and my rebuilt ROM, then compared all of the files inside them. The fonts, keyboard assets, menus, logos, and other resources are identical.This means the problem is somewhere deeper: inside the compiled ARM9 binary.The original YouTubeDS ARM9 is around 447KB, while my rebuilt version is around 335KB. That missing size is not from assets or files — it is from the compiled code itself. Right now I do not know exactly what is different between the two builds, and without more information it is difficult to recreate the original binary.I have also been looking through the source code, build files, and compiler output to find possible causes, but the remaining possibilities are things like different compiler settings, missing build steps, or code that was present in Gericom’s original environment but is not available anymore.At this point, the biggest step forward is waiting for a response from Gericom. Since he created YouTubeDS originally, he may be able to provide information about the original build environment, missing files, or how the original ROM was produced.Until then, there is not much more I can safely change without risking moving further away from the original. The current goal is still to preserve YouTubeDS and make it usable again for InternetArchiveDS, since the original YouTube API it depended on shut down years ago.For now, the investigation continues — but we have narrowed the problem down from “the whole ROM is different” to “the compiled ARM9 does not match the original.”"}, {"post_id": 36940, "ts": "2026-07-29T10:55:05Z", "hours": 6.9997, "text": "Today I did something I genuinely did not think I would be able to do.I revived an old Nintendo DS homebrew project.The goal was not to remake YouTubeDS, but to bring the original project back to life so it could be preserved and used as inspiration for future projects like InternetArchiveDS. The journey was much harder than I expected.At the start, I had a folder full of old source code, but the world it was built for was mostly gone. Libraries were missing, build files were outdated, and the project depended on old versions of tools that were no longer set up correctly. I spent hours digging through Makefiles, finding missing dependencies, rebuilding libraries manually, and trying to understand how everything connected.There were so many moments where it felt like I was one error away from giving up. I had to rebuild parts of the devkit environment, compile libraries like libfat again, fix linker issues, repair paths, and figure out why the final ROM packaging step kept failing.The most frustrating part was that the code itself was fine. The challenge was rebuilding the entire devkitpro system around it.After around 14 hours of debugging, something incredible happened.The build finally completed.I copied the ROM onto my DSi, launched it, and saw it load exactly like the original compiled version. No extra steps, no broken menus, no weird crashes. It was the exact moment where every tiny fix, every error message, and every hour of searching suddenly became worth it.Seeing old code from years ago come alive again on real hardware was an amazing feeling. This project reminded me why I love programming: sometimes the biggest victories come from solving problems nobody else sees."}, {"post_id": 34435, "ts": "2026-07-25T04:39:23Z", "hours": 4.2336, "text": "Today I spent my time trying to bring YouTubeDS, an open-source Nintendo DS homebrew application created by Gericom, back to life. While I expected to spend most of the session coding, nearly all of my progress came from reverse engineering and troubleshooting an outdated development environment. I tracked down missing source files, resolved linker errors caused by an absent API key, and compared my rebuilt binaries against the original ROM to understand why they behaved differently.After digging through Makefiles, compiler output, map files, and the generated ROM headers, I discovered that the project was originally built using an older version of devkitPro and libnds. Modern releases automatically link against the newer Calico runtime, producing binaries that differ significantly from the original build and refuse to run correctly. I experimented with build flags, linker specifications, and library configurations before confirming that the real solution is recreating the original toolchain rather than patching the project itself.Although I haven’t produced a working ROM just yet, I now understand exactly why the project fails on modern tools. The next step is installing an older version of the Nintendo DS development environment so the application can be rebuilt as it was originally intended. Even though this was a debugging-heavy session, I made meaningful progress toward preserving and reviving an abandoned piece of Nintendo DS homebrew."}, {"post_id": 30608, "ts": "2026-07-18T10:06:51Z", "hours": 2.7964, "text": "TODAY: i tried to compile my 10 year old software, debug some binary, download gh repositories, TRY FOR ONE BLOODY HOUR TO FIGURE OUT WHY IT WOULDNT COMPILE figured out why it wouldnt compile, realize that linux is too hard, and fell asleep. then i decideed i would try again, debugged some code, and found that it wouldnt compile because it thought somthing didnt exist. im going to try to fix it, if anyone knows linux mesage me pleease"}]...
|
Title: internet archive DS by @mikhailnotfish | St Title: internet archive DS by @mikhailnotfish | Stardance
Devlogs:
TODAY: i tried to compile my 10 year old software, debug some binary, download gh repositories, TRY FOR ONE BLOODY HOUR TO FIGURE OUT WHY IT WOULDNT COMPILE figured out why it wouldnt compile, realize that linux is too hard, and fell asleep. then i decideed i would try again, debugged some code, and found that it wouldnt compile because it thought somthing didnt exist. im going to try to fix it, if anyone knows linux mesage me pleease
Today I spent my time trying to bring YouTubeDS, an open-source Nintendo DS homebrew application created by Gericom, back to life. While I expected to spend most of the session coding, nearly all of my progress came from reverse engineering and troubleshooting an outdated development environment. I tracked down missing source files, resolved linker errors caused by an absent API key, and compared my rebuilt binaries against the original ROM to understand why they behaved differently.After digging through Makefiles, compiler output, map files, and the generated ROM headers, I discovered that the project was originally built using an older version of devkitPro and libnds. Modern releases automatically link against the newer Calico runtime, producing binaries that differ significantly from the original build and refuse to run correctly. I experimented with build flags, linker specifications, and library configurations before confirming that the real solution is recreating the original toolchain rather than patching the project itself.Although I haven’t produced a working ROM just yet, I now understand exactly why the project fails on modern tools. The next step is installing an older version of the Nintendo DS development environment so the application can be rebuilt as it was originally intended. Even though this was a debugging-heavy session, I made meaningful progress toward preserving and reviving an abandoned piece of Nintendo DS homebrew.
Today I did something I genuinely did not think I would be able to do.I revived an old Nintendo DS homebrew project.The goal was not to remake YouTubeDS, but to bring the original project back to life so it could be preserved and used as inspiration for future projects like InternetArchiveDS. The journey was much harder than I expected.At the start, I had a folder full of old source code, but the world it was built for was mostly gone. Libraries were missing, build files were outdated, and the project depended on old versions of tools that were no longer set up correctly. I spent hours digging through Makefiles, finding missing dependencies, rebuilding libraries manually, and trying to understand how everything connected.There were so many moments where it felt like I was one error away from giving up. I had to rebuild parts of the devkit environment, compile libraries like libfat again, fix linker issues, repair paths, and figure out why the final ROM packaging step kept failing.The most frustrating part was that the code itself was fine. The challenge was rebuilding the entire devkitpro system around it.After around 14 hours of debugging, something incredible happened.The build finally completed.I copied the ROM onto my DSi, launched it, and saw it load exactly like the original compiled version. No extra steps, no broken menus, no weird crashes. It was the exact moment where every tiny fix, every error message, and every hour of searching suddenly became worth it.Seeing old code from years ago come alive again on real hardware was an amazing feeling. This project reminded me why I love programming: sometimes the biggest victories come from solving problems nobody else sees.
today I spent a lot of time investigating the original YouTubeDS ROM to figure out what is missing and why my rebuilt version does not perfectly match the original.The good news: I was able to confirm that the ROM filesystem is not the issue. Using Tinke and ndstool, I extracted both the original ROM and my rebuilt ROM, then compared all of the files inside them. The fonts, keyboard assets, menus, logos, and other resources are identical.This means the problem is somewhere deeper: inside the compiled ARM9 binary.The original YouTubeDS ARM9 is around 447KB, while my rebuilt version is around 335KB. That missing size is not from assets or files — it is from the compiled code itself. Right now I do not know exactly what is different between the two builds, and without more information it is difficult to recreate the original binary.I have also been looking through the source code, build files, and compiler output to find possible causes, but the remaining possibilities are things like different compiler settings, missing build steps, or code that was present in Gericom’s original environment but is not available anymore.At this point, the biggest step forward is waiting for a response from Gericom. Since he created YouTubeDS originally, he may be able to provide information about the original build environment, missing files, or how the original ROM was produced.Until then, there is not much more I can safely change without risking moving further away from the original. The current goal is still to preserve YouTubeDS and make it usable again for InternetArchiveDS, since the original YouTube API it depended on shut down years ago.For now, the investigation continues — but we have narrowed the problem down from “the whole ROM is different” to “the compiled ARM9 does not match the original.”
ladies and gentlemen DO I HAVE A STORY TO TELL! i know, its been 20 days scince my last devlog… but ive made some uncomprehendable progress on the project. in these 7 hours, i have managed to get the proxy server to work with the archive, ive managed to get the dsi to not guru meditate, and actually connect to the wifi using the old wpa wifi protocol! that was the problem with the library im using, DSWIFI. the ersion of dswifi im using, is an old one, from 10 years ago. back befre the 2.0 update when they added calcio. back then dswifi didnt hav support for anything other that wpa, no wap, 1,2,3 nothing. after that, i actally managed to get working search results! i hosted the php proxy using msys bash, whatever works i guess, and the dsi is now recieving and transmitting requests and data through the proxy to the internetarchive. but my next bottleneck! back ten years ago, you tube was really weak, primitive, low quality. and even then, the dsi had do you every last rescource on te lowest data type, ITAG 7, to be able to run. but the project extracts RAW JSON METADATA, which as you know can be really bulky. so my next move will be to make a filter for my php server, to only show results under a certain size, so the json metadata will be processable.
as stardance begins to come to an end, the time crunch begins to get more serious. in these past 5 hours, i have gotten search to work perfectly, and ran into a guru meditation error, with some very strange hexadecimal values. for example the first 3 rows are all 00000000 and address and pc are both 00000030. things like r8 are ffffffff, and the stackdump is very unusual. there is a photo for you to see the stackdump for yourself. so far im still trying to get the vidfeo to play, i havent even started on the json parser yet! im using a pre- encoded video! anyway stay tuned to see if my 10 day holiday lock in will let me finish this project, and obtain the ultimate prize from the shop.
LADIES AND GENTLEMEN i am very happy to announce that, INTERNETARCHIVEDS IS ALMOST FINISHED!!!! in the previous devlog, i was facing a guru meditation error. i figured out that it was because i misspelt “ITCM” as “ITC” and therefore the whole video parser didnt load. one letter. i know. now, i have had about a thousand different issues with macroblock alignment, and finally figured out the issue- the AUDIO. i know, the audion has nothing to do with the video, but it ACTUALLY DOES! you see, the audio is loaded in before every frame… and the way gericom did it worked for itag7, but doesnt work for any other mpeg4 version. that audio placement, sets the macroblock back by one frame every time, corrupting the video. but now, i put a filter into the php server to only search for videos 20MiB and under, so that they play fast fast. now that the whole pull echo flush system works, all i need to do is remove the debug code, (it takes forever) change the ui, and picture for the top screen, and internetarchiveDS will be ready for you to use!!! if you have a ds of course. also i encoded a video to test on it, here it is for you guys to see!
Ships:
internetarchiveDS has been completed! i have changed the UI, made a 754 page long essay of a readME, and made a very detailed instruction manual of how to download and setup the program (it isnt plug and play) a suppose there isnt very much else to do now, i hope you have a nintendo DS! or you’ll have to download a video, as proof that it works. (sorry its big i tried to compress it)...
|
1793148496.7354887
|
1793234896.7354887
|
|
37496
|
Playground OS by @Mathias_S | Stardance
|
Mathias_S
|
1
|
33.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-25T19:21:59Z", "hours": 33.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Shipped Playground OS! It’s now live on Vercel with a working desktop, draggable windows, File Explorer, Notes, Terminal, Settings, themes, wallpapers, and persistent local storage. There are still more features and fixes planned, but the public version is now ready to try", "repo": "https://github.com/Mathias-Simonsen/Playground-OS", "demo": "https://playground-os-mu.vercel.app/"}]...
|
[{"post_id": 34583, "ts": "202 [{"post_id": 34583, "ts": "2026-07-25T13:06:58Z", "hours": 3.6303, "text": "Fixed an issue in the File Explorer that prevented users from navigating to different locations or opening folders.I also improved the Notes app with several new features: users can now import notes from .json or .txt files, undo and redo changes, save notes directly in the File Explorer, pin important notes, search through notes, view version history, and have changes saved automatically in real time.I also added functionality to the sound button, allowing users to adjust the volume percentage, although no sounds are currently available. Notifications have been added as well."}, {"post_id": 34398, "ts": "2026-07-25T02:35:34Z", "hours": 3.7414, "text": "Login screen done + pfp and a somewhat working file explorer, will fix next update and will add a clock app + calender app"}, {"post_id": 33816, "ts": "2026-07-24T01:48:44Z", "hours": 1.2144, "text": "Mini devlog: I added the ability to change your username and other account details. The change profile picture button is currently just a placeholder, and profile pictures only display the first letter of your username. I’ll add proper profile picture support soon + a lock screen!"}, {"post_id": 33786, "ts": "2026-07-23T23:58:54Z", "hours": 2.7703, "text": "Added Settings app, added Dark mode and Graphite mode, allowed changing of the theme throug the settings app, added 2 backgrounds, resizeable windows, scaling and fixed optimised it a little Next update will hopefully feature a: Login screen + user auth system Working trashcan File explorer feature allowing the dragging apps from file explorer to desktop + them + movable apps in the desktop"}, {"post_id": 33549, "ts": "2026-07-23T16:14:19Z", "hours": 1.8833, "text": "Terminal has been added, time to focus on dark mode"}, {"post_id": 33444, "ts": "2026-07-23T12:25:39Z", "hours": 19.7653, "text": "Finally!!!!!!!!!!!!, after debugging a bunch of errors and creating the UI, I now have a somewhat working version! It still has quite a few bugs, and the terminal is currently only a placeholder, but the project is finally starting to look and feel like a real operating system. Next, I’m planning to add a fully working terminal, a file explorer, a settings app, a system information app, draggable apps, resizable windows, icon scaling ( it looks small on my current monitor ) and a functional clock. I also want to improve the overall performance, add animations and polish them, fix the remaining UI issues. There is still a lot of work left, but I’m really happy with how it looks so far and excited to continue developing it. If you have any ideas, feature suggestions, or feedback, feel free to let me know! :)"}]...
|
Title: Playground OS by @Mathias_S | Stardance
De Title: Playground OS by @Mathias_S | Stardance
Devlogs:
Finally!!!!!!!!!!!!, after debugging a bunch of errors and creating the UI, I now have a somewhat working version! It still has quite a few bugs, and the terminal is currently only a placeholder, but the project is finally starting to look and feel like a real operating system. Next, I’m planning to add a fully working terminal, a file explorer, a settings app, a system information app, draggable apps, resizable windows, icon scaling ( it looks small on my current monitor ) and a functional clock. I also want to improve the overall performance, add animations and polish them, fix the remaining UI issues. There is still a lot of work left, but I’m really happy with how it looks so far and excited to continue developing it. If you have any ideas, feature suggestions, or feedback, feel free to let me know! :)
Terminal has been added, time to focus on dark mode
Added Settings app, added Dark mode and Graphite mode, allowed changing of the theme throug the settings app, added 2 backgrounds, resizeable windows, scaling and fixed optimised it a little Next update will hopefully feature a: Login screen + user auth system Working trashcan File explorer feature allowing the dragging apps from file explorer to desktop + them + movable apps in the desktop
Mini devlog: I added the ability to change your username and other account details. The change profile picture button is currently just a placeholder, and profile pictures only display the first letter of your username. I’ll add proper profile picture support soon + a lock screen!
Login screen done + pfp and a somewhat working file explorer, will fix next update and will add a clock app + calender app
Fixed an issue in the File Explorer that prevented users from navigating to different locations or opening folders.I also improved the Notes app with several new features: users can now import notes from .json or .txt files, undo and redo changes, save notes directly in the File Explorer, pin important notes, search through notes, view version history, and have changes saved automatically in real time.I also added functionality to the sound button, allowing users to adjust the volume percentage, although no sounds are currently available. Notifications have been added as well.
Ships:
Shipped Playground OS! It’s now live on Vercel with a working desktop, draggable windows, File Explorer, Notes, Terminal, Settings, themes, wallpapers, and persistent local storage. There are still more features and fixes planned, but the public version is now ready to try...
|
1792878609.6716976
|
1793742609.6716976
|
|
38723
|
Minimalisticastrobot by @Phonemi | Stardance
|
Phonemi
|
2
|
33.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-17T13:34:45Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Minimalisticastrobot [+_+] so this is my slack bot it is a nerdy bot that gives you a lot of information you can look it up using /minimalastro-help or look in the Readme but here are all the comands for you lazy people /minimalastro-ping - Check bot latency /minimalastro-help - Show this list /minimalastro-fact - Random physics or astronomy fact /minimalastro-apod [date] - NASA Astronomy Picture of the Day (optional YYYY-MM-DD) /minimalastro-pi [digits] - Pi to N decimal places (max 1000) /minimalastro-planet [name] - Stats and image for a planet /minimalastro-element [symbol] - Periodic table info with a Bohr diagram /minimalastro-iss - Where the ISS is right now /minimalastro-people - Who is currently in space /minimalastro-place [location] - Weather, time, map and facts for any place /minimalastro-moon - Current moon phase and illumination /minimalastro-neo - Near-Earth asteroids passing today /minimalastro-convert [value] [unit] - Convert astronomical distances (km, au, ly, pc, ld, ls) /minimalastro-launches - Upcoming rocket launches /minimalastro-spacex - Upcoming SpaceX launches /minimalastro-rovers [name] - Rovers currently off Earth, plus live Mars photos /minimalastro-arti [question] - Ask Arti (Gemini), the nerdy science AI /minimalastro-astra [question] - Ask ASTRA, the backup science AI /minimalastro-ai [question] - Ask the AI (uses Arti, falls back to ASTRA) info often it needs a bit time and you will get a notification from the slack bot htat it didnt work most times thats wrong it just needs some time and the /minimalastro-arti is not working very often because gemini has issues its not my error they sent me a 503 error", "repo": "https://github.com/Phonokles/astroslackbot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0BRV31L5DH"}, {"ship_num": 2, "ts": "2026-07-24T15:51:37Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "MinimalisticAstroBot[+_+] i made a astro bot that gives ou mostl facts about the univers and physics it works 24/7 all commands: /minimalastro-ping - Check bot latency /minimalastro-fact - Random physics or astronomy fact /minimalastro-apod - NASA Astronomy Picture of the Day /minimalastro-pi [digits] - Pi to N decimal places (max 1000) /minimalastro-planet [name] - Stats for a planet /minimalastro-element [symbol] - Periodic table info /minimalastro-help - ouputs all comands hope you like it", "repo": "https://github.com/Phonokles/astroslackbot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0BRV31L5DH"}]...
|
[{"post_id": 48758, "ts": "202 [{"post_id": 48758, "ts": "2026-08-17T09:08:40Z", "hours": 6.5908, "text": "3 new ai commands [+_+] so now you can ask ai through my slack bot and for that there are 3 commands /minimalastro-arti so you can chat with my gemini but it doas not always work because of 503 errors also limited request for 2 a day per user /minimalastro-ai chooses automaticly between astra and arti if arti cant answer< /minimalastro-astra you can chat with hacklcubs ai astra Info the gemini model is gemini-2.5-flash-lite hope you like it[-_-]"}, {"post_id": 47978, "ts": "2026-08-16T08:01:13Z", "hours": 10.8361, "text": "4 new astro comands[+_+] first there is /minimalastro-rovers (you get a list with all tovers which are not in earth +info) /minimalastro-launches (you get the 5 next launches + info) /minimalastro-spacex (samr as launches but filtered space x) and /minimalastro-convert you take a messurement and it converts it you can take m km ly lunar distances etc sry that i took so long had some blackouts idk hope you like it[-_-]"}, {"post_id": 46210, "ts": "2026-08-13T08:50:12Z", "hours": 5.6192, "text": "design changes + 2 new commands [+_+] so i added images to every element and to the planets that will show up on the comands and there are 2 more comands if you tipe /minimalastro-moon it will show up info to the moon and the current moon phase /minimalastro-neo shows all astoroids next to earth today and how dangures they are and i started stying the radio button hope you like it[-_-]"}, {"post_id": 45292, "ts": "2026-08-11T17:34:19Z", "hours": 6.7936, "text": "new cool comands[+_+] so i added new comands to my slack bot: /minimalastro-iss(position of the iss) /minimalastro-people(shows all people who are curently in space) /minimalastro-place [city country or the postal code] (you get a lot of infos about the place weather, temparature, wind,Precipitation,local-time,Humidity,Coordinates,Antipode,Elevation, a picture of the map of the place and the radio that is played ther curently) hope you like it[-_-]"}, {"post_id": 33981, "ts": "2026-07-24T11:12:10Z", "hours": 1.6686, "text": "i added 3 new commands[+_+] there is /minimalastro-pi(then how many didgets you want) /minimalastro-element (Element) gives you all information about the element and /minimalastro-planet(planet only in solar system) you get all information about the planet hope you like it[-_-]"}, {"post_id": 33639, "ts": "2026-07-23T18:31:14Z", "hours": 1.0281, "text": "first devblog on slackbot[+_+] so i am making a astro bot that give you sientific info etc there are 4 comands righ now ping, apod, fact and help i think all are realy selph explaining if not loog at the piture hope you like it[-_-]"}]...
|
Title: Minimalisticastrobot by @Phonemi | Stardanc Title: Minimalisticastrobot by @Phonemi | Stardance
Devlogs:
first devblog on slackbot[+_+] so i am making a astro bot that give you sientific info etc there are 4 comands righ now ping, apod, fact and help i think all are realy selph explaining if not loog at the piture hope you like it[-_-]
i added 3 new commands[+_+] there is /minimalastro-pi(then how many didgets you want) /minimalastro-element (Element) gives you all information about the element and /minimalastro-planet(planet only in solar system) you get all information about the planet hope you like it[-_-]
new cool comands[+_+] so i added new comands to my slack bot: /minimalastro-iss(position of the iss) /minimalastro-people(shows all people who are curently in space) /minimalastro-place [city country or the postal code] (you get a lot of infos about the place weather, temparature, wind,Precipitation,local-time,Humidity,Coordinates,Antipode,Elevation, a picture of the map of the place and the radio that is played ther curently) hope you like it[-_-]
design changes + 2 new commands [+_+] so i added images to every element and to the planets that will show up on the comands and there are 2 more comands if you tipe /minimalastro-moon it will show up info to the moon and the current moon phase /minimalastro-neo shows all astoroids next to earth today and how dangures they are and i started stying the radio button hope you like it[-_-]
4 new astro comands[+_+] first there is /minimalastro-rovers (you get a list with all tovers which are not in earth +info) /minimalastro-launches (you get the 5 next launches + info) /minimalastro-spacex (samr as launches but filtered space x) and /minimalastro-convert you take a messurement and it converts it you can take m km ly lunar distances etc sry that i took so long had some blackouts idk hope you like it[-_-]
3 new ai commands [+_+] so now you can ask ai through my slack bot and for that there are 3 commands /minimalastro-arti so you can chat with my gemini but it doas not always work because of 503 errors also limited request for 2 a day per user /minimalastro-ai chooses automaticly between astra and arti if arti cant answer< /minimalastro-astra you can chat with hacklcubs ai astra Info the gemini model is gemini-2.5-flash-lite hope you like it[-_-]
Ships:
MinimalisticAstroBot[+_+] i made a astro bot that gives ou mostl facts about the univers and physics it works 24/7 all commands: /minimalastro-ping - Check bot latency /minimalastro-fact - Random physics or astronomy fact /minimalastro-apod - NASA Astronomy Picture of the Day /minimalastro-pi [digits] - Pi to N decimal places (max 1000) /minimalastro-planet [name] - Stats for a planet /minimalastro-element [symbol] - Periodic table info /minimalastro-help - ouputs all comands hope you like it
Minimalisticastrobot [+_+] so this is my slack bot it is a nerdy bot that gives you a lot of information you can look it up using /minimalastro-help or look in the Readme but here are all the comands for you lazy people /minimalastro-ping - Check bot latency /minimalastro-help - Show this list /minimalastro-fact - Random physics or astronomy fact /minimalastro-apod [date] - NASA Astronomy Picture of the Day (optional YYYY-MM-DD) /minimalastro-pi [digits] - Pi to N decimal places (max 1000) /minimalastro-planet [name] - Stats and image for a planet /minimalastro-element [symbol] - Periodic table info with a Bohr diagram /minimalastro-iss - Where the ISS is right now /minimalastro-people - Who is currently in space /minimalastro-place [location] - Weather, time, map and facts for any place /minimalastro-moon - Current moon phase and illumination /minimalastro-neo - Near-Earth asteroids passing today /minimalastro-convert [value] [unit] - Convert astronomical distances (km, au, ly, pc, ld, ls) /minimalastro-launches - Upcoming rocket launches /minimalastro-spacex - Upcoming SpaceX launches /minimalastro-rovers [name] - Rovers currently off Earth, plus live Mars photos /minimalastro-arti [question] - Ask Arti (Gemini), the nerdy science AI /minimalastro-astra [question] - Ask ASTRA, the backup science AI /minimalastro-ai [question] - Ask the AI (uses Arti, falls back to ASTRA) info often it needs a bit time and you will get a notification from the slack bot htat it didnt work most times thats wrong it just needs some time and the /minimalastro-arti is not working very often because gemini has issues its not my error they sent me a 503 error...
|
1792878773.9890313
|
1793742773.9890313
|
|
43437
|
Ball by @cziwu2010 | Stardance
|
cziwu2010
|
1
|
33.0
|
190
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T15:56:17Z", "hours": 33.0, "multiplier": 5.53, "payout": 190, "blessing": "neutral", "text": "A website with an interactable pixelated ball that has physics based mechanics and glitch effects. Click to spawn the ball. Drag it to throw it around. Double click to glitch the ball. It’s my first JS project involving animating and drawing in JS. It’s also technically my first physics based project as it involves shading, ball gravity and velocity so yeah. I’m looking forward to improve on the glitch effects and add more functionality to the ball along with its environment.", "repo": "https://github.com/cziwu12/Ball", "demo": "https://ball-e9il.vercel.app/"}]...
|
[{"post_id": 54541, "ts": "202 [{"post_id": 54541, "ts": "2026-08-25T15:51:05Z", "hours": 5.7283, "text": "V1 done!"}, {"post_id": 47550, "ts": "2026-08-15T15:01:42Z", "hours": 7.3308, "text": "effects"}, {"post_id": 44527, "ts": "2026-08-10T10:52:59Z", "hours": 2.8386, "text": "Added velocity to the ball"}, {"post_id": 41777, "ts": "2026-08-06T05:29:06Z", "hours": 2.7181, "text": "Progress (added shading, gravity and dragging ball)"}, {"post_id": 40125, "ts": "2026-08-03T14:56:54Z", "hours": 14.6608, "text": "A site with a ball, a simple ball (well at leat currently)"}]...
|
Title: Ball by @cziwu2010 | Stardance
Devlogs:
A Title: Ball by @cziwu2010 | Stardance
Devlogs:
A site with a ball, a simple ball (well at leat currently)
Progress (added shading, gravity and dragging ball)
Added velocity to the ball
effects
V1 done!
Ships:
A website with an interactable pixelated ball that has physics based mechanics and glitch effects. Click to spawn the ball. Drag it to throw it around. Double click to glitch the ball. It’s my first JS project involving animating and drawing in JS. It’s also technically my first physics based project as it involves shading, ball gravity and velocity so yeah. I’m looking forward to improve on the glitch effects and add more functionality to the ball along with its environment....
|
1793112433.725351
|
1793198833.725351
|
|
50563
|
Bday gift by @mabu | Stardance
|
mabu
|
4
|
33.0
|
246
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T16:51:40Z", "hours": 12.0, "multiplier": 5.54, "payout": 65, "blessing": "neutral", "text": "Virtual Gift Card and Memory Box [IMP PLS TRY USING THE VOICE MODE TO UNLOCK THE GIFT U CAN SAY “BESTFRIEND “OF THE BDAY GIFT AND “I LOVE U”FOR THE REST GIFTS AND ALSO TRY OUT THE ESTEREGG TYPE THE WORD “MAGIC “OUT IN THE SAMPLE GIFT PAGE ANYWHERE AND A SECRET GIFT WILL POPUP] Hey everyone! Mabu here. For anyone who always forgets to buy physical gifts for birthdays, anniversaries, or special moment I built the ultimate customizable digital gift card website What it features: (All this stuff can be customised and some of these are optional stuff) Four Card Types: Birthday, Anniversary, Ask Out, and Love Notes. Unlocking: unlock the gift with a password (default is bestfriend or I LOVE U) u can type the word or click on the mic button and speak the word out u can even change the word to a phrase so u can make ur frined say something to open his/her gift Timed Delivery: Set a countdown timer so the recipient can’t open the surprise until the actual special occasion arrives Memories: U can add 6 custom photos, record or upload a voice message, attach an opening video intro, or drop in a funny meme to prank them or u can add a handwritten letter so they can read it U can even make them type some word like special word anywere in the page just open the page and type the word magic and u can get a esteregg gift U can make a short quiz for them to unlock a scratch off message Would love to hear your feedback on the new stuff gl and bye Mabu out. (and pls pray for me that my exam goes good its in a week so i wont be able to work on this that much sorry!!)", "repo": "https://github.com/mabu100/gift-", "demo": "https://mabu100.github.io/gift-/"}, {"ship_num": 2, "ts": "2026-08-29T17:53:31Z", "hours": 11.0, "multiplier": 10.38, "payout": 116, "blessing": "neutral", "text": "Hello everyone, [password for bday card is bestfriend and other cards is I LOVE u ] I always forget to buy gifts for my friends and loved ones on special occasions. Because of this, I decided to create the ultimate digital gift card that people can save and cherish for a long time. This website features four types of virtual cards:Birthday cards Anniversary card Ask out card Love notes When you open the website, you select the card you want. You must enter a password to open it. **The password for the birthday card is “bestfriend” and the password for the other three cards is “I LOVE U”. ** After entering the password, you will see a sample card.At the top of the page, you can customize your own card and download it. You can set a timer and send the card to your friend right before their birthday. To make the card special, you can add cool photos, write a sweet message inside a digital scratch off section, or even add a funny meme. If you want to make it the perfect gift, you can add a video that plays at the very start so your friend always remembers it I hope you like this idea and find it useful for daily life. It allows your friends to keep your gift forever and remember good memories. It is also perfect for sending to a boyfriend, girlfriend, or a friend who lives in another country. I look forward to reading your feedback. Thank you, Mabu out.", "repo": "https://github.com/mabu100/gift-", "demo": "https://mabu100.github.io/gift-/"}, {"ship_num": 3, "ts": "2026-08-23T16:54:15Z", "hours": 6.0, "multiplier": 9.35, "payout": 53, "blessing": "neutral", "text": "[Note the password is bestfriend] Did u forget ur friends bday??? DONT WORRY WHEN MABU IS HERE I made a customizable gift card that u can download as a PDF and send to ur friend. U can add pics and write a sweet message for ur friend New features: U can now add 6 pics and write a custom sweet message, and u can even change the password, but don’t forget to give ur freind the hint to the password so he/she will be able to open it And there is new confetti that blasts when u enter the password. In the end, there is a special surprise ur friend can blow out the candles and make a wish I hope u guys like it and i cant wait to read the feedback so i can improve this", "repo": "https://github.com/mabu100/gift-", "demo": "https://mabu100.github.io/gift-/"}, {"ship_num": 4, "ts": "2026-08-18T10:14:53Z", "hours": 4.0, "multiplier": 3.16, "payout": 12, "blessing": "neutral", "text": "I always forget to get my friends a gift so i made a virtual gift for my friends i am sure he will like it. It does not look very good rn but later on i am going to make it even better and its going to blow ur mind off", "repo": "https://github.com/mabu100/gift-", "demo": "https://mabu100.github.io/gift-/"}]...
|
[{"post_id": 60254, "ts": "202 [{"post_id": 60254, "ts": "2026-09-02T14:49:24Z", "hours": 1.0333, "text": "Guys i tried out all the new stuff and old stuff to make sure it worked well and then i fixed some bugs i found and will ship by tom morning or later cause i have a exam tom sorry for the wait"}, {"post_id": 60205, "ts": "2026-09-02T13:07:58Z", "hours": 2.5494, "text": "Hi guys, I added a cool feature that I am sure all of you guys will love. Now you can make your friend say a stupid phrase to unlock the gift. This is going to be so cool and funny. Just think about it your friend needs to say something stupid to unlock the gift. You can customize the phrase in the customization option. I hope you guys like this idea, took a while to think about it. GL and bye!"}, {"post_id": 59842, "ts": "2026-09-01T20:21:37Z", "hours": 2.5661, "text": "HI guys I’ve added an exciting new feature to the gift card page: gift givers can now include an optional ‘magic word’ that recipients use to unlock a secret surprise But i am sure most ppl wont use this feature thats what i feel and i would love to hear if u guys like the feature But if u use this feature give the gift recipient a hint if they dont find it then just tell them Sorry guys its not a very good feature i am still thinking abt new stuff to add Thats all for today alr bye guys gl"}, {"post_id": 59148, "ts": "2026-08-31T19:32:45Z", "hours": 4.4072, "text": "Hi guys! I added a new feature where you can upload a custom handwritten letter or drawing, or you can get creative and prank the person receiving the card by adding a meme to it. Imagine the person opening it and finding a stupid meme it is going to be so funny! You can also add a custom voice message for them. You can even record this on the website, so you can directly upload it for your convenience. (Note: All these features are optional. If you want to make your card better for your friend or loved one, you can use these features on the customization page.) Thats it for today guys i hope u like these new stuff THANK U GUYS MBAU OUT AND GL"}, {"post_id": 58416, "ts": "2026-08-30T20:32:36Z", "hours": 1.1239, "text": "hi guys I improved a old scratch off card now to unlock the scratch off card the pesron need to ans a question and if he/she gets it correct he will be able to scratch it off and see whats written I am currently think abt more and cool stuff to add so u guys need to wait for a bit before i ship it again. Alr thats all from today gn and bye guys gl WITH LOVE MABU.."}, {"post_id": 57492, "ts": "2026-08-29T17:32:15Z", "hours": 2.5439, "text": "Hi everyone I added this new feature where u can make the card before the occasion and set a timer so u can share the gift with ur friend and he/she will be able to open it when the timer ends I hope the feature will u be useful and i hope u guys like it Thats all for today thank u guys and gl!!!"}, {"post_id": 56854, "ts": "2026-08-28T20:10:39Z", "hours": 5.2619, "text": "HI guys Today’s focus was on enhancing user customization and adding interactive New Card Menu: I built a new menu where users can see and choose all the different types of cards they want to customize Video System: Now, when a user opens a card a video plays first before the card shows up Scratch Message: I created a hidden message feature the receiver has to scratch the screen to reveal a sweet secret message And now the customization option will be on top so when u first open u will be shown a sample and then u can customize it. Thats it for today will try to add some more new stuff and make it better and useful for u guys GL everyone."}, {"post_id": 55752, "ts": "2026-08-27T18:52:22Z", "hours": 3.3942, "text": "Hi everyone I am working on this idea where u can use the card in many ways like bday, anniversary, proposal and love note and i want to add more to this idea Currently my plan is to make it like each occasion the card will have different interactive buttons. Once i am happy with how it looks i will ship it"}, {"post_id": 53178, "ts": "2026-08-23T16:49:52Z", "hours": 5.6611, "text": "HI guys mabu here!! Based on the previous ship i decide to change and make it look better so that u can acc use this in real life ik the previous version was bad and not worth giving ur friend so yea we made it look very good and we added confetti, make a wish button , and there is a new background petal effect i hope u guys will like it and we made the customization more ez and simple u can add ur own pic make it personal by adding the persons name and u can write a sweet message for them I HOPE U GUYS WILL LIKE THIS!!"}, {"post_id": 49462, "ts": "2026-08-18T10:03:54Z", "hours": 1.7719, "text": "I made a birthday gift card that u can send to ur friend u can customize the message and add pics"}, {"post_id": 49397, "ts": "2026-08-18T06:20:55Z", "hours": 0.6364, "text": "I added pics so that your friend can cherish the good memories"}, {"post_id": 49376, "ts": "2026-08-18T05:07:21Z", "hours": 0.8164, "text": "Enter a password and the person u send this gift will get this sweet message"}, {"post_id": 49175, "ts": "2026-08-17T20:18:54Z", "hours": 0.5028, "text": "I am working on a virtual bday gift that u can send to your friend"}]...
|
Title: Bday gift by @mabu | Stardance
Devlogs:
I Title: Bday gift by @mabu | Stardance
Devlogs:
I am working on a virtual bday gift that u can send to your friend
Enter a password and the person u send this gift will get this sweet message
I added pics so that your friend can cherish the good memories
I made a birthday gift card that u can send to ur friend u can customize the message and add pics
HI guys mabu here!! Based on the previous ship i decide to change and make it look better so that u can acc use this in real life ik the previous version was bad and not worth giving ur friend so yea we made it look very good and we added confetti, make a wish button , and there is a new background petal effect i hope u guys will like it and we made the customization more ez and simple u can add ur own pic make it personal by adding the persons name and u can write a sweet message for them I HOPE U GUYS WILL LIKE THIS!!
Hi everyone I am working on this idea where u can use the card in many ways like bday, anniversary, proposal and love note and i want to add more to this idea Currently my plan is to make it like each occasion the card will have different interactive buttons. Once i am happy with how it looks i will ship it
HI guys Today’s focus was on enhancing user customization and adding interactive New Card Menu: I built a new menu where users can see and choose all the different types of cards they want to customize Video System: Now, when a user opens a card a video plays first before the card shows up Scratch Message: I created a hidden message feature the receiver has to scratch the screen to reveal a sweet secret message And now the customization option will be on top so when u first open u will be shown a sample and then u can customize it. Thats it for today will try to add some more new stuff and make it better and useful for u guys GL everyone.
Hi everyone I added this new feature where u can make the card before the occasion and set a timer so u can share the gift with ur friend and he/she will be able to open it when the timer ends I hope the feature will u be useful and i hope u guys like it Thats all for today thank u guys and gl!!!
hi guys I improved a old scratch off card now to unlock the scratch off card the pesron need to ans a question and if he/she gets it correct he will be able to scratch it off and see whats written I am currently think abt more and cool stuff to add so u guys need to wait for a bit before i ship it again. Alr thats all from today gn and bye guys gl WITH LOVE MABU..
Hi guys! I added a new feature where you can upload a custom handwritten letter or drawing, or you can get creative and prank the person receiving the card by adding a meme to it. Imagine the person opening it and finding a stupid meme it is going to be so funny! You can also add a custom voice message for them. You can even record this on the website, so you can directly upload it for your convenience. (Note: All these features are optional. If you want to make your card better for your friend or loved one, you can use these features on the customization page.) Thats it for today guys i hope u like these new stuff THANK U GUYS MBAU OUT AND GL
HI guys I’ve added an exciting new feature to the gift card page: gift givers can now include an optional ‘magic word’ that recipients use to unlock a secret surprise But i am sure most ppl wont use this feature thats what i feel and i would love to hear if u guys like the feature But if u use this feature give the gift recipient a hint if they dont find it then just tell them Sorry guys its not a very good feature i am still thinking abt new stuff to add Thats all for today alr bye guys gl
Hi guys, I added a cool feature that I am sure all of you guys will love. Now you can make your friend say a stupid phrase to unlock the gift. This is going to be so cool and funny. Just think about it your friend needs to say something stupid to unlock the gift. You can customize the phrase in the customization option. I hope you guys like this idea, took a while to think about it. GL and bye!
Guys i tried out all the new stuff and old stuff to make sure it worked well and then i fixed some bugs i found and will ship by tom morning or later cause i have a exam tom sorry for the wait
Ships:
I always forget to get my friends a gift so i made a virtual gift for my friends i am sure he will like it. It does not look very good rn but later on i am going to make it even better and its going to blow ur mind off
[Note the password is bestfriend] Did u forget ur friends bday??? DONT WORRY WHEN MABU IS HERE I made a customizable gift card that u can download as a PDF and send to ur friend. U can add pics and write a sweet message for ur friend New features: U can now add 6 pics and write a custom sweet message, and u can even change the password, but don’t forget to give ur freind the hint to the password so he/she will be able to open it And there is new confetti that blasts when u enter the password. In the end, there is a special surprise ur friend can blow out the candles and make a wish I hope u guys like it and i cant wait to read the feedback so i can improve this
Hello everyone, [password for bday card is bestfriend and other cards is I LOVE u ] I always forget to buy gifts for my friends and loved ones on special occasions. Because of this, I decided to create the ultimate digital gift card that people can save and cherish for a long time. This website features four types of virtual cards:Birthday cards Anniversary card Ask out card Love notes When you open the website, you select the card you want. You must enter a password to open it. **The password for the birthday card is “bestfriend” and the password for the other three cards is “I LOVE U”. ** After entering the password, you will see a sample card.At the top of the page, you can customize your own card and download it. You can set a timer and send the card to your friend right before their birthday. To make the card special, you can add cool photos, write a sweet message inside a digital scratch off section, or even add a funny meme. If you want to make it the perfect gift, you can add a video that plays at the very start so your friend always remembers it I hope you like this idea and find it useful for daily life. It allows your friends to keep your gift forever and remember good memories. It is also perfect for sending to a boyfriend, girlfriend, or a friend who lives in another country. I look forward to reading your feedback. Thank you, Mabu out.
Virtual Gift Card and Memory Box [IMP PLS TRY USING THE VOICE MODE TO UNLOCK THE GIFT U CAN SAY “BESTFRIEND “OF THE BDAY GIFT AND “I LOVE U”FOR THE REST GIFTS AND ALSO TRY OUT THE ESTEREGG TYPE THE WORD “MAGIC “OUT IN THE SAMPLE GIFT PAGE ANYWHERE AND A SECRET GIFT WILL POPUP] Hey everyone! Mabu here. For anyone who always forgets to buy physical gifts for birthdays, anniversaries, or special moment I built the ultimate customizable digital gift card website What it features: (All this stuff can be customised and some of these are optional stuff) Four Card Types: Birthday, Anniversary, Ask Out, and Love Notes. Unlocking: unlock the gift with a password (default is bestfriend or I LOVE U) u can type the word or click on the mic button and speak the word out u can even change the word to a phrase so u can make ur frined say something to open his/her gift Timed Delivery: Set a countdown timer so the recipient can’t open the surprise until the actual special occasion arrives Memories: U can add 6 custom photos, record or upload a voice message, attach an opening video intro, or drop in a funny meme to prank them or u can add a handwritten letter so they can read it U can even make them type some word like special word anywere in the page just open the page and type the word magic and u can get a esteregg gift U can make a short quiz for them to unlock a scratch off message Would love to hear your feedback on the new stuff gl and bye Mabu out. (and pls pray for me that my exam goes good its in a week so i wont be able to work on this that much sorry!!)...
|
1792878634.3851852
|
1793742634.3851852
|
|
52506
|
Particle simulation (Vulkan Compute Shaders + C++) Particle simulation (Vulkan Compute Shaders + C++) by @Knaj | Stardance...
|
Knaj
|
1
|
33.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-15T19:12:22Z", "hours": 33.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Particle Simulation, semi-finished. At last I’ve done it, this a mini-dream come true. I’ve finally “mastered” Vulkan compute shaders and got better at using C++ and GLSL. The program spawns 2000 particles (a very humble number, so I can run it on almost any machine) and simulates their gravity and collisions. In my very humble opinion, it’s quite impressive.", "repo": "https://github.com/Knajp/ParticleSimulation", "demo": "https://github.com/Knajp/ParticleSimulation/releases/tag/1.0.0"}]...
|
[{"post_id": 79981, "ts": "202 [{"post_id": 79981, "ts": "2026-10-15T18:46:09Z", "hours": 7.6886, "text": "The end? Probably not, but it sounds cool and is a Minecraft reference. Anyway, as you can see, I (sadly along with the help of an LLM, since I’m not the best at physics (i promise I only used it to explain the physics part and fix some insanely weird bugs)) implemented the collision system. What it took So, to achieve this and not make my computer burn down, I used a spatial grid. The way this one worked is: I added 2 buffers, one for cell heads, and other for next particles Created a linked list using those, with the last one pointing to index -1. Then, using some nonsense calculations, for every particle I checked every particle in their own cell and the 8 surrounding ones. That way I didn’t have to make a literal billion if statements per second. Then I fiddled around with making the particles stop moving on their own, and bim bam boom, I’ve got a nice layer of particles at the bottom. What’s next? I probably won’t finish this during stardance, but I’ll add some mouse interactions so the simulation isn’t so stagnant, and that should probably be it. Attachments In the attachments you’ve got a simulation of 2,000 and 100,000 particles, and a screenshot of the final result."}, {"post_id": 76212, "ts": "2026-10-02T18:03:56Z", "hours": 9.3442, "text": "Not a nothingburger anymore! Just a regular burger now, though. As you can see, the particles are there. And there’s many of them. Three thousand if I remember correctly. I can’t lie, implementing this took a lot and made me experiment with a lot of new things and especially modern Vulkan. What it took So, in my last devlog I said that the particles were in memory. They in fact were not, because my compute invocation was broken. But as you might imagine by now, I fixed that. What was wrong is that I was calling vkDispatch(cb, [actual number of dispatches], 0, 0) . Since x * 0 * 0 = 0 , the total number of calls was, you guessed it - zero. Changed it to vkDispatch(..., 1, 1) and it worked like a charm. Then I had issues with displaying the stuff (passing uninitialized values to the shaders), and also making the particles round. Overall, a nice challenging part of the project."}, {"post_id": 70047, "ts": "2026-09-18T11:08:06Z", "hours": 8.6511, "text": "A very big nothingburger. Yup. Despite working on this devlog for about 9 hours, I’ve made no visible progress. There’s still no window displaying anything (there is one on traditional DEs, but it won’t work on Hyprland for some unknown reason). However, it’s not as simple as it sounds, since I had to be working on something, right? Right. That thing being the base for the particle simulation – The compute pipeline, the compute shader, the compute everything. Additionally, I’ve finished the renderer init. Now the program launches without any issues! Somehow. Lol. The obvious next step is to actually get something rendering, and since the particles, or at least potential particles should be in their SSBO by now, I think I should be able to make a humble hundred-thousand-vertex draw call and be good! In theory, of course. How it will turn out in practice, we will see. And because as I said, I don’t have any visual output yet, you can have another picture of the terminal output as a treat."}, {"post_id": 61481, "ts": "2026-09-04T12:47:12Z", "hours": 7.3406, "text": "Devlog #1 Project Setup This was supposed to be covered a separate devlog, however posting the devlog failed and I simply gave up. Anyhow, I set up the project in quite a simple way, hoping to minimize the amount of bloat in the vendor directory. The project uses C++, Vulkan (my two beloved technologies) and CMake, which is a first for me. Renderer base So far, I’ve made use of GLFW to create a window and then used Vulkan to create a window surface and prepare the swapchain. What the swapchain in plain terms is that it makes sure you dont have to wait for the next frame to be rendered with a blank screen. Next Steps The next obvious step would be a graphics pipeline, however this time I’m thinking of going straight into rendering particles instead of the regular triangle. That would require a different (possibly instanced) . graphics pipeline, more sophisticated shaders and of course, a compute pipeline, learning which is the very point of this project. -# ignore assert failed please"}]...
|
Title: Particle simulation (Vulkan Compute Shaders Title: Particle simulation (Vulkan Compute Shaders + C++) by @Knaj | Stardance
Devlogs:
Devlog #1 Project Setup This was supposed to be covered a separate devlog, however posting the devlog failed and I simply gave up. Anyhow, I set up the project in quite a simple way, hoping to minimize the amount of bloat in the vendor directory. The project uses C++, Vulkan (my two beloved technologies) and CMake, which is a first for me. Renderer base So far, I’ve made use of GLFW to create a window and then used Vulkan to create a window surface and prepare the swapchain. What the swapchain in plain terms is that it makes sure you dont have to wait for the next frame to be rendered with a blank screen. Next Steps The next obvious step would be a graphics pipeline, however this time I’m thinking of going straight into rendering particles instead of the regular triangle. That would require a different (possibly instanced) . graphics pipeline, more sophisticated shaders and of course, a compute pipeline, learning which is the very point of this project. -# ignore assert failed please
A very big nothingburger. Yup. Despite working on this devlog for about 9 hours, I’ve made no visible progress. There’s still no window displaying anything (there is one on traditional DEs, but it won’t work on Hyprland for some unknown reason). However, it’s not as simple as it sounds, since I had to be working on something, right? Right. That thing being the base for the particle simulation – The compute pipeline, the compute shader, the compute everything. Additionally, I’ve finished the renderer init. Now the program launches without any issues! Somehow. Lol. The obvious next step is to actually get something rendering, and since the particles, or at least potential particles should be in their SSBO by now, I think I should be able to make a humble hundred-thousand-vertex draw call and be good! In theory, of course. How it will turn out in practice, we will see. And because as I said, I don’t have any visual output yet, you can have another picture of the terminal output as a treat.
Not a nothingburger anymore! Just a regular burger now, though. As you can see, the particles are there. And there’s many of them. Three thousand if I remember correctly. I can’t lie, implementing this took a lot and made me experiment with a lot of new things and especially modern Vulkan. What it took So, in my last devlog I said that the particles were in memory. They in fact were not, because my compute invocation was broken. But as you might imagine by now, I fixed that. What was wrong is that I was calling vkDispatch(cb, [actual number of dispatches], 0, 0) . Since x * 0 * 0 = 0 , the total number of calls was, you guessed it - zero. Changed it to vkDispatch(..., 1, 1) and it worked like a charm. Then I had issues with displaying the stuff (passing uninitialized values to the shaders), and also making the particles round. Overall, a nice challenging part of the project.
The end? Probably not, but it sounds cool and is a Minecraft reference. Anyway, as you can see, I (sadly along with the help of an LLM, since I’m not the best at physics (i promise I only used it to explain the physics part and fix some insanely weird bugs)) implemented the collision system. What it took So, to achieve this and not make my computer burn down, I used a spatial grid. The way this one worked is: I added 2 buffers, one for cell heads, and other for next particles Created a linked list using those, with the last one pointing to index -1. Then, using some nonsense calculations, for every particle I checked every particle in their own cell and the 8 surrounding ones. That way I didn’t have to make a literal billion if statements per second. Then I fiddled around with making the particles stop moving on their own, and bim bam boom, I’ve got a nice layer of particles at the bottom. What’s next? I probably won’t finish this during stardance, but I’ll add some mouse interactions so the simulation isn’t so stagnant, and that should probably be it. Attachments In the attachments you’ve got a simulation of 2,000 and 100,000 particles, and a screenshot of the final result.
Ships:
Particle Simulation, semi-finished. At last I’ve done it, this a mini-dream come true. I’ve finally “mastered” Vulkan compute shaders and got better at using C++ and GLSL. The program spawns 2000 particles (a very humble number, so I can run it on almost any machine) and simulates their gravity and collisions. In my very humble opinion, it’s quite impressive....
|
1793199064.404929
|
1793285464.404929
|
|
54328
|
StarScroll by @vaiskiainen | Stardance
|
vaiskiainen
|
1
|
33.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T16:20:27Z", "hours": 33.0, "multiplier": 19.91, "payout": 0, "blessing": "neutral", "text": "⭐ StarScroll StarScroll is an app that lets you doomscroll Stardance projects and devlogs in a vertical feed. The data comes from Stardance stats API I spent so much time on this and am really proud of how this turned out. Features: Infinite scrolling Comments Profile pages Project pages Search Descriptions And a bunch of other stuff… P.S. An Android app is coming in a future ship 😉", "repo": "https://github.com/Vaiskiainen/starscroll", "demo": "https://starscroll.vaiskiainen.fi/"}]...
|
[{"post_id": 63082, "ts": "202 [{"post_id": 63082, "ts": "2026-09-06T17:51:18Z", "hours": 10.5175, "text": "StarScroll devlog #5 Hi again! I’m basically done making a web app that lets you doomscroll stardance! Recently I have been working on QOL, UI updates and bug fixes. The app should be ready to be shipped in a few days. Stuff I recently did: Descriptions UI updates Other random updates Many technical changes and optimizations"}, {"post_id": 61023, "ts": "2026-09-03T18:38:32Z", "hours": 7.1869, "text": "StarScroll devlog #4 Hello, hello! It’s now day 7 (I think) of building a web app that lets you doomscroll Stardance! Recently I have been working mostly on little QOL updates but also some bigger ones. All the app really needs rn is just some polish. I’m hoping it will be good to go in a couple of days Here’s a list of features I have added; A sidebar Project pages (look a little goofy rn) Search (also pretty bad currently) Better Stardance branding (some images and other stuff) Settings"}, {"post_id": 59605, "ts": "2026-09-01T14:54:54Z", "hours": 6.605, "text": "StarScroll devlog #3 Hi agaaiinn! Big updates this time. It’s day 5 of working on a web app that lets you doomscroll Stardance! I have recently been spending a lot of my free time working on this and I’m really proud of what it has become. Anyways here’s the fetures I recently added: More Stardance branding Bigger media display Media carousels Comments Support for videos Down / up arrows Latest, popular, random select. Switching between devlogs and projects. And other little tweaks"}, {"post_id": 57909, "ts": "2026-08-30T07:32:53Z", "hours": 3.3136, "text": "StarScroll devlog #2 Hellooo again. It’s day 3 of working on a web application that lets you doomscroll Stardance! I want to start this devlog by thanking MIXID_MBB for making the Stardance stats API since that is what I will be using for this project. Here’s a list of features currently implemented: The base app (with infinite scrolling) Like and comment display Description, creator, etc."}, {"post_id": 56756, "ts": "2026-08-28T17:16:48Z", "hours": 4.99, "text": "StarScroll Devlog #1 Helllooo everyone! It’s time for a new project. I have recently been working on this web app that lets you doomscroll Stardance projects and devlogs in a vertical feed. I am making it with React and TypeScript and even planning on creating an Android app eventually. I really don’t really have anything to show yet except this ( Dare I say ) pretty cool looking banner."}]...
|
Title: StarScroll by @vaiskiainen | Stardance
Dev Title: StarScroll by @vaiskiainen | Stardance
Devlogs:
StarScroll Devlog #1 Helllooo everyone! It’s time for a new project. I have recently been working on this web app that lets you doomscroll Stardance projects and devlogs in a vertical feed. I am making it with React and TypeScript and even planning on creating an Android app eventually. I really don’t really have anything to show yet except this ( Dare I say ) pretty cool looking banner.
StarScroll devlog #2 Hellooo again. It’s day 3 of working on a web application that lets you doomscroll Stardance! I want to start this devlog by thanking MIXID_MBB for making the Stardance stats API since that is what I will be using for this project. Here’s a list of features currently implemented: The base app (with infinite scrolling) Like and comment display Description, creator, etc.
StarScroll devlog #3 Hi agaaiinn! Big updates this time. It’s day 5 of working on a web app that lets you doomscroll Stardance! I have recently been spending a lot of my free time working on this and I’m really proud of what it has become. Anyways here’s the fetures I recently added: More Stardance branding Bigger media display Media carousels Comments Support for videos Down / up arrows Latest, popular, random select. Switching between devlogs and projects. And other little tweaks
StarScroll devlog #4 Hello, hello! It’s now day 7 (I think) of building a web app that lets you doomscroll Stardance! Recently I have been working mostly on little QOL updates but also some bigger ones. All the app really needs rn is just some polish. I’m hoping it will be good to go in a couple of days Here’s a list of features I have added; A sidebar Project pages (look a little goofy rn) Search (also pretty bad currently) Better Stardance branding (some images and other stuff) Settings
StarScroll devlog #5 Hi again! I’m basically done making a web app that lets you doomscroll stardance! Recently I have been working on QOL, UI updates and bug fixes. The app should be ready to be shipped in a few days. Stuff I recently did: Descriptions UI updates Other random updates Many technical changes and optimizations
Ships:
⭐ StarScroll StarScroll is an app that lets you doomscroll Stardance projects and devlogs in a vertical feed. The data comes from Stardance stats API I spent so much time on this and am really proud of how this turned out. Features: Infinite scrolling Comments Profile pages Project pages Search Descriptions And a bunch of other stuff… P.S. An Android app is coming in a future ship 😉...
|
1792878586.5866814
|
1793742586.5866814
|
|
54651
|
Warren’s Sci-Fi & Pop Culture Archive by @PXLS Warren’s Sci-Fi & Pop Culture Archive by @PXLS | Stardance...
|
PXLS
|
2
|
33.0
|
341
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T14:16:54Z", "hours": 3.0, "multiplier": 5.17, "payout": 15, "blessing": "neutral", "text": "I made some updates to Warren’s Sci-Fi and Pop-Culture Archive, such as changing the background and adding a new font. My goal was to enhance the Frutiger Aero aesthetic, which fits much better with the new design. Overall, the project combines music, movies, sci-fi, and plenty of Easter eggs. Hope you guys enjoy it!", "repo": "https://github.com/PXLS-png/stardance-archive", "demo": "https://pxls-png.github.io/stardance-archive/"}, {"ship_num": 2, "ts": "2026-10-09T13:10:53Z", "hours": 30.0, "multiplier": 10.91, "payout": 326, "blessing": "neutral", "text": "“For every action, there’s a reaction.” That’s a line from Life is Strange, and honestly it’s the best way to describe how this project started: one obsession led to another, and somehow I ended up building a whole website about it. Over the last few months, I’ve been working on a project that truly fascinates me: Warren’s Sci-Fi & Pop Culture Archive. My main source of inspiration was my love for the video game Life is Strange, which contains a character, Warren, who is totally obsessed with sci-fi and science. That made me wonder: how could I create a website that combines movies with in-game references, a cool aesthetic, and easter eggs? In the end, this aspiration turned into the archive I’m proud to present. This is my first project for Hack Club, and even though I ran into a few bugs, especially with the timezone logic, I’m glad I made it this far. Feel free to test my project on desktop or mobile, just open the webpage!", "repo": "https://github.com/PXLS-png/stardance-archive", "demo": "https://pxls-png.github.io/stardance-archive/"}]...
|
[{"post_id": 78427, "ts": "202 [{"post_id": 78427, "ts": "2026-10-10T19:38:24Z", "hours": 2.9583, "text": "Hey, today I rewrote README with project background and credits, rewrote description and declaration, deleted and rewrote code sections, added a background image with license attribution (Public Domain Mark 1.0) and a new font that fits the Frutiger Aero aesthetic better. I also added a Curator’s Note in the code documenting the manual curation process for the 400+ movie list, cleaned up text, code and added a full legal disclaimer, and updated the screenshot link in README"}, {"post_id": 78064, "ts": "2026-10-09T12:51:02Z", "hours": 7.6728, "text": "Over the last few days, I’ve been working on the final version of the archive. I looked for duplicates in the movie list, did some debugging, made my repo public, tested the live URL, deleted some movies, cleaned up the code, made the top 5 cards keyboard-accessible, and tested the website on different browsers and devices. I also finished the README, checked for typos, checked the movie selection logic, activated GitHub Pages, refined some features, added easter eggs, added comments, and made sure the favicon works. I think I’m ready to ship!"}, {"post_id": 71914, "ts": "2026-09-21T19:19:09Z", "hours": 8.5761, "text": "Hey guys! This is gonna be a lot, because I had to lock in and the Stardance Challenge is slowly coming to an end. Here’s what I’ve been working on: -I created a “Warren’s Top 5 Picks” section consisting of glossy movie cards that open the IMDb page of the movie it’s about when clicked -I did some research on in game quotes from various characters with movie and/or pop culture references and added quotes to the movies that matched them. -In the end, I chose the following 5 movies: Planet of the Apes, LOTR, Blade Runner, Back to the Future, Twilight -I made sure that every card has a real IMDb link that opens in a brand new tab -I created “The Dual Clock” which is basically a glassy clock widget in the bottom-right corner with two timelines -Warren’s time (Oregon) and the user’s time (wherever you are) -I thought of this as a small nod to the time-travel theme of the game -I made sure that it updates every second -I created “The Eclipse Easter Egg” -Now this is one of my favorite features, consisting of an animated eclipse that only appears on October 8th (the day it happens in game in the end of Episode 2) -The Moon slides across the sun in an 8-second loop -If you click it you’ll be directed to a window with a Warren quote (quite literally what he says when he sees the eclipse before the episode ends) and a YouTube link to the song that was playing during that scene -After some debugging this works seamlessly now! -I cleaned up my repo and deleted my old messy prototype file -I added a disclaimer in the top-left (fan-project, all rights to Dontnod/Square Enix) -I added more movies (for the huge list the “Movie of the Day” is randomly chosen from) -Pushed to git ofc -Fixed some CSS typos If you read all of this, thanks for sticking around :) That’s it for now!"}, {"post_id": 63155, "ts": "2026-09-06T20:05:29Z", "hours": 2.7878, "text": "Hey guys! Here’s what I’ve been working on: -Built an Easter Egg that reveals secret messages (see down below) -Tested and polished the Easter egg -Debugged and fixed typos -Fixed heading readability (white font on a white background wasn’t my brightest idea, quite literally) -Added glass reflections -Added Aero window controls -Added a top glass glow -Adjusted shadows -Cleaned up my code That’s it for now :)"}, {"post_id": 61792, "ts": "2026-09-04T21:27:41Z", "hours": 1.3478, "text": "Unfortunately, I was kinda busy over the last few days, but here’s a quick update: I’ve been adding more movies to the Movie of The Day section! Here’s a sneak peek at the latest additions:"}, {"post_id": 59806, "ts": "2026-09-01T19:10:28Z", "hours": 3.5353, "text": "Hey guys! Quick update about the project! Since my last devlog, I’ve been working on the following: -Enhancing the Frutiger Aero style -Finishing the Movie of the Day movie list -Adding release years to the movies -Making the Movie of the Day change every 24h based on Pacific Time (since the game it’s inspired by takes place in OR) -Adding a well-hidden Easter egg -Making floating bubbles interactive + a pop effect anytime the bubbles are clicked! That’s all for today :)"}, {"post_id": 56857, "ts": "2026-08-28T20:18:24Z", "hours": 2.0628, "text": "Okay… my second devlog, and I somewhat changed the plan. Lol. While working on the website, I realized it became way more complicated than I initially expected, and seemed to drift away from my original design and the project I genuinely wanted to create. Since the vibe felt off, but I wanted the core idea to stay, I aimed for something more whimsical, nostalgic, playful, and fun. You might’ve guessed it, yes, I’m moving toward a Frutiger Aero-inspired look, and this definitely increased my overall fun and excitement about the project! Today, I mainly redesigned the front page (pic attached below)! Stay tuned for the next update :)"}, {"post_id": 56192, "ts": "2026-08-27T20:44:36Z", "hours": 3.9069, "text": "Welcome to my first devlog! I’ve been working on Warrens Sci-Fi & Pop Culture Archive, a project inspired by the Life is Strange character Warren Graham! I’ve recently added an interactive flash drive interface, an animated spiral loading screen with interesting (and random) science facts, and my first classic movie to the collection: Planet of the Apes. I’ve also added metadata and fan-made review notes written from his POV, along with a pixel-art grid system. Ironically, for someone named PXLS, the pixel-art grid isn’t looking quite right yet. I’m planning to fix that issue soon!"}]...
|
Title: Warren’s Sci-Fi & Pop Culture Archive b Title: Warren’s Sci-Fi & Pop Culture Archive by @PXLS | Stardance
Devlogs:
Welcome to my first devlog! I’ve been working on Warrens Sci-Fi & Pop Culture Archive, a project inspired by the Life is Strange character Warren Graham! I’ve recently added an interactive flash drive interface, an animated spiral loading screen with interesting (and random) science facts, and my first classic movie to the collection: Planet of the Apes. I’ve also added metadata and fan-made review notes written from his POV, along with a pixel-art grid system. Ironically, for someone named PXLS, the pixel-art grid isn’t looking quite right yet. I’m planning to fix that issue soon!
Okay… my second devlog, and I somewhat changed the plan. Lol. While working on the website, I realized it became way more complicated than I initially expected, and seemed to drift away from my original design and the project I genuinely wanted to create. Since the vibe felt off, but I wanted the core idea to stay, I aimed for something more whimsical, nostalgic, playful, and fun. You might’ve guessed it, yes, I’m moving toward a Frutiger Aero-inspired look, and this definitely increased my overall fun and excitement about the project! Today, I mainly redesigned the front page (pic attached below)! Stay tuned for the next update :)
Hey guys! Quick update about the project! Since my last devlog, I’ve been working on the following: -Enhancing the Frutiger Aero style -Finishing the Movie of the Day movie list -Adding release years to the movies -Making the Movie of the Day change every 24h based on Pacific Time (since the game it’s inspired by takes place in OR) -Adding a well-hidden Easter egg -Making floating bubbles interactive + a pop effect anytime the bubbles are clicked! That’s all for today :)
Unfortunately, I was kinda busy over the last few days, but here’s a quick update: I’ve been adding more movies to the Movie of The Day section! Here’s a sneak peek at the latest additions:
Hey guys! Here’s what I’ve been working on: -Built an Easter Egg that reveals secret messages (see down below) -Tested and polished the Easter egg -Debugged and fixed typos -Fixed heading readability (white font on a white background wasn’t my brightest idea, quite literally) -Added glass reflections -Added Aero window controls -Added a top glass glow -Adjusted shadows -Cleaned up my code That’s it for now :)
Hey guys! This is gonna be a lot, because I had to lock in and the Stardance Challenge is slowly coming to an end. Here’s what I’ve been working on: -I created a “Warren’s Top 5 Picks” section consisting of glossy movie cards that open the IMDb page of the movie it’s about when clicked -I did some research on in game quotes from various characters with movie and/or pop culture references and added quotes to the movies that matched them. -In the end, I chose the following 5 movies: Planet of the Apes, LOTR, Blade Runner, Back to the Future, Twilight -I made sure that every card has a real IMDb link that opens in a brand new tab -I created “The Dual Clock” which is basically a glassy clock widget in the bottom-right corner with two timelines -Warren’s time (Oregon) and the user’s time (wherever you are) -I thought of this as a small nod to the time-travel theme of the game -I made sure that it updates every second -I created “The Eclipse Easter Egg” -Now this is one of my favorite features, consisting of an animated eclipse that only appears on October 8th (the day it happens in game in the end of Episode 2) -The Moon slides across the sun in an 8-second loop -If you click it you’ll be directed to a window with a Warren quote (quite literally what he says when he sees the eclipse before the episode ends) and a YouTube link to the song that was playing during that scene -After some debugging this works seamlessly now! -I cleaned up my repo and deleted my old messy prototype file -I added a disclaimer in the top-left (fan-project, all rights to Dontnod/Square Enix) -I added more movies (for the huge list the “Movie of the Day” is randomly chosen from) -Pushed to git ofc -Fixed some CSS typos If you read all of this, thanks for sticking around :) That’s it for now!
Over the last few days, I’ve been working on the final version of the archive. I looked for duplicates in the movie list, did some debugging, made my repo public, tested the live URL, deleted some movies, cleaned up the code, made the top 5 cards keyboard-accessible, and tested the website on different browsers and devices. I also finished the README, checked for typos, checked the movie selection logic, activated GitHub Pages, refined some features, added easter eggs, added comments, and made sure the favicon works. I think I’m ready to ship!
Hey, today I rewrote README with project background and credits, rewrote description and declaration, deleted and rewrote code sections, added a background image with license attribution (Public Domain Mark 1.0) and a new font that fits the Frutiger Aero aesthetic better. I also added a Curator’s Note in the code documenting the manual curation process for the 400+ movie list, cleaned up text, code and added a full legal disclaimer, and updated the screenshot link in README
Ships:
“For every action, there’s a reaction.” That’s a line from Life is Strange, and honestly it’s the best way to describe how this project started: one obsession led to another, and somehow I ended up building a whole website about it. Over the last few months, I’ve been working on a project that truly fascinates me: Warren’s Sci-Fi & Pop Culture Archive. My main source of inspiration was my love for the video game Life is Strange, which contains a character, Warren, who is totally obsessed with sci-fi and science. That made me wonder: how could I create a website that combines movies with in-game references, a cool aesthetic, and easter eggs? In the end, this aspiration turned into the archive I’m proud to present. This is my first project for Hack Club, and even though I ran into a few bugs, especially with the timezone logic, I’m glad I made it this far. Feel free to test my project on desktop or mobile, just open the webpage!
I made some updates to Warren’s Sci-Fi and Pop-Culture Archive, such as changing the background and adding a new font. My goal was to enhance the Frutiger Aero aesthetic, which fits much better with the new design. Overall, the project combines music, movies, sci-fi, and plenty of Easter eggs. Hope you guys enjoy it!...
|
1793155679.8043573
|
1793242079.8043573
|
|
60531
|
Doom-3D by @praneel23o | Stardance
|
praneel23o
|
1
|
33.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T05:59:58Z", "hours": 33.0, "multiplier": 5.34, "payout": 0, "blessing": "neutral", "text": "A browser-based DOOM-inspired 3D FPS using React, Three.js, and React Three Fiber. Making the first-person controls, shooting, and 3D gameplay work smoothly together. I’m proud that I turned the idea into a playable browser game. Use a desktop browser. WASD to move, mouse to look, and Spacebar to shoot.", "repo": "https://github.com/Praneel23o/Doom", "demo": "https://praneel23o-doom.netlify.app/"}]...
|
[{"post_id": 65213, "ts": "202 [{"post_id": 65213, "ts": "2026-09-10T05:55:23Z", "hours": 33.3667, "text": "🎮 Devlog #1 — Getting the 3D world workingThe first big milestone was getting an actual playable 3D environment running in the browser.I used React Three Fiber on top of Three.js to create the game world and first-person experience.The basic pieces started coming together:🧍 First-person camera🕹️ WASD movement🖱️ Mouse-controlled looking🌑 Dark environment🎯 A foundation for combatOne of the interesting parts of this project is balancing the retro DOOM aesthetic with modern browser-based 3D rendering.It’s definitely satisfying seeing something that started as an empty scene turn into an actual game."}]...
|
Title: Doom-3D by @praneel23o | Stardance
Devlogs Title: Doom-3D by @praneel23o | Stardance
Devlogs:
🎮 Devlog #1 — Getting the 3D world workingThe first big milestone was getting an actual playable 3D environment running in the browser.I used React Three Fiber on top of Three.js to create the game world and first-person experience.The basic pieces started coming together:🧍 First-person camera🕹️ WASD movement🖱️ Mouse-controlled looking🌑 Dark environment🎯 A foundation for combatOne of the interesting parts of this project is balancing the retro DOOM aesthetic with modern browser-based 3D rendering.It’s definitely satisfying seeing something that started as an empty scene turn into an actual game.
Ships:
A browser-based DOOM-inspired 3D FPS using React, Three.js, and React Three Fiber. Making the first-person controls, shooting, and 3D gameplay work smoothly together. I’m proud that I turned the idea into a playable browser game. Use a desktop browser. WASD to move, mouse to look, and Spacebar to shoot....
|
1793206444.3007503
|
1793292844.3007503
|
|
66734
|
GothOS by @ojasthakur | Stardance
|
ojasthakur
|
2
|
33.0
|
33
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T18:06:48Z", "hours": 2.0, "multiplier": 15.47, "payout": 33, "blessing": "neutral", "text": "Since the last ship for WebOS1. I had already added alotta features which seemed like an overkill for the last one. This time, I’ve added 3 small features and a few bug fixes for WebOS2. Cursor following Bat-pet A better welcome page with animated text saying “Goth”. To-Do list.", "repo": "https://github.com/OjasQwQ/GothOS", "demo": "https://ojasqwq.github.io/GothOS/"}, {"ship_num": 2, "ts": "2026-10-12T10:54:25Z", "hours": 31.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I’ve made a Goth/Alt themed WebOS. I’ve made this because I’m fond of Rock Music and I really resonate with Goth Subculture. It has the following features:- Notes/Journal App Vinyl themed music player. A basic calculator “Now Playing” flyer. Music visualiser which reacts to the vinyl player. Google Search Bar with typewriting animation.", "repo": "https://github.com/OjasQwQ/GothOS", "demo": "https://ojasqwq.github.io/GothOS/"}]...
|
[{"post_id": 81209, "ts": "202 [{"post_id": 81209, "ts": "2026-10-20T09:24:25Z", "hours": 1.0547, "text": "Changed the unclean gif with a looping mp4 typewriter animated effect on the word “Goth”. Changed the position of the nametag and and added the click event to change webpages on the whole screen. The design looks way better and clean now."}, {"post_id": 81196, "ts": "2026-10-20T08:01:47Z", "hours": 1.0583, "text": "I just created this bat pet which follows the mouse cursor on the OS page. The bat image is an SVG and and the wings on the back are animated. Its able to flip to the right before catching up to the cursor when the its is dragged fast across the screen"}, {"post_id": 79004, "ts": "2026-10-12T09:48:17Z", "hours": 0.5125, "text": "I’ve fixed the majority of the bugs related to the calculator and the music visualiser. LETS SHIP THE PROJECT GNG!"}, {"post_id": 78992, "ts": "2026-10-12T08:48:57Z", "hours": 3.0678, "text": "Added a calculator to the OS but its really buggy rn. All the buttons are concentrated in the bottom right lol. I’ll fix this soon. I added a music visualiser aswell which reacts the the music from the media player in the OS."}, {"post_id": 78734, "ts": "2026-10-11T13:06:11Z", "hours": 4.1992, "text": "I just gave the search-bar a typewriter animation, made the header for music-window transparent, customized the taskbar and made it sleeker, changed all png logos to svgs, bug fixes related to screen initialisation. I also gave it a new feature of a “Now Playing” popup/flyer upon changing/starting the tracks."}, {"post_id": 78134, "ts": "2026-10-09T18:00:54Z", "hours": 4.4858, "text": "Ok so I’m pivoting the whole idea into a Goth/Alt theme and hence changed the named to GothOS. I’ve updated the homepage. The vinyl player works better and is more scalable now. I’ll be adding more songs to it. I’m thinking of adding a “Music Playing” flyout on the top left of the OS screen the music is changed."}, {"post_id": 77261, "ts": "2026-10-06T10:20:43Z", "hours": 1.38, "text": "Made this Vinyl player which plays My Own Summer (for now) for my webOS. I made this on css mainly and used js to make this functional. The disk rotates aswell as the tone-arm when a song is played. The slider is to adjust the volume."}, {"post_id": 76819, "ts": "2026-10-04T18:17:57Z", "hours": 3.5981, "text": "I’ve been looking for a better wallpaper but couldn’t find much :( Added those two “see this Angel?” images for I-don’t-know-why but I thought that maybe we can make them clickable and they change their position to a random location on the screen lol. Google searchbar works and Css patches."}, {"post_id": 76598, "ts": "2026-10-04T03:54:31Z", "hours": 3.3169, "text": "So the notes application’s functionality is nearly complete! (The design part is not). I also implemented a way to make change the index of windows upon click to bring them to the foreground. Icons on the taskbar become smaller when selected and comes back to their original size when exiting the window or selecting another window/icon."}, {"post_id": 76393, "ts": "2026-10-03T12:06:47Z", "hours": 4.3689, "text": "Started working on the first app- Notes 1.Implemented a draggable notes window with open/close functionality (guitar logo for now). 2.Updated taskbar logo with an ID for click animation. 3.Improved CSS styles and alignments for taskbar, logos, and notes window. [removed the space bw the logos and the taskbar boundary which was bothering me]"}, {"post_id": 75913, "ts": "2026-10-01T16:14:54Z", "hours": 1.7258, "text": "I made another page for the OS and connected it with the welcome screen. I decided to keep the tab on the bottom where I’ll find better icons to put thing. Can someone suggest me a better wallpaper? It needs alotta work. I made my nametag on the initial welcome screen movable while I was trying it out lol."}, {"post_id": 75667, "ts": "2026-09-30T17:58:27Z", "hours": 2.4381, "text": "Checked off quite a few things off my To-Do list. Hosted the pages, corrected allignments, dragable elements, added a README. Looked dope on my phone."}, {"post_id": 75512, "ts": "2026-09-30T10:21:30Z", "hours": 1.9194, "text": "I’ve just started to work on “RockOS” for all the music nerds out there! Lets see where this project takes me."}]...
|
Title: GothOS by @ojasthakur | Stardance
Devlogs: Title: GothOS by @ojasthakur | Stardance
Devlogs:
I’ve just started to work on “RockOS” for all the music nerds out there! Lets see where this project takes me.
Checked off quite a few things off my To-Do list. Hosted the pages, corrected allignments, dragable elements, added a README. Looked dope on my phone.
I made another page for the OS and connected it with the welcome screen. I decided to keep the tab on the bottom where I’ll find better icons to put thing. Can someone suggest me a better wallpaper? It needs alotta work. I made my nametag on the initial welcome screen movable while I was trying it out lol.
Started working on the first app- Notes 1.Implemented a draggable notes window with open/close functionality (guitar logo for now). 2.Updated taskbar logo with an ID for click animation. 3.Improved CSS styles and alignments for taskbar, logos, and notes window. [removed the space bw the logos and the taskbar boundary which was bothering me]
So the notes application’s functionality is nearly complete! (The design part is not). I also implemented a way to make change the index of windows upon click to bring them to the foreground. Icons on the taskbar become smaller when selected and comes back to their original size when exiting the window or selecting another window/icon.
I’ve been looking for a better wallpaper but couldn’t find much :( Added those two “see this Angel?” images for I-don’t-know-why but I thought that maybe we can make them clickable and they change their position to a random location on the screen lol. Google searchbar works and Css patches.
Made this Vinyl player which plays My Own Summer (for now) for my webOS. I made this on css mainly and used js to make this functional. The disk rotates aswell as the tone-arm when a song is played. The slider is to adjust the volume.
Ok so I’m pivoting the whole idea into a Goth/Alt theme and hence changed the named to GothOS. I’ve updated the homepage. The vinyl player works better and is more scalable now. I’ll be adding more songs to it. I’m thinking of adding a “Music Playing” flyout on the top left of the OS screen the music is changed.
I just gave the search-bar a typewriter animation, made the header for music-window transparent, customized the taskbar and made it sleeker, changed all png logos to svgs, bug fixes related to screen initialisation. I also gave it a new feature of a “Now Playing” popup/flyer upon changing/starting the tracks.
Added a calculator to the OS but its really buggy rn. All the buttons are concentrated in the bottom right lol. I’ll fix this soon. I added a music visualiser aswell which reacts the the music from the media player in the OS.
I’ve fixed the majority of the bugs related to the calculator and the music visualiser. LETS SHIP THE PROJECT GNG!
I just created this bat pet which follows the mouse cursor on the OS page. The bat image is an SVG and and the wings on the back are animated. Its able to flip to the right before catching up to the cursor when the its is dragged fast across the screen
Changed the unclean gif with a looping mp4 typewriter animated effect on the word “Goth”. Changed the position of the nametag and and added the click event to change webpages on the whole screen. The design looks way better and clean now.
Ships:
I’ve made a Goth/Alt themed WebOS. I’ve made this because I’m fond of Rock Music and I really resonate with Goth Subculture. It has the following features:- Notes/Journal App Vinyl themed music player. A basic calculator “Now Playing” flyer. Music visualiser which reacts to the vinyl player. Google Search Bar with typewriting animation.
Since the last ship for WebOS1. I had already added alotta features which seemed like an overkill for the last one. This time, I’ve added 3 small features and a few bug fixes for WebOS2. Cursor following Bat-pet A better welcome page with animated text saying “Goth”. To-Do list....
|
1793217003.1234019
|
1793303403.1234019
|
|
1142
|
Auto Drones by @darshaankarth | Stardance
|
darshaankarth
|
0
|
32.91
|
0
|
[]
|
[{"post_id": 32143, "ts": "202 [{"post_id": 32143, "ts": "2026-07-21T03:21:40Z", "hours": 4.1656, "text": "With the help of ChatGPT, I was able to build a front end for my PID tuner and telemetry page for my drone. I was also able to program an Arduino Nano to provide IMU data to the Ground Station, aka my laptop."}, {"post_id": 29239, "ts": "2026-07-16T00:55:27Z", "hours": 28.7425, "text": "I have finally completed the hardware part for the first testing. My goal is to create a flight controller from scratch using an Arduino Nano ESP32. I am currently in the process of PID Tuning."}]...
|
Title: Auto Drones by @darshaankarth | Stardance
Title: Auto Drones by @darshaankarth | Stardance
Devlogs:
I have finally completed the hardware part for the first testing. My goal is to create a flight controller from scratch using an Arduino Nano ESP32. I am currently in the process of PID Tuning.
With the help of ChatGPT, I was able to build a front end for my PID tuner and telemetry page for my drone. I was also able to program an Arduino Nano to provide IMU data to the Ground Station, aka my laptop....
|
1792612184.6451902
|
1793216984.6451902
|
|
10911
|
SubBake by @reimunyancat | Stardance
|
reimunyancat
|
1
|
32.89
|
411
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T00:02:46Z", "hours": 22.0, "multiplier": 18.46, "payout": 411, "blessing": "neutral", "text": "SubBake is a desktop app that embeds subtitles into video files. Drop in a video and a subtitle file, and it muxes the subtitle in as a proper track — colors, timing, and all — without re-encoding anything. There is also a live web demo if you would rather try it in a browser. What it does: It reads SMI, SRT, ASS, SSA, VTT and SUP subtitles and writes MKV, MP4 or WebM. SMI fansubs keep their per-speaker colors, because they get converted to ASS instead of being flattened into SRT. The GUI takes drag and drop or a plain click, auto-matches videos to same-named subtitle files, and shows live per-file progress straight from FFmpeg’s output. FFmpeg comes bundled, so the whole thing is one executable with nothing to install, and the UI speaks English and Korean without a restart. The web demo runs the exact same pipeline on my home server. Upload both files, watch the bar, download the result. Everything you upload is deleted automatically after an hour. The hardest part was invisible. One subtitle cue kept showing a hollow box between two lines, and every character in those lines came back clean. The culprit turned out to be a blank line in the source file, which my converter faithfully translated into an empty subtitle line that the player rendered as a box. The fix was collapsing consecutive newlines into one. Sometimes the bug is a blank line. To test it: grab the release, drop a video and its subtitle onto the window, and hit Start SubBake. Or open reimunyancat.com/subbake and do the same thing with zero install.", "repo": "https://github.com/reimunyancat/SubBake", "demo": "https://reimunyancat.com/subbake/"}]...
|
[{"post_id": 52292, "ts": "202 [{"post_id": 52292, "ts": "2026-08-22T12:29:12Z", "hours": 8.9519, "text": "Devlog #6 Last time ended with the review finally seeing subtitles — burn mode drew them into the pixels, and the preview proved the output wasn’t empty. The review came back with a new problem, and this one was in the desktop app. The reviewer dragged a video in, then dragged its subtitle in a moment later, and nothing happened. No pair, no row, no error. Just a log line nobody reads. “I dropped the video, then the subtitle. Nothing happened.” The flow made sense to me. Any sane user would load the video and subtitles together. The app matched files by stem and folder, so the names matched — but the pair never appeared. I reproduced it immediately: drop the .mkv, 0 pairs. Drop the .srt, 0 pairs. Drop them together, 1 pair. The order wasn’t the problem — the batch was. It was by design. That was the problem. The drop handler split the incoming paths into videos and subtitles and matched them within that single batch : Both file types had to arrive in the same drop or the matcher had nothing to join. It wasn’t a bug — it worked exactly as written. My own testing had always dropped both files at once, so I never saw it. The code was correct and exactly wrong. To make it worse, that same logic was copy-pasted in four places: the drop handler, the file dialog, the drop-area click, and the folder scan. Four copies, one flaw. Deferred matching The fix was to stop matching batches and start matching state. Files now accumulate into pending queues, and every drop re-runs the matcher against everything pending. Drop the video, drop the subtitle five minutes later — the second drop finds the first and pairs them. All four entry points now route through one _ingest() method, so the deferred-matching rule can’t drift between copies again. Then I almost made it worse My first pass at leftovers had a shortcut: sort the unmatched files by name and zip them into pairs. Five videos and two subtitles? Two pairs, formed by name order, not by any actual correspondence. The names could be completely unrelated — the wrong subtitle would get muxed in silently. That’s the exact failure class I was trying to kill. So the shortcut got a guard: auto-pairing only happens when exactly one video and one subtitle are left unmatched, and everything else stays in the pending queue where the user can see it. While I was in there: dropping the same file twice no longer stacks duplicates in the queue, and the waiting notice now shows whenever anything is still pending — not just when a drop matched nothing. The log panel expands on its own so the “waiting for a matching subtitle” state is visible instead of hidden. TMI It was quite a struggle at first; I hadn’t properly watched the review video, so while testing it myself, I kept wondering, “Wait, it works fine—why do people say it doesn’t?” It turned out the issue was incredibly simple. I made a few minor quality-of-life improvements, but since they were so small, I decided to skip mentioning them. I actually wanted to do more, but I’ve already spent nine hours on this, so I’m wrapping things up now."}, {"post_id": 50793, "ts": "2026-08-20T05:49:47Z", "hours": 1.9336, "text": "Devlog #5 SubBake was released, the web demo went live, and then the review came back: “can’t see no subtitles.” That’s a bug report against a shipped product — the whole point of the app is subtitles, and the review had no way to see them. I couldn’t argue with it: the output carried no visible proof. This devlog is about hunting that bug down and making sure the subtitles can never be invisible again. The fix two There was no rendering at all, nothing to prove a subtitle existed. So the fix attacked both sides. Burn mode re-encodes the video with subtitles drawn into the frames, so the text becomes part of the picture — impossible to miss. And the preview gives real playback with a VTT attached to the <video> element, so muxed output shows its subtitles too. The web API grew a mode parameter ( mux | burn ), the burn path got progress and cancel wired through the existing worker machinery, and the GUI picked up a matching checkbox. Burn mode also rejects SUP input outright — bitmap subtitles can’t be rasterized by libass, and a silent fallback would just recreate the “nothing visible” bug. The output file was empty, and nobody noticed While testing burn with a +1s offset, the job failed with a cryptic libass error: Unable to open /tmp/... . The real cause was in the remux step. The remux command — the one that shifts timestamps with itsoffset before burning — was missing -y . The output path already existed because it came from NamedTemporaryFile , and ffmpeg refuses to overwrite without -y . Worse, it exited with returncode 0 while writing nothing, so the “did it succeed?” check passed. A zero-byte file then went into libass. Two small ordering bugs The preview VTT was extracted with a hardcoded \"ffmpeg\" while the rest of the server resolves a bundled binary via find_ffmpeg() . On a machine without ffmpeg on PATH, preview breaks exactly where the reviewer looks. Switched to the shared resolver. The <track> element was appended after video.load() . The track never registered, so even correct VTT extraction showed nothing. Order matters: attach the track, set the source, then load. Proof The bug report was about visibility, so the fix had to be verified the same way. I burned two different subtitle files into the same video and compared raw RGB. Everything above the subtitle band matched; rows 174–239 differed by ~14,000 pixels — the only difference between the two outputs was the burned text. Then an offset burn: at t=0.5s the frame matched the original (subtitle hadn’t appeared yet), at t=2.5s the text was present. Korean needed one more thing in production: the server had no CJK fonts, so Korean subtitles would burn as tofu boxes. Installed noto-fonts-cjk , re-ran the Korean burn — 12,152 pixels of band difference, and the black outline count jumped from 1385 to 1581. Real glyphs, not boxes."}, {"post_id": 46613, "ts": "2026-08-13T23:46:01Z", "hours": 7.2458, "text": "Devlog #4 Last time SubBake had a face and working hands. This time it learned to speak two languages, moved into a real server, and nearly broke me on the way in. The deployment deserves its own section, because nothing about it went right the first time. One language became two Every user-facing string had been hardcoded in English while I built the thing. Now it all funnels through one translation table — t(\"btn.start\") instead of \"Start SubBake\" — with a language combo in the corner that re-renders the whole window live, no restart. The trick that makes it work: widgets register a callback on a global listener list, and flipping the language calls every one of them. One slight downside is that the font changes when using Korean, which alters the layout; however, I was already so exhausted from dealing with the language settings that I didn’t have the energy to tweak it. I might adjust it later if I have the time, but I trust it will be fine since most people will likely be viewing it in English. Click, not just drag The drop zone now opens a file picker on click, with mixed multi-select for files and folders. Qt’s native dialog refuses to do that, so the code forces the Qt built-in dialog, switches it to directory mode, and then flips every internal list view to extended selection. It feels like a hack because it is one. It works beautifully. The web demo To ensure you can easily test and enjoy the project, I have deployed it using a domain in addition to providing the build files. SubBake now lives at a public URL — a FastAPI wrapper around the same core/ modules (imported, not copied), served from my home server VM, fronted by nginx, reached through a Cloudflare tunnel. Upload a video and a subtitle, watch the progress bar, download the result. Files vanish on a timer. So, the bottom line is that while you can download the Windows and Linux-compatible executables from GitHub to run the project, you can also test it using the URL provided here (the code is identical in both cases)."}, {"post_id": 45534, "ts": "2026-08-12T02:31:32Z", "hours": 8.4511, "text": "Devlog #3 Last time SubBake could mux subtitles with colors intact, but only through python -c one-liners. This time it got a face. It also got that face redesigned, because the first one looked like it was generated by an AI. More on that later. The shell The GUI is PySide6: a drag-and-drop area, a queue table, options row, a progress bar, and a collapsible log panel. Dropping a folder scans it recursively and pairs videos with same-named subtitles. The pairing is just (parent folder, lowercase stem) as a dictionary key, which quietly handles nested folders with identical filenames. Everything is a thread problem FFmpeg muxing is blocking, and a Qt window must never block. So every job is a QRunnable on a QThreadPool capped at 4. The catch: worker threads cannot touch widgets, at all, or the app crashes. So workers never see the UI — they emit signals ( progress , file_progress , finished , log ) and the GUI thread applies them. One trap cost me a real headache: the pool auto-deletes finished runnables by default. My cancel button keeps references to running tasks so it can flag them — which becomes a dangling pointer the moment auto-delete kicks in. The fix is one line you only learn by crashing: self.setAutoDelete(False) Cancel itself is two different operations pretending to be one button. thread_pool.clear() drops queued tasks, but anything already running needs a cancel() flag that FFmpeg checks between progress updates. The progress bar’s total also has to be recalculated mid-flight, or cancelling leaves the bar lying about how much is left. The tray icon that isn’t a file I didn’t want to ship an icon asset for a tray icon nobody looks at, so the app paints one at runtime — a 32×32 QPixmap filled with one flat color. Zero files, zero resource management, and honestly nobody can tell. Where SubBake stands A real window: drag-and-drop, queue table, live per-file progress, cancel, tray notification when done Four files mux in parallel without freezing the UI, and cancelling mid-run doesn’t corrupt anything Flat neutral theme, zero emoji, no gradients Still English-only, still launched from a terminal Next up Two things remain before this is a product: a language toggle (every string already funnels through one translation table, so it’s a refactor, not a rewrite), and PyInstaller packaging so normal humans can double-click it. Then the web demo, which is a story of its own."}, {"post_id": 43308, "ts": "2026-08-08T14:36:11Z", "hours": 3.5961, "text": "Devlog #2 Last time: a parser pipeline that couldn’t bake anything. Now SubBake actually muxes subtitles into video — and I collected three of the dumbest bugs I’ve ever fought along the way. The muxer was the easy part core/muxer.py runs FFmpeg as a subprocess with -progress pipe:1 and reads out_time_us lines off stdout for live progress. Video and audio are stream-copied, so a 24-minute episode remuxes in seconds. The sharp edges were plumbing: stderr needs its own drain thread or the pipe buffer fills and FFmpeg just stops, and the container picks your subtitle codec — MKV copies the track as-is, MP4 demands mov_text , WebM demands webvtt . One ffmpeg -i later: Stream #0:2(kor): Subtitle: subrip (default) , title “Korean”. It works. SRT ate my colors Then I actually watched the result. The original fansub had per-speaker colors; my output was all white. Of course — my SMI parser stripped every HTML tag, including <font color=\"#FF80C0\"> , and SRT has no styling anyway. So the plan changed: SMI now converts to ASS. The parser keeps font tags, and a new core/ass_converter.py writes a proper ASS document. Writing the font regex by hand nearly broke me This regex took longer than the entire muxer: _FONT_COLOR_RE = re.compile( r'<font\\s+[^>]*color\\s*=\\s*[\"\\']?([^\"\\'>\\s]+)[\"\\']?[^>]*>', re.IGNORECASE, ) The job sounds trivial: find opening <font> tags, capture the color. My first draft, <font color=\"(.*?)\"> , fell apart immediately — real fansub files write color=\"Red\" (a name, not hex), color=#FF80C0 (no quotes), and <font face=\"Arial\" color=\"...\"> (color isn’t the first attribute). The class [^\"\\'>\\s]+ exists because the value must stop at a quote, a space, or the tag end — and nesting quote escapes inside a Python raw string is its own hell. I built it the way everyone builds regexes: one character class at a time in a tester, pasting real SMI lines until nothing exploded. Nobody writes this in one shot; anyone who claims otherwise is lying. Then the colors came out wrong — red and blue swapped. ASS stores colors as &HBBGGRR& , a byte order from the 80s, so every RGB value gets flipped first. That cost me a long “why is the pink line blue” stare. The giant subtitle First ASS render: billboard-sized subtitles. Fontsize 36 sounds fine until you learn what PlayResX / PlayResY do — ASS declares a design resolution and the renderer scales it to the real video. I designed for 640×360 and played at 1080p: a 3× upscale, 108-pixel letters. Now I declare PlayRes 1920×1080 and the size holds at any resolution. I verified by burning test frames, because I no longer trust my own reasoning about this format. The mystery box Last ghost: a hollow rectangle between the pink Japanese line and the Korean translation. Every codepoint in those lines was clean, and re-rendering the same structure in isolation showed nothing. The culprit was the blank line — the SMI source separates the two languages with an empty line, my converter turned it into \\N\\N , and my player draws an empty subtitle line as a hollow box. Collapsing consecutive newlines fixed it, and as a bonus the output now looks exactly like the original presentation. Sometimes the bug is a blank line. That sentence is going on my gravestone. Where SubBake stands Muxing works end to end: stream copy, live progress, clean cancel, per-container codecs SMI→ASS with per-speaker colors, verified on a real episode Sane subtitle size at any resolution; phantom box gone Still no GUI — everything runs through python -c one-liners Next up The interface: a PySide6 shell with drag-and-drop, a queue table, and worker threads — the point where this becomes an app instead of modules I poke from a terminal. Qt will be perfectly calm and reasonable. (It will not be.)"}, {"post_id": 41919, "ts": "2026-08-06T13:11:24Z", "hours": 2.9786, "text": "Devlog #1 SubBake is a desktop app I’m building that embeds subtitle files (SMI / SRT / ASS / SSA / VTT / SUP) into MKV, MP4 and WebM as real subtitle tracks. Python + PySide6, FFmpeg bundled, GPL v3. This devlog covers the first stretch: empty repo to a working conversion pipeline. What I did Repo scaffold, GPL license, and a .gitignore that keeps the 300 MB ffmpeg/ folder out of git download_ffmpeg.py — downloads a static FFmpeg build for Windows / Linux / macOS, unpacks it, deletes the leftovers core/ffmpeg_locator.py — finds that binary later (bundled, PyInstaller temp dir, or PATH) Parsers for SMI and VTT, an SRT writer, encoding detection, and a matcher that pairs videos with their subtitle files Problems The SMI parser found 12 cues in a whole episode. I’d forgotten re.DOTALL , so any dialogue with a line break killed the match early. One flag later, hundreds of cues. Opened my test subtitle in VS Code and panicked - the entire file was mojibake. Took me a minute to realize the file is CP949 and the editor was just displaying it as UTF-8. The converter had already decoded it correctly. Editor lied, pipeline didn’t. The “throw it at the converter” test Grabbed a real SMI off the internet (a K-ON episode) and ran it through. 385 cues, first one at 00:00 31,458, Korean perfectly intact. The side-by-side screenshot says it best: left is the mojibake original, right is the clean SRT that came out. That’s the encoding fallback doing its job. Where SubBake stands FFmpeg downloads and gets located on all three OSes SMI / VTT → SRT conversion verified on real data No muxer, no GUI — it still can’t bake anything Next up core/muxer.py : run FFmpeg as a subprocess, stream the progress output, handle cancel, and pick the right subtitle codec per container (mov_text / webvtt / copy). Devlog #2 should have actual player screenshots instead of terminal text."}]...
|
Title: SubBake by @reimunyancat | Stardance
Devlo Title: SubBake by @reimunyancat | Stardance
Devlogs:
Devlog #1 SubBake is a desktop app I’m building that embeds subtitle files (SMI / SRT / ASS / SSA / VTT / SUP) into MKV, MP4 and WebM as real subtitle tracks. Python + PySide6, FFmpeg bundled, GPL v3. This devlog covers the first stretch: empty repo to a working conversion pipeline. What I did Repo scaffold, GPL license, and a .gitignore that keeps the 300 MB ffmpeg/ folder out of git download_ffmpeg.py — downloads a static FFmpeg build for Windows / Linux / macOS, unpacks it, deletes the leftovers core/ffmpeg_locator.py — finds that binary later (bundled, PyInstaller temp dir, or PATH) Parsers for SMI and VTT, an SRT writer, encoding detection, and a matcher that pairs videos with their subtitle files Problems The SMI parser found 12 cues in a whole episode. I’d forgotten re.DOTALL , so any dialogue with a line break killed the match early. One flag later, hundreds of cues. Opened my test subtitle in VS Code and panicked - the entire file was mojibake. Took me a minute to realize the file is CP949 and the editor was just displaying it as UTF-8. The converter had already decoded it correctly. Editor lied, pipeline didn’t. The “throw it at the converter” test Grabbed a real SMI off the internet (a K-ON episode) and ran it through. 385 cues, first one at 00:00 31,458, Korean perfectly intact. The side-by-side screenshot says it best: left is the mojibake original, right is the clean SRT that came out. That’s the encoding fallback doing its job. Where SubBake stands FFmpeg downloads and gets located on all three OSes SMI / VTT → SRT conversion verified on real data No muxer, no GUI — it still can’t bake anything Next up core/muxer.py : run FFmpeg as a subprocess, stream the progress output, handle cancel, and pick the right subtitle codec per container (mov_text / webvtt / copy). Devlog #2 should have actual player screenshots instead of terminal text.
Devlog #2 Last time: a parser pipeline that couldn’t bake anything. Now SubBake actually muxes subtitles into video — and I collected three of the dumbest bugs I’ve ever fought along the way. The muxer was the easy part core/muxer.py runs FFmpeg as a subprocess with -progress pipe:1 and reads out_time_us lines off stdout for live progress. Video and audio are stream-copied, so a 24-minute episode remuxes in seconds. The sharp edges were plumbing: stderr needs its own drain thread or the pipe buffer fills and FFmpeg just stops, and the container picks your subtitle codec — MKV copies the track as-is, MP4 demands mov_text , WebM demands webvtt . One ffmpeg -i later: Stream #0:2(kor): Subtitle: subrip (default) , title “Korean”. It works. SRT ate my colors Then I actually watched the result. The original fansub had per-speaker colors; my output was all white. Of course — my SMI parser stripped every HTML tag, including <font color="#FF80C0"> , and SRT has no styling anyway. So the plan changed: SMI now converts to ASS. The parser keeps font tags, and a new core/ass_converter.py writes a proper ASS document. Writing the font regex by hand nearly broke me This regex took longer than the entire muxer: _FONT_COLOR_RE = re.compile( r'<font\s+[^>]*color\s*=\s*["\']?([^"\'>\s]+)["\']?[^>]*>', re.IGNORECASE, ) The job sounds trivial: find opening <font> tags, capture the color. My first draft, <font color="(.*?)"> , fell apart immediately — real fansub files write color="Red" (a name, not hex), color=#FF80C0 (no quotes), and <font face="Arial" color="..."> (color isn’t the first attribute). The class [^"\'>\s]+ exists because the value must stop at a quote, a space, or the tag end — and nesting quote escapes inside a Python raw string is its own hell. I built it the way everyone builds regexes: one character class at a time in a tester, pasting real SMI lines until nothing exploded. Nobody writes this in one shot; anyone who claims otherwise is lying. Then the colors came out wrong — red and blue swapped. ASS stores colors as &HBBGGRR& , a byte order from the 80s, so every RGB value gets flipped first. That cost me a long “why is the pink line blue” stare. The giant subtitle First ASS render: billboard-sized subtitles. Fontsize 36 sounds fine until you learn what PlayResX / PlayResY do — ASS declares a design resolution and the renderer scales it to the real video. I designed for 640×360 and played at 1080p: a 3× upscale, 108-pixel letters. Now I declare PlayRes 1920×1080 and the size holds at any resolution. I verified by burning test frames, because I no longer trust my own reasoning about this format. The mystery box Last ghost: a hollow rectangle between the pink Japanese line and the Korean translation. Every codepoint in those lines was clean, and re-rendering the same structure in isolation showed nothing. The culprit was the blank line — the SMI source separates the two languages with an empty line, my converter turned it into \N\N , and my player draws an empty subtitle line as a hollow box. Collapsing consecutive newlines fixed it, and as a bonus the output now looks exactly like the original presentation. Sometimes the bug is a blank line. That sentence is going on my gravestone. Where SubBake stands Muxing works end to end: stream copy, live progress, clean cancel, per-container codecs SMI→ASS with per-speaker colors, verified on a real episode Sane subtitle size at any resolution; phantom box gone Still no GUI — everything runs through python -c one-liners Next up The interface: a PySide6 shell with drag-and-drop, a queue table, and worker threads — the point where this becomes an app instead of modules I poke from a terminal. Qt will be perfectly calm and reasonable. (It will not be.)
Devlog #3 Last time SubBake could mux subtitles with colors intact, but only through python -c one-liners. This time it got a face. It also got that face redesigned, because the first one looked like it was generated by an AI. More on that later. The shell The GUI is PySide6: a drag-and-drop area, a queue table, options row, a progress bar, and a collapsible log panel. Dropping a folder scans it recursively and pairs videos with same-named subtitles. The pairing is just (parent folder, lowercase stem) as a dictionary key, which quietly handles nested folders with identical filenames. Everything is a thread problem FFmpeg muxing is blocking, and a Qt window must never block. So every job is a QRunnable on a QThreadPool capped at 4. The catch: worker threads cannot touch widgets, at all, or the app crashes. So workers never see the UI — they emit signals ( progress , file_progress , finished , log ) and the GUI thread applies them. One trap cost me a real headache: the pool auto-deletes finished runnables by default. My cancel button keeps references to running tasks so it can flag them — which becomes a dangling pointer the moment auto-delete kicks in. The fix is one line you only learn by crashing: self.setAutoDelete(False) Cancel itself is two different operations pretending to be one button. thread_pool.clear() drops queued tasks, but anything already running needs a cancel() flag that FFmpeg checks between progress updates. The progress bar’s total also has to be recalculated mid-flight, or cancelling leaves the bar lying about how much is left. The tray icon that isn’t a file I didn’t want to ship an icon asset for a tray icon nobody looks at, so the app paints one at runtime — a 32×32 QPixmap filled with one flat color. Zero files, zero resource management, and honestly nobody can tell. Where SubBake stands A real window: drag-and-drop, queue table, live per-file progress, cancel, tray notification when done Four files mux in parallel without freezing the UI, and cancelling mid-run doesn’t corrupt anything Flat neutral theme, zero emoji, no gradients Still English-only, still launched from a terminal Next up Two things remain before this is a product: a language toggle (every string already funnels through one translation table, so it’s a refactor, not a rewrite), and PyInstaller packaging so normal humans can double-click it. Then the web demo, which is a story of its own.
Devlog #4 Last time SubBake had a face and working hands. This time it learned to speak two languages, moved into a real server, and nearly broke me on the way in. The deployment deserves its own section, because nothing about it went right the first time. One language became two Every user-facing string had been hardcoded in English while I built the thing. Now it all funnels through one translation table — t("btn.start") instead of "Start SubBake" — with a language combo in the corner that re-renders the whole window live, no restart. The trick that makes it work: widgets register a callback on a global listener list, and flipping the language calls every one of them. One slight downside is that the font changes when using Korean, which alters the layout; however, I was already so exhausted from dealing with the language settings that I didn’t have the energy to tweak it. I might adjust it later if I have the time, but I trust it will be fine since most people will likely be viewing it in English. Click, not just drag The drop zone now opens a file picker on click, with mixed multi-select for files and folders. Qt’s native dialog refuses to do that, so the code forces the Qt built-in dialog, switches it to directory mode, and then flips every internal list view to extended selection. It feels like a hack because it is one. It works beautifully. The web demo To ensure you can easily test and enjoy the project, I have deployed it using a domain in addition to providing the build files. SubBake now lives at a public URL — a FastAPI wrapper around the same core/ modules (imported, not copied), served from my home server VM, fronted by nginx, reached through a Cloudflare tunnel. Upload a video and a subtitle, watch the progress bar, download the result. Files vanish on a timer. So, the bottom line is that while you can download the Windows and Linux-compatible executables from GitHub to run the project, you can also test it using the URL provided here (the code is identical in both cases).
Devlog #5 SubBake was released, the web demo went live, and then the review came back: “can’t see no subtitles.” That’s a bug report against a shipped product — the whole point of the app is subtitles, and the review had no way to see them. I couldn’t argue with it: the output carried no visible proof. This devlog is about hunting that bug down and making sure the subtitles can never be invisible again. The fix two There was no rendering at all, nothing to prove a subtitle existed. So the fix attacked both sides. Burn mode re-encodes the video with subtitles drawn into the frames, so the text becomes part of the picture — impossible to miss. And the preview gives real playback with a VTT attached to the <video> element, so muxed output shows its subtitles too. The web API grew a mode parameter ( mux | burn ), the burn path got progress and cancel wired through the existing worker machinery, and the GUI picked up a matching checkbox. Burn mode also rejects SUP input outright — bitmap subtitles can’t be rasterized by libass, and a silent fallback would just recreate the “nothing visible” bug. The output file was empty, and nobody noticed While testing burn with a +1s offset, the job failed with a cryptic libass error: Unable to open /tmp/... . The real cause was in the remux step. The remux command — the one that shifts timestamps with itsoffset before burning — was missing -y . The output path already existed because it came from NamedTemporaryFile , and ffmpeg refuses to overwrite without -y . Worse, it exited with returncode 0 while writing nothing, so the “did it succeed?” check passed. A zero-byte file then went into libass. Two small ordering bugs The preview VTT was extracted with a hardcoded "ffmpeg" while the rest of the server resolves a bundled binary via find_ffmpeg() . On a machine without ffmpeg on PATH, preview breaks exactly where the reviewer looks. Switched to the shared resolver. The <track> element was appended after video.load() . The track never registered, so even correct VTT extraction showed nothing. Order matters: attach the track, set the source, then load. Proof The bug report was about visibility, so the fix had to be verified the same way. I burned two different subtitle files into the same video and compared raw RGB. Everything above the subtitle band matched; rows 174–239 differed by ~14,000 pixels — the only difference between the two outputs was the burned text. Then an offset burn: at t=0.5s the frame matched the original (subtitle hadn’t appeared yet), at t=2.5s the text was present. Korean needed one more thing in production: the server had no CJK fonts, so Korean subtitles would burn as tofu boxes. Installed noto-fonts-cjk , re-ran the Korean burn — 12,152 pixels of band difference, and the black outline count jumped from 1385 to 1581. Real glyphs, not boxes.
Devlog #6 Last time ended with the review finally seeing subtitles — burn mode drew them into the pixels, and the preview proved the output wasn’t empty. The review came back with a new problem, and this one was in the desktop app. The reviewer dragged a video in, then dragged its subtitle in a moment later, and nothing happened. No pair, no row, no error. Just a log line nobody reads. “I dropped the video, then the subtitle. Nothing happened.” The flow made sense to me. Any sane user would load the video and subtitles together. The app matched files by stem and folder, so the names matched — but the pair never appeared. I reproduced it immediately: drop the .mkv, 0 pairs. Drop the .srt, 0 pairs. Drop them together, 1 pair. The order wasn’t the problem — the batch was. It was by design. That was the problem. The drop handler split the incoming paths into videos and subtitles and matched them within that single batch : Both file types had to arrive in the same drop or the matcher had nothing to join. It wasn’t a bug — it worked exactly as written. My own testing had always dropped both files at once, so I never saw it. The code was correct and exactly wrong. To make it worse, that same logic was copy-pasted in four places: the drop handler, the file dialog, the drop-area click, and the folder scan. Four copies, one flaw. Deferred matching The fix was to stop matching batches and start matching state. Files now accumulate into pending queues, and every drop re-runs the matcher against everything pending. Drop the video, drop the subtitle five minutes later — the second drop finds the first and pairs them. All four entry points now route through one _ingest() method, so the deferred-matching rule can’t drift between copies again. Then I almost made it worse My first pass at leftovers had a shortcut: sort the unmatched files by name and zip them into pairs. Five videos and two subtitles? Two pairs, formed by name order, not by any actual correspondence. The names could be completely unrelated — the wrong subtitle would get muxed in silently. That’s the exact failure class I was trying to kill. So the shortcut got a guard: auto-pairing only happens when exactly one video and one subtitle are left unmatched, and everything else stays in the pending queue where the user can see it. While I was in there: dropping the same file twice no longer stacks duplicates in the queue, and the waiting notice now shows whenever anything is still pending — not just when a drop matched nothing. The log panel expands on its own so the “waiting for a matching subtitle” state is visible instead of hidden. TMI It was quite a struggle at first; I hadn’t properly watched the review video, so while testing it myself, I kept wondering, “Wait, it works fine—why do people say it doesn’t?” It turned out the issue was incredibly simple. I made a few minor quality-of-life improvements, but since they were so small, I decided to skip mentioning them. I actually wanted to do more, but I’ve already spent nine hours on this, so I’m wrapping things up now.
Ships:
SubBake is a desktop app that embeds subtitles into video files. Drop in a video and a subtitle file, and it muxes the subtitle in as a proper track — colors, timing, and all — without re-encoding anything. There is also a live web demo if you would rather try it in a browser. What it does: It reads SMI, SRT, ASS, SSA, VTT and SUP subtitles and writes MKV, MP4 or WebM. SMI fansubs keep their per-speaker colors, because they get converted to ASS instead of being flattened into SRT. The GUI takes drag and drop or a plain click, auto-matches videos to same-named subtitle files, and shows live per-file progress straight from FFmpeg’s output. FFmpeg comes bundled, so the whole thing is one executable with nothing to install, and the UI speaks English and Korean without a restart. The web demo runs the exact same pipeline on my home server. Upload both files, watch the bar, download the result. Everything you upload is deleted automatically after an hour. The hardest part was invisible. One subtitle cue kept showing a hollow box between two lines, and every character in those lines came back clean. The culprit turned out to be a blank line in the source file, which my converter faithfully translated into an empty subtitle line that the player rendered as a box. The fix was collapsing consecutive newlines into one. Sometimes the bug is a blank line. To test it: grab the release, drop a video and its subtitle onto the window, and hit Start SubBake. Or open reimunyancat.com/subbake and do the same thing with zero install....
|
1792878570.6959496
|
1793742570.6959496
|
|
20163
|
ujwalOS by @UjwalTejo | Stardance
|
UjwalTejo
|
0
|
32.76
|
0
|
[]
|
[{"post_id": 40122, "ts": "202 [{"post_id": 40122, "ts": "2026-08-03T14:54:55Z", "hours": 12.1914, "text": "VortexOS Devlog #06 I have been working on VortexOS Study Hub and added features that are really helpful while studying. A pomodoro timer which helps you stay focused while studying. Added a to-do list where the user can add tasks to do throughout the day. If they complete the task, they can click on the complete button. Then the task will reappear in the Completed Tasks box. There is also a delete button to completely delete the task added. There is also button which is the fast forward button, which makes you move the task to the next day, that means you can use it when you are not able to complete it today so you want to postpone it."}, {"post_id": 33126, "ts": "2026-07-22T19:03:40Z", "hours": 9.2289, "text": "VortexOS Devlog #05 I have been working on VortexOS for a while now and I added another app to the taskbar as you can see and it is the clock app. The clock app has two features: Timer and the Stopwatch. And both the calculator app and the clock app have a feature that when the cursor clicks somewhere else out of the app it minimized automatically and the app icon is still hovering to show the user that the app is still open. And I added a new page to VortexOS called the Study Hub which is totally dedicated for studying and nothing else. I added a link to Study Hub on top VortexOS page. And in the Study Hub page I added a link back to VortexOS and added the logo of VortexOS for the user to know about me. As you can see I added a pomodoro timer too and there will be more features like a To-Do list and Timetable and many more."}, {"post_id": 29548, "ts": "2026-07-16T15:35:59Z", "hours": 5.7753, "text": "I have been working on VortexOS and finally made a calculator app. To use the calculator app you just have to click on the app icon to open it. It has a closing button and a minimize button. The calculator app is also draggable wherever you want it to be. And you can use the numbers on your computers keyboard to type on the calculator and whenever your cursor hovers over the app icon of calculator app, the app icon elevates up and also having the box-shadow effect gives the app a high-tech glow and feel. I have to add more apps like a clock app with a stopwatch and timer feature. Background color or image choosing option which makes it similar to you choosing a wallpaper for your laptop screen."}, {"post_id": 27222, "ts": "2026-07-12T16:29:27Z", "hours": 1.685, "text": "Vortex OS Devlog #3 Added a sidebar and coded it so that a motivational quote appears whenever you change the tab or refresh the page. Made a logo for VortexOS, and when clicked on the logo, a bar pops up with the information of the creator and also the information of the project. I added box-shadowing to give the side bar and the logo a high tech look. Whenever hovered over the quote-box, the quote-box looks like it is elevating a bit and it is the same case when you hover your cursor over the logo of Vortex OS."}, {"post_id": 26721, "ts": "2026-07-11T17:55:42Z", "hours": 2.2119, "text": "I have been working on VortexOS and so far my progress is that I created a new main page to VortexOS and added suitable colors to make my project look high-tech. I added a boot-screen to make it look like the computer is processing to make the webOS work and the text on the boot-screen will have an effect that it just getting typed letter by letter to give it a cool transition. But my code had a bug in it which made my whole background go white it took me some time fix it when it finally came back to it normal form."}, {"post_id": 22299, "ts": "2026-07-04T18:06:30Z", "hours": 1.6669, "text": "I have been working on VortexOS as my first project on Stardance. I made the front page and the top bar of VortexOS v1.0."}]...
|
Title: ujwalOS by @UjwalTejo | Stardance
Devlogs: Title: ujwalOS by @UjwalTejo | Stardance
Devlogs:
I have been working on VortexOS as my first project on Stardance. I made the front page and the top bar of VortexOS v1.0.
I have been working on VortexOS and so far my progress is that I created a new main page to VortexOS and added suitable colors to make my project look high-tech. I added a boot-screen to make it look like the computer is processing to make the webOS work and the text on the boot-screen will have an effect that it just getting typed letter by letter to give it a cool transition. But my code had a bug in it which made my whole background go white it took me some time fix it when it finally came back to it normal form.
Vortex OS Devlog #3 Added a sidebar and coded it so that a motivational quote appears whenever you change the tab or refresh the page. Made a logo for VortexOS, and when clicked on the logo, a bar pops up with the information of the creator and also the information of the project. I added box-shadowing to give the side bar and the logo a high tech look. Whenever hovered over the quote-box, the quote-box looks like it is elevating a bit and it is the same case when you hover your cursor over the logo of Vortex OS.
I have been working on VortexOS and finally made a calculator app. To use the calculator app you just have to click on the app icon to open it. It has a closing button and a minimize button. The calculator app is also draggable wherever you want it to be. And you can use the numbers on your computers keyboard to type on the calculator and whenever your cursor hovers over the app icon of calculator app, the app icon elevates up and also having the box-shadow effect gives the app a high-tech glow and feel. I have to add more apps like a clock app with a stopwatch and timer feature. Background color or image choosing option which makes it similar to you choosing a wallpaper for your laptop screen.
VortexOS Devlog #05 I have been working on VortexOS for a while now and I added another app to the taskbar as you can see and it is the clock app. The clock app has two features: Timer and the Stopwatch. And both the calculator app and the clock app have a feature that when the cursor clicks somewhere else out of the app it minimized automatically and the app icon is still hovering to show the user that the app is still open. And I added a new page to VortexOS called the Study Hub which is totally dedicated for studying and nothing else. I added a link to Study Hub on top VortexOS page. And in the Study Hub page I added a link back to VortexOS and added the logo of VortexOS for the user to know about me. As you can see I added a pomodoro timer too and there will be more features like a To-Do list and Timetable and many more.
VortexOS Devlog #06 I have been working on VortexOS Study Hub and added features that are really helpful while studying. A pomodoro timer which helps you stay focused while studying. Added a to-do list where the user can add tasks to do throughout the day. If they complete the task, they can click on the complete button. Then the task will reappear in the Completed Tasks box. There is also a delete button to completely delete the task added. There is also button which is the fast forward button, which makes you move the task to the next day, that means you can use it when you are not able to complete it today so you want to postpone it....
|
1793134408.4216356
|
1793739208.4216356
|
|
27654
|
MadHex hexapod by @baitleumadi | Stardance
|
baitleumadi
|
0
|
32.76
|
0
|
[]
|
[{"post_id": 62291, "ts": "202 [{"post_id": 62291, "ts": "2026-09-05T16:21:19Z", "hours": 4.1008, "text": "the finished CAD and finihed Full project so i actually just finished everything the overall the CAD include great design with a lot of great features like: the amortization spring the calculated segment leghts detailed ready for printing design the spec the robot deisgned to be fast stable and smooth so thats why Tibia - 150mm femur - 130mm coxa -50mm full size 600mm height 175mm these values allows the LX-16A servos to work correctly and control the robot 3d printing the robot consists of several parts for 3d printing overall weight of the 3d printing parts is around 900g calculated by bambu studio the robot includes : cental case central case cap battery holder coxa servo mount coxa-femur joint femur arm consist of 4 seperate parts the tibia arm consists of 4 different parts the amortizaion spring and foot im using PETG over PLA bexause it can handle bad situations"}, {"post_id": 53580, "ts": "2026-08-24T05:39:01Z", "hours": 5.3203, "text": "THE NEW ROBOT DESIGN NEW PCB Design decision this pcb was created because previous PCB consisted the 2 buck converters which is really complicated and worst desision ever so i decided to remove them and power the servos directly with the serial bus servo motor LX-16A which is the cheapest bus servo i found with UART which can handle the 8.4V from battery and wont burn itself The PCB SChematics Power Stage the LX-16A servos can reduce up to 2A of stal current which means around 36A for all them but only part of them are gonna work in Peak at the same time which makes the basic current around 9A for whole robot and 30A fuse is making it the max current in the robot thats why all of the next components are gonna be able to handle more than 30A XT60 IRF4905S TVS DIODE and 4 big capacitor INA226(for current monitoring) resistor divider (for voltage) Converters so to power the logic i need 2 buck converters from battery to 5v and from 5v to 3.3v i used same buck converter for the powering and choose the value for resistors using the formula from datasheet 2x TPS563201 buck Servo bus so the lx-16a servo motor uses UART protocol and have BUS logic signal the combine of TX RX because MCU uses RX TX but we need BUS i used half duplex trasistor to make it work and also added second half duplex because 18motor for 1 transistor can be alot and dividing it into 2 parts makes the signal a way better and clean 2N2222 6 ports - because the UART works like a chain so you can power and control all 18 servos with 1 port but we have to use 6 ports 1 per leg because otherwise the wires will stuck and wont be connected correctly MCU the mcu is esp32-s3 because it basic and best microcontrolleer with wifi so i can control the robot with wifi which makes it easier ESP32-S3 USB-C buttons *LED for feedback IMU i used BNO055 because while reaserching about IMU i found out that the mpu6050 and other costs the same as the BNO055 but the BNO is much stronger and the best part is that it has it own computing power which helps the MCU which is already have too much to compute the Layout design the PCB include 4 layers 1layer power zones and logic signals 2layer GND 3layer Logic Power and signals 4layer Power zones and logic signals The placement i placed the components so the power components will be seperated from Logic components to make it efficent and work correctly"}, {"post_id": 28115, "ts": "2026-07-14T05:46:33Z", "hours": 1.6503, "text": "almoooost finissh CADDDD The Design So actuallyy the design is look exactly what i wanted to see before and im so so happy with this abiut overall construction we have today : coxa mounting is fixed and changed : about it i decided to start iver and make the coxa mounting better use less plactic and make each mounting seperate which allowed me to make the rangw of motion bigger because of angle of rotation of the coxa which is around 70 and im pretty sure it is enough added a but longer femur for bigger range of angle rotation and also added long curved Tibia part which is also really great the mounting all the parts usuallly mount with just screw and nuts but i also added holes for insert where i need 100% stability and where i have place to place the insert because it is ussually around 5-6mm hole for M3 screw and nut and around 10mm for insert nounting the overall im really proud of this design and think that this is gonna be great and now i just have to fixe some small parts in CAD and make BOM and etc"}, {"post_id": 27801, "ts": "2026-07-13T17:54:27Z", "hours": 2.4086, "text": "New design Yeah i finally made new desing of robot the Genrative design problem after last attempts i actually got really good results with pretty great design but i think that they are pretty weak thats wwhy i spent all day waiting when it will generate a tonn of design with different constarins and loads and come up WITH result that im gonna make it myself and refuse the idea with light and futuristic frame the Current design it is pretty good i think i added the placement for bearings which will hold the axis from the oposite side of the servo shaft mirror it all and now have beatiful design of coxa the size about the size of the leg now im thinking to make the fibia 2 times longer than the coxa and the tibia 2.5 longer than the coxa which means the leg should be right propotional the leg Propotions : 1:2.0:2.5"}, {"post_id": 26083, "ts": "2026-07-10T17:47:10Z", "hours": 2.55, "text": "Failures again generative design so i have no idea now why is generative design is doing evertyhing wrong because i used everything i know and all my creativity but still this is not what i want and i think i have to just quit the idea with generative and Use FEA and a lot of a lot of time improving the main problem the main problem with the generative is that is always change everything in preverse and i thought if it failured when i 1. change the objective 2. constrains it is just trying to decrese anount of plastic in preverse what i dont want it to do i think the ways i have left i can try again and i think i will make it sucsses next time i can make it myself even if it is now as good as the generated design probably gonna make it myselg for now using generative only for small easy parts"}, {"post_id": 25330, "ts": "2026-07-09T15:37:55Z", "hours": 4.5667, "text": "the Finished Ultimate PCB!!!!!!!!!! i’m actually so happy to say that this pcb is finished because now i can finally work on my CAD of robot so here is what i did last 5 hours : firstly check all components of the schematics work on improving it add some extra capcitors replaced all CP 10uf to 10uf C added all Footprints placed everything and route everything Problems Of course i had problems while working The Footprint problems : i had no idea what footprints should go to usb and my buttons which is bi problem because if you choose wrong one you are definetely gonna regret it because of mounting The routing problem: i think it is the problem where ispent most of the time so the main reason is the placing which is really compact and makes it really hard to route and because of that while routing the 32 PWM ways connectors everything been wrong if i tried to solve one problem it causes another that why i spent a lot of time changing everyghuing all the time Overall so i can say that now i have ready PCB with 4 layers and compact size which takes the project to higher level yeahhh and now i have to go study exams…."}, {"post_id": 24072, "ts": "2026-07-07T11:56:29Z", "hours": 1.4169, "text": "the Schematics of ultimate PCB for hexapod include: 2 screw terminals for main servo power 1 screw terminal for 5v batt+ and gnd 32 sockets for 32 servos( it can handle 32 servos but 18 servos is enough for hexapod added just in case if some one want more servo ) 2 PCA9685 for controling servos BNO055 for understanding the angle ( i replaced the mpu6500/9250 to bno055 because bno055 has its own brain and can calcute it while mpu cant and the price is the same sometimes mpu even more expensive than the bno055 2 resistors for batt sense esp32-s3 as main brain with ams1117 3.3 and smd buttons and usb -c port some LEDs for feedback overall of schematics i think this version is much more better than previous and will be working much much better now and gonna be more compact next step ideas now im thinking about finishing the pcb as soon as possible and learn to use generaive gesign properly so i can use it to make light and strong parts using 3d printed PETG because 50-60cm robot is gonna be pretty big and making it as light as possible so DS3235 servos can handle the robot easily is really important"}, {"post_id": 23516, "ts": "2026-07-06T15:14:41Z", "hours": 1.0169, "text": "The new ultimatee PCB why did i start New PCB Actully while making the CAD i was just thiinking how to make it beatiful moveable and just great and i started searching and found a lot of beatiful hexapods and found out that i really need to make my centre part thicker thats why im making the pcb with all parts in it and also to use 2 PCAs as i know i have to change the adress but i didnt really wanted to make it in ready ones added to PCB 2 INA226 for collecting more data from robot 2 PCA9685 ams1117 3.3 esp32-s3 wroom1 usb-c-16pins and also replaced the xl4016 8A to 300W 20A buck because 1 servo can require up to 3-4A and 18 is gonna eat around 50-60A if include the fact that im gonna use 2 buck converters it is gonna handle up to 40A and it is enough because only 6 servos gonna work on peak and only half of servos gonna work at one time which means that the 40A is gonna be a lot Overall im gonna finish the schematics and the PCb next session and use this small PCB in the robot and also add use FEA everywhere to decrease the weigth of robot for better performance"}, {"post_id": 22174, "ts": "2026-07-04T14:36:35Z", "hours": 2.4831, "text": "So im proud of myself so much because now the hexapod looks pretty good i think im done with the coxa servos mounting the failure of Generative design So today i forgot to record the time when i worked on my generative design stuff i wanted to make the robot really light and strong but the generation from the fusion is really bad so i had to make everything my self of course it is not as good looking as the Ai generated super robot but anyway i think it looks great for now i aactually tried to desrease the weight of the robot as much as posiible by adding holes and etc which also works as the wire managment ways"}, {"post_id": 21637, "ts": "2026-07-03T18:01:41Z", "hours": 1.1167, "text": "So this session i finished mounting the electronics and made coxe servos mounting place about some problems i am really confused how am i gonna design the other parts of legs stable and with great performance and also about thw overall look of the robot because i didnt design fully custom pcb and the Xl4016 are really massive the centre of the robot is gonna be pretty heavy and ugly new idea sooooooooo now im thinking to learn and use generative degisn to make it a waaaay lighter and look like ALIEN warrior spider robot"}, {"post_id": 21421, "ts": "2026-07-03T11:13:05Z", "hours": 0.9333, "text": "its session 5 if im not wrong and today worked on making the mounting of pcb correct and also worked on the CAD of main centre section and placement of electrical components PCB Changes firstly i fixed the mounting holes place on the pcb my matching the pcb holes with pca and mpu holes also moved the left PCA a bit to the centre so the fisrt PCA will not interfere with the second PCA terminal block and all wires can be placed easily CAD choose 14 side polygon because it is the best matching amount of sides for the good placement of servos so overall now i have finished PCB i guess and started working on the CAD for the Hexapod robot"}, {"post_id": 20949, "ts": "2026-07-02T18:00:15Z", "hours": 1.4506, "text": "so this is session 4 of working on pcb and i finally finished second desgin of pcb which looks amazing Added LED lights for better feedback a bunch of mountong holes for better placment of pcbs bigger capcitors better come and out of V servos actully seperate them into a servo line b servo line one for first xl and second for second xl overall i wanna say that this pcb maybe not the last one but at least great one it contains esp32-s3 mpu6500 and 2 PCa 9685 on the board and 2 XL4016 with 1 small buck down stepper also some capcitors for smooth robot performance"}, {"post_id": 20654, "ts": "2026-07-02T09:37:22Z", "hours": 1.3717, "text": "So last session after finishing the pcb i opened the fusion autodesk and it was blank after spending 2 days on fixing the issue i finally did it but understand that the PCB is wrong so firstly it was really ugly the PCAs mounting is really bad and i decided to make new one updates i decided to add second Xl4016 because i figured out that the one xl can handle only 8A but 18 servos require a lot more so i put second one 1 Xl4016 for 1 PCA9685 added some capcitors for smoother performance added LEDs added DIOD for protection i also added mounting holes for whole pcb and PCAs with MPU just in not this photo of schematics so overall i think this design of PCB is gonna be a way better at least because i reasearched and figured out my problems"}, {"post_id": 18358, "ts": "2026-06-29T14:10:59Z", "hours": 1.6236, "text": "PCB V1 so this is session 2 and i made pcb so today i had changed some things : i have changed the schematics a little bit by adding testpoints add the footprints for each component and made the rounting with 3 different width of lines added 2mm super fat lines to make it possible to work because 18 servo motors is gonna eat a lot a lot ampers and 1mm 0.5mm is just gonna fire Todays Problem so actually while making the pcb i got some problems fisrtly in my head the battery voltage goes directly to the xl4016 which means its not gonna get to pcb but i needded the battery voltage for that 2 resistors to understand the current voltage and battery so i decided to solder second line of wire from main wire which goes to xl4016 and head the secondary wires of battery voltage to 2 pads 2.5x2.5mm on the pcb"}, {"post_id": 17846, "ts": "2026-06-28T19:48:52Z", "hours": 0.7503, "text": "hi its first session working on my hexapod robot named MADHEX (name come from MAD is first 3 letters of my name and HEX is from first 3 letters of Hexapod ) So in Schematics we have : all of the components is ready modules and pcb is just placing one to make it clean from wires and etc Esp32-s3 i use it because i have it at home and i wanted to find the place for this microcontroller anyway its really great option for the controller and im pretty sure its gonna run inverse kinematics easily Pca9685 x2 so because the hexapod require 18 servos it need also 18 pwm signals but 1 PCA can provide only 16 what why we use 2 of them the step down converters i use 2 of them XL4016 for stable voltage for the servos because its big and great and mini 360 for 5v logic Capcitors and Resistors so as you can see in schematics i use C1 and C2 for stabilizing the voltage jumps and just making the robot smoother and resistors for Battery sense to make robot understand the current battery MPU 6500 its just basics for every robot and for hexapod it is the must have sensor but i choose the 6500 not the 6050 because 6500 is newer so this is the schmeatics and everything about it it is great and powerful and the main idea is that if something is gonna brake i will just replace 1 component and it will cost cents and im not gonna replace the whole pcb"}]...
|
Title: MadHex hexapod by @baitleumadi | Stardance
Title: MadHex hexapod by @baitleumadi | Stardance
Devlogs:
hi its first session working on my hexapod robot named MADHEX (name come from MAD is first 3 letters of my name and HEX is from first 3 letters of Hexapod ) So in Schematics we have : all of the components is ready modules and pcb is just placing one to make it clean from wires and etc Esp32-s3 i use it because i have it at home and i wanted to find the place for this microcontroller anyway its really great option for the controller and im pretty sure its gonna run inverse kinematics easily Pca9685 x2 so because the hexapod require 18 servos it need also 18 pwm signals but 1 PCA can provide only 16 what why we use 2 of them the step down converters i use 2 of them XL4016 for stable voltage for the servos because its big and great and mini 360 for 5v logic Capcitors and Resistors so as you can see in schematics i use C1 and C2 for stabilizing the voltage jumps and just making the robot smoother and resistors for Battery sense to make robot understand the current battery MPU 6500 its just basics for every robot and for hexapod it is the must have sensor but i choose the 6500 not the 6050 because 6500 is newer so this is the schmeatics and everything about it it is great and powerful and the main idea is that if something is gonna brake i will just replace 1 component and it will cost cents and im not gonna replace the whole pcb
PCB V1 so this is session 2 and i made pcb so today i had changed some things : i have changed the schematics a little bit by adding testpoints add the footprints for each component and made the rounting with 3 different width of lines added 2mm super fat lines to make it possible to work because 18 servo motors is gonna eat a lot a lot ampers and 1mm 0.5mm is just gonna fire Todays Problem so actually while making the pcb i got some problems fisrtly in my head the battery voltage goes directly to the xl4016 which means its not gonna get to pcb but i needded the battery voltage for that 2 resistors to understand the current voltage and battery so i decided to solder second line of wire from main wire which goes to xl4016 and head the secondary wires of battery voltage to 2 pads 2.5x2.5mm on the pcb
So last session after finishing the pcb i opened the fusion autodesk and it was blank after spending 2 days on fixing the issue i finally did it but understand that the PCB is wrong so firstly it was really ugly the PCAs mounting is really bad and i decided to make new one updates i decided to add second Xl4016 because i figured out that the one xl can handle only 8A but 18 servos require a lot more so i put second one 1 Xl4016 for 1 PCA9685 added some capcitors for smoother performance added LEDs added DIOD for protection i also added mounting holes for whole pcb and PCAs with MPU just in not this photo of schematics so overall i think this design of PCB is gonna be a way better at least because i reasearched and figured out my problems
so this is session 4 of working on pcb and i finally finished second desgin of pcb which looks amazing Added LED lights for better feedback a bunch of mountong holes for better placment of pcbs bigger capcitors better come and out of V servos actully seperate them into a servo line b servo line one for first xl and second for second xl overall i wanna say that this pcb maybe not the last one but at least great one it contains esp32-s3 mpu6500 and 2 PCa 9685 on the board and 2 XL4016 with 1 small buck down stepper also some capcitors for smooth robot performance
its session 5 if im not wrong and today worked on making the mounting of pcb correct and also worked on the CAD of main centre section and placement of electrical components PCB Changes firstly i fixed the mounting holes place on the pcb my matching the pcb holes with pca and mpu holes also moved the left PCA a bit to the centre so the fisrt PCA will not interfere with the second PCA terminal block and all wires can be placed easily CAD choose 14 side polygon because it is the best matching amount of sides for the good placement of servos so overall now i have finished PCB i guess and started working on the CAD for the Hexapod robot
So this session i finished mounting the electronics and made coxe servos mounting place about some problems i am really confused how am i gonna design the other parts of legs stable and with great performance and also about thw overall look of the robot because i didnt design fully custom pcb and the Xl4016 are really massive the centre of the robot is gonna be pretty heavy and ugly new idea sooooooooo now im thinking to learn and use generative degisn to make it a waaaay lighter and look like ALIEN warrior spider robot
So im proud of myself so much because now the hexapod looks pretty good i think im done with the coxa servos mounting the failure of Generative design So today i forgot to record the time when i worked on my generative design stuff i wanted to make the robot really light and strong but the generation from the fusion is really bad so i had to make everything my self of course it is not as good looking as the Ai generated super robot but anyway i think it looks great for now i aactually tried to desrease the weight of the robot as much as posiible by adding holes and etc which also works as the wire managment ways
The new ultimatee PCB why did i start New PCB Actully while making the CAD i was just thiinking how to make it beatiful moveable and just great and i started searching and found a lot of beatiful hexapods and found out that i really need to make my centre part thicker thats why im making the pcb with all parts in it and also to use 2 PCAs as i know i have to change the adress but i didnt really wanted to make it in ready ones added to PCB 2 INA226 for collecting more data from robot 2 PCA9685 ams1117 3.3 esp32-s3 wroom1 usb-c-16pins and also replaced the xl4016 8A to 300W 20A buck because 1 servo can require up to 3-4A and 18 is gonna eat around 50-60A if include the fact that im gonna use 2 buck converters it is gonna handle up to 40A and it is enough because only 6 servos gonna work on peak and only half of servos gonna work at one time which means that the 40A is gonna be a lot Overall im gonna finish the schematics and the PCb next session and use this small PCB in the robot and also add use FEA everywhere to decrease the weigth of robot for better performance
the Schematics of ultimate PCB for hexapod include: 2 screw terminals for main servo power 1 screw terminal for 5v batt+ and gnd 32 sockets for 32 servos( it can handle 32 servos but 18 servos is enough for hexapod added just in case if some one want more servo ) 2 PCA9685 for controling servos BNO055 for understanding the angle ( i replaced the mpu6500/9250 to bno055 because bno055 has its own brain and can calcute it while mpu cant and the price is the same sometimes mpu even more expensive than the bno055 2 resistors for batt sense esp32-s3 as main brain with ams1117 3.3 and smd buttons and usb -c port some LEDs for feedback overall of schematics i think this version is much more better than previous and will be working much much better now and gonna be more compact next step ideas now im thinking about finishing the pcb as soon as possible and learn to use generaive gesign properly so i can use it to make light and strong parts using 3d printed PETG because 50-60cm robot is gonna be pretty big and making it as light as possible so DS3235 servos can handle the robot easily is really important
the Finished Ultimate PCB!!!!!!!!!! i’m actually so happy to say that this pcb is finished because now i can finally work on my CAD of robot so here is what i did last 5 hours : firstly check all components of the schematics work on improving it add some extra capcitors replaced all CP 10uf to 10uf C added all Footprints placed everything and route everything Problems Of course i had problems while working The Footprint problems : i had no idea what footprints should go to usb and my buttons which is bi problem because if you choose wrong one you are definetely gonna regret it because of mounting The routing problem: i think it is the problem where ispent most of the time so the main reason is the placing which is really compact and makes it really hard to route and because of that while routing the 32 PWM ways connectors everything been wrong if i tried to solve one problem it causes another that why i spent a lot of time changing everyghuing all the time Overall so i can say that now i have ready PCB with 4 layers and compact size which takes the project to higher level yeahhh and now i have to go study exams….
Failures again generative design so i have no idea now why is generative design is doing evertyhing wrong because i used everything i know and all my creativity but still this is not what i want and i think i have to just quit the idea with generative and Use FEA and a lot of a lot of time improving the main problem the main problem with the generative is that is always change everything in preverse and i thought if it failured when i 1. change the objective 2. constrains it is just trying to decrese anount of plastic in preverse what i dont want it to do i think the ways i have left i can try again and i think i will make it sucsses next time i can make it myself even if it is now as good as the generated design probably gonna make it myselg for now using generative only for small easy parts
New design Yeah i finally made new desing of robot the Genrative design problem after last attempts i actually got really good results with pretty great design but i think that they are pretty weak thats wwhy i spent all day waiting when it will generate a tonn of design with different constarins and loads and come up WITH result that im gonna make it myself and refuse the idea with light and futuristic frame the Current design it is pretty good i think i added the placement for bearings which will hold the axis from the oposite side of the servo shaft mirror it all and now have beatiful design of coxa the size about the size of the leg now im thinking to make the fibia 2 times longer than the coxa and the tibia 2.5 longer than the coxa which means the leg should be right propotional the leg Propotions : 1:2.0:2.5
almoooost finissh CADDDD The Design So actuallyy the design is look exactly what i wanted to see before and im so so happy with this abiut overall construction we have today : coxa mounting is fixed and changed : about it i decided to start iver and make the coxa mounting better use less plactic and make each mounting seperate which allowed me to make the rangw of motion bigger because of angle of rotation of the coxa which is around 70 and im pretty sure it is enough added a but longer femur for bigger range of angle rotation and also added long curved Tibia part which is also really great the mounting all the parts usuallly mount with just screw and nuts but i also added holes for insert where i need 100% stability and where i have place to place the insert because it is ussually around 5-6mm hole for M3 screw and nut and around 10mm for insert nounting the overall im really proud of this design and think that this is gonna be great and now i just have to fixe some small parts in CAD and make BOM and etc
THE NEW ROBOT DESIGN NEW PCB Design decision this pcb was created because previous PCB consisted the 2 buck converters which is really complicated and worst desision ever so i decided to remove them and power the servos directly with the serial bus servo motor LX-16A which is the cheapest bus servo i found with UART which can handle the 8.4V from battery and wont burn itself The PCB SChematics Power Stage the LX-16A servos can reduce up to 2A of stal current which means around 36A for all them but only part of them are gonna work in Peak at the same time which makes the basic current around 9A for whole robot and 30A fuse is making it the max current in the robot thats why all of the next components are gonna be able to handle more than 30A XT60 IRF4905S TVS DIODE and 4 big capacitor INA226(for current monitoring) resistor divider (for voltage) Converters so to power the logic i need 2 buck converters from battery to 5v and from 5v to 3.3v i used same buck converter for the powering and choose the value for resistors using the formula from datasheet 2x TPS563201 buck Servo bus so the lx-16a servo motor uses UART protocol and have BUS logic signal the combine of TX RX because MCU uses RX TX but we need BUS i used half duplex trasistor to make it work and also added second half duplex because 18motor for 1 transistor can be alot and dividing it into 2 parts makes the signal a way better and clean 2N2222 6 ports - because the UART works like a chain so you can power and control all 18 servos with 1 port but we have to use 6 ports 1 per leg because otherwise the wires will stuck and wont be connected correctly MCU the mcu is esp32-s3 because it basic and best microcontrolleer with wifi so i can control the robot with wifi which makes it easier ESP32-S3 USB-C buttons *LED for feedback IMU i used BNO055 because while reaserching about IMU i found out that the mpu6050 and other costs the same as the BNO055 but the BNO is much stronger and the best part is that it has it own computing power which helps the MCU which is already have too much to compute the Layout design the PCB include 4 layers 1layer power zones and logic signals 2layer GND 3layer Logic Power and signals 4layer Power zones and logic signals The placement i placed the components so the power components will be seperated from Logic components to make it efficent and work correctly
the finished CAD and finihed Full project so i actually just finished everything the overall the CAD include great design with a lot of great features like: the amortization spring the calculated segment leghts detailed ready for printing design the spec the robot deisgned to be fast stable and smooth so thats why Tibia - 150mm femur - 130mm coxa -50mm full size 600mm height 175mm these values allows the LX-16A servos to work correctly and control the robot 3d printing the robot consists of several parts for 3d printing overall weight of the 3d printing parts is around 900g calculated by bambu studio the robot includes : cental case central case cap battery holder coxa servo mount coxa-femur joint femur arm consist of 4 seperate parts the tibia arm consists of 4 different parts the amortizaion spring and foot im using PETG over PLA bexause it can handle bad situations...
|
1792727492.6705518
|
1793332292.6705518
|
|
65413
|
Celestie by @sylvieisnton | Stardance
|
sylvieisnton
|
0
|
32.71
|
0
|
[]
|
[{"post_id": 80175, "ts": "202 [{"post_id": 80175, "ts": "2026-10-16T15:37:27Z", "hours": 27.3972, "text": "I FORGOT TO WRITE LOGS but icons were made and sadness was had for the 17.5 hours that aren’t counted"}, {"post_id": 73693, "ts": "2026-09-25T18:29:16Z", "hours": 5.31, "text": "Create logo, add SVG building"}]...
|
Title: Celestie by @sylvieisnton | Stardance
Devl Title: Celestie by @sylvieisnton | Stardance
Devlogs:
Create logo, add SVG building
I FORGOT TO WRITE LOGS but icons were made and sadness was had for the 17.5 hours that aren’t counted...
|
1793087422.4841146
|
1793692222.4841146
|
|
7176
|
KSB Website by @sandrp | Stardance
|
sandrp
|
0
|
32.67
|
0
|
[]
|
[{"post_id": 24020, "ts": "202 [{"post_id": 24020, "ts": "2026-07-07T09:34:27Z", "hours": 23.9783, "text": "changed all text, added better localisation. Also fixed manyyy issues regarting seo"}, {"post_id": 13840, "ts": "2026-06-22T17:59:13Z", "hours": 2.5539, "text": "Language there is now the fully functional ability to change the language. The options are english and german. The goal is that all visitors can translate the site via the browser extention of choise. There for it was important that all images hat alts, etc."}, {"post_id": 2659, "ts": "2026-06-05T10:14:42Z", "hours": 5.5858, "text": "Added multi Language Selector"}, {"post_id": 2099, "ts": "2026-06-04T12:55:58Z", "hours": 0.5542, "text": "fixed config for git ci/cd"}]...
|
Title: KSB Website by @sandrp | Stardance
Devlogs Title: KSB Website by @sandrp | Stardance
Devlogs:
fixed config for git ci/cd
Added multi Language Selector
Language there is now the fully functional ability to change the language. The options are english and german. The goal is that all visitors can translate the site via the browser extention of choise. There for it was important that all images hat alts, etc.
changed all text, added better localisation. Also fixed manyyy issues regarting seo...
|
1792716777.167791
|
1793321577.167791
|
|
40309
|
Bast.sh: The fast way into the servers you use eve Bast.sh: The fast way into the servers you use every day. by @Ted | Stardance...
|
Ted
|
1
|
32.66
|
335
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T21:33:32Z", "hours": 21.0, "multiplier": 17.84, "payout": 335, "blessing": "neutral", "text": "Bast.sh is a terminal native SSH hosts and keys manager. Here’s why. I was interning at a company who religiously use GCP. The problem was that Termius doesn’t have GCP sync, and Termius doesn’t run in my terminal! So, I decided to make a TUI (in Go!) which solved this. It uses your current ssh config and extends it. That means we use the native ssh binary. Connect, group, filter, hosts and keys. Sync hosts between your machine and AWS, GCP and Azure, with keyless connection via the native platform CLI. Sync between your machines with Bast Vault, a free web service, or self host it. SFTP is a lightweight file explorer, allowing quick file transfers using the same ssh config. No need for another app. All native.", "repo": "https://github.com/ellipse-software/bast/tree/master", "demo": "https://bast.sh/"}]...
|
[{"post_id": 63172, "ts": "202 [{"post_id": 63172, "ts": "2026-09-06T20:30:11Z", "hours": 4.1425, "text": "Some of my progress didn’t get saved to stardance, but we’ve made a lot of changes: Vercel Sandbox sync and lifecycle controls Hetzner Cloud server sync and management Secure host password storage Inline text, JSON and PDF file previews New first-run onboarding bast doctor diagnostics and automatic fixes Shell completions for six shells Improved key management and keyboard shortcuts Numerous TUI and CLI fixes and improvements"}, {"post_id": 52688, "ts": "2026-08-22T23:23:33Z", "hours": 1.9547, "text": "I’m working on a new sync tab, and new providers!"}, {"post_id": 52369, "ts": "2026-08-22T14:13:29Z", "hours": 3.1444, "text": "I’m pleased to share we’ve been sponsored twice, each $100, by members of the community! So, I’ve made a sponsors and testimonials section on the website."}, {"post_id": 50283, "ts": "2026-08-19T13:15:14Z", "hours": 2.4172, "text": "I’ve been working on adding native windows support after some feedback. Currently waiting for the winget PR to be merged, and have been fixing some encoding errors."}, {"post_id": 39726, "ts": "2026-08-02T21:28:11Z", "hours": 0.2592, "text": "I spent a few minutes tidying up the website before shipping :)"}, {"post_id": 39119, "ts": "2026-08-01T20:31:36Z", "hours": 1.1594, "text": "Today I added an SFTP TUI into Bast and added a end to end encrypted key and host sync to the cloud. The SFTP interface connects with the same as hosts, and also has a cool chmod interface, since I still can’t remember how to do chmod correctly. The host sync encrypts Bast-managed hosts and keys with a local passphrase, and communicates via a hosted (or self hosted!) api which stores metadata in Upstash for super quick checks to see if a sync needs to happen, and the encrypted blob in R2. This was fun."}, {"post_id": 37855, "ts": "2026-07-30T20:34:30Z", "hours": 5.7019, "text": "AWS, GCP, Azure, Grouping, Speed and Mono! The past few days I’ve made a lot of cool enhancements. Firstly, we support AWS, GCP and Azure for cloud syncing. It uses the native CLI to sync your remote hosts, and uses the CLI to connect you without having a private key on your machine. This allows companies to keep control of their machines. Next, I made opening Bast 5x faster, and parsing config 13x faster. There is a new grouping mechanism, and a contributor is actually working on a new flow to make it even easier. Bast can now suggest hosts to add and connect to if you’ve tried to connect to them before, from your history file. And finally, it’s now a monorepo!"}, {"post_id": 36279, "ts": "2026-07-28T08:47:49Z", "hours": 1.6419, "text": "Today I built Amazon EC2 cloud sync into Bast. It syncs all accessible VMs into the UI. It connects by creating a temporary SSH key and uploading it to the guest agent via the native Amazon CLI. That means no keys are needed to be stored locally, and the permission to access the VM is handled by AWS’s own policies."}, {"post_id": 35432, "ts": "2026-07-26T20:44:04Z", "hours": 12.0433, "text": "I just launched Bast.sh. Bast.sh is a TUI (and CLI) to browse and edit your SSH hosts and keys. It uses the native ssh binary and uses your per-existing SSH config, so as soon as you open Bast you’ll already be able to get started. It helps with organisation of hosts, with groups, tags and colours."}]...
|
Title: Bast.sh: The fast way into the servers you Title: Bast.sh: The fast way into the servers you use every day. by @Ted | Stardance
Devlogs:
I just launched Bast.sh. Bast.sh is a TUI (and CLI) to browse and edit your SSH hosts and keys. It uses the native ssh binary and uses your per-existing SSH config, so as soon as you open Bast you’ll already be able to get started. It helps with organisation of hosts, with groups, tags and colours.
Today I built Amazon EC2 cloud sync into Bast. It syncs all accessible VMs into the UI. It connects by creating a temporary SSH key and uploading it to the guest agent via the native Amazon CLI. That means no keys are needed to be stored locally, and the permission to access the VM is handled by AWS’s own policies.
AWS, GCP, Azure, Grouping, Speed and Mono! The past few days I’ve made a lot of cool enhancements. Firstly, we support AWS, GCP and Azure for cloud syncing. It uses the native CLI to sync your remote hosts, and uses the CLI to connect you without having a private key on your machine. This allows companies to keep control of their machines. Next, I made opening Bast 5x faster, and parsing config 13x faster. There is a new grouping mechanism, and a contributor is actually working on a new flow to make it even easier. Bast can now suggest hosts to add and connect to if you’ve tried to connect to them before, from your history file. And finally, it’s now a monorepo!
Today I added an SFTP TUI into Bast and added a end to end encrypted key and host sync to the cloud. The SFTP interface connects with the same as hosts, and also has a cool chmod interface, since I still can’t remember how to do chmod correctly. The host sync encrypts Bast-managed hosts and keys with a local passphrase, and communicates via a hosted (or self hosted!) api which stores metadata in Upstash for super quick checks to see if a sync needs to happen, and the encrypted blob in R2. This was fun.
I spent a few minutes tidying up the website before shipping :)
I’ve been working on adding native windows support after some feedback. Currently waiting for the winget PR to be merged, and have been fixing some encoding errors.
I’m pleased to share we’ve been sponsored twice, each $100, by members of the community! So, I’ve made a sponsors and testimonials section on the website.
I’m working on a new sync tab, and new providers!
Some of my progress didn’t get saved to stardance, but we’ve made a lot of changes: Vercel Sandbox sync and lifecycle controls Hetzner Cloud server sync and management Secure host password storage Inline text, JSON and PDF file previews New first-run onboarding bast doctor diagnostics and automatic fixes Shell completions for six shells Improved key management and keyboard shortcuts Numerous TUI and CLI fixes and improvements
Ships:
Bast.sh is a terminal native SSH hosts and keys manager. Here’s why. I was interning at a company who religiously use GCP. The problem was that Termius doesn’t have GCP sync, and Termius doesn’t run in my terminal! So, I decided to make a TUI (in Go!) which solved this. It uses your current ssh config and extends it. That means we use the native ssh binary. Connect, group, filter, hosts and keys. Sync hosts between your machine and AWS, GCP and Azure, with keyless connection via the native platform CLI. Sync between your machines with Bast Vault, a free web service, or self host it. SFTP is a lightweight file explorer, allowing quick file transfers using the same ssh config. No need for another app. All native....
|
1793109018.7831523
|
1793195418.7831523
|
|
54314
|
Aporia by @Eclipse | Stardance
|
Eclipse
|
1
|
32.62
|
528
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T16:28:28Z", "hours": 30.0, "multiplier": 14.58, "payout": 528, "blessing": "neutral", "text": "What did I make? I made Aporia: Hear Chaos, a double pendulum simulation that lets you see and hear chaos. Two almost identical pendulums, one tiny difference, and eventually two very different futures… Just physics being dramatic again, lol… What was challenging? Tbh, making the project itself was the biggest challenge for me, as I was a total Cpp beginner before starting it out, perhaps that’s why it took me so long to make this project? But anyways, it started as one small C++ file and somehow became a collection of about 17 files and several opportunities to question my life choices. Even in that ig, the hardest part was the Sonification, as Sound and waves are lwk my weakest parts of physics ;-; And also the fact that I’m not used to making huge projects like these (yes, for me it’s huge 🗿), as the project grew bigger and bigger, I encountered another problem, that is I’d sometimes randomly forget what function did what and why and stuff like that… which led to me finally learning the hard way why Comments are necessary in programming 🫠 I’m just proud that I was able to finish this project at all,, which looked like a mountain by the time I started,, but step by step, I was able to tame it.. :) If you encounter an error like “damaged file” or smth while running Aporia, do read the Readme on it’s github repo where I’ve written down the steps to solve it.. And that’s it I believe? It was fun 🍀 Thank you for reading all the way till here..!! and Have an amazing dayy!!", "repo": "https://github.com/Alchemic-Eclipse/aporia", "demo": "https://github.com/Alchemic-Eclipse/aporia/releases/tag/v1.0"}]...
|
[{"post_id": 81831, "ts": "202 [{"post_id": 81831, "ts": "2026-10-22T17:39:03Z", "hours": 2.6228, "text": "The Ultimate Return After a month, that is one hell of a title. But guess what, I’m back again!! After a long enough break, I think I’m ready to get in the quiet grind mode 🗿 . The biggest complaints with Aporia till now was the fact that it’s only for Mac and not windows…. but that shall change soon, ie. I’m working on a Windows build of Aporia, which is somewhat ready, in a way. So within the next few days, it’ll be available for both operating systems (if ur not sure why I added the cat emoji, trust me, even I’m not sure 😭) . But keeping that aside, I have made some progress today, that is, The simulation is wayy more realistic now. This is because in the shipped version of Aporia, the size of pendulum I used was 80 meters, instead of 80 centimeters,,, which is a little huge, incase you live under a rock 🗿 So after some tries n fixes here and there, I finally got it down to 0.8 meters (aka 80 cm), making the simulation even more realistic than before. I’ve adjusted the time step to be approximately the same as the real life time step of our world (1 sec per sec). Previously it used to be a little faster… making the simulation appear faster than it actually is… even tho time step was still editable, but why not just make the default one sane? . And now, even in Aporia, every 60 sec, a minute passes,,,, but together we can change that!!!! (ifukuk 🥀) . Anyways with that, let’s end today’s devlog, I have many other extra features planned as I make Aporia better everydayy lol!! . And as always Have a beautiful morning..!! 🍀 P.S. Reduce ur device volume before playing the video attached,, thank me later 💔"}, {"post_id": 69207, "ts": "2026-09-16T16:26:47Z", "hours": 1.6406, "text": "Final of the final devlog yep, turns out the build file had quite a few errors and things I should’ve fixed earlier but somehow never crossed my mind,, . along with the fact that I don’t have Apple verification or whatever it’s called 😭 . Anyways, fixed all the issues I could see, and as far as Ik, none of them are left anymore (hopefully)… And now I can finally ship Aporia after some additional testing on other devices . Thank you once againn…!! . (Also as I don’t have any specific attachments, I’ll just add the home-page of aporia as the attachment this time…)"}, {"post_id": 68755, "ts": "2026-09-15T17:55:47Z", "hours": 3.6928, "text": "Final Devlog Functions I added today: Mute / Unmute Navigation Controls menu And finally completed the Readme, that took the most time out of all… . And now I can ship the project 🙃 I’ll keep it short as I’m in a bit of rush right now… but yeah… . It has been an incredible journey..!! Thank you for being a part of it..!! 🦋"}, {"post_id": 68516, "ts": "2026-09-15T07:43:21Z", "hours": 4.8181, "text": "UI Improvements The UI speaks for itself 🗿 (ifykyk, chess)"}, {"post_id": 67522, "ts": "2026-09-13T17:16:45Z", "hours": 1.5411, "text": "Sonification yes….! now you can hear your life chaos through the positions and the angular speeds of the double pendulums… . Specifically, the angular position determines the pitch and the angular speed determines the volume of the sound. . With that, all the core features of Aporia are completely in working condition. That is, now the only things left are: Making the design/typography better. Making the sonification pleasant 🗿 Because, even though you can hear the pendulums diverge through the difference in pitch, the sound it creates is a bit…… uhh…… mathematical? 😭 . Let me clarify, the sounds it generate are derived from a Sine wave… but two simultaneous sine waves can become unpleasant surprisingly quickly, because apparently even mathematics needs a volume limit 🗿🤷🏻♂️ . So it sounds just like two aliens attempting to negotiate a treaty through a malfunctioning fax machine 💔… Which can lead to a headache pretty quickly if not cautious… so that is another thing I need to work on… . And that’s it for today? There’s no attachment as the Mac screen recorder doesn’t support system audio… so it’d be redundant to attach it without audio anyways…. (let me just attach a meme lol) . Anyways.. thank you for reading this through…!! and as always, Good morning 🍀❤️🩹"}, {"post_id": 66438, "ts": "2026-09-12T08:34:57Z", "hours": 4.1358, "text": "Interactive Screen As the title suggests I added: A home page An experiment page Made the exp. page interactive Even though Ik the UI looks awful, but that wasn’t my priority atm, it was to make it interactive, to make sure the changes we do in the values reflect in the simulation…. . Given the fact you know how much of a design freak I am, only I know how much I controlled myself from spending the entire night trying to fix the design… because apparently, projects like these have an instinctive desire to consume their creators…🗿 . But anyways, the next step would be to add proper sonification to Aporia, and then fix the design… . I took me an awful lot to do all that yesterday,,, Have you ever faced the thing, where you project becomes so huge, that you, yourself start getting confused about what things did what and why and stuff like that? 😭 Because now it has started happening to me, so from now on, I’ve decided to add comments to my code, for the sake of my future self 🤷🏻♂️. . And yeah, that’s it for today, I believe? Guten Morgen anyways..!! 🥱👋🏻"}, {"post_id": 65849, "ts": "2026-09-11T08:20:38Z", "hours": 1.9225, "text": "Atomic Difference Ladies and gentlemen, Both the pendulums started out only an “atom” apart. I don’t think I need to provide any more context 🐱 . They should always follow the same path, right? RIGHT? 😶🌫️ Let’s see…. . . . Saw the video? yep, they started only an “atom” apart, yet couldn’t even last a minute together….💔🥀 lol . Shows us how extremely small differences compound overtime in chaotic systems (like weather prediction systems, double pendulums, etc) . But anyways, the changes I made are too visible to list down, so I’ll let it be for now…. 🗿 . Good Evening 🦋🤷🏻♂️"}, {"post_id": 63766, "ts": "2026-09-07T18:43:54Z", "hours": 2.5447, "text": "Small updates Hello there,, quite tired today, so I don’t think I’ll be able to write much in today’s devlog… let me just start by writing down the things I added in Aporia today: Max Energy Error (helpful in comparing different integrators for a fixed amount of time) Pause/ Play / Reset using keys Increment the simulation by 1 step when paused by pressing N I believe I shall complete this project this week if things go according to the plan, even though, I can also do the same in next 3 days, but I genuinely don’t love the idea of me working day in and day out like a caffeinated squirrel whose rent is due the next day… So I’m trying to be a ‘bit’ reasonable here 😭 . And, that’s it for the day, I believe..? Happy Tuesday ig 🤷🏻♂️ & Good Morning 🥀 . P.S. btw sorry if I sound a bit tired, many reasons, but a bad day doesn’t imply a bad life, so I’ll just keep moving 🙃 If you genuinely take time out to read my entire devlogs, then you’re the best lol (for me, at least) ❤️🩹 Thank you ❤️🩹"}, {"post_id": 61662, "ts": "2026-09-04T18:13:00Z", "hours": 1.9792, "text": "Adding RK4 to the simulation And guess what? The Energy error dropped from roughly 10^(-1)% to 10^(-6)% orders of magnitude 💀 (Literally FIVE orders of magnitude lower 🫎) . When I first tried running the program after writing the code for RK4, the best I expected was like 10^(-2) ngl 🥀 . Tho the problem is, I’m running both the versions for an arbitrary amount of time, and then trying to compare the error, which lwk reminds me of atomic bomb vs coughing baby 😭💔 . So my next goal shall be to script a comparer or some sort, which may output things like : maximum energy error final energy error average energy error number of steps simulated time etc Should be fun lol,, . . Also also, I tried one more thing, that is, I changed dt to 1 sec 💀 and guess what was the error % of RK4? 60% 💀 (literally 10^(-6) to 60% 💔) which is basically the numerical equivalent of telling the laws of physics, “I have a better idea” 🗿✌🏻 . But nevertheless, learned a lotttt today..!! Holy productivity~~~ 🦋🥹 . But anyways, that’s it for today, Good Morning~!! P.S. I think this project is lwk going in the right direction, the experimentation, the research, the learnings, new future features, all these things mean way more to me than making a random copy-paste project saying “I made a double pendulum go brrr” 😭 lol"}, {"post_id": 61016, "ts": "2026-09-03T18:31:08Z", "hours": 2.3808, "text": "Rendering the Euler Hypothesis of Aporia yeah, fancy title innit? 🥀 (sorry 😭💔) . but as the title suggests, I finally was able to render a basic simulation of Aporia with a single, double pendulum, that renders using the Euler Integration method (for now). . This is the first major step of the simulator… which shall become clear as we move towards the future with the speed of 1 sec per second (🗿) . Alr, keeping that aside, if you pay some attention to the stuff printing out in the console (in the video), that,,, is the energy difference oscillating (and the Energy Error), which ideally should be 0 (as energy is conserved in a closed system). . Which shows us that Euler integrator doesn’t just inject extra energy into the system, but also lets some of it bleed out (which shall become important later on as we compare different integrators). . And, that’s it for the day ig? . Thank you for reading it through..!! Have a nice dayyy…!! 🌙"}, {"post_id": 60466, "ts": "2026-09-02T20:04:18Z", "hours": 2.7894, "text": "Completed CLI / Math Engine Ladies and gentlemen, guess who finally completed the complete transfer of code structures and added Energy engine in Aporia? 😭 . ngl, the experience was lwk tedious, rewriting old, long equations in new format just so they could cooperate with me as I make Aporia bigger instead of playing like a 2nd grader trying to solve a 12th grade question, and acting like everything is fine…🤷🏻♂️ . I also divided the program in multiple files for the same reason, I really don’t love the idea of one source file having 800+ lines of code and some prayers where I’m trying to fix a bug on line 265, which turns out to be blank 🗿 . With that, tomorrow I shall be starting the work on GUI and Rendering… so that it finally looks like a simulation… ❤️🩹 . btw, Good Morning~~ 🥱"}, {"post_id": 58864, "ts": "2026-08-31T13:19:12Z", "hours": 2.6917, "text": "Restarting Aporia After abandoning the project due to some technical glitches on Stardance’s website, guess who’s back once the glitch got fixed? 🗿✌🏻 . This devlog shall mark the beginning of a new start. . I had already completed the Physics Engine long ago, ie. From today I’ll be focusing on finally completing the project along with GUI and Rendering… . P.S. Ik this one sounds a bit rushed, it’s because I’m running low on time and have many deadlines this month, so can’t spend too much time writing devlogs or else I’m cooked 🥹🐈 (tho I’ll try my best to properly write the ones that come after this fs)"}]...
|
Title: Aporia by @Eclipse | Stardance
Devlogs:
Re Title: Aporia by @Eclipse | Stardance
Devlogs:
Restarting Aporia After abandoning the project due to some technical glitches on Stardance’s website, guess who’s back once the glitch got fixed? 🗿✌🏻 . This devlog shall mark the beginning of a new start. . I had already completed the Physics Engine long ago, ie. From today I’ll be focusing on finally completing the project along with GUI and Rendering… . P.S. Ik this one sounds a bit rushed, it’s because I’m running low on time and have many deadlines this month, so can’t spend too much time writing devlogs or else I’m cooked 🥹🐈 (tho I’ll try my best to properly write the ones that come after this fs)
Completed CLI / Math Engine Ladies and gentlemen, guess who finally completed the complete transfer of code structures and added Energy engine in Aporia? 😭 . ngl, the experience was lwk tedious, rewriting old, long equations in new format just so they could cooperate with me as I make Aporia bigger instead of playing like a 2nd grader trying to solve a 12th grade question, and acting like everything is fine…🤷🏻♂️ . I also divided the program in multiple files for the same reason, I really don’t love the idea of one source file having 800+ lines of code and some prayers where I’m trying to fix a bug on line 265, which turns out to be blank 🗿 . With that, tomorrow I shall be starting the work on GUI and Rendering… so that it finally looks like a simulation… ❤️🩹 . btw, Good Morning~~ 🥱
Rendering the Euler Hypothesis of Aporia yeah, fancy title innit? 🥀 (sorry 😭💔) . but as the title suggests, I finally was able to render a basic simulation of Aporia with a single, double pendulum, that renders using the Euler Integration method (for now). . This is the first major step of the simulator… which shall become clear as we move towards the future with the speed of 1 sec per second (🗿) . Alr, keeping that aside, if you pay some attention to the stuff printing out in the console (in the video), that,,, is the energy difference oscillating (and the Energy Error), which ideally should be 0 (as energy is conserved in a closed system). . Which shows us that Euler integrator doesn’t just inject extra energy into the system, but also lets some of it bleed out (which shall become important later on as we compare different integrators). . And, that’s it for the day ig? . Thank you for reading it through..!! Have a nice dayyy…!! 🌙
Adding RK4 to the simulation And guess what? The Energy error dropped from roughly 10^(-1)% to 10^(-6)% orders of magnitude 💀 (Literally FIVE orders of magnitude lower 🫎) . When I first tried running the program after writing the code for RK4, the best I expected was like 10^(-2) ngl 🥀 . Tho the problem is, I’m running both the versions for an arbitrary amount of time, and then trying to compare the error, which lwk reminds me of atomic bomb vs coughing baby 😭💔 . So my next goal shall be to script a comparer or some sort, which may output things like : maximum energy error final energy error average energy error number of steps simulated time etc Should be fun lol,, . . Also also, I tried one more thing, that is, I changed dt to 1 sec 💀 and guess what was the error % of RK4? 60% 💀 (literally 10^(-6) to 60% 💔) which is basically the numerical equivalent of telling the laws of physics, “I have a better idea” 🗿✌🏻 . But nevertheless, learned a lotttt today..!! Holy productivity~~~ 🦋🥹 . But anyways, that’s it for today, Good Morning~!! P.S. I think this project is lwk going in the right direction, the experimentation, the research, the learnings, new future features, all these things mean way more to me than making a random copy-paste project saying “I made a double pendulum go brrr” 😭 lol
Small updates Hello there,, quite tired today, so I don’t think I’ll be able to write much in today’s devlog… let me just start by writing down the things I added in Aporia today: Max Energy Error (helpful in comparing different integrators for a fixed amount of time) Pause/ Play / Reset using keys Increment the simulation by 1 step when paused by pressing N I believe I shall complete this project this week if things go according to the plan, even though, I can also do the same in next 3 days, but I genuinely don’t love the idea of me working day in and day out like a caffeinated squirrel whose rent is due the next day… So I’m trying to be a ‘bit’ reasonable here 😭 . And, that’s it for the day, I believe..? Happy Tuesday ig 🤷🏻♂️ & Good Morning 🥀 . P.S. btw sorry if I sound a bit tired, many reasons, but a bad day doesn’t imply a bad life, so I’ll just keep moving 🙃 If you genuinely take time out to read my entire devlogs, then you’re the best lol (for me, at least) ❤️🩹 Thank you ❤️🩹
Atomic Difference Ladies and gentlemen, Both the pendulums started out only an “atom” apart. I don’t think I need to provide any more context 🐱 . They should always follow the same path, right? RIGHT? 😶🌫️ Let’s see…. . . . Saw the video? yep, they started only an “atom” apart, yet couldn’t even last a minute together….💔🥀 lol . Shows us how extremely small differences compound overtime in chaotic systems (like weather prediction systems, double pendulums, etc) . But anyways, the changes I made are too visible to list down, so I’ll let it be for now…. 🗿 . Good Evening 🦋🤷🏻♂️
Interactive Screen As the title suggests I added: A home page An experiment page Made the exp. page interactive Even though Ik the UI looks awful, but that wasn’t my priority atm, it was to make it interactive, to make sure the changes we do in the values reflect in the simulation…. . Given the fact you know how much of a design freak I am, only I know how much I controlled myself from spending the entire night trying to fix the design… because apparently, projects like these have an instinctive desire to consume their creators…🗿 . But anyways, the next step would be to add proper sonification to Aporia, and then fix the design… . I took me an awful lot to do all that yesterday,,, Have you ever faced the thing, where you project becomes so huge, that you, yourself start getting confused about what things did what and why and stuff like that? 😭 Because now it has started happening to me, so from now on, I’ve decided to add comments to my code, for the sake of my future self 🤷🏻♂️. . And yeah, that’s it for today, I believe? Guten Morgen anyways..!! 🥱👋🏻
Sonification yes….! now you can hear your life chaos through the positions and the angular speeds of the double pendulums… . Specifically, the angular position determines the pitch and the angular speed determines the volume of the sound. . With that, all the core features of Aporia are completely in working condition. That is, now the only things left are: Making the design/typography better. Making the sonification pleasant 🗿 Because, even though you can hear the pendulums diverge through the difference in pitch, the sound it creates is a bit…… uhh…… mathematical? 😭 . Let me clarify, the sounds it generate are derived from a Sine wave… but two simultaneous sine waves can become unpleasant surprisingly quickly, because apparently even mathematics needs a volume limit 🗿🤷🏻♂️ . So it sounds just like two aliens attempting to negotiate a treaty through a malfunctioning fax machine 💔… Which can lead to a headache pretty quickly if not cautious… so that is another thing I need to work on… . And that’s it for today? There’s no attachment as the Mac screen recorder doesn’t support system audio… so it’d be redundant to attach it without audio anyways…. (let me just attach a meme lol) . Anyways.. thank you for reading this through…!! and as always, Good morning 🍀❤️🩹
UI Improvements The UI speaks for itself 🗿 (ifykyk, chess)
Final Devlog Functions I added today: Mute / Unmute Navigation Controls menu And finally completed the Readme, that took the most time out of all… . And now I can ship the project 🙃 I’ll keep it short as I’m in a bit of rush right now… but yeah… . It has been an incredible journey..!! Thank you for being a part of it..!! 🦋
Final of the final devlog yep, turns out the build file had quite a few errors and things I should’ve fixed earlier but somehow never crossed my mind,, . along with the fact that I don’t have Apple verification or whatever it’s called 😭 . Anyways, fixed all the issues I could see, and as far as Ik, none of them are left anymore (hopefully)… And now I can finally ship Aporia after some additional testing on other devices . Thank you once againn…!! . (Also as I don’t have any specific attachments, I’ll just add the home-page of aporia as the attachment this time…)
The Ultimate Return After a month, that is one hell of a title. But guess what, I’m back again!! After a long enough break, I think I’m ready to get in the quiet grind mode 🗿 . The biggest complaints with Aporia till now was the fact that it’s only for Mac and not windows…. but that shall change soon, ie. I’m working on a Windows build of Aporia, which is somewhat ready, in a way. So within the next few days, it’ll be available for both operating systems (if ur not sure why I added the cat emoji, trust me, even I’m not sure 😭) . But keeping that aside, I have made some progress today, that is, The simulation is wayy more realistic now. This is because in the shipped version of Aporia, the size of pendulum I used was 80 meters, instead of 80 centimeters,,, which is a little huge, incase you live under a rock 🗿 So after some tries n fixes here and there, I finally got it down to 0.8 meters (aka 80 cm), making the simulation even more realistic than before. I’ve adjusted the time step to be approximately the same as the real life time step of our world (1 sec per sec). Previously it used to be a little faster… making the simulation appear faster than it actually is… even tho time step was still editable, but why not just make the default one sane? . And now, even in Aporia, every 60 sec, a minute passes,,,, but together we can change that!!!! (ifukuk 🥀) . Anyways with that, let’s end today’s devlog, I have many other extra features planned as I make Aporia better everydayy lol!! . And as always Have a beautiful morning..!! 🍀 P.S. Reduce ur device volume before playing the video attached,, thank me later 💔
Ships:
What did I make? I made Aporia: Hear Chaos, a double pendulum simulation that lets you see and hear chaos. Two almost identical pendulums, one tiny difference, and eventually two very different futures… Just physics being dramatic again, lol… What was challenging? Tbh, making the project itself was the biggest challenge for me, as I was a total Cpp beginner before starting it out, perhaps that’s why it took me so long to make this project? But anyways, it started as one small C++ file and somehow became a collection of about 17 files and several opportunities to question my life choices. Even in that ig, the hardest part was the Sonification, as Sound and waves are lwk my weakest parts of physics ;-; And also the fact that I’m not used to making huge projects like these (yes, for me it’s huge 🗿), as the project grew bigger and bigger, I encountered another problem, that is I’d sometimes randomly forget what function did what and why and stuff like that… which led to me finally learning the hard way why Comments are necessary in programming 🫠 I’m just proud that I was able to finish this project at all,, which looked like a mountain by the time I started,, but step by step, I was able to tame it.. :) If you encounter an error like “damaged file” or smth while running Aporia, do read the Readme on it’s github repo where I’ve written down the steps to solve it.. And that’s it I believe? It was fun 🍀 Thank you for reading all the way till here..!! and Have an amazing dayy!!...
|
1793152600.6149387
|
1793239000.6149387
|
|
422
|
OSPedia by @Keyboard1000n17 | Stardance
|
Keyboard1000n17
|
0
|
32.61
|
0
|
[]
|
[{"post_id": 54415, "ts": "202 [{"post_id": 54415, "ts": "2026-08-25T12:48:17Z", "hours": 6.8217, "text": "finished hardy heron article its been a month since my last devlog, and that’s because i’ve been focusing more on my other project. it takes a lot of time to write these articles! i hope i can do this faster cuz its too time-consuming anyways, i’ve completed the hardy heron article and updated some information! Changelog ( 3003ef9 ) Finish Hardy Heron article ( 5332bcb ) Update macOS Tahoe info ( e194a23 ) Add 6 lines to Hardy Heron article ( e4909df ) Start work on Hardy Heron article, update/fix some information"}, {"post_id": 33992, "ts": "2026-07-24T11:51:41Z", "hours": 6.5119, "text": "finished gutsy gibbon article this is really not good. if it takes this long to do one article… i still have 36 articles left. if i need like 5 hours for each article, that’s 180 hours well this won’t be fun. im going to create a template for this then, should make it easier. this devlog is supposed to be short, yes, literally nothing else Changelog ( 104ae23 ) Finish Gutsy Gibbon article"}, {"post_id": 24942, "ts": "2026-07-08T20:33:43Z", "hours": 4.3714, "text": "sheesh!!! this was quite a bit of work, so i’ll use a bunch of paragraphs here: first thing is, i found a way to deal with the logo. you see, by default, the logos are in light mode, having black text, but in dark mode, that black text cannot be seen, as a result, i need to change the logo in dark mode. however, i had no idea how to do this without using javascript. see, if the user has javascript disabled, then the logo won’t change and it’ll just be an ugly thing. but i found out (using google’s ai mode) that i can use this css property called content , and set it to the url of the dark mode logo in dark mode! so i don’t need javascript for that then. next, i actually did the macOS golden gate article, though i have to put some stuff for the infobox and put the logo. third, i was lurking around in the macondo chat when someone sent a link to this icon set called lucide and HOLY SHIT their icons are SO good, so i got a few of those icons and used them in the bottom bar AND THEY LOOK GORGEUS ÆÆÆÆÆÆÆÆÆÆÆ fourth, i changed some breakpoints, though i still have to fix some i’ll get to it next week tho (see below) finally, i fixed a bunch of problems with the bottom bar. you see, for some reason, the bottom bar itself was 5rem high, but the content stretched outside it. after a half hour or so of debugging, i figured that the images were the problem. after another hour or so of debugging, i eventually asked chatgpt, and finally found (after another half an hour ) that min-height: 0; on the div elements fixed the problem. i also made it so that the bar looked like a beautiful island instead of an ugly bar like it was before. i actually came up with this bottom bar in a rush back in flavortown before shipping at the end of the event what’s next? i have to do this stuff in the immediate future: add the macOS golden gate logo and infobox change the bottom bar into a menu that opens when you press a button (with animations!) update the macOS sequoia article (i noticed i haven’t updated the beginning paragraphs ACTUALLY fix the breakpoints (they still broken as heil) finish the ubuntu articles (i have 32 left ) as for further plans: i want to remove the background pictures, they’re not great also, i need to add a modal to change themes, speaking of which, i need to write some javascript to change themes too. it’ll just save the class name of the theme to localstorage, should do well. adding more operating systems is on my list, and the next ones i have in mind are debian and arch linux. there’s many more things that i’ll do one day… Changelog ( 3731fd4 ) Fix and update CSS ( 27fa15c ) Change breakpoints ( 40da941 ) Switch to icons from https://lucide.dev ( e04ba41 ) Finish macOS Golden Gate article ( 04a8436 ) Fix problems with logo disply in dark mode that was so long, holy shit anyways, i’ll be back to working on my other projects! specifically, remder , you should follow it i will still be working on this, but not as much for a week or two. i also really need to go back to [amethystOS]( https://stardance.hackclub.com/projects/5560 wait you actually read all that? damn, ty!"}, {"post_id": 24036, "ts": "2026-07-07T10:02:18Z", "hours": 5.2575, "text": "ok so i didn’t do the golden gate article, but who cares? i’ve revamped the styling system ! now i can easily change styles and add new themes using css variables! here’s a list of the benefits this provides: easier theme selection : while i do need to fix my javascript to use this new system and add a modal for selecting themes, this paves the way for a much more robust system! you see, this works by adding a class to the <body> element which has a bunch of css variables defined, so i can just store the class name in localStorage and then add that class to the body element easier updating of styles : now all the styles are defined in mixins, and these mixins reflect the purpose of the styles inside them. not only that, if i add a new section that requires custom styles (like i did for the demos), i can easily define a mixin with an appropiate name, import that into a separate .scss file, and add it in the eleventy template themes themes themes : all the themes! all i need to do to add a new theme is to define these variables: --doc-bg-color : rgba ( 255 , 255 , 255 , 0 .75 ) ; --background-color : rgba ( 255 , 255 , 255 , 0 .75 ) ; --text-color : black ; --padding : 15px ; --link-color : #002dc9 ; --link-hover-color : #665cc9 ; --border-radius : 15px ; --border : none ; --backdrop-filter : blur ( 5px ) ; --vh : 99dvh ; and if a theme isn’t going to change one of these variables, it just doesn’t define its own value. these are the default values for these variables now all i have to do is add the modal and actually do the macos golden gate article also, i registered a subdomain for the unstable branch, so now you can see the borked stuff on https://unstable.ospedia.site !!!!!! tl;dr new styling system very fun, very easy new subdomain for unstable branch must do modal & macOS golden gate article Changelog ( c43a3ba ) Refactor SCSS"}, {"post_id": 22328, "ts": "2026-07-04T18:59:54Z", "hours": 1.8983, "text": "hi guys! it’s been two weeks, but there isn’t much to say here. all i did was make the page for macOS golden gate add a badge to the readme that shows how long i’ve spent on the website according to hackatime (inaccurate, i’ve spent at least another 200 hours that didn’t get tracked) finish the feisty fawn article next thing i’m doing is the golden gate article, it shouldn’t be too hard since the page is on wikipedia. besides that, i’m also going to revamp the styling system, it’s really bloated and confusing rn visit the page i finished at https://unstable--ospedia.netlify.app/ubuntu/7.04-feisty-fawn ! Changelog ( 17c377f ) Finish Feisty Fawn article ( 89d439a ) Update pnpm packages ( 52aaaa7 ) Add badge ( 5aff0fe ) Add badge ( 6a1f941 ) Add macOS Golden Gate article"}, {"post_id": 13258, "ts": "2026-06-21T18:26:26Z", "hours": 3.1864, "text": "feisty fawn 🔥 aAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAa help me its so annoying to do this most of this was on the linux kernel 2.6.20 section of the feisty fawn article which took a while because the release notes were gigantic and i gave up doing it because what the fuck i spent like 5 minutes on the GCC section of the article because most of it was explained in the previous article and gcc 4.1.2 was a minor update i also added support for subsubsubheadings (level 4 headings) and subsubsubsubheadings (level 5 headings) and they now show up in the contents sidebar stuff i gotta do: add the xubuntu, kubuntu, edubuntu and release announcements sections to the article ( :im-fucking-sobbing: ) add the macos golden gate article still need those performance improvements still need to add those collapsible stuff, see previous devlog anyways, go see my still unfinished article on my site ! Changelog ( 99ff492 ) Work even more on Feisty Fawn article ( 7c175c8 ) More work on Feisty Fawn article"}, {"post_id": 12127, "ts": "2026-06-19T20:20:07Z", "hours": 2.1928, "text": "ubuntu feisty fawn 🔥 i did some work on ospedia for once! i started working on the ubuntu 7.04 article. you see, writing articles is quite a bit of work since you have to do a bunch of research and in my case, explain a bunch of technical terms. for example, i have to try my best to explain the introduction of kvm in linux kernel 2.6.20 because that’s the version ubuntu 7.04 shipped with. i also have to try explaining the release notes for the kernel at a high level because its supposed to be a wiki that explains a bunch of stuff like this. stuff i have to do: add a macos golden gate article: it was announced like a week ago i also have to do some performance improvements, i’m terrible when it comes to writing performant code i need to add a collapsible thing for the sub-headings because the contents thing can get really long, there can be a lot of stuff anyways, you can check out the unfinished article at https://unstable–ospedia.netlify.app/ubuntu/7.04-feisty-fawn Changelog b15af67 : Start work on Feisty Fawn"}, {"post_id": 4513, "ts": "2026-06-07T21:02:12Z", "hours": 0.9161, "text": "optimized themes.js ! i also did a bunch of other stuff but i don’t remember what i did anyways i switched from using cookies to using session storage for the theme because fast"}, {"post_id": 1037, "ts": "2026-06-02T20:31:56Z", "hours": 0.465, "text": "i updated some info on the site! macOS sequoia and tahoe have had updates since i last checked, and i updated the releases.json files for both versions! don’t know why it took so long tho i got a LOT of stuff to do, and i honestly don’t feel like starting another article, but i have to"}, {"post_id": 103, "ts": "2026-05-31T18:50:55Z", "hours": 0.9928, "text": "hey guys! hi guys! it’s time for ospedia: season 3!!! not much has actually changed since the end of flavortown, except for information and style updates. besides those, literally nothing has happened. however, the information updates include these: completion of the articles for ubuntu 6.06 lts and 6.10 update of the releases list for macos sequoia and tahoe added blockquote styling contributors’ list in readme! protip: if you don’t see changes on the main site, that’s because development happens on the unstable branch, which deploys to https://unstable--ospedia.netlify.app ! get ready to see ubuntu articles by the end of stardance!"}]...
|
Title: OSPedia by @Keyboard1000n17 | Stardance
De Title: OSPedia by @Keyboard1000n17 | Stardance
Devlogs:
hey guys! hi guys! it’s time for ospedia: season 3!!! not much has actually changed since the end of flavortown, except for information and style updates. besides those, literally nothing has happened. however, the information updates include these: completion of the articles for ubuntu 6.06 lts and 6.10 update of the releases list for macos sequoia and tahoe added blockquote styling contributors’ list in readme! protip: if you don’t see changes on the main site, that’s because development happens on the unstable branch, which deploys to https://unstable--ospedia.netlify.app ! get ready to see ubuntu articles by the end of stardance!
i updated some info on the site! macOS sequoia and tahoe have had updates since i last checked, and i updated the releases.json files for both versions! don’t know why it took so long tho i got a LOT of stuff to do, and i honestly don’t feel like starting another article, but i have to
optimized themes.js ! i also did a bunch of other stuff but i don’t remember what i did anyways i switched from using cookies to using session storage for the theme because fast
ubuntu feisty fawn 🔥 i did some work on ospedia for once! i started working on the ubuntu 7.04 article. you see, writing articles is quite a bit of work since you have to do a bunch of research and in my case, explain a bunch of technical terms. for example, i have to try my best to explain the introduction of kvm in linux kernel 2.6.20 because that’s the version ubuntu 7.04 shipped with. i also have to try explaining the release notes for the kernel at a high level because its supposed to be a wiki that explains a bunch of stuff like this. stuff i have to do: add a macos golden gate article: it was announced like a week ago i also have to do some performance improvements, i’m terrible when it comes to writing performant code i need to add a collapsible thing for the sub-headings because the contents thing can get really long, there can be a lot of stuff anyways, you can check out the unfinished article at https://unstable–ospedia.netlify.app/ubuntu/7.04-feisty-fawn Changelog b15af67 : Start work on Feisty Fawn
feisty fawn 🔥 aAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAa help me its so annoying to do this most of this was on the linux kernel 2.6.20 section of the feisty fawn article which took a while because the release notes were gigantic and i gave up doing it because what the fuck i spent like 5 minutes on the GCC section of the article because most of it was explained in the previous article and gcc 4.1.2 was a minor update i also added support for subsubsubheadings (level 4 headings) and subsubsubsubheadings (level 5 headings) and they now show up in the contents sidebar stuff i gotta do: add the xubuntu, kubuntu, edubuntu and release announcements sections to the article ( :im-fucking-sobbing: ) add the macos golden gate article still need those performance improvements still need to add those collapsible stuff, see previous devlog anyways, go see my still unfinished article on my site ! Changelog ( 99ff492 ) Work even more on Feisty Fawn article ( 7c175c8 ) More work on Feisty Fawn article
hi guys! it’s been two weeks, but there isn’t much to say here. all i did was make the page for macOS golden gate add a badge to the readme that shows how long i’ve spent on the website according to hackatime (inaccurate, i’ve spent at least another 200 hours that didn’t get tracked) finish the feisty fawn article next thing i’m doing is the golden gate article, it shouldn’t be too hard since the page is on wikipedia. besides that, i’m also going to revamp the styling system, it’s really bloated and confusing rn visit the page i finished at https://unstable--ospedia.netlify.app/ubuntu/7.04-feisty-fawn ! Changelog ( 17c377f ) Finish Feisty Fawn article ( 89d439a ) Update pnpm packages ( 52aaaa7 ) Add badge ( 5aff0fe ) Add badge ( 6a1f941 ) Add macOS Golden Gate article
ok so i didn’t do the golden gate article, but who cares? i’ve revamped the styling system ! now i can easily change styles and add new themes using css variables! here’s a list of the benefits this provides: easier theme selection : while i do need to fix my javascript to use this new system and add a modal for selecting themes, this paves the way for a much more robust system! you see, this works by adding a class to the <body> element which has a bunch of css variables defined, so i can just store the class name in localStorage and then add that class to the body element easier updating of styles : now all the styles are defined in mixins, and these mixins reflect the purpose of the styles inside them. not only that, if i add a new section that requires custom styles (like i did for the demos), i can easily define a mixin with an appropiate name, import that into a separate .scss file, and add it in the eleventy template themes themes themes : all the themes! all i need to do to add a new theme is to define these variables: --doc-bg-color : rgba ( 255 , 255 , 255 , 0 .75 ) ; --background-color : rgba ( 255 , 255 , 255 , 0 .75 ) ; --text-color : black ; --padding : 15px ; --link-color : #002dc9 ; --link-hover-color : #665cc9 ; --border-radius : 15px ; --border : none ; --backdrop-filter : blur ( 5px ) ; --vh : 99dvh ; and if a theme isn’t going to change one of these variables, it just doesn’t define its own value. these are the default values for these variables now all i have to do is add the modal and actually do the macos golden gate article also, i registered a subdomain for the unstable branch, so now you can see the borked stuff on https://unstable.ospedia.site !!!!!! tl;dr new styling system very fun, very easy new subdomain for unstable branch must do modal & macOS golden gate article Changelog ( c43a3ba ) Refactor SCSS
sheesh!!! this was quite a bit of work, so i’ll use a bunch of paragraphs here: first thing is, i found a way to deal with the logo. you see, by default, the logos are in light mode, having black text, but in dark mode, that black text cannot be seen, as a result, i need to change the logo in dark mode. however, i had no idea how to do this without using javascript. see, if the user has javascript disabled, then the logo won’t change and it’ll just be an ugly thing. but i found out (using google’s ai mode) that i can use this css property called content , and set it to the url of the dark mode logo in dark mode! so i don’t need javascript for that then. next, i actually did the macOS golden gate article, though i have to put some stuff for the infobox and put the logo. third, i was lurking around in the macondo chat when someone sent a link to this icon set called lucide and HOLY SHIT their icons are SO good, so i got a few of those icons and used them in the bottom bar AND THEY LOOK GORGEUS ÆÆÆÆÆÆÆÆÆÆÆ fourth, i changed some breakpoints, though i still have to fix some i’ll get to it next week tho (see below) finally, i fixed a bunch of problems with the bottom bar. you see, for some reason, the bottom bar itself was 5rem high, but the content stretched outside it. after a half hour or so of debugging, i figured that the images were the problem. after another hour or so of debugging, i eventually asked chatgpt, and finally found (after another half an hour ) that min-height: 0; on the div elements fixed the problem. i also made it so that the bar looked like a beautiful island instead of an ugly bar like it was before. i actually came up with this bottom bar in a rush back in flavortown before shipping at the end of the event what’s next? i have to do this stuff in the immediate future: add the macOS golden gate logo and infobox change the bottom bar into a menu that opens when you press a button (with animations!) update the macOS sequoia article (i noticed i haven’t updated the beginning paragraphs ACTUALLY fix the breakpoints (they still broken as heil) finish the ubuntu articles (i have 32 left ) as for further plans: i want to remove the background pictures, they’re not great also, i need to add a modal to change themes, speaking of which, i need to write some javascript to change themes too. it’ll just save the class name of the theme to localstorage, should do well. adding more operating systems is on my list, and the next ones i have in mind are debian and arch linux. there’s many more things that i’ll do one day… Changelog ( 3731fd4 ) Fix and update CSS ( 27fa15c ) Change breakpoints ( 40da941 ) Switch to icons from https://lucide.dev ( e04ba41 ) Finish macOS Golden Gate article ( 04a8436 ) Fix problems with logo disply in dark mode that was so long, holy shit anyways, i’ll be back to working on my other projects! specifically, remder , you should follow it i will still be working on this, but not as much for a week or two. i also really need to go back to [amethystOS]( https://stardance.hackclub.com/projects/5560 wait you actually read all that? damn, ty!
finished gutsy gibbon article this is really not good. if it takes this long to do one article… i still have 36 articles left. if i need like 5 hours for each article, that’s 180 hours well this won’t be fun. im going to create a template for this then, should make it easier. this devlog is supposed to be short, yes, literally nothing else Changelog ( 104ae23 ) Finish Gutsy Gibbon article
finished hardy heron article its been a month since my last devlog, and that’s because i’ve been focusing more on my other project. it takes a lot of time to write these articles! i hope i can do this faster cuz its too time-consuming anyways, i’ve completed the hardy heron article and updated some information! Changelog ( 3003ef9 ) Finish Hardy Heron article ( 5332bcb ) Update macOS Tahoe info ( e194a23 ) Add 6 lines to Hardy Heron article ( e4909df ) Start work on Hardy Heron article, update/fix some information...
|
1792706014.3270905
|
1793310814.3270905
|
|
29788
|
Fish Finder by @Synxed | Stardance
|
Synxed
|
0
|
32.55
|
0
|
[]
|
[{"post_id": 32273, "ts": "202 [{"post_id": 32273, "ts": "2026-07-21T10:40:18Z", "hours": 9.2828, "text": "Wowzers! I have a website presentation now! Pretty much what I spent alot of my time on was actually creating a HTML Website page presentation for the findings/creative processes that went into producing this system. Since the last log, I have done a few things: Re-run the neural network training script, leading to an increased F1 probability score (60.1% -> 64.3%) which is very good! Created a HTML website with Firebase Web App Hosting services (Accessible at: https://fishfinder-presentation.web.app/ ). Conducted source file cleaning to remove further invalid records from the data source, reducing inaccuracies in predictions and models. Got the entire offline capabilities working (Tested by taking my MacBook outside to the local marina without WiFi, Cellular, or any otherwise connections to external networks. Fixed up some UI issues/bugs with the StreamLit application. Sooooo, this project is beginning to near its end! Thank you for reading, and I hope that at least one person reading this may be able to actually use this themselves, or introduce this to someone else to use for their benefit! P.S: If anyone has further questions or inquiries about how this works, or how to get it working on different types of devices, just drop a comment down below and I will reply promptly either directly through this website, or we can contact through Slack!). Ta!"}, {"post_id": 23914, "ts": "2026-07-07T03:45:14Z", "hours": 23.2722, "text": "Wow, more work done! What has been done: StreamLit website working, read the README.md file for instructions on how to host locally. Presentation website created: FishFinder-Presentation.web.app! Neural Network trained on ~40,000 records from within the dataset (20/80 split of testing and training). Dataset enrichment from the Open-Meteo Historical Weather API (with permission), introducing columns to the dataset for: Amount of Rain, Wind Direction, Moon Phase (calculated separately through a Python script), and Sea Surface Temperatures (returned “null”, so removed). Improved on PowerBI dashboards and Excel Pivot Tables and Charts. Keep an eye out for more updates!"}]...
|
Title: Fish Finder by @Synxed | Stardance
Devlogs Title: Fish Finder by @Synxed | Stardance
Devlogs:
Wow, more work done! What has been done: StreamLit website working, read the README.md file for instructions on how to host locally. Presentation website created: FishFinder-Presentation.web.app! Neural Network trained on ~40,000 records from within the dataset (20/80 split of testing and training). Dataset enrichment from the Open-Meteo Historical Weather API (with permission), introducing columns to the dataset for: Amount of Rain, Wind Direction, Moon Phase (calculated separately through a Python script), and Sea Surface Temperatures (returned “null”, so removed). Improved on PowerBI dashboards and Excel Pivot Tables and Charts. Keep an eye out for more updates!
Wowzers! I have a website presentation now! Pretty much what I spent alot of my time on was actually creating a HTML Website page presentation for the findings/creative processes that went into producing this system. Since the last log, I have done a few things: Re-run the neural network training script, leading to an increased F1 probability score (60.1% -> 64.3%) which is very good! Created a HTML website with Firebase Web App Hosting services (Accessible at: https://fishfinder-presentation.web.app/ ). Conducted source file cleaning to remove further invalid records from the data source, reducing inaccuracies in predictions and models. Got the entire offline capabilities working (Tested by taking my MacBook outside to the local marina without WiFi, Cellular, or any otherwise connections to external networks. Fixed up some UI issues/bugs with the StreamLit application. Sooooo, this project is beginning to near its end! Thank you for reading, and I hope that at least one person reading this may be able to actually use this themselves, or introduce this to someone else to use for their benefit! P.S: If anyone has further questions or inquiries about how this works, or how to get it working on different types of devices, just drop a comment down below and I will reply promptly either directly through this website, or we can contact through Slack!). Ta!...
|
1792666143.5100386
|
1793270943.5100386
|
|
47848
|
MP3 by @xvcf | Stardance
|
xvcf
|
0
|
32.5
|
0
|
[]
|
[{"post_id": 56045, "ts": "202 [{"post_id": 56045, "ts": "2026-07-28T00:00:00Z", "hours": 2.0, "text": "My project is almost finished! Today I made some subtle changes to the PCB. More changes were made in CAD today. I know I’m a CAD noob, so I took quite a while to do some simple things :> This is the result of my work today: I moved the SD card slot because I was scared it might not fit into the case. I also made some space for the Picos USB port. I added space for two M2 screws at the bottom of the case! I also added a hole through which the on/off switch can be used."}, {"post_id": 56161, "ts": "2026-04-29T00:00:00Z", "hours": 1.0, "text": "More CAD improvements! I made the front of the case again! I also remade the controls and added a system so the buttons can’t fallout (reference) the case! On top of that, I wanted to add two screws at the bottom of the MP3 player that keep the case together - I’m splitting it into two parts! This way, the assembly should be a lot easier (and possible lol). I ended up reverting my changes though because I was not finished and ran out of time. Enough for today!"}, {"post_id": 56160, "ts": "2026-04-28T00:00:00Z", "hours": 2.0, "text": "CAD progress!! I deleted the whole case I made yesterday, I think it looked insanely ugly. I wanted something sleek and somewhat elegant (to the extent it’s possible with a 3D printer). Therefore, I remade pretty much everything from scratch, but it looks a lot better now! This is the case I made: If you paid attention, you might’ve noticed a few things: I made stand-offs for the PCB There are two holes for the audio jacks There’s also a hole for the microUSB slot The microSD card also has a space in the case already! Take some pictures! This is the microUSB slot. I was not entirely sure how big it should be - I genuinely thought the Raspberry Pi Pico uses USB-C, because of the Orpheus Pico I have laying around - sadly it does not. Maybe I gotta mod it myself :) The holes for the audio jacks are not too spectacular: This is the hole for the microSD card (which is blue in this picture). I’m not sure if I even put it in the right way, I guess there’s only one way to find out: And here are the PCB stand-offs. Not very spectacular either. This is what the assembly of the case looks like with the PCB: Enough CAD work for today :)"}, {"post_id": 56159, "ts": "2026-04-27T00:00:00Z", "hours": 2.0, "text": "Yay, finally CAD! I switched from Fusion360 to Shapr33D. Best decision ever. This is so much more fun and it genuinely does not feel like the software is working against me anymore! Importing the .STEP file worked without any problems. I just noticed the audio jacks had that weird height offset again, seems to be a KiCad problem. Oh, and my PCB is green as well for some reason - but whatever! Here’s the PCB in Shapr3D: Shapr3D feels way more intuitive. The sketches work really well and everything is genuinely “assisted” (like the A in CAD). I’ve made some sketches for the case! This is the result for today! This is super unfinished and needs a bunch of polishing… More CAD work soon!"}, {"post_id": 56158, "ts": "2026-04-26T00:00:00Z", "hours": 2.0, "text": "I am genuinely struggling. Today I made SOME PART of my case, I just don’t get this program… I might try out OnShape soon, Fusion just seems like it’s working against me. I moved some parts on my PCB closer to the border so their connectors are accessible easier (the Pico & the AUX jacks). For some reason, Fusion did not like me and displayed the audio jacks higher than they were placed in KiCad. I did not find a solution for that other than just moving them down manually. Below is the new layout! Since I moved the Pi, I had to rewire quite a lot of stuff - didn’t take too long though. This is the start of my case. Yes, the start… It takes ages and I am not getting along well with the program. In the image below, it still uses the old layout. Apparently there is no way to import a .STEP file into an already existing project in Fusion- WHAT? Just why? Okay, anyways, the promised picture: Yep, I don’t like Fusion if you didn’t notice that already."}, {"post_id": 56157, "ts": "2026-04-25T00:00:00Z", "hours": 2.5, "text": "I did not do too much stuff today. I mostly experimented with Fusion and did some tiny improvements. Genuinely, I hate Fusion… I don’t understand why everything has to be so complicated… Okay, so I made this small 3D battery model with nimits help! Thank you! I then attached that to my MP3 player in KiCad by creating a footprint for it and adding that 3D model there. It now looks like this: Pretty cool! For the rest of my working time today, I just TRIED… to make a case. I failed. Fusion makes every single feature (that should be easy) extremely complicated. Just why. Thanks for reading this, I’m so done for today… (also, why is that thing green again???)"}, {"post_id": 56156, "ts": "2026-04-23T00:00:00Z", "hours": 1.5, "text": "Batteries always seemed fun to me - trust me, making circuits so they don’t blow up, really isn’t. Nimit recommended me to use a DW01A chip with my TP4056 chip for my battery management system. After quite a bit of research, I did not find a pre-soldered module I can use - so I built it myself! What helped me is this schematic I found on the internet: [Source] After downloading some footprints from LCSC, I used them to make a similar circuit myself! You can ignore the buttons on the right, they are for the menu controls. The circuit charges the battery if it receives power from Pico VBUS (which is the Picos 5V output), and uses the batteries energy to power the circuit, if the switch POWER_SW is turned on. The voltage then goes through a voltage booster to ensure, that the 3.7 Volts, which the battery supplies, is being boosted to 5 Volts - which is good to power the Pico! The new components are hidden under the screen in the state of final assembly. Below is a picture which shows their position! Another minor change: the board now uses the same mounting holes everywhere. I have adapted to the screens mounting holes - why use two different sizes, if one works as well? I hope that makes my life easier later. This means I only have to get one sort of screws and the designing of the case should be a little easier. I have also attached a picture below: Today I did not work too much on the project, so these are all the changes from today!"}, {"post_id": 56155, "ts": "2026-04-22T00:00:00Z", "hours": 3.0, "text": "Today I have done a bunch of things! I have done some research on which battery I could use - my main searching aspect was the size. I did not want to make my PCB larger just for a bigger battery. I ended up going with a 3.7V 1200mAh battery with a size of 48mm x 30mm x 7mm . This is enough so it still fits inside the case I am planning to design! To make space on my PCB I had to re-route some things … (I ended up doing pretty much everything routing-wise from scratch again) Well, now the routing is so much cleaner and also looks a lot better and more organized - you could say I have learned from my mistakes. Take a look at this amazing new routing : One new thing you might’ve also noticed: I added a voltage booster for the battery! Since 3.7V is not enough, this thing boosts the voltage up to 5V so the whole circuit should be working - hopefully. Here’s a photo of my new rendered design. That’s the front : And this is the back : The area with all the lines is meant for the battery! If the measures on AliExpress are accurate, it should fit in there - let’s hope so . I think that’s pretty much everything I did today! (PS: in my last journal I have said that I am getting closer and closer to production - I would’ve never guessed how wrong I was…)"}, {"post_id": 56154, "ts": "2026-04-21T00:00:00Z", "hours": 2.0, "text": "I’m getting closer and closer to production! Today I have made some breaking changes! I have replaced the old 1/4” audio jack with a normal 2.5mm audio jack. I’m not really happy with this change, but it was the only option: I would’ve liked to keep the big jack, since I have hardware that uses it, but it is just too big for the PCB and the possible enclosure / case I want to make for this project. My MP3 player now features two normal aux jacks! If you looked at the photo precisely, you might’ve noticed one thing: the PCB is black now! It just looks so much better :) Additionally, I have added a footprint for the screen I want to use. Thank you @Di , I just ripped it out of your schematic off GitHub since I couldn’t find it on the internet :)) (PS: I asked afterwards, it’s fine !!). Here’s what it looks like now: From the 3D model you can see in that picture, I have removed the pre-installed SD card slot as well as the connector pins for it. I’m using my own SD card slot since I can place it where I want it to be! Additionally, I am not sure how reliable this SD card slot actually is, so I’d rather not use it. I have also moved the buttons down, since the screen was larger than I expected (not really, but I have not really thought about button placement before and just placed them where it looked good to me). For a picture, check the one above. I also added a bunch of mounting holes so both the screen as well as the PCB itself have a good connection to the case. Possible plan for tomorrow: I am uncertain if I am actually going to do this, but I was thinking about rotating the Raspberry Pi Pico by 90°. This would give me the advantage of a bigger battery, since there would be more space at the top of the PCB, behind the screen (on the other side of the PCB). Okay, that’s it!"}, {"post_id": 56153, "ts": "2026-04-20T00:00:00Z", "hours": 4.0, "text": "I reworked my whole PCB today! The routes were pretty terrible, so I redid most of it. I also asked a professional PCB-er to help me out (thank you nimit!). This is the result of the day: I have had quite a few odd footprints which I have not changed correctly, therefore I fixed those! I also took the measures of yet another screen from AliExpress and I’ve made an actually accurate placeholder for it! I’m also using a ground plane now, which makes the whole routing so much more clean! On top of that, I am now using thicker routes for relevant power-related wiring. Here’s an overview of my PCB at the end of this working session!"}, {"post_id": 56152, "ts": "2026-04-19T00:00:00Z", "hours": 2.0, "text": "Today I finished my PCB (I think)! I added a bunch of component 3D models and now there’s a cool render of my MP3 player! Here’s a photo of my current wiring! Yes, I am aware it looks chaotic :) I am currently considering moving the screens connector down a little more, so I’m using less space, though I am scared I might ruin the useability of the buttons - therefore it’s staying up there until I made up my mind! While adding the 3D models, I had some struggles with the 1/4” audio jack. It required rotation so it aligned correctly - which I applied but the audio jack always decided to snap back into the original position again -.- I restarted KiCad and it seems to have worked - maybe I just pressed cancel instead of okay? The buttons are switched, in my opinion it’s a weird design choice. Below is a photo of both sides of my current 3D render! This is the front, where the buttons and the screen will be! And this is the back, where the Pico is! I’m pretty sure I could’ve been more space-efficient in some places, so I might rework this again. Also, I’m not too happy with the size of the 1/4” jack, it’s pretty thick. I’d love to mount it inside of the PCB because it would spread its’ size into two halfs, which would drastically reduce my players overall size - I don’t think this is possible though. Pretty sad :( Okay, but that’s it for today!"}, {"post_id": 56151, "ts": "2026-04-18T00:00:00Z", "hours": 0.5, "text": "I’m making progress! I started creating my PCB and almost finished it in one go! I personally feel like the wiring I made for this is one of the worst you could possibly make haha. I’m writing this journal on the go, so I sadly cannot attach any photos right now! I also fixed some ERC violations, that’s the only picture I have right now :)"}, {"post_id": 56150, "ts": "2026-04-17T00:00:00Z", "hours": 2.0, "text": "Hey there, seems like my schematic is finished now! I wired the LCD to my microcontroller. It took me a while figure out how I can wire a module that has no KiCad footprint - I just ended up wiring a connector (which is lowkey smart). It looks like this now! I have also redone the charging circuit, this should be working now! I genuinely have no idea what that past version of this charging circuit was, so I just completely scrapped it and remade it! Below is a picture as well. My next step will be to make the PCB!"}, {"post_id": 56149, "ts": "2026-04-16T00:00:00Z", "hours": 3.0, "text": "Hey there! This is kind of a collection of various work sessions over the last weeks. Firstly, I did some work to clean up my schematic! I was aware the labels feature existed in KiCad, but I did not use it at first. The schematic looks much better now and it should be more fun and less messy to work with it now! Additionally, I have wired my SD Card module. My plan is to mount the SD card in the Picos filesystem so the user can also access it via the USB-C port! I also wired a charging circuit (I’m very scared it might blow up). My intention is to only have one port, which will be used for both data (see above) and charging. I’m pretty sure my current wiring would not work, since it’s not even connected to the Picos power output pin - or is it? I genuinely have no idea. Take a look at this mess: A lot of people told me to just use a pre-made module for charging but that would be boring - and as I already said, I don’t want a spare port if it’s not necessary. Also, Micro USB sucks. I have also done some more screen research, more info on this can be found in my channels canvas (this is somewhat like my documentation of finding parts & me crashing out because there are so many options). Next, I’ll rework the charging circuit and I’m going to search for a footprint for my screen!"}, {"post_id": 56148, "ts": "2024-07-01T00:00:00Z", "hours": 3.0, "text": "Hey there, welcome to the first journal entry for my own MP3 player! Obviously, the start is usually the hardest part ( hey, that rhymes! ). I started with some research through the depths of AliExpress to figure out some basic things first: what audio jacks can I use and how am I going to display the necessary information? What screen am I using? Having absolutely no idea what I was actually searching for, I took a (somewhat) deep dive into the world of screens to find out one thing - a lot of them are incredibly expensive - and the others are shitty :) Also, I wanted not just a normal AUX port, but a 1/4” AUX port as well, if possible! I use studio headphones and would like to have a possibility to connect them as well ( yes, I could just unscrew the AUX -> 1/4” AUX adapter but that’s uncool ) I ended up making a [part list] in my Slack channel #xvcfs-studio! A few days later, I looked a way to connect headphones to my main controller - a Raspberry Pi Pico. Why a Pico, you might ask? Well, I got one from Haxmas recently and need a use-case for it (and it’s from Hack Club so that’s cool!). Back to audio though, I needed to find a way to somehow interact with the two audio jacks from the Pico. I did some research on the internet and found a chip from Texas Instruments that should be capable of doing, what I want it to do! The chips name is TAD5142 . Clicking through the datasheet was less terrible than expected, to be honest it was quite fun! Thank you Texas Instruments for a good datasheet!! Since I am using two AUX ports, I need an operational amplifier! Here, I decided to use a MCP6002-I/SN since it should work fine with the lower voltages I am using here. I connected it and hopefully my wiring is correct and should work! I have attached a picture below, though the wiring of the TAD5142 is currently not finished. My last step today was just some simple research on the microSD card connector. I figured that the connector I found on KiCad did not have a connection detector and also did not really seem to have a good datasheet on the manufacturers website. I switched to a different model that fits my needs (and has a better datasheet) and I’m going to finish wiring it soon! Yay, a lot of work, but that’s it for now! This was super fun!!"}]...
|
Title: MP3 by @xvcf | Stardance
Devlogs:
Hey ther Title: MP3 by @xvcf | Stardance
Devlogs:
Hey there, welcome to the first journal entry for my own MP3 player! Obviously, the start is usually the hardest part ( hey, that rhymes! ). I started with some research through the depths of AliExpress to figure out some basic things first: what audio jacks can I use and how am I going to display the necessary information? What screen am I using? Having absolutely no idea what I was actually searching for, I took a (somewhat) deep dive into the world of screens to find out one thing - a lot of them are incredibly expensive - and the others are shitty :) Also, I wanted not just a normal AUX port, but a 1/4” AUX port as well, if possible! I use studio headphones and would like to have a possibility to connect them as well ( yes, I could just unscrew the AUX -> 1/4” AUX adapter but that’s uncool ) I ended up making a [part list] in my Slack channel #xvcfs-studio! A few days later, I looked a way to connect headphones to my main controller - a Raspberry Pi Pico. Why a Pico, you might ask? Well, I got one from Haxmas recently and need a use-case for it (and it’s from Hack Club so that’s cool!). Back to audio though, I needed to find a way to somehow interact with the two audio jacks from the Pico. I did some research on the internet and found a chip from Texas Instruments that should be capable of doing, what I want it to do! The chips name is TAD5142 . Clicking through the datasheet was less terrible than expected, to be honest it was quite fun! Thank you Texas Instruments for a good datasheet!! Since I am using two AUX ports, I need an operational amplifier! Here, I decided to use a MCP6002-I/SN since it should work fine with the lower voltages I am using here. I connected it and hopefully my wiring is correct and should work! I have attached a picture below, though the wiring of the TAD5142 is currently not finished. My last step today was just some simple research on the microSD card connector. I figured that the connector I found on KiCad did not have a connection detector and also did not really seem to have a good datasheet on the manufacturers website. I switched to a different model that fits my needs (and has a better datasheet) and I’m going to finish wiring it soon! Yay, a lot of work, but that’s it for now! This was super fun!!
Hey there! This is kind of a collection of various work sessions over the last weeks. Firstly, I did some work to clean up my schematic! I was aware the labels feature existed in KiCad, but I did not use it at first. The schematic looks much better now and it should be more fun and less messy to work with it now! Additionally, I have wired my SD Card module. My plan is to mount the SD card in the Picos filesystem so the user can also access it via the USB-C port! I also wired a charging circuit (I’m very scared it might blow up). My intention is to only have one port, which will be used for both data (see above) and charging. I’m pretty sure my current wiring would not work, since it’s not even connected to the Picos power output pin - or is it? I genuinely have no idea. Take a look at this mess: A lot of people told me to just use a pre-made module for charging but that would be boring - and as I already said, I don’t want a spare port if it’s not necessary. Also, Micro USB sucks. I have also done some more screen research, more info on this can be found in my channels canvas (this is somewhat like my documentation of finding parts & me crashing out because there are so many options). Next, I’ll rework the charging circuit and I’m going to search for a footprint for my screen!
Hey there, seems like my schematic is finished now! I wired the LCD to my microcontroller. It took me a while figure out how I can wire a module that has no KiCad footprint - I just ended up wiring a connector (which is lowkey smart). It looks like this now! I have also redone the charging circuit, this should be working now! I genuinely have no idea what that past version of this charging circuit was, so I just completely scrapped it and remade it! Below is a picture as well. My next step will be to make the PCB!
I’m making progress! I started creating my PCB and almost finished it in one go! I personally feel like the wiring I made for this is one of the worst you could possibly make haha. I’m writing this journal on the go, so I sadly cannot attach any photos right now! I also fixed some ERC violations, that’s the only picture I have right now :)
Today I finished my PCB (I think)! I added a bunch of component 3D models and now there’s a cool render of my MP3 player! Here’s a photo of my current wiring! Yes, I am aware it looks chaotic :) I am currently considering moving the screens connector down a little more, so I’m using less space, though I am scared I might ruin the useability of the buttons - therefore it’s staying up there until I made up my mind! While adding the 3D models, I had some struggles with the 1/4” audio jack. It required rotation so it aligned correctly - which I applied but the audio jack always decided to snap back into the original position again -.- I restarted KiCad and it seems to have worked - maybe I just pressed cancel instead of okay? The buttons are switched, in my opinion it’s a weird design choice. Below is a photo of both sides of my current 3D render! This is the front, where the buttons and the screen will be! And this is the back, where the Pico is! I’m pretty sure I could’ve been more space-efficient in some places, so I might rework this again. Also, I’m not too happy with the size of the 1/4” jack, it’s pretty thick. I’d love to mount it inside of the PCB because it would spread its’ size into two halfs, which would drastically reduce my players overall size - I don’t think this is possible though. Pretty sad :( Okay, but that’s it for today!
I reworked my whole PCB today! The routes were pretty terrible, so I redid most of it. I also asked a professional PCB-er to help me out (thank you nimit!). This is the result of the day: I have had quite a few odd footprints which I have not changed correctly, therefore I fixed those! I also took the measures of yet another screen from AliExpress and I’ve made an actually accurate placeholder for it! I’m also using a ground plane now, which makes the whole routing so much more clean! On top of that, I am now using thicker routes for relevant power-related wiring. Here’s an overview of my PCB at the end of this working session!
I’m getting closer and closer to production! Today I have made some breaking changes! I have replaced the old 1/4” audio jack with a normal 2.5mm audio jack. I’m not really happy with this change, but it was the only option: I would’ve liked to keep the big jack, since I have hardware that uses it, but it is just too big for the PCB and the possible enclosure / case I want to make for this project. My MP3 player now features two normal aux jacks! If you looked at the photo precisely, you might’ve noticed one thing: the PCB is black now! It just looks so much better :) Additionally, I have added a footprint for the screen I want to use. Thank you @Di , I just ripped it out of your schematic off GitHub since I couldn’t find it on the internet :)) (PS: I asked afterwards, it’s fine !!). Here’s what it looks like now: From the 3D model you can see in that picture, I have removed the pre-installed SD card slot as well as the connector pins for it. I’m using my own SD card slot since I can place it where I want it to be! Additionally, I am not sure how reliable this SD card slot actually is, so I’d rather not use it. I have also moved the buttons down, since the screen was larger than I expected (not really, but I have not really thought about button placement before and just placed them where it looked good to me). For a picture, check the one above. I also added a bunch of mounting holes so both the screen as well as the PCB itself have a good connection to the case. Possible plan for tomorrow: I am uncertain if I am actually going to do this, but I was thinking about rotating the Raspberry Pi Pico by 90°. This would give me the advantage of a bigger battery, since there would be more space at the top of the PCB, behind the screen (on the other side of the PCB). Okay, that’s it!
Today I have done a bunch of things! I have done some research on which battery I could use - my main searching aspect was the size. I did not want to make my PCB larger just for a bigger battery. I ended up going with a 3.7V 1200mAh battery with a size of 48mm x 30mm x 7mm . This is enough so it still fits inside the case I am planning to design! To make space on my PCB I had to re-route some things … (I ended up doing pretty much everything routing-wise from scratch again) Well, now the routing is so much cleaner and also looks a lot better and more organized - you could say I have learned from my mistakes. Take a look at this amazing new routing : One new thing you might’ve also noticed: I added a voltage booster for the battery! Since 3.7V is not enough, this thing boosts the voltage up to 5V so the whole circuit should be working - hopefully. Here’s a photo of my new rendered design. That’s the front : And this is the back : The area with all the lines is meant for the battery! If the measures on AliExpress are accurate, it should fit in there - let’s hope so . I think that’s pretty much everything I did today! (PS: in my last journal I have said that I am getting closer and closer to production - I would’ve never guessed how wrong I was…)
Batteries always seemed fun to me - trust me, making circuits so they don’t blow up, really isn’t. Nimit recommended me to use a DW01A chip with my TP4056 chip for my battery management system. After quite a bit of research, I did not find a pre-soldered module I can use - so I built it myself! What helped me is this schematic I found on the internet: [Source] After downloading some footprints from LCSC, I used them to make a similar circuit myself! You can ignore the buttons on the right, they are for the menu controls. The circuit charges the battery if it receives power from Pico VBUS (which is the Picos 5V output), and uses the batteries energy to power the circuit, if the switch POWER_SW is turned on. The voltage then goes through a voltage booster to ensure, that the 3.7 Volts, which the battery supplies, is being boosted to 5 Volts - which is good to power the Pico! The new components are hidden under the screen in the state of final assembly. Below is a picture which shows their position! Another minor change: the board now uses the same mounting holes everywhere. I have adapted to the screens mounting holes - why use two different sizes, if one works as well? I hope that makes my life easier later. This means I only have to get one sort of screws and the designing of the case should be a little easier. I have also attached a picture below: Today I did not work too much on the project, so these are all the changes from today!
I did not do too much stuff today. I mostly experimented with Fusion and did some tiny improvements. Genuinely, I hate Fusion… I don’t understand why everything has to be so complicated… Okay, so I made this small 3D battery model with nimits help! Thank you! I then attached that to my MP3 player in KiCad by creating a footprint for it and adding that 3D model there. It now looks like this: Pretty cool! For the rest of my working time today, I just TRIED… to make a case. I failed. Fusion makes every single feature (that should be easy) extremely complicated. Just why. Thanks for reading this, I’m so done for today… (also, why is that thing green again???)
I am genuinely struggling. Today I made SOME PART of my case, I just don’t get this program… I might try out OnShape soon, Fusion just seems like it’s working against me. I moved some parts on my PCB closer to the border so their connectors are accessible easier (the Pico & the AUX jacks). For some reason, Fusion did not like me and displayed the audio jacks higher than they were placed in KiCad. I did not find a solution for that other than just moving them down manually. Below is the new layout! Since I moved the Pi, I had to rewire quite a lot of stuff - didn’t take too long though. This is the start of my case. Yes, the start… It takes ages and I am not getting along well with the program. In the image below, it still uses the old layout. Apparently there is no way to import a .STEP file into an already existing project in Fusion- WHAT? Just why? Okay, anyways, the promised picture: Yep, I don’t like Fusion if you didn’t notice that already.
Yay, finally CAD! I switched from Fusion360 to Shapr33D. Best decision ever. This is so much more fun and it genuinely does not feel like the software is working against me anymore! Importing the .STEP file worked without any problems. I just noticed the audio jacks had that weird height offset again, seems to be a KiCad problem. Oh, and my PCB is green as well for some reason - but whatever! Here’s the PCB in Shapr3D: Shapr3D feels way more intuitive. The sketches work really well and everything is genuinely “assisted” (like the A in CAD). I’ve made some sketches for the case! This is the result for today! This is super unfinished and needs a bunch of polishing… More CAD work soon!
CAD progress!! I deleted the whole case I made yesterday, I think it looked insanely ugly. I wanted something sleek and somewhat elegant (to the extent it’s possible with a 3D printer). Therefore, I remade pretty much everything from scratch, but it looks a lot better now! This is the case I made: If you paid attention, you might’ve noticed a few things: I made stand-offs for the PCB There are two holes for the audio jacks There’s also a hole for the microUSB slot The microSD card also has a space in the case already! Take some pictures! This is the microUSB slot. I was not entirely sure how big it should be - I genuinely thought the Raspberry Pi Pico uses USB-C, because of the Orpheus Pico I have laying around - sadly it does not. Maybe I gotta mod it myself :) The holes for the audio jacks are not too spectacular: This is the hole for the microSD card (which is blue in this picture). I’m not sure if I even put it in the right way, I guess there’s only one way to find out: And here are the PCB stand-offs. Not very spectacular either. This is what the assembly of the case looks like with the PCB: Enough CAD work for today :)
More CAD improvements! I made the front of the case again! I also remade the controls and added a system so the buttons can’t fallout (reference) the case! On top of that, I wanted to add two screws at the bottom of the MP3 player that keep the case together - I’m splitting it into two parts! This way, the assembly should be a lot easier (and possible lol). I ended up reverting my changes though because I was not finished and ran out of time. Enough for today!
My project is almost finished! Today I made some subtle changes to the PCB. More changes were made in CAD today. I know I’m a CAD noob, so I took quite a while to do some simple things :> This is the result of my work today: I moved the SD card slot because I was scared it might not fit into the case. I also made some space for the Picos USB port. I added space for two M2 screws at the bottom of the case! I also added a hole through which the on/off switch can be used....
|
1792896842.933857
|
1793760842.933857
|
|
38995
|
Keyboard by @mishelkora27 | Stardance
|
mishelkora27
|
0
|
32.48
|
0
|
[]
|
[{"post_id": 42056, "ts": "202 [{"post_id": 42056, "ts": "2026-08-06T16:41:41Z", "hours": 0.8167, "text": "I changed the size of the case a little because I needed space for the holes. I also moved the holes to line up."}, {"post_id": 37489, "ts": "2026-07-30T08:24:22Z", "hours": 3.2453, "text": "SOOOO i think im done with the case other than the screw holes and maybe some feet?!?!?! But i have the sketches for the holes so I’ll be done with them quickly. on the little corner above the oled I think I’m going to engrave like an art like a logo or something (possibly newjeans bunny) and i think it turned out pretty okay. As a first experience I believe it was decent."}, {"post_id": 37203, "ts": "2026-07-29T18:57:56Z", "hours": 0.5664, "text": "I didn’t have a lot of time to work on it this morning however I did joint the switch and pcb together to make the placement as exact as possible so I will do that for all the switches and keycaps and decided on the cutout of the top of the keyboard."}, {"post_id": 36900, "ts": "2026-07-29T09:12:33Z", "hours": 2.8872, "text": "I thought I could finish everything today. However I could not. I did fix the depth of the keyboard which needed to be increased because I had not considered for the plastic part of the pins in the microcontroller. I also had to change the cutout for the usb and also had some trouble with that. the next thing I will do is place all the switches and keycaps on the correct placement and fix the cutout of the top plate. After that I will start the QMK code."}, {"post_id": 36277, "ts": "2026-07-28T08:41:17Z", "hours": 7.4231, "text": "I’m almost finished with the case. I decided to go with a sandwich mount style although I was contemplating between two different option. The only things I have left are the screw holes and make sure the keycaps will fit. I think I will go with m3 screws mounted from the back and I will cover them with some non slip pads. I’m a little concerned with how the microcontroller will fit. However I do think it turned out how I had envision it. I’m really proud of my progress and I anticipate to be done and ready to ship by tomorrow."}, {"post_id": 35634, "ts": "2026-07-27T06:02:48Z", "hours": 4.365, "text": "I’m officially done with the pcb. I ran the DRC and I did have some errors. I had to fix those which took me quite a bit since I had to move wires around and rewire. After that I saved the .step file and imported it to fusion where I started on the pcb. i also had generated a plate on ai03 plate generator and I cut out the switch holes. Then I realized that I was not 100% sure that I had placed the plate exactly correcly so I will import the dxf files of the pcb into fusion and check it out through that."}, {"post_id": 35054, "ts": "2026-07-26T07:12:21Z", "hours": 3.7039, "text": "So i finished laying out the switches, stabilizers, LED’s, oled screen and micro controller on the pcb. I had a bit of trouble with the LED’s because I did not realize that I needed to use LED’s that are mounted from the back so I had to place them above the switches and will have to use a transparent plate from the LED’s to shine through. I also had to create a little section above the oled for the micro controller to sit because it would not allow me to put it behind the oled where I had planned it. Therefore I had to come up with a new design. I will have to take another look at the pcb wiring because I got some errors. Overall I’m proud of my progress. I know it won’t be perfect but I’m giving it my all!!!"}, {"post_id": 34670, "ts": "2026-07-25T16:07:29Z", "hours": 1.8503, "text": "After I placed the switches in its placed manually, I realized that even the smallest gap could make the keycaps touch. So I used keyboard layout editor. I downloaded the json file and put it in the pcb. However I still had to place the stabilizers manually so I made sure to be very careful that it was in the correct position. Also I was going to place an origin point and move the switches like that but it was not working and the switches were either moving too far or not far enough."}, {"post_id": 34477, "ts": "2026-07-25T06:51:09Z", "hours": 3.2658, "text": "I laid out all the part of the pcb part. I had to flip the switches so the hotswap would be on the back. I started putting all the switches in its place but im having a bit of trouble with the size of the stabilizers i should use."}, {"post_id": 34319, "ts": "2026-07-24T22:25:33Z", "hours": 1.1333, "text": "When I tried to update the pcb from the schematic, I had some errors pop up. I was missing the footprint. I had to download a file with hotswappable switch sockets and assign the footprints. I also had to change the name of my microcontroller footprint because it was causing and error. At last I got it to work and update as it should."}, {"post_id": 34281, "ts": "2026-07-24T21:07:44Z", "hours": 0.3667, "text": "I’m done with the schematic for now. I added all of the LED’s and connected all of them to the microcontroller"}, {"post_id": 34241, "ts": "2026-07-24T19:33:04Z", "hours": 1.1792, "text": "I changed the layout a little. I had tp move some wires and shorten them. I moves the switches up and moved the microcontroller to the side. I added 65 LED’s to be placed next to the switches."}, {"post_id": 34113, "ts": "2026-07-24T16:26:20Z", "hours": 1.6819, "text": "Created a file that contains the kicad files for the keyboard. Decided on what microcontroller to use and finished the matrix wiring. I decided to also add LED lights and make it hot swappable."}]...
|
Title: Keyboard by @mishelkora27 | Stardance
Devl Title: Keyboard by @mishelkora27 | Stardance
Devlogs:
Created a file that contains the kicad files for the keyboard. Decided on what microcontroller to use and finished the matrix wiring. I decided to also add LED lights and make it hot swappable.
I changed the layout a little. I had tp move some wires and shorten them. I moves the switches up and moved the microcontroller to the side. I added 65 LED’s to be placed next to the switches.
I’m done with the schematic for now. I added all of the LED’s and connected all of them to the microcontroller
When I tried to update the pcb from the schematic, I had some errors pop up. I was missing the footprint. I had to download a file with hotswappable switch sockets and assign the footprints. I also had to change the name of my microcontroller footprint because it was causing and error. At last I got it to work and update as it should.
I laid out all the part of the pcb part. I had to flip the switches so the hotswap would be on the back. I started putting all the switches in its place but im having a bit of trouble with the size of the stabilizers i should use.
After I placed the switches in its placed manually, I realized that even the smallest gap could make the keycaps touch. So I used keyboard layout editor. I downloaded the json file and put it in the pcb. However I still had to place the stabilizers manually so I made sure to be very careful that it was in the correct position. Also I was going to place an origin point and move the switches like that but it was not working and the switches were either moving too far or not far enough.
So i finished laying out the switches, stabilizers, LED’s, oled screen and micro controller on the pcb. I had a bit of trouble with the LED’s because I did not realize that I needed to use LED’s that are mounted from the back so I had to place them above the switches and will have to use a transparent plate from the LED’s to shine through. I also had to create a little section above the oled for the micro controller to sit because it would not allow me to put it behind the oled where I had planned it. Therefore I had to come up with a new design. I will have to take another look at the pcb wiring because I got some errors. Overall I’m proud of my progress. I know it won’t be perfect but I’m giving it my all!!!
I’m officially done with the pcb. I ran the DRC and I did have some errors. I had to fix those which took me quite a bit since I had to move wires around and rewire. After that I saved the .step file and imported it to fusion where I started on the pcb. i also had generated a plate on ai03 plate generator and I cut out the switch holes. Then I realized that I was not 100% sure that I had placed the plate exactly correcly so I will import the dxf files of the pcb into fusion and check it out through that.
I’m almost finished with the case. I decided to go with a sandwich mount style although I was contemplating between two different option. The only things I have left are the screw holes and make sure the keycaps will fit. I think I will go with m3 screws mounted from the back and I will cover them with some non slip pads. I’m a little concerned with how the microcontroller will fit. However I do think it turned out how I had envision it. I’m really proud of my progress and I anticipate to be done and ready to ship by tomorrow.
I thought I could finish everything today. However I could not. I did fix the depth of the keyboard which needed to be increased because I had not considered for the plastic part of the pins in the microcontroller. I also had to change the cutout for the usb and also had some trouble with that. the next thing I will do is place all the switches and keycaps on the correct placement and fix the cutout of the top plate. After that I will start the QMK code.
I didn’t have a lot of time to work on it this morning however I did joint the switch and pcb together to make the placement as exact as possible so I will do that for all the switches and keycaps and decided on the cutout of the top of the keyboard.
SOOOO i think im done with the case other than the screw holes and maybe some feet?!?!?! But i have the sketches for the holes so I’ll be done with them quickly. on the little corner above the oled I think I’m going to engrave like an art like a logo or something (possibly newjeans bunny) and i think it turned out pretty okay. As a first experience I believe it was decent.
I changed the size of the case a little because I needed space for the holes. I also moved the holes to line up....
|
1792885700.0922735
|
1793749700.0922735
|
|
34987
|
Ma-Site by @MuhammadAayanMirza | Stardance
|
MuhammadAayanMirza
|
2
|
32.45
|
323
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T03:45:02Z", "hours": 18.0, "multiplier": 13.12, "payout": 289, "blessing": "neutral", "text": "This is my First time coding! So like most people I made a Personal Site. The site is made using HTML, CSS and JavaScript, all of which I learned in the making of this website. There is a fun loading screen when you open the site, the arrow in the home section is clickable, and all the project cards and game cards are interactive and lead you to their respective links upon clicking. The “Email me” button in the contact section leads you straight to my email. Hope you like the Site!!", "repo": "https://github.com/MuhammadAayanMirza/Ma-Site", "demo": "https://muhammadaayanmirza.github.io/Ma-Site/"}, {"ship_num": 2, "ts": "2026-07-23T11:12:08Z", "hours": 12.0, "multiplier": 2.78, "payout": 34, "blessing": "neutral", "text": "This Is My First Time Coding, So Like Most People I Made A Personal Site. I Learned A lot From This Journey, Huge Credit Goes To @Irtaza For Teaching Me Most Of The Code And What it Does. This Website Includes 3 Main Sections, Home, About Me, And Projects. The Contact Button On The Nav Bar Will Directly Lead You To My Email. Each Project Is Clickable And Leads To Their Respective Model. The Social Media Images Are Also Intractable. The Text And Image In The Home Section Increase Size When You Hover Over Them.", "repo": "https://github.com/MuhammadAayanMirza/Ma-Site", "demo": "https://muhammadaayanmirza.github.io/Ma-Site/"}]...
|
[{"post_id": 72705, "ts": "202 [{"post_id": 72705, "ts": "2026-09-23T15:24:35Z", "hours": 2.4514, "text": "Back to making this site even better!! In this session I dived deep into JavaScript to create this animated moving background for the site which I saw on @Irtaza ’s site and I liked it alot. So I spent all this time trying to figure out how that works because I have no idea how JavaScript works. I also added my new game “The Lat Dig” to the game section aswell with a clickable link."}, {"post_id": 47864, "ts": "2026-08-16T03:33:55Z", "hours": 0.5792, "text": "Added some finishing touches to the site, made the site completely compatible on mobile and created a brand new Readme with pictures of all the sections of Ma-Site. Now I think I’m ready to ship this project and hopefully people of the Stardance community will like it!"}, {"post_id": 47596, "ts": "2026-08-15T16:15:49Z", "hours": 2.9853, "text": "Created the Contact section of the site with an interactive button that if you click will lead you straight to my email and the button glows really cool upon hovering on it. Most of the time in this session was spent on making all the elements on the desktop site also look the same or similar on the mobile site. This took a ton ton of time and I’m still fiddling around with it. Other than that I think the version 2 of Ma-Site is complete and I will soon ship this project and hopefully get a better multiplier than 2.78x ."}, {"post_id": 47401, "ts": "2026-08-15T09:50:29Z", "hours": 1.8664, "text": "Redesigned the Home section a bit and added a brand new Games section with the one game I have made called “Hyper Slide”. Also now when you hover over the project cards and game card a drop shadow appears behind them making it feel like they are lifted above the page a bit which is cool. Now the site actually feels like a proper usable fun site. Now I need to add a proper contact section and maybe add something else that makes the website feel a bit more complete!"}, {"post_id": 47306, "ts": "2026-08-15T05:30:28Z", "hours": 1.7797, "text": "Redesigned the Projects section and added an animated arrow in the home section which is clickable and leads to the about me section in a smooth manner."}, {"post_id": 47059, "ts": "2026-08-14T17:48:42Z", "hours": 3.1622, "text": "Used JavaScript for the first time to animate the loading of the about section. Changed up the whole colour palette again because the last one was feeling a bit too dull and also polished up the about section of the site. I’m still experimenting with the projects section’s colours and layout and I still need to animate that. It tales me alot of time to do this because this is my first ever coding project and learning new things takes a bit of time."}, {"post_id": 46813, "ts": "2026-08-14T10:13:39Z", "hours": 1.7314, "text": "Changed the colours of the project cards, changed font colours, removed a piece of text which wasn’t needed. Redid the whole About me section visually and adjusted all the sizes of elements across thew website. I’m still working on the sections to make em better and a new section is coming soon 👀"}, {"post_id": 46456, "ts": "2026-08-13T17:53:56Z", "hours": 1.0542, "text": "Added a loading screen with the text “Welcome” in some different languages and ending of with “I’m Aayan” because I’m Aayan. Also got rid of the curly arrows and small text as I think the landing page looks cleaner without it. The animation part was very difficult for me because it was very new to me, I started of by using JavaScript but for some reason that didn’t work I had to go back to the trusty old CSS."}, {"post_id": 46411, "ts": "2026-08-13T16:30:52Z", "hours": 2.2386, "text": "Still working on the landing page. I experimented alot with different Profile images, fonts for texts, navigation bar settings and the colour ways of the site. I want to get it right this time and make a strong base for the site!!"}, {"post_id": 45864, "ts": "2026-08-12T16:24:43Z", "hours": 1.5567, "text": "Adjusted all the components of the landing page, shifted the nav bar to the right which somehow removed the background of nav bar from the left side so also fixed that, tweaked what happens when you hover over the nav bar sections and added cool curly arrows to tell my interests in the first page. hope people like the colour scheme and layout now!"}, {"post_id": 45760, "ts": "2026-08-12T13:45:18Z", "hours": 1.4381, "text": "As I didn’t get any good ratings on my last ship, I’m redesigning my whole website. Starting of with colour palettes and the landing page. Let’s see where this goes."}, {"post_id": 33423, "ts": "2026-07-23T10:48:22Z", "hours": 0.7358, "text": "There Were A Ton Of Issues That Popped Up On The Mobile Site. The Big One Was That There Was Overflow-x on the right hand side of the website on mobile. It Took Ages To Only Fix That Issue. When That Issue Was Fixed, Then The Nav Bar Started To Act Weird As It Was Not Following Along The Page Anymore. But Overall I’m Quite Happy With The Site. I Think It Is A Good First Coding Project For Me."}, {"post_id": 33392, "ts": "2026-07-23T09:26:23Z", "hours": 1.5422, "text": "Made The Website Mobile Friendly By Using CSS And The @media screen feature. Also Made All The Social Links In One Container For Better Alignment And Made Their Size Smaller So That They Don’t Feel Odd On The Page."}, {"post_id": 33093, "ts": "2026-07-22T18:08:29Z", "hours": 2.1575, "text": "I Refined The About Me Section. I Added PNGs Of The Social Platforms I Post Content On, I Made The PNGs Interactable So That When You Click Them They Lead You To The Respective Platform With My Profile Opened. I Also Refined The Navigation Bar After A Bit Of Tinkering With The Colour Wheel And Borders. Added Some Borders Around the Home Page And Underlines Under The Section’s Titles."}, {"post_id": 32936, "ts": "2026-07-22T12:40:36Z", "hours": 1.9381, "text": "Finished The Projects Section. Learned A Whole Lot. Tinkered A lot With The Code. Made A Container With Multiple Divs, Added Images, Text And A Link To The Divs, So That When You Hover Over The Projects The Size Increases Slightly And If You Click Anywhere On The Image, text Or Background of The Project, It Will Direct You To The Project Link. Changed The Colour Scheme Of It A lot To See What Looked Best. I’m Quite Happy With This!"}, {"post_id": 32791, "ts": "2026-07-22T05:36:26Z", "hours": 1.2383, "text": "Completed The About Me Section Of The Site. Wrote A Thoughtful Paragraph About Myself And Added An Animated Text So That When You Are Reading The About Me Paragraph The Text Beneath “Loads in”. I Made A Link And Learned How To Make It Separate From The Other Links. I Also Added A Home Tab At The Top, I Felt It Was Needed."}, {"post_id": 32365, "ts": "2026-07-21T14:23:46Z", "hours": 1.9994, "text": "Thanks to my friend @Irtaza . I now know how to make all these cool things like changing the colour of your link, how to make them intractable, how to add a gradient background on to a container and make it animated so that the gradient moves and looks super duper amazing. Speaking of a container, I know how to make it finally and contain the text and image as one, so that it can be used in the css file. Margins were very infuriating but in the end it all worked out!"}, {"post_id": 31689, "ts": "2026-07-20T09:31:10Z", "hours": 0.56, "text": "I Learned How To Create Links, How To Add A Navigation Bar At The Top And How To Add Your Gmail As A Link. I’m Now Further Working On The About Me Section Trying To Refine It And Make It Look A Bit Professional!"}, {"post_id": 31161, "ts": "2026-07-19T10:27:07Z", "hours": 0.5992, "text": "Played Heavily Around With Fonts, Font sizes, Margins, etc. Made The Image a more suitable size and overall just having fun with it!"}, {"post_id": 29603, "ts": "2026-07-16T17:22:20Z", "hours": 1.2956, "text": "Learned CSS from my Friend @Irtaza and I am enjoying coding now. seeing the result of what you code is really cool!! Also the Color command wasn’t working for me because I kept typing “colour” instead of color, I lived in The UK, that’s what it is meant to be ."}, {"post_id": 28455, "ts": "2026-07-14T18:23:40Z", "hours": 0.2506, "text": "First time coding anything, I’m finding the syntax difficult. Im kinda dumb…"}]...
|
Title: Ma-Site by @MuhammadAayanMirza | Stardance
Title: Ma-Site by @MuhammadAayanMirza | Stardance
Devlogs:
First time coding anything, I’m finding the syntax difficult. Im kinda dumb…
Learned CSS from my Friend @Irtaza and I am enjoying coding now. seeing the result of what you code is really cool!! Also the Color command wasn’t working for me because I kept typing “colour” instead of color, I lived in The UK, that’s what it is meant to be .
Played Heavily Around With Fonts, Font sizes, Margins, etc. Made The Image a more suitable size and overall just having fun with it!
I Learned How To Create Links, How To Add A Navigation Bar At The Top And How To Add Your Gmail As A Link. I’m Now Further Working On The About Me Section Trying To Refine It And Make It Look A Bit Professional!
Thanks to my friend @Irtaza . I now know how to make all these cool things like changing the colour of your link, how to make them intractable, how to add a gradient background on to a container and make it animated so that the gradient moves and looks super duper amazing. Speaking of a container, I know how to make it finally and contain the text and image as one, so that it can be used in the css file. Margins were very infuriating but in the end it all worked out!
Completed The About Me Section Of The Site. Wrote A Thoughtful Paragraph About Myself And Added An Animated Text So That When You Are Reading The About Me Paragraph The Text Beneath “Loads in”. I Made A Link And Learned How To Make It Separate From The Other Links. I Also Added A Home Tab At The Top, I Felt It Was Needed.
Finished The Projects Section. Learned A Whole Lot. Tinkered A lot With The Code. Made A Container With Multiple Divs, Added Images, Text And A Link To The Divs, So That When You Hover Over The Projects The Size Increases Slightly And If You Click Anywhere On The Image, text Or Background of The Project, It Will Direct You To The Project Link. Changed The Colour Scheme Of It A lot To See What Looked Best. I’m Quite Happy With This!
I Refined The About Me Section. I Added PNGs Of The Social Platforms I Post Content On, I Made The PNGs Interactable So That When You Click Them They Lead You To The Respective Platform With My Profile Opened. I Also Refined The Navigation Bar After A Bit Of Tinkering With The Colour Wheel And Borders. Added Some Borders Around the Home Page And Underlines Under The Section’s Titles.
Made The Website Mobile Friendly By Using CSS And The @media screen feature. Also Made All The Social Links In One Container For Better Alignment And Made Their Size Smaller So That They Don’t Feel Odd On The Page.
There Were A Ton Of Issues That Popped Up On The Mobile Site. The Big One Was That There Was Overflow-x on the right hand side of the website on mobile. It Took Ages To Only Fix That Issue. When That Issue Was Fixed, Then The Nav Bar Started To Act Weird As It Was Not Following Along The Page Anymore. But Overall I’m Quite Happy With The Site. I Think It Is A Good First Coding Project For Me.
As I didn’t get any good ratings on my last ship, I’m redesigning my whole website. Starting of with colour palettes and the landing page. Let’s see where this goes.
Adjusted all the components of the landing page, shifted the nav bar to the right which somehow removed the background of nav bar from the left side so also fixed that, tweaked what happens when you hover over the nav bar sections and added cool curly arrows to tell my interests in the first page. hope people like the colour scheme and layout now!
Still working on the landing page. I experimented alot with different Profile images, fonts for texts, navigation bar settings and the colour ways of the site. I want to get it right this time and make a strong base for the site!!
Added a loading screen with the text “Welcome” in some different languages and ending of with “I’m Aayan” because I’m Aayan. Also got rid of the curly arrows and small text as I think the landing page looks cleaner without it. The animation part was very difficult for me because it was very new to me, I started of by using JavaScript but for some reason that didn’t work I had to go back to the trusty old CSS.
Changed the colours of the project cards, changed font colours, removed a piece of text which wasn’t needed. Redid the whole About me section visually and adjusted all the sizes of elements across thew website. I’m still working on the sections to make em better and a new section is coming soon 👀
Used JavaScript for the first time to animate the loading of the about section. Changed up the whole colour palette again because the last one was feeling a bit too dull and also polished up the about section of the site. I’m still experimenting with the projects section’s colours and layout and I still need to animate that. It tales me alot of time to do this because this is my first ever coding project and learning new things takes a bit of time.
Redesigned the Projects section and added an animated arrow in the home section which is clickable and leads to the about me section in a smooth manner.
Redesigned the Home section a bit and added a brand new Games section with the one game I have made called “Hyper Slide”. Also now when you hover over the project cards and game card a drop shadow appears behind them making it feel like they are lifted above the page a bit which is cool. Now the site actually feels like a proper usable fun site. Now I need to add a proper contact section and maybe add something else that makes the website feel a bit more complete!
Created the Contact section of the site with an interactive button that if you click will lead you straight to my email and the button glows really cool upon hovering on it. Most of the time in this session was spent on making all the elements on the desktop site also look the same or similar on the mobile site. This took a ton ton of time and I’m still fiddling around with it. Other than that I think the version 2 of Ma-Site is complete and I will soon ship this project and hopefully get a better multiplier than 2.78x .
Added some finishing touches to the site, made the site completely compatible on mobile and created a brand new Readme with pictures of all the sections of Ma-Site. Now I think I’m ready to ship this project and hopefully people of the Stardance community will like it!
Back to making this site even better!! In this session I dived deep into JavaScript to create this animated moving background for the site which I saw on @Irtaza ’s site and I liked it alot. So I spent all this time trying to figure out how that works because I have no idea how JavaScript works. I also added my new game “The Lat Dig” to the game section aswell with a clickable link.
Ships:
This Is My First Time Coding, So Like Most People I Made A Personal Site. I Learned A lot From This Journey, Huge Credit Goes To @Irtaza For Teaching Me Most Of The Code And What it Does. This Website Includes 3 Main Sections, Home, About Me, And Projects. The Contact Button On The Nav Bar Will Directly Lead You To My Email. Each Project Is Clickable And Leads To Their Respective Model. The Social Media Images Are Also Intractable. The Text And Image In The Home Section Increase Size When You Hover Over Them.
This is my First time coding! So like most people I made a Personal Site. The site is made using HTML, CSS and JavaScript, all of which I learned in the making of this website. There is a fun loading screen when you open the site, the arrow in the home section is clickable, and all the project cards and game cards are interactive and lead you to their respective links upon clicking. The “Email me” button in the contact section leads you straight to my email. Hope you like the Site!!...
|
1793224174.6115127
|
1793310574.6115127
|
|
50139
|
Jarvis by @AshutoshPola | Stardance
|
AshutoshPola
|
1
|
32.45
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-17T09:11:17Z", "hours": 31.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Jarvis, a lightweight, local voice assistant for macOS that lives right in the menu bar. It runs small LLMs locally using Ollama with zero API costs, zero cloud tracking, and under 50 mb idle ram. Please make sure you download all the requirements before you run the code, And there is also no devlogs because I was planning to keep everything private but changed my mind later.", "repo": "https://github.com/ashutosh-pola/jarvis-v1", "demo": "https://github.com/ashutosh-pola/jarvis-v1/releases/tag/v1.0.0"}]...
|
[{"post_id": 51157, "ts": "202 [{"post_id": 51157, "ts": "2026-08-20T17:33:38Z", "hours": 0.5228, "text": "increased The local Gemma LLM query timeout to 180 seconds (3 minutes) after the reviewer had an issue with the model, originally i had it capped to 60 seconds and anything that takes longer than that, I just had a hard coded message about how it is taking too long for the model to run. This was put because my mac is only has an intel i5 and 8 gigs of ram, causing the model to freeze my mac after any question. If needed too or if your macbook can handle a it, you should increase the thinking time shown in the pic below to atleast 5 minutes"}, {"post_id": 50893, "ts": "2026-08-20T11:07:00Z", "hours": 0.4031, "text": "Big fix! I tracked down the macOS bugs from the reviewer feedback and fixed them. Resolved main-thread UI freezes, handled network config edge cases, and added Rosetta guides for Apple Silicon. Everything’s recompiled, tested, and running lag-free now!"}, {"post_id": 50520, "ts": "2026-08-19T18:21:59Z", "hours": 0.5225, "text": "tried to add macos arm support but I just left midway ill try again tomorrow (no pics so just put an old one)"}, {"post_id": 48756, "ts": "2026-08-17T09:04:08Z", "hours": 1.9, "text": "added a bar on the top"}, {"post_id": 48710, "ts": "2026-08-17T06:59:51Z", "hours": 28.7519, "text": "I was not gonna upload this here but I felt bad, its almost done"}]...
|
Title: Jarvis by @AshutoshPola | Stardance
Devlog Title: Jarvis by @AshutoshPola | Stardance
Devlogs:
I was not gonna upload this here but I felt bad, its almost done
added a bar on the top
tried to add macos arm support but I just left midway ill try again tomorrow (no pics so just put an old one)
Big fix! I tracked down the macOS bugs from the reviewer feedback and fixed them. Resolved main-thread UI freezes, handled network config edge cases, and added Rosetta guides for Apple Silicon. Everything’s recompiled, tested, and running lag-free now!
increased The local Gemma LLM query timeout to 180 seconds (3 minutes) after the reviewer had an issue with the model, originally i had it capped to 60 seconds and anything that takes longer than that, I just had a hard coded message about how it is taking too long for the model to run. This was put because my mac is only has an intel i5 and 8 gigs of ram, causing the model to freeze my mac after any question. If needed too or if your macbook can handle a it, you should increase the thinking time shown in the pic below to atleast 5 minutes
Ships:
I built Jarvis, a lightweight, local voice assistant for macOS that lives right in the menu bar. It runs small LLMs locally using Ollama with zero API costs, zero cloud tracking, and under 50 mb idle ram. Please make sure you download all the requirements before you run the code, And there is also no devlogs because I was planning to keep everything private but changed my mind later....
|
1792878489.0279891
|
1793742489.0279891
|
|
40300
|
BeerReact by @siemvk | Stardance
|
siemvk
|
0
|
32.32
|
0
|
[]
|
[{"post_id": 74422, "ts": "202 [{"post_id": 74422, "ts": "2026-09-27T11:09:54Z", "hours": 1.0622, "text": "I made StyledIcon so you don’t have to do much to use the icons displayed on the homepage and fixed tooltips for buttons."}, {"post_id": 74184, "ts": "2026-09-26T21:20:23Z", "hours": 0.9306, "text": "Made a small new homepage and resources page. Images are missing but its better then just having the demo be tests."}, {"post_id": 74161, "ts": "2026-09-26T20:02:58Z", "hours": 4.2781, "text": "Made steppers, added centered to NavRail , added spread to NavBar , fixed a bug where clicking ON a dialog popup made it close, made the wrapper for Steppers , and updated classNames"}, {"post_id": 37736, "ts": "2026-07-30T17:26:36Z", "hours": 1.9006, "text": "I asked gemini to make me a demo site then fixed a few bugs in it and started work on classNames this will contain all classnames you can use in beer css. its for when custom css is overkill but weird to include in the main project"}, {"post_id": 37509, "ts": "2026-07-30T09:42:50Z", "hours": 2.1039, "text": "technically this is v2 bc of how versioning works Nav is now NavRail , NavBar and NavTabs You can now use <Flex> for flexboxes I made <List> <SplitButton> now has better types (I am now extending <Button> instead of <button> ) I remade <Card> so you have more options You can now use no-space under size at <Space> There is still lots of work to do but I am happy with how development is going!"}, {"post_id": 36332, "ts": "2026-07-28T11:47:32Z", "hours": 1.28, "text": "fixed a bug where you could not give form items all of the prams they have and I wrote some docs"}, {"post_id": 35417, "ts": "2026-07-26T20:10:33Z", "hours": 20.7669, "text": "Wow look a project i forgot to add to a YSWS but is like kinda cool and not jet done (it looks done but its not)"}]...
|
Title: BeerReact by @siemvk | Stardance
Devlogs:
Title: BeerReact by @siemvk | Stardance
Devlogs:
Wow look a project i forgot to add to a YSWS but is like kinda cool and not jet done (it looks done but its not)
fixed a bug where you could not give form items all of the prams they have and I wrote some docs
technically this is v2 bc of how versioning works Nav is now NavRail , NavBar and NavTabs You can now use <Flex> for flexboxes I made <List> <SplitButton> now has better types (I am now extending <Button> instead of <button> ) I remade <Card> so you have more options You can now use no-space under size at <Space> There is still lots of work to do but I am happy with how development is going!
I asked gemini to make me a demo site then fixed a few bugs in it and started work on classNames this will contain all classnames you can use in beer css. its for when custom css is overkill but weird to include in the main project
Made steppers, added centered to NavRail , added spread to NavBar , fixed a bug where clicking ON a dialog popup made it close, made the wrapper for Steppers , and updated classNames
Made a small new homepage and resources page. Images are missing but its better then just having the demo be tests.
I made StyledIcon so you don’t have to do much to use the icons displayed on the homepage and fixed tooltips for buttons....
|
1792594285.5169542
|
1793199085.5169542
|
|
45273
|
Pirate game by @Martisos | Stardance
|
Martisos
|
1
|
32.3
|
437
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T16:06:09Z", "hours": 32.0, "multiplier": 13.56, "payout": 437, "blessing": "neutral", "text": "I made a survival, Vampire Survivors-like game! You control a ship that automatically shoots. I had so much fun creating this project—it’s only the second game I’ve ever created on a ‘professional’ level. For the art style, I wanted to try something interesting… imagine a kid drawing this game in their school notebook. I used just two main colors, and I hope the concept comes across clearly. I’m super proud of how it turned down, and I hope everyone has as much fun playing it as I did making it!", "repo": "https://github.com/Martisos/Pirate-rogue-like", "demo": "https://martisos.itch.io/piratink"}]...
|
[{"post_id": 71823, "ts": "202 [{"post_id": 71823, "ts": "2026-09-21T16:46:27Z", "hours": 0.3, "text": "Quick README UPDATE I rewrote the readme, so it’s more fitting to the resources -> “Writing a README that doesn’t suck”… Also added some screenshots to readme."}, {"post_id": 71797, "ts": "2026-09-21T15:58:23Z", "hours": 3.7986, "text": "I’M DONE The game is out! I named it PiratINK like I said in previous devlog. I added some stuff, here it is: Exp Loot So now there are 3 random sprites for exp. No more yellow rectangle! It’s random, also random scale and rotation so every loot looks unique. Cleaned project files and code There were a lot of trash files. I stored there every animation frame, even though i had spritesheet ready. Also code comments and prints. Cross Update No more green dot. Now I use special icon with shader! I think it looks good enough. README There is not much there, but small description, instructions and links are inside. IM SO EXCITED 30 hours is so much for me, I thought I will be working on this for 10? maybe 15 hours… That took a lot more time, but still I think i made really good job in quite small amount of time. Yesterday I was so excited i didn’t record 2 sprites I draw… Ooops. I made resprite for rare card and cross icon… I had so much fun… and sometimes hard time, but overall it was fantastic. Check out the game <3"}, {"post_id": 70823, "ts": "2026-09-19T20:33:26Z", "hours": 7.2333, "text": "(Probably) FINAL DEVLOG A lot happened, like always. There was a lot of work but I’m almost ready with the project. Here I come with 7 hours of coding and drawing assets. Major things that changed: THE NAME I think about… PiratINK….. Yup y’know. Pirating and INK. Something like that. Main Menu As you can see in the video there are small animations in it. The waves show in music beat (but for some reason OBS wasn’t recording the intro of music?), then Ship arrives. It floats on the water, synched with waves moving. I think it looks awesome :D Sounds There is music now in my game! I used sonatina - infinity-crystal (its on itch). I love how it sounds. This RPG music is doing well in my project and you can feel the battle on the sea. Large Enemy Last enemy i had to draw. I think it looks good enought. At first I wasn’t so sure about it, but now i think it’s okay. Cannonballs Now there are 6 unique sprites. Also size is random and rotation of each ball, so every feel unique. And more… A LOT of bug fixes, game feel etc etc. I hope you will like the game! I’m so close to release and I’m really really excited! Have a great day!"}, {"post_id": 67346, "ts": "2026-09-13T12:49:54Z", "hours": 5.8914, "text": "Another Updates! As always, i made a lot of changes, so I will summarise most of the major ones! Upgrade Cards got major update! Upgrade Cards Scene I’m now using a different scene for selecting upgrades. You can see 5 different card borders (dont look at the rare one, it was a placeholder and it looks terrible, so I will change it in the near future) Debuffs It now works perfectly fine! Last time enemies could run away from you instead of slowing down. Other really weird things kept happening… But now everything is under control 25 Unique Upgrade Cards I have 8 categories of upgrades, but you can get them in different rarities, so you can get a lot of power ups and debuffs to use on enemies! Main Menu Main menu has two sliding buttons, it will look cool when i’ll draw a big ship so the menu isn’t that empty. Options You can disable: camera shake, water; And you can enable player stats (i don’t think it will have any special styling, just plain text for nerds idk :D) Medium Enemy Added As always -> 3 frames for an enemy sprite. I wonder if the player should be able to upgrade their ship to this one… Maybe in some super-giga-epicly-legendary-1% upgrade. Cannonball Update Cannonball Range It’s not that big, but not only the ball disappears when it exit your screen, but also after +-3seconds. I had to make a small animation for it, because if you have a really big camera zoom you could see it just popping up in the middle of nothing. Particles It’s small a thing but i think it feels better now with it implemented That’s not all I made a lot in those 6h, but school started and sometimes i had to just write code for 5 minutes to get the streak… So I kinda don’t really remember the mini stuff i did lol. But it’s there! See ya on the sea or something <3"}, {"post_id": 61051, "ts": "2026-09-03T19:21:40Z", "hours": 4.2042, "text": "Pirate Game Updates! I (again) made a lot of stuff. The school started so… Nothing will change (i hope) and I will still be able to work on my small game :DDD. Major things are: Enemy Debuffs You can now draw upgrades cards that change enemy stats! I’m using global scripts to do that, I think the idea is cool and you will be able to combo it quite easily with player’s upgrades Mini Enemy I made two things for this enemy: Middle Cannon 3 frame sprite Middle cannon works differently from Left/Right cannon -> enemy DOES NOT rotate before shooting at you. I think now it looks more realistic? idk Sprite is kinda cool. I like the oars animation… It’s silly but i like it Upgrades Menu In Level Up Menu you can now see your upgrades! The style is only temporary (i know it looks awful but i will change it! Promise!). I had troubles making this one because menu in godot is just pain… Much more small details! I did a lot, even small changed matter to me so i’m happy i improved some other, smaller things"}, {"post_id": 57707, "ts": "2026-08-29T23:09:36Z", "hours": 2.0503, "text": "General Update I’ve added a lot of things! Most of them are really small changes that had to be done to upgrade the experience. Mainly: Upgrade Cards Rarities Now you have chance to get a card based on its rarity! # 0 - common; 1 - rare, 2 - epic, 3 - legendary const RARITY_WEIGHTS = { 0 : 40.0 , 1 : 30.0 , 2 : 20.0 , 3 : 10.0 } So it randomly chooses what cards are left and shuffles them! Player UI I mean it’s only two bars but they work perfectly fine. They have small animations and are connected to the player. Player now collects exp with magnet area Player has an area where you can collect the exp and it will go straight to you! It’s a small circle and if you catch exp in it, the exp will go into your ship I have ‘TODO’ list There are over 20 things i have to do… I know this devlog looks crappy, like i didn’t do that much but trust there are A LOT of small changes. I hope you like it!"}, {"post_id": 54117, "ts": "2026-08-24T22:48:57Z", "hours": 2.1286, "text": "Pirate Game - Testing & Updating I have much work to do… So i started with probably the major update in this devlog: Enemy pathfinding. It was simple at the beginning: Enemy just moved directly at you, and as you can imagine it wasn’t perfect. So I added Pathfinder (NavigatonAgent2D). Now enemies make space for each others… It still looks goofy and if there’s too many they just bump each other and still kill others… I have to manually change some properties and it will work more efficient (TRUST ME (maybe)) Some icons and cannonball I drew icons for almost all upgrades and, as you could see in the video, for the cannonball. Someone suggested that player’s and enemies bullets should be different -> yup, i agree i will probably add some shading/light on yours (like in isaac or something). Cannonball sprite looks a bit static so i wanna draw like 5 of those and change it mid-air. (IM NOT AN ARTIST SO PLEASE DON’T EXPECT ANYTHING CRAZY). Testing I did a lot of tests and minor changes, so i know what i should work on!"}, {"post_id": 52678, "ts": "2026-08-22T23:00:02Z", "hours": 2.4783, "text": "Pirate Game - Textures and Upgrade Cards I added 10+ upgrade cards (mostly for testing). You can see the stats in top-left corner. I really like the ship texture. Even if it’s simple, I think the 3 frame animation looks really good. I also added a shader for the water (also i made the water texture) but something isn’t quite right… I’ll be changing it later! I had to change water’s brightness… Even though i wanted the game to be only 2 colors, I think that’s impossible because you can’t see shi…p. It messes up with the player and i think darker version isn’t that bad (i think)."}, {"post_id": 51906, "ts": "2026-08-21T20:16:41Z", "hours": 1.3744, "text": "Pirate Rogue Like Game (late 2 day) I added upgrade cards system, so you can choose 3 (i made only 2, so there are no 3 on screen…) and then the stats will apply to the player! Next, I will make a lot of those cards and probably start drawing, because those color rects and godot icons don’t fit at all. That’s all for today, have a marvelous day (or night)"}, {"post_id": 51844, "ts": "2026-08-21T18:24:59Z", "hours": 3.0642, "text": "Pirate Rogue Like Game (day1+2) So i made basic systems: movement (click to move), enemies spawning and shooting. There are no textures yet but i want to try with some ink/paper design so it will look like a child is playing in his notebook or something."}]...
|
Title: Pirate game by @Martisos | Stardance
Devlo Title: Pirate game by @Martisos | Stardance
Devlogs:
Pirate Rogue Like Game (day1+2) So i made basic systems: movement (click to move), enemies spawning and shooting. There are no textures yet but i want to try with some ink/paper design so it will look like a child is playing in his notebook or something.
Pirate Rogue Like Game (late 2 day) I added upgrade cards system, so you can choose 3 (i made only 2, so there are no 3 on screen…) and then the stats will apply to the player! Next, I will make a lot of those cards and probably start drawing, because those color rects and godot icons don’t fit at all. That’s all for today, have a marvelous day (or night)
Pirate Game - Textures and Upgrade Cards I added 10+ upgrade cards (mostly for testing). You can see the stats in top-left corner. I really like the ship texture. Even if it’s simple, I think the 3 frame animation looks really good. I also added a shader for the water (also i made the water texture) but something isn’t quite right… I’ll be changing it later! I had to change water’s brightness… Even though i wanted the game to be only 2 colors, I think that’s impossible because you can’t see shi…p. It messes up with the player and i think darker version isn’t that bad (i think).
Pirate Game - Testing & Updating I have much work to do… So i started with probably the major update in this devlog: Enemy pathfinding. It was simple at the beginning: Enemy just moved directly at you, and as you can imagine it wasn’t perfect. So I added Pathfinder (NavigatonAgent2D). Now enemies make space for each others… It still looks goofy and if there’s too many they just bump each other and still kill others… I have to manually change some properties and it will work more efficient (TRUST ME (maybe)) Some icons and cannonball I drew icons for almost all upgrades and, as you could see in the video, for the cannonball. Someone suggested that player’s and enemies bullets should be different -> yup, i agree i will probably add some shading/light on yours (like in isaac or something). Cannonball sprite looks a bit static so i wanna draw like 5 of those and change it mid-air. (IM NOT AN ARTIST SO PLEASE DON’T EXPECT ANYTHING CRAZY). Testing I did a lot of tests and minor changes, so i know what i should work on!
General Update I’ve added a lot of things! Most of them are really small changes that had to be done to upgrade the experience. Mainly: Upgrade Cards Rarities Now you have chance to get a card based on its rarity! # 0 - common; 1 - rare, 2 - epic, 3 - legendary const RARITY_WEIGHTS = { 0 : 40.0 , 1 : 30.0 , 2 : 20.0 , 3 : 10.0 } So it randomly chooses what cards are left and shuffles them! Player UI I mean it’s only two bars but they work perfectly fine. They have small animations and are connected to the player. Player now collects exp with magnet area Player has an area where you can collect the exp and it will go straight to you! It’s a small circle and if you catch exp in it, the exp will go into your ship I have ‘TODO’ list There are over 20 things i have to do… I know this devlog looks crappy, like i didn’t do that much but trust there are A LOT of small changes. I hope you like it!
Pirate Game Updates! I (again) made a lot of stuff. The school started so… Nothing will change (i hope) and I will still be able to work on my small game :DDD. Major things are: Enemy Debuffs You can now draw upgrades cards that change enemy stats! I’m using global scripts to do that, I think the idea is cool and you will be able to combo it quite easily with player’s upgrades Mini Enemy I made two things for this enemy: Middle Cannon 3 frame sprite Middle cannon works differently from Left/Right cannon -> enemy DOES NOT rotate before shooting at you. I think now it looks more realistic? idk Sprite is kinda cool. I like the oars animation… It’s silly but i like it Upgrades Menu In Level Up Menu you can now see your upgrades! The style is only temporary (i know it looks awful but i will change it! Promise!). I had troubles making this one because menu in godot is just pain… Much more small details! I did a lot, even small changed matter to me so i’m happy i improved some other, smaller things
Another Updates! As always, i made a lot of changes, so I will summarise most of the major ones! Upgrade Cards got major update! Upgrade Cards Scene I’m now using a different scene for selecting upgrades. You can see 5 different card borders (dont look at the rare one, it was a placeholder and it looks terrible, so I will change it in the near future) Debuffs It now works perfectly fine! Last time enemies could run away from you instead of slowing down. Other really weird things kept happening… But now everything is under control 25 Unique Upgrade Cards I have 8 categories of upgrades, but you can get them in different rarities, so you can get a lot of power ups and debuffs to use on enemies! Main Menu Main menu has two sliding buttons, it will look cool when i’ll draw a big ship so the menu isn’t that empty. Options You can disable: camera shake, water; And you can enable player stats (i don’t think it will have any special styling, just plain text for nerds idk :D) Medium Enemy Added As always -> 3 frames for an enemy sprite. I wonder if the player should be able to upgrade their ship to this one… Maybe in some super-giga-epicly-legendary-1% upgrade. Cannonball Update Cannonball Range It’s not that big, but not only the ball disappears when it exit your screen, but also after +-3seconds. I had to make a small animation for it, because if you have a really big camera zoom you could see it just popping up in the middle of nothing. Particles It’s small a thing but i think it feels better now with it implemented That’s not all I made a lot in those 6h, but school started and sometimes i had to just write code for 5 minutes to get the streak… So I kinda don’t really remember the mini stuff i did lol. But it’s there! See ya on the sea or something <3
(Probably) FINAL DEVLOG A lot happened, like always. There was a lot of work but I’m almost ready with the project. Here I come with 7 hours of coding and drawing assets. Major things that changed: THE NAME I think about… PiratINK….. Yup y’know. Pirating and INK. Something like that. Main Menu As you can see in the video there are small animations in it. The waves show in music beat (but for some reason OBS wasn’t recording the intro of music?), then Ship arrives. It floats on the water, synched with waves moving. I think it looks awesome :D Sounds There is music now in my game! I used sonatina - infinity-crystal (its on itch). I love how it sounds. This RPG music is doing well in my project and you can feel the battle on the sea. Large Enemy Last enemy i had to draw. I think it looks good enought. At first I wasn’t so sure about it, but now i think it’s okay. Cannonballs Now there are 6 unique sprites. Also size is random and rotation of each ball, so every feel unique. And more… A LOT of bug fixes, game feel etc etc. I hope you will like the game! I’m so close to release and I’m really really excited! Have a great day!
I’M DONE The game is out! I named it PiratINK like I said in previous devlog. I added some stuff, here it is: Exp Loot So now there are 3 random sprites for exp. No more yellow rectangle! It’s random, also random scale and rotation so every loot looks unique. Cleaned project files and code There were a lot of trash files. I stored there every animation frame, even though i had spritesheet ready. Also code comments and prints. Cross Update No more green dot. Now I use special icon with shader! I think it looks good enough. README There is not much there, but small description, instructions and links are inside. IM SO EXCITED 30 hours is so much for me, I thought I will be working on this for 10? maybe 15 hours… That took a lot more time, but still I think i made really good job in quite small amount of time. Yesterday I was so excited i didn’t record 2 sprites I draw… Ooops. I made resprite for rare card and cross icon… I had so much fun… and sometimes hard time, but overall it was fantastic. Check out the game <3
Quick README UPDATE I rewrote the readme, so it’s more fitting to the resources -> “Writing a README that doesn’t suck”… Also added some screenshots to readme.
Ships:
I made a survival, Vampire Survivors-like game! You control a ship that automatically shoots. I had so much fun creating this project—it’s only the second game I’ve ever created on a ‘professional’ level. For the art style, I wanted to try something interesting… imagine a kid drawing this game in their school notebook. I used just two main colors, and I hope the concept comes across clearly. I’m super proud of how it turned down, and I hope everyone has as much fun playing it as I did making it!...
|
1793148794.2888281
|
1793235194.2888281
|
|
34237
|
HAPPY PLANT by @layerblayerplus | Stardance
|
layerblayerplus
|
0
|
32.28
|
0
|
[]
|
[{"post_id": 77697, "ts": "202 [{"post_id": 77697, "ts": "2026-10-07T23:21:04Z", "hours": 0.7214, "text": "I did final github update I added lots of photos and did some other minor edits I am still planing to change some things but I want to order now because stardance is almost over"}, {"post_id": 77470, "ts": "2026-10-07T03:43:50Z", "hours": 1.6008, "text": "I worked on making the readme better aswell as adding more files to the github repo I made a 3d printed part list aswell as techincal discription ect"}, {"post_id": 77215, "ts": "2026-10-06T03:52:52Z", "hours": 2.3006, "text": "I made a github repository for the project and added the 3d modl files there as well as making a bill of materials and also finding a source for mosfets"}, {"post_id": 76626, "ts": "2026-10-04T06:34:15Z", "hours": 1.1011, "text": "I made decals for the container aswell as finishing of finding all the parts I need and the final cost after shiping and taxes it is 127.47"}, {"post_id": 76609, "ts": "2026-10-04T05:07:35Z", "hours": 1.5011, "text": "I changed the code for how the four digit display worked aswell as starting to work on the servo code"}, {"post_id": 75758, "ts": "2026-09-30T23:55:46Z", "hours": 1.3519, "text": "I did more onshape editing I worked on making the diffrent parts fit together after being 3d printed I also worked on changing the amount of holes on the side panel as I only have 4 dials in the design now, not 5 technical the top shell(light blue), bottom shell(dark blue) and water air membrane(orange) all have holes in their corners and now can be held together by a 30 mm length, 5 mm width pin"}, {"post_id": 75449, "ts": "2026-09-30T03:55:52Z", "hours": 1.2336, "text": "I EDITED THE ONSHAPE MODEL what I changed I added a seprate detached part for the control panel (grey part with holes, bottom center in image) I resized the heatpump holes to fit one peltier modules as using one module makes it more cost effective. I added a hole in the main electronics box to connect the peltier modules to the micro controller ect. I also did numurous minor changes like extending and shorting parts or moving parts ect."}, {"post_id": 75251, "ts": "2026-09-29T15:55:36Z", "hours": 0.5672, "text": "I found cheaper parts for my project bringing the total from arround 144 usd to 50 usd I saved the most by changing from a grow bulb to grow led strip I also saved a lot by getting my servo from robotshop instead of amazon"}, {"post_id": 75059, "ts": "2026-09-29T00:53:10Z", "hours": 2.9519, "text": "finished 4 digit 7 segment display I actually(mostly) finished coding the 7 seg 4 digit display this is how it works if you turn a potentiometer it changes the power of the attached outputs strength via a mosfet the 4 digit display shows all the set values of outputs one by one it shows an new output every 5 seconds Techincal I had to figure out how to do a local delay in the code to track time so i had to figure out how to use the millis() function which tracks milliseconds from the ardunio being turned on I then used this to make a tick system to make the 4 digit display show a new value every 5 seconds"}, {"post_id": 69469, "ts": "2026-09-17T03:55:47Z", "hours": 1.1503, "text": "I started coding a 7 seg display for the project"}, {"post_id": 41502, "ts": "2026-08-05T19:04:54Z", "hours": 3.0167, "text": "I worked on coding the ardunio in tinkercad aswell as figuring out how to use a mosfet to control electronics that are powered with high voltage and how to analog read potentiometers to control the high power electronics through the mosfets"}, {"post_id": 31603, "ts": "2026-07-20T04:16:25Z", "hours": 0.5336, "text": "I worked on makeing a psudocode flow chart for happy plant. basically each potentiometer controls its own variable and each output device runs on a base power/frequency times the relating potetiometers variable."}, {"post_id": 30458, "ts": "2026-07-18T00:57:10Z", "hours": 0.6136, "text": "i tried to figure out the lcd screen"}, {"post_id": 29911, "ts": "2026-07-17T02:40:10Z", "hours": 0.8508, "text": "I just did some final edits on the model I added a hole in the back for the power supply unit I also added a mount for the servo that is a part of the mister mechanisms"}, {"post_id": 29788, "ts": "2026-07-16T21:58:10Z", "hours": 1.7817, "text": "I worked on finishing the servo mod by giving it more prongs to make sure the water in the tube wont fall backwards I took a while for me to figure out how to import the servo mod but I found out the problem was some of my sketches weren’t fully defined so fixed that i also learned that if I wanted to add it derectly to my model I hade to use parasolid instead of an stl. I also worked on the water resorvior I made it small I also pushed it to the side to make room for the electronics"}, {"post_id": 29305, "ts": "2026-07-16T04:06:20Z", "hours": 0.5797, "text": "I Modeled A servo horn mod for the mister mechansim this took way longer then it should of took"}, {"post_id": 29294, "ts": "2026-07-16T03:30:55Z", "hours": 1.0308, "text": "In this work session I worked On making a Hole for the 4 digit 7 segment display as well as making a wall and hole to connect the potentiometers and the 4 digit 7 segment display to the main electronic box. I also worked on the mister mechanisms I expanded the water reservoir and worked on the part used to help the servo push water up the tube."}, {"post_id": 29171, "ts": "2026-07-15T21:48:41Z", "hours": 0.9675, "text": "my wifi cut so I had to end this session here but this session I worked on scaling my model to the right size to be able to be printed as well as adjusting the sizes of some parts to fit componets properly I also added holes for the potentiometers on the side on the model"}, {"post_id": 29111, "ts": "2026-07-15T19:31:25Z", "hours": 1.0339, "text": "I made a list of all the electronic parts with links to a source for the part as well as price and dimension"}, {"post_id": 28983, "ts": "2026-07-15T16:47:48Z", "hours": 1.3586, "text": "I worked on finishing all the modeling of the ‘‘shell’’ of the controlled plant enviroment I worked on making the mechanisms in the main electronic box such as the ‘‘heatsink’’ and the water reservoir for the mister in the next update for modeling I will add the holes for the electctronics"}, {"post_id": 28636, "ts": "2026-07-15T00:32:48Z", "hours": 1.2169, "text": "I worked on MODELING the most basic parts of the CONTROLED PLANT ENCLOSURE in ONSHAPE the parts I modeled the work session was the top cover, the bottom water reservoir, air water barrier, and I started modeling the main electronic box."}, {"post_id": 28526, "ts": "2026-07-14T20:46:49Z", "hours": 0.4172, "text": "I added all the electronic parts listed to my tinkercad model(bysides PSU) but some weren’t in tinkercad so i used other componets to represent them. The parts I have so far are 5 potentiometers 1 continous servo. 1 slider switch. 1 LED meant to represent a LED grow bulb. 1 piezo buzzer meant to represent a ultrasonic atomizing piezo disc. and finally two bread boards meant to represent thermoelectric heat pumps."}, {"post_id": 28468, "ts": "2026-07-14T18:34:52Z", "hours": 0.9836, "text": "I worked on the circut for the enclosure in tinkercad but I mostly just did trouble shooting. I tried to find out how to attach a screen to a arduino. I tried to use a lcd screen using a a guide from an arduino forum but it didn’t work. so I ended up just attaching the potentiometers in this work session. I ended up learning a lot for the next time I try to tackle the challenge of adding a LCD screen or something similar"}, {"post_id": 28383, "ts": "2026-07-14T16:42:12Z", "hours": 0.5503, "text": "I created a list of the parts of the controled plant enclosure in word."}, {"post_id": 28088, "ts": "2026-07-14T04:06:15Z", "hours": 0.6336, "text": "I just labeled my designs."}, {"post_id": 28019, "ts": "2026-07-14T00:30:26Z", "hours": 0.7833, "text": "I made Xray versions of some of some of the sketches to show the inear workings of the controlled enviroment for growing plants such as how the water mister works as well as how the air and water heating works I also decided to use a thermoelectric heat pump for the heating of the water and air as it lets me create heat aswell as “cold”"}, {"post_id": 27882, "ts": "2026-07-13T19:50:59Z", "hours": 0.9169, "text": "I worked on making a basic sketch of my project —————————————————————– I decided to do basic sketch of the controlled plant enviroment to help me with finding ideas on how to control each factor important to plant growth. So the factors I have chose to be adjustable so far are listed here from easest to hardest to implement 1- light level of the enclosure 2- background sound in the enclosure 3- air moisture 4- the temputure of the water the plant is growing in 5- the air temputure of the enclosure"}, {"post_id": 27500, "ts": "2026-07-13T03:44:45Z", "hours": 0.5336, "text": "WELCOME TO MY PROJECT CALLED HAPPY PLANT. There is two reasons why I made this project one is that sometimes I want to grow a certain plant but the region I live in Is not suitable for Its growth. Another reason why I made this was I thought It would be useful to be able to test diffrent conditions on a plant and use the the conditions that give you the most desirable results for your needs so I chose to design this to have an a enviroment that is ‘‘fully’’ controled.–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– IN THIS SESSION I worked on some brain storming and reseach on what factors that effect plant growth I should control and how to control them."}]...
|
Title: HAPPY PLANT by @layerblayerplus | Stardance Title: HAPPY PLANT by @layerblayerplus | Stardance
Devlogs:
WELCOME TO MY PROJECT CALLED HAPPY PLANT. There is two reasons why I made this project one is that sometimes I want to grow a certain plant but the region I live in Is not suitable for Its growth. Another reason why I made this was I thought It would be useful to be able to test diffrent conditions on a plant and use the the conditions that give you the most desirable results for your needs so I chose to design this to have an a enviroment that is ‘‘fully’’ controled.–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– IN THIS SESSION I worked on some brain storming and reseach on what factors that effect plant growth I should control and how to control them.
I worked on making a basic sketch of my project —————————————————————– I decided to do basic sketch of the controlled plant enviroment to help me with finding ideas on how to control each factor important to plant growth. So the factors I have chose to be adjustable so far are listed here from easest to hardest to implement 1- light level of the enclosure 2- background sound in the enclosure 3- air moisture 4- the temputure of the water the plant is growing in 5- the air temputure of the enclosure
I made Xray versions of some of some of the sketches to show the inear workings of the controlled enviroment for growing plants such as how the water mister works as well as how the air and water heating works I also decided to use a thermoelectric heat pump for the heating of the water and air as it lets me create heat aswell as “cold”
I just labeled my designs.
I created a list of the parts of the controled plant enclosure in word.
I worked on the circut for the enclosure in tinkercad but I mostly just did trouble shooting. I tried to find out how to attach a screen to a arduino. I tried to use a lcd screen using a a guide from an arduino forum but it didn’t work. so I ended up just attaching the potentiometers in this work session. I ended up learning a lot for the next time I try to tackle the challenge of adding a LCD screen or something similar
I added all the electronic parts listed to my tinkercad model(bysides PSU) but some weren’t in tinkercad so i used other componets to represent them. The parts I have so far are 5 potentiometers 1 continous servo. 1 slider switch. 1 LED meant to represent a LED grow bulb. 1 piezo buzzer meant to represent a ultrasonic atomizing piezo disc. and finally two bread boards meant to represent thermoelectric heat pumps.
I worked on MODELING the most basic parts of the CONTROLED PLANT ENCLOSURE in ONSHAPE the parts I modeled the work session was the top cover, the bottom water reservoir, air water barrier, and I started modeling the main electronic box.
I worked on finishing all the modeling of the ‘‘shell’’ of the controlled plant enviroment I worked on making the mechanisms in the main electronic box such as the ‘‘heatsink’’ and the water reservoir for the mister in the next update for modeling I will add the holes for the electctronics
I made a list of all the electronic parts with links to a source for the part as well as price and dimension
my wifi cut so I had to end this session here but this session I worked on scaling my model to the right size to be able to be printed as well as adjusting the sizes of some parts to fit componets properly I also added holes for the potentiometers on the side on the model
In this work session I worked On making a Hole for the 4 digit 7 segment display as well as making a wall and hole to connect the potentiometers and the 4 digit 7 segment display to the main electronic box. I also worked on the mister mechanisms I expanded the water reservoir and worked on the part used to help the servo push water up the tube.
I Modeled A servo horn mod for the mister mechansim this took way longer then it should of took
I worked on finishing the servo mod by giving it more prongs to make sure the water in the tube wont fall backwards I took a while for me to figure out how to import the servo mod but I found out the problem was some of my sketches weren’t fully defined so fixed that i also learned that if I wanted to add it derectly to my model I hade to use parasolid instead of an stl. I also worked on the water resorvior I made it small I also pushed it to the side to make room for the electronics
I just did some final edits on the model I added a hole in the back for the power supply unit I also added a mount for the servo that is a part of the mister mechanisms
i tried to figure out the lcd screen
I worked on makeing a psudocode flow chart for happy plant. basically each potentiometer controls its own variable and each output device runs on a base power/frequency times the relating potetiometers variable.
I worked on coding the ardunio in tinkercad aswell as figuring out how to use a mosfet to control electronics that are powered with high voltage and how to analog read potentiometers to control the high power electronics through the mosfets
I started coding a 7 seg display for the project
finished 4 digit 7 segment display I actually(mostly) finished coding the 7 seg 4 digit display this is how it works if you turn a potentiometer it changes the power of the attached outputs strength via a mosfet the 4 digit display shows all the set values of outputs one by one it shows an new output every 5 seconds Techincal I had to figure out how to do a local delay in the code to track time so i had to figure out how to use the millis() function which tracks milliseconds from the ardunio being turned on I then used this to make a tick system to make the 4 digit display show a new value every 5 seconds
I found cheaper parts for my project bringing the total from arround 144 usd to 50 usd I saved the most by changing from a grow bulb to grow led strip I also saved a lot by getting my servo from robotshop instead of amazon
I EDITED THE ONSHAPE MODEL what I changed I added a seprate detached part for the control panel (grey part with holes, bottom center in image) I resized the heatpump holes to fit one peltier modules as using one module makes it more cost effective. I added a hole in the main electronics box to connect the peltier modules to the micro controller ect. I also did numurous minor changes like extending and shorting parts or moving parts ect.
I did more onshape editing I worked on making the diffrent parts fit together after being 3d printed I also worked on changing the amount of holes on the side panel as I only have 4 dials in the design now, not 5 technical the top shell(light blue), bottom shell(dark blue) and water air membrane(orange) all have holes in their corners and now can be held together by a 30 mm length, 5 mm width pin
I changed the code for how the four digit display worked aswell as starting to work on the servo code
I made decals for the container aswell as finishing of finding all the parts I need and the final cost after shiping and taxes it is 127.47
I made a github repository for the project and added the 3d modl files there as well as making a bill of materials and also finding a source for mosfets
I worked on making the readme better aswell as adding more files to the github repo I made a 3d printed part list aswell as techincal discription ect
I did final github update I added lots of photos and did some other minor edits I am still planing to change some things but I want to order now because stardance is almost over...
|
1792587037.4929843
|
1793191837.4929843
|
|
6580
|
card video game by @flyingfish | Stardance
|
flyingfish
|
0
|
32.22
|
0
|
[]
|
[{"post_id": 9627, "ts": "2026 [{"post_id": 9627, "ts": "2026-06-16T01:05:29Z", "hours": 8.2886, "text": "i added a bot that can play against you. it really is just a random number generator but it works. i also made the plus 2 cards and skip cards work along with fixing a bug where reverse cards cant be played on the sides of the board(unity takes a long time to load and i didnt get a new screen shot so i just put the old one in mb)"}, {"post_id": 6603, "ts": "2026-06-11T02:30:51Z", "hours": 9.5603, "text": "i fix the bug where it would crash if you place any card on the side and i made the reverse card work. reverse cards switch the card above and below and it also switches sides"}, {"post_id": 5376, "ts": "2026-06-09T03:49:52Z", "hours": 5.0986, "text": "i just spent 3 hours making it so you cant place a card on another card and i added some logic so you can only place cards next to cards of the same color or number"}, {"post_id": 4461, "ts": "2026-06-07T19:46:11Z", "hours": 9.2722, "text": "i forgot to post any dev logs but so far i have made a grid that you can put cards on but there is no logic so its mostly visual rn"}]...
|
Title: card video game by @flyingfish | Stardance
Title: card video game by @flyingfish | Stardance
Devlogs:
i forgot to post any dev logs but so far i have made a grid that you can put cards on but there is no logic so its mostly visual rn
i just spent 3 hours making it so you cant place a card on another card and i added some logic so you can only place cards next to cards of the same color or number
i fix the bug where it would crash if you place any card on the side and i made the reverse card work. reverse cards switch the card above and below and it also switches sides
i added a bot that can play against you. it really is just a random number generator but it works. i also made the plus 2 cards and skip cards work along with fixing a bug where reverse cards cant be played on the sides of the board(unity takes a long time to load and i didnt get a new screen shot so i just put the old one in mb)...
|
1792597939.59096
|
1793202739.59096
|
|
71191
|
wasitme by @aarivpatel | Stardance
|
aarivpatel
|
0
|
32.16
|
0
|
[]
|
[{"post_id": 82317, "ts": "202 [{"post_id": 82317, "ts": "2026-10-24T15:23:24Z", "hours": 32.155, "text": "Catch-up devlog for wasitme (working title BowlPrep, the folder name my time tracker recorded). wasitme answers ‘was it me, or the model?’: it reads your Claude Code and Codex session logs on your Mac and builds a timeline of what changed on your side (model, effort, instruction files, MCP servers, skills) and on the agent’s side (version updates, which model was served), compares your recent weeks with the weeks before, and says which side your numbers moved with - or ‘too early to tell’. This window: shipped the 0.1.1 release through CI, the 37-second film (the question spelled in tool-error ticks), and the website and film tools. Repo and live site are linked on the project. Screenshot: the live site."}]...
|
Title: wasitme by @aarivpatel | Stardance
Devlogs Title: wasitme by @aarivpatel | Stardance
Devlogs:
Catch-up devlog for wasitme (working title BowlPrep, the folder name my time tracker recorded). wasitme answers ‘was it me, or the model?’: it reads your Claude Code and Codex session logs on your Mac and builds a timeline of what changed on your side (model, effort, instruction files, MCP servers, skills) and on the agent’s side (version updates, which model was served), compares your recent weeks with the weeks before, and says which side your numbers moved with - or ‘too early to tell’. This window: shipped the 0.1.1 release through CI, the 37-second film (the question spelled in tool-error ticks), and the website and film tools. Repo and live site are linked on the project. Screenshot: the live site....
|
1792856822.3513188
|
1793461622.3513188
|
|
10531
|
DoseGuard by @darshjain | Stardance
|
darshjain
|
0
|
32.15
|
0
|
[]
|
[{"post_id": 7028, "ts": "2026 [{"post_id": 7028, "ts": "2026-06-11T19:47:32Z", "hours": 1.6469, "text": "DoseGuard - Deployed Last stretch was about making it real: hardening the app and getting it deployed where people can actually use it. Made it correct Shipped it Deployed to a Hack Club box - FastAPI + Caddy under PM2, React build served static, the 250k-drug DB shipped up from local The OCR fight This ate the day. Fresh Ubuntu was missing native libs ( libGL , libgomp ), then PaddlePaddle crashed on an unimplemented oneDNN op, then segfaulted - turned out the PP-OCRv5 server models just don’t run on this CPU. Swapped to the mobile models and it finally worked: scan a strip → reads the salts -> flags the interaction, ~2s. It’s live Scan an “Aspirin + Clopidogrel” box and it correctly flags the interaction, end to end in the browser. Demo login + screenshots in the README."}, {"post_id": 6813, "ts": "2026-06-11T13:09:17Z", "hours": 6.12, "text": "This round was less about new features and more about making the existing loop trustworthy - multi-salt meds, an editable scan history, per-user timezones, and a pile of correctness bugs that were quietly skewing what people saw. Multi-salt medicines One medicine can now hold multiple active ingredients. “Combiflam” or a combination tablet resolves to all its salts (ibuprofen + paracetamol), not just the first one - so interaction checks actually see everything you’re taking. Editable scan history New PATCH /scans/{id} endpoint + an “Edit & re-check” modal — fix an OCR misread, add or remove a drug, and re-run the interaction check without re-scanning. Adding a medication from a scan carries its salts through, and duplicate meds are blocked (case-insensitive). Account + timezone New change-password flow (/auth/change-password) — verifies the current password and signs out other devices. Every user now has a timezone (defaults to Asia/Kolkata, editable on the Profile page). “Today”, the slot cutoffs (morning/afternoon/evening/night), adherence, Where it stands Full loop still works end to end: scan or search -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings -> and now it’s all timezone-correct and edit-friendly. Fixing some bugs moving ahead Night doses now actually go overdue (the old cutoff of 24 could never trigger). Adherence only counts doses that were genuinely scheduled -> stray or leftover logs can’t push the percentage past what you were actually due. Deleting a medication now also clears its dose logs, so old “taken” rows stop inflating adherence. A medication is no longer half-created if RxNorm hiccups mid-add -> ingredients resolve before anything is saved. One failed RxNorm lookup during a scan no longer kills the whole scan. Drug search ranks an exact match above a loose substring product, and de-dupes."}, {"post_id": 6199, "ts": "2026-06-10T12:38:27Z", "hours": 4.2956, "text": "DoseGuard moved from a tiny hand-curated interaction list to a real, sourced drug-interaction database - plus a searchable medicine catalog and a calendar that shows adherence over time. Real interaction data Replaced the 8 curated pairs with the DDInter dataset (~150k real drug-drug interactions), graded Major / Moderate / Minor → severe / moderate / low. New normalization + interaction engine so user meds and the dataset speak the same RxNorm vocabulary. Searchable medicine catalog Imported ~250k medicine products + ~3k drug concepts into searchable tables. New /drugs/search endpoint (fuzzy match) and a debounced DrugSearch autocomplete component. Medications page Add meds by searching the catalog or importing from a scan (one scan -> one med, salts included). Set a course length (3 days, ongoing, etc.) — adherence only counts days a med is actually active. Calendar New Calendar page: month grid with per-day dots (all-taken / partial / missed / today), a 2-week tile strip with dates, plus doses-taken, tracked-days, and a 12-week adherence trend. New /tracking/history endpoint feeding day-by-day stats. Where it stands Full loop working: scan or search a medicine -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings, all backed by sourced data. Fixing some bugs moving ahead"}, {"post_id": 5490, "ts": "2026-06-09T09:18:38Z", "hours": 5.8842, "text": "DoseGuard moved past “scan + check” into daily medication management schedule doses, track them, and see adherence alongside safety warnings. Today page New Today page showing scheduled doses split into morning / afternoon / evening / night. Each dose shows a live status: taken, skipped, overdue, or upcoming. Quick actions to mark a dose taken or skipped. Tracking + safety together New backend models for dose schedules and dose logs. New API routes: today’s schedule, saved schedules, update med slots, log taken/skipped, 7-day adherence. UI polish Reworked pages on shared UI components. Animated page transitions, staggered cards, animated stat numbers, cleaner headers. Swapped emoji nav icons for lucide icons Where it stands Full loop working: scan medicines -> save as meds -> schedule doses -> track today -> see adherence + interaction warnings."}, {"post_id": 4905, "ts": "2026-06-08T14:15:26Z", "hours": 5.8994, "text": "The web app (React + HeroUI) — In progress A modern admin-style dashboard: sidebar nav, top bar, stat cards. Pages for managing medications, scanning, viewing the dashboard, and editing your profile. Scan history table where you can review past scans, edit the extracted drugs, and re-run the interaction check. Camera + upload - take a photo live in the browser or upload one. Made mobile-friendly (the sidebar collapses into a slide-out drawer on phones). The hard part: reading the label (OCR) This is where most of the recent effort went, and it’s been a real journey: Started with Tesseract - it choked on real photos (returned garbage like “ry”). Switched to PaddleOCR, then to its best models (PP-OCRv5 server detection + recognition, plus auto-rotation and image-unwarping). This reads real strips far better. Improved the matching: combine adjacent words so multi-word salts (“lactic acid”) stay together, skip packaging words (tablet, mg), and tolerate OCR typos with fuzzy matching. Where it stands The full chain works end to end: scan a medicine -> read the salts -> check interactions -> see ranked warnings, with accounts, history, and a polished responsive UI."}, {"post_id": 4684, "ts": "2026-06-08T02:47:11Z", "hours": 3.6553, "text": "Before this, the app could check drugs but it had no memory of who you were. So I added proper accounts. Now the app has real users, remembers their medications, checks them safely, and protects their accounts to a standard I’d actually trust."}, {"post_id": 4322, "ts": "2026-06-07T16:12:52Z", "hours": 1.445, "text": "This is the part that actually makes DoseGuard useful - checking whether the medicines you’re on are dangerous together. Up to now the app could recognise a drug and figure out its ingredient, but it couldn’t say anything about safety. So I built the interaction checker. When you hand the app a list of medicines, it takes each one, boils it down to its real ingredient (using the part I built earlier), and then checks every possible pair against that database. If it finds a clash, it tells you which two drugs, how dangerous it is, and why. I started the danger list small and curated by hand, just the well-known serious interactions, so I know it’s accurate."}, {"post_id": 4206, "ts": "2026-06-07T13:10:51Z", "hours": 2.3386, "text": "Just finished the first real feature of DoseGuard - getting the app to actually understand drug names. The problem is people don’t type or photograph drug names cleanly. They’ll write “tylenol” instead of the real medical name, or just misspell something like “warfarn.” So I built a piece that takes whatever messy text comes in and figures out what the drug actually is. That ingredient bit matters, because two different-looking medicines can contain the same thing, and that’s where dangerous combinations come from. I hooked this up to a free official US government drug db, so it’s working off real medical data"}, {"post_id": 4051, "ts": "2026-06-07T07:13:14Z", "hours": 0.8675, "text": "Started working on a this project. The idea is pretty simple: you take a photo of a medicine bottle, and the app reads the name off the label and warns you if it’s dangerous to take alongside the other medicines you’re already on. You can also just type the name in if you don’t want to use the camera. So far I’ve got the foundation done. The project’s structured, the backend actually runs, there’s a basic health-check working, sorted out all the annoying Python environment and editor stuff. Next thing I’m doing is the part that recognises the drug name from the label."}]...
|
Title: DoseGuard by @darshjain | Stardance
Devlog Title: DoseGuard by @darshjain | Stardance
Devlogs:
Started working on a this project. The idea is pretty simple: you take a photo of a medicine bottle, and the app reads the name off the label and warns you if it’s dangerous to take alongside the other medicines you’re already on. You can also just type the name in if you don’t want to use the camera. So far I’ve got the foundation done. The project’s structured, the backend actually runs, there’s a basic health-check working, sorted out all the annoying Python environment and editor stuff. Next thing I’m doing is the part that recognises the drug name from the label.
Just finished the first real feature of DoseGuard - getting the app to actually understand drug names. The problem is people don’t type or photograph drug names cleanly. They’ll write “tylenol” instead of the real medical name, or just misspell something like “warfarn.” So I built a piece that takes whatever messy text comes in and figures out what the drug actually is. That ingredient bit matters, because two different-looking medicines can contain the same thing, and that’s where dangerous combinations come from. I hooked this up to a free official US government drug db, so it’s working off real medical data
This is the part that actually makes DoseGuard useful - checking whether the medicines you’re on are dangerous together. Up to now the app could recognise a drug and figure out its ingredient, but it couldn’t say anything about safety. So I built the interaction checker. When you hand the app a list of medicines, it takes each one, boils it down to its real ingredient (using the part I built earlier), and then checks every possible pair against that database. If it finds a clash, it tells you which two drugs, how dangerous it is, and why. I started the danger list small and curated by hand, just the well-known serious interactions, so I know it’s accurate.
Before this, the app could check drugs but it had no memory of who you were. So I added proper accounts. Now the app has real users, remembers their medications, checks them safely, and protects their accounts to a standard I’d actually trust.
The web app (React + HeroUI) — In progress A modern admin-style dashboard: sidebar nav, top bar, stat cards. Pages for managing medications, scanning, viewing the dashboard, and editing your profile. Scan history table where you can review past scans, edit the extracted drugs, and re-run the interaction check. Camera + upload - take a photo live in the browser or upload one. Made mobile-friendly (the sidebar collapses into a slide-out drawer on phones). The hard part: reading the label (OCR) This is where most of the recent effort went, and it’s been a real journey: Started with Tesseract - it choked on real photos (returned garbage like “ry”). Switched to PaddleOCR, then to its best models (PP-OCRv5 server detection + recognition, plus auto-rotation and image-unwarping). This reads real strips far better. Improved the matching: combine adjacent words so multi-word salts (“lactic acid”) stay together, skip packaging words (tablet, mg), and tolerate OCR typos with fuzzy matching. Where it stands The full chain works end to end: scan a medicine -> read the salts -> check interactions -> see ranked warnings, with accounts, history, and a polished responsive UI.
DoseGuard moved past “scan + check” into daily medication management schedule doses, track them, and see adherence alongside safety warnings. Today page New Today page showing scheduled doses split into morning / afternoon / evening / night. Each dose shows a live status: taken, skipped, overdue, or upcoming. Quick actions to mark a dose taken or skipped. Tracking + safety together New backend models for dose schedules and dose logs. New API routes: today’s schedule, saved schedules, update med slots, log taken/skipped, 7-day adherence. UI polish Reworked pages on shared UI components. Animated page transitions, staggered cards, animated stat numbers, cleaner headers. Swapped emoji nav icons for lucide icons Where it stands Full loop working: scan medicines -> save as meds -> schedule doses -> track today -> see adherence + interaction warnings.
DoseGuard moved from a tiny hand-curated interaction list to a real, sourced drug-interaction database - plus a searchable medicine catalog and a calendar that shows adherence over time. Real interaction data Replaced the 8 curated pairs with the DDInter dataset (~150k real drug-drug interactions), graded Major / Moderate / Minor → severe / moderate / low. New normalization + interaction engine so user meds and the dataset speak the same RxNorm vocabulary. Searchable medicine catalog Imported ~250k medicine products + ~3k drug concepts into searchable tables. New /drugs/search endpoint (fuzzy match) and a debounced DrugSearch autocomplete component. Medications page Add meds by searching the catalog or importing from a scan (one scan -> one med, salts included). Set a course length (3 days, ongoing, etc.) — adherence only counts days a med is actually active. Calendar New Calendar page: month grid with per-day dots (all-taken / partial / missed / today), a 2-week tile strip with dates, plus doses-taken, tracked-days, and a 12-week adherence trend. New /tracking/history endpoint feeding day-by-day stats. Where it stands Full loop working: scan or search a medicine -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings, all backed by sourced data. Fixing some bugs moving ahead
This round was less about new features and more about making the existing loop trustworthy - multi-salt meds, an editable scan history, per-user timezones, and a pile of correctness bugs that were quietly skewing what people saw. Multi-salt medicines One medicine can now hold multiple active ingredients. “Combiflam” or a combination tablet resolves to all its salts (ibuprofen + paracetamol), not just the first one - so interaction checks actually see everything you’re taking. Editable scan history New PATCH /scans/{id} endpoint + an “Edit & re-check” modal — fix an OCR misread, add or remove a drug, and re-run the interaction check without re-scanning. Adding a medication from a scan carries its salts through, and duplicate meds are blocked (case-insensitive). Account + timezone New change-password flow (/auth/change-password) — verifies the current password and signs out other devices. Every user now has a timezone (defaults to Asia/Kolkata, editable on the Profile page). “Today”, the slot cutoffs (morning/afternoon/evening/night), adherence, Where it stands Full loop still works end to end: scan or search -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings -> and now it’s all timezone-correct and edit-friendly. Fixing some bugs moving ahead Night doses now actually go overdue (the old cutoff of 24 could never trigger). Adherence only counts doses that were genuinely scheduled -> stray or leftover logs can’t push the percentage past what you were actually due. Deleting a medication now also clears its dose logs, so old “taken” rows stop inflating adherence. A medication is no longer half-created if RxNorm hiccups mid-add -> ingredients resolve before anything is saved. One failed RxNorm lookup during a scan no longer kills the whole scan. Drug search ranks an exact match above a loose substring product, and de-dupes.
DoseGuard - Deployed Last stretch was about making it real: hardening the app and getting it deployed where people can actually use it. Made it correct Shipped it Deployed to a Hack Club box - FastAPI + Caddy under PM2, React build served static, the 250k-drug DB shipped up from local The OCR fight This ate the day. Fresh Ubuntu was missing native libs ( libGL , libgomp ), then PaddlePaddle crashed on an unimplemented oneDNN op, then segfaulted - turned out the PP-OCRv5 server models just don’t run on this CPU. Swapped to the mobile models and it finally worked: scan a strip → reads the salts -> flags the interaction, ~2s. It’s live Scan an “Aspirin + Clopidogrel” box and it correctly flags the interaction, end to end in the browser. Demo login + screenshots in the README....
|
1792936098.5612838
|
1793800098.5612838
|
|
65961
|
Lokin by @AriDev24 | Stardance
|
AriDev24
|
1
|
32.15
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-07T12:57:24Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Lokin: Get set lock-in Overview: Lokin in a beautiful and modern workspace that helps you stay organized, manage tasks, and lock in on your work. It combines a focus timer, task management, customizable themes, and a distraction-free interface into one simple workspace. I am proud that its my first project that i can call it a Real Product, not just a practice project.", "repo": "https://github.com/aridev24/Lokin", "demo": "https://lokin-delta.vercel.app/"}]...
|
[{"post_id": 77914, "ts": "202 [{"post_id": 77914, "ts": "2026-10-08T18:57:23Z", "hours": 2.1517, "text": "Today i removed all the AI generated images, and replace them with real images and its breaking my website UI, but i can not do anything because AI images are not allowed"}, {"post_id": 77554, "ts": "2026-10-07T12:50:26Z", "hours": 1.65, "text": "(Lokin) Just wrote the final README before ship"}, {"post_id": 77339, "ts": "2026-10-06T16:43:58Z", "hours": 7.5844, "text": "(Lokin) Many things has been added, And the Best part is i have even started using Lokin for my daily tasks and it turns out amazing, It helps me through my whole day i can even add new tasks that will be save even if you leave and Now you can also set theme according to yourself and your mood. BTW I love it and using it. It help me focus on my projects. That’s All…"}, {"post_id": 76630, "ts": "2026-10-04T06:41:55Z", "hours": 10.4228, "text": "(Lokin) Sorry for the late devlog but now many things has been added, i have added a task pannel nad now you can also create new tasks, check the checkbox and can also delete the tasks. creating the new tasks was so complicated due to JS because when you enter a task it goes to js and the function converts it into a html element having checkbox and delete btn and then add to the the task list"}, {"post_id": 75691, "ts": "2026-09-30T19:22:06Z", "hours": 5.7042, "text": "Now its no more just a html and CSS skeleton. Today i added many new features using JavaScript like first i working on play and pause button so that timer can be played and stopped. and after this i started working on three buttons (focus, short break, long break) to change the timer and reset everything, and than i worked on changing the visual appearance (CSS) of the buttons after being selected."}, {"post_id": 75169, "ts": "2026-09-29T11:12:14Z", "hours": 1.2094, "text": "(Lokin) Get Locked in : Today i add four new buttons to the lokin, I add a button got music, a button for to do liss or tasks, a button for themes, and a final settings button. And now i am going to start working on its JavaScript to make the features working."}, {"post_id": 74595, "ts": "2026-09-27T18:18:53Z", "hours": 1.6936, "text": "Finally my main html, CSS structure is almost completed and now i am going to work on its JS to make it work like a real tool currently i add a timer place holder and some new buttons to control it ,but its just a css structure so you cant control anything yet. Thats It…"}, {"post_id": 74393, "ts": "2026-09-27T09:55:10Z", "hours": 1.4939, "text": "(Lokin) Get Set Lokinnnnnn I have started making a project that heps you guys to get lock in and focus on your projects. Its a beautiful and an intractive way to be focused on your work. In the next update i will tell you how this can help you"}]...
|
Title: Lokin by @AriDev24 | Stardance
Devlogs:
(L Title: Lokin by @AriDev24 | Stardance
Devlogs:
(Lokin) Get Set Lokinnnnnn I have started making a project that heps you guys to get lock in and focus on your projects. Its a beautiful and an intractive way to be focused on your work. In the next update i will tell you how this can help you
Finally my main html, CSS structure is almost completed and now i am going to work on its JS to make it work like a real tool currently i add a timer place holder and some new buttons to control it ,but its just a css structure so you cant control anything yet. Thats It…
(Lokin) Get Locked in : Today i add four new buttons to the lokin, I add a button got music, a button for to do liss or tasks, a button for themes, and a final settings button. And now i am going to start working on its JavaScript to make the features working.
Now its no more just a html and CSS skeleton. Today i added many new features using JavaScript like first i working on play and pause button so that timer can be played and stopped. and after this i started working on three buttons (focus, short break, long break) to change the timer and reset everything, and than i worked on changing the visual appearance (CSS) of the buttons after being selected.
(Lokin) Sorry for the late devlog but now many things has been added, i have added a task pannel nad now you can also create new tasks, check the checkbox and can also delete the tasks. creating the new tasks was so complicated due to JS because when you enter a task it goes to js and the function converts it into a html element having checkbox and delete btn and then add to the the task list
(Lokin) Many things has been added, And the Best part is i have even started using Lokin for my daily tasks and it turns out amazing, It helps me through my whole day i can even add new tasks that will be save even if you leave and Now you can also set theme according to yourself and your mood. BTW I love it and using it. It help me focus on my projects. That’s All…
(Lokin) Just wrote the final README before ship
Today i removed all the AI generated images, and replace them with real images and its breaking my website UI, but i can not do anything because AI images are not allowed
Ships:
Lokin: Get set lock-in Overview: Lokin in a beautiful and modern workspace that helps you stay organized, manage tasks, and lock in on your work. It combines a focus timer, task management, customizable themes, and a distraction-free interface into one simple workspace. I am proud that its my first project that i can call it a Real Product, not just a practice project....
|
1793216858.9942346
|
1793303258.9942346
|
|
968
|
Yerba Linux by @ArslaanPathan | Stardance
|
ArslaanPathan
|
0
|
32.13
|
0
|
[]
|
[{"post_id": 66974, "ts": "202 [{"post_id": 66974, "ts": "2026-09-12T23:36:05Z", "hours": 2.4903, "text": "NETWORKING WORKS. LET’S GO YEAHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!! I GOT IT TO FETCH A DNF REPO Oh and I also just happened to discover that DNF WONT WORK AS MY PM EITHER SO NOW IM SCRAMBLING TO FIND A WORKING ROOTLESS PACKAGE MANAGER BEFORE STARDANCE ENDS ON SEPTEMBER 30TH IVE ALREADY BURNT LIKE A WEEK ON THIS RAAAAAAAAAAAAAAAAAA"}, {"post_id": 63291, "ts": "2026-09-07T01:18:06Z", "hours": 3.5978, "text": "I spent AGES trying to get pkgsrc to work as the package manager. It does NOT build in Yocto. I TAKE BACK EVERYTHING GOOD I SAID ABOUT PKGSRC THE BUILD SYSTEM IS SO SHIT AND IT DOESNT WORK AND IT USES NON STANDARD BUILD AND AAAAHHHHHHHHHHHHHHHHHHHHHH REST IN PISS PKGSRC YOU WILL NOT BE MISSED I ended up using DNF/RPM (yes, the package manager from Fedora!) You will see in the screenshot below that DNF is failing to update repos, that’s because I kind of forgot to get networking working before trying the package manager (also using Fedora repo just for testing, will not be in final one)"}, {"post_id": 59879, "ts": "2026-09-01T21:18:01Z", "hours": 2.7003, "text": "Goodbye GNU, hello BSD! I spent some time modifying my Linux distro BitBake/Yocto recipes to migrate from GNU coreutils (and BusyBox) to FreeBSD coreutils, specifically chimerautils, the ported FreeBSD core utilities used in Chimera Linux. I did this to add some extra security (*BSD is normally more security-focused and scrutinized, afaik) and to align a bit more with UNIX philosophy ^_^"}, {"post_id": 57223, "ts": "2026-08-29T10:09:19Z", "hours": 0.4067, "text": "I spent a LOT of time debugging the build system. Last time I worked on this was 2 months ago, and that was before I switched to Void Linux (musl) from Gentoo. Logged time for this devlog is so low because it’s 99% debugging black magic logs and 1% of actually modifying the configs. Lessons learned: don’t trust the GNU mirrors. don’t trust BitBake to do its job, and don’t set a custom DL_DIR for BitBake because it will not use it properly and cause issues. also do not do Yocto development on musl libc. It turns out that Yocto compilation also just dies on musl so I’m now running the build in Docker (recurring theme with my projects, isn’t it?) I think I’ve almost got the build to start working again, just need to fix some locales in the Docker container and we should be good to go!"}, {"post_id": 56916, "ts": "2026-08-28T22:45:52Z", "hours": 0.7997, "text": "Switching the focus of this project Hey everyone! I know I’ve been gone for a while, I’ve been distracted by many other projects and ideas and also trying to work on the package manager for this distro. (got distracted with that too) I’m not sure what this logged time on this devlog is for, it might be for some few changes I didn’t devlog last time I worked on this project. I think I’m going to switch the focus of this distro from here, to not just be minimalist and a knockoff of Void, but to be a Void-like minimalist distro with secureblue/GrapheneOS-level security. It’s probably going to be hard to pull off but I think it will be worth it. Thanks all!"}, {"post_id": 12730, "ts": "2026-06-20T20:07:43Z", "hours": 0.5997, "text": "I DID IT IT WORKS I CAN LOGIN AS YERBA NOW WITH THE PASSWORD yerba !!!! it was PAM. it’s always PAM. I just needed to install PAM."}, {"post_id": 12294, "ts": "2026-06-20T02:01:10Z", "hours": 0.9867, "text": "I got it to run QEMU with a graphical window, AND I also made a logo!!! I followed the guide from https://anchor.hackclub.com to make this logo, thanks Anchor! I am still trying to figure out why login for yerba doesnt work"}, {"post_id": 11850, "ts": "2026-06-19T08:51:15Z", "hours": 4.0556, "text": "I’ve got privilege escalation to work along with networking (dhcpcd) and am working on getting audio to work! I’m trying to make a non-root user with a password, for some reason Yocto is yelling at me a lot (its been hours, helpppp) (p.s. I do not have a relevant screenshot at the moment, and it has been a long day, so here is a filler red gradient that I have for some reason)"}, {"post_id": 9804, "ts": "2026-06-16T07:29:06Z", "hours": 4.7003, "text": "Sorry I haven’t been devlogging for a while! I got way too focused on getting back to where I was before on the new Yocto build system! I have got Yocto to create a working rootfs and load the runit init system!"}, {"post_id": 6720, "ts": "2026-06-11T08:00:22Z", "hours": 0.4353, "text": "Yep, another clean slate it is. This time, it’s Yocto, and it’s here to stay (insha allah)."}, {"post_id": 6696, "ts": "2026-06-11T06:54:34Z", "hours": 1.7858, "text": "I HATE YOu NIX. AAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAA STOP LINKING AGAINST /NIX/STORE PATHS iknow nix is meant to be a package manager but WHAT OTHER OPTIONS DO I HAVEEEEE MAKEFILE IS SCUFFED, BUILDROOT IS MORE EMBEDDED, ETC atp im just gonna switch off of nix (yes, clean slate for the distro V2…. yay.. /s) (i mean i guess i wont be fighting with nix)"}, {"post_id": 6114, "ts": "2026-06-10T08:57:58Z", "hours": 0.2614, "text": "IT WORKS IT WORKS IT WORKS THE INIT SYSTEM DOES THE THING AND SHOWS GETTY RUNIT WORKS IT WORKS!!!!!!!!!!!! Edit: The solution was to launch /usr/bin/runit directly instead of using /usr/bin/runit-init. This is not necessarily correct, but /usr/bin/runit-init is currently broken due to Nixpkgs assuming this is a Nix-based distro when it is not. Insha allah later during the development cycle, I will replace the Nixpkgs flake with my own flake that accounts for this. For now, too bad, the distro boots"}, {"post_id": 6108, "ts": "2026-06-10T08:40:27Z", "hours": 1.5533, "text": "I’ve got musl to load into the initramfs, and am working on adding runit as the init system I am very confused as to why runit fails to switch_root, the error is very cryptic EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}, {"post_id": 5436, "ts": "2026-06-09T06:30:38Z", "hours": 0.7472, "text": "I GOT THE THING TO WORK!! THE GRAPHICAL TTY!! are you serious rn, it was a single kernel config opt. i spent very very long debugging this. a lot longer than i anticipated. BUT STILL IT WORKED YAYAYAYAYAYAYAYAYAYAY"}, {"post_id": 4766, "ts": "2026-06-08T07:26:58Z", "hours": 1.5283, "text": "IT BOOTS!!! IT FREAKING BOOTS!!!!! THE BUSYBOX BUILD WORKS!! THE ROOTFS BUILDS!! IT LOADS THE SQUASHFS WITH OVERLAYFS!!!! YAYAYAYAYAYAYAYAY"}, {"post_id": 3995, "ts": "2026-06-07T04:15:08Z", "hours": 0.9253, "text": "Made a lot of refactors, and added placeholder targets Also got the kernel build to work!!"}, {"post_id": 3931, "ts": "2026-06-07T01:48:43Z", "hours": 1.7028, "text": "Made a clean slate and switched my distro’s build system to Nix for reproducibility and to get away from my Makefile that used scuffed hacks This doesn’t mean my distro will use Nix or be like NixOS, but it will help improve development speed and quality Finally got it to nix build an initramfs without errors!"}, {"post_id": 714, "ts": "2026-06-02T09:30:38Z", "hours": 1.2764, "text": "Finally got it to create a live ISO and boot with Limine!!!!"}, {"post_id": 681, "ts": "2026-06-02T07:32:05Z", "hours": 0.8617, "text": "Did a bit of debugging and testing, and got the initramfs to boot. TODO: Make it create a squashfs root"}, {"post_id": 232, "ts": "2026-06-01T11:00:28Z", "hours": 0.7181, "text": "Got a basic build system working for my in-progress distro, Yerba Linux Builds the Linux kernel, BusyBox, and creates a minimal BusyBox initramfs that drops you to a shell TODO: Make it create an ISO with GRUB/any bootloader"}]...
|
Title: Yerba Linux by @ArslaanPathan | Stardance
Title: Yerba Linux by @ArslaanPathan | Stardance
Devlogs:
Got a basic build system working for my in-progress distro, Yerba Linux Builds the Linux kernel, BusyBox, and creates a minimal BusyBox initramfs that drops you to a shell TODO: Make it create an ISO with GRUB/any bootloader
Did a bit of debugging and testing, and got the initramfs to boot. TODO: Make it create a squashfs root
Finally got it to create a live ISO and boot with Limine!!!!
Made a clean slate and switched my distro’s build system to Nix for reproducibility and to get away from my Makefile that used scuffed hacks This doesn’t mean my distro will use Nix or be like NixOS, but it will help improve development speed and quality Finally got it to nix build an initramfs without errors!
Made a lot of refactors, and added placeholder targets Also got the kernel build to work!!
IT BOOTS!!! IT FREAKING BOOTS!!!!! THE BUSYBOX BUILD WORKS!! THE ROOTFS BUILDS!! IT LOADS THE SQUASHFS WITH OVERLAYFS!!!! YAYAYAYAYAYAYAYAY
I GOT THE THING TO WORK!! THE GRAPHICAL TTY!! are you serious rn, it was a single kernel config opt. i spent very very long debugging this. a lot longer than i anticipated. BUT STILL IT WORKED YAYAYAYAYAYAYAYAYAYAY
I’ve got musl to load into the initramfs, and am working on adding runit as the init system I am very confused as to why runit fails to switch_root, the error is very cryptic EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
IT WORKS IT WORKS IT WORKS THE INIT SYSTEM DOES THE THING AND SHOWS GETTY RUNIT WORKS IT WORKS!!!!!!!!!!!! Edit: The solution was to launch /usr/bin/runit directly instead of using /usr/bin/runit-init. This is not necessarily correct, but /usr/bin/runit-init is currently broken due to Nixpkgs assuming this is a Nix-based distro when it is not. Insha allah later during the development cycle, I will replace the Nixpkgs flake with my own flake that accounts for this. For now, too bad, the distro boots
I HATE YOu NIX. AAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAA STOP LINKING AGAINST /NIX/STORE PATHS iknow nix is meant to be a package manager but WHAT OTHER OPTIONS DO I HAVEEEEE MAKEFILE IS SCUFFED, BUILDROOT IS MORE EMBEDDED, ETC atp im just gonna switch off of nix (yes, clean slate for the distro V2…. yay.. /s) (i mean i guess i wont be fighting with nix)
Yep, another clean slate it is. This time, it’s Yocto, and it’s here to stay (insha allah).
Sorry I haven’t been devlogging for a while! I got way too focused on getting back to where I was before on the new Yocto build system! I have got Yocto to create a working rootfs and load the runit init system!
I’ve got privilege escalation to work along with networking (dhcpcd) and am working on getting audio to work! I’m trying to make a non-root user with a password, for some reason Yocto is yelling at me a lot (its been hours, helpppp) (p.s. I do not have a relevant screenshot at the moment, and it has been a long day, so here is a filler red gradient that I have for some reason)
I got it to run QEMU with a graphical window, AND I also made a logo!!! I followed the guide from https://anchor.hackclub.com to make this logo, thanks Anchor! I am still trying to figure out why login for yerba doesnt work
I DID IT IT WORKS I CAN LOGIN AS YERBA NOW WITH THE PASSWORD yerba !!!! it was PAM. it’s always PAM. I just needed to install PAM.
Switching the focus of this project Hey everyone! I know I’ve been gone for a while, I’ve been distracted by many other projects and ideas and also trying to work on the package manager for this distro. (got distracted with that too) I’m not sure what this logged time on this devlog is for, it might be for some few changes I didn’t devlog last time I worked on this project. I think I’m going to switch the focus of this distro from here, to not just be minimalist and a knockoff of Void, but to be a Void-like minimalist distro with secureblue/GrapheneOS-level security. It’s probably going to be hard to pull off but I think it will be worth it. Thanks all!
I spent a LOT of time debugging the build system. Last time I worked on this was 2 months ago, and that was before I switched to Void Linux (musl) from Gentoo. Logged time for this devlog is so low because it’s 99% debugging black magic logs and 1% of actually modifying the configs. Lessons learned: don’t trust the GNU mirrors. don’t trust BitBake to do its job, and don’t set a custom DL_DIR for BitBake because it will not use it properly and cause issues. also do not do Yocto development on musl libc. It turns out that Yocto compilation also just dies on musl so I’m now running the build in Docker (recurring theme with my projects, isn’t it?) I think I’ve almost got the build to start working again, just need to fix some locales in the Docker container and we should be good to go!
Goodbye GNU, hello BSD! I spent some time modifying my Linux distro BitBake/Yocto recipes to migrate from GNU coreutils (and BusyBox) to FreeBSD coreutils, specifically chimerautils, the ported FreeBSD core utilities used in Chimera Linux. I did this to add some extra security (*BSD is normally more security-focused and scrutinized, afaik) and to align a bit more with UNIX philosophy ^_^
I spent AGES trying to get pkgsrc to work as the package manager. It does NOT build in Yocto. I TAKE BACK EVERYTHING GOOD I SAID ABOUT PKGSRC THE BUILD SYSTEM IS SO SHIT AND IT DOESNT WORK AND IT USES NON STANDARD BUILD AND AAAAHHHHHHHHHHHHHHHHHHHHHH REST IN PISS PKGSRC YOU WILL NOT BE MISSED I ended up using DNF/RPM (yes, the package manager from Fedora!) You will see in the screenshot below that DNF is failing to update repos, that’s because I kind of forgot to get networking working before trying the package manager (also using Fedora repo just for testing, will not be in final one)
NETWORKING WORKS. LET’S GO YEAHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!! I GOT IT TO FETCH A DNF REPO Oh and I also just happened to discover that DNF WONT WORK AS MY PM EITHER SO NOW IM SCRAMBLING TO FIND A WORKING ROOTLESS PACKAGE MANAGER BEFORE STARDANCE ENDS ON SEPTEMBER 30TH IVE ALREADY BURNT LIKE A WEEK ON THIS RAAAAAAAAAAAAAAAAAA...
|
1792677065.8179553
|
1793281865.8179553
|
|
4010
|
Local-first Edge AI Assistant by @dylanyfraser | S Local-first Edge AI Assistant by @dylanyfraser | Stardance...
|
dylanyfraser
|
1
|
32.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T18:31:35Z", "hours": 32.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I updated the README.md with instructions and began work on a plugin for natural language equation evaluation with a custom library I developed in rust. Soon you will be able to ask the agent questions such as “how long is a car typically”, and you can talk back and forth with it regarding conversions and transformations to the original equations. Once this integration is made as well, it should open the door for better tool calling using NLP to give the agent access to information such as location, proper browser use, and on-screen awareness potentially. At the moment the agents tool systems for accessing the date and time, as well as the native Apple calendar are the only ones complete, with this equation evaluator having a slight amount of polish to finish the implementation.", "repo": "https://github.com/SimplyPickles/phi", "demo": "https://github.com/SimplyPickles/phi/releases/tag/prerelease-2"}]...
|
[{"post_id": 46475, "ts": "202 [{"post_id": 46475, "ts": "2026-08-13T18:28:24Z", "hours": 18.4694, "text": "I updated the README.md with refreshed information about the project and instructions on how to use/build it. I began work on an interactive REPL to test expression evaluation. My next steps are to give the agent access to this library I developed rather than a REPL for the user, and make it be able to use it with tool calls to evaluate math problems using natural language."}, {"post_id": 10775, "ts": "2026-06-17T18:04:19Z", "hours": 2.1022, "text": "removed assistant indicator and posted backend on github. basically done, project is really basic but was a fun starting point"}, {"post_id": 3929, "ts": "2026-06-07T01:40:01Z", "hours": 2.6292, "text": "updated the loader and added an indicator for which assistant is being used"}, {"post_id": 3201, "ts": "2026-06-06T00:55:45Z", "hours": 1.0339, "text": "added deep search & framework for pulling images from the web"}, {"post_id": 2746, "ts": "2026-06-05T14:49:24Z", "hours": 1.1525, "text": "Working on memory system & multiple tools at once. Basic web search now works"}, {"post_id": 2200, "ts": "2026-06-04T15:50:13Z", "hours": 1.1614, "text": "Assistant now shows what tools it’s using"}, {"post_id": 2088, "ts": "2026-06-04T12:38:05Z", "hours": 1.6431, "text": "Images with the chatbot responses"}, {"post_id": 1466, "ts": "2026-06-03T14:56:00Z", "hours": 1.9439, "text": "chat works now"}, {"post_id": 1219, "ts": "2026-06-03T02:24:40Z", "hours": 1.2347, "text": "Working on the chat UI (icons and text are placeholder)"}, {"post_id": 816, "ts": "2026-06-02T14:27:36Z", "hours": 0.5475, "text": "Made the basic window for the app interface"}]...
|
Title: Local-first Edge AI Assistant by @dylanyfra Title: Local-first Edge AI Assistant by @dylanyfraser | Stardance
Devlogs:
Made the basic window for the app interface
Working on the chat UI (icons and text are placeholder)
chat works now
Images with the chatbot responses
Assistant now shows what tools it’s using
Working on memory system & multiple tools at once. Basic web search now works
added deep search & framework for pulling images from the web
updated the loader and added an indicator for which assistant is being used
removed assistant indicator and posted backend on github. basically done, project is really basic but was a fun starting point
I updated the README.md with refreshed information about the project and instructions on how to use/build it. I began work on an interactive REPL to test expression evaluation. My next steps are to give the agent access to this library I developed rather than a REPL for the user, and make it be able to use it with tool calls to evaluate math problems using natural language.
Ships:
I updated the README.md with instructions and began work on a plugin for natural language equation evaluation with a custom library I developed in rust. Soon you will be able to ask the agent questions such as “how long is a car typically”, and you can talk back and forth with it regarding conversions and transformations to the original equations. Once this integration is made as well, it should open the door for better tool calling using NLP to give the agent access to information such as location, proper browser use, and on-screen awareness potentially. At the moment the agents tool systems for accessing the date and time, as well as the native Apple calendar are the only ones complete, with this equation evaluator having a slight amount of polish to finish the implementation....
|
1793220996.9632883
|
1793307396.9632883
|
|
8530
|
3D models by @anay_ | Stardance
|
anay_
|
1
|
32.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T20:27:30Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So i have been learning autodesk fusion for the past weeks now and I decided to design models and then put them on github for everyone to see. I have attached a printables link which includes all the files I have. I am trying to get better by the day trying my best lol. All my models i have done so far which are ALL done in fusion 360: 2x4 Toy Block.stl Complex Glass Bottle.stl Day 3 PaperClip.stl DogBowl.stl DogBowlMetalPart.stl DogBowlRubberPart.stl DoorStop.stl Drawer.stl Glass Soda Bottle.stl HandleBar.stl Hex Nut.stl IceCubeTray.stl LightBulb.stl Saturn V Rocket.stl ScrewDriver.stl SnowFlake.stl Star.stl Starship.stl vase.stl", "repo": "https://github.com/anaygoyal09/3D-Fusion-Models", "demo": ""}]...
|
[{"post_id": 29246, "ts": "202 [{"post_id": 29246, "ts": "2026-07-16T01:08:42Z", "hours": 4.0, "text": "During this time, I made many changes. Fixed accuracy of the 747-400 (not really visible, but I can see them). These changes were mostly in the body and the wing accuracy. I also added the windows for the doors to make it more accurate. Underwing pylons: Not that hard, but I wanted to make them look good, so it took a bit of time. I made the outline of the pylon, extruded it, and then cut it so it comes to a point. Then I finished off with the fillets. The hardest part was the Engines. I had to create a cross-section sketch of the engine and then revolve it. After that i created tiny sketches of the back part of the engine and then created a shell to open up the engine opening. Adjusting the engine took a lot of time (cuz my blueprints are not the best) and then I had to create the connector. I did that by creating an airfoil and then creating the vertical sketch. Finished off by sweeping it. Then I created a new component, moved the engine to the right place and then created a new connected in the same way. It was always not turning out the best so i spent a lot of time fixing all of it to make it look better. It will take me almost 2-4 hrs to finish this airplane, I will fix the shape more, add the underbody and then the livery. I put an image of how the engine was not looking that good and a video on how i made it."}, {"post_id": 26989, "ts": "2026-07-12T03:42:30Z", "hours": 2.0, "text": "FINALLY FINISHED THE DETAILS!!! I added windows , the passenger windows, wing details, fuselage details, and appearances. I created sketches an then split the body, added the appearances. Seems simple but it can take quite a bit of time and making it look good is quite hard."}, {"post_id": 25733, "ts": "2026-07-10T05:24:51Z", "hours": 2.0, "text": "DONE I FINSHED THE WINGS IN THE 747!!! I created the airfoil and then created a plane at an angle and sweeped it. Seems easy enough but fusion kept throwing errors for some reason so it took much longer than i wanted. Also when i was trying loft to round the edges it wasnt working for some reason and kept saying it cant solve. Well im happy its working now so here it is!"}, {"post_id": 24159, "ts": "2026-07-07T15:24:25Z", "hours": 2.0, "text": "completed the 747 body! I first made a t-splines (Form) and made the base of the body and then I patched the edges (2nd Image). Then after that I made a sketch outlining the front and back of the fuselage. Then, I lofted the edges. I took most time on perfecting the edges of the form so its as realistic as possible."}, {"post_id": 23223, "ts": "2026-07-06T01:33:50Z", "hours": 0.0, "text": "made a boomerang just used a reference image and traced it not too big im going to start the 747 now"}, {"post_id": 22986, "ts": "2026-07-05T17:54:08Z", "hours": 4.0, "text": "Printed the A330-300! Took me way too long because I was splitting the body and I’m still new, so it wasn’t coming out exactly how I wanted at first. Also the print kept on failing and that took me quite a lot of time to fix. There are going to be 4 folders affiliated with my project: Colored, No Splitting the Body No Color, Without Split No Color, With Split While it was printing, I went about making a ninja star (image attached). Next, I’m probably either going to make a 747 model or a better version of the Saturn V rocket. If I do the 747, it will include significant design improvements, such as easier 3D print assembly and a custom display stand :)"}, {"post_id": 19703, "ts": "2026-07-01T03:04:37Z", "hours": 1.0, "text": "Modifications for printability, using split tool in slicers and then printing, Probably Im going to print one colored and one with indentation in the windows with no color. Model is fine in terms of the printability just need to split now."}, {"post_id": 18157, "ts": "2026-06-29T05:28:38Z", "hours": 4.0, "text": "IM DONE, finished the livery, engines, rounded edges made finishing edits. I will continue to make edits by splitting the object up so its printable!"}, {"post_id": 16513, "ts": "2026-06-26T21:22:31Z", "hours": 1.0, "text": "Finishing up the details added rudder details and tried rendering. I also added flap track beams into the model! Will add engines next I will see if i want to add wheels or not"}, {"post_id": 14895, "ts": "2026-06-24T05:53:50Z", "hours": 1.0, "text": "working more on the finer parts of the airplane"}, {"post_id": 14125, "ts": "2026-06-23T03:13:28Z", "hours": 1.0, "text": "working on fine details"}, {"post_id": 13551, "ts": "2026-06-22T05:41:41Z", "hours": 1.0, "text": "I am bit of a perfectionist so im taking a little more time than I should + I am new so yea worked on adding the wings of the a330!"}, {"post_id": 13411, "ts": "2026-06-21T23:20:30Z", "hours": 0.0, "text": "Started wings. Used an airfoil template to trace out the wing shape"}, {"post_id": 12358, "ts": "2026-06-20T05:07:20Z", "hours": 1.0, "text": "went about making the airplane body for an A330-300"}, {"post_id": 11539, "ts": "2026-06-18T20:45:44Z", "hours": 0.0, "text": "Completed outlet cover I didn’t know it would be that complicated lol. Was experimenting with constraints in fusion 360 so took a bit of time"}, {"post_id": 11097, "ts": "2026-06-18T04:32:06Z", "hours": 0.0, "text": "I 3d modeled a vase that involved revolving around pipes to create a cool design and then designed a fuesalage of an airplane."}, {"post_id": 10937, "ts": "2026-06-17T22:32:24Z", "hours": 0.0, "text": "Working on making a 3d model for an airplane so far I have completed the fuselage wings and other minor details will come after"}, {"post_id": 7777, "ts": "2026-06-13T00:05:06Z", "hours": 0.0, "text": "screwdriver and a drawer in fusion"}, {"post_id": 6964, "ts": "2026-06-11T17:56:09Z", "hours": 0.0, "text": "Dog Bowl"}, {"post_id": 6638, "ts": "2026-06-11T03:56:10Z", "hours": 0.0, "text": "Snowflake!"}, {"post_id": 6368, "ts": "2026-06-10T18:40:26Z", "hours": 0.0, "text": "Tried to model a phone case using a step file as a reference or a blueprint to create it"}, {"post_id": 5967, "ts": "2026-06-10T00:03:19Z", "hours": 0.0, "text": "vase in blender"}, {"post_id": 5829, "ts": "2026-06-09T19:27:06Z", "hours": 0.0, "text": "Light Bulb"}, {"post_id": 5763, "ts": "2026-06-09T17:43:28Z", "hours": 0.0, "text": "Made a doorstop and customizable handle bar in fusion"}, {"post_id": 5245, "ts": "2026-06-08T23:08:39Z", "hours": 0.0, "text": "Hex Nut in fusion"}, {"post_id": 5122, "ts": "2026-06-08T20:12:53Z", "hours": 0.0, "text": "Finished starship model"}, {"post_id": 4661, "ts": "2026-06-08T02:04:50Z", "hours": 1.0, "text": "Working on new starship model in fusion!"}, {"post_id": 4398, "ts": "2026-06-07T18:32:31Z", "hours": 0.0, "text": "Completed 3d model For Saturn V rocket"}, {"post_id": 4315, "ts": "2026-06-07T15:58:52Z", "hours": 0.0, "text": "Working on making a rocket Model"}, {"post_id": 3800, "ts": "2026-06-06T21:03:38Z", "hours": 0.0, "text": "IceCube tray I made"}]...
|
Title: 3D models by @anay_ | Stardance
Devlogs:
I Title: 3D models by @anay_ | Stardance
Devlogs:
IceCube tray I made
Working on making a rocket Model
Completed 3d model For Saturn V rocket
Working on new starship model in fusion!
Finished starship model
Hex Nut in fusion
Made a doorstop and customizable handle bar in fusion
Light Bulb
vase in blender
Tried to model a phone case using a step file as a reference or a blueprint to create it
Snowflake!
Dog Bowl
screwdriver and a drawer in fusion
Working on making a 3d model for an airplane so far I have completed the fuselage wings and other minor details will come after
I 3d modeled a vase that involved revolving around pipes to create a cool design and then designed a fuesalage of an airplane.
Completed outlet cover I didn’t know it would be that complicated lol. Was experimenting with constraints in fusion 360 so took a bit of time
went about making the airplane body for an A330-300
Started wings. Used an airfoil template to trace out the wing shape
I am bit of a perfectionist so im taking a little more time than I should + I am new so yea worked on adding the wings of the a330!
working on fine details
working more on the finer parts of the airplane
Finishing up the details added rudder details and tried rendering. I also added flap track beams into the model! Will add engines next I will see if i want to add wheels or not
IM DONE, finished the livery, engines, rounded edges made finishing edits. I will continue to make edits by splitting the object up so its printable!
Modifications for printability, using split tool in slicers and then printing, Probably Im going to print one colored and one with indentation in the windows with no color. Model is fine in terms of the printability just need to split now.
Printed the A330-300! Took me way too long because I was splitting the body and I’m still new, so it wasn’t coming out exactly how I wanted at first. Also the print kept on failing and that took me quite a lot of time to fix. There are going to be 4 folders affiliated with my project: Colored, No Splitting the Body No Color, Without Split No Color, With Split While it was printing, I went about making a ninja star (image attached). Next, I’m probably either going to make a 747 model or a better version of the Saturn V rocket. If I do the 747, it will include significant design improvements, such as easier 3D print assembly and a custom display stand :)
made a boomerang just used a reference image and traced it not too big im going to start the 747 now
completed the 747 body! I first made a t-splines (Form) and made the base of the body and then I patched the edges (2nd Image). Then after that I made a sketch outlining the front and back of the fuselage. Then, I lofted the edges. I took most time on perfecting the edges of the form so its as realistic as possible.
DONE I FINSHED THE WINGS IN THE 747!!! I created the airfoil and then created a plane at an angle and sweeped it. Seems easy enough but fusion kept throwing errors for some reason so it took much longer than i wanted. Also when i was trying loft to round the edges it wasnt working for some reason and kept saying it cant solve. Well im happy its working now so here it is!
FINALLY FINISHED THE DETAILS!!! I added windows , the passenger windows, wing details, fuselage details, and appearances. I created sketches an then split the body, added the appearances. Seems simple but it can take quite a bit of time and making it look good is quite hard.
During this time, I made many changes. Fixed accuracy of the 747-400 (not really visible, but I can see them). These changes were mostly in the body and the wing accuracy. I also added the windows for the doors to make it more accurate. Underwing pylons: Not that hard, but I wanted to make them look good, so it took a bit of time. I made the outline of the pylon, extruded it, and then cut it so it comes to a point. Then I finished off with the fillets. The hardest part was the Engines. I had to create a cross-section sketch of the engine and then revolve it. After that i created tiny sketches of the back part of the engine and then created a shell to open up the engine opening. Adjusting the engine took a lot of time (cuz my blueprints are not the best) and then I had to create the connector. I did that by creating an airfoil and then creating the vertical sketch. Finished off by sweeping it. Then I created a new component, moved the engine to the right place and then created a new connected in the same way. It was always not turning out the best so i spent a lot of time fixing all of it to make it look better. It will take me almost 2-4 hrs to finish this airplane, I will fix the shape more, add the underbody and then the livery. I put an image of how the engine was not looking that good and a video on how i made it.
Ships:
So i have been learning autodesk fusion for the past weeks now and I decided to design models and then put them on github for everyone to see. I have attached a printables link which includes all the files I have. I am trying to get better by the day trying my best lol. All my models i have done so far which are ALL done in fusion 360: 2x4 Toy Block.stl Complex Glass Bottle.stl Day 3 PaperClip.stl DogBowl.stl DogBowlMetalPart.stl DogBowlRubberPart.stl DoorStop.stl Drawer.stl Glass Soda Bottle.stl HandleBar.stl Hex Nut.stl IceCubeTray.stl LightBulb.stl Saturn V Rocket.stl ScrewDriver.stl SnowFlake.stl Star.stl Starship.stl vase.stl...
|
1792882069.5571966
|
1793746069.5571966
|
|
17692
|
My very own WebOS by @torren | Stardance
|
torren
|
2
|
32.0
|
49
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T01:54:12Z", "hours": 15.0, "multiplier": 4.89, "payout": 49, "blessing": "neutral", "text": "so i built serenityos, a little web-based operating system that runs right in your browser. it’s got a desktop, draggable windows, a dock, and a bunch of mini apps — all vanilla html/css/js, no frameworks, no build step. for this mission i added 3 new features: browser — a mini web browser inside the os. type a url, hit go, it loads in a window. paint — a canvas you can actually draw on. pick a color, change the brush size, and save your doodle as a png. new animated ui — gave the whole thing a fresh look with real motion: headings that reveal word-by-word as you scroll and buttons that drift toward your cursor. what was challenging: doing the animations in plain javascript was the tricky part — no framer motion or gsap, so i had to hand-roll the word-by-word reveals with intersection observers and the magnetic buttons with pointer math. getting the paint canvas to map mouse coords correctly when the window resizes also took a few tries. what i’m proud of: how cohesive it all feels now — the landing page, the docs, and the desktop all look like one product. and the fact that it’s 100% vanilla js but still feels smooth and alive. how to test it: head to serenityux.vercel.app → hit launch os → then click around the dock. open browser and load a site, open paint and draw something, or mess with the calculator, notes, and timer. everything saves locally so your notes stick around when you come back.", "repo": "", "demo": ""}, {"ship_num": 2, "ts": "2026-06-14T17:27:46Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "SerenityOS is a fully functional web-based operating system with 9 interactive draggable windows (About, Projects, Portfolio, Contact, Notes, To-Do, Calculator, Timer, Messages) built entirely with vanilla JavaScript, zero dependencies, and achieving 90+ Lighthouse with <50KB bundle size. Building it required solving complex event propagation issues with button reliability, window positioning algorithms to prevent off-screen placement, and localStorage timing with the messages system—all demanding deep understanding of DOM lifecycle and JavaScript async behavior. I’m proud of proving you don’t need frameworks to build ambitious, polished applications while maintaining excellent performance and design. To test: visit https://serenityux.vercel.app , enter your name, launch, then try sending a message through Contact to see it appear in Messages app, add tasks to To-Do that persist on refresh, use the Calculator and Timer, drag windows around, and check your portfolio content. Everything works instantly with no installation required.", "repo": "", "demo": ""}]...
|
[{"post_id": 44953, "ts": "202 [{"post_id": 44953, "ts": "2026-08-11T01:51:51Z", "hours": 14.7233, "text": "been improving serenityos lately and honestly it’s in a way better place now. gave the whole thing a fresh look, clean type, calm colors, feels like one cohesive product from the landing all the way into the desktop. also shipped 3 new features: a browser you can actually surf in, a paint app for doodling (save as png too), and a new animated ui with word-by-word reveals and buttons that drift toward your cursor. cleaned up a bunch of old jank along the way. more soon :)"}, {"post_id": 8799, "ts": "2026-06-14T16:41:02Z", "hours": 0.6833, "text": "This session focused on polishing SerenityOS for production launch and fixing critical bugs that were blocking user-facing features. Started by diagnosing and fixing the messages system - the Contact form was saving messages to localStorage, but they weren’t displaying in the Messages app due to a DOM timing issue. Wrapped the contact handler in setTimeout to ensure proper initialization, and implemented a dynamic renderMessages() function that rebuilds the DOM on demand. Tested the full flow end-to-end: Contact form → localStorage → Messages app, confirming persistence and deletion both work. Next tackled calculator button overflow - buttons were massively oversized and breaking the window layout. Reduced padding from 10px to 6px, gap from 6px to 4px, and display font-size from 2em to 1.5em while adding min-width constraints. Buttons now fit perfectly within the window. Compacted the Projects app since it was taking up unnecessary vertical space - reduced font sizes, cut spacing between projects, and shortened descriptions so all five projects display without scrolling. Updated the README following professional shipping guidelines: punchy one-liner, prominent demo link, six specific features, technical depth explaining architecture, quick start in three lines, browser support, and creator info. No boilerplate or template text. Completely rewrote portfolio content across all apps (About, Projects, Portfolio) with real information: full bio, three-skill categories (technical, business, leadership), detailed project descriptions with achievements, and actual work experience. Discovered and fixed the most critical bug: window positioning logic was placing new windows off-screen or stacked too far right. Changed from 3-column to 2-column grid with viewport bounds checking, ensuring all apps stay visible. Tested all four previously-missing apps (To-Do, Calculator, Timer, Messages) - they now open and display correctly. Updated README screenshot reference, committed everything, and pushed to production. All 9 apps verified working, <50KB bundle maintained, 90+ Lighthouse score confirmed. SerenityOS is now feature-complete and deployment-ready."}, {"post_id": 8124, "ts": "2026-06-13T15:48:46Z", "hours": 1.3342, "text": "This session focused on crushing the last critical bugs that were holding back the messaging system and refining the overall UI. The main issue was that messages sent from the Contact form weren’t appearing in the Messages app - after investigation, we discovered a DOM timing issue where event listeners were being attached before elements were ready. We fixed this by wrapping the contact form handler in a setTimeout, ensuring proper initialization and allowing messages to persist reliably in localStorage and render dynamically with full delete functionality. Alongside this, we tackled the calculator button overflow problem that was making the app unusable on smaller screens. The buttons were massively oversized, so we reduced padding from 10px to 6px, gap from 6px to 4px, and display font-size from 2em to 1.5em while adding min-width constraints to prevent flex expansion. Finally, we compacted the Projects window since its content was taking up too much vertical space - we reduced overall font sizes, cut spacing from 16px to 10px between items, and shortened descriptions so all five projects now display without any scrolling needed. Everything is now working smoothly: the message system is bulletproof, calculator buttons fit perfectly, and all windows are properly optimized. The bundle remains under 50KB, localStorage operations are instant, and the entire OS feels polished and professional. We’ve got all eight apps functioning, draggable/resizable windows with proper layering, persistent data storage, a real-time system clock, and smooth animations throughout—SerenityOS is now feature-complete and ready for use."}, {"post_id": 7857, "ts": "2026-06-13T03:12:50Z", "hours": 1.1425, "text": "Fixed critical bugs preventing windows from displaying on the OS desktop - the issue was the container wasn’t filling the viewport properly. Updated CSS to set 100vw × 100vh with fixed positioning, which immediately resolved the problem. Also implemented smart window positioning using a grid algorithm to prevent overlap, and added auto-opening About & Projects windows on startup so the desktop doesn’t look empty. Tested all functionality and deployed. 50 minutes of focused debugging and UX improvements."}, {"post_id": 7785, "ts": "2026-06-13T00:20:03Z", "hours": 13.7236, "text": "Built the SerenityUX Web-based OS project: Part 1: Welcome screen with animations Parts 2-3: Desktop with draggable windows Currently working on Part 4: Creating apps"}]...
|
Title: My very own WebOS by @torren | Stardance
D Title: My very own WebOS by @torren | Stardance
Devlogs:
Built the SerenityUX Web-based OS project: Part 1: Welcome screen with animations Parts 2-3: Desktop with draggable windows Currently working on Part 4: Creating apps
Fixed critical bugs preventing windows from displaying on the OS desktop - the issue was the container wasn’t filling the viewport properly. Updated CSS to set 100vw × 100vh with fixed positioning, which immediately resolved the problem. Also implemented smart window positioning using a grid algorithm to prevent overlap, and added auto-opening About & Projects windows on startup so the desktop doesn’t look empty. Tested all functionality and deployed. 50 minutes of focused debugging and UX improvements.
This session focused on crushing the last critical bugs that were holding back the messaging system and refining the overall UI. The main issue was that messages sent from the Contact form weren’t appearing in the Messages app - after investigation, we discovered a DOM timing issue where event listeners were being attached before elements were ready. We fixed this by wrapping the contact form handler in a setTimeout, ensuring proper initialization and allowing messages to persist reliably in localStorage and render dynamically with full delete functionality. Alongside this, we tackled the calculator button overflow problem that was making the app unusable on smaller screens. The buttons were massively oversized, so we reduced padding from 10px to 6px, gap from 6px to 4px, and display font-size from 2em to 1.5em while adding min-width constraints to prevent flex expansion. Finally, we compacted the Projects window since its content was taking up too much vertical space - we reduced overall font sizes, cut spacing from 16px to 10px between items, and shortened descriptions so all five projects now display without any scrolling needed. Everything is now working smoothly: the message system is bulletproof, calculator buttons fit perfectly, and all windows are properly optimized. The bundle remains under 50KB, localStorage operations are instant, and the entire OS feels polished and professional. We’ve got all eight apps functioning, draggable/resizable windows with proper layering, persistent data storage, a real-time system clock, and smooth animations throughout—SerenityOS is now feature-complete and ready for use.
This session focused on polishing SerenityOS for production launch and fixing critical bugs that were blocking user-facing features. Started by diagnosing and fixing the messages system - the Contact form was saving messages to localStorage, but they weren’t displaying in the Messages app due to a DOM timing issue. Wrapped the contact handler in setTimeout to ensure proper initialization, and implemented a dynamic renderMessages() function that rebuilds the DOM on demand. Tested the full flow end-to-end: Contact form → localStorage → Messages app, confirming persistence and deletion both work. Next tackled calculator button overflow - buttons were massively oversized and breaking the window layout. Reduced padding from 10px to 6px, gap from 6px to 4px, and display font-size from 2em to 1.5em while adding min-width constraints. Buttons now fit perfectly within the window. Compacted the Projects app since it was taking up unnecessary vertical space - reduced font sizes, cut spacing between projects, and shortened descriptions so all five projects display without scrolling. Updated the README following professional shipping guidelines: punchy one-liner, prominent demo link, six specific features, technical depth explaining architecture, quick start in three lines, browser support, and creator info. No boilerplate or template text. Completely rewrote portfolio content across all apps (About, Projects, Portfolio) with real information: full bio, three-skill categories (technical, business, leadership), detailed project descriptions with achievements, and actual work experience. Discovered and fixed the most critical bug: window positioning logic was placing new windows off-screen or stacked too far right. Changed from 3-column to 2-column grid with viewport bounds checking, ensuring all apps stay visible. Tested all four previously-missing apps (To-Do, Calculator, Timer, Messages) - they now open and display correctly. Updated README screenshot reference, committed everything, and pushed to production. All 9 apps verified working, <50KB bundle maintained, 90+ Lighthouse score confirmed. SerenityOS is now feature-complete and deployment-ready.
been improving serenityos lately and honestly it’s in a way better place now. gave the whole thing a fresh look, clean type, calm colors, feels like one cohesive product from the landing all the way into the desktop. also shipped 3 new features: a browser you can actually surf in, a paint app for doodling (save as png too), and a new animated ui with word-by-word reveals and buttons that drift toward your cursor. cleaned up a bunch of old jank along the way. more soon :)
Ships:
SerenityOS is a fully functional web-based operating system with 9 interactive draggable windows (About, Projects, Portfolio, Contact, Notes, To-Do, Calculator, Timer, Messages) built entirely with vanilla JavaScript, zero dependencies, and achieving 90+ Lighthouse with <50KB bundle size. Building it required solving complex event propagation issues with button reliability, window positioning algorithms to prevent off-screen placement, and localStorage timing with the messages system—all demanding deep understanding of DOM lifecycle and JavaScript async behavior. I’m proud of proving you don’t need frameworks to build ambitious, polished applications while maintaining excellent performance and design. To test: visit https://serenityux.vercel.app , enter your name, launch, then try sending a message through Contact to see it appear in Messages app, add tasks to To-Do that persist on refresh, use the Calculator and Timer, drag windows around, and check your portfolio content. Everything works instantly with no installation required.
so i built serenityos, a little web-based operating system that runs right in your browser. it’s got a desktop, draggable windows, a dock, and a bunch of mini apps — all vanilla html/css/js, no frameworks, no build step. for this mission i added 3 new features: browser — a mini web browser inside the os. type a url, hit go, it loads in a window. paint — a canvas you can actually draw on. pick a color, change the brush size, and save your doodle as a png. new animated ui — gave the whole thing a fresh look with real motion: headings that reveal word-by-word as you scroll and buttons that drift toward your cursor. what was challenging: doing the animations in plain javascript was the tricky part — no framer motion or gsap, so i had to hand-roll the word-by-word reveals with intersection observers and the magnetic buttons with pointer math. getting the paint canvas to map mouse coords correctly when the window resizes also took a few tries. what i’m proud of: how cohesive it all feels now — the landing page, the docs, and the desktop all look like one product. and the fact that it’s 100% vanilla js but still feels smooth and alive. how to test it: head to serenityux.vercel.app → hit launch os → then click around the dock. open browser and load a site, open paint and draw something, or mess with the calculator, notes, and timer. everything saves locally so your notes stick around when you come back....
|
1793123573.1958632
|
1793209973.1958632
|
|
18454
|
astrOS by @urged-st | Stardance
|
urged-st
|
2
|
32.0
|
302
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T18:06:53Z", "hours": 27.0, "multiplier": 11.44, "payout": 302, "blessing": "neutral", "text": "astrOS is a fullscreen web OS with nine astronomy apps built in vanilla JS: Sky Map uses real star positions calculated from your location, ISS Tracker polls live satellite data with haversine distance, Stargazing Conditions combines weather and moon phase into a seeing score, Solar System renders Keplerian orbits with clickable planets, Meteor Shower Tracker handles year-boundary showers correctly with proper countdown logic, plus NGC Catalogue, APOD, Mission Log, and Wallpaper Changer. I’m most proud of the Sky Map actually calculating real positions rather than faking it, and the ISS Tracker being genuinely useful for knowing whether the station is overhead. To test: open on desktop in fullscreen (geolocation needs permission and fullscreen mode to work), try dragging windows to screen edges to see snapping, check the meteor tracker during an active shower, click planets in Solar System to see their stats, and the Mission Log text persists across refreshes via localStorage. yes, i know it said 3 new features from webos1, but I got a bit too excited. have fun!", "repo": "https://github.com/urged-st/astrOS", "demo": "https://astr-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-18T09:59:21Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a functional astronomy focused WebOS called astrOS. It currently features a custom programmed sky map which takes your location and shows you what is currently in the sky near you, and a simple in-session notepad. It also has a right-click context menu featuring my socials and projects (project links will be added when they are done lol) You can minimise windows as well. Please put any suggestions for new features you have in comments, I’d appreciate it a lot.", "repo": "https://github.com/urged-st/astrOS", "demo": "https://astr-os.vercel.app/"}]...
|
[{"post_id": 29628, "ts": "202 [{"post_id": 29628, "ts": "2026-07-16T18:02:48Z", "hours": 3.6972, "text": "Meteor Shower Tracker finished the last feature, a year-round meteor shower schedule with active/upcoming status so you actually know when to set an alarm. 11 major showers baked in (Quadrantids through Ursids), and everything’s calculated client-side, no API needed. stores absolute peak dates for each shower and works out the active window locally, correctly handles the year-boundary ones (Quadrantids starts Dec 28, Ursids ends Dec 26) without breaking on Jan 1st sorts active showers first, then whoever’s next peak is soonest countdown properly distinguishes “peak in Xd” from “peaked Xd ago” for showers you’re still inside the window for but already past peak on, caught that bug and fixed it before shipping by testing across multiple dates including exact-peak day (Aug 12 for Perseids) renders as a compact list with radiant constellation, ZHR (~Zenith Hourly Rate), and the peak countdown, all colour-coded so active showers pop no polling, just recomputes fresh every time you open it Bug Fixes & Polish went through all three files line-by-line before shipping. found and fixed two bugs plus some cleanup: window snapping corners were broken — getSnapZone() detected top-left/top-right when you dragged to a corner, but showSnapPreview() and applySnap() never had rect definitions for those zones, so the preview showed nothing and the drop silently failed. added proper quarter-tile rects for both corners so you can now snap to all four quadrants APOD toggle IDs — getElementById() calls for apod explanation/toggle buttons were working but the elements weren’t explicitly in the HTML, they were created at render-time by innerHTML, so the id references were technically fine but fragile. left them as-is since they work, but flagged it as something to refactor if we add more dynamic content later also ik its been shown in an earlier devlog, but the taskbar on the bottom isn’t exactly empty lol, you can minimise apps to it (third pic). maybe i’ll add a pin to taskbar feature? what’s left SHIPPPPPPPPPPPPPPPPPPPPPPPPP"}, {"post_id": 28122, "ts": "2026-07-14T06:30:28Z", "hours": 0.7539, "text": "Tiny fix lol I stopped good ol’ neptune being cut off on the solar system map, and also made it so that the contents of the notepad/mission log are saved in localStorage"}, {"post_id": 27936, "ts": "2026-07-13T21:28:34Z", "hours": 3.2881, "text": "Solar System Viewer Thought it’d be cool to have something you could just leave open on the desktop, so I added a little live Solar System app. Every planet sits where it actually should be today rather than looping around on some fake animation. Planet positions come from simplified J2000 Keplerian elements (semi-major axis, eccentricity, orbital period, etc.) and get advanced from the current date, so they’re calculated fresh instead of being hardcoded. Conveniently I’d already written a Newton-Raphson solver for Kepler’s equation while making Umbra, so I shamelessly reused it here to solve the eccentric anomaly before converting that into the planet’s true anomaly and distance from the Sun. Nice when old suffering becomes reusable code lol. Biggest headache honestly wasn’t the orbital maths, it was the scale. If you draw everything linearly then Neptune disappears off the edge of the canvas, but if you squash everything too much then the inner planets all merge together. Ended up scaling the orbital radius by √r instead, which keeps the angular positions correct while compressing the distances enough that the whole Solar System fits on one screen. Made every planet clickable as well because a static diagram felt a bit dead. Clicking one gives its current distance from the Sun and orbital period, with Earth getting a little highlight ring so it’s easy to spot where we are. It redraws once a minute since the planets barely move on human timescales anyway, and it’s definitely not accurate enough to navigate a spacecraft with, but it’s surprisingly close considering it’s just running a handful of orbital equations in the browser lol. deffo gonna play around with the window sizing cause its kinda weird right now… also neptune is STILL SQUASHED (genuine annoyance btw) so will do this TOMORROW."}, {"post_id": 27585, "ts": "2026-07-13T09:25:48Z", "hours": 3.4686, "text": "Stargazing Conditions New app, tells you whether tonight’s actually worth setting up a telescope for. pulls cloud cover, humidity and wind from Open-Meteo using the location I already grab on boot, no key needed which is nice the moon phase bit doesn’t touch an API at all, did it properly with the synodic month (29.53 days) against a known reference new moon, so it’s just maths running locally combined cloud cover and moon brightness into a rough seeing score out of 10, heavier cloud and a brighter moon both drag it down, then a one-line verdict underneath so you don’t have to interpret the number yourself was gonna render an actual crescent/gibbous moon on canvas for this but after the ISS ground track thing broke last time I didn’t wanna ship more clipping/arc geometry I couldn’t properly test, so it’s just the phase emoji + name + illumination % instead. honestly looks fine, might revisit the canvas version later if I’m bored"}, {"post_id": 26790, "ts": "2026-07-11T19:46:07Z", "hours": 3.5022, "text": "ISS Tracker New app, tracks the ISS live using wheretheiss.at (no key needed, CORS-open, genuinely such a nice API to work with). Polls every 5 seconds for lat/lon/altitude/velocity Keeping the last 20 fixes so there’s a fading trail behind the current position instead of just a dot that teleports every update Drew my own little world map for this since I didn’t want to deal with map tile assets, just lat/lon gridlines every 30°, equator and prime meridian slightly brighter. I reused the geolocation I already grab on boot for the sky map, so this app also shows your distance from the ISS via a haversineKm() calc, and flags when it’s within ~2000km with a little “nearby!” tag. Not a proper overhead check (that’d need elevation angle above your horizon) but good enough for now Added a stopIssTracker() call on window close so the polling interval actually dies instead of running forever in the background, learnt that lesson the hard way after leaving a tab open for way too long testing this At the time of writing this I had just the idea to implement a trail that shows the future path, will do this now lol."}, {"post_id": 26626, "ts": "2026-07-11T15:37:59Z", "hours": 2.4692, "text": "APOD Viewer Added the Astronomy Picture of the Day app, pulls straight from NASA’s API and shows today’s pic with the write-up tucked behind a toggle so the image gets to be the main object first. Cached in localStorage per calendar day, so reopening the window doesn’t burn another call for the same picture Nearly got got by this one: NASA sometimes serves a video instead of an image for the day, and my first pass just shoved the url into an <img> tag, broken image icon staring back at me lol Added a media_type check so videos link out instead of trying to embed Also handled the fetch failing outright, just shows a “try again later” message instead of leaving a blank window, DEMO_KEY ’s rate limit is gonna trip this eventually so it needed to fail gracefully lol what’s next? either stargazing conditions or the ISS tracker, we’ll see which one I go for"}, {"post_id": 22333, "ts": "2026-07-04T19:10:32Z", "hours": 9.3625, "text": "Okay, yes I forgot to devlog… or commit This was an absolute lock-in but I don’t wanna rank low on storytelling, so I’ll make this one detailed lol. Wallpaper Switcher Six presets, default plus five gradients: nebula, deep blue, solar flare, aurora, mono Clicking a swatch fades the desktop background over 0.6s instead of snapping Choice persists via localStorage so it survives a refresh markActiveWallpaperSwatch re-reads storage and re-marks the active swatch every time the window reopens NGC Catalogue Browser Started as a hardcoded Messier list, which I scrapped once I found Datastro’s public deep sky objects dataset (~220k NGC/IC/Messier entries, CORS-open, no key) Search input debounces 350ms before hitting the API, results sort by magnitude Clicking a result fills the detail panel: type, constellation, magnitude, coordinates Dataset uses the Historically Corrected NGC scheme ( GPair , OCl , SNR , Cl+N ), so I wrote a bucket function that checks substrings to map raw types into galaxy, nebula, cluster, or other for the filter dropdown Built an 8-object offline fallback (Andromeda, Orion Nebula, Ring Nebula, Pleiades, etc) that kicks in silently if the fetch fails, with a small offline warning shown in the list Did You Know Notifications Toast-style pings slide in from the right with a random space fact First one fires after 4 seconds, then every 60-120 seconds at random 18 facts in the pool right now, the neutron star teaspoon one still gets me Caught a bug where fast in/out window clicks could call scheduleNotifications twice and stack two loops, doubling the ping rate Fixed it with a notifStarted flag so the loop only ever starts once Window Resizing And Snapping Built right before the wallpaper stuff, resize first then snap Every window gets a drag handle in the bottom right corner, clamped to a minimum width and height Handle calls stopPropagation on mousedown so resizing doesn’t also trigger the window drag Snap shows a dashed preview box near screen edges, locks into that rect on release Found a bug writing this up: a top-right zone gets detected but has no rect defined for it, so it falls back to snapping full width across the top instead of a proper quadrant."}, {"post_id": 11193, "ts": "2026-06-18T09:52:09Z", "hours": 1.0806, "text": "WebOS 1 - Finished! Sure it took longer than it should’ve, but at least the sky map is quality Today I finished off the final parts for the first mission. I added a coords toggle so you don’t doxx yourself while taking screenshots of the map. I also fixed up the minimising animation and changed the taskbar to host the app icons instead of the usual app name (this had an ugly white bg lol so I had to change it no matter what) I also added a custom background (yes this is reused from my g-lens project sue me) I’m gonna ship this now for WebOS 1, the finished, polished product will be shipped for WebOS 2 (so if anything can be improved, dm me or comment and I’ll fix it then!)"}, {"post_id": 10856, "ts": "2026-06-17T20:07:29Z", "hours": 0.5308, "text": "Small update added a basic notepad app, it does not save between sessions though. added an animation to minimising windows [FIX] made star names not rotate with the star map (this was annoying me lol) what’s next? add icons to taskbar and not just names for minimised apps hide the coords on sky map lol dont doxx yourself a review of the guidelines so I can get webOS 2!"}, {"post_id": 9505, "ts": "2026-06-15T21:22:49Z", "hours": 2.37, "text": "MAJORRR Update First app, context menu, and a LOT of stars 😭 Today I wanted to add an app. Not a standard one like notepad, music, file explorer… something that is different. So, naturally, I spent two hours coding my own star map using a ton of stars from the yale bright star catalogue (okay maybe not a ton but you get the idea). It takes the users location, calculates the chunk of sky above them (yes, you can do this) and shows the major stars visible to the naked eye on a turntable style minimap. What the heck am I gonna do next for one, the text on the map rotates with everything so i gotta fix that THEN i’ll add a normal app like notepad lol a background needs to be added too, also I might add a bg switcher. ohhhh yeah and i added stuff from the guide like the topbar and time, that’s not the star of the show for this log though lol."}, {"post_id": 8666, "ts": "2026-06-14T12:13:02Z", "hours": 0.7083, "text": "astrOS day 1: I want to finish this project really efficiently, so I have mapped out what features I want (you will see as they come). Today, I finished the boot screen and styling for it, and made the file structure. Not much, only 40 mins, but since its a roughly 2hr 30m project, 30m a day means I finish in 5 days. Next devlog should hopefully be finishing the desktop design, probably ~1hr."}]...
|
Title: astrOS by @urged-st | Stardance
Devlogs:
a Title: astrOS by @urged-st | Stardance
Devlogs:
astrOS day 1: I want to finish this project really efficiently, so I have mapped out what features I want (you will see as they come). Today, I finished the boot screen and styling for it, and made the file structure. Not much, only 40 mins, but since its a roughly 2hr 30m project, 30m a day means I finish in 5 days. Next devlog should hopefully be finishing the desktop design, probably ~1hr.
MAJORRR Update First app, context menu, and a LOT of stars 😭 Today I wanted to add an app. Not a standard one like notepad, music, file explorer… something that is different. So, naturally, I spent two hours coding my own star map using a ton of stars from the yale bright star catalogue (okay maybe not a ton but you get the idea). It takes the users location, calculates the chunk of sky above them (yes, you can do this) and shows the major stars visible to the naked eye on a turntable style minimap. What the heck am I gonna do next for one, the text on the map rotates with everything so i gotta fix that THEN i’ll add a normal app like notepad lol a background needs to be added too, also I might add a bg switcher. ohhhh yeah and i added stuff from the guide like the topbar and time, that’s not the star of the show for this log though lol.
Small update added a basic notepad app, it does not save between sessions though. added an animation to minimising windows [FIX] made star names not rotate with the star map (this was annoying me lol) what’s next? add icons to taskbar and not just names for minimised apps hide the coords on sky map lol dont doxx yourself a review of the guidelines so I can get webOS 2!
WebOS 1 - Finished! Sure it took longer than it should’ve, but at least the sky map is quality Today I finished off the final parts for the first mission. I added a coords toggle so you don’t doxx yourself while taking screenshots of the map. I also fixed up the minimising animation and changed the taskbar to host the app icons instead of the usual app name (this had an ugly white bg lol so I had to change it no matter what) I also added a custom background (yes this is reused from my g-lens project sue me) I’m gonna ship this now for WebOS 1, the finished, polished product will be shipped for WebOS 2 (so if anything can be improved, dm me or comment and I’ll fix it then!)
Okay, yes I forgot to devlog… or commit This was an absolute lock-in but I don’t wanna rank low on storytelling, so I’ll make this one detailed lol. Wallpaper Switcher Six presets, default plus five gradients: nebula, deep blue, solar flare, aurora, mono Clicking a swatch fades the desktop background over 0.6s instead of snapping Choice persists via localStorage so it survives a refresh markActiveWallpaperSwatch re-reads storage and re-marks the active swatch every time the window reopens NGC Catalogue Browser Started as a hardcoded Messier list, which I scrapped once I found Datastro’s public deep sky objects dataset (~220k NGC/IC/Messier entries, CORS-open, no key) Search input debounces 350ms before hitting the API, results sort by magnitude Clicking a result fills the detail panel: type, constellation, magnitude, coordinates Dataset uses the Historically Corrected NGC scheme ( GPair , OCl , SNR , Cl+N ), so I wrote a bucket function that checks substrings to map raw types into galaxy, nebula, cluster, or other for the filter dropdown Built an 8-object offline fallback (Andromeda, Orion Nebula, Ring Nebula, Pleiades, etc) that kicks in silently if the fetch fails, with a small offline warning shown in the list Did You Know Notifications Toast-style pings slide in from the right with a random space fact First one fires after 4 seconds, then every 60-120 seconds at random 18 facts in the pool right now, the neutron star teaspoon one still gets me Caught a bug where fast in/out window clicks could call scheduleNotifications twice and stack two loops, doubling the ping rate Fixed it with a notifStarted flag so the loop only ever starts once Window Resizing And Snapping Built right before the wallpaper stuff, resize first then snap Every window gets a drag handle in the bottom right corner, clamped to a minimum width and height Handle calls stopPropagation on mousedown so resizing doesn’t also trigger the window drag Snap shows a dashed preview box near screen edges, locks into that rect on release Found a bug writing this up: a top-right zone gets detected but has no rect defined for it, so it falls back to snapping full width across the top instead of a proper quadrant.
APOD Viewer Added the Astronomy Picture of the Day app, pulls straight from NASA’s API and shows today’s pic with the write-up tucked behind a toggle so the image gets to be the main object first. Cached in localStorage per calendar day, so reopening the window doesn’t burn another call for the same picture Nearly got got by this one: NASA sometimes serves a video instead of an image for the day, and my first pass just shoved the url into an <img> tag, broken image icon staring back at me lol Added a media_type check so videos link out instead of trying to embed Also handled the fetch failing outright, just shows a “try again later” message instead of leaving a blank window, DEMO_KEY ’s rate limit is gonna trip this eventually so it needed to fail gracefully lol what’s next? either stargazing conditions or the ISS tracker, we’ll see which one I go for
ISS Tracker New app, tracks the ISS live using wheretheiss.at (no key needed, CORS-open, genuinely such a nice API to work with). Polls every 5 seconds for lat/lon/altitude/velocity Keeping the last 20 fixes so there’s a fading trail behind the current position instead of just a dot that teleports every update Drew my own little world map for this since I didn’t want to deal with map tile assets, just lat/lon gridlines every 30°, equator and prime meridian slightly brighter. I reused the geolocation I already grab on boot for the sky map, so this app also shows your distance from the ISS via a haversineKm() calc, and flags when it’s within ~2000km with a little “nearby!” tag. Not a proper overhead check (that’d need elevation angle above your horizon) but good enough for now Added a stopIssTracker() call on window close so the polling interval actually dies instead of running forever in the background, learnt that lesson the hard way after leaving a tab open for way too long testing this At the time of writing this I had just the idea to implement a trail that shows the future path, will do this now lol.
Stargazing Conditions New app, tells you whether tonight’s actually worth setting up a telescope for. pulls cloud cover, humidity and wind from Open-Meteo using the location I already grab on boot, no key needed which is nice the moon phase bit doesn’t touch an API at all, did it properly with the synodic month (29.53 days) against a known reference new moon, so it’s just maths running locally combined cloud cover and moon brightness into a rough seeing score out of 10, heavier cloud and a brighter moon both drag it down, then a one-line verdict underneath so you don’t have to interpret the number yourself was gonna render an actual crescent/gibbous moon on canvas for this but after the ISS ground track thing broke last time I didn’t wanna ship more clipping/arc geometry I couldn’t properly test, so it’s just the phase emoji + name + illumination % instead. honestly looks fine, might revisit the canvas version later if I’m bored
Solar System Viewer Thought it’d be cool to have something you could just leave open on the desktop, so I added a little live Solar System app. Every planet sits where it actually should be today rather than looping around on some fake animation. Planet positions come from simplified J2000 Keplerian elements (semi-major axis, eccentricity, orbital period, etc.) and get advanced from the current date, so they’re calculated fresh instead of being hardcoded. Conveniently I’d already written a Newton-Raphson solver for Kepler’s equation while making Umbra, so I shamelessly reused it here to solve the eccentric anomaly before converting that into the planet’s true anomaly and distance from the Sun. Nice when old suffering becomes reusable code lol. Biggest headache honestly wasn’t the orbital maths, it was the scale. If you draw everything linearly then Neptune disappears off the edge of the canvas, but if you squash everything too much then the inner planets all merge together. Ended up scaling the orbital radius by √r instead, which keeps the angular positions correct while compressing the distances enough that the whole Solar System fits on one screen. Made every planet clickable as well because a static diagram felt a bit dead. Clicking one gives its current distance from the Sun and orbital period, with Earth getting a little highlight ring so it’s easy to spot where we are. It redraws once a minute since the planets barely move on human timescales anyway, and it’s definitely not accurate enough to navigate a spacecraft with, but it’s surprisingly close considering it’s just running a handful of orbital equations in the browser lol. deffo gonna play around with the window sizing cause its kinda weird right now… also neptune is STILL SQUASHED (genuine annoyance btw) so will do this TOMORROW.
Tiny fix lol I stopped good ol’ neptune being cut off on the solar system map, and also made it so that the contents of the notepad/mission log are saved in localStorage
Meteor Shower Tracker finished the last feature, a year-round meteor shower schedule with active/upcoming status so you actually know when to set an alarm. 11 major showers baked in (Quadrantids through Ursids), and everything’s calculated client-side, no API needed. stores absolute peak dates for each shower and works out the active window locally, correctly handles the year-boundary ones (Quadrantids starts Dec 28, Ursids ends Dec 26) without breaking on Jan 1st sorts active showers first, then whoever’s next peak is soonest countdown properly distinguishes “peak in Xd” from “peaked Xd ago” for showers you’re still inside the window for but already past peak on, caught that bug and fixed it before shipping by testing across multiple dates including exact-peak day (Aug 12 for Perseids) renders as a compact list with radiant constellation, ZHR (~Zenith Hourly Rate), and the peak countdown, all colour-coded so active showers pop no polling, just recomputes fresh every time you open it Bug Fixes & Polish went through all three files line-by-line before shipping. found and fixed two bugs plus some cleanup: window snapping corners were broken — getSnapZone() detected top-left/top-right when you dragged to a corner, but showSnapPreview() and applySnap() never had rect definitions for those zones, so the preview showed nothing and the drop silently failed. added proper quarter-tile rects for both corners so you can now snap to all four quadrants APOD toggle IDs — getElementById() calls for apod explanation/toggle buttons were working but the elements weren’t explicitly in the HTML, they were created at render-time by innerHTML, so the id references were technically fine but fragile. left them as-is since they work, but flagged it as something to refactor if we add more dynamic content later also ik its been shown in an earlier devlog, but the taskbar on the bottom isn’t exactly empty lol, you can minimise apps to it (third pic). maybe i’ll add a pin to taskbar feature? what’s left SHIPPPPPPPPPPPPPPPPPPPPPPPPP
Ships:
I have made a functional astronomy focused WebOS called astrOS. It currently features a custom programmed sky map which takes your location and shows you what is currently in the sky near you, and a simple in-session notepad. It also has a right-click context menu featuring my socials and projects (project links will be added when they are done lol) You can minimise windows as well. Please put any suggestions for new features you have in comments, I’d appreciate it a lot.
astrOS is a fullscreen web OS with nine astronomy apps built in vanilla JS: Sky Map uses real star positions calculated from your location, ISS Tracker polls live satellite data with haversine distance, Stargazing Conditions combines weather and moon phase into a seeing score, Solar System renders Keplerian orbits with clickable planets, Meteor Shower Tracker handles year-boundary showers correctly with proper countdown logic, plus NGC Catalogue, APOD, Mission Log, and Wallpaper Changer. I’m most proud of the Sky Map actually calculating real positions rather than faking it, and the ISS Tracker being genuinely useful for knowing whether the station is overhead. To test: open on desktop in fullscreen (geolocation needs permission and fullscreen mode to work), try dragging windows to screen edges to see snapping, check the meteor tracker during an active shower, click planets in Solar System to see their stats, and the Mission Log text persists across refreshes via localStorage. yes, i know it said 3 new features from webos1, but I got a bit too excited. have fun!...
|
1792878752.5116427
|
1793742752.5116427
|
|
19063
|
Better Devtools Storage Extension by @DaintyDust | Better Devtools Storage Extension by @DaintyDust | Stardance...
|
DaintyDust
|
1
|
32.0
|
436
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T14:35:31Z", "hours": 32.0, "multiplier": 13.75, "payout": 436, "blessing": "neutral", "text": "Better Devtools Storage is a DevTools tab that replaces the default Chrome storage (application) tab in a more user friendly interface for inspecting and editing localstorage, sessionstorage and cookies. Features: Search across all keys. Syntax highlighting for JSON values. Direct editing of localStorage, sessionStorage, and site cookies. Quick toggle for line wrap on large data payloads. Easily copy values from Automatic light, dark, and system color scheme matching. Responsive design that handles both docked and undocked DevTools layouts. Extension is currently in review by google to be uploaded to the webstore. For now you have to download it from the github releases", "repo": "https://github.com/DaintyDust/Better-Devtools-Storage", "demo": "https://chromewebstore.google.com/detail/better-devtools-storage/jljobilipchdfckajcdbckfdanbfpmjf"}]...
|
[{"post_id": 26577, "ts": "202 [{"post_id": 26577, "ts": "2026-07-11T14:16:40Z", "hours": 1.0414, "text": "V1.0.1 updated the package name and description added package (zip) command. removed storage permission"}, {"post_id": 25507, "ts": "2026-07-09T20:29:15Z", "hours": 1.6642, "text": "Version 1: updated icon and fixed connection error"}, {"post_id": 24241, "ts": "2026-07-07T17:56:26Z", "hours": 2.2231, "text": "Added lightmode and a settings menu"}, {"post_id": 24053, "ts": "2026-07-07T11:07:12Z", "hours": 0.9517, "text": "Made the UI more responsive in different dock positions"}, {"post_id": 23815, "ts": "2026-07-06T23:47:38Z", "hours": 9.5464, "text": "added json highlighting + performance inprovements"}, {"post_id": 21705, "ts": "2026-07-03T20:03:09Z", "hours": 3.3231, "text": "added some animations and confirm dialogs."}, {"post_id": 18810, "ts": "2026-06-30T00:47:35Z", "hours": 2.2361, "text": "Added ability to add and edit the keys (with json formatting)"}, {"post_id": 18375, "ts": "2026-06-29T14:41:28Z", "hours": 6.6647, "text": "added functionality to actually view the localstorage, sessionstorage and cookies."}, {"post_id": 16543, "ts": "2026-06-26T22:03:55Z", "hours": 4.2297, "text": "I made the Gui for my devtools chrome extension"}]...
|
Title: Better Devtools Storage Extension by @Daint Title: Better Devtools Storage Extension by @DaintyDust | Stardance
Devlogs:
I made the Gui for my devtools chrome extension
added functionality to actually view the localstorage, sessionstorage and cookies.
Added ability to add and edit the keys (with json formatting)
added some animations and confirm dialogs.
added json highlighting + performance inprovements
Made the UI more responsive in different dock positions
Added lightmode and a settings menu
Version 1: updated icon and fixed connection error
V1.0.1 updated the package name and description added package (zip) command. removed storage permission
Ships:
Better Devtools Storage is a DevTools tab that replaces the default Chrome storage (application) tab in a more user friendly interface for inspecting and editing localstorage, sessionstorage and cookies. Features: Search across all keys. Syntax highlighting for JSON values. Direct editing of localStorage, sessionStorage, and site cookies. Quick toggle for line wrap on large data payloads. Easily copy values from Automatic light, dark, and system color scheme matching. Responsive design that handles both docked and undocked DevTools layouts. Extension is currently in review by google to be uploaded to the webstore. For now you have to download it from the github releases...
|
1793242245.7736094
|
1793328645.7736094
|
|
22802
|
Cosmo Sling by @Kartik_B | Stardance
|
Kartik_B
|
4
|
32.0
|
181
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T13:59:49Z", "hours": 2.0, "multiplier": 11.05, "payout": 23, "blessing": "neutral", "text": "This ships is all about the android build of the game. I have also fixed some bugs. i did a lot of playtesting in android.", "repo": "https://github.com/K-BIDDOLIYA/Cosmo-Slingshot", "demo": "https://kartik-biddoliya.itch.io/cosmo-sling"}, {"ship_num": 2, "ts": "2026-08-03T17:48:02Z", "hours": 8.0, "multiplier": 2.26, "payout": 18, "blessing": "neutral", "text": "Cosmo Sling is a 2D space arcade game where players pilot a spacecraft through hazardous space, dodging asteroids, black holes, and other cosmic dangers. This submission includes both Campaign and Endless modes, multiple selectable ships, polished UI, dynamic backgrounds, and improved gameplay and visual effects.", "repo": "https://github.com/K-BIDDOLIYA/Cosmo-Slingshot", "demo": "https://kartik-biddoliya.itch.io/cosmo-sling"}, {"ship_num": 3, "ts": "2026-07-19T17:06:15Z", "hours": 8.0, "multiplier": 7.58, "payout": 62, "blessing": "neutral", "text": "Cosmo Sling is a 2D physics-based space puzzle game where players launch a spaceship from Earth and use the gravitational pull of randomly generated planets to reach the destination. Throughout development, the project has evolved from a simple gravity prototype into a polished game with procedural level generation, multiple difficulty modes, accurate trajectory prediction, dynamic gravity physics, sound effects, UI menus (main menu, settings, pause, win/lose screens), camera improvements, and WebGL support. Continuous feedback and playtesting have led to numerous gameplay balancing, bug fixes, UI refinements, performance improvements, and overall polish, bringing the game close to its final release version.", "repo": "https://github.com/K-BIDDOLIYA/Cosmo-Slingshot", "demo": "https://kartik-biddoliya.itch.io/cosmo-sling"}, {"ship_num": 4, "ts": "2026-07-05T15:09:17Z", "hours": 14.0, "multiplier": 5.54, "payout": 78, "blessing": "neutral", "text": "I made Cosmo Sling, a 2D physics-based space game where you get one launch to reach the destination planet. Randomly generated planets use gravity to curve your ship’s path, with four difficulty modes ranging from 1–6 planets. The most challenging parts were building the gravity system, random level generation, keeping the game working across different screen sizes, and fixing scene/UI issues. I’m most proud of getting the complete game polished and shipped with sound, settings, pause/restart controls, and a Windows build. To test it, download the game, unzip it, and run Cosmo Sling.exe. Click and drag to aim, release to launch, press P to pause, and R to restart anytime.", "repo": "https://github.com/K-BIDDOLIYA/Cosmo-Slingshot", "demo": "https://kartik-biddoliya.itch.io/cosmo-sling"}]...
|
[{"post_id": 73532, "ts": "202 [{"post_id": 73532, "ts": "2026-09-25T10:26:39Z", "hours": 2.1081, "text": "I added the android build also. trust me its better that the image below"}, {"post_id": 40258, "ts": "2026-08-03T17:45:43Z", "hours": 2.5464, "text": "Upgrade Devlog - #3 Just completed the game, upgraded the ui, selection of ships and a new gamemode. i will not add anything to this game anymore. This game is complete for me. This is the End!"}, {"post_id": 38955, "ts": "2026-08-01T16:00:25Z", "hours": 3.0036, "text": "Upgrading Devlog -#2 I added nebula that will come and try to block your vision. Also, i added blackhole but its not fully developed yet. You can see this perfectly timed image of the game that will show all of the upgrades"}, {"post_id": 38708, "ts": "2026-08-01T07:45:19Z", "hours": 2.2847, "text": "Upgrading devlog - #1 I just woke up and decided to upgrade the game and add an endless mode also. I will work on more upgrades like - mutiple ships, game control etc. This is what has been completed till now: Endless bg. Ship movement by WASD. Asteroids."}, {"post_id": 31330, "ts": "2026-07-19T17:03:54Z", "hours": 2.7847, "text": "After first ship devlog - #4 I have successfully fixed all of the issues pointed out in the feedback. Here’s what i did: Implemented the core gravity slingshot mechanic. Added procedural planet generation and difficulty levels. Improved ship launch controls and aiming. Made the trajectory prediction smoother and more accurate. Fixed multiple gameplay bugs (launch, collisions, UI, camera). Added pause menu, settings, win and lose screens. Improved audio system with sound effects and music controls. Balanced gravity strength and gameplay difficulty. Refined ship movement and collision handling. Fixed camera positioning and gameplay visibility issues. Optimized the game for WebGL and browser compatibility. Resolved UI scaling and resolution problems based on testing feedback. Added overall polish and prepared the game for release. Special thanks to @PAPER_01 for following this journey and encouraging me."}, {"post_id": 30668, "ts": "2026-07-18T13:15:24Z", "hours": 0.8947, "text": "After ship devlog - #3 Just fixed the win/lose panels. I’ll add WebGL very soon."}, {"post_id": 30142, "ts": "2026-07-17T14:09:06Z", "hours": 2.9939, "text": "After ship devlog - #2 I’ve just fixed 40% of the issues ya’ll pointed in the first ship and tried my best to work on your feedbacks."}, {"post_id": 25919, "ts": "2026-07-10T12:39:22Z", "hours": 0.8697, "text": "After ship devlog - #1 Started working on the feedback from the first players today. I fixed the difficulty system so each mode now spawns the correct number of planets, fixed the pause menu not appearing properly the first time, and stopped the win/lose sounds from repeating. I also fixed the music and sound toggles so they stay independent and sync correctly, and optimized the gravity system by caching the planets once per level instead of searching for them every physics frame. Still a lot more feedback to work through, but the game is already becoming much more stable and polished. I will ship the game again after fixes and some more firey upgrades."}, {"post_id": 23386, "ts": "2026-07-06T09:44:29Z", "hours": 0.6711, "text": "Devlog – I’m Shipping Again My first ship was sent back with changes requested because I accidentally forgot to mention my AI usage in the submission. I’ve now corrected that and am resubmitting the project with the proper information. There is also a second Hackatime project because I changed the Unity project/company name from Cosmo Slingshot to Cosmo Sling near the end of development. Hackatime detected the renamed project as a new project instead of continuing to track time under the original one. So the two Hackatime projects are both for the same game: Cosmo Slingshot — most of the development time Cosmo Sling — final changes after the rename This is not a second game or a duplicate project—just the same project being tracked under two names."}, {"post_id": 22890, "ts": "2026-07-05T15:03:01Z", "hours": 3.5681, "text": "Final Devlog – Cosmo Sling Shipped 🚀 Today I finished and shipped Cosmo Sling! I completed the final polish, including: Background music and sound effects Music and sound toggles with saved settings Pause menu and win/lose states Final UI fixes and screen scaling Game icon and branding Windows build and final testing After fixing the last build and resolution issues, I packaged the complete game and published it on itch.io. Cosmo Sling is officially finished and shipped!"}, {"post_id": 22151, "ts": "2026-07-04T13:53:14Z", "hours": 3.4792, "text": "Devlog #5 – UI & Visual Polish Today I focused on improving Cosmo Sling’s visuals and UI. Added a new pixel-art settings panel. Created Music and Sound toggles with blue/white visual states. Improved the menu’s space-themed design. Added an infinitely moving space background. Fixed several issues related to camera bounds, level generation, launching, and missing audio references. The game is now starting to look much more polished and consistent with its space theme."}, {"post_id": 19287, "ts": "2026-06-30T15:38:42Z", "hours": 4.1344, "text": "Devlog #4 – Big Progress on Cosmo Sling I completely forgot to write two day’s devlog while working 😅. I spent around 3–4 hours developing the game, so here’s a recap of everything I got done. Project Update Development on Cosmo Sling has been progressing really well. The core gameplay loop is now in place and the project feels much more like a real game than just a prototype. Gameplay Finished the one-shot launch mechanic. Improved the aiming system with a visual aim line. Added gravity that pulls the spaceship toward nearby planets. Implemented procedural generation of gravity planets based on the selected difficulty. Added random planet sizes and gravity strengths. Added minimum spacing between generated planets to reduce overlap. Game Systems Added a proper Game Manager and Level Manager. Added win and lose conditions. Implemented a hull (health) system. Added boundary collisions with hull damage. Added restart functionality and pause menu. UI Created the HUD to display hull information. Added Win and Game Over panels. Added buttons for restarting and returning to the main menu. Visual Polish Added planet spawn animations. Added a launch animation for the spaceship. Added a pulsing effect to the destination planet. Added an explosion effect when the ship is destroyed. Challenges There were a few bugs along the way, mostly related to script references, gravity generation, and scene setup. After tracking them down and fixing them, the project is much more stable and easier to build on. Next Steps The next goal is to improve the game’s presentation by adding camera effects, audio, particle effects, and a more polished background. After that, I’ll focus on balancing gameplay and polishing the overall experience before release. Overall, today’s session was very productive, and Cosmo Sling is steadily becoming a complete and polished game."}, {"post_id": 17455, "ts": "2026-06-28T07:31:55Z", "hours": 1.565, "text": "Devlog #3 - Fresh Start After running into a few issues with the original project setup, I decided it was better to rebuild everything from scratch instead of trying to patch things up. Along with the fresh start, I also renamed the game from Gravity Sling to Cosmo Sling—I think it fits the space theme much better. This is also my first time working on the project again after a pretty long break, so it feels great to finally get back into development. What I worked on today: 🔄 Rebuilt the project from scratch with a cleaner structure. 🚀 Renamed the game to Cosmo Sling. 📁 Organized the project folders for easier development. 🌍 Set up the Earth, spaceship, launch point, and core scene. 🎯 Implemented the click-and-drag launch mechanic. 📏 Added a launch trajectory line. 🛠️ Refactored the launch system into a dedicated Launch Manager for a cleaner architecture. 🧹 Fixed several early issues, including launch direction, spawn position, and ship interactions with Earth. The core launch mechanic is now working, which gives me a solid foundation for the next step: implementing planetary gravity and procedural level generation. Looking forward to making the first playable prototype!"}, {"post_id": 12600, "ts": "2026-06-20T16:07:40Z", "hours": 0.8, "text": "🚀 Gravity Sling — Devlog #2 Made progress on the game scene. Added: Earth and destination planet Spaceship setup Screen Boundaries Basic in-game UI The game is still static for now, but the playground for the core mechanic is finally ready. Next step: launching the ship and seeing gravity do its thing. #gamedev #unity #GravitySling #indiedev"}, {"post_id": 12505, "ts": "2026-06-20T13:01:23Z", "hours": 0.5, "text": "Gravity Sling — Devlog #1 Started work on a new Unity project: Gravity Sling. Today was mostly about building the foundation. The main menu is now up and running with: Start menu Difficulty selection Settings panel Audio controls Nothing flashy yet, but every game starts somewhere. The core idea revolves around launching a spacecraft and using the environment to reach a distant destination. I’m keeping the details secret for now because discovering the mechanics is part of the fun. Next up: bringing the actual gameplay to life and seeing if the physics feels as satisfying as it does in my head. Built with Unity.#gamedev #unity #indiedev #stardance #GravitySling"}]...
|
Title: Cosmo Sling by @Kartik_B | Stardance
Devlo Title: Cosmo Sling by @Kartik_B | Stardance
Devlogs:
Gravity Sling — Devlog #1 Started work on a new Unity project: Gravity Sling. Today was mostly about building the foundation. The main menu is now up and running with: Start menu Difficulty selection Settings panel Audio controls Nothing flashy yet, but every game starts somewhere. The core idea revolves around launching a spacecraft and using the environment to reach a distant destination. I’m keeping the details secret for now because discovering the mechanics is part of the fun. Next up: bringing the actual gameplay to life and seeing if the physics feels as satisfying as it does in my head. Built with Unity.#gamedev #unity #indiedev #stardance #GravitySling
🚀 Gravity Sling — Devlog #2 Made progress on the game scene. Added: Earth and destination planet Spaceship setup Screen Boundaries Basic in-game UI The game is still static for now, but the playground for the core mechanic is finally ready. Next step: launching the ship and seeing gravity do its thing. #gamedev #unity #GravitySling #indiedev
Devlog #3 - Fresh Start After running into a few issues with the original project setup, I decided it was better to rebuild everything from scratch instead of trying to patch things up. Along with the fresh start, I also renamed the game from Gravity Sling to Cosmo Sling—I think it fits the space theme much better. This is also my first time working on the project again after a pretty long break, so it feels great to finally get back into development. What I worked on today: 🔄 Rebuilt the project from scratch with a cleaner structure. 🚀 Renamed the game to Cosmo Sling. 📁 Organized the project folders for easier development. 🌍 Set up the Earth, spaceship, launch point, and core scene. 🎯 Implemented the click-and-drag launch mechanic. 📏 Added a launch trajectory line. 🛠️ Refactored the launch system into a dedicated Launch Manager for a cleaner architecture. 🧹 Fixed several early issues, including launch direction, spawn position, and ship interactions with Earth. The core launch mechanic is now working, which gives me a solid foundation for the next step: implementing planetary gravity and procedural level generation. Looking forward to making the first playable prototype!
Devlog #4 – Big Progress on Cosmo Sling I completely forgot to write two day’s devlog while working 😅. I spent around 3–4 hours developing the game, so here’s a recap of everything I got done. Project Update Development on Cosmo Sling has been progressing really well. The core gameplay loop is now in place and the project feels much more like a real game than just a prototype. Gameplay Finished the one-shot launch mechanic. Improved the aiming system with a visual aim line. Added gravity that pulls the spaceship toward nearby planets. Implemented procedural generation of gravity planets based on the selected difficulty. Added random planet sizes and gravity strengths. Added minimum spacing between generated planets to reduce overlap. Game Systems Added a proper Game Manager and Level Manager. Added win and lose conditions. Implemented a hull (health) system. Added boundary collisions with hull damage. Added restart functionality and pause menu. UI Created the HUD to display hull information. Added Win and Game Over panels. Added buttons for restarting and returning to the main menu. Visual Polish Added planet spawn animations. Added a launch animation for the spaceship. Added a pulsing effect to the destination planet. Added an explosion effect when the ship is destroyed. Challenges There were a few bugs along the way, mostly related to script references, gravity generation, and scene setup. After tracking them down and fixing them, the project is much more stable and easier to build on. Next Steps The next goal is to improve the game’s presentation by adding camera effects, audio, particle effects, and a more polished background. After that, I’ll focus on balancing gameplay and polishing the overall experience before release. Overall, today’s session was very productive, and Cosmo Sling is steadily becoming a complete and polished game.
Devlog #5 – UI & Visual Polish Today I focused on improving Cosmo Sling’s visuals and UI. Added a new pixel-art settings panel. Created Music and Sound toggles with blue/white visual states. Improved the menu’s space-themed design. Added an infinitely moving space background. Fixed several issues related to camera bounds, level generation, launching, and missing audio references. The game is now starting to look much more polished and consistent with its space theme.
Final Devlog – Cosmo Sling Shipped 🚀 Today I finished and shipped Cosmo Sling! I completed the final polish, including: Background music and sound effects Music and sound toggles with saved settings Pause menu and win/lose states Final UI fixes and screen scaling Game icon and branding Windows build and final testing After fixing the last build and resolution issues, I packaged the complete game and published it on itch.io. Cosmo Sling is officially finished and shipped!
Devlog – I’m Shipping Again My first ship was sent back with changes requested because I accidentally forgot to mention my AI usage in the submission. I’ve now corrected that and am resubmitting the project with the proper information. There is also a second Hackatime project because I changed the Unity project/company name from Cosmo Slingshot to Cosmo Sling near the end of development. Hackatime detected the renamed project as a new project instead of continuing to track time under the original one. So the two Hackatime projects are both for the same game: Cosmo Slingshot — most of the development time Cosmo Sling — final changes after the rename This is not a second game or a duplicate project—just the same project being tracked under two names.
After ship devlog - #1 Started working on the feedback from the first players today. I fixed the difficulty system so each mode now spawns the correct number of planets, fixed the pause menu not appearing properly the first time, and stopped the win/lose sounds from repeating. I also fixed the music and sound toggles so they stay independent and sync correctly, and optimized the gravity system by caching the planets once per level instead of searching for them every physics frame. Still a lot more feedback to work through, but the game is already becoming much more stable and polished. I will ship the game again after fixes and some more firey upgrades.
After ship devlog - #2 I’ve just fixed 40% of the issues ya’ll pointed in the first ship and tried my best to work on your feedbacks.
After ship devlog - #3 Just fixed the win/lose panels. I’ll add WebGL very soon.
After first ship devlog - #4 I have successfully fixed all of the issues pointed out in the feedback. Here’s what i did: Implemented the core gravity slingshot mechanic. Added procedural planet generation and difficulty levels. Improved ship launch controls and aiming. Made the trajectory prediction smoother and more accurate. Fixed multiple gameplay bugs (launch, collisions, UI, camera). Added pause menu, settings, win and lose screens. Improved audio system with sound effects and music controls. Balanced gravity strength and gameplay difficulty. Refined ship movement and collision handling. Fixed camera positioning and gameplay visibility issues. Optimized the game for WebGL and browser compatibility. Resolved UI scaling and resolution problems based on testing feedback. Added overall polish and prepared the game for release. Special thanks to @PAPER_01 for following this journey and encouraging me.
Upgrading devlog - #1 I just woke up and decided to upgrade the game and add an endless mode also. I will work on more upgrades like - mutiple ships, game control etc. This is what has been completed till now: Endless bg. Ship movement by WASD. Asteroids.
Upgrading Devlog -#2 I added nebula that will come and try to block your vision. Also, i added blackhole but its not fully developed yet. You can see this perfectly timed image of the game that will show all of the upgrades
Upgrade Devlog - #3 Just completed the game, upgraded the ui, selection of ships and a new gamemode. i will not add anything to this game anymore. This game is complete for me. This is the End!
I added the android build also. trust me its better that the image below
Ships:
I made Cosmo Sling, a 2D physics-based space game where you get one launch to reach the destination planet. Randomly generated planets use gravity to curve your ship’s path, with four difficulty modes ranging from 1–6 planets. The most challenging parts were building the gravity system, random level generation, keeping the game working across different screen sizes, and fixing scene/UI issues. I’m most proud of getting the complete game polished and shipped with sound, settings, pause/restart controls, and a Windows build. To test it, download the game, unzip it, and run Cosmo Sling.exe. Click and drag to aim, release to launch, press P to pause, and R to restart anytime.
Cosmo Sling is a 2D physics-based space puzzle game where players launch a spaceship from Earth and use the gravitational pull of randomly generated planets to reach the destination. Throughout development, the project has evolved from a simple gravity prototype into a polished game with procedural level generation, multiple difficulty modes, accurate trajectory prediction, dynamic gravity physics, sound effects, UI menus (main menu, settings, pause, win/lose screens), camera improvements, and WebGL support. Continuous feedback and playtesting have led to numerous gameplay balancing, bug fixes, UI refinements, performance improvements, and overall polish, bringing the game close to its final release version.
Cosmo Sling is a 2D space arcade game where players pilot a spacecraft through hazardous space, dodging asteroids, black holes, and other cosmic dangers. This submission includes both Campaign and Endless modes, multiple selectable ships, polished UI, dynamic backgrounds, and improved gameplay and visual effects.
This ships is all about the android build of the game. I have also fixed some bugs. i did a lot of playtesting in android....
|
1793134140.651121
|
1793220540.651121
|
|
26452
|
Orbital by @Mehmet | Stardance
|
Mehmet
|
2
|
32.0
|
390
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T19:39:02Z", "hours": 17.0, "multiplier": 12.19, "payout": 201, "blessing": "neutral", "text": "I built Orbital, the all-in-one project that encompasses whatever you need from a 2D astronomical simulator. When first loading it up, a window titled “Orbital” pops up, and you will see a star right at the center. You can change the window dimensions however you would like, whether fullscreen or resized small. This is where the fun starts: I spent tireless hours implementing a slingshot mechanism where you can intuitively and easily launch “orbitals,” as I like to call them. You can think of these as small planets that you can send to orbit around each other and around bigger stars, masses, and objects that you create yourself. The starting star is just to get you going. Controls and Features: • Navigation: Use the WASD keys and/or arrow keys to navigate around this 2D world and find different orbits across the gigantic canvas. It does not have an end (unless you spend 10 hours of unemployment trying to find it, but I am sure you are not that stubborn). • Mass Adjustment: Use the plus (+) and minus (-) keys to change the mass of the objects you throw into the simulation. • Physics: It runs on full n-body physics; nothing is hard-coded and everything is dynamic. No matter how quirky and interesting your orbits are, they will be solely and originally yours. • Visuals: The colors change up every once in a while. I really tried to make it as minimalist and physics-identifying as possible. • Reset: Press the R key on your keyboard to reset the world and start from a fresh universe, marked by the reset star that kickstarts everything again. I am really proud of the n-body physics because it was surprisingly manageable and cool to work on. Where I really struggled was on advanced merging. Normally, if objects are touching, you can simply merge them. But when objects move super fast, one frame they are far away, and by the next frame, high velocity math teleports them right past or into the other object. If you slingshot a planet relatively fast, it could easily glitch and teleport through objects. To fix this, I had to calculate whether the path the object took from frame 0 to frame 1 intersected any other objects along its trajectory. That was an especially hard, albeit depressing challenge, but nevertheless, it was encountered and defeated so you could enjoy astronomical bliss. Thank you!", "repo": "https://github.com/SameRainbows/Starshell", "demo": "https://github.com/SameRainbows/Orbital/releases/tag/v1.0.0"}, {"ship_num": 2, "ts": "2026-07-05T15:30:25Z", "hours": 15.0, "multiplier": 12.8, "payout": 189, "blessing": "neutral", "text": "Initial Ship Update (v1.0.0) What did I make? I built Orbital , a 2D gravitational physics sandbox created entirely in Python using only standard library modules ( turtle and tkinter ). Orbits are not hardcoded; they emerge dynamically from Newton’s Law of Universal Gravitation calculated between every single body frame-by-frame. You can interactively slingshot planets into orbit, pan a camera infinitely around the universe using WASD or Arrow keys, adjust the laws of physics on the fly using a Tkinter-based HUD, and watch planets collide and merge under the conservation of momentum. What was challenging? The Coordinates Separation: Early on, a planet’s physics position was its drawing position. To build a panning camera, I had to decouple them—creating a 9-element list structure to track world coordinates privately while subtracting camera offsets only for rendering. The “Tunneling” Bug: Fast slingshotted planets would frequently phase straight through the central star between frames. I solved this by implementing Continuous Collision Detection (CCD)—using vector dot-product projection to check if the line segment traveled during a frame intersected the star. Singularity Prevention: As merging planets got infinitesimally close, the gravity force equation approached divide-by-zero, creating infinite force that would sling bodies off screen at lightspeed. I had to write custom logic to disable gravity between two bodies the exact frame they overlap. A Responsive HUD: Nesting Tkinter widgets on a Turtle ScrolledCanvas caused nesting errors. I resolved this by passing the raw screen._root as the parent, and binding the canvas <Configure> event to dynamically slide the widgets so they stay pinned to the top-right corner when resizing. What am I proud of? Conserving Density: When two bodies merge, the new object’s size is calculated using sqrt(r1² + r2²) rather than just adding the radii. This ensures area is conserved, keeping physical density mathematically consistent. Conservation of Momentum: If you launch two equal-mass planets head-on at the same speed, they will perfectly cancel out and stop dead in space upon impact, exactly as real-world physics dictates. What should people know so they can test my project? Slingshot: Click, drag, and release to fling planets into the cosmos. HUD Controls: Adjust the Gravity slider to warp orbits in real-time, and slide the Mass slider to change the size and weight of the next planet you launch. Color Picker: Click the color button to cycle the launching color (the button text dynamically updates to show what is selected). Navigation: Use WASD or Arrow keys to pan the camera around. Rebuilding: Press the Reset button to wipe the board and start a clean universe. No Python installed? Zero-dependency, standalone executables for Windows , macOS , and Linux are automatically built and attached directly to the GitHub Release!", "repo": "https://github.com/SameRainbows/Starshell", "demo": "https://github.com/SameRainbows/Orbital/releases/tag/v1.0.0"}]...
|
[{"post_id": 63802, "ts": "202 [{"post_id": 63802, "ts": "2026-09-07T19:26:27Z", "hours": 1.2872, "text": "I updated the project. I was notified that it initially crashed on macOS, and the arrow keys were a bit janky on macOS as well. All of that has been completely fixed, and I’ve updated the readme and the latest code on GitHub to encompass those changes."}, {"post_id": 38456, "ts": "2026-07-31T20:42:59Z", "hours": 0.3458, "text": "A few cleanups on the size of the grid."}, {"post_id": 37557, "ts": "2026-07-30T11:27:46Z", "hours": 0.4203, "text": "Today I changed the title card of the window that pops up. A few other updates: • I tweaked the final game feel a bit. • I made the initial spawning star spawn in a sort of light yellow color, and I also added that light yellow color to the colors list. • I made sure that the window of the simulation is also in dark mode, so you get more encapsulated in it."}, {"post_id": 37243, "ts": "2026-07-29T20:01:14Z", "hours": 0.3844, "text": "Added a background grid so that you get a sense of spatial bigness and tininess. You get a feel for how big and small your orbitals really are."}, {"post_id": 36907, "ts": "2026-07-29T09:37:56Z", "hours": 0.5981, "text": "I finally got the complex merging done. Before, when an orbital was going too fast, one frame it was at the back of another orbital, and the next frame, it was in front of it. Since its velocity was so high, the radii didn’t ever collide, so it just went through other ones without merging. That was really not acceptable, so I worked a lot on making sure it works. How I did it is actually very interesting: Get the starting position of the moving object and its ending position on the next frame. Get the coordinates of the target object you want to check for a potential merge. Draw a line from where the moving object started to where it ended, and check if the target object is intersecting that line (calculating what percentage along that line the checked object sits). If it intersects, you merge them."}, {"post_id": 34557, "ts": "2026-07-25T11:31:10Z", "hours": 1.9503, "text": "Added some instructions to make it easier, added more colors, and I’m now working on making more rigorous merge logic."}, {"post_id": 31787, "ts": "2026-07-20T13:42:17Z", "hours": 0.7153, "text": "Today I added zooming that works with scrolling up and scrolling down appropriately: when you scroll down, everything gets smaller, and when you scroll up, everything gets bigger. Mass and gravity, of course, stay the same. I made sure that the sling function (basically spawning new orbitals) works flawlessly. Our aim function—which draws that mini press-and-drag indicator to make it easier to see where you are spawning orbitals—is also working with both camera differentiation and zoom differentiation. This way, you can zoom all the way out and still spawn orbitals in the correct way, or zoom all the way in and spawn them super close up. All the physics and rendering works beautifully."}, {"post_id": 31286, "ts": "2026-07-19T15:52:23Z", "hours": 0.4508, "text": "I made some more intuitive user changes: Slingshot Dampening: Now, the slingshot isn’t like an Angry Bird slingshot that propels your particles to the other side of the universe (though you could do that if you want, just open the code). All the slingshot coordinates and values are now multiplied by 0.2. We’re nerfing it a lot, but it seems more intuitive that way. Since you don’t know it’s nerfed, you won’t notice there is a higher capacity. In our case, a higher capacity actually means friction. Don’t get me wrong: it’s not particle friction, because they go super fast. It’s friction when trying to get orbits to work. Repository Tweaks: Calling the script from_scratch.py was killing me, so I found something simpler: orbital.py. It’s much better. I updated the GitHub repository so that the current release is orbital.py (the refactored version). While main.py (the previous version) has a few more features right now, orbital.py is much cleaner. Main.py was more of a learning run, and I feel like I’m bringing my A-game with this new refactor. Look and Feel: I really liked the black background and white orbitals of the previous main.py version, so I changed the clinical-seeming style of from_scratch.py. I scrapped that look and made sure the new orbital.py has some taste."}, {"post_id": 30665, "ts": "2026-07-18T12:54:27Z", "hours": 0.4531, "text": "I fixed the “merging from hell”. The first issue was the radius calculation. When two circles merge, simply adding their radii ( r1 + r2 ) is physically wrong because the combined area grows way too fast. In reality, the area of the circles should add up: A_new = A1 + A2 . By plugging in the area formula π × r² , we get π × r_new² = (π × r1²) + (π × r2²) . The π cancels out completely, leaving r_new = math.sqrt(r1² + r2²) . I updated the collision code with this, and now the combined masses have physically accurate sizes.To make this look right, I also fixed the visual scaling issue. Previously, every particle rendered at shapesize(1, 1) regardless of its actual mass or radius. I changed the instantiator so that a body’s shapesize dynamically scales with its physics radius: self.turt.shapesize(self.radius / 10, self.radius / 10) . Now when objects collide, you can actually see the merged planet grow on the screen.Lastly, I added a quick reset button . Pressing the R key runs a function that loops through the current objects, hides all their turtles to prevent visual ghosts, clears the main objects list, resets the camera back to center coordinates, and spawns a fresh central star"}, {"post_id": 30329, "ts": "2026-07-17T20:01:25Z", "hours": 0.7283, "text": "Hey, I added merging, but it’s “merging out of hell” because I made a very unphysically true and crude (if you’d call it that), but working prototype of merge_collisions and the merge function itself. It works as I intended, but not physically truly. Right now, it adds the radii of the circles themselves. If you think about it, that’s physically wrong because there’s a big difference between adding the areas of the circles versus their radii. That’s something I want to get right, so the next time I’m working on it, I’ll make sure to fix it so that we are adding the areas of the circles rather than their radii. I also found a bit of a problem where the merged objects themselves have a shape size of (1, 1). That’s not right because if you merge two objects with shape size 1, you’d expect the new shape size to be 2. Right now, no matter how many objects you merge, it still stays at 1, resulting in a very, very dense circle. I’m going to change that so we add the areas themselves, and have that new, bigger area update the visual representation of those astronomical objects. I’ll keep you guys updated. See you next time."}, {"post_id": 29651, "ts": "2026-07-16T18:34:38Z", "hours": 2.6961, "text": "Lots of stuff today: Camera movement: I added camera movement to our new refractor. Better version of the sling: The older one just expected you to press, drag, and release without seeing much of an indicator. While that works if you know the program a bit, I think a direct, laser-esque pointer that shows you actively as you’re pressing, dragging, and releasing is more intuitive and easier to work with. So I added that. Now we have intuitive camera movement and intuitive spawning. For this refactor, we won’t have any UI. All the sliders for gravity and mass will be per keyboard or hotkey."}, {"post_id": 27197, "ts": "2026-07-12T15:21:09Z", "hours": 0.7889, "text": "Welcome! Today, I fully migrated to the object-oriented programming architecture. Earlier, the class wasn’t really full OOP; it was just a hidden list factory that appended the stuff via a class instead of doing it manually. I wanted to change that because this is going to be a refactor in an OOP perspective , and that’s what I did.I made sure that all the formulas used the latest changes:1. Earlier, they would use the index of the objects inside the objs list of lists. It would be something like object1 and the index of whichever element it wants to access, like mass , radius , velocity , or coordinates. It was very sloppy, and you had to keep up with what each index meant.2. With an OOP version, you just write object1.mass , object1.x , or object1.vx . Each and every line is more intuitive.I also worked more on the planet spawning . Remember, this is a new file with a different perspective of trying to remake this in an OOP sense, using classes and the benefits that ensue from them.Additionally, today I implemented the balancing of the canvas differences in Tkinter and Turtle :- In Turtle, the (0, 0) coordinate is directly in the middle of the screen .- In Tkinter, it’s at the absolute top left of the screen.You have to make sure that all the formulas and all the logic get the correct version, which in my project is the Turtle version . I added and worked out the logic that would make sure that balance is kept."}, {"post_id": 26600, "ts": "2026-07-11T14:59:24Z", "hours": 0.7944, "text": "Actively working on making Orbital (via the from_scratch.py file) more object-oriented. I think OOP (object-oriented programming) will be a great addition to Orbital because we have lots of stuff that can be simplified. These could be new particles, like new planets, and I think grouping everything into classes would be a better way to handle these. Right now, our sling function just does the same thing again and again. A class that could be called any time we want to make a new particle is probably the way to go. I’ll keep you guys updated."}, {"post_id": 25989, "ts": "2026-07-10T15:20:31Z", "hours": 0.7464, "text": "Today I spent all my time on from_scratch.py to really get to understand the physics of it all. Before, I just relied on a few formulas.That’s why I’m going to try and maximize my gains from this project by re-understanding all the logic and trying to write it from scratch, using only my notes and not looking at any AI or code from main.py .It’s going good! I added quite a few functions:- A distance function- A force function- An angle function (all of these take two objects, by the way — I still have the same objs list, which is a list of lists)- A velocity update function called velo_update that takes an object , a force , angle , and mass , and updates the velocities of those objects depending on their forces, angles, and massMaybe I can cut back on mass . I don’t know why I added it, since we can already get it from the objs list with our object parameter. I’ll look into that.I also created the scaffold for an update function, which is going to be the main function . I added screen.ontimer(update, 10) to run it every 10 milliseconds. It’s just the main scaffold for now, but I’m really focusing on the logic of it all."}, {"post_id": 25611, "ts": "2026-07-10T00:02:56Z", "hours": 3.3097, "text": "Hey, this is another mini devlog. I just wanted to say that while waiting for my initial ship to get reviewed, I was working on reviewing my current code and remembering how every part interacted. I’m doing this by making a from-scratch.py file where I just try to build the general project from the ground up with my direct understanding and recall of it, without looking at every line of code. This is like a mini side quest in the background so that as the file gets big, I don’t lose where I’m going. Right now, it just has the basic functions like distance and force, and has two Python turtles set to circles with different colors. I’m going to build this from the ground up and really focus on the struggle and pain through the process. I want to maximize my gains from this project this way."}, {"post_id": 23423, "ts": "2026-07-06T11:33:26Z", "hours": 0.8419, "text": "The UI was a very wretched default gray, and to be honest, it didn’t look so visually appealing. Mine still isn’t all peaches and cream, but it’s less of a distraction and more of a subtlety in the grand scheme of things. I changed this to a better, harmonizing dark charcoal color that I think goes pretty well with the minimalist design of all-white Orbitals and a pure black background."}, {"post_id": 22825, "ts": "2026-07-05T12:58:40Z", "hours": 0.5425, "text": "Hey, remember the UI I had in earlier? Well, when you change the window size, it just stays hard-coded. If you maximize your window, there’s suddenly a piece of UI that was supposed to help you navigate the simulator that’s in your way. So, I did some math so that the UI is at the perfect top right of any shape and size of the windows you make. It’s a dynamic UI layout, and it’s dynamic enough to survive window resizing. Pretty cool."}, {"post_id": 22811, "ts": "2026-07-05T12:15:42Z", "hours": 1.3161, "text": "Today I added some UI, so we have some actually good interactive elements. We can use sliders to, in real time, update our gravity. And I also added a reset button that basically lets you clean up all the messes and start from a fresh place."}, {"post_id": 22124, "ts": "2026-07-04T12:42:36Z", "hours": 2.3839, "text": "This is not a full devlog. Because I’m typing this on my phone. Came to say that I’m working on adding a minimalistic UI to the project, like small buttons and maybe sliders for mass and color control. Using tkinter, the underlying library in which turtle was built. I don’t have any screenshots with me, so enjoy this photo from my gallery, shot at the beach at night."}, {"post_id": 21435, "ts": "2026-07-03T11:55:53Z", "hours": 3.6731, "text": "Today I added merging. Now, objects that get too close to each other don’t do weird physics-breaking stuff. They intuitively merge into an object with a total mass, total area, and a new velocity depending on the previous velocities. This way, you can actually build complex systems that fall apart in at least an ordered way. There was a slight problem if the objects were going too fast: because of their speed, one frame they would be behind each other and the next frame they would be ahead of each other. I had to do some math to see if the path they took went through the object we were checking. That was a very fun, intuitive piece to work on, and merging now works very intuitively and very well."}, {"post_id": 19114, "ts": "2026-06-30T11:02:05Z", "hours": 1.3767, "text": "Added camera movement with WASD. Now, the objects that run out of your view aren’t lost forever: you can catch up to them with only your keyboard and a few fingers."}, {"post_id": 18601, "ts": "2026-06-29T19:53:31Z", "hours": 2.1206, "text": "I finally added slingshotting! Basically, the planets aren’t hidden in the code itself anymore; they are right at your fingertips. You can spawn planets just by clicking and dragging. It’s that simple. This was a feature I wanted for a very long time, and I’m really satisfied with how it turned out."}, {"post_id": 16991, "ts": "2026-06-27T15:56:02Z", "hours": 0.7453, "text": "Devlog #2 — N-Body Physics Today I implemented dynamic physics and dynamic moving. Basically, before, the move function—the function on a one-millisecond timer that updated everything—was extremely hard-coded. It just used the data of the existing two turtles (the two bodies I made myself), and it definitely wasn’t scalable. So that was what I tackled today. Now, the main function that runs our whole physics simulation is a tad bit less torturous."}, {"post_id": 16363, "ts": "2026-06-26T16:57:58Z", "hours": 2.59, "text": "I’m building Starshell, a 2D astronomical physics simulator in pure Python turtle. No game engine, no physics library—just the standard library, a turtle canvas, and physics and math. The idea in my head is quite simple: I want to simulate how gravity actually works. Bodies with mass attract each other, their paths bend, and orbits merge. Eventually, I want collisions, multi-body chaos, and a UI where you click to place stars and planets. Today’s milestone was the first orbit. To get here, I didn’t just plug in some formulas; I had to build the physics chains from a blank turtle canvas: Distance between two bodies Gravitational force: F = G × (m1 × m2) / r² Direction of that force: atan2(y, x) Force components: splitting into x and y with cos and sin Acceleration: a = F / m Velocity update: adding acceleration each frame Position update: moving the turtle by velocity each frame The orbit isn’t actually hard to code. The planet doesn’t know it’s supposed to go in a circle; I don’t tell it to trace a circle. It just responds to the pull of the star every single frame. The circle is what falls out of the math when the initial velocity is balanced just right. One of the trickiest moments was realizing my gravitational constant (G = 1) made the force so small—around 0.0004—that compared to my velocity of two units per frame, the planet just flew away in a straight line. I couldn’t see any curve at all, let alone an orbit. Cranking the gravity up to something like 1,000 to 1,600 (found by experimentation) made the orbits visible. That moment when the blue dot actually curved and came back around in a full orbit felt very satisfying. Next up, I want multiple bodies that interact with each other, not just a fixed point (aka a star). Follow Along!"}]...
|
Title: Orbital by @Mehmet | Stardance
Devlogs:
I’ Title: Orbital by @Mehmet | Stardance
Devlogs:
I’m building Starshell, a 2D astronomical physics simulator in pure Python turtle. No game engine, no physics library—just the standard library, a turtle canvas, and physics and math. The idea in my head is quite simple: I want to simulate how gravity actually works. Bodies with mass attract each other, their paths bend, and orbits merge. Eventually, I want collisions, multi-body chaos, and a UI where you click to place stars and planets. Today’s milestone was the first orbit. To get here, I didn’t just plug in some formulas; I had to build the physics chains from a blank turtle canvas: Distance between two bodies Gravitational force: F = G × (m1 × m2) / r² Direction of that force: atan2(y, x) Force components: splitting into x and y with cos and sin Acceleration: a = F / m Velocity update: adding acceleration each frame Position update: moving the turtle by velocity each frame The orbit isn’t actually hard to code. The planet doesn’t know it’s supposed to go in a circle; I don’t tell it to trace a circle. It just responds to the pull of the star every single frame. The circle is what falls out of the math when the initial velocity is balanced just right. One of the trickiest moments was realizing my gravitational constant (G = 1) made the force so small—around 0.0004—that compared to my velocity of two units per frame, the planet just flew away in a straight line. I couldn’t see any curve at all, let alone an orbit. Cranking the gravity up to something like 1,000 to 1,600 (found by experimentation) made the orbits visible. That moment when the blue dot actually curved and came back around in a full orbit felt very satisfying. Next up, I want multiple bodies that interact with each other, not just a fixed point (aka a star). Follow Along!
Devlog #2 — N-Body Physics Today I implemented dynamic physics and dynamic moving. Basically, before, the move function—the function on a one-millisecond timer that updated everything—was extremely hard-coded. It just used the data of the existing two turtles (the two bodies I made myself), and it definitely wasn’t scalable. So that was what I tackled today. Now, the main function that runs our whole physics simulation is a tad bit less torturous.
I finally added slingshotting! Basically, the planets aren’t hidden in the code itself anymore; they are right at your fingertips. You can spawn planets just by clicking and dragging. It’s that simple. This was a feature I wanted for a very long time, and I’m really satisfied with how it turned out.
Added camera movement with WASD. Now, the objects that run out of your view aren’t lost forever: you can catch up to them with only your keyboard and a few fingers.
Today I added merging. Now, objects that get too close to each other don’t do weird physics-breaking stuff. They intuitively merge into an object with a total mass, total area, and a new velocity depending on the previous velocities. This way, you can actually build complex systems that fall apart in at least an ordered way. There was a slight problem if the objects were going too fast: because of their speed, one frame they would be behind each other and the next frame they would be ahead of each other. I had to do some math to see if the path they took went through the object we were checking. That was a very fun, intuitive piece to work on, and merging now works very intuitively and very well.
This is not a full devlog. Because I’m typing this on my phone. Came to say that I’m working on adding a minimalistic UI to the project, like small buttons and maybe sliders for mass and color control. Using tkinter, the underlying library in which turtle was built. I don’t have any screenshots with me, so enjoy this photo from my gallery, shot at the beach at night.
Today I added some UI, so we have some actually good interactive elements. We can use sliders to, in real time, update our gravity. And I also added a reset button that basically lets you clean up all the messes and start from a fresh place.
Hey, remember the UI I had in earlier? Well, when you change the window size, it just stays hard-coded. If you maximize your window, there’s suddenly a piece of UI that was supposed to help you navigate the simulator that’s in your way. So, I did some math so that the UI is at the perfect top right of any shape and size of the windows you make. It’s a dynamic UI layout, and it’s dynamic enough to survive window resizing. Pretty cool.
The UI was a very wretched default gray, and to be honest, it didn’t look so visually appealing. Mine still isn’t all peaches and cream, but it’s less of a distraction and more of a subtlety in the grand scheme of things. I changed this to a better, harmonizing dark charcoal color that I think goes pretty well with the minimalist design of all-white Orbitals and a pure black background.
Hey, this is another mini devlog. I just wanted to say that while waiting for my initial ship to get reviewed, I was working on reviewing my current code and remembering how every part interacted. I’m doing this by making a from-scratch.py file where I just try to build the general project from the ground up with my direct understanding and recall of it, without looking at every line of code. This is like a mini side quest in the background so that as the file gets big, I don’t lose where I’m going. Right now, it just has the basic functions like distance and force, and has two Python turtles set to circles with different colors. I’m going to build this from the ground up and really focus on the struggle and pain through the process. I want to maximize my gains from this project this way.
Today I spent all my time on from_scratch.py to really get to understand the physics of it all. Before, I just relied on a few formulas.That’s why I’m going to try and maximize my gains from this project by re-understanding all the logic and trying to write it from scratch, using only my notes and not looking at any AI or code from main.py .It’s going good! I added quite a few functions:- A distance function- A force function- An angle function (all of these take two objects, by the way — I still have the same objs list, which is a list of lists)- A velocity update function called velo_update that takes an object , a force , angle , and mass , and updates the velocities of those objects depending on their forces, angles, and massMaybe I can cut back on mass . I don’t know why I added it, since we can already get it from the objs list with our object parameter. I’ll look into that.I also created the scaffold for an update function, which is going to be the main function . I added screen.ontimer(update, 10) to run it every 10 milliseconds. It’s just the main scaffold for now, but I’m really focusing on the logic of it all.
Actively working on making Orbital (via the from_scratch.py file) more object-oriented. I think OOP (object-oriented programming) will be a great addition to Orbital because we have lots of stuff that can be simplified. These could be new particles, like new planets, and I think grouping everything into classes would be a better way to handle these. Right now, our sling function just does the same thing again and again. A class that could be called any time we want to make a new particle is probably the way to go. I’ll keep you guys updated.
Welcome! Today, I fully migrated to the object-oriented programming architecture. Earlier, the class wasn’t really full OOP; it was just a hidden list factory that appended the stuff via a class instead of doing it manually. I wanted to change that because this is going to be a refactor in an OOP perspective , and that’s what I did.I made sure that all the formulas used the latest changes:1. Earlier, they would use the index of the objects inside the objs list of lists. It would be something like object1 and the index of whichever element it wants to access, like mass , radius , velocity , or coordinates. It was very sloppy, and you had to keep up with what each index meant.2. With an OOP version, you just write object1.mass , object1.x , or object1.vx . Each and every line is more intuitive.I also worked more on the planet spawning . Remember, this is a new file with a different perspective of trying to remake this in an OOP sense, using classes and the benefits that ensue from them.Additionally, today I implemented the balancing of the canvas differences in Tkinter and Turtle :- In Turtle, the (0, 0) coordinate is directly in the middle of the screen .- In Tkinter, it’s at the absolute top left of the screen.You have to make sure that all the formulas and all the logic get the correct version, which in my project is the Turtle version . I added and worked out the logic that would make sure that balance is kept.
Lots of stuff today: Camera movement: I added camera movement to our new refractor. Better version of the sling: The older one just expected you to press, drag, and release without seeing much of an indicator. While that works if you know the program a bit, I think a direct, laser-esque pointer that shows you actively as you’re pressing, dragging, and releasing is more intuitive and easier to work with. So I added that. Now we have intuitive camera movement and intuitive spawning. For this refactor, we won’t have any UI. All the sliders for gravity and mass will be per keyboard or hotkey.
Hey, I added merging, but it’s “merging out of hell” because I made a very unphysically true and crude (if you’d call it that), but working prototype of merge_collisions and the merge function itself. It works as I intended, but not physically truly. Right now, it adds the radii of the circles themselves. If you think about it, that’s physically wrong because there’s a big difference between adding the areas of the circles versus their radii. That’s something I want to get right, so the next time I’m working on it, I’ll make sure to fix it so that we are adding the areas of the circles rather than their radii. I also found a bit of a problem where the merged objects themselves have a shape size of (1, 1). That’s not right because if you merge two objects with shape size 1, you’d expect the new shape size to be 2. Right now, no matter how many objects you merge, it still stays at 1, resulting in a very, very dense circle. I’m going to change that so we add the areas themselves, and have that new, bigger area update the visual representation of those astronomical objects. I’ll keep you guys updated. See you next time.
I fixed the “merging from hell”. The first issue was the radius calculation. When two circles merge, simply adding their radii ( r1 + r2 ) is physically wrong because the combined area grows way too fast. In reality, the area of the circles should add up: A_new = A1 + A2 . By plugging in the area formula π × r² , we get π × r_new² = (π × r1²) + (π × r2²) . The π cancels out completely, leaving r_new = math.sqrt(r1² + r2²) . I updated the collision code with this, and now the combined masses have physically accurate sizes.To make this look right, I also fixed the visual scaling issue. Previously, every particle rendered at shapesize(1, 1) regardless of its actual mass or radius. I changed the instantiator so that a body’s shapesize dynamically scales with its physics radius: self.turt.shapesize(self.radius / 10, self.radius / 10) . Now when objects collide, you can actually see the merged planet grow on the screen.Lastly, I added a quick reset button . Pressing the R key runs a function that loops through the current objects, hides all their turtles to prevent visual ghosts, clears the main objects list, resets the camera back to center coordinates, and spawns a fresh central star
I made some more intuitive user changes: Slingshot Dampening: Now, the slingshot isn’t like an Angry Bird slingshot that propels your particles to the other side of the universe (though you could do that if you want, just open the code). All the slingshot coordinates and values are now multiplied by 0.2. We’re nerfing it a lot, but it seems more intuitive that way. Since you don’t know it’s nerfed, you won’t notice there is a higher capacity. In our case, a higher capacity actually means friction. Don’t get me wrong: it’s not particle friction, because they go super fast. It’s friction when trying to get orbits to work. Repository Tweaks: Calling the script from_scratch.py was killing me, so I found something simpler: orbital.py. It’s much better. I updated the GitHub repository so that the current release is orbital.py (the refactored version). While main.py (the previous version) has a few more features right now, orbital.py is much cleaner. Main.py was more of a learning run, and I feel like I’m bringing my A-game with this new refactor. Look and Feel: I really liked the black background and white orbitals of the previous main.py version, so I changed the clinical-seeming style of from_scratch.py. I scrapped that look and made sure the new orbital.py has some taste.
Today I added zooming that works with scrolling up and scrolling down appropriately: when you scroll down, everything gets smaller, and when you scroll up, everything gets bigger. Mass and gravity, of course, stay the same. I made sure that the sling function (basically spawning new orbitals) works flawlessly. Our aim function—which draws that mini press-and-drag indicator to make it easier to see where you are spawning orbitals—is also working with both camera differentiation and zoom differentiation. This way, you can zoom all the way out and still spawn orbitals in the correct way, or zoom all the way in and spawn them super close up. All the physics and rendering works beautifully.
Added some instructions to make it easier, added more colors, and I’m now working on making more rigorous merge logic.
I finally got the complex merging done. Before, when an orbital was going too fast, one frame it was at the back of another orbital, and the next frame, it was in front of it. Since its velocity was so high, the radii didn’t ever collide, so it just went through other ones without merging. That was really not acceptable, so I worked a lot on making sure it works. How I did it is actually very interesting: Get the starting position of the moving object and its ending position on the next frame. Get the coordinates of the target object you want to check for a potential merge. Draw a line from where the moving object started to where it ended, and check if the target object is intersecting that line (calculating what percentage along that line the checked object sits). If it intersects, you merge them.
Added a background grid so that you get a sense of spatial bigness and tininess. You get a feel for how big and small your orbitals really are.
Today I changed the title card of the window that pops up. A few other updates: • I tweaked the final game feel a bit. • I made the initial spawning star spawn in a sort of light yellow color, and I also added that light yellow color to the colors list. • I made sure that the window of the simulation is also in dark mode, so you get more encapsulated in it.
A few cleanups on the size of the grid.
I updated the project. I was notified that it initially crashed on macOS, and the arrow keys were a bit janky on macOS as well. All of that has been completely fixed, and I’ve updated the readme and the latest code on GitHub to encompass those changes.
Ships:
Initial Ship Update (v1.0.0) What did I make? I built Orbital , a 2D gravitational physics sandbox created entirely in Python using only standard library modules ( turtle and tkinter ). Orbits are not hardcoded; they emerge dynamically from Newton’s Law of Universal Gravitation calculated between every single body frame-by-frame. You can interactively slingshot planets into orbit, pan a camera infinitely around the universe using WASD or Arrow keys, adjust the laws of physics on the fly using a Tkinter-based HUD, and watch planets collide and merge under the conservation of momentum. What was challenging? The Coordinates Separation: Early on, a planet’s physics position was its drawing position. To build a panning camera, I had to decouple them—creating a 9-element list structure to track world coordinates privately while subtracting camera offsets only for rendering. The “Tunneling” Bug: Fast slingshotted planets would frequently phase straight through the central star between frames. I solved this by implementing Continuous Collision Detection (CCD)—using vector dot-product projection to check if the line segment traveled during a frame intersected the star. Singularity Prevention: As merging planets got infinitesimally close, the gravity force equation approached divide-by-zero, creating infinite force that would sling bodies off screen at lightspeed. I had to write custom logic to disable gravity between two bodies the exact frame they overlap. A Responsive HUD: Nesting Tkinter widgets on a Turtle ScrolledCanvas caused nesting errors. I resolved this by passing the raw screen._root as the parent, and binding the canvas <Configure> event to dynamically slide the widgets so they stay pinned to the top-right corner when resizing. What am I proud of? Conserving Density: When two bodies merge, the new object’s size is calculated using sqrt(r1² + r2²) rather than just adding the radii. This ensures area is conserved, keeping physical density mathematically consistent. Conservation of Momentum: If you launch two equal-mass planets head-on at the same speed, they will perfectly cancel out and stop dead in space upon impact, exactly as real-world physics dictates. What should people know so they can test my project? Slingshot: Click, drag, and release to fling planets into the cosmos. HUD Controls: Adjust the Gravity slider to warp orbits in real-time, and slide the Mass slider to change the size and weight of the next planet you launch. Color Picker: Click the color button to cycle the launching color (the button text dynamically updates to show what is selected). Navigation: Use WASD or Arrow keys to pan the camera around. Rebuilding: Press the Reset button to wipe the board and start a clean universe. No Python installed? Zero-dependency, standalone executables for Windows , macOS , and Linux are automatically built and attached directly to the GitHub Release!
I built Orbital, the all-in-one project that encompasses whatever you need from a 2D astronomical simulator. When first loading it up, a window titled “Orbital” pops up, and you will see a star right at the center. You can change the window dimensions however you would like, whether fullscreen or resized small. This is where the fun starts: I spent tireless hours implementing a slingshot mechanism where you can intuitively and easily launch “orbitals,” as I like to call them. You can think of these as small planets that you can send to orbit around each other and around bigger stars, masses, and objects that you create yourself. The starting star is just to get you going. Controls and Features: • Navigation: Use the WASD keys and/or arrow keys to navigate around this 2D world and find different orbits across the gigantic canvas. It does not have an end (unless you spend 10 hours of unemployment trying to find it, but I am sure you are not that stubborn). • Mass Adjustment: Use the plus (+) and minus (-) keys to change the mass of the objects you throw into the simulation. • Physics: It runs on full n-body physics; nothing is hard-coded and everything is dynamic. No matter how quirky and interesting your orbits are, they will be solely and originally yours. • Visuals: The colors change up every once in a while. I really tried to make it as minimalist and physics-identifying as possible. • Reset: Press the R key on your keyboard to reset the world and start from a fresh universe, marked by the reset star that kickstarts everything again. I am really proud of the n-body physics because it was surprisingly manageable and cool to work on. Where I really struggled was on advanced merging. Normally, if objects are touching, you can simply merge them. But when objects move super fast, one frame they are far away, and by the next frame, high velocity math teleports them right past or into the other object. If you slingshot a planet relatively fast, it could easily glitch and teleport through objects. To fix this, I had to calculate whether the path the object took from frame 0 to frame 1 intersected any other objects along its trajectory. That was an especially hard, albeit depressing challenge, but nevertheless, it was encountered and defeated so you could enjoy astronomical bliss. Thank you!...
|
1793116151.5804758
|
1793202551.5804758
|
|
26886
|
mast by @toqtu | Stardance
|
toqtu
|
1
|
32.0
|
465
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T18:27:27Z", "hours": 32.0, "multiplier": 14.7, "payout": 465, "blessing": "neutral", "text": "I built a parser for mathematical expressions that turns math input into an abstract syntax tree. From there, you can do things like simplifying or differentiating the expression. Learning about parsing methods was genuinely interesting — once I understood the theory behind lexing and parsing, implementation was fairly straightforward. After getting the basic parsing working, I wanted to build a simple web interface for it. Looking back, the interface ended up taking a lot more time than I expected. During this project I learned a lot about compiler design and language theory as well as web development and application deployment. All in all I am quite happy with the result.", "repo": "https://github.com/fritl/mast", "demo": "https://mast.toqtou.me"}]...
|
[{"post_id": 30710, "ts": "202 [{"post_id": 30710, "ts": "2026-07-18T14:50:01Z", "hours": 9.0289, "text": "Finish Website I added the following to the website Button for evaluation an expression Reload ast and LaTeX only if there is no input for 500ms Tutorial on the Home page to show all features Info page for additional information A footer with info about the build (commit, branch, time) Improve colors especially for light mode I also noticed that my project can’t be cloned on windows because windows doesn’t allow * in filenames. I updated the filenames but old commits still can’t be checked out easily."}, {"post_id": 29568, "ts": "2026-07-16T16:29:13Z", "hours": 10.2408, "text": "New Website Starting Over I wasn’t happy with the website Claude generated for me, so instead of iterating on it further, I decided to build it myself from scratch. Why SolidJS I’m not a web dev. I’ve written JavaScript before, but never really worked with a framework on a personal project. For this one I picked SolidJS, for two reasons: I didn’t want to use React, and I’d heard Solid does similar things but better. Building Everything From Scratch One tradeoff with SolidJS became obvious fast: there’s no real ecosystem of UI libraries to lean on. Every component and every line of CSS in this project, I wrote myself. Dev Setup To make local development easier, I added a Dockerfile and a docker-compose setup. What’s Left The site isn’t finished yet. The main thing still missing is buttons for a few actions."}, {"post_id": 22913, "ts": "2026-07-05T15:34:35Z", "hours": 3.0433, "text": "Web demo I wrote a small API for my project using FastAPI, then handed the code to Claude. After a few iterations, I had a fairly good looking web interface for interacting with my project. I also experimented with making all tree nodes circular. It turns out circles grow very quickly as numbers get bigger, so keeping every circle the same size caused the text to overflow. Switching to ellipses solved this. I also spent some time reducing the number of parentheses in the output to make it more readable."}, {"post_id": 22050, "ts": "2026-07-04T09:28:57Z", "hours": 2.2544, "text": "Differentiation My math program can now symbolically compute the derivative of an expression. Challenges One tricky case was finding the derivative of x^x . Since x^x = e^(x*ln(x)) , rewriting it in that form let the existing exponential and product rules handle it correctly. Restrictions Differentiation works well, but outputs aren’t always in the simplest form. Differentiating (x^2)/2 , for instance, currently gives 0.5*2*x instead of the simplified x . Simplifying this is a lot harder than it looks at first because it is really hard to determine whether an action results in a simpler form or not. Next up I’ll pause the AST experiments here for now. There’s a lot more that could be done, but I want to make it demoable. Next step: a small web UI so people can try it out directly."}, {"post_id": 21399, "ts": "2026-07-03T10:06:38Z", "hours": 1.8942, "text": "Functions and Exponents I’ve just added support for exponents and standard mathematical functions, including sin , cos , tan , ln , log , and sqrt . The implementation was fairly straightforward. The lexer simply tokenizes the ^ character into a Power token. Extending the lexer from there was just a matter of adding the token rule and implementing the corresponding evaluation logic. The Precedence Gotcha I did run into one classic mathematical quirk with my parser rules. Currently, -x^2 is parsed as (-x)^2 because the unary minus operator mistakenly has higher precedence than the exponent. Standard mathematical convention dictates it should be evaluated as -(x^2) . While I plan to fix this in the parser proper, the current workaround is just to use explicit parentheses when writing negative exponents. Next Up: Symbolic Differentiation As a final step for this milestone, I want to implement symbolic differentiation utilizing the chain rule. This will allow the engine to take simple expressions like x^2 or sin(2x) and automatically differentiate them into 2*x and 2*cos(2x) respectively."}, {"post_id": 20247, "ts": "2026-07-01T19:53:28Z", "hours": 1.1408, "text": "Simplification I added some trivial simplification rules to my math parser. It checks for simple rules like x+0 -> x or x+x -> 2x . Of course, you could go way deeper on simplification. My current implementation can’t simplify 2*x + 3*x -> 5*x , since my rules only match syntactically identical terms, not terms that differ by a coefficient. To handle cases like this, you’d need some sort of term-collection method that groups like terms together before combining them. You could also expand expressions first and then simplify, which would let the parser recognize things like (x+1)^2 - (x^2+2x+1) -> 0 . My simple rules won’t bring expressions into their absolute simplest form, and they certainly don’t produce a standardized form that lets you check two expressions for equality. But they do make the program’s output noticeably more readable."}, {"post_id": 19462, "ts": "2026-06-30T19:52:16Z", "hours": 0.9978, "text": "Input evaluation You can now evaluate inputs, e.g. (3+2)*6 outputs 30 . This works by recursively evaluating the AST nodes — operator precedence comes for free from the tree structure. All variables found in the input are collected, and the user is prompted to assign a value to each one. This somewhat defeats the purpose of variables for now, but it’s a stepping stone — variables become essential once symbolic differentiation or a proper UI come into play."}, {"post_id": 19155, "ts": "2026-06-30T12:21:49Z", "hours": 3.2844, "text": "Lexing + Parising For my math parser I implemented the lexer and the parser. The lexer splits the mathematical input into tokens. The recursive descent parser parses those tokens into an abstract syntax tree. For me the most interesting part was learning about different parsing techniques which also tought me a lot about compilers. Next up I will implement the evaluation of expressions to calculate inputs like 2 + 3 * 5. Due to the design of the tree it should already respect pemdas."}]...
|
Title: mast by @toqtu | Stardance
Devlogs:
Lexing Title: mast by @toqtu | Stardance
Devlogs:
Lexing + Parising For my math parser I implemented the lexer and the parser. The lexer splits the mathematical input into tokens. The recursive descent parser parses those tokens into an abstract syntax tree. For me the most interesting part was learning about different parsing techniques which also tought me a lot about compilers. Next up I will implement the evaluation of expressions to calculate inputs like 2 + 3 * 5. Due to the design of the tree it should already respect pemdas.
Input evaluation You can now evaluate inputs, e.g. (3+2)*6 outputs 30 . This works by recursively evaluating the AST nodes — operator precedence comes for free from the tree structure. All variables found in the input are collected, and the user is prompted to assign a value to each one. This somewhat defeats the purpose of variables for now, but it’s a stepping stone — variables become essential once symbolic differentiation or a proper UI come into play.
Simplification I added some trivial simplification rules to my math parser. It checks for simple rules like x+0 -> x or x+x -> 2x . Of course, you could go way deeper on simplification. My current implementation can’t simplify 2*x + 3*x -> 5*x , since my rules only match syntactically identical terms, not terms that differ by a coefficient. To handle cases like this, you’d need some sort of term-collection method that groups like terms together before combining them. You could also expand expressions first and then simplify, which would let the parser recognize things like (x+1)^2 - (x^2+2x+1) -> 0 . My simple rules won’t bring expressions into their absolute simplest form, and they certainly don’t produce a standardized form that lets you check two expressions for equality. But they do make the program’s output noticeably more readable.
Functions and Exponents I’ve just added support for exponents and standard mathematical functions, including sin , cos , tan , ln , log , and sqrt . The implementation was fairly straightforward. The lexer simply tokenizes the ^ character into a Power token. Extending the lexer from there was just a matter of adding the token rule and implementing the corresponding evaluation logic. The Precedence Gotcha I did run into one classic mathematical quirk with my parser rules. Currently, -x^2 is parsed as (-x)^2 because the unary minus operator mistakenly has higher precedence than the exponent. Standard mathematical convention dictates it should be evaluated as -(x^2) . While I plan to fix this in the parser proper, the current workaround is just to use explicit parentheses when writing negative exponents. Next Up: Symbolic Differentiation As a final step for this milestone, I want to implement symbolic differentiation utilizing the chain rule. This will allow the engine to take simple expressions like x^2 or sin(2x) and automatically differentiate them into 2*x and 2*cos(2x) respectively.
Differentiation My math program can now symbolically compute the derivative of an expression. Challenges One tricky case was finding the derivative of x^x . Since x^x = e^(x*ln(x)) , rewriting it in that form let the existing exponential and product rules handle it correctly. Restrictions Differentiation works well, but outputs aren’t always in the simplest form. Differentiating (x^2)/2 , for instance, currently gives 0.5*2*x instead of the simplified x . Simplifying this is a lot harder than it looks at first because it is really hard to determine whether an action results in a simpler form or not. Next up I’ll pause the AST experiments here for now. There’s a lot more that could be done, but I want to make it demoable. Next step: a small web UI so people can try it out directly.
Web demo I wrote a small API for my project using FastAPI, then handed the code to Claude. After a few iterations, I had a fairly good looking web interface for interacting with my project. I also experimented with making all tree nodes circular. It turns out circles grow very quickly as numbers get bigger, so keeping every circle the same size caused the text to overflow. Switching to ellipses solved this. I also spent some time reducing the number of parentheses in the output to make it more readable.
New Website Starting Over I wasn’t happy with the website Claude generated for me, so instead of iterating on it further, I decided to build it myself from scratch. Why SolidJS I’m not a web dev. I’ve written JavaScript before, but never really worked with a framework on a personal project. For this one I picked SolidJS, for two reasons: I didn’t want to use React, and I’d heard Solid does similar things but better. Building Everything From Scratch One tradeoff with SolidJS became obvious fast: there’s no real ecosystem of UI libraries to lean on. Every component and every line of CSS in this project, I wrote myself. Dev Setup To make local development easier, I added a Dockerfile and a docker-compose setup. What’s Left The site isn’t finished yet. The main thing still missing is buttons for a few actions.
Finish Website I added the following to the website Button for evaluation an expression Reload ast and LaTeX only if there is no input for 500ms Tutorial on the Home page to show all features Info page for additional information A footer with info about the build (commit, branch, time) Improve colors especially for light mode I also noticed that my project can’t be cloned on windows because windows doesn’t allow * in filenames. I updated the filenames but old commits still can’t be checked out easily.
Ships:
I built a parser for mathematical expressions that turns math input into an abstract syntax tree. From there, you can do things like simplifying or differentiating the expression. Learning about parsing methods was genuinely interesting — once I understood the theory behind lexing and parsing, implementation was fairly straightforward. After getting the basic parsing working, I wanted to build a simple web interface for it. Looking back, the interface ended up taking a lot more time than I expected. During this project I learned a lot about compiler design and language theory as well as web development and application deployment. All in all I am quite happy with the result....
|
1793138284.0821161
|
1793224684.0821161
|
|
29191
|
My Crochet Website! by @Delilah | Stardance
|
Delilah
|
1
|
32.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T09:21:28Z", "hours": 32.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a crochet business website. Making a business website was quite challenging since I never created a website this huge. Especially trying to figure out on how to make individual product pages for each product without making an html for every product was challenging, since that was my first time doing that, and using localStorage for the cart was challenging, since that was my first time using localStorage. I’m proud that I managed to make a website like that, it might have taken me awhile to do it but I never gave up on it. There are unfinished websites of mine but I didn’t want to fail another project. So I’m really glad I went through with it. For everyone visiting my website you should know that everything is static, I haven’t created databases so you can’t actually order anything, unless you really want one of my crochet products you can use the contact page to write your message and it will be sent to my email.", "repo": "https://github.com/diditek8-byte/My-Crochet-Website", "demo": "https://diditek8-byte.github.io/My-Crochet-Website/"}]...
|
[{"post_id": 34043, "ts": "202 [{"post_id": 34043, "ts": "2026-07-24T14:15:47Z", "hours": 0.8261, "text": "Finally finished with the hard part. So I managed to figure the layout issue out for when my cart was empty. Then I focused on my checkout button since I can’t use stripe for now I decided to just use alerts and make the products vanish from the cart after. Now the last part is to make my website responsive, and I’m good to go."}, {"post_id": 34008, "ts": "2026-07-24T12:22:24Z", "hours": 7.63, "text": "I’ve been working on my cart for a while at first I had to fix some layout issues and then I had to figure out a way on how to even make a cart with local storage. At first I made the add to cart button from my product.html save the product and then put it inside the cart. After that I tried to delete the product using the trash icon . Then I focused on the quantity plus and minus buttons, so when you pressed the buttons it would show the number of quantity on the input and the price right next to it would multiplicate or differentiate depending on the button you pressed. The total of the products would also show below where the checkout button is, which I still have to modify so it will do at least something. I also managed to make a what if the cart was empty but it looks kinda rough so I’ll be working on that."}, {"post_id": 31753, "ts": "2026-07-20T12:07:15Z", "hours": 4.0728, "text": "Just finished the cart layout. It was pretty hard especially since at first I started using table in html but confused td with tr so when I switched from td to tr everything looked a mess and had to start from scratch. After that I became sick of the table element and just started using div and now I’m just glad it doesn’t look bad. Now I’ll be focusing on the logic part using javascript."}, {"post_id": 31147, "ts": "2026-07-19T09:58:32Z", "hours": 3.3497, "text": "I am finished with the products page and now I’ll go on with the 2nd last thing on my list. Please feel free to look at my other devlogs and give me feedback. I would love to hear your opinion on my layout."}, {"post_id": 27592, "ts": "2026-07-13T09:48:16Z", "hours": 14.2933, "text": "I’ve made a bunch of modifications but I still need to work on a few things. I hope y’all like it."}, {"post_id": 20157, "ts": "2026-07-01T18:17:26Z", "hours": 1.1311, "text": "Trying to make everything fast and pretty later. I’m not sure about the design choice, either like that or everything has that pink color."}, {"post_id": 19941, "ts": "2026-07-01T12:01:38Z", "hours": 0.5086, "text": "Currently working on my crochet website. It definitely needs a lot of work."}]...
|
Title: My Crochet Website! by @Delilah | Stardance Title: My Crochet Website! by @Delilah | Stardance
Devlogs:
Currently working on my crochet website. It definitely needs a lot of work.
Trying to make everything fast and pretty later. I’m not sure about the design choice, either like that or everything has that pink color.
I’ve made a bunch of modifications but I still need to work on a few things. I hope y’all like it.
I am finished with the products page and now I’ll go on with the 2nd last thing on my list. Please feel free to look at my other devlogs and give me feedback. I would love to hear your opinion on my layout.
Just finished the cart layout. It was pretty hard especially since at first I started using table in html but confused td with tr so when I switched from td to tr everything looked a mess and had to start from scratch. After that I became sick of the table element and just started using div and now I’m just glad it doesn’t look bad. Now I’ll be focusing on the logic part using javascript.
I’ve been working on my cart for a while at first I had to fix some layout issues and then I had to figure out a way on how to even make a cart with local storage. At first I made the add to cart button from my product.html save the product and then put it inside the cart. After that I tried to delete the product using the trash icon . Then I focused on the quantity plus and minus buttons, so when you pressed the buttons it would show the number of quantity on the input and the price right next to it would multiplicate or differentiate depending on the button you pressed. The total of the products would also show below where the checkout button is, which I still have to modify so it will do at least something. I also managed to make a what if the cart was empty but it looks kinda rough so I’ll be working on that.
Finally finished with the hard part. So I managed to figure the layout issue out for when my cart was empty. Then I focused on my checkout button since I can’t use stripe for now I decided to just use alerts and make the products vanish from the cart after. Now the last part is to make my website responsive, and I’m good to go.
Ships:
I created a crochet business website. Making a business website was quite challenging since I never created a website this huge. Especially trying to figure out on how to make individual product pages for each product without making an html for every product was challenging, since that was my first time doing that, and using localStorage for the cart was challenging, since that was my first time using localStorage. I’m proud that I managed to make a website like that, it might have taken me awhile to do it but I never gave up on it. There are unfinished websites of mine but I didn’t want to fail another project. So I’m really glad I went through with it. For everyone visiting my website you should know that everything is static, I haven’t created databases so you can’t actually order anything, unless you really want one of my crochet products you can use the contact page to write your message and it will be sent to my email....
|
1793202920.9556572
|
1793289320.9556572
|
|
30214
|
PANTRY REANTRY by @mikhailnotfish | Stardance
|
mikhailnotfish
|
1
|
32.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-16T05:14:45Z", "hours": 32.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "THIS is pantry reentry. a game where you throw houshold objects, into the atmosphere. it includes: 8 different objects UNITY HDRP shaders plasma meshes, instead of particles. offline play portability (downloadable .exe) please leave me a good rating, i hope you enjoy the game!", "repo": "https://github.com/mikhailnotfish/pantry-reantry", "demo": "https://mikhailnotfish.itch.io/pantryreentry"}]...
|
[{"post_id": 79726, "ts": "202 [{"post_id": 79726, "ts": "2026-10-15T07:10:17Z", "hours": 1.4983, "text": "pantryReeantry IS FINISHED!!! i have added a settings menu, becuse youre gonna have to download the game, i did some work on github stuff and i uploaded it to itch.io. this has really been a great journy and this MAY be my last project on stardance, because it is ending in about 2 weeks. i hope you like the project! here is a gameplay image of a piano burning up."}, {"post_id": 79235, "ts": "2026-10-13T04:51:52Z", "hours": 2.5872, "text": "ive been working for a while!! so, for the past 2 and a half hours, i have as promised converted the entire project to HDRP, because stock unity looks horrible. i have made a few desicions, including removing the planet entirely and just spawning a blue circle with c#, and removing the particle systems nd swapping them out for PLASMA MESHES! i have made a quick UI using c# here is a image (theres a burning up bean shelf)"}, {"post_id": 78476, "ts": "2026-10-10T22:04:42Z", "hours": 8.5625, "text": "i have decided, that becuse stardance has been extended, i am going to convert pantry reantry, to hdrp!! lit shaders look much better there, and the particles are gonna be volumetric. this game is going to look fabulous! for shipwright: i get whats happening now. how do i have 8 hours? i havent been on unity that much in the past 2 weeks! its because VScode tracks “ple0017’ SO WHENEVER I USE VSCODE, WHATEVER IT MAY BE IM DOING, IT TRACKS HERE. if fraud squad is seeing this you may remove some of these hours, i wasnt vscoding for unity the whole time!!!"}, {"post_id": 46233, "ts": "2026-08-13T10:23:07Z", "hours": 2.3314, "text": "this devlog is a mistake! i accidentally transferred 2 hours via lapse onto this project, instead of youtubeds i accedentally clicked this project. ive gone to help on slack, but the ABSOLUTE CLANKERS there said “there is no way to” like bro why did you reply then"}, {"post_id": 39306, "ts": "2026-08-02T06:11:35Z", "hours": 3.2194, "text": "Today I started replacing the original cube with the first real object in the game: a fridge. Most of the work went into getting the Signed Distance Field (SDF) collider working correctly, since the reentry plasma effect relies on it to collide with the object’s surface instead of passing straight through it.I imported the fridge model, prepared it for Unity, and worked on baking a new SDF that matched its shape. Compared to the simple cube, this was a much better test because the fridge has more detailed geometry, making it a good way to see how well the plasma effect wraps around different objects during reentry.The long-term goal is for every object in the game to have its own mesh, collider, and SDF while still sharing the same reentry system. That means I can eventually swap between things like fridges, pizzas, cars, and other random objects without rebuilding all of the effects each time.Although most of today’s progress happened behind the scenes, it’s an important step toward turning the project into an actual game instead of a simple physics demo. Soon the player will be able to choose what object they want to throw into Earth’s atmosphere and see if it survives the trip."}, {"post_id": 27051, "ts": "2026-07-12T07:45:01Z", "hours": 1.0494, "text": "Today I started working on making the reentry system more flexible by preparing the game for multiple objects instead of just the test cube.I experimented with the idea of making every object its own prefab, allowing things like fridges, pizzas, cars, and other random objects to be thrown into the atmosphere. The plan is to keep the same reentry system, but swap out the mesh, collider, and SDF data for each object so every item has its own way of interacting with the plasma and heat effects.I also looked into making the VFX system more reusable by using one main reentry plasma graph while giving each object its own settings, like different SDF collision shapes and different fire trail styles. This should make adding new objects much faster instead of rebuilding the entire system every time.A big focus today was thinking about the future structure of the game. Instead of one object being launched, the player will eventually be able to choose what they want to send into reentry and see if it survives.The project is starting to move from a physics test into an actual game with different challenges, objects, and replay value."}, {"post_id": 26448, "ts": "2026-07-11T07:59:17Z", "hours": 1.5622, "text": "Today I worked on improving the gameplay loop for Pantry Reantry and focused on making the launch, crash, and respawn systems work properly.I added a respawn button that appears after the object crashes, allowing the player to try again without restarting the game. I also worked on fixing the camera so it doesn’t randomly teleport during resets and stays attached to the player object when needed.A big part of today was debugging the VFX systems. The reentry plasma and fire trail were having issues where they would start at the wrong time or keep existing particles after respawning. I worked on making the atmosphere trigger control when the effects activate, instead of them starting automatically when the object launches.There are still a few small VFX issues to clean up, but the overall reentry loop is coming together. The object can now launch, enter the atmosphere, activate the heat effects, crash, and be reset for another attempt.The next steps are finishing the UI and adding things like altitude, speed, heat, and survival stats to make the reentry experience feel more like a real game."}, {"post_id": 25693, "ts": "2026-07-10T03:41:03Z", "hours": 1.6783, "text": "Today I worked on making the reentry experience. I focused on connecting all the systems together so the player can actually watch an object fall from space and survive (or not survive) the journey.I improved the VFX setup by making the reentry plasma and fire trail activate when the object enters the atmosphere. Instead of having the effects constantly running, they now wait until the object reaches the invisible atmosphere boundary, which makes the transition feel much more realistic.I also fixed the particle behaviour so the smoke and fire trail stays behind the object instead of moving with it. This made a huge difference because the trail now actually looks like something burning through the atmosphere.Another challenge was the camera system. The menu camera and gameplay camera were fighting each other because the follow script was constantly overriding the start button position. I fixed this by making the camera follow system activate only after pressing the start button, allowing the camera to transition into the gameplay view properly.There is still a lot to add, like better destruction effects, heat intensity based on speed, and more detailed atmosphere visuals, but the core reentry sequence is finally starting to come together."}, {"post_id": 25125, "ts": "2026-07-09T04:22:04Z", "hours": 1.3044, "text": "Today I worked on making the reentry system feel way more alive. I focused on getting the heat particles to actually interact with the objects instead of just floating around them. After a bit of experimenting with collisions, SDFs, and VFX Graph, I finally got particles reacting properly with the objects flying through the atmosphere.I also started setting up the systems needed for objects to have their own reentry effects. The goal is that every object falling from space can have its own heat trail that follows it, turns on when it hits the atmosphere, and disappears when it escapes or slows down.A big challenge was making everything follow moving objects correctly. Static effects are easy, but when you have something travelling at high speed, everything needs to stay perfectly synced. I worked on making the particle emitter follow the object and keeping the collision data aligned so the effects don’t lag behind.There is still more to improve, like making the heat intensity change based on speed and adding better visuals, but the foundation is now working. Seeing the particles actually wrap around and react to the objects makes the whole reentry experience feel much more realistic."}, {"post_id": 24481, "ts": "2026-07-08T01:46:35Z", "hours": 0.4189, "text": "so uhh today i continued my work from yesterday, making the reentry plasma, i realized there was no way in history i was gonna make a blender made modular physics based reentry plasma system and tried to make a plasma one normally, using a sphere. long story short, i failed, fell asleep and then gave up 🥀 hopefully ill be back at it later today, if not wait till tomorrow."}, {"post_id": 23950, "ts": "2026-07-07T05:07:52Z", "hours": 2.9003, "text": "Today was mostly about making reentry look and feel a lot cooler. I spent a good chunk of time learning Shader Graph and experimenting until I had a fire effect that looked much more like an object burning through the atmosphere. It took a lot of trial and error, and I had to fix several bugs along the way, but I eventually got everything working together.After that, I added explosions to the game. I learned how to create and use prefabs, then connected them to my reentry system so objects now explode once they get too hot. Seeing random objects burn up and explode while falling toward Earth makes the game feel much more fun than before. There are still plenty of improvements I want to make, like adding better visual effects and making the explosions even more cinematic, but having the whole reentry-to-explosion sequence working is a big milestone.Overall, today was a really productive day. I learned a lot about Unity’s visual effects tools while making the game look much more exciting, and I’m happy with how much progress I made."}, {"post_id": 23413, "ts": "2026-07-06T11:03:08Z", "hours": 1.2431, "text": "Today I worked on improving the reentry and visual effects system for my Unity project, focusing mainly on making the atmosphere interaction feel more cinematic and less “flat prototype.” I spent time testing how the particle system behaves during high-speed descent, especially around the point where the object hits the upper atmosphere. The initial version was too abrupt — the effect would briefly show particles and then disappear, which completely killed the sense of momentum and scale. I experimented with smoothing the transition using gradual intensity changes instead of instant triggers. I also adjusted local offsets and rotation values to better align the effect with the object’s trajectory, since some of the transforms were behaving inconsistently between the inspector and runtime. That took a bit of debugging because some values were being overridden or reset in unexpected ways. After that, I started exploring how to push the visuals further toward a “glowing plasma cone” look, with stronger edge concentration and a softer fade into the surrounding atmosphere. I also began looking into Visual Effect Graph as a possible upgrade path for more advanced GPU-driven effects. Overall, it was a day of fixing broken motion, improving visual flow, and pushing the system closer to something cinematic rather than purely functional."}, {"post_id": 22743, "ts": "2026-07-05T10:08:55Z", "hours": 1.7656, "text": "Today I worked on a space reentry style simulation and spent most of my time getting the gravity and camera systems feeling right. I set up the test object so it’s always pulled toward the planet and rotates to face it as it moves, which makes its motion feel more like it’s actually orbiting and falling through space instead of just drifting around. That part was pretty important because it sets the foundation for everything else. A big chunk of time went into the camera. I tried a bunch of different follow styles because at first it kept jittering, flipping, or ending up in weird positions where I couldn’t even see the planet properly. I went from a basic follow camera, to trying rotation copying, to LookAt setups, and eventually simplified it down to a system where the camera stays in a fixed position relative to the object and just rotates with it in a stable way. After a lot of trial and error (and a few broken camera moments), I ended up with a setup where the object behaves correctly under gravity and the camera stays locked in a consistent orbit view so the planet is always visible and the motion is readable. however i still have issues with the camera and the tetobject that ill b using for ll the objects thrown into the atmosphere so ill probbably fix that tomorrow"}, {"post_id": 21990, "ts": "2026-07-04T06:41:10Z", "hours": 1.9978, "text": "Today I worked on the reentry system for pantry reantry and fixed a bunch of annoying physics bugs, especially the crazy jittering when the ship got far from the origin. I separated the skybox movement from the actual physics so the visuals don’t break anymore at high altitude. Reentry feels way more stable now and doesn’t glitch out when you’re coming in fast. I also tested a few high-speed drops to make sure it doesn’t fall apart. Next up is adding heat damage and making reentry actually dangerous instead of just falling through the atmosphere. i put in a screenshot of the progress on the button and the earth not jittering, it is definitly starting to come together! stay tuned for the second devlog surely coming tomorrow i hope maybe"}]...
|
Title: PANTRY REANTRY by @mikhailnotfish | Stardan Title: PANTRY REANTRY by @mikhailnotfish | Stardance
Devlogs:
Today I worked on the reentry system for pantry reantry and fixed a bunch of annoying physics bugs, especially the crazy jittering when the ship got far from the origin. I separated the skybox movement from the actual physics so the visuals don’t break anymore at high altitude. Reentry feels way more stable now and doesn’t glitch out when you’re coming in fast. I also tested a few high-speed drops to make sure it doesn’t fall apart. Next up is adding heat damage and making reentry actually dangerous instead of just falling through the atmosphere. i put in a screenshot of the progress on the button and the earth not jittering, it is definitly starting to come together! stay tuned for the second devlog surely coming tomorrow i hope maybe
Today I worked on a space reentry style simulation and spent most of my time getting the gravity and camera systems feeling right. I set up the test object so it’s always pulled toward the planet and rotates to face it as it moves, which makes its motion feel more like it’s actually orbiting and falling through space instead of just drifting around. That part was pretty important because it sets the foundation for everything else. A big chunk of time went into the camera. I tried a bunch of different follow styles because at first it kept jittering, flipping, or ending up in weird positions where I couldn’t even see the planet properly. I went from a basic follow camera, to trying rotation copying, to LookAt setups, and eventually simplified it down to a system where the camera stays in a fixed position relative to the object and just rotates with it in a stable way. After a lot of trial and error (and a few broken camera moments), I ended up with a setup where the object behaves correctly under gravity and the camera stays locked in a consistent orbit view so the planet is always visible and the motion is readable. however i still have issues with the camera and the tetobject that ill b using for ll the objects thrown into the atmosphere so ill probbably fix that tomorrow
Today I worked on improving the reentry and visual effects system for my Unity project, focusing mainly on making the atmosphere interaction feel more cinematic and less “flat prototype.” I spent time testing how the particle system behaves during high-speed descent, especially around the point where the object hits the upper atmosphere. The initial version was too abrupt — the effect would briefly show particles and then disappear, which completely killed the sense of momentum and scale. I experimented with smoothing the transition using gradual intensity changes instead of instant triggers. I also adjusted local offsets and rotation values to better align the effect with the object’s trajectory, since some of the transforms were behaving inconsistently between the inspector and runtime. That took a bit of debugging because some values were being overridden or reset in unexpected ways. After that, I started exploring how to push the visuals further toward a “glowing plasma cone” look, with stronger edge concentration and a softer fade into the surrounding atmosphere. I also began looking into Visual Effect Graph as a possible upgrade path for more advanced GPU-driven effects. Overall, it was a day of fixing broken motion, improving visual flow, and pushing the system closer to something cinematic rather than purely functional.
Today was mostly about making reentry look and feel a lot cooler. I spent a good chunk of time learning Shader Graph and experimenting until I had a fire effect that looked much more like an object burning through the atmosphere. It took a lot of trial and error, and I had to fix several bugs along the way, but I eventually got everything working together.After that, I added explosions to the game. I learned how to create and use prefabs, then connected them to my reentry system so objects now explode once they get too hot. Seeing random objects burn up and explode while falling toward Earth makes the game feel much more fun than before. There are still plenty of improvements I want to make, like adding better visual effects and making the explosions even more cinematic, but having the whole reentry-to-explosion sequence working is a big milestone.Overall, today was a really productive day. I learned a lot about Unity’s visual effects tools while making the game look much more exciting, and I’m happy with how much progress I made.
so uhh today i continued my work from yesterday, making the reentry plasma, i realized there was no way in history i was gonna make a blender made modular physics based reentry plasma system and tried to make a plasma one normally, using a sphere. long story short, i failed, fell asleep and then gave up 🥀 hopefully ill be back at it later today, if not wait till tomorrow.
Today I worked on making the reentry system feel way more alive. I focused on getting the heat particles to actually interact with the objects instead of just floating around them. After a bit of experimenting with collisions, SDFs, and VFX Graph, I finally got particles reacting properly with the objects flying through the atmosphere.I also started setting up the systems needed for objects to have their own reentry effects. The goal is that every object falling from space can have its own heat trail that follows it, turns on when it hits the atmosphere, and disappears when it escapes or slows down.A big challenge was making everything follow moving objects correctly. Static effects are easy, but when you have something travelling at high speed, everything needs to stay perfectly synced. I worked on making the particle emitter follow the object and keeping the collision data aligned so the effects don’t lag behind.There is still more to improve, like making the heat intensity change based on speed and adding better visuals, but the foundation is now working. Seeing the particles actually wrap around and react to the objects makes the whole reentry experience feel much more realistic.
Today I worked on making the reentry experience. I focused on connecting all the systems together so the player can actually watch an object fall from space and survive (or not survive) the journey.I improved the VFX setup by making the reentry plasma and fire trail activate when the object enters the atmosphere. Instead of having the effects constantly running, they now wait until the object reaches the invisible atmosphere boundary, which makes the transition feel much more realistic.I also fixed the particle behaviour so the smoke and fire trail stays behind the object instead of moving with it. This made a huge difference because the trail now actually looks like something burning through the atmosphere.Another challenge was the camera system. The menu camera and gameplay camera were fighting each other because the follow script was constantly overriding the start button position. I fixed this by making the camera follow system activate only after pressing the start button, allowing the camera to transition into the gameplay view properly.There is still a lot to add, like better destruction effects, heat intensity based on speed, and more detailed atmosphere visuals, but the core reentry sequence is finally starting to come together.
Today I worked on improving the gameplay loop for Pantry Reantry and focused on making the launch, crash, and respawn systems work properly.I added a respawn button that appears after the object crashes, allowing the player to try again without restarting the game. I also worked on fixing the camera so it doesn’t randomly teleport during resets and stays attached to the player object when needed.A big part of today was debugging the VFX systems. The reentry plasma and fire trail were having issues where they would start at the wrong time or keep existing particles after respawning. I worked on making the atmosphere trigger control when the effects activate, instead of them starting automatically when the object launches.There are still a few small VFX issues to clean up, but the overall reentry loop is coming together. The object can now launch, enter the atmosphere, activate the heat effects, crash, and be reset for another attempt.The next steps are finishing the UI and adding things like altitude, speed, heat, and survival stats to make the reentry experience feel more like a real game.
Today I started working on making the reentry system more flexible by preparing the game for multiple objects instead of just the test cube.I experimented with the idea of making every object its own prefab, allowing things like fridges, pizzas, cars, and other random objects to be thrown into the atmosphere. The plan is to keep the same reentry system, but swap out the mesh, collider, and SDF data for each object so every item has its own way of interacting with the plasma and heat effects.I also looked into making the VFX system more reusable by using one main reentry plasma graph while giving each object its own settings, like different SDF collision shapes and different fire trail styles. This should make adding new objects much faster instead of rebuilding the entire system every time.A big focus today was thinking about the future structure of the game. Instead of one object being launched, the player will eventually be able to choose what they want to send into reentry and see if it survives.The project is starting to move from a physics test into an actual game with different challenges, objects, and replay value.
Today I started replacing the original cube with the first real object in the game: a fridge. Most of the work went into getting the Signed Distance Field (SDF) collider working correctly, since the reentry plasma effect relies on it to collide with the object’s surface instead of passing straight through it.I imported the fridge model, prepared it for Unity, and worked on baking a new SDF that matched its shape. Compared to the simple cube, this was a much better test because the fridge has more detailed geometry, making it a good way to see how well the plasma effect wraps around different objects during reentry.The long-term goal is for every object in the game to have its own mesh, collider, and SDF while still sharing the same reentry system. That means I can eventually swap between things like fridges, pizzas, cars, and other random objects without rebuilding all of the effects each time.Although most of today’s progress happened behind the scenes, it’s an important step toward turning the project into an actual game instead of a simple physics demo. Soon the player will be able to choose what object they want to throw into Earth’s atmosphere and see if it survives the trip.
this devlog is a mistake! i accidentally transferred 2 hours via lapse onto this project, instead of youtubeds i accedentally clicked this project. ive gone to help on slack, but the ABSOLUTE CLANKERS there said “there is no way to” like bro why did you reply then
i have decided, that becuse stardance has been extended, i am going to convert pantry reantry, to hdrp!! lit shaders look much better there, and the particles are gonna be volumetric. this game is going to look fabulous! for shipwright: i get whats happening now. how do i have 8 hours? i havent been on unity that much in the past 2 weeks! its because VScode tracks “ple0017’ SO WHENEVER I USE VSCODE, WHATEVER IT MAY BE IM DOING, IT TRACKS HERE. if fraud squad is seeing this you may remove some of these hours, i wasnt vscoding for unity the whole time!!!
ive been working for a while!! so, for the past 2 and a half hours, i have as promised converted the entire project to HDRP, because stock unity looks horrible. i have made a few desicions, including removing the planet entirely and just spawning a blue circle with c#, and removing the particle systems nd swapping them out for PLASMA MESHES! i have made a quick UI using c# here is a image (theres a burning up bean shelf)
pantryReeantry IS FINISHED!!! i have added a settings menu, becuse youre gonna have to download the game, i did some work on github stuff and i uploaded it to itch.io. this has really been a great journy and this MAY be my last project on stardance, because it is ending in about 2 weeks. i hope you like the project! here is a gameplay image of a piano burning up.
Ships:
THIS is pantry reentry. a game where you throw houshold objects, into the atmosphere. it includes: 8 different objects UNITY HDRP shaders plasma meshes, instead of particles. offline play portability (downloadable .exe) please leave me a good rating, i hope you enjoy the game!...
|
1793202440.7735724
|
1793288840.7735724
|
|
38699
|
3D Model Car by @abdulahad_hashmi | Stardance
|
abdulahad_hashmi
|
1
|
32.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T09:09:36Z", "hours": 32.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a 3D model of Porsche in Blender.", "repo": "https://github.com/abdulahadhashmi11/Car-model-Porsche", "demo": "https://youtube.com/shorts/2x41p0ap73s?si=gU99ejqkSglyvkD_"}]...
|
[{"post_id": 51133, "ts": "202 [{"post_id": 51133, "ts": "2026-08-20T17:04:11Z", "hours": 3.7272, "text": "Im done with the animation!!!! pls check it out youtube @Hashmi_creates"}, {"post_id": 37008, "ts": "2026-07-29T13:45:16Z", "hours": 3.4411, "text": "I have finished the materials(created the tyres again cuz the first ones were having some problems) and finally finsheddd the car!!!! now just have to make the road"}, {"post_id": 36897, "ts": "2026-07-29T08:48:49Z", "hours": 9.3972, "text": "I have textured the car(now I have to make it realistic and make sure it renders correctly), I also added the sideview mirrors, panel gaps and made carbon fiber as well ps this screen shot is only in object view without any materials/textures"}, {"post_id": 35149, "ts": "2026-07-26T11:58:35Z", "hours": 3.8061, "text": "Finished Modelling the car, Now just need to add the little details and start working on the animation :)"}, {"post_id": 34725, "ts": "2026-07-25T17:57:39Z", "hours": 3.9586, "text": "I have completed the side profile of my car and have now started working on the back of the car"}, {"post_id": 34195, "ts": "2026-07-24T18:30:54Z", "hours": 1.0836, "text": "I have finished modelling the car tyre"}, {"post_id": 34139, "ts": "2026-07-24T17:19:05Z", "hours": 3.3103, "text": "I have now finished the front grill of the car"}, {"post_id": 33989, "ts": "2026-07-24T11:44:34Z", "hours": 2.9372, "text": "I have now solidified a quater of the car and added seams as well"}, {"post_id": 33515, "ts": "2026-07-23T15:01:06Z", "hours": 0.3925, "text": "A car"}]...
|
Title: 3D Model Car by @abdulahad_hashmi | Stardan Title: 3D Model Car by @abdulahad_hashmi | Stardance
Devlogs:
A car
I have now solidified a quater of the car and added seams as well
I have now finished the front grill of the car
I have finished modelling the car tyre
I have completed the side profile of my car and have now started working on the back of the car
Finished Modelling the car, Now just need to add the little details and start working on the animation :)
I have textured the car(now I have to make it realistic and make sure it renders correctly), I also added the sideview mirrors, panel gaps and made carbon fiber as well ps this screen shot is only in object view without any materials/textures
I have finished the materials(created the tyres again cuz the first ones were having some problems) and finally finsheddd the car!!!! now just have to make the road
Im done with the animation!!!! pls check it out youtube @Hashmi_creates
Ships:
I made a 3D model of Porsche in Blender....
|
1793134520.703087
|
1793220920.703087
|
|
39674
|
LOCK IN by @Emanuela | Stardance
|
Emanuela
|
2
|
32.0
|
451
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T12:22:46Z", "hours": 13.0, "multiplier": 16.8, "payout": 225, "blessing": "neutral", "text": "Since I finished ‘The basic’ of my app well now I got to do some feature. Here I going to list em all: -Random images in the intro screen -Adding tooltips -Adding buttons Add site and Add app -Cue sound for text ‘LOCK IN’ -Pomodoro timer -Guide for Pomodoro Timer and other features -Youtube break music (only pomodoro timer) It was fun making this more than making the app itself. It was really beutiful to see the review of other people on my last ship it gave motivation and new ideas. What I feel the most proud of is the Youtube music break, It was complicated. Really the biggest nightmare after The pomodoro Timer. At one point I ruined the code in the start fuction and I had to ask help to the Ai because there I started having nightmares about this thing. PS. In guide inside the pomodoro timer I left some sites you can use to change the cue sound! It would be cool if someone would check that out :)", "repo": "https://github.com/emanuelaportella09-hub/LOCK-IN", "demo": "https://github.com/emanuelaportella09-hub/LOCK-IN/releases/tag/v1.1.0"}, {"ship_num": 2, "ts": "2026-08-23T20:53:38Z", "hours": 19.0, "multiplier": 11.63, "payout": 226, "blessing": "neutral", "text": "This desktop app was made by me, and it actually helps me lock in, no cap. You enter into the blacklist section the sites or apps you know you shouldn’t be on while working. If you still decide to go on the blacklisted sites or apps, the “LOCK IN” text takes over, forcing you to switch back. Giving accountability, no more unemployed. For this project I had to use Electron, so I learned JavaScript from scratch. Ngl, that was the hardest part. I spent 19 hours on this project, not accounting all the learning. Worth it. Quality-of-life improvement: Now you’ll actually stay locked in while you work, because the app is basically calling you out in real time whenever you start slacking. Here are my 3+ major QoL improvements: Automatic website blocking feature Automatic application blocking feature Configurable timer Persistent data (sites, apps, time, mode) Overlay readable on every background WHAT AM I PROUD OF? Before shipping, I tried out some weird websites like the Epic Games Store website with my friend. I noticed that my logic was straight garbage. I needed to install a dependency called psl in Electron to resolve the issue — that thing gave me the biggest headache of the entire project, hands down.", "repo": "https://github.com/emanuelaportella09-hub/LOCK-IN", "demo": "https://github.com/emanuelaportella09-hub/LOCK-IN/releases/tag/v1.1.0"}]...
|
[{"post_id": 64919, "ts": "202 [{"post_id": 64919, "ts": "2026-09-09T17:15:41Z", "hours": 1.6589, "text": "FINAL DEVLOG I’m sorry that I couldn’t devlog like I should’ve. But since I need to keep my streak, I felt like making a rushed post. I wanted to make one huge last devlog with everything I’ve done in the last 7 hours. First add: I added random images to the ‘intro’ screen, you’ll see images other than the cat now. Second add: I made a choosable cue sound for the LOCK IN text. And the final add was the Pomodoro timer with break music. My stupid mistakes: I lost a lot of time on the preload because I always got something spelled wrong, and since I forgot to open devtools, it was a nightmare. Then, for fileName, I typed __filename instead. Node already uses that for something else. And while I was fixing the blacklist and adding some tooltips, I deleted an important div. Everything was sitting sideways for some reason. The Pomodoro timer made me crazy. The code was hard, but figuring out what to do was harder. I went round in circles debating whether to divide by 4, or use fixed 25-minute blocks, or wondering if the time you write down is the total duration or just the work itself. In the end, this is what I settled on: the number you write down is ONLY the work time, it doesn’t include breaks, so the actual session always takes longer. 25-minute blocks, a short break in between, and a long break at the end. There are some minor tweaks I did, but I think I’m going to write those in the shiplog instead. That’s it. Bye"}, {"post_id": 64301, "ts": "2026-09-08T16:19:37Z", "hours": 4.3261, "text": "I’ve done something and I am in hurry today"}, {"post_id": 62989, "ts": "2026-09-06T15:40:41Z", "hours": 1.975, "text": "I made progress -made some tooltip -and tried adding sound"}, {"post_id": 57360, "ts": "2026-08-29T14:20:31Z", "hours": 0.4761, "text": "MADE SPECIAL VERSION FOR REVIEWER."}, {"post_id": 56211, "ts": "2026-08-27T21:20:41Z", "hours": 4.9447, "text": "PUBLISHED VIDEO GUIDE ON YOUTUBE https://www.youtube.com/watch?v=KYm0ztkC648"}, {"post_id": 53099, "ts": "2026-08-23T15:12:25Z", "hours": 2.03, "text": "FIXING ISSUES I FOUND WITH FRIEND -fixed some websites recognition problem -added addition dialog message at the start of the session -added more paragraph descrition"}, {"post_id": 52581, "ts": "2026-08-22T19:19:33Z", "hours": 9.1644, "text": "I NEED HELP I ’ve done everything, I want some feedback on my work. Should I add more features, like a color palette for the remainder? I added many things and perfected them: -I added a save load sistem for the apps , sites and timer -I added the settings, -I added an Icon -I updated my github -I fixed my blacklist, the warning, and the finish warning If someone will look into my projects and give me some feedback I’ll perhaps decide to add that feature if possible."}, {"post_id": 47008, "ts": "2026-08-14T16:15:27Z", "hours": 6.9775, "text": "PROGRESS I built an intro screen with 3 button ( blacklist settings start ) I only worked on the blacklist in wich you can Add sites that keeps your brain rotting. The settings do not work. and the start session too. WHAT I NEED TO WORK ON almost everything but I am on my way right now my focus is to make it work so I’’ll work twoards the start button but since this is my first time using java script I feel proud of my work"}, {"post_id": 37301, "ts": "2026-07-29T22:18:19Z", "hours": 1.2411, "text": "STARTING OUT I’ve created the base of the project with Electron. I’ve used Ai, it has helped to understand which language to use and helped me understand CSS , JAVASCRIPTS/NODE and HTML concepts. I want to be clear: the code was written word for word by me personally,and the design choices were totally mine I needed to figure out how the reminder for “Lock In” would work, so I worked that on myself. So now I have the word “LOCK IN” covering the screen when I launch the App. WHAT I’VE LEARNED I learned somewhat the base of NODE/JAVASCRIPT and CSS concept like flexbox font family etc. WHAT I AM GOING TO DO NEXT Create an onboarding screen with a personalised blacklist of sites and applications"}]...
|
Title: LOCK IN by @Emanuela | Stardance
Devlogs:
Title: LOCK IN by @Emanuela | Stardance
Devlogs:
STARTING OUT I’ve created the base of the project with Electron. I’ve used Ai, it has helped to understand which language to use and helped me understand CSS , JAVASCRIPTS/NODE and HTML concepts. I want to be clear: the code was written word for word by me personally,and the design choices were totally mine I needed to figure out how the reminder for “Lock In” would work, so I worked that on myself. So now I have the word “LOCK IN” covering the screen when I launch the App. WHAT I’VE LEARNED I learned somewhat the base of NODE/JAVASCRIPT and CSS concept like flexbox font family etc. WHAT I AM GOING TO DO NEXT Create an onboarding screen with a personalised blacklist of sites and applications
PROGRESS I built an intro screen with 3 button ( blacklist settings start ) I only worked on the blacklist in wich you can Add sites that keeps your brain rotting. The settings do not work. and the start session too. WHAT I NEED TO WORK ON almost everything but I am on my way right now my focus is to make it work so I’’ll work twoards the start button but since this is my first time using java script I feel proud of my work
I NEED HELP I ’ve done everything, I want some feedback on my work. Should I add more features, like a color palette for the remainder? I added many things and perfected them: -I added a save load sistem for the apps , sites and timer -I added the settings, -I added an Icon -I updated my github -I fixed my blacklist, the warning, and the finish warning If someone will look into my projects and give me some feedback I’ll perhaps decide to add that feature if possible.
FIXING ISSUES I FOUND WITH FRIEND -fixed some websites recognition problem -added addition dialog message at the start of the session -added more paragraph descrition
PUBLISHED VIDEO GUIDE ON YOUTUBE https://www.youtube.com/watch?v=KYm0ztkC648
MADE SPECIAL VERSION FOR REVIEWER.
I made progress -made some tooltip -and tried adding sound
I’ve done something and I am in hurry today
FINAL DEVLOG I’m sorry that I couldn’t devlog like I should’ve. But since I need to keep my streak, I felt like making a rushed post. I wanted to make one huge last devlog with everything I’ve done in the last 7 hours. First add: I added random images to the ‘intro’ screen, you’ll see images other than the cat now. Second add: I made a choosable cue sound for the LOCK IN text. And the final add was the Pomodoro timer with break music. My stupid mistakes: I lost a lot of time on the preload because I always got something spelled wrong, and since I forgot to open devtools, it was a nightmare. Then, for fileName, I typed __filename instead. Node already uses that for something else. And while I was fixing the blacklist and adding some tooltips, I deleted an important div. Everything was sitting sideways for some reason. The Pomodoro timer made me crazy. The code was hard, but figuring out what to do was harder. I went round in circles debating whether to divide by 4, or use fixed 25-minute blocks, or wondering if the time you write down is the total duration or just the work itself. In the end, this is what I settled on: the number you write down is ONLY the work time, it doesn’t include breaks, so the actual session always takes longer. 25-minute blocks, a short break in between, and a long break at the end. There are some minor tweaks I did, but I think I’m going to write those in the shiplog instead. That’s it. Bye
Ships:
This desktop app was made by me, and it actually helps me lock in, no cap. You enter into the blacklist section the sites or apps you know you shouldn’t be on while working. If you still decide to go on the blacklisted sites or apps, the “LOCK IN” text takes over, forcing you to switch back. Giving accountability, no more unemployed. For this project I had to use Electron, so I learned JavaScript from scratch. Ngl, that was the hardest part. I spent 19 hours on this project, not accounting all the learning. Worth it. Quality-of-life improvement: Now you’ll actually stay locked in while you work, because the app is basically calling you out in real time whenever you start slacking. Here are my 3+ major QoL improvements: Automatic website blocking feature Automatic application blocking feature Configurable timer Persistent data (sites, apps, time, mode) Overlay readable on every background WHAT AM I PROUD OF? Before shipping, I tried out some weird websites like the Epic Games Store website with my friend. I noticed that my logic was straight garbage. I needed to install a dependency called psl in Electron to resolve the issue — that thing gave me the biggest headache of the entire project, hands down.
Since I finished ‘The basic’ of my app well now I got to do some feature. Here I going to list em all: -Random images in the intro screen -Adding tooltips -Adding buttons Add site and Add app -Cue sound for text ‘LOCK IN’ -Pomodoro timer -Guide for Pomodoro Timer and other features -Youtube break music (only pomodoro timer) It was fun making this more than making the app itself. It was really beutiful to see the review of other people on my last ship it gave motivation and new ideas. What I feel the most proud of is the Youtube music break, It was complicated. Really the biggest nightmare after The pomodoro Timer. At one point I ruined the code in the start fuction and I had to ask help to the Ai because there I started having nightmares about this thing. PS. In guide inside the pomodoro timer I left some sites you can use to change the cue sound! It would be cool if someone would check that out :)...
|
1793112938.6652143
|
1793199338.6652143
|
|
41332
|
Personal site by @potionj | Stardance
|
potionj
|
2
|
32.0
|
168
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-22T00:44:09Z", "hours": 18.0, "multiplier": 14.43, "payout": 132, "blessing": "neutral", "text": "Changes -Added animations for clicking inside and outside of the black hole -Redid the profile -Minor bug fixes -A lot of performance improvements -Added pre loading for the background in the star map to minimize transition time -Bound the edges of the starmap -Improved rendering speeds at the cost of slight decrease in quality -Rebound some keybinds -Added layered esc Some notes The amount of time i spent on the zoom in animation is way too long and i spent wayyyy too much time on it Had issues changing values with the profile bc of the weird header i made long time ago Had issues loading things? Now it basically just moves the lag to sometime else To justify the questionable hr count: Writing custom rendering is very painful and i do not recommend it at all (just use a library it actually makes it so much easier), this has taken so much effort to complete so please be nice while grading :) Actually helpful info for people rating I entered the site and theres nothing to do? -Click either inside or outside the blackhole (inside leads you to my profile, outside leads you to a starmap i made) Can i use my keyboard for the starmap? -Of course, move around with w/a/s/d, zoom in/out with +/-, turn the info card opque with o Why should i give you 9 stars for all of the parts? -Because i worked rly hard on this project :) -More specifically… -Originality: I dont think you’ve seen anyone with a similar personal site have you? (if you have send it to me on slack username:29mtye) -Technicality: This uses nasa api to load in images, CUSTOM rendering, a fully functional starmap, there is performance built in, there are backups incase the site can’t find anything -Usability: Its built to not break, there might be minor bugs but it accomplishes what it should do right? -Storytelling: This ship message is split into sections so that you can find info easily, i have almost 150 commits…", "repo": "https://github.com/minye065/my-website-templated", "demo": "https://minye065.github.io/my-website-templated/"}, {"ship_num": 2, "ts": "2026-08-23T16:30:05Z", "hours": 14.0, "multiplier": 5.5, "payout": 36, "blessing": "neutral", "text": "The site is done :D Had quite some issues with getting images from the nasa database but the site has turned out quite well. Please be nice while rating as this is my first css/html project. :) Try if you can find the hidden thing.", "repo": "https://github.com/minye065/my-website-templated", "demo": "https://minye065.github.io/my-website-templated/"}]...
|
[{"post_id": 81662, "ts": "202 [{"post_id": 81662, "ts": "2026-10-21T23:12:50Z", "hours": 0.2933, "text": "Fixed minor loading issues Changed how the loading for the star map works Bound the edges of the starmap Made starmap nonscrolling"}, {"post_id": 81413, "ts": "2026-10-21T05:50:52Z", "hours": 2.9125, "text": "Added a zoom in and out animation, zoom out is far superior tho… Zoom in animation needs a lot of fixing."}, {"post_id": 80290, "ts": "2026-10-17T04:06:02Z", "hours": 2.135, "text": "Added an animation for zooming out, fixed some issues with internal stuff. (Picture is mid animation)"}, {"post_id": 79665, "ts": "2026-10-15T00:15:27Z", "hours": 1.8697, "text": "Fixed the render and tuned some more values :) Swapped the render mask for a different method. Next is adding an animation, fixing the writting and maybe more hidden things? View at: https://minye065.github.io/my-website-templated/"}, {"post_id": 74336, "ts": "2026-09-27T06:05:23Z", "hours": 2.8025, "text": "IT WORKS!!!! Never thought that it would work so easily but it does. The blackhole has been split into 2 parts, outside and inside. The outside leads to the old site (soon to be changed) and the inside to the projects and what not. The loading is very jagged and will be overlayed with something :D. The old site is now accessible after however long it was just commented out. Going to do: add loading screens (or smth) add “back” button (revolutionary i know) split the old site into starmap and portfolio"}, {"post_id": 63816, "ts": "2026-09-07T19:45:11Z", "hours": 8.275, "text": "Remade the website again? Yea i had another idea but you’ll see at the end. Currently it’s just a blackhole renderer + mask maker. The mask will go over the blackhole to map out clicks and stuff. Had some issues with centering and omega. Using the math formulas from before caused the rings of the blackhole to do weird things because of a difference in rotation speeds. This was just removed to make it smooth. The blackhole is not as accurate anymore but i dont understand it enough to fix it soooo."}, {"post_id": 53155, "ts": "2026-08-23T16:27:35Z", "hours": 10.9436, "text": "Redid basically the entire website, now has a slightly hidden feature."}, {"post_id": 38017, "ts": "2026-07-31T04:54:36Z", "hours": 2.9147, "text": "added the background"}]...
|
Title: Personal site by @potionj | Stardance
Devl Title: Personal site by @potionj | Stardance
Devlogs:
added the background
Redid basically the entire website, now has a slightly hidden feature.
Remade the website again? Yea i had another idea but you’ll see at the end. Currently it’s just a blackhole renderer + mask maker. The mask will go over the blackhole to map out clicks and stuff. Had some issues with centering and omega. Using the math formulas from before caused the rings of the blackhole to do weird things because of a difference in rotation speeds. This was just removed to make it smooth. The blackhole is not as accurate anymore but i dont understand it enough to fix it soooo.
IT WORKS!!!! Never thought that it would work so easily but it does. The blackhole has been split into 2 parts, outside and inside. The outside leads to the old site (soon to be changed) and the inside to the projects and what not. The loading is very jagged and will be overlayed with something :D. The old site is now accessible after however long it was just commented out. Going to do: add loading screens (or smth) add “back” button (revolutionary i know) split the old site into starmap and portfolio
Fixed the render and tuned some more values :) Swapped the render mask for a different method. Next is adding an animation, fixing the writting and maybe more hidden things? View at: https://minye065.github.io/my-website-templated/
Added an animation for zooming out, fixed some issues with internal stuff. (Picture is mid animation)
Added a zoom in and out animation, zoom out is far superior tho… Zoom in animation needs a lot of fixing.
Fixed minor loading issues Changed how the loading for the star map works Bound the edges of the starmap Made starmap nonscrolling
Ships:
The site is done :D Had quite some issues with getting images from the nasa database but the site has turned out quite well. Please be nice while rating as this is my first css/html project. :) Try if you can find the hidden thing.
Changes -Added animations for clicking inside and outside of the black hole -Redid the profile -Minor bug fixes -A lot of performance improvements -Added pre loading for the background in the star map to minimize transition time -Bound the edges of the starmap -Improved rendering speeds at the cost of slight decrease in quality -Rebound some keybinds -Added layered esc Some notes The amount of time i spent on the zoom in animation is way too long and i spent wayyyy too much time on it Had issues changing values with the profile bc of the weird header i made long time ago Had issues loading things? Now it basically just moves the lag to sometime else To justify the questionable hr count: Writing custom rendering is very painful and i do not recommend it at all (just use a library it actually makes it so much easier), this has taken so much effort to complete so please be nice while grading :) Actually helpful info for people rating I entered the site and theres nothing to do? -Click either inside or outside the blackhole (inside leads you to my profile, outside leads you to a starmap i made) Can i use my keyboard for the starmap? -Of course, move around with w/a/s/d, zoom in/out with +/-, turn the info card opque with o Why should i give you 9 stars for all of the parts? -Because i worked rly hard on this project :) -More specifically… -Originality: I dont think you’ve seen anyone with a similar personal site have you? (if you have send it to me on slack username:29mtye) -Technicality: This uses nasa api to load in images, CUSTOM rendering, a fully functional starmap, there is performance built in, there are backups incase the site can’t find anything -Usability: Its built to not break, there might be minor bugs but it accomplishes what it should do right? -Storytelling: This ship message is split into sections so that you can find info easily, i have almost 150 commits…...
|
1793202779.4333425
|
1793289179.4333425
|
|
41782
|
BIOSnake by @Duck | Stardance
|
Duck
|
1
|
32.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T23:24:25Z", "hours": 32.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is snake written in x86 assembly, running directly on the CPU with BIOS interrupt calls without an operating system, in under 3KB. It also includes comfort features like input buffering and thin snake drawing. It was challenging to get started programming in assembly, but once you get used to it it becomes a lot easier.", "repo": "https://github.com/duckdood/biosnake", "demo": "https://duckdood.github.io/asm_snake"}]...
|
[{"post_id": 80796, "ts": "202 [{"post_id": 80796, "ts": "2026-10-18T20:18:04Z", "hours": 0.6553, "text": "Palettes Devlog #8 Firstly I made the initial seed for for apple to be based on the current time (so it’s randomized every time you boot it up), and I added some color palettes that you can switch between with the E key."}, {"post_id": 69115, "ts": "2026-09-16T12:23:52Z", "hours": 2.6669, "text": "Miscellaneous stuff Devlog #7 I added input buffering, centered the screen, and added an end animation. I don’t really remember if I added anything else because I haven’t worked on this project in about a month and reading assembly is kinda hard."}, {"post_id": 43158, "ts": "2026-08-08T08:28:59Z", "hours": 9.6006, "text": "t h i n s n a k e Devlog #6 Thin Snake! Finally made the snake thin so it doesn’t turn into a blob. It should NOT have taken 9 hours, but it really does take a long time to program in assembly. In order to figure out how to bend the snake, it checks the segment in front of the snake, packs the info into 2 bits, and then does the same thing for the segment behind the snake. Then, it does a switch statement (At least, the closest thing to a switch statement in assembly) of the 16 possible values from those 4 bits packed together and then hardcodes drawing the segment. This implementation is definitely a bit strange and not the best way to do it, but it was the first one that worked and I didn’t want to keep trying different methods (doing anything in assembly isn’t very pleasant) (If the video looks super blurry, that’s because I recorded it at the original 320*240 resolution)"}, {"post_id": 39291, "ts": "2026-08-02T05:15:37Z", "hours": 2.0097, "text": "Nearly Finished! Devlog #5 Apples! The snake now has some food that appears on the screen. Not much to say here about the feature, it’s snake! But the implementation is a little bit more interesting. In computers, random numbers aren’t much of a thing, so you’ll usually have to settle for pseudo random numbers, but, CPUs today have an RDRAND instruction for generating random numbers from thermal noise and whatnot inside the CPU. but even though it’s on practically every chip today, I still opted not to use it, because Unseeded, so you can’t make a game seed or stuff like that, and They aren’t present on processors before 2012! And we want this snake to be able to run on the original i386, don’t we? So instead I decided to use a simple pseudo random number generator I just whipped up on the spot by multiply the seed by some big numbers and xor’ing it with itself a couple times. it’s definitely not cryptographically secure, but it’s snake, so whatever. What next? Now that the game is done, I’m gonna add a couple more features just so the game is a bit more more comfortable to play. I plan on adding: Centering the game screen (For obvious reasons) Restart button (so you don’t have to reboot the emulator) (Or if anyone runs this bare metal for some reason, the computer) Choosing colors (Because fun!) Button queuing (for convenience) Maybe some visual flair (like drawing the snake as thin, some sprites if I can figure those out, and stuff like that)"}, {"post_id": 38792, "ts": "2026-08-01T11:07:25Z", "hours": 5.5558, "text": "Hungry snake :( Devlog #4 Sadly there’s no apple yet so the snake is getting pretty hungry. The snake moves! I made the snake finally able to get longer than 1 segment through a circular style array for keeping track of the head. This means that there is an array for all the segments that store the X and Y, and the head slithers through the array overwriting the tail segment so that you don’t need to copy the whole array forward every time the snake moves. Copy problems With this way of implementing the snake, you need to shift forward all the segments in front of the snake’s head in memory so that it creates a free space in front of the head, and so the head can move into the free space instead of overwriting the tail. It’s a pretty simple concept, but I had a lot of trouble enacting this in assembly. Having to think about individual bytes isn’t something I’m used to from having data types handled automatically by higher level languages like C."}, {"post_id": 38097, "ts": "2026-07-31T09:47:36Z", "hours": 3.6206, "text": "This snake is devouring disk space Devlog #3 Reading more sectors As I was writing more assembly, I noticed a moment when whenever I added any more instructions, the screen would just go black. I knew I might be scooching up to the 512 byte limit, so I ndisasm’d the binary and found out that, sure enough, I only had 2 more bytes left! I was preparing to have use more than 512 bytes for my program, so I knew roughly what I needed to do. You just need one bios interrupt to read a couple sectors (512 byte chunks) into memory, and moved some code around, and now I have practically unlimited (a couple thousand bytes) to work with!"}, {"post_id": 37499, "ts": "2026-07-30T09:11:11Z", "hours": 1.4617, "text": "New Snake Habitats near You Devlog #2 Drawing the grid I drew a grid for the snake to move on. The code for the nested loop is not readable at all, but then again, it’s in assembly, no matter how you write it it’s unreadable. CAUTION: Please do not touch or feed snakes, or the DX register. I had an issue with the rectangle size being 0, because the size is passed to the drawing function through the DX register and I forgot that the MUL instruction doesn’t just store the result in AX, but also the DX register. This part sounds a bit weird but the stardance devlog guide says to “Include the friction” Dull Devlogs I know these devlogs may seem uneventful or dull, but writing anything in assembly is a hard task. It took me over an hour to draw a grid!"}, {"post_id": 37435, "ts": "2026-07-30T05:17:47Z", "hours": 5.9428, "text": "I have a rectangle and I’m not afraid to use it Devlog #1 Introduction This is my first devlog of making (or at least trying to make) snake without an operating system using BIOS interrupts and 16 bit x86 real mode assembly. I’ve made my functions for clearing the screen and drawing a rectangle, and it only took 5 hours to do! A lot of was also researching calling conventions, which registers can do what, and wondering why you can’t access memory with the stack pointer register (???? why cant you it LITERALLY has the word pointer in its name)"}]...
|
Title: BIOSnake by @Duck | Stardance
Devlogs:
I h Title: BIOSnake by @Duck | Stardance
Devlogs:
I have a rectangle and I’m not afraid to use it Devlog #1 Introduction This is my first devlog of making (or at least trying to make) snake without an operating system using BIOS interrupts and 16 bit x86 real mode assembly. I’ve made my functions for clearing the screen and drawing a rectangle, and it only took 5 hours to do! A lot of was also researching calling conventions, which registers can do what, and wondering why you can’t access memory with the stack pointer register (???? why cant you it LITERALLY has the word pointer in its name)
New Snake Habitats near You Devlog #2 Drawing the grid I drew a grid for the snake to move on. The code for the nested loop is not readable at all, but then again, it’s in assembly, no matter how you write it it’s unreadable. CAUTION: Please do not touch or feed snakes, or the DX register. I had an issue with the rectangle size being 0, because the size is passed to the drawing function through the DX register and I forgot that the MUL instruction doesn’t just store the result in AX, but also the DX register. This part sounds a bit weird but the stardance devlog guide says to “Include the friction” Dull Devlogs I know these devlogs may seem uneventful or dull, but writing anything in assembly is a hard task. It took me over an hour to draw a grid!
This snake is devouring disk space Devlog #3 Reading more sectors As I was writing more assembly, I noticed a moment when whenever I added any more instructions, the screen would just go black. I knew I might be scooching up to the 512 byte limit, so I ndisasm’d the binary and found out that, sure enough, I only had 2 more bytes left! I was preparing to have use more than 512 bytes for my program, so I knew roughly what I needed to do. You just need one bios interrupt to read a couple sectors (512 byte chunks) into memory, and moved some code around, and now I have practically unlimited (a couple thousand bytes) to work with!
Hungry snake :( Devlog #4 Sadly there’s no apple yet so the snake is getting pretty hungry. The snake moves! I made the snake finally able to get longer than 1 segment through a circular style array for keeping track of the head. This means that there is an array for all the segments that store the X and Y, and the head slithers through the array overwriting the tail segment so that you don’t need to copy the whole array forward every time the snake moves. Copy problems With this way of implementing the snake, you need to shift forward all the segments in front of the snake’s head in memory so that it creates a free space in front of the head, and so the head can move into the free space instead of overwriting the tail. It’s a pretty simple concept, but I had a lot of trouble enacting this in assembly. Having to think about individual bytes isn’t something I’m used to from having data types handled automatically by higher level languages like C.
Nearly Finished! Devlog #5 Apples! The snake now has some food that appears on the screen. Not much to say here about the feature, it’s snake! But the implementation is a little bit more interesting. In computers, random numbers aren’t much of a thing, so you’ll usually have to settle for pseudo random numbers, but, CPUs today have an RDRAND instruction for generating random numbers from thermal noise and whatnot inside the CPU. but even though it’s on practically every chip today, I still opted not to use it, because Unseeded, so you can’t make a game seed or stuff like that, and They aren’t present on processors before 2012! And we want this snake to be able to run on the original i386, don’t we? So instead I decided to use a simple pseudo random number generator I just whipped up on the spot by multiply the seed by some big numbers and xor’ing it with itself a couple times. it’s definitely not cryptographically secure, but it’s snake, so whatever. What next? Now that the game is done, I’m gonna add a couple more features just so the game is a bit more more comfortable to play. I plan on adding: Centering the game screen (For obvious reasons) Restart button (so you don’t have to reboot the emulator) (Or if anyone runs this bare metal for some reason, the computer) Choosing colors (Because fun!) Button queuing (for convenience) Maybe some visual flair (like drawing the snake as thin, some sprites if I can figure those out, and stuff like that)
t h i n s n a k e Devlog #6 Thin Snake! Finally made the snake thin so it doesn’t turn into a blob. It should NOT have taken 9 hours, but it really does take a long time to program in assembly. In order to figure out how to bend the snake, it checks the segment in front of the snake, packs the info into 2 bits, and then does the same thing for the segment behind the snake. Then, it does a switch statement (At least, the closest thing to a switch statement in assembly) of the 16 possible values from those 4 bits packed together and then hardcodes drawing the segment. This implementation is definitely a bit strange and not the best way to do it, but it was the first one that worked and I didn’t want to keep trying different methods (doing anything in assembly isn’t very pleasant) (If the video looks super blurry, that’s because I recorded it at the original 320*240 resolution)
Miscellaneous stuff Devlog #7 I added input buffering, centered the screen, and added an end animation. I don’t really remember if I added anything else because I haven’t worked on this project in about a month and reading assembly is kinda hard.
Palettes Devlog #8 Firstly I made the initial seed for for apple to be based on the current time (so it’s randomized every time you boot it up), and I added some color palettes that you can switch between with the E key.
Ships:
This is snake written in x86 assembly, running directly on the CPU with BIOS interrupt calls without an operating system, in under 3KB. It also includes comfort features like input buffering and thin snake drawing. It was challenging to get started programming in assembly, but once you get used to it it becomes a lot easier....
|
1793155921.5354595
|
1793242321.5354595
|
|
50559
|
AmateurWare by @amateur_tech_guy | Stardance
|
amateur_tech_guy
|
3
|
32.0
|
163
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T19:58:15Z", "hours": 12.0, "multiplier": 9.05, "payout": 110, "blessing": "neutral", "text": "AmateurWare(once again) PLEASE READ!! If you get an error saying WEBGL is not working, or something along those lines, that is NOT from me, its from your browser, I’m no expert so I don’t know the fix to that unfortunetly:( Anyways I listened to the reviews and fixed everything asked of me, except for the animation part, i drew 3 frames of my sprite but i just couldnt animate it for some reason, im sorry for disappointing yall at that part. But the good news is I added a score system just like requested, someone said let the score change on every run and i made that! finish 20 minigames or more and get the win screen, finish less than 20 minigames and get the losers screen:P GOODLUCK AND THANKS FOR TUNING IN", "repo": "https://github.com/amateurtechguy/AmateurWare", "demo": "https://amateurtechguy.itch.io/amateurware"}, {"ship_num": 2, "ts": "2026-08-27T17:43:40Z", "hours": 8.0, "multiplier": 8.98, "payout": 53, "blessing": "neutral", "text": "AmateurWare AmateurWare’s new update contains 4 new minigames made entirely from brainstorming and implying the previously learnt skills into this game, I really was having fun until lapse and hackatime started tweaking, it wasn’t fun losing all of those hours of work, but at last I’m done, I know the games aren’t really creative but it’s the best I could do as a beginner forgive me y’all. I’m really proud of how the game turned out tho, it had a lot of bugs that pissed me off, but I ended up debugging them SOMEHOW I myself don’t even know how I managed but either way, thanks to anyone and everyone who were invested in the making of this game, safe to say might add more minigames in the future:)", "repo": "https://github.com/amateurtechguy/AmateurWare", "demo": "https://amateurtechguy.itch.io/amateurware"}, {"ship_num": 3, "ts": "2026-08-24T15:40:13Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "** AmateurWare ** This is genuinely the most fun thing I ever had to make, I enjoyed playing it as well even if it only had 2 minigames, it falls in the requirements which is neat, planning to make more minigames on my second ship. I’m really proud of myself for not giving up at this point and I’m really proud of my pixel art, that took me HOURS to make each, I have no experience or interest in it but I figured it would look good in my game!", "repo": "https://github.com/amateurtechguy/AmateurWare", "demo": "https://amateurtechguy.itch.io/amateurware"}]...
|
[{"post_id": 59157, "ts": "202 [{"post_id": 59157, "ts": "2026-08-31T19:45:53Z", "hours": 2.7789, "text": "devlog #21: I added miningame 7, idk why the shooting sound effect plays whenever it wants to and the animation doesnt work but ill be completely honest. Animating is NOT my thing and if i have to spend another hour trying to animation something, shoot me anyways time to ship AND i also enhanced the buttons cause someone said it looks too bland so, i changed it to my color scheme:)"}, {"post_id": 58963, "ts": "2026-08-31T15:10:12Z", "hours": 0.3206, "text": "devlog #20: for some reason, the animation won’t work, I might ship this with no animation and keep it just like that, time wasted on the sprite design but it’s whatever i guess it doesnt want to align for some reason, either way atleast I tried, ill make minigame 7 and then ill ship it, and for the record i did NOT only spend 19 minutes on this i have no idea why it says that"}, {"post_id": 58619, "ts": "2026-08-31T03:13:55Z", "hours": 2.2336, "text": "devlog #19: i finished drawing the walk animation and now im just trying to apply it to godot, as you can tell im no expert at this haha"}, {"post_id": 58471, "ts": "2026-08-30T21:46:55Z", "hours": 0.6211, "text": "devlog #18: got the score system working, now if you finish under 20 minigames before losing all your lives you get the first screen, if you get 20 or more you get the second screen, thats your score!! also, forgot to mention someone complained about minigame 3 and told me that the stardust only falls on the right side so i fixed that too, might add minigame 7 next and then ill look through the reviews and see more recommendations"}, {"post_id": 58423, "ts": "2026-08-30T20:38:59Z", "hours": 2.2503, "text": "devlog #17: worked on my second frame of the walk animation, just as i was asked. all i need is a third one and the walk animation will be done, but ill focus on that later, rn i still have to debug the game because the levels arent working anymore due to some issues in the code"}, {"post_id": 58309, "ts": "2026-08-30T18:00:37Z", "hours": 1.8167, "text": "devlog #16: taking the reviwer’s advices and makiing an animation that way the character isnt so bland, I made frame 1/3 ima finish all of them tonight tho. heres the left and right frame i just made it and reverted the duplicate cause im not that dedicated on animating each frame"}, {"post_id": 57731, "ts": "2026-08-30T00:08:22Z", "hours": 1.8525, "text": "devlog #15: okay so i read the reviews and a lot of people recommended that i should add a score system instead of winning after level 5, but i spent a long time on my pixel art so heres the plan, if a player has less than 10 minigames beat they get the lose scene however if they have more they get the win scene with the celebrations and everything, and the amount of minigames played will depend more on the player rather than the code"}, {"post_id": 55753, "ts": "2026-08-27T18:53:24Z", "hours": 0.2639, "text": "I accidentally shiped it without connecting the mission to it bruhhhhhh what do i do i thought i did"}, {"post_id": 55691, "ts": "2026-08-27T17:36:08Z", "hours": 0.6239, "text": "devlog #13: finally done with this, maybe in the future ill add some but im really mad at lapse and for not logging 90% of my time either way minigame 6/6 DONE, the target disappears and appears randomly and you have to click it before the timer ends"}, {"post_id": 55546, "ts": "2026-08-27T13:58:04Z", "hours": 2.9961, "text": "devlog #12: I have no idea whats going on with my lapse because it won’t let me log my hours in and its frustrating it keeps saying cannot calculate hours and i have no idea what all that is about but its whatever, 4 hours wasted, anyways minigame 5/6 done"}, {"post_id": 55187, "ts": "2026-08-26T18:09:52Z", "hours": 1.6167, "text": "devlog # 11: I have been working on minigame 4, which is stop the needle i know the needle looks kind of ugly but its the best I could do with how frustrating it was to even make this game, either way game 4/6 done :D THIS IS AN EDIT so im editing this the same day i posted it i logged 4 hours on lapse, i made minigame 5 and 6 and now im done, but it says cannot caluclate hours so i have to disclose it here!!"}, {"post_id": 54710, "ts": "2026-08-25T19:43:35Z", "hours": 1.5814, "text": "devlog #10: game 3/6 completed and i also debugged the game randomization algorithm that way you can’t play the same game twice in a row!"}, {"post_id": 54572, "ts": "2026-08-25T16:23:42Z", "hours": 1.2572, "text": "devlog #9: I’m adding minigame n3 and I’m sure everyone is familiar with this minigame, I decided to make a different minigame each day until i reach 5 or 6 minigames and then i’ll ship it for the second time!"}, {"post_id": 53819, "ts": "2026-08-24T14:52:26Z", "hours": 2.0883, "text": "devlog #8: I officially debugged minigame 2 and it works just fine now, I also had to figure out how to keep the music running throughtout the main screen and the settings scene, and i finished designing the sprite for it now the settings screen is fully functional and designed, ill prob be adding more minigames on my second ship, wish me luck:)"}, {"post_id": 53232, "ts": "2026-08-23T17:50:17Z", "hours": 1.1306, "text": "devlog #7: Well, gotta say I’m completely done with minigame n1 the only thing that bothers me is the fact that my sprite has no animation but its fully functional, now i’m on minigame 2 and im struggling a bit because of the code, however I am enjoying this"}, {"post_id": 53057, "ts": "2026-08-23T13:37:02Z", "hours": 0.4231, "text": "devlog #6: gave the character a glow up and I debugged the game, now it works perfectly, the only thing that bothers me about it is the fact that my character has no animation but i spent hours and i mean HOURS making the character alone i cant be asked to animate him it would be so hard, anyways minigame 1 done, now all we need is one more or maybe two more minigames and then were done for our first ship!"}, {"post_id": 52644, "ts": "2026-08-22T21:39:33Z", "hours": 1.6458, "text": "devlog #5: redesigned the ugly green platforms and made them brick, also did some backend coding and i might redesign my character, i stilll have abit of debugging but im almost finished with minigame n1!"}, {"post_id": 52291, "ts": "2026-08-22T12:27:30Z", "hours": 1.7856, "text": "devlog #4: Today I started working on the backend of my minigame, i added stardust as collectibles but im kind og trying to debug stuff cause the timer scene doesnt want to appear on the corner for some reason, either way i debugged the animation so the stardust are actually floating up and down now! either way I’m almost done"}, {"post_id": 51912, "ts": "2026-08-21T20:24:04Z", "hours": 1.8633, "text": "devlog #3: I finally made my loading screen functional and I made my character all that’s left for me now are the mini games, pic n2 is a sneak peak of my first minigame’s background:D"}, {"post_id": 51801, "ts": "2026-08-21T17:18:34Z", "hours": 1.8147, "text": "devlog #2: Hey guys so I know I didnt do much on this project earlier but now i added a level scene, gonna make the game have like 2 or 3 minigames cause I’m not really feeling well, i would make more but i cant unfortunately :( but its really fun making this game im not gonna lie im learning a new programming language while making this game so its really fun!"}, {"post_id": 51626, "ts": "2026-08-21T12:26:17Z", "hours": 0.7833, "text": "devlog #1: Hi guys, I’m sick so I’m sorry for the lack of effort in my projects lately, but anyways I have started on a game called AmateurWare and I don’t have much rn but we’ll see how this goes"}]...
|
Title: AmateurWare by @amateur_tech_guy | Stardanc Title: AmateurWare by @amateur_tech_guy | Stardance
Devlogs:
devlog #1: Hi guys, I’m sick so I’m sorry for the lack of effort in my projects lately, but anyways I have started on a game called AmateurWare and I don’t have much rn but we’ll see how this goes
devlog #2: Hey guys so I know I didnt do much on this project earlier but now i added a level scene, gonna make the game have like 2 or 3 minigames cause I’m not really feeling well, i would make more but i cant unfortunately :( but its really fun making this game im not gonna lie im learning a new programming language while making this game so its really fun!
devlog #3: I finally made my loading screen functional and I made my character all that’s left for me now are the mini games, pic n2 is a sneak peak of my first minigame’s background:D
devlog #4: Today I started working on the backend of my minigame, i added stardust as collectibles but im kind og trying to debug stuff cause the timer scene doesnt want to appear on the corner for some reason, either way i debugged the animation so the stardust are actually floating up and down now! either way I’m almost done
devlog #5: redesigned the ugly green platforms and made them brick, also did some backend coding and i might redesign my character, i stilll have abit of debugging but im almost finished with minigame n1!
devlog #6: gave the character a glow up and I debugged the game, now it works perfectly, the only thing that bothers me about it is the fact that my character has no animation but i spent hours and i mean HOURS making the character alone i cant be asked to animate him it would be so hard, anyways minigame 1 done, now all we need is one more or maybe two more minigames and then were done for our first ship!
devlog #7: Well, gotta say I’m completely done with minigame n1 the only thing that bothers me is the fact that my sprite has no animation but its fully functional, now i’m on minigame 2 and im struggling a bit because of the code, however I am enjoying this
devlog #8: I officially debugged minigame 2 and it works just fine now, I also had to figure out how to keep the music running throughtout the main screen and the settings scene, and i finished designing the sprite for it now the settings screen is fully functional and designed, ill prob be adding more minigames on my second ship, wish me luck:)
devlog #9: I’m adding minigame n3 and I’m sure everyone is familiar with this minigame, I decided to make a different minigame each day until i reach 5 or 6 minigames and then i’ll ship it for the second time!
devlog #10: game 3/6 completed and i also debugged the game randomization algorithm that way you can’t play the same game twice in a row!
devlog # 11: I have been working on minigame 4, which is stop the needle i know the needle looks kind of ugly but its the best I could do with how frustrating it was to even make this game, either way game 4/6 done :D THIS IS AN EDIT so im editing this the same day i posted it i logged 4 hours on lapse, i made minigame 5 and 6 and now im done, but it says cannot caluclate hours so i have to disclose it here!!
devlog #12: I have no idea whats going on with my lapse because it won’t let me log my hours in and its frustrating it keeps saying cannot calculate hours and i have no idea what all that is about but its whatever, 4 hours wasted, anyways minigame 5/6 done
devlog #13: finally done with this, maybe in the future ill add some but im really mad at lapse and for not logging 90% of my time either way minigame 6/6 DONE, the target disappears and appears randomly and you have to click it before the timer ends
I accidentally shiped it without connecting the mission to it bruhhhhhh what do i do i thought i did
devlog #15: okay so i read the reviews and a lot of people recommended that i should add a score system instead of winning after level 5, but i spent a long time on my pixel art so heres the plan, if a player has less than 10 minigames beat they get the lose scene however if they have more they get the win scene with the celebrations and everything, and the amount of minigames played will depend more on the player rather than the code
devlog #16: taking the reviwer’s advices and makiing an animation that way the character isnt so bland, I made frame 1/3 ima finish all of them tonight tho. heres the left and right frame i just made it and reverted the duplicate cause im not that dedicated on animating each frame
devlog #17: worked on my second frame of the walk animation, just as i was asked. all i need is a third one and the walk animation will be done, but ill focus on that later, rn i still have to debug the game because the levels arent working anymore due to some issues in the code
devlog #18: got the score system working, now if you finish under 20 minigames before losing all your lives you get the first screen, if you get 20 or more you get the second screen, thats your score!! also, forgot to mention someone complained about minigame 3 and told me that the stardust only falls on the right side so i fixed that too, might add minigame 7 next and then ill look through the reviews and see more recommendations
devlog #19: i finished drawing the walk animation and now im just trying to apply it to godot, as you can tell im no expert at this haha
devlog #20: for some reason, the animation won’t work, I might ship this with no animation and keep it just like that, time wasted on the sprite design but it’s whatever i guess it doesnt want to align for some reason, either way atleast I tried, ill make minigame 7 and then ill ship it, and for the record i did NOT only spend 19 minutes on this i have no idea why it says that
devlog #21: I added miningame 7, idk why the shooting sound effect plays whenever it wants to and the animation doesnt work but ill be completely honest. Animating is NOT my thing and if i have to spend another hour trying to animation something, shoot me anyways time to ship AND i also enhanced the buttons cause someone said it looks too bland so, i changed it to my color scheme:)
Ships:
** AmateurWare ** This is genuinely the most fun thing I ever had to make, I enjoyed playing it as well even if it only had 2 minigames, it falls in the requirements which is neat, planning to make more minigames on my second ship. I’m really proud of myself for not giving up at this point and I’m really proud of my pixel art, that took me HOURS to make each, I have no experience or interest in it but I figured it would look good in my game!
AmateurWare AmateurWare’s new update contains 4 new minigames made entirely from brainstorming and implying the previously learnt skills into this game, I really was having fun until lapse and hackatime started tweaking, it wasn’t fun losing all of those hours of work, but at last I’m done, I know the games aren’t really creative but it’s the best I could do as a beginner forgive me y’all. I’m really proud of how the game turned out tho, it had a lot of bugs that pissed me off, but I ended up debugging them SOMEHOW I myself don’t even know how I managed but either way, thanks to anyone and everyone who were invested in the making of this game, safe to say might add more minigames in the future:)
AmateurWare(once again) PLEASE READ!! If you get an error saying WEBGL is not working, or something along those lines, that is NOT from me, its from your browser, I’m no expert so I don’t know the fix to that unfortunetly:( Anyways I listened to the reviews and fixed everything asked of me, except for the animation part, i drew 3 frames of my sprite but i just couldnt animate it for some reason, im sorry for disappointing yall at that part. But the good news is I added a score system just like requested, someone said let the score change on every run and i made that! finish 20 minigames or more and get the win screen, finish less than 20 minigames and get the losers screen:P GOODLUCK AND THANKS FOR TUNING IN...
|
1793141500.9631712
|
1793227900.9631712
|