|
49547
|
samsec by @samuelcibulka1 | Stardance
|
samuelcibulka1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: samsec by @samuelcibulka1 | Stardance
|
1792594477.5681376
|
1793199277.5681376
|
|
55926
|
samachardaily by @strngx | Stardance
|
strngx
|
0
|
12.89
|
0
|
[]
|
[{"post_id": 57508, "ts": "202 [{"post_id": 57508, "ts": "2026-08-29T17:53:59Z", "hours": 12.8881, "text": "Built SamacharDaily — an automated news site that publishes real Articles can be published without the need for any manual posting. It’s a static site built using Eleventy and has been deployed on GitHub Pages. The actual engine is a Google Apps Script pipeline that pulls live news, uses Groq to rewrite it into proper articles, grabs a real image + articles It matches the YouTube video and then goes directly to GitHub. Spent a chunk of time debugging stuff — duplicate attribution lines, images breaking from hotlink protection, YouTube embeds failing In silence as well, I carried out the SEO work (including the sitemap, robots.txt, and submitting it to Google + Bing). Live: https://strngx.github.io/samachardaily/"}]...
|
Title: samachardaily by @strngx | Stardance
Devlo Title: samachardaily by @strngx | Stardance
Devlogs:
Built SamacharDaily — an automated news site that publishes real Articles can be published without the need for any manual posting. It’s a static site built using Eleventy and has been deployed on GitHub Pages. The actual engine is a Google Apps Script pipeline that pulls live news, uses Groq to rewrite it into proper articles, grabs a real image + articles It matches the YouTube video and then goes directly to GitHub. Spent a chunk of time debugging stuff — duplicate attribution lines, images breaking from hotlink protection, YouTube embeds failing In silence as well, I carried out the SEO work (including the sitemap, robots.txt, and submitting it to Google + Bing). Live: https://strngx.github.io/samachardaily/...
|
1792641025.760628
|
1793245825.760628
|
|
67973
|
salary details by @Mustafa_Khan | Stardance
|
Mustafa_Khan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: salary details by @Mustafa_Khan | Stardance
|
1793116283.6146777
|
1793721083.6146777
|
|
35992
|
salad's world by @thesaladman | Stardance
|
thesaladman
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-21T15:38:25Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "made a personal website hosted on github pages; recycled a bit of stuff from my last (failed) project but most things are new", "repo": "https://github.com/thesaladman1738/salad-world", "demo": "https://thesaladman1738.github.io/salad-world/"}]...
|
[{"post_id": 30159, "ts": "202 [{"post_id": 30159, "ts": "2026-07-17T14:45:07Z", "hours": 1.1586, "text": "i have begun work on a personal site now up on github pages ! yay ! took way too long to troubleshoot"}]...
|
Title: salad's world by @thesaladman | Stardan Title: salad's world by @thesaladman | Stardance
Devlogs:
i have begun work on a personal site now up on github pages ! yay ! took way too long to troubleshoot
Ships:
made a personal website hosted on github pages; recycled a bit of stuff from my last (failed) project but most things are new...
|
1793105475.6688533
|
1793191875.6688533
|
|
59851
|
sailing alarm by @sailor_lucas | Stardance
|
sailor_lucas
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sailing alarm by @sailor_lucas | Stardance
|
1793029937.2178297
|
1793634737.2178297
|
|
71117
|
sai's blogs by @saidoestech | Stardance
|
saidoestech
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sai's blogs by @saidoestech | Stardance
|
1792820833.118857
|
1793425633.118857
|
|
51860
|
sai the killer' by @saiachintya | Stardance
|
saiachintya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sai the killer' by @saiachintya | Stard Title: sai the killer' by @saiachintya | Stardance...
|
1792687829.9000332
|
1793292629.9000332
|
|
70428
|
sai - the -guider by @jiya | Stardance
|
jiya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sai - the -guider by @jiya | Stardance
|
1793008438.0696273
|
1793613238.0696273
|
|
45804
|
sahil-space by @sahilaw | Stardance
|
sahilaw
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sahil-space by @sahilaw | Stardance
|
1792637704.6753595
|
1793242504.6753595
|
|
31252
|
sagre-friuli by @Rudss | Stardance
|
Rudss
|
0
|
2.06
|
0
|
[]
|
[{"post_id": 30621, "ts": "202 [{"post_id": 30621, "ts": "2026-07-18T10:38:20Z", "hours": 1.6794, "text": "updated the ui and ux, finally created a decent web app with PWA I will add another log for the app part"}, {"post_id": 23371, "ts": "2026-07-06T09:22:40Z", "hours": 0.3772, "text": "Built the landing page, the real app I’m still developing it, every event has its own unique color"}]...
|
Title: sagre-friuli by @Rudss | Stardance
Devlogs Title: sagre-friuli by @Rudss | Stardance
Devlogs:
Built the landing page, the real app I’m still developing it, every event has its own unique color
updated the ui and ux, finally created a decent web app with PWA I will add another log for the app part...
|
1792601619.238012
|
1793206419.238012
|
|
43206
|
safnware by @edison_ailey_1 | Stardance
|
edison_ailey_1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: safnware by @edison_ailey_1 | Stardance
|
1792540142.9849286
|
1793144942.9849286
|
|
16906
|
safety slippers by @mysteriousfox | Stardance
|
mysteriousfox
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: safety slippers by @mysteriousfox | Stardan Title: safety slippers by @mysteriousfox | Stardance...
|
1792651749.1935468
|
1793256549.1935468
|
|
68973
|
safety mechanism for boxes by @GTB07 | Stardance
|
GTB07
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: safety mechanism for boxes by @GTB07 | Star Title: safety mechanism for boxes by @GTB07 | Stardance...
|
1793127290.9601948
|
1793732090.9601948
|
|
30133
|
safe by @_jacy | Stardance
|
_jacy
|
1
|
11.0
|
0
|
[{"ship_num": 1, "hours": 11.0, [{"ship_num": 1, "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a 3D-printed smart safe using an ESP32 that unlocks with an RFID card, displays the status on an OLED display, and uses a servo to lock and unlock the door. This was my first project with my ESP32 hope you like it!", "repo": "https://github.com/jeffmc6767/Stardance-safe", "demo": "", "ts": "2026-07-08T21:23:56Z"}]...
|
[{"post_id": 21891, "ts": "202 [{"post_id": 21891, "ts": "2026-07-04T02:11:19Z", "hours": 0.0, "text": "Just completed the first prototype of the safe design. Waiting for components(ESP32 kit) to arrive tomorrow"}, {"post_id": 22297, "ts": "2026-07-04T18:04:50Z", "hours": 2.0, "text": "Finished first vault door prototype. Part of the hinge failed during print since it was only 3mm wide, so I am now using a 100mm long piece of Bambulab PLA filament."}, {"post_id": 22949, "ts": "2026-07-05T16:42:56Z", "hours": 0.0, "text": "Starting to work on the code and hardware. Currently working on the OLED monitor which will display status, then I will connect RFID and SERVO motor to unlock."}, {"post_id": 22988, "ts": "2026-07-05T17:59:09Z", "hours": 1.0, "text": "Just finished designing and coding the main safe mechanism. Currently it is unlock able through a RFID tap, which rotates a servo(which should unlock it). Then an OLED monitor displays the status"}, {"post_id": 24462, "ts": "2026-07-08T01:17:26Z", "hours": 4.0, "text": "Finished the safe door design. I went through many different versions and a bunch of them did not work, or did not fit the electronics. Used around 300g of filament (~$5). I wanted all of the electronics to fit inside of the door so its all hidden but the breadboard was way to big and didn’t fit in the first version, so I created a larger one, but in person was way to massive. So instead I decided to keep the RFID and OLED on the door and keep the breadboard hidden inside the safe. The safe would be bigger than the door so it would stay hidden and only a few cables would be shown(at least thats the plan). Next up is building the safe. I plan to use a cardboard box as the interior to save filament and use a servo to lock it."}, {"post_id": 24501, "ts": "2026-07-08T02:50:22Z", "hours": 1.0, "text": "FINISHED ASSEMBLING THE WHOLE DESIGN!! - lowkey looks a bit bad but it’s ok… Moving on to the coding part. Before, the code was basic only for testing but now I need it to be functional and able to actually work well"}, {"post_id": 24949, "ts": "2026-07-08T20:41:00Z", "hours": 0.0, "text": "Finalized the code. I added a Beep feature using a passive buzzer on GPIO26 so whe you tap the RFID it beeps once when you have the right card and twice for the wrong card. This is probably my last devlog before shipping the project is done!"}]...
|
Title: safe by @_jacy | Stardance
Devlogs:
Just c Title: safe by @_jacy | Stardance
Devlogs:
Just completed the first prototype of the safe design. Waiting for components(ESP32 kit) to arrive tomorrow
Finished first vault door prototype. Part of the hinge failed during print since it was only 3mm wide, so I am now using a 100mm long piece of Bambulab PLA filament.
Starting to work on the code and hardware. Currently working on the OLED monitor which will display status, then I will connect RFID and SERVO motor to unlock.
Just finished designing and coding the main safe mechanism. Currently it is unlock able through a RFID tap, which rotates a servo(which should unlock it). Then an OLED monitor displays the status
Finished the safe door design. I went through many different versions and a bunch of them did not work, or did not fit the electronics. Used around 300g of filament (~$5). I wanted all of the electronics to fit inside of the door so its all hidden but the breadboard was way to big and didn’t fit in the first version, so I created a larger one, but in person was way to massive. So instead I decided to keep the RFID and OLED on the door and keep the breadboard hidden inside the safe. The safe would be bigger than the door so it would stay hidden and only a few cables would be shown(at least thats the plan). Next up is building the safe. I plan to use a cardboard box as the interior to save filament and use a servo to lock it.
FINISHED ASSEMBLING THE WHOLE DESIGN!! - lowkey looks a bit bad but it’s ok… Moving on to the coding part. Before, the code was basic only for testing but now I need it to be functional and able to actually work well
Finalized the code. I added a Beep feature using a passive buzzer on GPIO26 so whe you tap the RFID it beeps once when you have the right card and twice for the wrong card. This is probably my last devlog before shipping the project is done!
Ships:
I built a 3D-printed smart safe using an ESP32 that unlocks with an RFID card, displays the status on an OLED display, and uses a servo to lock and unlock the door. This was my first project with my ESP32 hope you like it!...
|
1792878831.8971312
|
1793742831.8971312
|
|
44915
|
sae by @sarthakplayer00998 | Stardance
|
sarthakplayer00998
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sae by @sarthakplayer00998 | Stardance
|
1792605028.2154942
|
1793209828.2154942
|
|
4862
|
sabretooth hydrogen rocket by @toulounmarios | Sta sabretooth hydrogen rocket by @toulounmarios | Stardance...
|
toulounmarios
|
0
|
1.66
|
0
|
[]
|
[{"post_id": 72440, "ts": "202 [{"post_id": 72440, "ts": "2026-09-22T23:17:47Z", "hours": 1.6594, "text": "isp and phi analysis , aswell as fuel mix re-assessment. i found the optimal fuel to oxidiser ratio for the butane part of the combustion. im looking into switching to a 2 step combustion system where i use both butane and hydrogen instead of just hydrogen, that way increasing stability and efficiency, while also loweing risk of flashback and damage to the parts"}]...
|
Title: sabretooth hydrogen rocket by @toulounmario Title: sabretooth hydrogen rocket by @toulounmarios | Stardance
Devlogs:
isp and phi analysis , aswell as fuel mix re-assessment. i found the optimal fuel to oxidiser ratio for the butane part of the combustion. im looking into switching to a 2 step combustion system where i use both butane and hydrogen instead of just hydrogen, that way increasing stability and efficiency, while also loweing risk of flashback and damage to the parts...
|
1792526026.1763532
|
1793130826.1763532
|
|
45831
|
sYNTHsTACK by @survive-husked-oak | Stardance
|
survive-husked-oak
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sYNTHsTACK by @survive-husked-oak | Stardan Title: sYNTHsTACK by @survive-husked-oak | Stardance...
|
1792637719.0957866
|
1793242519.0957866
|
|
59097
|
s3up by @e | Stardance
|
e
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: s3up by @e | Stardance
|
1792781565.5036654
|
1793386365.5036654
|
|
30830
|
s by @shinkensen | Stardance
|
shinkensen
|
0
|
0.3
|
0
|
[]
|
[{"post_id": 22521, "ts": "202 [{"post_id": 22521, "ts": "2026-07-05T01:21:12Z", "hours": 0.3022, "text": "temp"}]...
|
Title: s by @shinkensen | Stardance
Devlogs:
temp
|
1792698594.0237935
|
1793303394.0237935
|
|
51009
|
s by @rgb-hsl | Stardance
|
rgb-hsl
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: s by @rgb-hsl | Stardance
|
1792921655.3445137
|
1793785655.3445137
|
|
455
|
s by @neon | Stardance
|
neon
|
0
|
2.21
|
0
|
[]
|
[{"post_id": 66, "ts": "2026-0 [{"post_id": 66, "ts": "2026-05-31T16:23:09Z", "hours": 2.21, "text": "stardancing it"}]...
|
Title: s by @neon | Stardance
Devlogs:
stardancin Title: s by @neon | Stardance
Devlogs:
stardancing it...
|
1792796031.3093677
|
1793400831.3093677
|
|
51254
|
s by @ambrose_lim | Stardance
|
ambrose_lim
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: s by @ambrose_lim | Stardance
|
1792662889.9222171
|
1793267689.9222171
|
|
50689
|
s by @Yashu | Stardance
|
Yashu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: s by @Yashu | Stardance
|
1792918311.8038714
|
1793782311.8038714
|
|
52540
|
s by @TorontoTransitCommission | Stardance
|
TorontoTransitCommission
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: s by @TorontoTransitCommission | Stardance
|
1792712888.1892924
|
1793317688.1892924
|
|
50090
|
ryethrt by @akramovazarina555 | Stardance
|
akramovazarina555
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ryethrt by @akramovazarina555 | Stardance
|
1792616010.2345383
|
1793220810.2345383
|
|
50091
|
ryethrt by @akramovazarina555 | Stardance
|
akramovazarina555
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ryethrt by @akramovazarina555 | Stardance
|
1792616011.072167
|
1793220811.072167
|
|
50092
|
ryethrt by @akramovazarina555 | Stardance
|
akramovazarina555
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ryethrt by @akramovazarina555 | Stardance
|
1792616011.91603
|
1793220811.91603
|
|
50093
|
ryethrt by @akramovazarina555 | Stardance
|
akramovazarina555
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ryethrt by @akramovazarina555 | Stardance
|
1792616012.7581542
|
1793220812.7581542
|
|
50094
|
ryethrt by @akramovazarina555 | Stardance
|
akramovazarina555
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ryethrt by @akramovazarina555 | Stardance
|
1792616013.6053693
|
1793220813.6053693
|
|
50095
|
ryethrt by @akramovazarina555 | Stardance
|
akramovazarina555
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ryethrt by @akramovazarina555 | Stardance
|
1792616014.4516656
|
1793220814.4516656
|
|
41776
|
ryder's runnin' late! (⌒▽⌒)☆ by @rinimee | ryder's runnin' late! (⌒▽⌒)☆ by @rinimee | Stardance...
|
rinimee
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T18:29:36Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WarioWare inspired game complete with two separate levels: a platformer and a clicker. It was challenging to code because I wanted to introduce originality rather than copying what the tutorial said, and that led to many errors that took way too long to fix, such as errors with timers and display. Regardless, I am proud of the final result and I loved the story I introduced as well as the UI of the game. Test my project on itch.io! The first minigame should be played by using space and the left/right arrows. The second minigame should be played with the mouse to click. All buttons are navigation-friendly. Good luck, and don’t make Ryder late again!", "repo": "https://github.com/rinimee/riniwarioware", "demo": "https://rinimee.itch.io/ryders-runnin-late"}]...
|
[{"post_id": 44374, "ts": "202 [{"post_id": 44374, "ts": "2026-08-10T02:49:54Z", "hours": 1.5781, "text": "alright now im done ;) so update! apparently there was an error when i was testing my code: the winning scene wasn’t even loading after minigame 2! I had to change the global miniagme count to 2 since I only have 2 minigames. and I had to take too much time to fix it sighh, but now I’ll be publishing this goofy game so that you can finally help ryder get to nasa hq~ here’s a very hilarious ryder art for you guys while you wait for this ship!"}, {"post_id": 43700, "ts": "2026-08-09T03:16:00Z", "hours": 0.8242, "text": "ALL DONE!! finally! after a good 7 hours of coding, I have finished the game! there were a lot of errors along the way and a whole lot more crashouts, but now that the game is done, I’ll be testing it next, making a READme on my repo, and publishing the game! while i didn’t have the motivation to draw ryder showing up to NASA HQ as the winning/loosing scenes, you can see that I ended up drawing memes instead. here they are! PS: there’s also a bonus third pic of me playing the game hehe"}, {"post_id": 39791, "ts": "2026-08-03T00:11:42Z", "hours": 1.1094, "text": "HOLY CHEESE I FIXED IT!! with some awesome-sauce help from the hack-club slack, I finally fixed the first minigame!!!! YAYY!! it still says level 0 but i think i can fix that easily, now the second minigame is buggin a little but I’ll work on that! ill also need to make the winning and loosing scene (DRAWING!) later on. heres the snippet of the second minigame!"}, {"post_id": 39220, "ts": "2026-08-02T01:35:53Z", "hours": 3.1844, "text": "NEED GODOT VETS :( updates! I completed the first minigame and its working, but the level screen timer errors are still haunting me. It took a full 1:30 hours just to get the timer to work. I’m crashing out over these errors and I just hope they’ll get fixed soon ;-; while I have finished the first minigame, I’ll be doing the next one: a clicker. I hope to god I dont run into any errors this time…"}, {"post_id": 38521, "ts": "2026-07-31T23:01:44Z", "hours": 1.4608, "text": "MOVING TIME!! (literally) yep! after some annoying moments of me repeatedly crashing out before ryder wouldn’t move, but after enabling game inputs and making the velocity negative, ryder can finally jump around on fountains and telephone boxes (although in Ryder’s timeline I doubt he needs telephone boxes.) Here’s a quick snippet below, Ill update you all on the next things!"}, {"post_id": 38409, "ts": "2026-07-31T19:15:19Z", "hours": 0.7131, "text": "its comin together! first devlog! its been like 40 mins but I was able to get the title/timer screen done, working on the level itself now, the ryder sprite is so adorable! let me know if you want the plot drop, its pretty simple. Anyway, I’m creating barriers right now for the sprite but heres a couple snippets! I really love how the title screen turned out!"}]...
|
Title: ryder's runnin' late! (⌒▽⌒)☆ by @ri Title: ryder's runnin' late! (⌒▽⌒)☆ by @rinimee | Stardance
Devlogs:
its comin together! first devlog! its been like 40 mins but I was able to get the title/timer screen done, working on the level itself now, the ryder sprite is so adorable! let me know if you want the plot drop, its pretty simple. Anyway, I’m creating barriers right now for the sprite but heres a couple snippets! I really love how the title screen turned out!
MOVING TIME!! (literally) yep! after some annoying moments of me repeatedly crashing out before ryder wouldn’t move, but after enabling game inputs and making the velocity negative, ryder can finally jump around on fountains and telephone boxes (although in Ryder’s timeline I doubt he needs telephone boxes.) Here’s a quick snippet below, Ill update you all on the next things!
NEED GODOT VETS :( updates! I completed the first minigame and its working, but the level screen timer errors are still haunting me. It took a full 1:30 hours just to get the timer to work. I’m crashing out over these errors and I just hope they’ll get fixed soon ;-; while I have finished the first minigame, I’ll be doing the next one: a clicker. I hope to god I dont run into any errors this time…
HOLY CHEESE I FIXED IT!! with some awesome-sauce help from the hack-club slack, I finally fixed the first minigame!!!! YAYY!! it still says level 0 but i think i can fix that easily, now the second minigame is buggin a little but I’ll work on that! ill also need to make the winning and loosing scene (DRAWING!) later on. heres the snippet of the second minigame!
ALL DONE!! finally! after a good 7 hours of coding, I have finished the game! there were a lot of errors along the way and a whole lot more crashouts, but now that the game is done, I’ll be testing it next, making a READme on my repo, and publishing the game! while i didn’t have the motivation to draw ryder showing up to NASA HQ as the winning/loosing scenes, you can see that I ended up drawing memes instead. here they are! PS: there’s also a bonus third pic of me playing the game hehe
alright now im done ;) so update! apparently there was an error when i was testing my code: the winning scene wasn’t even loading after minigame 2! I had to change the global miniagme count to 2 since I only have 2 minigames. and I had to take too much time to fix it sighh, but now I’ll be publishing this goofy game so that you can finally help ryder get to nasa hq~ here’s a very hilarious ryder art for you guys while you wait for this ship!
Ships:
I made a WarioWare inspired game complete with two separate levels: a platformer and a clicker. It was challenging to code because I wanted to introduce originality rather than copying what the tutorial said, and that led to many errors that took way too long to fix, such as errors with timers and display. Regardless, I am proud of the final result and I loved the story I introduced as well as the UI of the game. Test my project on itch.io! The first minigame should be played by using space and the left/right arrows. The second minigame should be played with the mouse to click. All buttons are navigation-friendly. Good luck, and don’t make Ryder late again!...
|
1793138367.0245674
|
1793224767.0245674
|
|
63797
|
ryOS by @immaturegoat | Stardance
|
immaturegoat
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T03:00:02Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "ryOS “Since time immemorial, outstanding individuals have emerged from the oceans of mediocrity that make up the vast majority of humanity. Great thinkers destined to change their respective eras, launching the world into a new epoch. Ryo Yamada is the undeniable peak of what an outstanding individual is- she is the peak of what humanity can ever possibly achieve, the apex of human evolution and society.” -unknown This is ryOS, an webOS with a little bit of Ryo Yamada. It has 4 apps built into it. Features Ryo Yamada Draggable windows - As well as being able to drag them, you can also click on one to bring it to the front, close them, etc. Working time and date A notes app - this was done using a textarea that just saves the text contents inside to localstorage. It was pretty simple and easy to make A pong app - this is a simple game of pong, and you control the left side using your mouse. The AI is pretty hard, and I haven’t gotten a point yet. A music app - this just opens up a window with the option to play one song, and that’s Seishun Complex by Kessoku Band. A photos app - clicking on the left or right buttons of the window allows you to switch between different photos.", "repo": "https://github.com/immaturegoat/ryOS", "demo": "https://immaturegoat.github.io/ryOS/"}]...
|
[{"post_id": 71583, "ts": "202 [{"post_id": 71583, "ts": "2026-09-21T02:59:27Z", "hours": 0.5789, "text": "Devlog 3 lowk this is such a troll project I added 3 more apps, so now there are 4 in total. They are a ryong app, a ryosic app, and a ryotos app (pong, music, and photos). On the pong app, you use your mouse to control the left side. The AI is pretty good though. I haven’t been able to beat it yet. On the music app, you can only play Seishun Complex by Kessoku Band. Anyway, I just put a music player in a window, and it works pretty well. Finally, on the photos app, its just several photos of Ryo that you can switch between. I’m pretty proud of this ngl."}, {"post_id": 70854, "ts": "2026-09-19T21:31:58Z", "hours": 0.4828, "text": "Devlog 2 I built a simple notes app that just stores what you type in a text app into local storage. I’m going to finish the project with a few other apps first."}, {"post_id": 70836, "ts": "2026-09-19T20:57:50Z", "hours": 1.4139, "text": "Devlog 1 I lowkey just needed 50 more stardust, so I’m doing this project. Anyway, I’m just following the guide and customizing it to my liking. I’ve added a welcome screen, but I’ll add more later. I’ve also styled the close buttons and the dragging mechanic."}]...
|
Title: ryOS by @immaturegoat | Stardance
Devlogs: Title: ryOS by @immaturegoat | Stardance
Devlogs:
Devlog 1 I lowkey just needed 50 more stardust, so I’m doing this project. Anyway, I’m just following the guide and customizing it to my liking. I’ve added a welcome screen, but I’ll add more later. I’ve also styled the close buttons and the dragging mechanic.
Devlog 2 I built a simple notes app that just stores what you type in a text app into local storage. I’m going to finish the project with a few other apps first.
Devlog 3 lowk this is such a troll project I added 3 more apps, so now there are 4 in total. They are a ryong app, a ryosic app, and a ryotos app (pong, music, and photos). On the pong app, you use your mouse to control the left side. The AI is pretty good though. I haven’t been able to beat it yet. On the music app, you can only play Seishun Complex by Kessoku Band. Anyway, I just put a music player in a window, and it works pretty well. Finally, on the photos app, its just several photos of Ryo that you can switch between. I’m pretty proud of this ngl.
Ships:
ryOS “Since time immemorial, outstanding individuals have emerged from the oceans of mediocrity that make up the vast majority of humanity. Great thinkers destined to change their respective eras, launching the world into a new epoch. Ryo Yamada is the undeniable peak of what an outstanding individual is- she is the peak of what humanity can ever possibly achieve, the apex of human evolution and society.” -unknown This is ryOS, an webOS with a little bit of Ryo Yamada. It has 4 apps built into it. Features Ryo Yamada Draggable windows - As well as being able to drag them, you can also click on one to bring it to the front, close them, etc. Working time and date A notes app - this was done using a textarea that just saves the text contents inside to localstorage. It was pretty simple and easy to make A pong app - this is a simple game of pong, and you control the left side using your mouse. The AI is pretty hard, and I haven’t gotten a point yet. A music app - this just opens up a window with the option to play one song, and that’s Seishun Complex by Kessoku Band. A photos app - clicking on the left or right buttons of the window allows you to switch between different photos....
|
1793058823.3636389
|
1793145223.3636389
|
|
4007
|
rv8 by @undivisible | Stardance
|
undivisible
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rv8 by @undivisible | Stardance
|
1792551176.1357353
|
1793155976.1357353
|
|
19724
|
ruview by @shash | Stardance
|
shash
|
0
|
2.84
|
0
|
[]
|
[{"post_id": 9780, "ts": "2026 [{"post_id": 9780, "ts": "2026-06-16T07:00:16Z", "hours": 2.8442, "text": "Ruvieew devlog 1"}]...
|
Title: ruview by @shash | Stardance
Devlogs:
Ruvi Title: ruview by @shash | Stardance
Devlogs:
Ruvieew devlog 1...
|
1792687642.3453052
|
1793292442.3453052
|
|
50777
|
rustymusty(rm) tab by @prakit | Stardance
|
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-19T13:14:32Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "rusty musty is like a home page for a browser ( supports two search engines - google and duckduckgo [ i like duckduckgo ] ) . simple ui so that its easy to navigate , users can authenticate themeselves to the tab page but its completely optional", "repo": "https://github.com/zenformality/rustymusty", "demo": "https://rustymusty-vy1r.vercel.app/"}]...
|
[{"post_id": 50271, "ts": "202 [{"post_id": 50271, "ts": "2026-08-19T13:01:24Z", "hours": 0.565, "text": "Added discord authentication to rusty musty and now its complete!!!! YAYAYY"}, {"post_id": 49688, "ts": "2026-08-18T16:06:51Z", "hours": 0.4214, "text": "fixed alot of bugs , switched to a select element to make it easier to switch between google and duckduckgo"}, {"post_id": 49617, "ts": "2026-08-18T14:35:35Z", "hours": 1.5394, "text": "It works! real mess ngl"}]...
|
Title: rustymusty(rm) tab by @prakit | Stardance
Title: rustymusty(rm) tab by @prakit | Stardance
Devlogs:
It works! real mess ngl
fixed alot of bugs , switched to a select element to make it easier to switch between google and duckduckgo
Added discord authentication to rusty musty and now its complete!!!! YAYAYY
Ships:
rusty musty is like a home page for a browser ( supports two search engines - google and duckduckgo [ i like duckduckgo ] ) . simple ui so that its easy to navigate , users can authenticate themeselves to the tab page but its completely optional...
|
1792878836.366966
|
1793742836.366966
|
|
24606
|
rustydos by @penelopoison | Stardance
|
penelopoison
|
0
|
17.95
|
0
|
[]
|
[{"post_id": 33040, "ts": "202 [{"post_id": 33040, "ts": "2026-07-22T16:29:10Z", "hours": 2.3106, "text": "another stupid pivot. turns out llvm is way harder to work with than i thought it was, so i might as well just write everything in c. no more originality!!"}, {"post_id": 25347, "ts": "2026-07-09T16:07:31Z", "hours": 6.9761, "text": "i’ve pivoted. modern piezoelectric speakers in keeping with the tradition of this general social malaise are probably 10 times worse and less flexible than the ibm 5150. i have no patience for rebooting or qemu so i thought why not use dos? and so i embarked on this terrifying journey… pipeline: rust → llvm bitcode (cargo targeting x86_64, but as long as no cpu-specific instructions are used it should be fine) llvm bitcode → c (using rellic, which seems to be the cleanest) manually cleaning c, which can be easily automated c → x86 (watcom) requirements for the rust code: no_std no panic!ing no cpu-specific instructions write your own bindings to watcom c headers (if you need them) since clang doesn’t understand watcom jank soon all will be automated. then i can continue on my quest to oxidize bad apple on the 5150"}, {"post_id": 24291, "ts": "2026-07-07T19:19:16Z", "hours": 8.6647, "text": "pc speaker stuff! i’m working on the resampling and frequency calculations portions now, hopefully the scheduler will play nicer with me…"}]...
|
Title: rustydos by @penelopoison | Stardance
Devl Title: rustydos by @penelopoison | Stardance
Devlogs:
pc speaker stuff! i’m working on the resampling and frequency calculations portions now, hopefully the scheduler will play nicer with me…
i’ve pivoted. modern piezoelectric speakers in keeping with the tradition of this general social malaise are probably 10 times worse and less flexible than the ibm 5150. i have no patience for rebooting or qemu so i thought why not use dos? and so i embarked on this terrifying journey… pipeline: rust → llvm bitcode (cargo targeting x86_64, but as long as no cpu-specific instructions are used it should be fine) llvm bitcode → c (using rellic, which seems to be the cleanest) manually cleaning c, which can be easily automated c → x86 (watcom) requirements for the rust code: no_std no panic!ing no cpu-specific instructions write your own bindings to watcom c headers (if you need them) since clang doesn’t understand watcom jank soon all will be automated. then i can continue on my quest to oxidize bad apple on the 5150
another stupid pivot. turns out llvm is way harder to work with than i thought it was, so i might as well just write everything in c. no more originality!!...
|
1792666078.3028078
|
1793270878.3028078
|
|
9742
|
rustpad by @fabianbuthere | Stardance
|
fabianbuthere
|
0
|
0.72
|
0
|
[]
|
[{"post_id": 4152, "ts": "2026 [{"post_id": 4152, "ts": "2026-06-07T11:15:55Z", "hours": 0.3508, "text": "I just read that only QMK, KMK and ZMK are allowed. This is… really sad. I despise C, but I guess I’ll have to use it."}, {"post_id": 4140, "ts": "2026-06-07T10:44:47Z", "hours": 0.3692, "text": "Finished the designs for the PCB and the case. Importing the plate into FreeCAD was a hustle, but I managed to figure it out by reading through 6 year old blog posts. I was surprised that the hackpad guide uses non-FOSS software, but well. Onto the firmware!"}]...
|
Title: rustpad by @fabianbuthere | Stardance
Devl Title: rustpad by @fabianbuthere | Stardance
Devlogs:
Finished the designs for the PCB and the case. Importing the plate into FreeCAD was a hustle, but I managed to figure it out by reading through 6 year old blog posts. I was surprised that the hackpad guide uses non-FOSS software, but well. Onto the firmware!
I just read that only QMK, KMK and ZMK are allowed. This is… really sad. I despise C, but I guess I’ll have to use it....
|
1793152576.660269
|
1793757376.660269
|
|
9197
|
rustisay by @ttyChud | Stardance
|
ttyChud
|
2
|
10.0
|
82
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T10:00:22Z", "hours": 6.0, "multiplier": 5.85, "payout": 33, "blessing": "neutral", "text": "add the ability to use it in web instead of downloading it even tho both option are available and added the ability to output the generated the gif and be able to save it localy try fixing some windows issuess but i dont have an access so i dont know", "repo": "https://github.com/Himanshu121865/rustisay", "demo": "https://himanshu121865.github.io/rustisay/"}, {"ship_num": 2, "ts": "2026-06-08T19:56:24Z", "hours": 4.0, "multiplier": 8.56, "payout": 49, "blessing": "neutral", "text": "It’s a gif to ascii converter. it uses edge detection for more crisp ascii art, it automatically support color but if u wanna turn them off just use color flag . i have also added multiple txt support you can choose as per ur preference. for installation just do cargo install rustisay that’s it,", "repo": "https://github.com/Himanshu121865/rustisay", "demo": "https://himanshu121865.github.io/rustisay/"}]...
|
[{"post_id": 48008, "ts": "202 [{"post_id": 48008, "ts": "2026-08-16T09:12:34Z", "hours": 5.6686, "text": "it’s been such a long time since i have worked on this project i been wanting to add some feature like output to gif and a web ui using wasm so it’s finaly here i have add the abiltiy to save the output ascii to a gif file and i have also add a web version with rust wasm which is really fast but not as fast as when u install it in ur pc"}, {"post_id": 5099, "ts": "2026-06-08T19:45:07Z", "hours": 3.3975, "text": "ok, so finally it works now i have added only one algo and it edge detection. i wanted to start from and easy algo but f*ck it. it’s work but i didn’t add a way to output it to gif or anything."}, {"post_id": 3411, "ts": "2026-06-06T10:19:34Z", "hours": 0.7828, "text": "Im working on a gif to ascii art converter in rust. user can upload any gif they want and choose some options how they want to get converted. then it can play the gif as ascii or save at a prescribed output dir"}]...
|
Title: rustisay by @ttyChud | Stardance
Devlogs:
Title: rustisay by @ttyChud | Stardance
Devlogs:
Im working on a gif to ascii art converter in rust. user can upload any gif they want and choose some options how they want to get converted. then it can play the gif as ascii or save at a prescribed output dir
ok, so finally it works now i have added only one algo and it edge detection. i wanted to start from and easy algo but f*ck it. it’s work but i didn’t add a way to output it to gif or anything.
it’s been such a long time since i have worked on this project i been wanting to add some feature like output to gif and a web ui using wasm so it’s finaly here i have add the abiltiy to save the output ascii to a gif file and i have also add a web version with rust wasm which is really fast but not as fast as when u install it in ur pc
Ships:
It’s a gif to ascii converter. it uses edge detection for more crisp ascii art, it automatically support color but if u wanna turn them off just use color flag . i have also added multiple txt support you can choose as per ur preference. for installation just do cargo install rustisay that’s it,
add the ability to use it in web instead of downloading it even tho both option are available and added the ability to output the generated the gif and be able to save it localy try fixing some windows issuess but i dont have an access so i dont know...
|
1792860537.9088337
|
1793724537.9088337
|
|
7288
|
rustbreeder by nagi by @asherwandenreich | Stardan rustbreeder by nagi by @asherwandenreich | Stardance...
|
asherwandenreich
|
0
|
4.91
|
0
|
[]
|
[{"post_id": 77099, "ts": "202 [{"post_id": 77099, "ts": "2026-10-05T17:08:32Z", "hours": 1.9556, "text": "Making it better: 01 First I found that finalizing anything over 5 plants would freeze my Mac for over 10 seconds. I looked over the vibe code and realized it was using permutations and generating every single outcome and running each outcome through the scoring system. I used AI to switch from a brute force engine to a much more optimized engine. It implemented memoization (cache) which eliminated duplicates. It also implemented hill climbing sorting and random restarts, which helped find the best outcome much faster. (86% decrease) Now that I’m starting to understand Stardance and Hack Club I’m pivoting from heavy vibe-coding to having Claude walk me through the code instead (in tandem with the tutorials). I’ll pitch the ideas, fixes, next steps, and ask Claude when I’m stuck on the technical aspects."}, {"post_id": 75129, "ts": "2026-09-29T07:00:52Z", "hours": 2.9564, "text": "Made it exist: Manually wrote the base of the engine that took a user’s given plant (berry) genes and weighed its worth based on its six traits. [rust (the game) genetics, iykyk] Manually wrote code to predict the resultant trait(s) in each of the six gene slots when two plants are crossbred. Vibe-coded a GUI with input for the user’s plant genes. Created a nice finalize button and separated the “instructions” (aka where to plant the plants you have) and the “resultants” (aka the plants you’ll breed). Added edit/delete feature in case of a fat-finger when inputting plant genes."}]...
|
Title: rustbreeder by nagi by @asherwandenreich | Title: rustbreeder by nagi by @asherwandenreich | Stardance
Devlogs:
Made it exist: Manually wrote the base of the engine that took a user’s given plant (berry) genes and weighed its worth based on its six traits. [rust (the game) genetics, iykyk] Manually wrote code to predict the resultant trait(s) in each of the six gene slots when two plants are crossbred. Vibe-coded a GUI with input for the user’s plant genes. Created a nice finalize button and separated the “instructions” (aka where to plant the plants you have) and the “resultants” (aka the plants you’ll breed). Added edit/delete feature in case of a fat-finger when inputting plant genes.
Making it better: 01 First I found that finalizing anything over 5 plants would freeze my Mac for over 10 seconds. I looked over the vibe code and realized it was using permutations and generating every single outcome and running each outcome through the scoring system. I used AI to switch from a brute force engine to a much more optimized engine. It implemented memoization (cache) which eliminated duplicates. It also implemented hill climbing sorting and random restarts, which helped find the best outcome much faster. (86% decrease) Now that I’m starting to understand Stardance and Hack Club I’m pivoting from heavy vibe-coding to having Claude walk me through the code instead (in tandem with the tutorials). I’ll pitch the ideas, fixes, next steps, and ask Claude when I’m stuck on the technical aspects....
|
1792583645.6027367
|
1793188445.6027367
|
|
1110
|
rust_brainfuck_runner by @ZiDi | Stardance
|
ZiDi
|
0
|
1.0
|
0
|
[]
|
[{"post_id": 277, "ts": "2026- [{"post_id": 277, "ts": "2026-06-01T14:43:18Z", "hours": 1.0, "text": "Making color libary for brainfuck"}]...
|
Title: rust_brainfuck_runner by @ZiDi | Stardance
Title: rust_brainfuck_runner by @ZiDi | Stardance
Devlogs:
Making color libary for brainfuck...
|
1792939650.9015923
|
1793803650.9015923
|
|
11104
|
rust ez-ier by @pineapple-candy | Stardance
|
pineapple-candy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rust ez-ier by @pineapple-candy | Stardance
|
1792702514.8886359
|
1793307314.8886359
|
|
59064
|
running-app by @yahoo77 | Stardance
|
yahoo77
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: running-app by @yahoo77 | Stardance
|
1792781505.703074
|
1793386305.703074
|
|
19801
|
runing gAme by @maulshreesrivastava39 | Stardance
|
maulshreesrivastava39
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: runing gAme by @maulshreesrivastava39 | Sta Title: runing gAme by @maulshreesrivastava39 | Stardance...
|
1793163183.5932155
|
1793767983.5932155
|
|
22948
|
runhelper by @trev | Stardance
|
trev
|
0
|
15.15
|
0
|
[]
|
[{"post_id": 30565, "ts": "202 [{"post_id": 30565, "ts": "2026-07-18T07:37:06Z", "hours": 1.5672, "text": "To get ready to ship, I finished the readmes to include instructions on how to run the project and published binaries on its Github page. While setting up a demo server, I realised the webapp would not show the port of the server, which matters if there are multiple servers running at the same time. I added a port field to the ServerInfo struct and implemented finding it from GAME_ARGS and the game server’s config file for each game server."}, {"post_id": 27064, "ts": "2026-07-12T08:47:11Z", "hours": 3.6383, "text": "I finished implementing the mod resolver for tModLoader. My first thought was to read the .twld file; since it’s generated by tModLoader, it probably held information about the mods. I couldn’t find docs for its file format, so I first used the file tool, which showed that it was a gzipped file. I decompressed the file and tried to see if it was a text format or simple binary format by opening it in a hex editor. It wasn’t though, so I looked harder at the tModLoader docs, and found that it simply saved the WorldFileData to a TagCompound , which is serialized as an NBT. I then had the problem of storing the world path within the Terraria struct, since it would require a special argument on the server_info function that other implementations wouldn’t need. I thought about creating a new trait that would be passed to server_info , but I realised I could use the V: Variant and detect the world path from the config, since V already is generic. This required changing the trait bound from Copy to Clone , since the ServerType would have to hold a PathBuf which does not implement Copy . I finally used the Steamworks Web API to search the Steam Workspace, where mods are uploaded, to find info like the icon url, whether it’s client or server sided, etc."}, {"post_id": 24559, "ts": "2026-07-08T06:28:46Z", "hours": 3.6786, "text": "I started by trying to add support for the Satisfactory Dedicated Server, so I created a module for it in routes::start , where the other game server impls are. I saw that the start module directory was starting to get big, so I moved its contents to a new module at crate::games . Because Satisfactory does not have any server variants, I initially implemented Variant for () , returning None in its fn detect , and used () as its variant. After testing it, I realised that detect returning None would make the server not runnable, since it’s supposed to detect if there is a server at a given path. I removed the impl for () and created a single variant enum instead. I implemented fn run by running FactoryServer.exe / FactoryServer.sh with the arg -unattended and fn server_info by inspecting the exe’s product_version . I was looking into how to gracefully stop a Satisfactory server, and realised that the GameServer trait does not require a fn stop to be defined, and that it had handled stopping in the routes::stop function, matching on the ServerType . I added fn stop to the GameServer trait, and moved the impls to the respective game impls. I also saw that in crate::tasks::shutdown , it only sent /stop (only working for Minecraft) and then force-killed the process. I replaced this with running the stop implementation. For Satisfactory, stop had to send SIGINT on Linux and CtrlC on Windows. I used libc::kill for Linux, and GenerateConsoleCtrlEvent for Windows. Since I already needed the crates libc and windows-sys for this, I replaced the existing force_kill implementation that ran CLI commands with libc::kill and TerminateProcess . Now that GameServer was fully implemented for Satisfactory, I tried starting the game. It opened a visible console window, even with different args. To make it run without a window, I looked into creation flags like CREATE_NO_WINDOW , but that didn’t work. The wiki said that to run the server as a service, I would have to use NSSM, but that requires administrator privileges. I then looked at Task Manager and saw that FactoryServer.exe seemed to only run FactoryServer-Win64-Shipping-Cmd.exe with the arguments FactoryGame -unattended . So, I ran it with those arguments, and the server would now start without creating a console window."}, {"post_id": 23980, "ts": "2026-07-07T07:24:33Z", "hours": 0.5936, "text": "I added support for vanilla minecraft servers, refactoring some functions that ended up useful for both paper and vanilla."}, {"post_id": 22710, "ts": "2026-07-05T08:53:33Z", "hours": 1.3042, "text": "I finished a todo on ensuring the different game server implementations are and stay consistent. I did this by defining a common GameServer trait that takes a generic Variant type; the Variant type needs to be generic because different games may have different server variants. The GameServer trait requires fn spawn and fn server_info to be defined and provides fn run that calls spawn and server_info , setting the AppState ’s server info with the result. This ended up making the respective mod.rs s more concise and deduplicating some logging code."}, {"post_id": 14251, "ts": "2026-06-23T08:40:40Z", "hours": 0.405, "text": "I checked again and saw that the sockets still weren’t being cleaned up, looked through the helper routes again, and saw that the ws handler was infinitely looping even after it failed to send, causing the socket to not be released. I removed the loop and the fd count seems to be stable."}, {"post_id": 14173, "ts": "2026-06-23T05:09:08Z", "hours": 0.2867, "text": "I fixed an issue where socket fds were leaked, which caused the helper to eventually stop serving the static webapp due to an fd limit. I thought I fixed it by closing the websocket after it stopped being able to receive, but this would only happen if the websocket was already closed by the runner , meaning the call to close the websocket would always fail. I originally thought that because I reconnected in a loop , the websocket object would get dropped per iteration, but maybe due to async, it didn’t. So, to ensure the OS socket is closed, I manually drop the websocket object after recv fails."}, {"post_id": 13693, "ts": "2026-06-22T13:29:14Z", "hours": 0.9622, "text": "Since the console route is unauthenticated, I had a filter that censors numbers to hide things like IPs. However, a person should at least be able to see what players there are, using the /list command. So, the filter used to check if a line contains a specific string that /list outputs, but this could allow players to type that string to bypass the filter. I first fixed this with a regex, ^.+]: There are , but my benchmarks showed that it took 100x longer than the original. I finally fixed it by splitting the line by ] and checking if specific indexes (depending on the server type) start with the string. This solution takes around the same time as the original (avg ~1μs)."}, {"post_id": 13631, "ts": "2026-06-22T11:09:54Z", "hours": 2.7186, "text": "I noticed that after adding a certain plugin to a Minecraft server, the runner’s stdout reader would stop abruptly, with only a log saying the reader stopped. I realised that when it encountered an error, I made it stop without logging the actual error. After making it log the error, I saw that it stopped due to the output not being UTF-8. I fixed this by replacing my use of BufReader ’s .lines() and reading the stdout to a Vec<u8> , converting to a string lossily, so that it handles non-UTF-8 output. I also knew that the plugin/mod resolver was not very robust, not finding the actual plugin/mod most times. I improved this by reading the author info from the plugin/mod metadata with a more accurate data structure, eg. accounting for the authors field to be a string or a list of strings, using the author to compare with search results to ensure the correct result is selected. I also now try both the reported plugin/mod name and the name from its filename."}]...
|
Title: runhelper by @trev | Stardance
Devlogs:
I Title: runhelper by @trev | Stardance
Devlogs:
I noticed that after adding a certain plugin to a Minecraft server, the runner’s stdout reader would stop abruptly, with only a log saying the reader stopped. I realised that when it encountered an error, I made it stop without logging the actual error. After making it log the error, I saw that it stopped due to the output not being UTF-8. I fixed this by replacing my use of BufReader ’s .lines() and reading the stdout to a Vec<u8> , converting to a string lossily, so that it handles non-UTF-8 output. I also knew that the plugin/mod resolver was not very robust, not finding the actual plugin/mod most times. I improved this by reading the author info from the plugin/mod metadata with a more accurate data structure, eg. accounting for the authors field to be a string or a list of strings, using the author to compare with search results to ensure the correct result is selected. I also now try both the reported plugin/mod name and the name from its filename.
Since the console route is unauthenticated, I had a filter that censors numbers to hide things like IPs. However, a person should at least be able to see what players there are, using the /list command. So, the filter used to check if a line contains a specific string that /list outputs, but this could allow players to type that string to bypass the filter. I first fixed this with a regex, ^.+]: There are , but my benchmarks showed that it took 100x longer than the original. I finally fixed it by splitting the line by ] and checking if specific indexes (depending on the server type) start with the string. This solution takes around the same time as the original (avg ~1μs).
I fixed an issue where socket fds were leaked, which caused the helper to eventually stop serving the static webapp due to an fd limit. I thought I fixed it by closing the websocket after it stopped being able to receive, but this would only happen if the websocket was already closed by the runner , meaning the call to close the websocket would always fail. I originally thought that because I reconnected in a loop , the websocket object would get dropped per iteration, but maybe due to async, it didn’t. So, to ensure the OS socket is closed, I manually drop the websocket object after recv fails.
I checked again and saw that the sockets still weren’t being cleaned up, looked through the helper routes again, and saw that the ws handler was infinitely looping even after it failed to send, causing the socket to not be released. I removed the loop and the fd count seems to be stable.
I finished a todo on ensuring the different game server implementations are and stay consistent. I did this by defining a common GameServer trait that takes a generic Variant type; the Variant type needs to be generic because different games may have different server variants. The GameServer trait requires fn spawn and fn server_info to be defined and provides fn run that calls spawn and server_info , setting the AppState ’s server info with the result. This ended up making the respective mod.rs s more concise and deduplicating some logging code.
I added support for vanilla minecraft servers, refactoring some functions that ended up useful for both paper and vanilla.
I started by trying to add support for the Satisfactory Dedicated Server, so I created a module for it in routes::start , where the other game server impls are. I saw that the start module directory was starting to get big, so I moved its contents to a new module at crate::games . Because Satisfactory does not have any server variants, I initially implemented Variant for () , returning None in its fn detect , and used () as its variant. After testing it, I realised that detect returning None would make the server not runnable, since it’s supposed to detect if there is a server at a given path. I removed the impl for () and created a single variant enum instead. I implemented fn run by running FactoryServer.exe / FactoryServer.sh with the arg -unattended and fn server_info by inspecting the exe’s product_version . I was looking into how to gracefully stop a Satisfactory server, and realised that the GameServer trait does not require a fn stop to be defined, and that it had handled stopping in the routes::stop function, matching on the ServerType . I added fn stop to the GameServer trait, and moved the impls to the respective game impls. I also saw that in crate::tasks::shutdown , it only sent /stop (only working for Minecraft) and then force-killed the process. I replaced this with running the stop implementation. For Satisfactory, stop had to send SIGINT on Linux and CtrlC on Windows. I used libc::kill for Linux, and GenerateConsoleCtrlEvent for Windows. Since I already needed the crates libc and windows-sys for this, I replaced the existing force_kill implementation that ran CLI commands with libc::kill and TerminateProcess . Now that GameServer was fully implemented for Satisfactory, I tried starting the game. It opened a visible console window, even with different args. To make it run without a window, I looked into creation flags like CREATE_NO_WINDOW , but that didn’t work. The wiki said that to run the server as a service, I would have to use NSSM, but that requires administrator privileges. I then looked at Task Manager and saw that FactoryServer.exe seemed to only run FactoryServer-Win64-Shipping-Cmd.exe with the arguments FactoryGame -unattended . So, I ran it with those arguments, and the server would now start without creating a console window.
I finished implementing the mod resolver for tModLoader. My first thought was to read the .twld file; since it’s generated by tModLoader, it probably held information about the mods. I couldn’t find docs for its file format, so I first used the file tool, which showed that it was a gzipped file. I decompressed the file and tried to see if it was a text format or simple binary format by opening it in a hex editor. It wasn’t though, so I looked harder at the tModLoader docs, and found that it simply saved the WorldFileData to a TagCompound , which is serialized as an NBT. I then had the problem of storing the world path within the Terraria struct, since it would require a special argument on the server_info function that other implementations wouldn’t need. I thought about creating a new trait that would be passed to server_info , but I realised I could use the V: Variant and detect the world path from the config, since V already is generic. This required changing the trait bound from Copy to Clone , since the ServerType would have to hold a PathBuf which does not implement Copy . I finally used the Steamworks Web API to search the Steam Workspace, where mods are uploaded, to find info like the icon url, whether it’s client or server sided, etc.
To get ready to ship, I finished the readmes to include instructions on how to run the project and published binaries on its Github page. While setting up a demo server, I realised the webapp would not show the port of the server, which matters if there are multiple servers running at the same time. I added a port field to the ServerInfo struct and implemented finding it from GAME_ARGS and the game server’s config file for each game server....
|
1792623147.0769057
|
1793227947.0769057
|
|
57246
|
rune by @sammyamd | Stardance
|
sammyamd
|
0
|
13.58
|
0
|
[]
|
[{"post_id": 59771, "ts": "202 [{"post_id": 59771, "ts": "2026-09-01T18:22:38Z", "hours": 13.5811, "text": "Rune the fighting game with 5 characters a wizard a skeleton a ghost and rune the raccoon rune stole items from everyone and throws random items at them as a special attack.There are five seens one for each character.I don`t have all the images yet i still have to draw thoes."}]...
|
Title: rune by @sammyamd | Stardance
Devlogs:
Run Title: rune by @sammyamd | Stardance
Devlogs:
Rune the fighting game with 5 characters a wizard a skeleton a ghost and rune the raccoon rune stole items from everyone and throws random items at them as a special attack.There are five seens one for each character.I don`t have all the images yet i still have to draw thoes....
|
1792698514.8995836
|
1793303314.8995836
|
|
71650
|
run by @potionj | Stardance
|
potionj
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: run by @potionj | Stardance
|
1793144830.9163017
|
1793749630.9163017
|
|
46811
|
run boi run by @zeriii | Stardance
|
zeriii
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: run boi run by @zeriii | Stardance
|
1793155753.0591776
|
1793760553.0591776
|
|
7472
|
rumi by @subhansh | Stardance
|
|
1
|
106.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T07:38:59Z", "hours": 106.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "rumi - research unified machine intelligence… rumi is an actual autonomous AI scientist designed to discover, not just describe. Powered by a 22 phase, 2 tracks scientific discovery pipeline, RUMI analyzes research literature, builds knowledge representations, identifies gaps in existing explanations, generates novel hypotheses, constructs mathematical and causal models, produces falsifiable predictions, and evaluates competing theories through automated scientific review. Operating across 17 domains, RUMI is built as a general-purpose discovery engine whose objective is to accelerate human research by systematically exploring explanations that may not yet exist in the literature while maintaining transparency, critique, and testability throughout the discovery process. NOTE :- rumi still cant do end to end novel discoveries on her own but she can provide novel ideas with grounded mechanisms and derivations and stronger the reasoning of a model = better results from rumi.. that said… once i get my hands on a frontier llm ill plug it into rumi and develop her more Proof that rumi works :- rumi has helped me publish 1 peer reviewed research paper on analytical number theory (DOI :- 10.5281/zenodo.21107958)", "repo": "https://github.com/subhansh-dev/rumi", "demo": "https://rumi-nu.vercel.app"}]...
|
[{"post_id": 11764, "ts": "202 [{"post_id": 11764, "ts": "2026-06-19T04:39:49Z", "hours": 16.0183, "text": "rumi-Devlog #9 🍓😺✌ today was mostly spent making RUMI faster because some runs were taking an absolutely stupid amount of time 😭 provider stack changes spent a while profiling the provider chain and found a few cursed bottlenecks. disabled Fireworks (credits died, every failed request was wasting ~90s) switched GLM routing to Kimi K2.6 via a second NVIDIA key tested Cerebras-first vs NVIDIA-first routing results were funny: Cerebras = ~2s/call but discoveries averaged around C grade NVIDIA = ~65s/call but much stronger reports so now different parts of the pipeline use different providers depending on the task. phase 6.5 speedup equation generation was committing crimes. rewrote the whole thing to run in parallel (6 workers). went from: ~16 min to ~1 min for a typical 15 mechanism loop. also finally fixed the legendary: 0/15 equations generated bug 😺🍓 literature search all literature sources now fetch concurrently: arXiv PubMed CrossRef OpenAlex etc runtime dropped from ~2 mins to ~64 seconds. RUMI TUI probably my favourite thing from today. built a proper Textual-based TUI so i can actually see what RUMI is doing instead of staring at a terminal for 10 hours. added: real-time phase tracking live agent status brain module dashboard discovery controls /brain /status /dream /memory /hypothesis also fixed a bunch of broken brain module APIs that were pretending to work 💀 random bug of the day RUMI was occasionally turning english into ancient cursed language and generating stuff like: withinamy instead of actual words. fixed topic truncation so it now cuts at word boundaries. current state provider stack healthier equation generation WAY faster literature search faster TUI finally usable brain modules actually verified at boot still spending most of my life waiting for discovery runs to finish though 🥀"}, {"post_id": 9228, "ts": "2026-06-15T14:33:23Z", "hours": 23.0847, "text": "rumi-Devlog #8 🍓 Current status: rumis smarter, my codebase survived, and my sanity is questionable 💔 A huge part of this session wasn’t actually spent improving discovery quality. It was spent improving everything around RUMI. As RUMI’s discovery pipeline keeps getting bigger, debugging has become a nightmare. Reading raw JSON reports, searching through logs, and manually inspecting hundreds of entities was getting painful. So I built a full visualization and monitoring system for RUMI. The dashboard can now visualize: discovery reports theory competitions adversarial testing results predictions refinement stages scoring breakdowns knowledge graphs paper collections hypothesis memory all from a single interface. Knowledge Graph Visualization One thing I’ve wanted for a while was being able to actually SEE what RUMI was discovering. Not read it. See it. So I built an interactive graph explorer using vis.js. Every entity type gets its own visual identity. Nodes glow based on type. Edges scale with confidence. Hovering shows metadata, paper counts, and relationships. The graph uses ForceAtlas physics and overlap avoidance to make large discovery graphs easier to navigate. Watching hundreds of concepts connect together is honestly way more useful than reading raw graph dumps. 🥀 Discovery Report Explorer RUMI reports have become massive. Some are hundreds of kilobytes. Some are over a thousand lines. Reading those manually sucks. So I built dedicated views for: theory competition adversarial evaluation predictions scoring derivations peer review refinement stages which makes analyzing runs significantly easier. Provider Stack Surgery 💔 While testing the new recurrent architecture I discovered a huge bottleneck. Xiaomi MiMo. It was slow. Constantly rate limiting. Burning through provider chains. And starving downstream phases. This turned out to be the reason molecule generation kept randomly failing. So MiMo got removed from the routing stack. After testing 17 API keys across all providers: 13 healthy 4 problematic Current routing stack includes: NVIDIA DeepSeek Kimi K2.6 Cerebras GPT-OSS-120B Groq Gemini Fireworks Still chasing down some timeout and rate limit issues but overall the stack is way healthier now. Discovery Testing Used the upgraded architecture to stress test RUMI on several difficult domains. One of the most interesting runs was Molecular Glue Drug Discovery. Current run stats: 16 hidden variables 15 mechanisms per loop 7 predictions multiple adversarial survivors recurrent refinement loops enabled The architecture is definitely producing stronger outputs than before. meow meow meow"}, {"post_id": 7717, "ts": "2026-06-12T21:37:49Z", "hours": 19.0981, "text": "rumi-Devlog #7 🍓 This was probably one of the most frustrating and important RUMI development sessions so far. Most people only see the final discovery reports. They don’t see the chaos that happens before RUMI can generate a single theory. And trust me, there was a lot of chaos. 💔 Bug Fixes, Bug Fixes, More Bug Fixes I started this session thinking I’d make a few improvements and continue testing. That did not happen. RUMI’s architecture has reached a point where changing one thing breaks three others. Every time I fixed 3 bugs, another 5 appeared from somewhere else. At one point I genuinely crashed out because every run ended with a new issue that didn’t even exist before. It felt like: fix_bug() spawn_more_bugs(count=5) Turns out there’s a reason people say: “If it’s working, don’t touch it.” Unfortunately I touched it. A lot. 🥀 The Problem Even though RUMI was producing interesting discoveries, I still wasn’t satisfied. The reports were often interesting, creative, and sometimes novel, but they still felt too generic. The pipeline would generate a theory, evaluate it once, pick a winner, and move on. I wanted RUMI to spend more time refining ideas instead of treating every discovery as a one-shot attempt. Falling Into The OpenMythos Rabbit Hole While researching I came across OpenMythos, a community attempt to reverse engineer Anthropic’s rumored Mythos architecture. Nobody actually knows how Mythos works, but the community has proposed several reasoning patterns that might explain Claude-style outputs. I spent hours reading through it asking myself: “What parts of this could actually work inside RUMI?” Not copying. Adapting. The Biggest Change I’ve Ever Made To RUMI 🥀 One idea stood out immediately: recurrent reasoning loops. Before: Mechanisms ↓ Predictions ↓ Theory Competition ↓ Winner One pass. One shot. If mechanism generation was weak, everything downstream became weak too. So I rebuilt a huge section of the pipeline. Now RUMI performs a 3-stage recurrent refinement process: Loop 1 — Exploration Maximum creativity Maximum diversity Broad theory generation Loop 2 — Refinement Survivors re-enter the pipeline Focus on evidence, consistency, and mechanism quality Loop 3 — Convergence Lowest creativity Highest rigor Final selection of the strongest explanation Instead of living or dying from a single generation pass, theories now get multiple opportunities to evolve. Preventing Theory Drift Another idea I adapted was evidence grounding injection. Recursive systems often suffer from theory drift, where ideas slowly become disconnected from the evidence that originally generated them. To prevent this, every refinement loop continuously receives: Literature evidence Contradictions Knowledge gaps Observed anomalies This keeps discoveries grounded instead of drifting into fantasy. Smarter Computation I also added convergence-aware halting. Not every scientific problem deserves the same amount of computation. Some topics converge quickly while others require deeper exploration. RUMI can now monitor improvements between loops and eventually stop refining once discoveries begin stabilizing. lwk so much happened in these last 17hrs that i cant even include everything in here cause of the word limit 😭🥀"}, {"post_id": 6459, "ts": "2026-06-10T21:25:00Z", "hours": 15.2386, "text": "rumi - Devlog #6 June 11, 2026 so yea… pulled an all nighter for this one 🥀 most of the work this time wasn’t adding entirely new systems. it was stress testing RUMI hard enough to find where the architecture starts breaking. and honestly i found a lot more than i expected. Track B Architecture Improvements spent a lot of time refining Track B after the initial curiosity pipeline integration. instead of just generating curiosity questions, it now runs through much more of the actual discovery stack. lots of internal changes here that don’t really show up visually but massively affect the quality of the final reports. 💔 Constraint Pipeline Fix found a pretty nasty issue where parts of the generated curiosity constraints weren’t making it all the way through the pipeline. after fixing it, the results became immediately obvious. latest dual-track run: Track A Unique Theories: 9 Track B Unique Theories: 8 Shared Theories: 0 which is honestly one of the strongest signals i’ve seen so far that the dual-track system is actually working as intended. both tracks are now exploring completely different hypothesis spaces instead of converging on the same ideas. Claude Fable 5 Experiment managed to get temporary access to Claude Fable 5 and immediately decided to throw RUMI at it. before i could even test it though… the integration broke 💔 spent a while fixing provider compatibility issues and getting everything working again. eventually got a discovery run started on: What happens to information when it crosses a black hole event horizon? Fable managed to reach roughly Phase 8.5 before the free trial looked at RUMI’s request count and basically said: aight imma head out 😭 What Fable Revealed this ended up being way more valuable than i expected. while comparing Fable’s outputs with the models i normally run, i noticed a massive difference. most models tend to generate: Hidden Variable ↓ Mechanism Description ↓ Prediction Fable was generating: Hidden Variable ↓ Mechanism ↓ Equation ↓ Parameter Extraction ↓ Derivation ↓ Numerical Validation ↓ Prediction actual equations. actual variables. actual derivation chains. actual numerical checks. 🥀 Switching Back To MiMo after the Fable credits died, i moved everything back to MiMo and started comparing outputs. and that’s when another weakness became obvious. the pipeline itself wasn’t failing. MiMo simply wasn’t producing the mathematical depth needed for the mechanism stage. which means the current bottleneck isn’t discovery anymore. it’s mathematical formalization. Mathematical Formalization Architecture one of the most interesting things i noticed while testing Claude Fable 5 was how differently it handled mechanism generation. most models would generate something like: Hidden Variable ↓ Mechanism Description ↓ Prediction while Fable was generating: Hidden Variable ↓ Mechanism ↓ Equation ↓ Parameter Extraction ↓ Derivation ↓ Numerical Validation ↓ Prediction and honestly that immediately exposed one of RUMI’s biggest weaknesses. theories and mechanisms were already being generated. the math wasn’t. so instead of just complaining about it, i started redesigning the mechanism pipeline around that pattern. RUMI now has the foundations for a much more quantitative discovery process where mechanisms aren’t just descriptions anymore, which is lwk tuff ig 🥀✌ equations variables derivations parameter extraction numerical validation Switching Back To MiMo 🥀 after Fable ran out of credits i moved everything back to MiMo and started testing the updated architecture and still doing it cause mimo is like hella slow bruh normally umi takes upto 30-40 mins but now with mimo shes taking aorund 2hr 30mins 💔"}, {"post_id": 5243, "ts": "2026-06-08T23:06:33Z", "hours": 10.65, "text": "Devlog #5 — RUMI Dual-Track Architecture so as yall know yesterday i finished adding the curiosity pipeline (wait… you dont know about this? naaa💔go read yesterday’s devlog >:3…WUT ? GO RN) but yea that was mostly just the foundation today was about actually refining it and wiring it into the rest of RUMI basically i ended up bringing a lot of the Track A discovery pipeline into Track B too because like… why wouldnt i 😭 not just straight up copy-pasting it though because then both tracks would end up doing the same thing instead i reused parts of the architecture while keeping the curiosity systems separate the biggest addition was making the generated curiosity constraints actually flow into the discovery process itself which sounds simple until you spend half the day finding out they werent actually being propagated through the pipeline properly 💔 and then came the debugging arc 😭 DNS resolution failures causing discovery runs to randomly die 😾 (like wdym rumi requested for more papers and data and dns forgetting that internet exists) curiosity constraints not propagating into the pipeline😫 Semantic Scholar 429 rate limits 🥀 Gemini 503 errors 😢 free-tier rate limits everywhere (she makes like 6-7k requests in one run )😺🥀 and somehow RUMI has become so LLM hungry that i had to run her on 13 API keys across 3 different providers just to keep discovery sessions alive 😭 (lwk running on hope and sum duct tape 🥀🥀) there was genuinely a point where i was about to crash out because providers kept rate limiting, APIs were dying, runs were hanging, and everything was fighting me at once 💔🥀😭 but after all that RUMI finally completed a full dual-track discovery run topic: “Why does the universe expand faster than expected?” results: Track A Winner → Scale-Dependent Effective Gravity Track B Winner → Temporal Vacuum Shear Framework and this is where things got interesting Track A and Track B finished with: 0 shared theories <–(🙀) different winners different hidden variables different contradiction sets different mechanisms 0 runtime errors RUMI generated: 17 theories 30 mechanisms 22 hidden variables 12 contradictions 12 predictions from a single discovery session 😭 and honestly the most important number isnt the score its this: Shared Theories: 0 because it means Track B isnt just making a slightly remixed version of Track A anymore both tracks started from the same question, same literature, same knowledge base, and still ended up exploring completely different hypothesis spaces which is pretty much the entire reason i built the curiosity system in the first place 😭🥀 still more work to do, but today feels like one of the biggest architecture milestones for RUMI so far💔🥀 lwk gonna try to improve GFlowNets tmrw here’s the updated pipeline diagram :-"}, {"post_id": 4578, "ts": "2026-06-07T22:28:00Z", "hours": 9.3764, "text": "Stardance Devlog #3 June 7, 2026 Today I realized RUMI’s biggest limitation wasn’t math, evidence, reviewers, or the 17-stage pipeline. It was curiosity. For days I’ve been making RUMI better at reading papers, finding gaps, generating hypotheses, scoring theories, and validating ideas, which actually improved her ALLAT… but still something felt missing. Then it hit me. RUMI could analyze research. RUMI could synthesize research. RUMI could critique research. But RUMI never stopped and asked: “Why does this happen at all?” And that’s where most discoveries begin🥀 So today I built Phase 0 — The Curiosity Engine. Before reading papers. Before building knowledge graphs. Before generating mechanisms. RUMI now starts by questioning the problem itself. What could be causing this? What assumptions are we making? What if the accepted explanation is incomplete? What are we not looking at? Basically, RUMI now wonders before she researches😭 The first implementation was a disaster. I merged curiosity directly into the main pipeline and immediately turned the architecture into spaghetti. So I rebuilt it. Now there are two separate paths: Conventional RUMI Reads Analyzes Verifies Curious RUMI Questions Explores Challenges assumptions Both run independently and merge into the final report💔 The funny part is that after building theory tournaments, Bayesian reasoning, evidence systems, mathematical verification, observability checks, and dozens of other modules… The biggest upgrade might have been teaching RUMI something humans learn as children: Curiosity🥀😭 Today’s Progress Phase 0 Curiosity Engine ✅ Dual-Pipeline Architecture ✅ Evidence Extraction Improvements ✅ Observability Checks ✅ Mechanism Completeness Scoring ✅ My Sanity ❌ See you tomorrow. Hopefully before RUMI starts asking questions that create more problems than answers. 🥀💔"}, {"post_id": 3851, "ts": "2026-06-06T22:22:37Z", "hours": 2.2931, "text": "spent basically the whole day inside RUMI’s discovery engine and ngl it was pain 💔 fixed 50+ bugs across the pipeline. some of the biggest ones were: empty hypotheses theory tournament crashing unicode errors on windows graph contamination novelty scoring issues mechanism validation deleting everything 😭 also built a few new systems: math verification engine counterfactual/“what if” hypothesis generation entity enrichment (NASA, PubChem, UniProt, PDB, etc.) better novelty scoring tournament winner override before the fixes, some discoveries were scoring: 0/100 40/100 45/100 after everything: FRB Magnetar: 66/100 (B) KRAS G12D: 65/100 (B) the coolest run today was on Fast Radio Bursts and magnetars. RUMI went through 69 papers, generated new hidden variables, built mechanisms around them, made testable predictions, then tried to destroy its own ideas through adversarial testing. finally it actually felt like the pipeline was working end-to-end instead of randomly exploding lol 😭 still got a long way to go though. biggest weaknesses right now are novelty and mathematical rigor. RUMI is getting better at explaining science, now I need to make her better at finding genuinely new stuff. back to debugging tomorrow frfr 💔🥀😭"}, {"post_id": 3528, "ts": "2026-06-06T14:42:38Z", "hours": 2.1419, "text": "yayaya finallyy finally the basic tui is working and the frontend-backend integration is almost there"}, {"post_id": 2865, "ts": "2026-06-05T18:48:30Z", "hours": 7.7036, "text": "12hr 726mins in and still not finished debugging 💔🥀"}]...
|
Title: rumi by @subhansh | Stardance
Devlogs:
12h Title: rumi by @subhansh | Stardance
Devlogs:
12hr 726mins in and still not finished debugging 💔🥀
yayaya finallyy finally the basic tui is working and the frontend-backend integration is almost there
spent basically the whole day inside RUMI’s discovery engine and ngl it was pain 💔 fixed 50+ bugs across the pipeline. some of the biggest ones were: empty hypotheses theory tournament crashing unicode errors on windows graph contamination novelty scoring issues mechanism validation deleting everything 😭 also built a few new systems: math verification engine counterfactual/“what if” hypothesis generation entity enrichment (NASA, PubChem, UniProt, PDB, etc.) better novelty scoring tournament winner override before the fixes, some discoveries were scoring: 0/100 40/100 45/100 after everything: FRB Magnetar: 66/100 (B) KRAS G12D: 65/100 (B) the coolest run today was on Fast Radio Bursts and magnetars. RUMI went through 69 papers, generated new hidden variables, built mechanisms around them, made testable predictions, then tried to destroy its own ideas through adversarial testing. finally it actually felt like the pipeline was working end-to-end instead of randomly exploding lol 😭 still got a long way to go though. biggest weaknesses right now are novelty and mathematical rigor. RUMI is getting better at explaining science, now I need to make her better at finding genuinely new stuff. back to debugging tomorrow frfr 💔🥀😭
Stardance Devlog #3 June 7, 2026 Today I realized RUMI’s biggest limitation wasn’t math, evidence, reviewers, or the 17-stage pipeline. It was curiosity. For days I’ve been making RUMI better at reading papers, finding gaps, generating hypotheses, scoring theories, and validating ideas, which actually improved her ALLAT… but still something felt missing. Then it hit me. RUMI could analyze research. RUMI could synthesize research. RUMI could critique research. But RUMI never stopped and asked: “Why does this happen at all?” And that’s where most discoveries begin🥀 So today I built Phase 0 — The Curiosity Engine. Before reading papers. Before building knowledge graphs. Before generating mechanisms. RUMI now starts by questioning the problem itself. What could be causing this? What assumptions are we making? What if the accepted explanation is incomplete? What are we not looking at? Basically, RUMI now wonders before she researches😭 The first implementation was a disaster. I merged curiosity directly into the main pipeline and immediately turned the architecture into spaghetti. So I rebuilt it. Now there are two separate paths: Conventional RUMI Reads Analyzes Verifies Curious RUMI Questions Explores Challenges assumptions Both run independently and merge into the final report💔 The funny part is that after building theory tournaments, Bayesian reasoning, evidence systems, mathematical verification, observability checks, and dozens of other modules… The biggest upgrade might have been teaching RUMI something humans learn as children: Curiosity🥀😭 Today’s Progress Phase 0 Curiosity Engine ✅ Dual-Pipeline Architecture ✅ Evidence Extraction Improvements ✅ Observability Checks ✅ Mechanism Completeness Scoring ✅ My Sanity ❌ See you tomorrow. Hopefully before RUMI starts asking questions that create more problems than answers. 🥀💔
Devlog #5 — RUMI Dual-Track Architecture so as yall know yesterday i finished adding the curiosity pipeline (wait… you dont know about this? naaa💔go read yesterday’s devlog >:3…WUT ? GO RN) but yea that was mostly just the foundation today was about actually refining it and wiring it into the rest of RUMI basically i ended up bringing a lot of the Track A discovery pipeline into Track B too because like… why wouldnt i 😭 not just straight up copy-pasting it though because then both tracks would end up doing the same thing instead i reused parts of the architecture while keeping the curiosity systems separate the biggest addition was making the generated curiosity constraints actually flow into the discovery process itself which sounds simple until you spend half the day finding out they werent actually being propagated through the pipeline properly 💔 and then came the debugging arc 😭 DNS resolution failures causing discovery runs to randomly die 😾 (like wdym rumi requested for more papers and data and dns forgetting that internet exists) curiosity constraints not propagating into the pipeline😫 Semantic Scholar 429 rate limits 🥀 Gemini 503 errors 😢 free-tier rate limits everywhere (she makes like 6-7k requests in one run )😺🥀 and somehow RUMI has become so LLM hungry that i had to run her on 13 API keys across 3 different providers just to keep discovery sessions alive 😭 (lwk running on hope and sum duct tape 🥀🥀) there was genuinely a point where i was about to crash out because providers kept rate limiting, APIs were dying, runs were hanging, and everything was fighting me at once 💔🥀😭 but after all that RUMI finally completed a full dual-track discovery run topic: “Why does the universe expand faster than expected?” results: Track A Winner → Scale-Dependent Effective Gravity Track B Winner → Temporal Vacuum Shear Framework and this is where things got interesting Track A and Track B finished with: 0 shared theories <–(🙀) different winners different hidden variables different contradiction sets different mechanisms 0 runtime errors RUMI generated: 17 theories 30 mechanisms 22 hidden variables 12 contradictions 12 predictions from a single discovery session 😭 and honestly the most important number isnt the score its this: Shared Theories: 0 because it means Track B isnt just making a slightly remixed version of Track A anymore both tracks started from the same question, same literature, same knowledge base, and still ended up exploring completely different hypothesis spaces which is pretty much the entire reason i built the curiosity system in the first place 😭🥀 still more work to do, but today feels like one of the biggest architecture milestones for RUMI so far💔🥀 lwk gonna try to improve GFlowNets tmrw here’s the updated pipeline diagram :-
rumi - Devlog #6 June 11, 2026 so yea… pulled an all nighter for this one 🥀 most of the work this time wasn’t adding entirely new systems. it was stress testing RUMI hard enough to find where the architecture starts breaking. and honestly i found a lot more than i expected. Track B Architecture Improvements spent a lot of time refining Track B after the initial curiosity pipeline integration. instead of just generating curiosity questions, it now runs through much more of the actual discovery stack. lots of internal changes here that don’t really show up visually but massively affect the quality of the final reports. 💔 Constraint Pipeline Fix found a pretty nasty issue where parts of the generated curiosity constraints weren’t making it all the way through the pipeline. after fixing it, the results became immediately obvious. latest dual-track run: Track A Unique Theories: 9 Track B Unique Theories: 8 Shared Theories: 0 which is honestly one of the strongest signals i’ve seen so far that the dual-track system is actually working as intended. both tracks are now exploring completely different hypothesis spaces instead of converging on the same ideas. Claude Fable 5 Experiment managed to get temporary access to Claude Fable 5 and immediately decided to throw RUMI at it. before i could even test it though… the integration broke 💔 spent a while fixing provider compatibility issues and getting everything working again. eventually got a discovery run started on: What happens to information when it crosses a black hole event horizon? Fable managed to reach roughly Phase 8.5 before the free trial looked at RUMI’s request count and basically said: aight imma head out 😭 What Fable Revealed this ended up being way more valuable than i expected. while comparing Fable’s outputs with the models i normally run, i noticed a massive difference. most models tend to generate: Hidden Variable ↓ Mechanism Description ↓ Prediction Fable was generating: Hidden Variable ↓ Mechanism ↓ Equation ↓ Parameter Extraction ↓ Derivation ↓ Numerical Validation ↓ Prediction actual equations. actual variables. actual derivation chains. actual numerical checks. 🥀 Switching Back To MiMo after the Fable credits died, i moved everything back to MiMo and started comparing outputs. and that’s when another weakness became obvious. the pipeline itself wasn’t failing. MiMo simply wasn’t producing the mathematical depth needed for the mechanism stage. which means the current bottleneck isn’t discovery anymore. it’s mathematical formalization. Mathematical Formalization Architecture one of the most interesting things i noticed while testing Claude Fable 5 was how differently it handled mechanism generation. most models would generate something like: Hidden Variable ↓ Mechanism Description ↓ Prediction while Fable was generating: Hidden Variable ↓ Mechanism ↓ Equation ↓ Parameter Extraction ↓ Derivation ↓ Numerical Validation ↓ Prediction and honestly that immediately exposed one of RUMI’s biggest weaknesses. theories and mechanisms were already being generated. the math wasn’t. so instead of just complaining about it, i started redesigning the mechanism pipeline around that pattern. RUMI now has the foundations for a much more quantitative discovery process where mechanisms aren’t just descriptions anymore, which is lwk tuff ig 🥀✌ equations variables derivations parameter extraction numerical validation Switching Back To MiMo 🥀 after Fable ran out of credits i moved everything back to MiMo and started testing the updated architecture and still doing it cause mimo is like hella slow bruh normally umi takes upto 30-40 mins but now with mimo shes taking aorund 2hr 30mins 💔
rumi-Devlog #7 🍓 This was probably one of the most frustrating and important RUMI development sessions so far. Most people only see the final discovery reports. They don’t see the chaos that happens before RUMI can generate a single theory. And trust me, there was a lot of chaos. 💔 Bug Fixes, Bug Fixes, More Bug Fixes I started this session thinking I’d make a few improvements and continue testing. That did not happen. RUMI’s architecture has reached a point where changing one thing breaks three others. Every time I fixed 3 bugs, another 5 appeared from somewhere else. At one point I genuinely crashed out because every run ended with a new issue that didn’t even exist before. It felt like: fix_bug() spawn_more_bugs(count=5) Turns out there’s a reason people say: “If it’s working, don’t touch it.” Unfortunately I touched it. A lot. 🥀 The Problem Even though RUMI was producing interesting discoveries, I still wasn’t satisfied. The reports were often interesting, creative, and sometimes novel, but they still felt too generic. The pipeline would generate a theory, evaluate it once, pick a winner, and move on. I wanted RUMI to spend more time refining ideas instead of treating every discovery as a one-shot attempt. Falling Into The OpenMythos Rabbit Hole While researching I came across OpenMythos, a community attempt to reverse engineer Anthropic’s rumored Mythos architecture. Nobody actually knows how Mythos works, but the community has proposed several reasoning patterns that might explain Claude-style outputs. I spent hours reading through it asking myself: “What parts of this could actually work inside RUMI?” Not copying. Adapting. The Biggest Change I’ve Ever Made To RUMI 🥀 One idea stood out immediately: recurrent reasoning loops. Before: Mechanisms ↓ Predictions ↓ Theory Competition ↓ Winner One pass. One shot. If mechanism generation was weak, everything downstream became weak too. So I rebuilt a huge section of the pipeline. Now RUMI performs a 3-stage recurrent refinement process: Loop 1 — Exploration Maximum creativity Maximum diversity Broad theory generation Loop 2 — Refinement Survivors re-enter the pipeline Focus on evidence, consistency, and mechanism quality Loop 3 — Convergence Lowest creativity Highest rigor Final selection of the strongest explanation Instead of living or dying from a single generation pass, theories now get multiple opportunities to evolve. Preventing Theory Drift Another idea I adapted was evidence grounding injection. Recursive systems often suffer from theory drift, where ideas slowly become disconnected from the evidence that originally generated them. To prevent this, every refinement loop continuously receives: Literature evidence Contradictions Knowledge gaps Observed anomalies This keeps discoveries grounded instead of drifting into fantasy. Smarter Computation I also added convergence-aware halting. Not every scientific problem deserves the same amount of computation. Some topics converge quickly while others require deeper exploration. RUMI can now monitor improvements between loops and eventually stop refining once discoveries begin stabilizing. lwk so much happened in these last 17hrs that i cant even include everything in here cause of the word limit 😭🥀
rumi-Devlog #8 🍓 Current status: rumis smarter, my codebase survived, and my sanity is questionable 💔 A huge part of this session wasn’t actually spent improving discovery quality. It was spent improving everything around RUMI. As RUMI’s discovery pipeline keeps getting bigger, debugging has become a nightmare. Reading raw JSON reports, searching through logs, and manually inspecting hundreds of entities was getting painful. So I built a full visualization and monitoring system for RUMI. The dashboard can now visualize: discovery reports theory competitions adversarial testing results predictions refinement stages scoring breakdowns knowledge graphs paper collections hypothesis memory all from a single interface. Knowledge Graph Visualization One thing I’ve wanted for a while was being able to actually SEE what RUMI was discovering. Not read it. See it. So I built an interactive graph explorer using vis.js. Every entity type gets its own visual identity. Nodes glow based on type. Edges scale with confidence. Hovering shows metadata, paper counts, and relationships. The graph uses ForceAtlas physics and overlap avoidance to make large discovery graphs easier to navigate. Watching hundreds of concepts connect together is honestly way more useful than reading raw graph dumps. 🥀 Discovery Report Explorer RUMI reports have become massive. Some are hundreds of kilobytes. Some are over a thousand lines. Reading those manually sucks. So I built dedicated views for: theory competition adversarial evaluation predictions scoring derivations peer review refinement stages which makes analyzing runs significantly easier. Provider Stack Surgery 💔 While testing the new recurrent architecture I discovered a huge bottleneck. Xiaomi MiMo. It was slow. Constantly rate limiting. Burning through provider chains. And starving downstream phases. This turned out to be the reason molecule generation kept randomly failing. So MiMo got removed from the routing stack. After testing 17 API keys across all providers: 13 healthy 4 problematic Current routing stack includes: NVIDIA DeepSeek Kimi K2.6 Cerebras GPT-OSS-120B Groq Gemini Fireworks Still chasing down some timeout and rate limit issues but overall the stack is way healthier now. Discovery Testing Used the upgraded architecture to stress test RUMI on several difficult domains. One of the most interesting runs was Molecular Glue Drug Discovery. Current run stats: 16 hidden variables 15 mechanisms per loop 7 predictions multiple adversarial survivors recurrent refinement loops enabled The architecture is definitely producing stronger outputs than before. meow meow meow
rumi-Devlog #9 🍓😺✌ today was mostly spent making RUMI faster because some runs were taking an absolutely stupid amount of time 😭 provider stack changes spent a while profiling the provider chain and found a few cursed bottlenecks. disabled Fireworks (credits died, every failed request was wasting ~90s) switched GLM routing to Kimi K2.6 via a second NVIDIA key tested Cerebras-first vs NVIDIA-first routing results were funny: Cerebras = ~2s/call but discoveries averaged around C grade NVIDIA = ~65s/call but much stronger reports so now different parts of the pipeline use different providers depending on the task. phase 6.5 speedup equation generation was committing crimes. rewrote the whole thing to run in parallel (6 workers). went from: ~16 min to ~1 min for a typical 15 mechanism loop. also finally fixed the legendary: 0/15 equations generated bug 😺🍓 literature search all literature sources now fetch concurrently: arXiv PubMed CrossRef OpenAlex etc runtime dropped from ~2 mins to ~64 seconds. RUMI TUI probably my favourite thing from today. built a proper Textual-based TUI so i can actually see what RUMI is doing instead of staring at a terminal for 10 hours. added: real-time phase tracking live agent status brain module dashboard discovery controls /brain /status /dream /memory /hypothesis also fixed a bunch of broken brain module APIs that were pretending to work 💀 random bug of the day RUMI was occasionally turning english into ancient cursed language and generating stuff like: withinamy instead of actual words. fixed topic truncation so it now cuts at word boundaries. current state provider stack healthier equation generation WAY faster literature search faster TUI finally usable brain modules actually verified at boot still spending most of my life waiting for discovery runs to finish though 🥀
Ships:
rumi - research unified machine intelligence… rumi is an actual autonomous AI scientist designed to discover, not just describe. Powered by a 22 phase, 2 tracks scientific discovery pipeline, RUMI analyzes research literature, builds knowledge representations, identifies gaps in existing explanations, generates novel hypotheses, constructs mathematical and causal models, produces falsifiable predictions, and evaluates competing theories through automated scientific review. Operating across 17 domains, RUMI is built as a general-purpose discovery engine whose objective is to accelerate human research by systematically exploring explanations that may not yet exist in the literature while maintaining transparency, critique, and testability throughout the discovery process. NOTE :- rumi still cant do end to end novel discoveries on her own but she can provide novel ideas with grounded mechanisms and derivations and stronger the reasoning of a model = better results from rumi.. that said… once i get my hands on a frontier llm ill plug it into rumi and develop her more Proof that rumi works :- rumi has helped me publish 1 peer reviewed research paper on analytical number theory (DOI :- 10.5281/zenodo.21107958)...
|
1793101858.9008622
|
1793188258.9008622
|
|
62933
|
rudimentary rhythm game by @pinapp | Stardance
|
pinapp
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rudimentary rhythm game by @pinapp | Starda Title: rudimentary rhythm game by @pinapp | Stardance...
|
1793047893.1384454
|
1793652693.1384454
|
|
26475
|
rubix cube and it's algorithmic simulation by rubix cube and it's algorithmic simulation by @spiralone7 | Stardance...
|
spiralone7
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rubix cube and it's algorithmic simulat Title: rubix cube and it's algorithmic simulation by @spiralone7 | Stardance...
|
1792630093.7440033
|
1793234893.7440033
|