|
10501
|
My first slack bot! by @visruth_g | Stardance
|
visruth_g
|
0
|
1.52
|
0
|
[]
|
[{"post_id": 6140, "ts": "2026 [{"post_id": 6140, "ts": "2026-06-10T10:16:08Z", "hours": 0.5219, "text": "i just finished pushing the code of my slack bot into GitHub hopefully i can ship it soon so everyone can try it out at the earliest!!"}, {"post_id": 5519, "ts": "2026-06-09T10:20:07Z", "hours": 0.9992, "text": "hey guys this is my first hack club project and i have decided to make a simple slack bot which replies 24/7. (i named it happy helper cuz nothing else came to mind)."}]...
|
Title: My first slack bot! by @visruth_g | Stardan Title: My first slack bot! by @visruth_g | Stardance
Devlogs:
hey guys this is my first hack club project and i have decided to make a simple slack bot which replies 24/7. (i named it happy helper cuz nothing else came to mind).
i just finished pushing the code of my slack bot into GitHub hopefully i can ship it soon so everyone can try it out at the earliest!!...
|
1793408065.5134754
|
1794012865.5134754
|
|
10502
|
星球大战 by @bugjiang | Stardance
|
bugjiang
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 星球大战 by @bugjiang | Stardance
|
1793389682.5248587
|
1793994482.5248587
|
|
10503
|
Untitled by @tirth | Stardance
|
tirth
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @tirth | Stardance
|
1793217377.5808322
|
1793822177.5808322
|
|
10504
|
My awesome macropad! by @riya_mendiratta_1 | Stard My awesome macropad! by @riya_mendiratta_1 | Stardance...
|
riya_mendiratta_1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @riya_mendiratta_1 Title: My awesome macropad! by @riya_mendiratta_1 | Stardance...
|
1793246087.215898
|
1793850887.215898
|
|
10505
|
Pacman Game by @Armaan | Stardance
|
Armaan
|
1
|
2.16
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T02:13:35Z", "hours": 0.0, "multiplier": 1.05, "payout": 2, "blessing": "neutral", "text": "I made a Pacman Game. The issues I had was constantly having errors in my code. I used a tutorial from Youtuber Kenny Yip Coding: Here’s the link to his YT ( https://www.youtube.com/watch?v=WxeTMsaSOaA&t=3942s ) Don’t C&P the parentheses.", "repo": "https://github.com/ArmaanLambsar/PacManProject2", "demo": "https://armaanlambsar.github.io/PacManProject2/"}]...
|
[{"post_id": 26389, "ts": "202 [{"post_id": 26389, "ts": "2026-07-11T04:41:07Z", "hours": 2.1594, "text": "This is my first project and a fully functional game of Pacman made from a tutorial. I might eventually add a feature of scared ghosts and more levels as I advance in coding but as of right now, I will keep this as a main final but later I will iterate off of this project."}, {"post_id": 5332, "ts": "2026-06-09T02:08:15Z", "hours": 0.0, "text": "A Fully Functional Pacman Game with moving Ghosts and Pacman. This is my first project and a fully functional game of Pacman made from a tutorial. I might eventually add a feature of scared ghosts and more levels as I advance in coding but as of right now, I will keep this as a main final but later I will iterate off of this project."}]...
|
Title: Pacman Game by @Armaan | Stardance
Devlogs Title: Pacman Game by @Armaan | Stardance
Devlogs:
A Fully Functional Pacman Game with moving Ghosts and Pacman. This is my first project and a fully functional game of Pacman made from a tutorial. I might eventually add a feature of scared ghosts and more levels as I advance in coding but as of right now, I will keep this as a main final but later I will iterate off of this project.
This is my first project and a fully functional game of Pacman made from a tutorial. I might eventually add a feature of scared ghosts and more levels as I advance in coding but as of right now, I will keep this as a main final but later I will iterate off of this project.
Ships:
I made a Pacman Game. The issues I had was constantly having errors in my code. I used a tutorial from Youtuber Kenny Yip Coding: Here’s the link to his YT ( https://www.youtube.com/watch?v=WxeTMsaSOaA&t=3942s ) Don’t C&P the parentheses....
|
1793264126.8596087
|
1793350526.8596087
|
|
10506
|
My first slack bot! by @ayushanandbtcs | Stardance
|
ayushanandbtcs
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @ayushanandbtcs | St Title: My first slack bot! by @ayushanandbtcs | Stardance...
|
1793303641.7561965
|
1793908441.7561965
|
|
10507
|
Photonically Motivating My Neurons by @VM | Starda Photonically Motivating My Neurons by @VM | Stardance...
|
VM
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Photonically Motivating My Neurons by @VM | Title: Photonically Motivating My Neurons by @VM | Stardance...
|
1793195583.7053828
|
1793800383.7053828
|
|
10508
|
my own portfolio by @kulkarniparis01 | Stardance
|
kulkarniparis01
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: my own portfolio by @kulkarniparis01 | Star Title: my own portfolio by @kulkarniparis01 | Stardance...
|
1793170179.357856
|
1793774979.357856
|
|
10509
|
tmp by @dz | Stardance
|
dz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: tmp by @dz | Stardance
|
1793159377.5736592
|
1793764177.5736592
|
|
10510
|
My awesome macropad! by @BananaChicken100 | Starda My awesome macropad! by @BananaChicken100 | Stardance...
|
BananaChicken100
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @BananaChicken100 | Title: My awesome macropad! by @BananaChicken100 | Stardance...
|
1793461773.755594
|
1794066573.755594
|
|
10511
|
PixelPad by @pxverkso | Stardance
|
pxverkso
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: PixelPad by @pxverkso | Stardance
|
1793325275.9675715
|
1793930075.9675715
|
|
10512
|
Website by @malikaadil1225 | Stardance
|
malikaadil1225
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Website by @malikaadil1225 | Stardance
|
1793163218.2650108
|
1793768018.2650108
|
|
10513
|
Gardening in Space by @HeyoItsRaleo | Stardance
|
HeyoItsRaleo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Gardening in Space by @HeyoItsRaleo | Stard Title: Gardening in Space by @HeyoItsRaleo | Stardance...
|
1793450922.9285989
|
1794055722.9285989
|
|
10514
|
My awesome macropad! by @someone_you_know | Starda My awesome macropad! by @someone_you_know | Stardance...
|
someone_you_know
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @someone_you_know | Title: My awesome macropad! by @someone_you_know | Stardance...
|
1793270907.2394557
|
1793875707.2394557
|
|
10515
|
hack club idea generator by @alpaca12-34 | Stardan hack club idea generator by @alpaca12-34 | Stardance...
|
alpaca12-34
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: hack club idea generator by @alpaca12-34 | Title: hack club idea generator by @alpaca12-34 | Stardance...
|
1793411360.876989
|
1794016160.876989
|
|
10516
|
Macropad by @Wizardpenguins | Stardance
|
Wizardpenguins
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Macropad by @Wizardpenguins | Stardance
|
1793462045.3507926
|
1794066845.3507926
|
|
10517
|
Sorting algorithm stuff by @4lvaret | Stardance
|
4lvaret
|
0
|
1.19
|
0
|
[]
|
[{"post_id": 4033, "ts": "2026 [{"post_id": 4033, "ts": "2026-06-07T06:44:05Z", "hours": 1.1922, "text": "so i made a comparison tool for different sorting algorithms, really stupid and low quality but it works?"}]...
|
Title: Sorting algorithm stuff by @4lvaret | Stard Title: Sorting algorithm stuff by @4lvaret | Stardance
Devlogs:
so i made a comparison tool for different sorting algorithms, really stupid and low quality but it works?...
|
1793408082.737233
|
1794012882.737233
|
|
10518
|
BIYAHE by @Prince_Dale | Stardance
|
Prince_Dale
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BIYAHE by @Prince_Dale | Stardance
|
1793476305.1448236
|
1794081105.1448236
|
|
10519
|
Input recorder by @menswass | Stardance
|
menswass
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Input recorder by @menswass | Stardance
|
1793213705.98837
|
1793818505.98837
|
|
10520
|
Autonomous Multi-Agent Framework for Intelligent D Autonomous Multi-Agent Framework for Intelligent Dispute Resolution and Policy-Driven Quality Assurance in E-Commerce Ec by @Rasi_Boi | Stardance...
|
Rasi_Boi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Autonomous Multi-Agent Framework for Intell Title: Autonomous Multi-Agent Framework for Intelligent Dispute Resolution and Policy-Driven Quality Assurance in E-Commerce Ec by @Rasi_Boi | Stardance...
|
1793458058.2823539
|
1794062858.2823539
|
|
10521
|
A Shot in the Dark by @maxigoogolplex | Stardance
|
maxigoogolplex
|
0
|
4.37
|
0
|
[]
|
[{"post_id": 17062, "ts": "202 [{"post_id": 17062, "ts": "2026-06-27T18:20:58Z", "hours": 4.3711, "text": "here is a godot game i have been working on called “a shot in the dark,” a 2D top-down shooter where you have to rely on sound to know where enemies are currently, i have made: movement a basic arena enemy & player designs player death a menu basic gun mechanics"}]...
|
Title: A Shot in the Dark by @maxigoogolplex | Sta Title: A Shot in the Dark by @maxigoogolplex | Stardance
Devlogs:
here is a godot game i have been working on called “a shot in the dark,” a 2D top-down shooter where you have to rely on sound to know where enemies are currently, i have made: movement a basic arena enemy & player designs player death a menu basic gun mechanics...
|
1793422566.991394
|
1794027366.991394
|
|
10522
|
My first slack bot! by @shwetanshuforclasses | Sta My first slack bot! by @shwetanshuforclasses | Stardance...
|
shwetanshuforclasses
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @shwetanshuforclasse Title: My first slack bot! by @shwetanshuforclasses | Stardance...
|
1793321560.7988367
|
1793926360.7988367
|
|
10523
|
My awesome macropad! by @CactusXY | Stardance
|
CactusXY
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @CactusXY | Stardan Title: My awesome macropad! by @CactusXY | Stardance...
|
1793271219.6099932
|
1793876019.6099932
|
|
10524
|
My first slack bot! by @angxah | Stardance
|
angxah
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @angxah | Stardance
|
1793188043.3098097
|
1793792843.3098097
|
|
10525
|
My awesome macropad! by @Richie_123 | Stardance
|
Richie_123
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Richie_123 | Stard Title: My awesome macropad! by @Richie_123 | Stardance...
|
1793285495.600979
|
1793890295.600979
|
|
10526
|
Insert's Enchanting by @InsertUser | Stardance
|
InsertUser
|
0
|
54.66
|
0
|
[]
|
[{"post_id": 28317, "ts": "202 [{"post_id": 28317, "ts": "2026-07-14T14:23:33Z", "hours": 5.0756, "text": "Sewing Machine, Enchantments, and MORE!!! Changes Made: Fixed Z-Buffering on the Sewing Machine Block Updated the hitbox on the Sewing Machine Block Additions: Sewing Needle: Used to apply enchancments Enchanted Thread: Used to apply enchancments Sewing Machine: Used to apply enchancments onto items Sewing Machine GUI: Slot for the sewing needle, enchanted thread, application item, and the enchancing book. Lightfooted now has functionality!!!! Bug Fixes: Hitbox not being able to rotate Tooltip not rendering on applied items Developer Notes: More enchants to come! Mod is almost finished, and Im very happy with how it is :3"}, {"post_id": 25145, "ts": "2026-07-09T05:21:23Z", "hours": 3.1131, "text": "New Block Alert!!! The Sewing Machine Will be used to apply enchances onto items! Nothing much else to add, more content soon! Developer Notes: Over 2 thousand keyframes for the animations"}, {"post_id": 24113, "ts": "2026-07-07T14:03:19Z", "hours": 9.2206, "text": "Function to Table of Enchancing, Enchancing Books, and more! Huge update in terms of progress. Once again on vacation so progress has slowed a little. But now that I’m back home, I’m getting back on track. Changes Made: Formula of the Scalpel has been nerfed due to villager trading. Maximum slots of Table of Enchancing bumped from 8 to 13 to allow for more complicated enchants. Base slots increased from 2 to 3 Additions: Recipes for all item (will not get in depth) Empty Enchancing Book Enchancing Book Fully Json ran crafting system for the Table of Enchancing : Supports 2 crafting types: Items and Enchants Fully customizable Enchancments!!!!! “Lightfooted”: Speed boost on damage “Sharpshooter”: Farther you are from your target, the heavier your shots hit Tool tip for the Book of Enchancing to display enchant desc and levels Bugs: Nbt data of the slider value for the Table of enchancing not working? To-dos: Functions for the enchants Allow for application of the enchants in an anvil Developer Notes: Drop suggestions and ideas for enchants in the comments! I need inspo!"}, {"post_id": 15552, "ts": "2026-06-25T08:55:02Z", "hours": 20.3953, "text": "VERY big content update! I know it’s been 20 hours… Why? Ive been on vacation, and most of these hours were done in a location without access to data or Wi-Fi. First time making a GUI in Minecraft! How was it? Absolutely horrible. Changes Made: Remapped the entire project to yarn mappings, because they are more intuitive than the Mojang ones, as well as every documentation on fabric using it. Refactored most of the project for organization purposes. Additions: Scalpel Item: Used while holding a normal enchanting book in offhand to cut out an Extracted Scripture Amount gained depends on the # of enchantments the enchanting book has. Each book can be extracted a total of 7 times Extracted Scripture: Used to make Repaired Scriptures Enchancing Menu: Very pretty Dynamic Hex Wheel, capable of holding up to 8 items used for enchantments Slider, taking repaired scriptures as fuel to change the number of slots in the hex Server & Client linking with the use of Payloads to prevent any duping or ect. Data saving with the use of NBT data of both the items inside and the slider value Repaired Scripture: Used as the fuel for the Enchancing Menu Dynamic Slots: For GUI’s, bypasses the Mojang blockers that disallow the movement or hiding of Slots. To-Do: Code the crafting system for the Enchancing menu Recipies for all items Sfx for all items Enchantments Developer Notes: Server syncing is horrible. It took me forever to get it to work properly. The process of making the GUI was also very, very annoying because of Mojang’s blocking of moving and hiding slots. Had to get away with this by using @Mutable and @Accessors . Spent a lot of good time on the art, and I’m very proud of how it all came out. I can’t wait to FINALLY start on the enchants!"}, {"post_id": 11131, "ts": "2026-06-18T06:33:31Z", "hours": 6.6092, "text": "Enchancing Table & More Additions: Modeled and Animated the Enchancing Table 2 block tall hitbox for the Experience Pump 2 block wide hitbox for the Enchancing Table Custom hitboxes for both blocks Tool preferences for both blocks Fixes: Fixed alot of errors regarding item models, geckolib and vanilla incompatabilies. Fixed the rendering of the condensed experience acting strange in game Notes: I hate the vanilla limitations of models. Spent 2 hours converting the Enchancing Table model to vanilla from a geckolib model. Because of vanillas angle limits and rotation limits, it was a horrible experience. 0/10 Doubles blocks were also a pain to implement. I was able to find little documentation regarding it so it was ALOT of experimenting. Future Plans: I plan to work on the GUI of the Enchancing table, and some custom recipes to make the process feel more immersive."}, {"post_id": 7859, "ts": "2026-06-13T03:14:57Z", "hours": 6.5725, "text": "Ive been working on the functionality of the experience pump. I also added the “Condensed Experience” Item for later purposes that can be obtained by using the experience pump. Taking a total of 100 exp points, and giving 100 exp points when used. I also implemented GeckoLib for animations regarding pumping, to make the entire action feel more polished. Because of Fabric (Yarn) ’s weird actions regarding experience, I had to scrap the level <-> points conversion formulas off of the wiki and code my own conversion functions. Overall, i’m learning alot. My progress, in my opinion, is pretty slow, but after all, this is my first time modding in fabric/using geckolib."}, {"post_id": 6274, "ts": "2026-06-10T15:30:59Z", "hours": 3.6769, "text": "First time developing a Minecraft mod for fabric! It’s pretty annoying considering the fabric documentations are most in-depth for 26.1.2, and not the version I plan the mod to be on (1.21.1) After a few hours of experimenting and researching, I was able to get the environment setup, the debug client configured, and some basic blocks/items implemented. I already have a plan for the reworked system, I plan for many new enchantments, QOL features, and a more in-depth system for enchanting overall. I’ve started with modeling an “experience pump” to convert EXP into an Item form. This would most likely be used in the future."}]...
|
Title: Insert's Enchanting by @InsertUser | St Title: Insert's Enchanting by @InsertUser | Stardance
Devlogs:
First time developing a Minecraft mod for fabric! It’s pretty annoying considering the fabric documentations are most in-depth for 26.1.2, and not the version I plan the mod to be on (1.21.1) After a few hours of experimenting and researching, I was able to get the environment setup, the debug client configured, and some basic blocks/items implemented. I already have a plan for the reworked system, I plan for many new enchantments, QOL features, and a more in-depth system for enchanting overall. I’ve started with modeling an “experience pump” to convert EXP into an Item form. This would most likely be used in the future.
Ive been working on the functionality of the experience pump. I also added the “Condensed Experience” Item for later purposes that can be obtained by using the experience pump. Taking a total of 100 exp points, and giving 100 exp points when used. I also implemented GeckoLib for animations regarding pumping, to make the entire action feel more polished. Because of Fabric (Yarn) ’s weird actions regarding experience, I had to scrap the level <-> points conversion formulas off of the wiki and code my own conversion functions. Overall, i’m learning alot. My progress, in my opinion, is pretty slow, but after all, this is my first time modding in fabric/using geckolib.
Enchancing Table & More Additions: Modeled and Animated the Enchancing Table 2 block tall hitbox for the Experience Pump 2 block wide hitbox for the Enchancing Table Custom hitboxes for both blocks Tool preferences for both blocks Fixes: Fixed alot of errors regarding item models, geckolib and vanilla incompatabilies. Fixed the rendering of the condensed experience acting strange in game Notes: I hate the vanilla limitations of models. Spent 2 hours converting the Enchancing Table model to vanilla from a geckolib model. Because of vanillas angle limits and rotation limits, it was a horrible experience. 0/10 Doubles blocks were also a pain to implement. I was able to find little documentation regarding it so it was ALOT of experimenting. Future Plans: I plan to work on the GUI of the Enchancing table, and some custom recipes to make the process feel more immersive.
VERY big content update! I know it’s been 20 hours… Why? Ive been on vacation, and most of these hours were done in a location without access to data or Wi-Fi. First time making a GUI in Minecraft! How was it? Absolutely horrible. Changes Made: Remapped the entire project to yarn mappings, because they are more intuitive than the Mojang ones, as well as every documentation on fabric using it. Refactored most of the project for organization purposes. Additions: Scalpel Item: Used while holding a normal enchanting book in offhand to cut out an Extracted Scripture Amount gained depends on the # of enchantments the enchanting book has. Each book can be extracted a total of 7 times Extracted Scripture: Used to make Repaired Scriptures Enchancing Menu: Very pretty Dynamic Hex Wheel, capable of holding up to 8 items used for enchantments Slider, taking repaired scriptures as fuel to change the number of slots in the hex Server & Client linking with the use of Payloads to prevent any duping or ect. Data saving with the use of NBT data of both the items inside and the slider value Repaired Scripture: Used as the fuel for the Enchancing Menu Dynamic Slots: For GUI’s, bypasses the Mojang blockers that disallow the movement or hiding of Slots. To-Do: Code the crafting system for the Enchancing menu Recipies for all items Sfx for all items Enchantments Developer Notes: Server syncing is horrible. It took me forever to get it to work properly. The process of making the GUI was also very, very annoying because of Mojang’s blocking of moving and hiding slots. Had to get away with this by using @Mutable and @Accessors . Spent a lot of good time on the art, and I’m very proud of how it all came out. I can’t wait to FINALLY start on the enchants!
Function to Table of Enchancing, Enchancing Books, and more! Huge update in terms of progress. Once again on vacation so progress has slowed a little. But now that I’m back home, I’m getting back on track. Changes Made: Formula of the Scalpel has been nerfed due to villager trading. Maximum slots of Table of Enchancing bumped from 8 to 13 to allow for more complicated enchants. Base slots increased from 2 to 3 Additions: Recipes for all item (will not get in depth) Empty Enchancing Book Enchancing Book Fully Json ran crafting system for the Table of Enchancing : Supports 2 crafting types: Items and Enchants Fully customizable Enchancments!!!!! “Lightfooted”: Speed boost on damage “Sharpshooter”: Farther you are from your target, the heavier your shots hit Tool tip for the Book of Enchancing to display enchant desc and levels Bugs: Nbt data of the slider value for the Table of enchancing not working? To-dos: Functions for the enchants Allow for application of the enchants in an anvil Developer Notes: Drop suggestions and ideas for enchants in the comments! I need inspo!
New Block Alert!!! The Sewing Machine Will be used to apply enchances onto items! Nothing much else to add, more content soon! Developer Notes: Over 2 thousand keyframes for the animations
Sewing Machine, Enchantments, and MORE!!! Changes Made: Fixed Z-Buffering on the Sewing Machine Block Updated the hitbox on the Sewing Machine Block Additions: Sewing Needle: Used to apply enchancments Enchanted Thread: Used to apply enchancments Sewing Machine: Used to apply enchancments onto items Sewing Machine GUI: Slot for the sewing needle, enchanted thread, application item, and the enchancing book. Lightfooted now has functionality!!!! Bug Fixes: Hitbox not being able to rotate Tooltip not rendering on applied items Developer Notes: More enchants to come! Mod is almost finished, and Im very happy with how it is :3...
|
1792752538.4643838
|
1793357338.4643838
|
|
10527
|
chatbot by @shw616 | Stardance
|
shw616
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chatbot by @shw616 | Stardance
|
1793306857.7242143
|
1793911657.7242143
|
|
10528
|
bank fraude by @sc6322 | Stardance
|
sc6322
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bank fraude by @sc6322 | Stardance
|
1793364589.5027912
|
1793969389.5027912
|
|
10529
|
Untitled project by @duckd | Stardance
|
duckd
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @duckd | Stardance
|
1793404365.5458446
|
1794009165.5458446
|
|
10530
|
My first slack bot! by @faheem-anis | Stardance
|
faheem-anis
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @faheem-anis | Stard Title: My first slack bot! by @faheem-anis | Stardance...
|
1793397261.6668804
|
1794002061.6668804
|
|
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
|
|
10532
|
TomoToSpeech by @cWavSD | Stardance
|
cWavSD
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: TomoToSpeech by @cWavSD | Stardance
|
1793335671.6385434
|
1793940471.6385434
|
|
10533
|
Star Catcher by @Ri | Stardance
|
Ri
|
1
|
10.0
|
49
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-05T17:21:24Z", "hours": 10.0, "multiplier": 4.95, "payout": 49, "blessing": "neutral", "text": "I made a simple Godot coin catcher game to gain experience in making games, because I’ve already watched a few long youtube courses. I’m proud that I almost didn’t use the internet, because a lot of stuff was just written in my notebook. Huge shoutout to @ wild_roe for sprites and it was a nice experience.", "repo": "https://github.com/ri-buni/Wild-Coin-Catcher", "demo": "https://ri-buni.itch.io/starcatcher"}]...
|
[{"post_id": 41248, "ts": "202 [{"post_id": 41248, "ts": "2026-08-05T10:32:22Z", "hours": 1.2556, "text": "I added sound effects when player touches the bomb/star, but because I didn’t like any of the sound effects, I just deleted it all, including a sound manager and only added calm background song in main.tscn. I also uploaded “game over” font, so the game would have more pixelated vibe and basically that’s all. It was a nice experience, even though I started this to just be more familiar with everything in godot for making a rhythm game."}, {"post_id": 27369, "ts": "2026-07-12T21:28:25Z", "hours": 1.1289, "text": "Basically, what I did today was just seeing what window sizes would look better + uploading different bgs/sprites, while talking to my friend artist who was kindly drawing all that for me(@ wild_roe in tiktok/youtube/discord, I think she’s opened in commissions!). The only coding stuff I did was mirroring the player animation when turning left and making the player change to standing sprite when not moving. I was making the sound effects and the song in fl studio, but I wasn’t pleased with what came out, so I’m going to do it later/just grab free one from the internet. Also, I’ll add a different font in the game, cuz this one doesn’t really match the stuff going on.."}, {"post_id": 26240, "ts": "2026-07-10T22:08:11Z", "hours": 5.1711, "text": "main.gd spawns the coins and bombs, counts score, makes everything faster over time, handles game over and saves your record. the spawning The core idea is a Timer node. Every time it times out, I spawn one object at a random x position above the screen. Usually a coin, sometimes a bomb (35% chance). The bomb and coin are separate scenes, so main just does this: var spawn_x := randf_range(SPAWN_MARGIN, screen_width - SPAWN_MARGIN) var spawn_position := Vector2(spawn_x, -40.0) if randf() < BOMB_CHANCE: var bomb := BombScene.instantiate() as Bomb bomb.position = spawn_position bomb.fall_speed = fall_speed * BOMB_FALL_MULTIPLIER bomb.hit_player.connect(_on_bomb_hit_player) add_child(bomb) randf() gives a number from 0 to 1, so < BOMB_CHANCE with 0.35 means 35% bombs. Same code for the coin, just with the “collected” signal instead. the difficulty system This is the part i’m most proud of. There’s one value called difficulty that goes from 0 to 1, and everything reads from it. It’s computed like this: func _compute_difficulty() -> float: var time_progress := time_alive / RAMP_DURATION var milestones := int(float(score) / SCORE_STEP) var score_progress := milestones * SCORE_STEP_BONUS return minf(time_progress + score_progress, 1.0) Two things feed it: the clock (maxes out on its own after RAMP_DURATION, which is 300 seconds = 5 minutes) and your score (every SCORE_STEP = 10 coins adds a permanent 0.04 bump). The minf(…, 1.0) caps it so nothing gets faster past full difficulty. And then everything scales off that one value with lerp: player.speed = lerpf(PLAYER_SPEED_START, PLAYER_SPEED_MAX, difficulty) spawn_timer.wait_time = lerpf(SPAWN_TIME_START, SPAWN_TIME_MIN, difficulty) var fall_speed := lerpf(FALL_SPEED_START, FALL_SPEED_MAX, difficulty) lerpf(a, b, t) just means “slide from a to b as t goes 0 to 1”. Because the player speed scales off the SAME difficulty value as the coins, it stays fair. The numbers are picked so even at max speed you can still cross the whole screen in the time a coin takes to fall. Bombs are what actually kill you, not unreachable coins. Small trap in that code: see the float(score) part? In GDScript, score / SCORE_STEP with two ints does integer division, so 5 / 10 gives 0 and rounds everything down. Without that float() the milestones just silently don’t work. Tiny thing, cost me a while. connecting everything with signals Main connects to the signal right when it spawns each object. That way the coin doesn’t know the score exists and the bomb doesn’t know there’s a game over screen. Main is the only one who knows everything. This is where I lost the most time honestly. Chain of pain: Got “Class Bomb hides a global script class”. Turned out there were basically two scripts fighting over the same class_name. Had to find the duplicate and kill it. Then got a Nil crash when spawning. The as Bomb cast in the spawn code was quietly returning null because after fixing #1 the scene’s script situation was messed up. Godot doesn’t crash on a failed cast, it just hands you nothing and lets you crash one line later. THEN “script inherits from Area2D, can’t be assigned to CollisionShape2D”. While re-attaching the script I put it on the wrong node lol. extra The logic is done, but the game still looks like colored triangles and squares. I’ll ask my friend(BIG shoutout to an artist @ wild_roe in tiktok and youtube, I’ll ask her to use her character I like a lot) to make the sprites and the background, and the music i’m gonna make myself."}, {"post_id": 24805, "ts": "2026-07-08T16:39:26Z", "hours": 0.6533, "text": "so I just quickly made the coin script(copy and pasted the bomb script and only changed the signal to collected, so it adds coins instead of stopping the game) and player script: _physics_process reads your input every frame and moves the player by changing its position. arrow keys/WASD give a direction, and it moves at speed in that direction. there’s a clamp so you can’t leave the screen — it keeps the player’s x and y inside the screen bounds so you can’t wander off the edges. in _ready it adds itself to the “player” group - that’s the tag the coins and bombs check for when something touches them. so this one line is what makes the player actually recognizable as “the player” to everything else. it doesn’t handle score or game-over at all, it just moves and stays on screen. so now, the player can move!"}, {"post_id": 23023, "ts": "2026-07-05T19:07:51Z", "hours": 1.7264, "text": "ok so I completely forgot to actually keep a journal while building this lol, so i’m just writing down what i did from memory. rough order so far: built the nodes first (bunch of Area2Ds + shapes), then started actually coding and now the bomb’s finished bomb, player and the coin got two children: a Polygon2D - the red triangle you see. i drew it as a polygon instead of using an image, so there’s no asset/importing stuff to deal with a CollisionShape2D - a little circle(for coin and the bomb) and a rectangle(for the player). this is the actual hitbox. the bomb code: the bomb is an Area2D, which is basically a detection zone. the main idea is the signal hit_player. the bomb has no clue what the score is or that a game-over screen even exists- it just shouts “hit_player” and main.gd listens and deals with it. keeps the bomb simple and reusable, its only job is to fall and to say when it hit you _physics_process moves it down every frame with position.y += fall_speed * delta. the * delta is what keeps it falling at the same speed no matter the framerate if it drops past the bottom of the screen it calls queue_free() to delete itself — otherwise every bomb that misses just keeps falling forever and piles up _on_area_entered runs when something overlaps it, but coins and the player are all Area2Ds too, so it checks is_in_group(“player”) first to make sure it’s actually the player -> then emits hit_player and removes itself I’ll make the coin code after that(same Area2D, same falling, same group check - it’ll just emit a “collected” signal and add a point instead of ending the game) and then player+main cuz those 2 will be harder ig"}]...
|
Title: Star Catcher by @Ri | Stardance
Devlogs:
o Title: Star Catcher by @Ri | Stardance
Devlogs:
ok so I completely forgot to actually keep a journal while building this lol, so i’m just writing down what i did from memory. rough order so far: built the nodes first (bunch of Area2Ds + shapes), then started actually coding and now the bomb’s finished bomb, player and the coin got two children: a Polygon2D - the red triangle you see. i drew it as a polygon instead of using an image, so there’s no asset/importing stuff to deal with a CollisionShape2D - a little circle(for coin and the bomb) and a rectangle(for the player). this is the actual hitbox. the bomb code: the bomb is an Area2D, which is basically a detection zone. the main idea is the signal hit_player. the bomb has no clue what the score is or that a game-over screen even exists- it just shouts “hit_player” and main.gd listens and deals with it. keeps the bomb simple and reusable, its only job is to fall and to say when it hit you _physics_process moves it down every frame with position.y += fall_speed * delta. the * delta is what keeps it falling at the same speed no matter the framerate if it drops past the bottom of the screen it calls queue_free() to delete itself — otherwise every bomb that misses just keeps falling forever and piles up _on_area_entered runs when something overlaps it, but coins and the player are all Area2Ds too, so it checks is_in_group(“player”) first to make sure it’s actually the player -> then emits hit_player and removes itself I’ll make the coin code after that(same Area2D, same falling, same group check - it’ll just emit a “collected” signal and add a point instead of ending the game) and then player+main cuz those 2 will be harder ig
so I just quickly made the coin script(copy and pasted the bomb script and only changed the signal to collected, so it adds coins instead of stopping the game) and player script: _physics_process reads your input every frame and moves the player by changing its position. arrow keys/WASD give a direction, and it moves at speed in that direction. there’s a clamp so you can’t leave the screen — it keeps the player’s x and y inside the screen bounds so you can’t wander off the edges. in _ready it adds itself to the “player” group - that’s the tag the coins and bombs check for when something touches them. so this one line is what makes the player actually recognizable as “the player” to everything else. it doesn’t handle score or game-over at all, it just moves and stays on screen. so now, the player can move!
main.gd spawns the coins and bombs, counts score, makes everything faster over time, handles game over and saves your record. the spawning The core idea is a Timer node. Every time it times out, I spawn one object at a random x position above the screen. Usually a coin, sometimes a bomb (35% chance). The bomb and coin are separate scenes, so main just does this: var spawn_x := randf_range(SPAWN_MARGIN, screen_width - SPAWN_MARGIN) var spawn_position := Vector2(spawn_x, -40.0) if randf() < BOMB_CHANCE: var bomb := BombScene.instantiate() as Bomb bomb.position = spawn_position bomb.fall_speed = fall_speed * BOMB_FALL_MULTIPLIER bomb.hit_player.connect(_on_bomb_hit_player) add_child(bomb) randf() gives a number from 0 to 1, so < BOMB_CHANCE with 0.35 means 35% bombs. Same code for the coin, just with the “collected” signal instead. the difficulty system This is the part i’m most proud of. There’s one value called difficulty that goes from 0 to 1, and everything reads from it. It’s computed like this: func _compute_difficulty() -> float: var time_progress := time_alive / RAMP_DURATION var milestones := int(float(score) / SCORE_STEP) var score_progress := milestones * SCORE_STEP_BONUS return minf(time_progress + score_progress, 1.0) Two things feed it: the clock (maxes out on its own after RAMP_DURATION, which is 300 seconds = 5 minutes) and your score (every SCORE_STEP = 10 coins adds a permanent 0.04 bump). The minf(…, 1.0) caps it so nothing gets faster past full difficulty. And then everything scales off that one value with lerp: player.speed = lerpf(PLAYER_SPEED_START, PLAYER_SPEED_MAX, difficulty) spawn_timer.wait_time = lerpf(SPAWN_TIME_START, SPAWN_TIME_MIN, difficulty) var fall_speed := lerpf(FALL_SPEED_START, FALL_SPEED_MAX, difficulty) lerpf(a, b, t) just means “slide from a to b as t goes 0 to 1”. Because the player speed scales off the SAME difficulty value as the coins, it stays fair. The numbers are picked so even at max speed you can still cross the whole screen in the time a coin takes to fall. Bombs are what actually kill you, not unreachable coins. Small trap in that code: see the float(score) part? In GDScript, score / SCORE_STEP with two ints does integer division, so 5 / 10 gives 0 and rounds everything down. Without that float() the milestones just silently don’t work. Tiny thing, cost me a while. connecting everything with signals Main connects to the signal right when it spawns each object. That way the coin doesn’t know the score exists and the bomb doesn’t know there’s a game over screen. Main is the only one who knows everything. This is where I lost the most time honestly. Chain of pain: Got “Class Bomb hides a global script class”. Turned out there were basically two scripts fighting over the same class_name. Had to find the duplicate and kill it. Then got a Nil crash when spawning. The as Bomb cast in the spawn code was quietly returning null because after fixing #1 the scene’s script situation was messed up. Godot doesn’t crash on a failed cast, it just hands you nothing and lets you crash one line later. THEN “script inherits from Area2D, can’t be assigned to CollisionShape2D”. While re-attaching the script I put it on the wrong node lol. extra The logic is done, but the game still looks like colored triangles and squares. I’ll ask my friend(BIG shoutout to an artist @ wild_roe in tiktok and youtube, I’ll ask her to use her character I like a lot) to make the sprites and the background, and the music i’m gonna make myself.
Basically, what I did today was just seeing what window sizes would look better + uploading different bgs/sprites, while talking to my friend artist who was kindly drawing all that for me(@ wild_roe in tiktok/youtube/discord, I think she’s opened in commissions!). The only coding stuff I did was mirroring the player animation when turning left and making the player change to standing sprite when not moving. I was making the sound effects and the song in fl studio, but I wasn’t pleased with what came out, so I’m going to do it later/just grab free one from the internet. Also, I’ll add a different font in the game, cuz this one doesn’t really match the stuff going on..
I added sound effects when player touches the bomb/star, but because I didn’t like any of the sound effects, I just deleted it all, including a sound manager and only added calm background song in main.tscn. I also uploaded “game over” font, so the game would have more pixelated vibe and basically that’s all. It was a nice experience, even though I started this to just be more familiar with everything in godot for making a rhythm game.
Ships:
I made a simple Godot coin catcher game to gain experience in making games, because I’ve already watched a few long youtube courses. I’m proud that I almost didn’t use the internet, because a lot of stuff was just written in my notebook. Huge shoutout to @ wild_roe for sprites and it was a nice experience....
|
1792878838.8656237
|
1793742838.8656237
|
|
10534
|
Tic-Tac-Toe by @k_nilesh | Stardance
|
k_nilesh
|
1
|
0.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T07:34:50Z", "hours": 0.0, "multiplier": 4.1, "payout": 1, "blessing": "neutral", "text": "I built a Tic-Tac-Toe game using HTML, CSS, and JavaScript, featuring two-player gameplay, winner detection, draw detection, and sound effects to make the experience more engaging. The most challenging part was implementing the game logic correctly and ensuring all winning and draw conditions worked smoothly without bugs. I’m proud of taking the project from an idea to a fully functional game and publishing it online, which helped me strengthen my JavaScript skills and understanding of web development. To test the project, simply open the live link in any modern web browser and start playing by taking turns on the grid until a winner is declared or the game ends in a draw.", "repo": "https://github.com/k-nilesh04/tic-tac-toe", "demo": "https://k-nilesh04.github.io/tic-tac-toe/"}]...
|
[{"post_id": 4055, "ts": "2026 [{"post_id": 4055, "ts": "2026-06-07T07:29:26Z", "hours": 0.3042, "text": "🎮 Just shipped my Tic-Tac-Toe Game! Built using HTML, CSS, and JavaScript, this project helped me practice DOM manipulation, game logic, event handling, and responsive web design. ✨ Features: • Interactive gameplay • Win & Draw detection • Sound effects • Restart functionality • Responsive design This is one of the projects I’ve built while learning web development, and I’m excited to keep improving it with new features in future updates. 🔗 GitHub: [https://github.com/k-nilesh04/tic-tac-toe] 🎮 Live Demo: [https://k-nilesh04.github.io/tic-tac-toe/] Feedback is always welcome!"}]...
|
Title: Tic-Tac-Toe by @k_nilesh | Stardance
Devlo Title: Tic-Tac-Toe by @k_nilesh | Stardance
Devlogs:
🎮 Just shipped my Tic-Tac-Toe Game! Built using HTML, CSS, and JavaScript, this project helped me practice DOM manipulation, game logic, event handling, and responsive web design. ✨ Features: • Interactive gameplay • Win & Draw detection • Sound effects • Restart functionality • Responsive design This is one of the projects I’ve built while learning web development, and I’m excited to keep improving it with new features in future updates. 🔗 GitHub: [https://github.com/k-nilesh04/tic-tac-toe] 🎮 Live Demo: [https://k-nilesh04.github.io/tic-tac-toe/] Feedback is always welcome!
Ships:
I built a Tic-Tac-Toe game using HTML, CSS, and JavaScript, featuring two-player gameplay, winner detection, draw detection, and sound effects to make the experience more engaging. The most challenging part was implementing the game logic correctly and ensuring all winning and draw conditions worked smoothly without bugs. I’m proud of taking the project from an idea to a fully functional game and publishing it online, which helped me strengthen my JavaScript skills and understanding of web development. To test the project, simply open the live link in any modern web browser and start playing by taking turns on the grid until a winner is declared or the game ends in a draw....
|
1793303301.3997767
|
1793389701.3997767
|
|
10535
|
Automous defense drone/robot by @shivam | Stardanc Automous defense drone/robot by @shivam | Stardance...
|
shivam
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Automous defense drone/robot by @shivam | S Title: Automous defense drone/robot by @shivam | Stardance...
|
1793274783.3858361
|
1793879583.3858361
|
|
10536
|
My awesome macropad! by @rachit | Stardance
|
rachit
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @rachit | Stardance
|
1793462048.1612885
|
1794066848.1612885
|
|
10537
|
My awesome macropad! by @vicantwin | Stardance
|
vicantwin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vicantwin | Starda Title: My awesome macropad! by @vicantwin | Stardance...
|
1793231471.3451946
|
1793836271.3451946
|
|
10538
|
Smart Mirror by @CinnamonRoll | Stardance
|
CinnamonRoll
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Smart Mirror by @CinnamonRoll | Stardance
|
1793159716.998719
|
1793764516.998719
|
|
10539
|
nova by @pharel | Stardance
|
pharel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: nova by @pharel | Stardance
|
1793422338.36829
|
1794027138.36829
|
|
10540
|
SolarEcho by @Requiem | Stardance
|
Requiem
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-08T11:10:47Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built SolarEcho, an open-source Python DSP app that turns live NASA space weather data into ambient electronic audio. It polls NASA’s DONKI CME data, extracts values like speed, half-angle, latitude, and longitude, and maps them into synth parameters such as pitch, volume, tremolo, and stereo movement in real time. The hardest part was getting the full real-time pipeline working end to end: NASA API ingestion, async data handling, DSP mapping, and live audio output. I also had to solve practical issues around NASA API rate limits, missing DONKI fields in some CME records, and correctly recording system audio for the live demo on Linux. I’m proud that SolarEcho is not just a concept — it is a working prototype that uses real NASA data and turns it into a live sensory experience. I’m also proud that I debugged the full chain from API polling to audio synthesis and then figured out how to capture the actual output for a demo video instead of just showing code on screen. To test SolarEcho, people need Python, the dependencies in requirements.txt, a free NASA API key from api.nasa.gov, and an audio setup that supports sounddevice. They should add their key as an environment variable, run python main.py, and note that NASA keys are rate-limited, with the default personal limit at 1,000 requests per hour and DEMO_KEY much lower, so slower polling is better for demos", "repo": "https://github.com/Adityachavhan339/SolarEcho", "demo": "https://drive.google.com/file/d/1NAJEPO0QepzsFgoGxCGQ3cXCHccJ_-NB/view?usp=drive_link"}]...
|
[{"post_id": 4802, "ts": "2026 [{"post_id": 4802, "ts": "2026-06-08T09:30:33Z", "hours": 2.3722, "text": "Devlog 01 — SolarEcho foundation built Today I started building SolarEcho, a Python DSP project that turns live NASA space weather data into ambient electronic sound. What I finished: Set up NASA API access with my official api.nasa.gov key Built the async ingestion pipeline for NASA DONKI CME data Parsed CME values like speed, halfAngle, latitude, and longitude Connected the NASA data pipeline to a real-time audio synthesizer Fixed callback and field-name bugs in the Python code Verified the full pipeline through terminal logs: NASA fetch -> queue bridge -> synth update -> audio callback Current stack: aiohttp asyncio numpy sounddevice NASA DONKI API Result: SolarEcho now successfully receives live CME telemetry and maps it into audio parameters in real time. I Am Quite Interested On Improving It More Maybe Even Making It Live On Cloud But API Limits Are Troublesome You Can See Code At GitHub ( Project Bio ) ( The Project Is Not Live Yet But You Can Try Hearing Audio From Mp4 Video Check Google Drive Link )"}]...
|
Title: SolarEcho by @Requiem | Stardance
Devlogs: Title: SolarEcho by @Requiem | Stardance
Devlogs:
Devlog 01 — SolarEcho foundation built Today I started building SolarEcho, a Python DSP project that turns live NASA space weather data into ambient electronic sound. What I finished: Set up NASA API access with my official api.nasa.gov key Built the async ingestion pipeline for NASA DONKI CME data Parsed CME values like speed, halfAngle, latitude, and longitude Connected the NASA data pipeline to a real-time audio synthesizer Fixed callback and field-name bugs in the Python code Verified the full pipeline through terminal logs: NASA fetch -> queue bridge -> synth update -> audio callback Current stack: aiohttp asyncio numpy sounddevice NASA DONKI API Result: SolarEcho now successfully receives live CME telemetry and maps it into audio parameters in real time. I Am Quite Interested On Improving It More Maybe Even Making It Live On Cloud But API Limits Are Troublesome You Can See Code At GitHub ( Project Bio ) ( The Project Is Not Live Yet But You Can Try Hearing Audio From Mp4 Video Check Google Drive Link )
Ships:
I built SolarEcho, an open-source Python DSP app that turns live NASA space weather data into ambient electronic audio. It polls NASA’s DONKI CME data, extracts values like speed, half-angle, latitude, and longitude, and maps them into synth parameters such as pitch, volume, tremolo, and stereo movement in real time. The hardest part was getting the full real-time pipeline working end to end: NASA API ingestion, async data handling, DSP mapping, and live audio output. I also had to solve practical issues around NASA API rate limits, missing DONKI fields in some CME records, and correctly recording system audio for the live demo on Linux. I’m proud that SolarEcho is not just a concept — it is a working prototype that uses real NASA data and turns it into a live sensory experience. I’m also proud that I debugged the full chain from API polling to audio synthesis and then figured out how to capture the actual output for a demo video instead of just showing code on screen. To test SolarEcho, people need Python, the dependencies in requirements.txt, a free NASA API key from api.nasa.gov, and an audio setup that supports sounddevice. They should add their key as an environment variable, run python main.py, and note that NASA keys are rate-limited, with the default personal limit at 1,000 requests per hour and DEMO_KEY much lower, so slower polling is better for demos...
|
1793310483.4761055
|
1793396883.4761055
|
|
10541
|
StarEngine by @Kyle | Stardance
|
Kyle
|
0
|
0.39
|
0
|
[]
|
[{"post_id": 4039, "ts": "2026 [{"post_id": 4039, "ts": "2026-06-07T06:51:42Z", "hours": 0.3936, "text": "I’ve never used a lot of the technologies I’m using here so: installed meson and ninja, set up meson.build installed sdl3 created a basic window with template code got it to print out the char i type to the console made the gitignore, license, readme, etc"}]...
|
Title: StarEngine by @Kyle | Stardance
Devlogs:
I Title: StarEngine by @Kyle | Stardance
Devlogs:
I’ve never used a lot of the technologies I’m using here so: installed meson and ninja, set up meson.build installed sdl3 created a basic window with template code got it to print out the char i type to the console made the gitignore, license, readme, etc...
|
1793231315.8809772
|
1793836115.8809772
|
|
10542
|
Untitled project by @Azaan | Stardance
|
Azaan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Azaan | Stardance
|
1793379374.226593
|
1793984174.226593
|
|
10543
|
My first slack bot! by @maofficial2009 | Stardance
|
maofficial2009
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @maofficial2009 | St Title: My first slack bot! by @maofficial2009 | Stardance...
|
1793177683.8189497
|
1793782483.8189497
|
|
10544
|
My awesome macropad! by @icchou233 | Stardance
|
icchou233
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @icchou233 | Starda Title: My awesome macropad! by @icchou233 | Stardance...
|
1793210216.8150108
|
1793815016.8150108
|
|
10545
|
My awesome macropad! by @Yumeerin | Stardance
|
Yumeerin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Yumeerin | Stardan Title: My awesome macropad! by @Yumeerin | Stardance...
|
1793310677.996012
|
1793915477.996012
|
|
10546
|
Auto Apply Job by @Devv | Stardance
|
Devv
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Auto Apply Job by @Devv | Stardance
|
1793245684.5941982
|
1793850484.5941982
|
|
10547
|
My first slack bot! by @xiyu | Stardance
|
xiyu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @xiyu | Stardance
|
1793436933.2669876
|
1794041733.2669876
|
|
10548
|
My first slack bot! by @Ramesh | Stardance
|
Ramesh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Ramesh | Stardance
|
1793238712.4964516
|
1793843512.4964516
|
|
10549
|
RISC-V MCU by @talsania | Stardance
|
talsania
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: RISC-V MCU by @talsania | Stardance
|
1792785173.4621818
|
1793389973.4621818
|
|
10550
|
battlezone by @Utkarsh | Stardance
|
Utkarsh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: battlezone by @Utkarsh | Stardance
|
1793213300.8976803
|
1793818100.8976803
|