|
9455
|
risuko-over-slack by @yuemiyuki4737 | Stardance
|
yuemiyuki4737
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-06T08:04:42Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a downloader on slack… wait, its not as stupid as it sound, it use the high-performance download engine, RIsuko (created by me) to download content from the internet, compress it, and send it back to slack. The challenging part was actually making the bot reply, it is my first time making. a slack bot, while I do have experience on discord bot before, they are quite different. Really happy that everything works well after tons of debugging :)", "repo": "https://github.com/YueMiyuki/risuko-over-slack", "demo": "https://app.slack.com/client/E09V59WQY1E/C0B8MKR12G5"}]...
|
[{"post_id": 3366, "ts": "2026 [{"post_id": 3366, "ts": "2026-06-06T08:02:31Z", "hours": 3.4428, "text": "Made things work, added four comamnds: Help, ping, health check and download. Used a random image i found online to test, everything works really well :)"}]...
|
Title: risuko-over-slack by @yuemiyuki4737 | Stard Title: risuko-over-slack by @yuemiyuki4737 | Stardance
Devlogs:
Made things work, added four comamnds: Help, ping, health check and download. Used a random image i found online to test, everything works really well :)
Ships:
Made a downloader on slack… wait, its not as stupid as it sound, it use the high-performance download engine, RIsuko (created by me) to download content from the internet, compress it, and send it back to slack. The challenging part was actually making the bot reply, it is my first time making. a slack bot, while I do have experience on discord bot before, they are quite different. Really happy that everything works well after tons of debugging :)...
|
1793076473.0207243
|
1793162873.0207243
|
|
52957
|
riskify by @evmaagca | Stardance
|
evmaagca
|
0
|
5.15
|
0
|
[]
|
[{"post_id": 71989, "ts": "202 [{"post_id": 71989, "ts": "2026-09-21T22:32:51Z", "hours": 5.1492, "text": "devlog 1: added the css style + the basic math for the grpahs + fixed like 3 bugs + readme done :(("}]...
|
Title: riskify by @evmaagca | Stardance
Devlogs:
Title: riskify by @evmaagca | Stardance
Devlogs:
devlog 1: added the css style + the basic math for the grpahs + fixed like 3 bugs + readme done :((...
|
1792731150.4049232
|
1793335950.4049232
|
|
729
|
risc-v emulator by @Luke | Stardance
|
Luke
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: risc-v emulator by @Luke | Stardance
|
1793145206.9293377
|
1793750006.9293377
|
|
43788
|
riri web by @pri3 | Stardance
|
pri3
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: riri web by @pri3 | Stardance
|
1792561678.3317742
|
1793166478.3317742
|
|
59245
|
rip-off Mario I think by @phu404 | Stardance
|
phu404
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rip-off Mario I think by @phu404 | Stardanc Title: rip-off Mario I think by @phu404 | Stardance...
|
1792788760.5389678
|
1793393560.5389678
|
|
18359
|
rinoOS by @justrivaan | Stardance
|
justrivaan
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T07:19:07Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "the mission said build a personal website. i didn’t want to do the usual thing, a page with my name, a list of projects, some links. that’s boring and nobody actually reads it. i wanted something where you actually have to explore to find out who i am. so instead of a website about me, i made an OS that feels like mine. live like rino. you boot in, pick a wallpaper from 8 presets, then land on a full desktop with a dock, draggable and resizable windows, a top bar with a live clock, and a right click menu on the desktop. there’s a guide app that walks you through how to get around, a sticky notes app you can actually type in, and a jarvis terminal where you type commands like “hey jarvis, open projects” and it actually does it. the windows have all three buttons working, red closes, yellow minimizes the window into a tray tile next to the dock, green fullscreens it. everything is one single html file, no frameworks, no libraries, no backend. what was challenging: a lot of small things that looked easy and weren’t. getting window drag and resize to not fight each other took a while. the guide hint bubble was floating to the wrong spot because a css transform on the dock was silently breaking position fixed for anything inside it, took actual debugging to figure that one out. the boot bar looked smooth in code but felt jittery visually, ended up rewriting it with requestAnimationFrame timed against actual elapsed time instead of random setInterval increments. what i’m proud of: it actually feels like an OS. the boot sequence, the wallpaper picker before you even see the desktop, the tray for minimized windows, the way the guide hint pops up and points at the right icon. none of that was in the original mission brief, i just kept adding things because it didn’t feel done yet. to test it: wait for it to boot, pick any wallpaper, click around the dock. right click the empty desktop for shortcuts. open the terminal and try “hey jarvis, help” to see what it can do. if you want to see the projects window, click the folder icon or say “hey jarvis, open projects.”", "repo": "https://github.com/officiallyrivaan/rinoOS", "demo": "https://officiallyrivaan.github.io/rinoOS/"}]...
|
[{"post_id": 12906, "ts": "202 [{"post_id": 12906, "ts": "2026-06-21T04:09:06Z", "hours": 0.0, "text": "Last thing before this is finished. Added an actual learning guide for the OS, rather than having to figure it out by trial and error. There’s now a Guide app, with a teal icon located at the start of the dock. It launches into a window that takes you through all the basics, like opening applications, resizing and moving windows, what the three buttons for windows do, the context menu, talking to Jarvis in the terminal. When you first land on the desktop, a tooltip will pop up that shows you where the Guide icon is, and says “New here? Click Guide to get to know the OS.” Also, I added the context menu on the desktop. Just do a right-click on any empty space on your desktop and there will be quick access to such things as opening terminal, creating a sticky note, opening guides, changing wallpapers. However, you won’t see this menu when you perform the same action over an opened application, it is only visible on an empty desktop. I had to deal with some bugs that not many people are even going to notice, but which were crucial for my program. After I implemented the resizing functionality, the dragging became somewhat slow, which resulted from a css transition intended only for maximizing an application being applied to dragging and resizing as well. and there was another issue with the hint bubble being pointed to the guide icon. That one was a strange one, it turned out that a transform on the dock’s container element broke the position:fixed styling of everything within it, so the bubble was aligning itself to the center of the dock rather than the screen. Moved it outside of it and it now perfectly aligns with the icon, double checked on different screen sizes. Finally, the boot sequence needed some work too. The animation itself was smooth enough, but at the total duration of 2.6 seconds, it just felt like skipping through rather than loading 5 messages. Slowed it down to about 4 seconds and added a smooth crossfade in between each message instead of the abrupt change, and now it feels like an actual boot sequence, not just random colors. That is all I have for now for rinoOS. Boot up, choose a background, click around, talk to jarvis when bored. Live the rino life 🟣"}, {"post_id": 12450, "ts": "2026-06-20T09:50:01Z", "hours": 0.0, "text": "picking up from devlog #1. last time the three window buttons just sat there doing nothing, red worked but yellow and green were dead weight. fixed that.minimize now actually minimizes. click yellow and the window shrinks down and tucks itself into a little tray right next to the dock, like a real taskbar. click the tile and it pops back open exactly where it was.fullscreen works too. green button blows the window up to fill the whole desktop, click again and it snaps back to wherever it was sitting before. sticky notes is finally here. it’s its own app in the dock now, click the + tile and a new note shows up, type whatever, delete it with the x in the corner. they’re scattered at slight angles so it actually looks like sticky notes and not a grid.also made every window resizable from the bottom right corner, figured if you’re gonna explore my OS you should be able to make a window bigger to actually read stuff instead of squinting. ran into one annoying bug along the way: dragging windows around started feeling laggy and weird after i added resizing, turned out a css transition meant only for the maximize animation was quietly applying to every drag and resize too, so windows were animating toward your cursor instead of just following it. fixed by only turning that transition on for the maximize snap and keeping drag/resize completely instant. one more update coming next."}, {"post_id": 11220, "ts": "2026-06-18T11:24:52Z", "hours": 0.0, "text": "so the mission was basically: build a personal website, but make it actually interesting instead of the usual “hi, here’s my resume” page nobody reads. my first instinct was to do the safe thing, a simple portfolio site, projects listed top to bottom, done in an hour. but that felt like the laziest version of the mission. anyone can make a list of stuff they built.so instead i made rinoOS, (rino being my digital identity) live like rino. the idea: instead of reading about me, you boot into a whole fake OS and explore it like it’s actually mine. you start on a boot screen that fake loads stuff like “syncing f1 telemetry… brewing chai…” then you pick a wallpaper before you even see the desktop. after that you’re dropped into a real desktop with draggable windows, a dock, and a working clock, and you click around to find out who i am instead of scrolling a page.i built most of this outside the repo first, just working on the html locally and testing it as i went, then finally moved everything over once it actually worked.what’s in it so far: 8 wallpapers, pick your vibe before you boot in. windows for About, Projects, Skills, F1 Fan Zone, and Contact. a Jarvis terminal you can actually type commands into, like hey jarvis, open projects.the projects window has my real stuff: Jarvis, a voice assistant i built with whisper and ollama, a live F1 telemetry dashboard, and Time Debt, a roblox game where you’re racing the clock to collect as much as possible before time runs out. biggest issue so far: it looked perfect locally, then i pushed it to github pages and got a blank readme instead of my site. turns out pages only serves a file named exactly index.html. dumb mistake, learned it fast. next up: a sticky notes app and proper minimize to dock animations. live like rino 🟣"}]...
|
Title: rinoOS by @justrivaan | Stardance
Devlogs: Title: rinoOS by @justrivaan | Stardance
Devlogs:
so the mission was basically: build a personal website, but make it actually interesting instead of the usual “hi, here’s my resume” page nobody reads. my first instinct was to do the safe thing, a simple portfolio site, projects listed top to bottom, done in an hour. but that felt like the laziest version of the mission. anyone can make a list of stuff they built.so instead i made rinoOS, (rino being my digital identity) live like rino. the idea: instead of reading about me, you boot into a whole fake OS and explore it like it’s actually mine. you start on a boot screen that fake loads stuff like “syncing f1 telemetry… brewing chai…” then you pick a wallpaper before you even see the desktop. after that you’re dropped into a real desktop with draggable windows, a dock, and a working clock, and you click around to find out who i am instead of scrolling a page.i built most of this outside the repo first, just working on the html locally and testing it as i went, then finally moved everything over once it actually worked.what’s in it so far: 8 wallpapers, pick your vibe before you boot in. windows for About, Projects, Skills, F1 Fan Zone, and Contact. a Jarvis terminal you can actually type commands into, like hey jarvis, open projects.the projects window has my real stuff: Jarvis, a voice assistant i built with whisper and ollama, a live F1 telemetry dashboard, and Time Debt, a roblox game where you’re racing the clock to collect as much as possible before time runs out. biggest issue so far: it looked perfect locally, then i pushed it to github pages and got a blank readme instead of my site. turns out pages only serves a file named exactly index.html. dumb mistake, learned it fast. next up: a sticky notes app and proper minimize to dock animations. live like rino 🟣
picking up from devlog #1. last time the three window buttons just sat there doing nothing, red worked but yellow and green were dead weight. fixed that.minimize now actually minimizes. click yellow and the window shrinks down and tucks itself into a little tray right next to the dock, like a real taskbar. click the tile and it pops back open exactly where it was.fullscreen works too. green button blows the window up to fill the whole desktop, click again and it snaps back to wherever it was sitting before. sticky notes is finally here. it’s its own app in the dock now, click the + tile and a new note shows up, type whatever, delete it with the x in the corner. they’re scattered at slight angles so it actually looks like sticky notes and not a grid.also made every window resizable from the bottom right corner, figured if you’re gonna explore my OS you should be able to make a window bigger to actually read stuff instead of squinting. ran into one annoying bug along the way: dragging windows around started feeling laggy and weird after i added resizing, turned out a css transition meant only for the maximize animation was quietly applying to every drag and resize too, so windows were animating toward your cursor instead of just following it. fixed by only turning that transition on for the maximize snap and keeping drag/resize completely instant. one more update coming next.
Last thing before this is finished. Added an actual learning guide for the OS, rather than having to figure it out by trial and error. There’s now a Guide app, with a teal icon located at the start of the dock. It launches into a window that takes you through all the basics, like opening applications, resizing and moving windows, what the three buttons for windows do, the context menu, talking to Jarvis in the terminal. When you first land on the desktop, a tooltip will pop up that shows you where the Guide icon is, and says “New here? Click Guide to get to know the OS.” Also, I added the context menu on the desktop. Just do a right-click on any empty space on your desktop and there will be quick access to such things as opening terminal, creating a sticky note, opening guides, changing wallpapers. However, you won’t see this menu when you perform the same action over an opened application, it is only visible on an empty desktop. I had to deal with some bugs that not many people are even going to notice, but which were crucial for my program. After I implemented the resizing functionality, the dragging became somewhat slow, which resulted from a css transition intended only for maximizing an application being applied to dragging and resizing as well. and there was another issue with the hint bubble being pointed to the guide icon. That one was a strange one, it turned out that a transform on the dock’s container element broke the position:fixed styling of everything within it, so the bubble was aligning itself to the center of the dock rather than the screen. Moved it outside of it and it now perfectly aligns with the icon, double checked on different screen sizes. Finally, the boot sequence needed some work too. The animation itself was smooth enough, but at the total duration of 2.6 seconds, it just felt like skipping through rather than loading 5 messages. Slowed it down to about 4 seconds and added a smooth crossfade in between each message instead of the abrupt change, and now it feels like an actual boot sequence, not just random colors. That is all I have for now for rinoOS. Boot up, choose a background, click around, talk to jarvis when bored. Live the rino life 🟣
Ships:
the mission said build a personal website. i didn’t want to do the usual thing, a page with my name, a list of projects, some links. that’s boring and nobody actually reads it. i wanted something where you actually have to explore to find out who i am. so instead of a website about me, i made an OS that feels like mine. live like rino. you boot in, pick a wallpaper from 8 presets, then land on a full desktop with a dock, draggable and resizable windows, a top bar with a live clock, and a right click menu on the desktop. there’s a guide app that walks you through how to get around, a sticky notes app you can actually type in, and a jarvis terminal where you type commands like “hey jarvis, open projects” and it actually does it. the windows have all three buttons working, red closes, yellow minimizes the window into a tray tile next to the dock, green fullscreens it. everything is one single html file, no frameworks, no libraries, no backend. what was challenging: a lot of small things that looked easy and weren’t. getting window drag and resize to not fight each other took a while. the guide hint bubble was floating to the wrong spot because a css transform on the dock was silently breaking position fixed for anything inside it, took actual debugging to figure that one out. the boot bar looked smooth in code but felt jittery visually, ended up rewriting it with requestAnimationFrame timed against actual elapsed time instead of random setInterval increments. what i’m proud of: it actually feels like an OS. the boot sequence, the wallpaper picker before you even see the desktop, the tray for minimized windows, the way the guide hint pops up and points at the right icon. none of that was in the original mission brief, i just kept adding things because it didn’t feel done yet. to test it: wait for it to boot, pick any wallpaper, click around the dock. right click the empty desktop for shortcuts. open the terminal and try “hey jarvis, help” to see what it can do. if you want to see the projects window, click the folder icon or say “hey jarvis, open projects.”...
|
1792882038.465076
|
1793746038.465076
|
|
51327
|
rinnieOS by @erin3 | Stardance
|
erin3
|
2
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T20:58:44Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WebOS for the WebOS mission, with a bookmarker app for reading notes, a calculator, settings, a calendar, and a small weather feature. It was so fun to make and I have learnt so much!", "repo": "https://github.com/rinnie3/rinnieOS", "demo": "https://rinnie3.github.io/rinnieOS/"}, {"ship_num": 2, "ts": "2026-08-21T18:26:19Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WebOS for the first time, with 3 apps and some customisable features! I had some difficulty with using CSS for the styles, but overall, I enjoyed making my OS :D.", "repo": "https://github.com/rinnie3/rinnieOS", "demo": "https://rinnie3.github.io/rinnieOS/"}]...
|
[{"post_id": 75360, "ts": "202 [{"post_id": 75360, "ts": "2026-09-29T20:50:29Z", "hours": 3.6728, "text": "I am now finished my OS! I added a calendar app, and on the taskbar, it now shows which apps are open and is a shortcut to access each one (i am not sure how useful this is but I wanted to add a new feature)."}, {"post_id": 74571, "ts": "2026-09-27T17:29:34Z", "hours": 5.0453, "text": "I fixed many problems (which I discovered eventually) on my OS and developed the apps: bookmarker app - I added a search feature, and an edit feature to edit past notes. I also developed the calculator by changing the order of the numbers - i don’t know why I hadn’t already because the numbers were descending from 9 strangely, but… and I also added a percentage and negative/positive number function. In the settings app, I made the window colour editable as an appearance option. I want to add a few more apps, now that I have gotten the hang of creating and developing them but I hope I get it finished before Stardance challenge finishes ><"}, {"post_id": 51789, "ts": "2026-08-21T17:06:32Z", "hours": 3.0625, "text": "I now have three working apps! And a weather/calendar feature. I tried to make it more customisable by adding a settings feature where you can change the background colour, font, and whether or not to have translucent windows for the welcome and calendar windows (as even I wasn’t sure about the translucent ;D). I think I have finished my first OS! I am glad I got to code in 3 different languages as well."}, {"post_id": 50852, "ts": "2026-08-20T09:16:48Z", "hours": 2.0339, "text": "I added my first app! (it doesn’t work yet though…) I also found some problems like when I dragged the window, it kept changing size but I managed to fix them. I also made the background of the window slightly transparent, although I am not completely sure that I like it. :D"}, {"post_id": 50314, "ts": "2026-08-19T14:05:27Z", "hours": 1.0508, "text": "Continuing to improve my OS: I managed to add a door handle and a window header, but I’m not quite sure what the door handle is for… I think the window header makes it look much neater however. (^v^) I also added a close button but for some reason I can’t add an open on the window as well, so I made it come out of the rinnieOS label on the top bar."}, {"post_id": 50249, "ts": "2026-08-19T12:20:46Z", "hours": 1.6039, "text": "Making my first OS: The guide was very helpful so I have been able to develop it. I am glad I was able to work out how to use the dragging feature on my window and get the time to work. I am still working on trying to add a handle and to get it to open and close - I hope I can do it! :D"}]...
|
Title: rinnieOS by @erin3 | Stardance
Devlogs:
Ma Title: rinnieOS by @erin3 | Stardance
Devlogs:
Making my first OS: The guide was very helpful so I have been able to develop it. I am glad I was able to work out how to use the dragging feature on my window and get the time to work. I am still working on trying to add a handle and to get it to open and close - I hope I can do it! :D
Continuing to improve my OS: I managed to add a door handle and a window header, but I’m not quite sure what the door handle is for… I think the window header makes it look much neater however. (^v^) I also added a close button but for some reason I can’t add an open on the window as well, so I made it come out of the rinnieOS label on the top bar.
I added my first app! (it doesn’t work yet though…) I also found some problems like when I dragged the window, it kept changing size but I managed to fix them. I also made the background of the window slightly transparent, although I am not completely sure that I like it. :D
I now have three working apps! And a weather/calendar feature. I tried to make it more customisable by adding a settings feature where you can change the background colour, font, and whether or not to have translucent windows for the welcome and calendar windows (as even I wasn’t sure about the translucent ;D). I think I have finished my first OS! I am glad I got to code in 3 different languages as well.
I fixed many problems (which I discovered eventually) on my OS and developed the apps: bookmarker app - I added a search feature, and an edit feature to edit past notes. I also developed the calculator by changing the order of the numbers - i don’t know why I hadn’t already because the numbers were descending from 9 strangely, but… and I also added a percentage and negative/positive number function. In the settings app, I made the window colour editable as an appearance option. I want to add a few more apps, now that I have gotten the hang of creating and developing them but I hope I get it finished before Stardance challenge finishes ><
I am now finished my OS! I added a calendar app, and on the taskbar, it now shows which apps are open and is a shortcut to access each one (i am not sure how useful this is but I wanted to add a new feature).
Ships:
I made a WebOS for the first time, with 3 apps and some customisable features! I had some difficulty with using CSS for the styles, but overall, I enjoyed making my OS :D.
I made a WebOS for the WebOS mission, with a bookmarker app for reading notes, a calculator, settings, a calendar, and a small weather feature. It was so fun to make and I have learnt so much!...
|
1793098231.2541099
|
1793184631.2541099
|
|
39074
|
rinimee's journal (⌒▽⌒)☆ by @rinimee | Stardan rinimee's journal (⌒▽⌒)☆ by @rinimee | Stardance...
|
rinimee
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T21:37:11Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website where you can journal a couple things throughout the month! It includes a space for journal information, a habit tracker, and a “fav monthly songs playlist!” It was challenging to learn the HTML/CSS/Java but with tons of help I finally got myself to complete over 700 lines of code over the course of 3-4 days! I’m so proud of being able to just complete all of this! For those trying out my project, read my READme on GitHub before trying the website to catch any missed info. Thank you! ⸜(。˃ ᵕ ˂ )⸝♡", "repo": "https://github.com/rinimee/rinimeesjournalcode", "demo": "https://rinimee.github.io/rinimeesjournalcode/"}]...
|
[{"post_id": 36516, "ts": "202 [{"post_id": 36516, "ts": "2026-07-28T17:55:11Z", "hours": 0.3733, "text": "FINALLY COMPLETE!!! oh my goodness, its complete! after 670 lines of code (not kidding ;-;) and a little over 6 hours of coding, its done! took a while, but i got there! now, ive gotta do some github work, look at the requirements, and then im all good for submission!"}, {"post_id": 36433, "ts": "2026-07-28T15:38:19Z", "hours": 1.0244, "text": "lookin good! so now im gonna do some extra edits of myself after listening to that habit tracker tutorial because after learning so much, I feel I can edit the tracker a little more! Ill keep yall updated. Also, my github commits are weird…it shows three even though I tried making like five…turns out theyre in a seperate branch altogether. I need some help on that…"}, {"post_id": 36135, "ts": "2026-07-28T00:55:48Z", "hours": 0.2708, "text": "It looks sooo good!! so i just completed the css for the fav songs section and now all i have left is to actually code the spot where you can upload your favorite song’s album cover! i had to rely heavily on outside help like friends +google gemini for this so kudos to them for helping! ill also be editing some extra things on the habit tracker/personal information stuff so that it aligns nicely! ps…i still gotta edit that “july” thingy at the top fo the page sighh"}, {"post_id": 36092, "ts": "2026-07-27T23:26:01Z", "hours": 3.0306, "text": "I FORGOT TO DO MORE DEVLOGS RAHHHH soooo completed the habit tracker, and now im doing tabs setup and other things like journal info…. heres a couple shots! im working on making this super cool favorite songs section where you can upload a picture of whatever song album it is and a place where i can change the name of the song in the box… so excited!"}, {"post_id": 34797, "ts": "2026-07-25T19:51:37Z", "hours": 1.1042, "text": "css done for the tracker, gonna do java in a bit or tmrw :3"}, {"post_id": 34744, "ts": "2026-07-25T18:31:30Z", "hours": 0.4322, "text": "just started! using a tutorial side by side but after that I’ll be on my own. here’s a quick snap of whats to come, im so excited to learn html and code!"}]...
|
Title: rinimee's journal (⌒▽⌒)☆ by @rinimee | Title: rinimee's journal (⌒▽⌒)☆ by @rinimee | Stardance
Devlogs:
just started! using a tutorial side by side but after that I’ll be on my own. here’s a quick snap of whats to come, im so excited to learn html and code!
css done for the tracker, gonna do java in a bit or tmrw :3
I FORGOT TO DO MORE DEVLOGS RAHHHH soooo completed the habit tracker, and now im doing tabs setup and other things like journal info…. heres a couple shots! im working on making this super cool favorite songs section where you can upload a picture of whatever song album it is and a place where i can change the name of the song in the box… so excited!
It looks sooo good!! so i just completed the css for the fav songs section and now all i have left is to actually code the spot where you can upload your favorite song’s album cover! i had to rely heavily on outside help like friends +google gemini for this so kudos to them for helping! ill also be editing some extra things on the habit tracker/personal information stuff so that it aligns nicely! ps…i still gotta edit that “july” thingy at the top fo the page sighh
lookin good! so now im gonna do some extra edits of myself after listening to that habit tracker tutorial because after learning so much, I feel I can edit the tracker a little more! Ill keep yall updated. Also, my github commits are weird…it shows three even though I tried making like five…turns out theyre in a seperate branch altogether. I need some help on that…
FINALLY COMPLETE!!! oh my goodness, its complete! after 670 lines of code (not kidding ;-;) and a little over 6 hours of coding, its done! took a while, but i got there! now, ive gotta do some github work, look at the requirements, and then im all good for submission!
Ships:
I made a website where you can journal a couple things throughout the month! It includes a space for journal information, a habit tracker, and a “fav monthly songs playlist!” It was challenging to learn the HTML/CSS/Java but with tons of help I finally got myself to complete over 700 lines of code over the course of 3-4 days! I’m so proud of being able to just complete all of this! For those trying out my project, read my READme on GitHub before trying the website to catch any missed info. Thank you! ⸜(。˃ ᵕ ˂ )⸝♡...
|
1793108850.3875737
|
1793195250.3875737
|
|
62325
|
rinifolio by @rinimee | Stardance
|
rinimee
|
1
|
3.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T17:34:32Z", "hours": 3.0, "multiplier": 3.45, "payout": 5, "blessing": "neutral", "text": "I made a portfolio template made for those who would like to log in their projects! It consists of an information panel for those who would like to add their information about wo they are and what they do, and a place to input 9 projects, with a picture, title, and description! Something that was really challenging was getting the CSS right! While it seemed easy, I had to get a lot of help just to fix up my code and make it look correct. However, I am very proud of the result, especially how the ambience of the UI turned out! All the information needed to run my project is included in my GitHub repository. Please check it out, and thank you so much!", "repo": "https://github.com/rinimee/rinifolio", "demo": "https://rinimee.github.io/rinifolio/"}]...
|
[{"post_id": 70678, "ts": "202 [{"post_id": 70678, "ts": "2026-09-19T15:59:45Z", "hours": 1.3519, "text": "doneee with this ;-; I did NOT think css would take an hour. Most of this was because of this one probelm with my CSS. I have a span function in my html with the text “click to add cover” but it ended up not being visible. I ended up leaving that as is after 30 minutes of trying to find the problem. Oh well, at least i’m done now! I don’t want to worry about it, especially since i need those 30 hours complete all the while worrying about if my code is good enough…anyway, here is the final look! I’ll be prepping this and preparing it for shipping in the meantime, so rinimee out"}, {"post_id": 70277, "ts": "2026-09-18T21:05:16Z", "hours": 0.3261, "text": "CSS for first tab donee! Yayy! With a lot of help from copilot (I had too much trouble because everything wasn’t lining up properly ) I was able to finish the CSS for the first tab! There were a lot of mistakes and annoying loopholes i found in my code which isn’t usual, so I had copilot pick out the weeds. I did write the entire code for css!, copilot tweaked it up and made sure it was clean, so, DONT GET THE WRONG IDEA! here’s how it looks like, so rinimee out"}, {"post_id": 69824, "ts": "2026-09-17T21:06:04Z", "hours": 0.4172, "text": "MOAR STUFF DONE!! alright, i got a lot more productive! I did a lot of javascript, which allowed me to save information locally using localStorage and then I also tweaked some tab switching! Also, I officially started my CSS! I added a background which took FOREVER, but then I realized that I ended up using the function url(‘/whimsybg.jpg’) which is wrong! The backslash is only used for actual links! If its saved in your folder you don’t need it! I also added a cool font and styled the buttons! Here’s a quick snappy, rinimee out"}, {"post_id": 69429, "ts": "2026-09-17T01:16:10Z", "hours": 0.4678, "text": "first looks! I lowkey needed a last hour to fulfill the 30 hour mark, and with only 2 weeks left…the pressure is on! The idea for this is to create a portfolio page for your projects! It’s going to look very similar to my rinimee’s journal without all the fancy stuff. I finished working on the html for the most part, and wanted to switch up some stuff, like adding a textarea block (allowing to manipulate a box for text) for the first tab and adding 9 project spots in the second tab! I’ll be working on javascript next, basing it off once more from my previous project. alright gang rinimee out"}]...
|
Title: rinifolio by @rinimee | Stardance
Devlogs: Title: rinifolio by @rinimee | Stardance
Devlogs:
first looks! I lowkey needed a last hour to fulfill the 30 hour mark, and with only 2 weeks left…the pressure is on! The idea for this is to create a portfolio page for your projects! It’s going to look very similar to my rinimee’s journal without all the fancy stuff. I finished working on the html for the most part, and wanted to switch up some stuff, like adding a textarea block (allowing to manipulate a box for text) for the first tab and adding 9 project spots in the second tab! I’ll be working on javascript next, basing it off once more from my previous project. alright gang rinimee out
MOAR STUFF DONE!! alright, i got a lot more productive! I did a lot of javascript, which allowed me to save information locally using localStorage and then I also tweaked some tab switching! Also, I officially started my CSS! I added a background which took FOREVER, but then I realized that I ended up using the function url(‘/whimsybg.jpg’) which is wrong! The backslash is only used for actual links! If its saved in your folder you don’t need it! I also added a cool font and styled the buttons! Here’s a quick snappy, rinimee out
CSS for first tab donee! Yayy! With a lot of help from copilot (I had too much trouble because everything wasn’t lining up properly ) I was able to finish the CSS for the first tab! There were a lot of mistakes and annoying loopholes i found in my code which isn’t usual, so I had copilot pick out the weeds. I did write the entire code for css!, copilot tweaked it up and made sure it was clean, so, DONT GET THE WRONG IDEA! here’s how it looks like, so rinimee out
doneee with this ;-; I did NOT think css would take an hour. Most of this was because of this one probelm with my CSS. I have a span function in my html with the text “click to add cover” but it ended up not being visible. I ended up leaving that as is after 30 minutes of trying to find the problem. Oh well, at least i’m done now! I don’t want to worry about it, especially since i need those 30 hours complete all the while worrying about if my code is good enough…anyway, here is the final look! I’ll be prepping this and preparing it for shipping in the meantime, so rinimee out
Ships:
I made a portfolio template made for those who would like to log in their projects! It consists of an information panel for those who would like to add their information about wo they are and what they do, and a place to input 9 projects, with a picture, title, and description! Something that was really challenging was getting the CSS right! While it seemed easy, I had to get a lot of help just to fix up my code and make it look correct. However, I am very proud of the result, especially how the ambience of the UI turned out! All the information needed to run my project is included in my GitHub repository. Please check it out, and thank you so much!...
|
1793058575.1451662
|
1793144975.1451662
|
|
39076
|
rinibot (⌒▽⌒)☆ by @rinimee | Stardance
|
rinimee
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-25T18:13:32Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my very first coding project by building a SlackBot that’s online 24/7 and got a list of super cool commands you can use! It was really challenging to fix updated code to show up on Slack; I could never figure out where it was coming from until I got help from Hack Club peers! I’m so proud of actually being able to complete a software project and show it to the world! Go ahead and try it out on Slack now with /rinibot! Use /rinibot-help for the full commands list!", "repo": "https://github.com/rinimee/rinibot-code", "demo": "https://hackclub.slack.com/archives/C0BKTDUHVQS/p1785002563021959"}]...
|
[{"post_id": 34657, "ts": "202 [{"post_id": 34657, "ts": "2026-07-25T15:44:17Z", "hours": 0.7153, "text": "Took forever to get this updated to slack, made a bunch of commits on github ;-; but i also made a readme!"}]...
|
Title: rinibot (⌒▽⌒)☆ by @rinimee | Stardance
Dev Title: rinibot (⌒▽⌒)☆ by @rinimee | Stardance
Devlogs:
Took forever to get this updated to slack, made a bunch of commits on github ;-; but i also made a readme!
Ships:
I made my very first coding project by building a SlackBot that’s online 24/7 and got a list of super cool commands you can use! It was really challenging to fix updated code to show up on Slack; I could never figure out where it was coming from until I got help from Hack Club peers! I’m so proud of actually being able to complete a software project and show it to the world! Go ahead and try it out on Slack now with /rinibot! Use /rinibot-help for the full commands list!...
|
1793116258.8618553
|
1793202658.8618553
|
|
50885
|
rihans project by @rihan_hsn09 | Stardance
|
rihan_hsn09
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rihans project by @rihan_hsn09 | Stardance
|
1792648198.6464093
|
1793252998.6464093
|
|
67686
|
riggermortis by @xenoaitham | Stardance
|
xenoaitham
|
0
|
18.81
|
0
|
[]
|
[{"post_id": 76925, "ts": "202 [{"post_id": 76925, "ts": "2026-10-05T03:12:20Z", "hours": 10.9147, "text": "the sculpt wires into the product flow The proportion and volume sculpting work was measured and gated, but had no real user-facing path yet. That debt got paid: a new command line tool measures a reference image’s proportions and volume ratios into one deterministic file, and both the manual tool and the interactive in-app action now call the same shared function underneath, so they can’t quietly drift apart. The real proof was ordering: sculpt once at rest pose, then animate, and the sculpt has to survive byte-identically. It does, frame-one drift came out effectively zero across seventy checks. Three real bugs earned their keep. First, two test rigs sharing one scene made solved values look wrong, the real cause was one fixture already carrying an earlier sculpt while the other’s baseline measurement accidentally captured the overlapping shape of both figures at once. Took a full debugging ladder to isolate, fixed with a clean scene per case, a lesson the project had already learned once before, now learned twice. Second, baking an animation shifts frame numbers by one internally, so comparing a frame against its own neighbor instead of itself made results look dramatically worse than they actually were. A one-line offset fix, with the reasoning written directly into the check itself this time so it can’t get silently lost again. Third, comparing raw bone positions across an animated sequence turned out to be the wrong check entirely, since a position-based re-solve is supposed to compensate for the current pose’s rotation by design, not match it exactly. Redefined what the check actually verifies, and caught a related bug along the way: an assigned animation silently overrides a rest-pose snapshot unless that animation gets explicitly muted first. Landed with fifteen new tests, the full suite green, and every number comfortably inside its bar except one, a single rig type’s re-sculpt accuracy sits just barely over target, left as the next rough edge."}, {"post_id": 76391, "ts": "2026-10-03T11:46:33Z", "hours": 7.8906, "text": "volume from silhouette The third model decision is made and the volume feature is real. The engine now carries a third pinned model, a segmentation pass, plus a working body sculpt: feed it a reference shape and the character’s hip, waist, chest, and thigh widths move to match it, skeleton provably untouched. Getting there meant benchmarking five real candidate models on real hardware, checksums, speed, and accuracy each, rejecting six other families with the evidence written down. Funniest catch: the model built specifically for segmenting people was completely blind to the test case, zero accuracy, while the general-purpose model saw it fine and ran cheaper too. The mechanism authors real shape keys per body region, so the adjustable sliders are the solved math directly, and every pose/animation path downstream sees a completely unchanged skeleton. The real fight was realizing the first passing test was a lie. A whole-frame comparison technically passed on a completely unsculpted body, since the measurement was too insensitive to tell a correctly sculpted shape from an untouched one. Fixed by scoping comparisons to the actual body regions with no model in the loop, publishing a baseline next to every result so a cheating pass can’t hide again. Smaller lessons banked too: a slider silently defaulting to zero killed half its usable range, one rig type needed its math in a different coordinate space entirely or it silently did nothing, leftover scene state poisoned later measurements, and naive bone-weight assignment broke the hip region specifically. Numbers came out solid: worst-case regional accuracy clears the bar across every test case, width delivery lands exact to four decimal places, solved values track intended targets within about 3% through the real model, and resetting a sculpt restores the original mesh almost exactly. Next: wire both sculpts into the real user-facing flow, and prove the sculpt survives animation, set once, then animate, and the widths hold."}]...
|
Title: riggermortis by @xenoaitham | Stardance
De Title: riggermortis by @xenoaitham | Stardance
Devlogs:
volume from silhouette The third model decision is made and the volume feature is real. The engine now carries a third pinned model, a segmentation pass, plus a working body sculpt: feed it a reference shape and the character’s hip, waist, chest, and thigh widths move to match it, skeleton provably untouched. Getting there meant benchmarking five real candidate models on real hardware, checksums, speed, and accuracy each, rejecting six other families with the evidence written down. Funniest catch: the model built specifically for segmenting people was completely blind to the test case, zero accuracy, while the general-purpose model saw it fine and ran cheaper too. The mechanism authors real shape keys per body region, so the adjustable sliders are the solved math directly, and every pose/animation path downstream sees a completely unchanged skeleton. The real fight was realizing the first passing test was a lie. A whole-frame comparison technically passed on a completely unsculpted body, since the measurement was too insensitive to tell a correctly sculpted shape from an untouched one. Fixed by scoping comparisons to the actual body regions with no model in the loop, publishing a baseline next to every result so a cheating pass can’t hide again. Smaller lessons banked too: a slider silently defaulting to zero killed half its usable range, one rig type needed its math in a different coordinate space entirely or it silently did nothing, leftover scene state poisoned later measurements, and naive bone-weight assignment broke the hip region specifically. Numbers came out solid: worst-case regional accuracy clears the bar across every test case, width delivery lands exact to four decimal places, solved values track intended targets within about 3% through the real model, and resetting a sculpt restores the original mesh almost exactly. Next: wire both sculpts into the real user-facing flow, and prove the sculpt survives animation, set once, then animate, and the widths hold.
the sculpt wires into the product flow The proportion and volume sculpting work was measured and gated, but had no real user-facing path yet. That debt got paid: a new command line tool measures a reference image’s proportions and volume ratios into one deterministic file, and both the manual tool and the interactive in-app action now call the same shared function underneath, so they can’t quietly drift apart. The real proof was ordering: sculpt once at rest pose, then animate, and the sculpt has to survive byte-identically. It does, frame-one drift came out effectively zero across seventy checks. Three real bugs earned their keep. First, two test rigs sharing one scene made solved values look wrong, the real cause was one fixture already carrying an earlier sculpt while the other’s baseline measurement accidentally captured the overlapping shape of both figures at once. Took a full debugging ladder to isolate, fixed with a clean scene per case, a lesson the project had already learned once before, now learned twice. Second, baking an animation shifts frame numbers by one internally, so comparing a frame against its own neighbor instead of itself made results look dramatically worse than they actually were. A one-line offset fix, with the reasoning written directly into the check itself this time so it can’t get silently lost again. Third, comparing raw bone positions across an animated sequence turned out to be the wrong check entirely, since a position-based re-solve is supposed to compensate for the current pose’s rotation by design, not match it exactly. Redefined what the check actually verifies, and caught a related bug along the way: an assigned animation silently overrides a rest-pose snapshot unless that animation gets explicitly muted first. Landed with fifteen new tests, the full suite green, and every number comfortably inside its bar except one, a single rig type’s re-sculpt accuracy sits just barely over target, left as the next rough edge....
|
1792468202.9250567
|
1793332202.9250567
|
|
43047
|
rig-wave by @ttyChud | Stardance
|
ttyChud
|
1
|
3.0
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-12T08:51:29Z", "hours": 3.0, "multiplier": 2.21, "payout": 8, "blessing": "neutral", "text": "For a while it was quiet around here, but Rig Wave is finally live on Vercel — check out the demo at rigwave.vercel.app ( https://rigwave.vercel.app/ )! It’s an ambient wave background where light sweeps across a grid, a glowing trail follows your cursor, and clicks send ripples across the canvas. And if you want it in your own project, you can grab it the shadcn way: npx shadcn@latest add Himanshu121865/rig-wave/rig-wave — it pulls the component straight from the GitHub repo into your code, ready to tweak.", "repo": "https://github.com/Himanshu121865/rig-wave", "demo": "https://rigwave.vercel.app/"}]...
|
[{"post_id": 45647, "ts": "202 [{"post_id": 45647, "ts": "2026-08-12T08:46:24Z", "hours": 0.35, "text": "it’s been quiet sometime but i have now hosted it on vercel for demo rigwave.vercel.app ( https://rigwave.vercel.app/ ) and if someone wanna use it they can also use it through shadcn way (npx shadcn@latest add Himanshu121865/rig-wave/rig-wave) this puts the component straight for the github repo"}, {"post_id": 39459, "ts": "2026-08-02T12:52:12Z", "hours": 3.0864, "text": "so I wanted to build an fragment shader like we see on reactbits but then i got a better idea and here is the final result."}]...
|
Title: rig-wave by @ttyChud | Stardance
Devlogs:
Title: rig-wave by @ttyChud | Stardance
Devlogs:
so I wanted to build an fragment shader like we see on reactbits but then i got a better idea and here is the final result.
it’s been quiet sometime but i have now hosted it on vercel for demo rigwave.vercel.app ( https://rigwave.vercel.app/ ) and if someone wanna use it they can also use it through shadcn way (npx shadcn@latest add Himanshu121865/rig-wave/rig-wave) this puts the component straight for the github repo
Ships:
For a while it was quiet around here, but Rig Wave is finally live on Vercel — check out the demo at rigwave.vercel.app ( https://rigwave.vercel.app/ )! It’s an ambient wave background where light sweeps across a grid, a glowing trail follows your cursor, and clicks send ripples across the canvas. And if you want it in your own project, you can grab it the shadcn way: npx shadcn@latest add Himanshu121865/rig-wave/rig-wave — it pulls the component straight from the GitHub repo into your code, ready to tweak....
|
1792878704.3391025
|
1793742704.3391025
|
|
40202
|
richy's new site by @richkdev | Stardance
|
richkdev
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: richy's new site by @richkdev | Stardan Title: richy's new site by @richkdev | Stardance...
|
1792687690.9545648
|
1793292490.9545648
|
|
65827
|
rhythmpad by @Googentity | Stardance
|
Googentity
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rhythmpad by @Googentity | Stardance
|
1793091173.4053242
|
1793695973.4053242
|
|
57691
|
rhythm pad ! by @kirbyy | Stardance
|
kirbyy
|
0
|
11.0
|
0
|
[]
|
[{"post_id": 73464, "ts": "202 [{"post_id": 73464, "ts": "2026-09-25T04:37:31Z", "hours": 0.6672, "text": "(09/25/26) final devlog for the rhythm pad most likely! Figured out how to work QMK firmware after hours of suffering (though, it won’t track </3) It was such a leaning curve, but joe scotto is the goat. Additonally, readjusted measurments on the plate due to it being mis-aligned. Importing the .dxf file of the PCB was a great help."}, {"post_id": 67069, "ts": "2026-09-13T03:41:14Z", "hours": 2.2136, "text": "(9/12/2026) huge update! finally finished the case after some unfortunate stressing and embarrassing tears (thought I broke fillet tool..). Added the plate and bezel with colors inspired by the Artemis spaceship. Learning CAD for the first time to create this has been such a great experience."}, {"post_id": 65798, "ts": "2026-09-11T05:30:45Z", "hours": 1.9008, "text": "(9/11/2026) not that huge of an update, but I feel like logging the 2 hours I spent overthinking. Starting to work on the plate. It’s gonna be a sandwich mounting style. All the measurements and scale were confusing me so bad, but I think it’s coming along."}, {"post_id": 65176, "ts": "2026-09-10T03:49:10Z", "hours": 1.6953, "text": "(9/9/2026) beginning the construction of the case! I can honestly say I’m super proud of how it’s coming out so far. I did struggle with learning onshape and I still don’t know everything, not by a long shot, but I def feel way more capable. This is just the bottom half."}, {"post_id": 63996, "ts": "2026-09-08T03:05:57Z", "hours": 2.2803, "text": "(9/7/2026) finally finished up the PCB! i definitely spent way too long overthinking the layout and measurements. When routing started to get difficult due to the order of pins in the schematic, I figured I could switch the order. It got wayyy easier, and I didn´t have to cross as much."}, {"post_id": 63246, "ts": "2026-09-06T23:26:32Z", "hours": 2.2453, "text": "(9/6/2026) current iteration of the PCB schematics, just a few days ago, I knew nothing about PCB design but learning has honestly been so fun! I struggled the most with understanding how to route the rotary encoder. I think connecting the switch pins to the matrix works ? May change it if I recieve feedback."}]...
|
Title: rhythm pad ! by @kirbyy | Stardance
Devlog Title: rhythm pad ! by @kirbyy | Stardance
Devlogs:
(9/6/2026) current iteration of the PCB schematics, just a few days ago, I knew nothing about PCB design but learning has honestly been so fun! I struggled the most with understanding how to route the rotary encoder. I think connecting the switch pins to the matrix works ? May change it if I recieve feedback.
(9/7/2026) finally finished up the PCB! i definitely spent way too long overthinking the layout and measurements. When routing started to get difficult due to the order of pins in the schematic, I figured I could switch the order. It got wayyy easier, and I didn´t have to cross as much.
(9/9/2026) beginning the construction of the case! I can honestly say I’m super proud of how it’s coming out so far. I did struggle with learning onshape and I still don’t know everything, not by a long shot, but I def feel way more capable. This is just the bottom half.
(9/11/2026) not that huge of an update, but I feel like logging the 2 hours I spent overthinking. Starting to work on the plate. It’s gonna be a sandwich mounting style. All the measurements and scale were confusing me so bad, but I think it’s coming along.
(9/12/2026) huge update! finally finished the case after some unfortunate stressing and embarrassing tears (thought I broke fillet tool..). Added the plate and bezel with colors inspired by the Artemis spaceship. Learning CAD for the first time to create this has been such a great experience.
(09/25/26) final devlog for the rhythm pad most likely! Figured out how to work QMK firmware after hours of suffering (though, it won’t track </3) It was such a leaning curve, but joe scotto is the goat. Additonally, readjusted measurments on the plate due to it being mis-aligned. Importing the .dxf file of the PCB was a great help....
|
1792716733.87133
|
1793321533.87133
|
|
3548
|
rhythm game but swords by @kosmo1027 | Stardance
|
kosmo1027
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rhythm game but swords by @kosmo1027 | Star Title: rhythm game but swords by @kosmo1027 | Stardance...
|
1792551099.6112304
|
1793155899.6112304
|
|
23040
|
rhythm crossing by @alyah | Stardance
|
alyah
|
1
|
7.63
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T22:10:22Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Rhythm Crossing, an adaptation of the VR and XBox game Beat Sabers. It currently only runs locally, so check out the latest release at https://github.com/lyri3aly/rhythm-crossing/releases/tag/v.1 . It runs by connecting a phone (as the console) to a laptop and utilizing its IMU sensors. This was my first time working with concepts such as using the browser’s DeviceMotionEvent / DeviceOrientationEvent APIs, so everything was very new to me. After a lot trial and error and prayers, the game finally works properly without any (known) bugs and I’m very proud of how it turned out!", "repo": "https://github.com/lyri3aly/rhythm-crossing", "demo": "https://rhythm-crossing.dino.icu/"}]...
|
[{"post_id": 83278, "ts": "202 [{"post_id": 83278, "ts": "2026-10-27T16:26:12Z", "hours": 0.3108, "text": "finally deployed via nest! this took so long and I had to apply to both nest and dino.icu, but it finally works at: https://rhythm-crossing.dino.icu . TO THOSE TRYING OUT MY GAME: YOU MUST JAB YOUR PHONE FORWARD, NOT JUST TILT TO SWITCH LANES."}, {"post_id": 70932, "ts": "2026-09-20T02:07:33Z", "hours": 0.3236, "text": "update: SOOO STARDANCE HATES ME AND RENDER ISN’T ALLOWED EITHER. WILL BE MOVING TO HACK CLUB NEST.. apparently ships require a web-access link, so I’ve FINALLY made the game available on the web. it is deployed through render (my first time using it and it’s on a free plan so I’m not sure how well it will work). to those rating my project: please ignore the info on my ship about releases and use the following link insetad! if it doesn’t work uhh… that’s not supposed to happen… https://rhythm-crossing.onrender.com/ also ignore the laginess at the start of the gameplay in my attached video, the screen recorder was bugging it out but it returns back to the actual resolution in a few seconds!"}, {"post_id": 70865, "ts": "2026-09-19T21:50:44Z", "hours": 6.6031, "text": "for some reason, I recall devlogging things by nothing is showing? guys I might just be schizo… anyway, I made rhythm crossing! this was a project I made with my friends, personally spening 6 hours on! it’s meant to be a replication of beat saber, the vr game where you slice blocks coming towards you in time to the beat. the ui is inspired by animal crossing :)"}]...
|
Title: rhythm crossing by @alyah | Stardance
Devl Title: rhythm crossing by @alyah | Stardance
Devlogs:
for some reason, I recall devlogging things by nothing is showing? guys I might just be schizo… anyway, I made rhythm crossing! this was a project I made with my friends, personally spening 6 hours on! it’s meant to be a replication of beat saber, the vr game where you slice blocks coming towards you in time to the beat. the ui is inspired by animal crossing :)
update: SOOO STARDANCE HATES ME AND RENDER ISN’T ALLOWED EITHER. WILL BE MOVING TO HACK CLUB NEST.. apparently ships require a web-access link, so I’ve FINALLY made the game available on the web. it is deployed through render (my first time using it and it’s on a free plan so I’m not sure how well it will work). to those rating my project: please ignore the info on my ship about releases and use the following link insetad! if it doesn’t work uhh… that’s not supposed to happen… https://rhythm-crossing.onrender.com/ also ignore the laginess at the start of the gameplay in my attached video, the screen recorder was bugging it out but it returns back to the actual resolution in a few seconds!
finally deployed via nest! this took so long and I had to apply to both nest and dino.icu, but it finally works at: https://rhythm-crossing.dino.icu . TO THOSE TRYING OUT MY GAME: YOU MUST JAB YOUR PHONE FORWARD, NOT JUST TILT TO SWITCH LANES.
Ships:
I made Rhythm Crossing, an adaptation of the VR and XBox game Beat Sabers. It currently only runs locally, so check out the latest release at https://github.com/lyri3aly/rhythm-crossing/releases/tag/v.1 . It runs by connecting a phone (as the console) to a laptop and utilizing its IMU sensors. This was my first time working with concepts such as using the browser’s DeviceMotionEvent / DeviceOrientationEvent APIs, so everything was very new to me. After a lot trial and error and prayers, the game finally works properly without any (known) bugs and I’m very proud of how it turned out!...
|
1793152264.5326383
|
1793238664.5326383
|
|
54370
|
rezistor by @zubair | Stardance
|
zubair
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rezistor by @zubair | Stardance
|
1792788511.1214545
|
1793393311.1214545
|
|
9616
|
revo by @ratmuds | Stardance
|
ratmuds
|
1
|
134.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T01:26:40Z", "hours": 134.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I wanted to make a robot arm that punched above it’s weight. The price is pretty similar to smaller robot arms on Amazon that may not include cameras, which would need to be purchased seperately. The way this is achieved by using cheap servos, servos that are 100% NOT made for this purpose, and adding most of the functionality of a smart servo back by using a TON of PCBs. It was a lot of soldering. I just wanted to make something that had more features for less money :) This project was SUPER difficult for me, and pushed my limits a bit. The amount of tolerences especially for the stupid custom motor case and magnet and PCBs and the crazy mainboard and generally having everything play well together took so long, I had many days where I quit frustrated. I’m very happy about how it turned out though, even seeing the lots of shortcomings it has.", "repo": "https://github.com/ratmuds/revo", "demo": ""}]...
|
[{"post_id": 71545, "ts": "202 [{"post_id": 71545, "ts": "2026-09-21T01:17:14Z", "hours": 1.7336, "text": "Finish Project Up :) I wrote a ton in the repository im tired :( https://github.com/ratmuds/revo"}, {"post_id": 71258, "ts": "2026-09-20T15:14:42Z", "hours": 3.1572, "text": "Setup VR and Gripper, Robot Rapidly Disassembles my robot arm is broken I setup VR and fixed some more IK when I go into VR and try playing around, it instantly flies out and throws itself off the table and breaks into pieces. This is going to be fun to fix."}, {"post_id": 70809, "ts": "2026-09-19T19:55:52Z", "hours": 3.8861, "text": "Integration Hell I’ve just been like trying to get this stupid project to work. Screws keep falling out, the IK keeps failing, things are hitting each other and wires are being strained I’m in integration hell. Everything works fine on its own, but combining everything is horrible. I’ve been reassembling and trying to fix this stupid thing for so long. Anyway I’ve went through a few more revisions of some CAD and some more refinements and the gripper and camera is now mounted but this is just incredibly incredibly annoying :(((("}, {"post_id": 69881, "ts": "2026-09-18T00:05:17Z", "hours": 3.8311, "text": "Fixed Broken Magnet, Redoing all IK joint data and offsets, Stereo depth test An encoder magnet broke off, so I had to disassemble and reassemble the top half of the arm to get to the encoder magnet and glue it back on. I also started properly punching in the IK joint data, before it was mostly just random data but now almost all of the data is mostly correct, and I’m waiting for a print to complete that will flip a motor to finally get the IK simulation matching with real life and have the IK endpoint be tracked at the tip of the gripper. It was a lot of trial and error and measurements. I also started experimenting with adding depth estimation. Eventually this could add collision avoidance IK pathfinding, which would be really cool but it’s just a pointcloud in the render right now. But the robot arm is slowly coming together finally! I’ll be able to grab something soon I think."}, {"post_id": 68903, "ts": "2026-09-16T00:31:34Z", "hours": 2.8461, "text": "Assembled Full Arm (not all motors active yet for safety) and Basic Interpolation for Control I assembled the new full arm assembly minus the end effector and didn’t plug in the first two motors as they have the highest chance of doing something really bad. I also made some general changes to the code and also added a flag to some motors to interpolate their movement slowly to not explode the robot arm while controlling it."}, {"post_id": 68352, "ts": "2026-09-15T00:17:44Z", "hours": 2.5044, "text": "Significantly Better Motor Control and Gripper CAD The motor code was getting a bit messy, so I rewrote it. I separated the motor code from the main control code which cleaned it up a bit. LADRC I’m using LADRC now. It’s kind of like PID, but advanced. I took the implementation from online. I feed it the motor current, encoder value, and the target and it goes. The algorithm or whatever somehow calculates the velocity of the motor and how much “effort” it’s using and then gives an effort to put to the motor. It somehow cancels out like disturbances like gravity, backlash, the general physics, etc. As you can see, the motor control is so so so much better than before. It cleanly decelerates. It handles load and dynamically increases effort. Before there was some oscillation because it just couldn’t figure out how to get to the target, this one is just so much better and so hands off. There’s basically like no calibration as it does it over time :)))"}, {"post_id": 67779, "ts": "2026-09-14T00:57:25Z", "hours": 1.4489, "text": "Assembled last 4 DoF for Integrated Test I assembled the MG996R servos in a test piece that will represent the full regular arm segment to test if everything worked. With some fiddling it worked. As you can see there’s more transparent pieces. The pieces that connect the previous joint are transparent to show the Neopixel below it a lot better as before the LED was almost completely occluded. The bright green LEDs power status ones are too bright but I can cover them later."}, {"post_id": 67735, "ts": "2026-09-13T23:20:04Z", "hours": 6.6769, "text": "Dashboard Revamp WIP, Tons of CAD changes, Code Updates, Tolerances I’ve just been refining everything and it’s just going really slowly. Many problems. Magnets shorting out stuff. Magnet too far and not being detected. Wires breaking. I’ve also redesigned the dashboard UI to hopefully look better. I’m still working on it, hopefully it will look more polished later. The dashboard It shows a load speedometer type thing, with the load (max current from a motor out of 500mA) and the temp on the right (for now just dummy value) The motors have cool little animations now too and look less cluttered. I’ve just been working on it a lot. Just everything in general tbh."}, {"post_id": 65061, "ts": "2026-09-09T22:13:56Z", "hours": 5.7644, "text": "Debugging and Fixing Is Killing Me and the Mainboard Exploded :( I have spent SO many hours trying to get this to work. It’s so annoying. This isn’t near how many hours I spent, I’ve been too frustrated to log it. The case is incredibly annoying. Getting the initial case works fine. Doing all of this stuff makes it complicated and break and jam up. The RS485 busses just randomly stop working. The servo output is wiggly and not stable. A PCB header snapped and I didn’t have replacements so I had to bodge solder it back on. The mainboard voltage regulator literally exploded. It was a cheap part but yeah that literally just broke stuff. Fixes to everything. CAD. Firmware. bruh"}, {"post_id": 60577, "ts": "2026-09-03T00:49:54Z", "hours": 6.7731, "text": "MG996Rs Finally Working The servos finally work. I don’t even think this amount of hours logged is equal to how long this took, because I just got tired of it. I think I printed like 20 new revisions of the case and servo mount. It was just so so annoying. While the general case worked, getting a reliable magnet output shaft was impossible. From tolerances, to my own errors to binding to hot glue getting everywhere, or superglue binding random gears, or my getting my fingers stuck to the actual case from superglue (was not fun and hurt) The case finally works. And the prototype code somewhat works too. It basically rotates until the sensor hits zero, it resets the “ticks”. A tick is a raw output from the AS5600. Because this magnet shaft spins faster than the output shaft, like 10x faster, the MCU needs to poll the sensor super quickly, which also needed some optimizations to clear the blocking bus communication wait that would let the magnet skip multiple full turns. The sensor doesn’t internally count turns so we just need to count manually and detect when it jumps from 4096-0 or the other way around. It then spins around until the sensor is hit AGAIN to calculate tick to degrees, assuming the sensor was zeroed before, and then the current ticks would equal 360 degrees. Another problem was the servo needs a PWM signal to move. The threshold from stop to go is pretty garbage on these cheap servos, leading it to spin quite fast already when at the lowest PWM value. Instead when far from the value it increases the PWM signal, closer it brings to minimum and starts linearly flickering the PWM signal from 0 to the speed, with the closer it is the more ratio of time stopped to inch it closer to the target. It actually surprisingly works. It’s very fragile though, any skipped reads, from potentially slow bus transfers would completely throw it off, so all the code running locally on the weak 8 bit MCU needs to be extremely lightweight. Yeah this was super super painful. I’ve been sitting here redoing superglue and code for hours."}, {"post_id": 58979, "ts": "2026-08-31T15:36:35Z", "hours": 3.4036, "text": "Servo Code I did some slight refining to the servo case again, making the tolerances tighter to keep the gears from wobbling. It’s still sort of loose, so I need to just keep trying over and over again. I’m also still writing the servo code. It’s already much more organized than before. I’m also learning Vim keybinds and stuff to try and code faster. The RS485 bus communication works now, and it’s just sending dummy telemetry data back right now. It can also control the servo fine. I’ve just been doing like the lower level architecting I guess, or not really I’m not sure. Before everything was crammed into a single file and now there’s actually header files and multiple source files and it’s actually somewhat readable. I had an issue with LED control for a second but that’s fixed now :)"}, {"post_id": 58467, "ts": "2026-08-30T21:44:37Z", "hours": 2.4922, "text": "V2 Servo Case Working; Servo Code Revamp WIP After around 10 more revisions, the new servo case is fully working with the magnetic extender. The V2 is significantly better designed and higher efficiency than the last, more guess and check result. I’ve also started to rewrite the servo code. Right now, its really messy and just kind of snowballed over time as I’ve slapped on patches and features to a fundamentally weak base. I’m in the progress of writing that now, hopefully it will be done soon. It will also include the new auto calibration and encoder usage and PID (and potentially advanced auto tuned curve to combat motor acceleration overshoot and backlash)"}, {"post_id": 57778, "ts": "2026-08-30T02:16:49Z", "hours": 3.8514, "text": "Working on IK System & Resoldered Joints Again Bruh so my robot arm after finally being assembled by the way exceeded it’s limits and tore its wires out. I had to take apart the mainboard assembly again, which just is SO TEDIOUS. I just dumped solder and hot glue again and fixed a short caused from another wire being sheared off. Also I’m working on the IK system, but it’s not really going well right now. I need to add offsets and config to each of the motors to get them to work correctly. The motors hooked up right now started crashing into my table sadly. Hopefully it will work soon. I also continued working on the servo case. I still haven’t added the code to calibrate and get closed loop control on the MG996R servos. The DS5180 encoders should be easier though."}, {"post_id": 57272, "ts": "2026-08-29T11:42:11Z", "hours": 3.1006, "text": "Reprinted Arm Segments; Added Segment Cover; Servo Mount Working; Working on Web UI I reprinted the arm segments, hopefully for one of the last times, I’ve went through so much filament already. It now allows the mainboard to be neatly packed inside, hiding most of it while still allowing wires to come out. Due to the design of the mainboard, the wires do have to stick out the front like that sadly. To avoid crushing wires, the servo mount has been expanded to allow more clearance for wires and general electronics. The servo mount works now with a new design. I remeasured and adjusted the sketches and added proper hole sizes and a little chamfer to allow the insert to slot in before using a soldering iron to melt it in to help align much better than before. The web UI now shows a representation of the arm. It’s not tuned yet, so the angles are wrong but I’ll fix it soon. I had to move everything from Fusion to Onshape to create the assemblies, and then use a Python library to convert the Onshape assembly into a URDF file that can be rendered with the correct joints inside ThreeJS. Next, I’ll be adding IK and general arm control."}, {"post_id": 56800, "ts": "2026-08-28T18:32:28Z", "hours": 3.1978, "text": "Heatset Inserts Working; Fixing Faulty Motor Power Connections; Internal Fan Power Connectors I verified that the servo cover works, and it’s much much better than the last version. The tolerances are much better this time, leading to less stress on the gears. The same amount of turning uses around 100mA compared to 300mA before, almost reaching it’s limit without any load. Some motor power connectors disconnected, so I found it with a multimeter and added hot glue to some connectors to secure them. I soldered the fan power things inside the PCB, but realized that the JST connectors I’m using are different from the fans. I might have to make a sort of adapter or something by crimping more wires. And the heatset inserts finally work after some tweaking, before the inserts would get misaligned when put in, now with a aligning lip thing it can be slotted in and melted in more accurately."}, {"post_id": 56316, "ts": "2026-08-28T01:34:32Z", "hours": 4.6306, "text": "New Mainboard Cover, Wiring, Bearing Revamp, Heatset Inserts, Servo Cover I added space for the mainboard segment, now it has clearance to actually fit, I redid the cover for this segment, and now it can allow the wires to come out The servo mount now has heatset inserts, because the previous screw in print kept slipping out, but this time the screws just would not go into the inserts through the mount for some reason? The screws went in normally, but with the tolerances, when multiple screws go in they just fight and push against the edge of the insert instead of going in. The MG996R servo housing now has been redesigned, based off of picture references and calipers to attempt to be more accurate than the last one to try and reduce the amount of bad tolerances affecting the gears and making them misaligned, reducing torque output. And just general wiring and CAD work."}, {"post_id": 55294, "ts": "2026-08-27T01:14:32Z", "hours": 2.9064, "text": "Assembled Basic Arm Parts and Packaged Main Board Assembly; Reprogrammed servo MCUs & worked on web UI I redid some soldering on the mainboard PCB, secured connections, and secured everything with tape for now. I’ll likely have to reprint the first arm segment to fit everything in flush because as you can see there are wires and things bulging out of the segment itself right now. I also redesigned the CAD to include heat set inserts. I did programming and a bunch of bug testing and fixing too. An hour of time was lost because Lapse errored out :((((( very sad about that :( I also had an issue with data corruption on the RS485 bus but that is fixed now, and it works like it should."}, {"post_id": 54840, "ts": "2026-08-26T00:29:08Z", "hours": 4.3236, "text": "Mainboard Stack Redo & Firmware Updates and Test Web UI I had to take the electronics out, and redo some of the wiring. The screw terminals are pretty cheap and suck, which makes it incredibly annoying to use as it’s impossible to fit these thicker AWG wires in and they sometimes slide out of the terminals. When I’m done I’m probably going to hot glue the wires. The incredibly fragile flexible extension jumpers for data transfer between the stack is also super fragile, and especially doesn’t grip. Sometimes the data wires just slip out. I took apart the arm, as during testing the motor stripped some screws. I’ve ordered some heat set inserts to prevent that from happening again, which will require me to reprint all the arm segments again. I also added a simple web UI for moving the joints. There is an empty ThreeJS sidebar and the right has some graphs (real data) from the mainboard sensors. The smaller MG996R servos haven’t been mounted yet due to a power delivery issue from the mainboard but hopefully that will be fixed soon."}, {"post_id": 28657, "ts": "2026-07-15T01:25:27Z", "hours": 4.0167, "text": "Test assembly and fitting of robot arm I am mostly done with the core functionality of the mainboard, so i packed everything together and double checked eerything works including power Then I started assembling most of the servos The smaller servo casing doesn’t fit very well, and the transparent window doesn’t fit either But the magnetic cover for the arm segments works great :) It was a lot of fitting, screwing, testing with multimeter, etc"}, {"post_id": 28409, "ts": "2026-07-14T17:26:49Z", "hours": 5.1303, "text": "Finalizing hardware I crimped and soldered almost the remaining wires, I’ve made some last redesigns to the arm CAD and I’m now fitting everything into the new prints and assembling. I’ve also had a ton of trouble with my servo PCBs lately, but I found out a lot of the issue was my programmer is actually fried somehow, so I’m now using an old RPi Pico to act as a UPDI adapter so PlatformIO can now successfully program the ATtinys much better now. A lot of the CAD was slightly tweaked so that everything fits better"}, {"post_id": 26853, "ts": "2026-07-11T21:36:43Z", "hours": 1.175, "text": "Servo firmware almost done The servo firmware now (with the mainboard) sends validation data back and forth so both the servo and mainboard can verify that the data was sent successfully and can ignore corrupted packets because my wiring can be flaky sometimes The firmware now sends real data again and is much more robust, with a proper stateful LED that shows useful information, like offline, online and driving motor, homing, error (fast flashing of LED as red), and the error state is also triggered in the case of corrupted packets (I tried it and it works :)) I’m also still printing out the pieces to assemble the arm. I actually have more hours working on it, I just forgot to log :((((((("}, {"post_id": 26218, "ts": "2026-07-10T21:40:32Z", "hours": 8.1217, "text": "Rewrote all firmware; Fixing Servo Cover and a ton of other CAD; Almost fried everything For the CAD, it doesn’t look like much changed, but I’ve basically redesigned a bunch of things and fixed tolerances and now it should move really smoothly. With the bearings added, everything moves incredibly smoothly now Especially the servo cover was annoying. I needed to attach a magnet to the shaft which was really annoying. I haven’t logged that well, I’ve done more like 15 hours of work instead of just 5 but whatever Most of those hours was the painful debugging. RS-485 busses, JSON not communcating with the PC, dropped connections, corrupted data, disconnected jumpers, FTDI programmer becoming flaky for some reason It’s just been pain :((( Now the PC (screenshot) recieves all the data and sends all the data You can see a lot (not all) of the telemetry being received. Ignore the volts though my math is wrong. Realtime connecting now works smoothly, as you can see the other RS485 servos are offline."}, {"post_id": 24091, "ts": "2026-07-07T13:11:08Z", "hours": 5.9586, "text": "Bidirectional Communication To PC/RPi 5 with LeRobot & More CAD changes I setup a basic class for my robot in LeRobot (which was a little confusing) and then I also got communication between the Pico and my PC working. Originally I have SPI pins exposed on my mainboard PCB to connect to the RPi 5’s GPIO pins, but for some reason after lots of debugging, even running it at super low speeds it just would not work. So I switched to just using serial over USB, and using the SerialTransfer library to send data more reliably. The script on the PC now can send target joint angles, and receive a lot of data back, like if the joint is online, temp, current, angle, homing sensor, home status, LED, firmware version, voltage, etc I also iterated on the CAD for everything, and it should be done soon. It’s just a bunch of tolerance fixes to make everything fit at this point and some new things like mounts for encoders and DC buck modules and fixing the CAD for the custom MG996R case."}, {"post_id": 23468, "ts": "2026-07-06T13:46:37Z", "hours": 1.9767, "text": "Mainboard and other CAD I got the mainboard to stack on top of each other with a weird jumper and two piece jumper holder and some screws setup which required some revisions and trying to get everything to fit. I’ve squeezed one of the DC buck modules into between the mainboard, and the second arm segment will hold the two remaining DC buck modules. The bottom mainboard PCB also has 2 smaller buck modules. There’s a lot of things going on with the voltages in this project due to the servos peak current draw being so large. I also refined the arm segment CAD by some reprints and made the DS5180 servo fit better. I’ve also made one of the buck module mounts for the second arm segment to fit more cleanly."}, {"post_id": 22393, "ts": "2026-07-04T21:03:02Z", "hours": 4.3272, "text": "Servo Control Working, More CAD and 3D Printing I got the mainboard to be able to control the servo on the servo PCBs. I also tested a bunch of the functions, like the magnetic sensor, neopixel LED, etc The communication now sends the PCB ID, and the target speed and the servo PCB echos it back and moves the servo. I also worked on the CAD (and refined) for the mainboard connector that will make connecting the two mainboards not a total pain. I also soldered the connectors on the mainboard PCBs for them to connect to each other."}, {"post_id": 21568, "ts": "2026-07-03T16:23:00Z", "hours": 0.4833, "text": "Servo PCB Daisy Chaining Working I plugged in the JST VH and JST 1.25mm wires into the PCBs, and they seem to work! I adjusted the message struct to hold a desired PCB sort of address or ID. When the MCU detects that the ID matches the PCB (by using the solder jumpers at the bottom of each PCB to program the PCB ID), only then it lights up the LED and replies to the main board. The mainboard now loops through IDs and sends a message and waits for a response. I’m very very happy this worked without any really big problems."}, {"post_id": 21540, "ts": "2026-07-03T15:45:12Z", "hours": 3.4667, "text": "Crimped JST VH wires, Connected JST 1.25mm wires, Soldered more PCB connectors Crimping JST VH wires is a ton easier than JST 1.25mm, and after a bunch of failed attempts still, I got some okay crimps that work finally. It took me a long time because I didn’t know that I had to rotate the wire for the hook on the terminal to go into the housing hole, and then also that the box shape part on the terminal actually has to stick out of the crimper or the crimper will crush the whole terminal into bits"}, {"post_id": 21185, "ts": "2026-07-03T00:14:50Z", "hours": 4.7722, "text": "Finished Soldering all Smaller PCBs & Got RS-485 communication working from main board to servo PCBs First, I finished soldering the PCBs. I added the connectors for power and the small data connectors. I also finished the servo expansion boards that hold the magnetic encoder and sensor. I also finished soldering the joint encoder PCBs that will track shoulder and elbow lift servo positions. I also got the bus communication to work. It was really really painful and I was really scared it wouldn’t work. First, the PCBs wouldn’t communicate at all. But eventually, I realized that it was because I wasn’t supplying 3.3V to the main board. This is when I realized that I haven’t adjusted the buck converters on the main board to supply the correct voltage, so I was about to unsolder the buck converter when I realized that I could just set the power supply to 5V (which the ICs on the mainboard can handle luckily), and then adjust the voltage down to 3.3V. But after a really long time of debugging, it still wasn’t working. The connection would sometimes work but was really flaky. Eventually, I soldered on the RPi Pico 2 onto the board completely and then found out the reason, it was because the ATtiny3216 was set to clock at a slow speed that would mess with the communication. I made them use the SerialTransfer library to send data more reliably and it now can communicate properly :)"}, {"post_id": 20354, "ts": "2026-07-01T22:40:54Z", "hours": 5.5597, "text": "Done Soldering Most PCBs, Crimped JST wires kind of I’m pretty much done soldering, I just have like 3 more tiny PCBs and I should be done. The big main board PCBs are pretty much done, I just need to make some botched tall headers since the clearance of regular headers are too small, and the servo PCBs are almost done, with just some connectors left to solder. Soldering JST 1.25mm wires ARE THE WORST EVER THING TO EVER EXIST I spent 2 hours crimping terminals on multiple wires and its so so so annoying. I can barely hold the terminal itself and they are so easy to bend. I couldn’t afford the real tool to crimp them, so I have cheap crimpers that are the wrong size and can’t technically crimp these. If crimping the metal things wasn’t bad enough, inserting the terminals into the housing was even worse. The housing would bend, or I would accidentally somehow insert it where it shorts the pin next to it??? Also while soldering a JST 1.25mm connector on a PCB, I ripped the pads clean off the PCB. I guess that one just will be missing the daisy chain feature because it only has one connector for data now and all the components and MCU are already soldered on, which really sucks. The rest of the servo PCB (4 in total for now) went fine though, and I’m getting faster at it."}, {"post_id": 18843, "ts": "2026-06-30T01:27:03Z", "hours": 4.7572, "text": "Worked on firmware & CAD & Soldered Second PCB I got the PCB and ATtiny3216 to power a servo. I soldered on the remaining components on it, like the custom LED (which just turns on when the motor is spinning for now) and the 100uF capacitor and also the RS485 bus IC. I also changed the CAD of the arm to use a bearing and changed the servo horn to fit inside of the bearing. I’ve ordered right angle headers and the bearing and metal servo horn already. I also added some transparent parts to the arm design to make it look more interesting hopefully. I also am almost done soldering the second servo PCB. Now that I have all the parts ready and I actually got better at soldering ICs I can do it faster now."}, {"post_id": 17022, "ts": "2026-06-27T17:00:47Z", "hours": 4.0433, "text": "Finally got ATtiny3216 on PCB Working This took so so long. Basically, I spent hours trying to get it to work. First, the 3.3V rail wasn’t getting power and the LED wasn’t lighting so I had to resolder the voltage regulator and then both green LEDs lit up, meaning everything was working. Then I got my FTDI programmer, and plugged it into my PCB. Because I have a FTDI programmer and the ATtiny3216 has a UPDI programming interface, there is a resistor on the board to combine the two pins into one. Even just getting megaTinyCore installed in Arduino IDE was a pain. The website that hosted the package info was down again, with an expired certificate. Apparently, this happens very often with it but I found an alternative mirror. Then I tried flashing code, and it didn’t work. Then I realized that the board type I was using was the Optiboot version, and I couldn’t find the non Optiboot version so I had to flash Optiboot onto the MCU. I did not realize that doing this would cause problems later on. I also had to switch the programmer from the one that programs Arduinos to the UPDI programmer. But I STILL couldn’t get any GPIO to work. I just tried things for hours. I switched to PlatformIO. I tried switching from C to Arduino in PlatformIO. I tried unplugging the programmer because I saw some voltage leaking from it. I tried emptying the caps and trying again. I probed every single pin to see if I wrote the wrong pin. Then after all of that, when I switched to non Optiboot (having to find online that I have to downgrade megaTinyCore), and flashing that, it works. I think it was because flashing a bootloader burns some fuses to expect a bootloader, but when I flash my code it actually overwrites the bootloader code because I don’t have access to the TX and RX pins typically used to flash when Optiboot is installed, and that just caused the code to not run."}, {"post_id": 14058, "ts": "2026-06-23T01:15:22Z", "hours": 2.3747, "text": "Soldered Smaller PCBs, Ordered Missing Parts, Continued CAD work I soldered most of the small PCBs, but now I need to order the parts I missed from the first order I placed. I’m also running out of 0.1uF caps, which sucks. I added a spot and holes for a fan on the camera mount and also some arm segment CAD improvements and back plating to hold the metal rods in. I printed out a test and it works fine. As for the PCBs, I’m still waiting for a few parts."}, {"post_id": 13444, "ts": "2026-06-22T00:49:23Z", "hours": 2.6311, "text": "Continued Soldering PCB (Diodes/LEDs, power circuitry, etc) and worked on arm CAD. For the PCB, after some time, I got the power switching circuit to output power. It’s a collection of things that I hope will make it safer, with a some diodes and a fuse, some MOSFETs, so the main MCU can command to send power, and also another stage that requires the E-STOP to not be pressed to actually be able to send power through with two MOSFETs (one main power, another switch the main MOSFET). I added a fan to the global shutter main wrist camera since it gets hot, and added a new “head” to the arm segment CAD (the heads are swappable depending on what you need to print) for the smaller motor for the last DOFs in the arm. It fits my custom daisy chaining two part PCB hat for the MG996R to give it current, temp, power sensing, and daisy chaining power and data via a RS485 bus with an onboard MCU to provide communication and control. I added some holes for airflow for this PCB. I also added some screw holes to actually connect the halves of the arm together."}, {"post_id": 12830, "ts": "2026-06-21T00:22:41Z", "hours": 1.6036, "text": "Continued Soldering and Working on CAD I snapped some headers and soldered on some more ICs on the PCBs. I did also mess up and ordered a wrong footprint for a part, so now I have to delay that too. It’s so tiny I can barely see the pins. I also worked on the CAD, where I designed the stereo camera holder, added a spot for the RPi 5 to go on top, and maybe a display. I also made a V2 of my grabber since the old one didn’t work well. It also seems that Stardance isn’t syncing my time properly, and it’s missing a few hours so that’s annoying :("}, {"post_id": 12281, "ts": "2026-06-20T01:43:23Z", "hours": 5.3406, "text": "I soldered some parts on the PCB, and worked on the CAD files some more I did realize that I forgot some parts, so I ordered them on DigiKey. I’ll continue soldering the rest tomorrow. One of the parts was the LDO, which I only found out because I soldered the parts and realized that the voltage being put on the 3.3V rail is 5V My project needs both versions of the same LDO and I only bought the 5V one I also bought the wrong resistors. I’ve ordered them and they should arrive in a week or so. My design of stacking the PCBs and then adding the buck modules in the middle might be very challenging, and I might need to stack multiple headers on top of each other to fit the modules inside. Hopefully it will still fit inside my arm segment and not short anything. There also needs to be sufficient airflow, which is def a challenge"}, {"post_id": 10584, "ts": "2026-06-17T12:06:26Z", "hours": 1.8508, "text": "Added Bottom Reinforcements with holes for magnets and wiring Added Fans and airflow holes And just fixed and refined the CAD, like adding spots for magnetic attached front and back plates and more"}]...
|
Title: revo by @ratmuds | Stardance
Devlogs:
Adde Title: revo by @ratmuds | Stardance
Devlogs:
Added Bottom Reinforcements with holes for magnets and wiring Added Fans and airflow holes And just fixed and refined the CAD, like adding spots for magnetic attached front and back plates and more
I soldered some parts on the PCB, and worked on the CAD files some more I did realize that I forgot some parts, so I ordered them on DigiKey. I’ll continue soldering the rest tomorrow. One of the parts was the LDO, which I only found out because I soldered the parts and realized that the voltage being put on the 3.3V rail is 5V My project needs both versions of the same LDO and I only bought the 5V one I also bought the wrong resistors. I’ve ordered them and they should arrive in a week or so. My design of stacking the PCBs and then adding the buck modules in the middle might be very challenging, and I might need to stack multiple headers on top of each other to fit the modules inside. Hopefully it will still fit inside my arm segment and not short anything. There also needs to be sufficient airflow, which is def a challenge
Continued Soldering and Working on CAD I snapped some headers and soldered on some more ICs on the PCBs. I did also mess up and ordered a wrong footprint for a part, so now I have to delay that too. It’s so tiny I can barely see the pins. I also worked on the CAD, where I designed the stereo camera holder, added a spot for the RPi 5 to go on top, and maybe a display. I also made a V2 of my grabber since the old one didn’t work well. It also seems that Stardance isn’t syncing my time properly, and it’s missing a few hours so that’s annoying :(
Continued Soldering PCB (Diodes/LEDs, power circuitry, etc) and worked on arm CAD. For the PCB, after some time, I got the power switching circuit to output power. It’s a collection of things that I hope will make it safer, with a some diodes and a fuse, some MOSFETs, so the main MCU can command to send power, and also another stage that requires the E-STOP to not be pressed to actually be able to send power through with two MOSFETs (one main power, another switch the main MOSFET). I added a fan to the global shutter main wrist camera since it gets hot, and added a new “head” to the arm segment CAD (the heads are swappable depending on what you need to print) for the smaller motor for the last DOFs in the arm. It fits my custom daisy chaining two part PCB hat for the MG996R to give it current, temp, power sensing, and daisy chaining power and data via a RS485 bus with an onboard MCU to provide communication and control. I added some holes for airflow for this PCB. I also added some screw holes to actually connect the halves of the arm together.
Soldered Smaller PCBs, Ordered Missing Parts, Continued CAD work I soldered most of the small PCBs, but now I need to order the parts I missed from the first order I placed. I’m also running out of 0.1uF caps, which sucks. I added a spot and holes for a fan on the camera mount and also some arm segment CAD improvements and back plating to hold the metal rods in. I printed out a test and it works fine. As for the PCBs, I’m still waiting for a few parts.
Finally got ATtiny3216 on PCB Working This took so so long. Basically, I spent hours trying to get it to work. First, the 3.3V rail wasn’t getting power and the LED wasn’t lighting so I had to resolder the voltage regulator and then both green LEDs lit up, meaning everything was working. Then I got my FTDI programmer, and plugged it into my PCB. Because I have a FTDI programmer and the ATtiny3216 has a UPDI programming interface, there is a resistor on the board to combine the two pins into one. Even just getting megaTinyCore installed in Arduino IDE was a pain. The website that hosted the package info was down again, with an expired certificate. Apparently, this happens very often with it but I found an alternative mirror. Then I tried flashing code, and it didn’t work. Then I realized that the board type I was using was the Optiboot version, and I couldn’t find the non Optiboot version so I had to flash Optiboot onto the MCU. I did not realize that doing this would cause problems later on. I also had to switch the programmer from the one that programs Arduinos to the UPDI programmer. But I STILL couldn’t get any GPIO to work. I just tried things for hours. I switched to PlatformIO. I tried switching from C to Arduino in PlatformIO. I tried unplugging the programmer because I saw some voltage leaking from it. I tried emptying the caps and trying again. I probed every single pin to see if I wrote the wrong pin. Then after all of that, when I switched to non Optiboot (having to find online that I have to downgrade megaTinyCore), and flashing that, it works. I think it was because flashing a bootloader burns some fuses to expect a bootloader, but when I flash my code it actually overwrites the bootloader code because I don’t have access to the TX and RX pins typically used to flash when Optiboot is installed, and that just caused the code to not run.
Worked on firmware & CAD & Soldered Second PCB I got the PCB and ATtiny3216 to power a servo. I soldered on the remaining components on it, like the custom LED (which just turns on when the motor is spinning for now) and the 100uF capacitor and also the RS485 bus IC. I also changed the CAD of the arm to use a bearing and changed the servo horn to fit inside of the bearing. I’ve ordered right angle headers and the bearing and metal servo horn already. I also added some transparent parts to the arm design to make it look more interesting hopefully. I also am almost done soldering the second servo PCB. Now that I have all the parts ready and I actually got better at soldering ICs I can do it faster now.
Done Soldering Most PCBs, Crimped JST wires kind of I’m pretty much done soldering, I just have like 3 more tiny PCBs and I should be done. The big main board PCBs are pretty much done, I just need to make some botched tall headers since the clearance of regular headers are too small, and the servo PCBs are almost done, with just some connectors left to solder. Soldering JST 1.25mm wires ARE THE WORST EVER THING TO EVER EXIST I spent 2 hours crimping terminals on multiple wires and its so so so annoying. I can barely hold the terminal itself and they are so easy to bend. I couldn’t afford the real tool to crimp them, so I have cheap crimpers that are the wrong size and can’t technically crimp these. If crimping the metal things wasn’t bad enough, inserting the terminals into the housing was even worse. The housing would bend, or I would accidentally somehow insert it where it shorts the pin next to it??? Also while soldering a JST 1.25mm connector on a PCB, I ripped the pads clean off the PCB. I guess that one just will be missing the daisy chain feature because it only has one connector for data now and all the components and MCU are already soldered on, which really sucks. The rest of the servo PCB (4 in total for now) went fine though, and I’m getting faster at it.
Finished Soldering all Smaller PCBs & Got RS-485 communication working from main board to servo PCBs First, I finished soldering the PCBs. I added the connectors for power and the small data connectors. I also finished the servo expansion boards that hold the magnetic encoder and sensor. I also finished soldering the joint encoder PCBs that will track shoulder and elbow lift servo positions. I also got the bus communication to work. It was really really painful and I was really scared it wouldn’t work. First, the PCBs wouldn’t communicate at all. But eventually, I realized that it was because I wasn’t supplying 3.3V to the main board. This is when I realized that I haven’t adjusted the buck converters on the main board to supply the correct voltage, so I was about to unsolder the buck converter when I realized that I could just set the power supply to 5V (which the ICs on the mainboard can handle luckily), and then adjust the voltage down to 3.3V. But after a really long time of debugging, it still wasn’t working. The connection would sometimes work but was really flaky. Eventually, I soldered on the RPi Pico 2 onto the board completely and then found out the reason, it was because the ATtiny3216 was set to clock at a slow speed that would mess with the communication. I made them use the SerialTransfer library to send data more reliably and it now can communicate properly :)
Crimped JST VH wires, Connected JST 1.25mm wires, Soldered more PCB connectors Crimping JST VH wires is a ton easier than JST 1.25mm, and after a bunch of failed attempts still, I got some okay crimps that work finally. It took me a long time because I didn’t know that I had to rotate the wire for the hook on the terminal to go into the housing hole, and then also that the box shape part on the terminal actually has to stick out of the crimper or the crimper will crush the whole terminal into bits
Servo PCB Daisy Chaining Working I plugged in the JST VH and JST 1.25mm wires into the PCBs, and they seem to work! I adjusted the message struct to hold a desired PCB sort of address or ID. When the MCU detects that the ID matches the PCB (by using the solder jumpers at the bottom of each PCB to program the PCB ID), only then it lights up the LED and replies to the main board. The mainboard now loops through IDs and sends a message and waits for a response. I’m very very happy this worked without any really big problems.
Servo Control Working, More CAD and 3D Printing I got the mainboard to be able to control the servo on the servo PCBs. I also tested a bunch of the functions, like the magnetic sensor, neopixel LED, etc The communication now sends the PCB ID, and the target speed and the servo PCB echos it back and moves the servo. I also worked on the CAD (and refined) for the mainboard connector that will make connecting the two mainboards not a total pain. I also soldered the connectors on the mainboard PCBs for them to connect to each other.
Mainboard and other CAD I got the mainboard to stack on top of each other with a weird jumper and two piece jumper holder and some screws setup which required some revisions and trying to get everything to fit. I’ve squeezed one of the DC buck modules into between the mainboard, and the second arm segment will hold the two remaining DC buck modules. The bottom mainboard PCB also has 2 smaller buck modules. There’s a lot of things going on with the voltages in this project due to the servos peak current draw being so large. I also refined the arm segment CAD by some reprints and made the DS5180 servo fit better. I’ve also made one of the buck module mounts for the second arm segment to fit more cleanly.
Bidirectional Communication To PC/RPi 5 with LeRobot & More CAD changes I setup a basic class for my robot in LeRobot (which was a little confusing) and then I also got communication between the Pico and my PC working. Originally I have SPI pins exposed on my mainboard PCB to connect to the RPi 5’s GPIO pins, but for some reason after lots of debugging, even running it at super low speeds it just would not work. So I switched to just using serial over USB, and using the SerialTransfer library to send data more reliably. The script on the PC now can send target joint angles, and receive a lot of data back, like if the joint is online, temp, current, angle, homing sensor, home status, LED, firmware version, voltage, etc I also iterated on the CAD for everything, and it should be done soon. It’s just a bunch of tolerance fixes to make everything fit at this point and some new things like mounts for encoders and DC buck modules and fixing the CAD for the custom MG996R case.
Rewrote all firmware; Fixing Servo Cover and a ton of other CAD; Almost fried everything For the CAD, it doesn’t look like much changed, but I’ve basically redesigned a bunch of things and fixed tolerances and now it should move really smoothly. With the bearings added, everything moves incredibly smoothly now Especially the servo cover was annoying. I needed to attach a magnet to the shaft which was really annoying. I haven’t logged that well, I’ve done more like 15 hours of work instead of just 5 but whatever Most of those hours was the painful debugging. RS-485 busses, JSON not communcating with the PC, dropped connections, corrupted data, disconnected jumpers, FTDI programmer becoming flaky for some reason It’s just been pain :((( Now the PC (screenshot) recieves all the data and sends all the data You can see a lot (not all) of the telemetry being received. Ignore the volts though my math is wrong. Realtime connecting now works smoothly, as you can see the other RS485 servos are offline.
Servo firmware almost done The servo firmware now (with the mainboard) sends validation data back and forth so both the servo and mainboard can verify that the data was sent successfully and can ignore corrupted packets because my wiring can be flaky sometimes The firmware now sends real data again and is much more robust, with a proper stateful LED that shows useful information, like offline, online and driving motor, homing, error (fast flashing of LED as red), and the error state is also triggered in the case of corrupted packets (I tried it and it works :)) I’m also still printing out the pieces to assemble the arm. I actually have more hours working on it, I just forgot to log :(((((((
Finalizing hardware I crimped and soldered almost the remaining wires, I’ve made some last redesigns to the arm CAD and I’m now fitting everything into the new prints and assembling. I’ve also had a ton of trouble with my servo PCBs lately, but I found out a lot of the issue was my programmer is actually fried somehow, so I’m now using an old RPi Pico to act as a UPDI adapter so PlatformIO can now successfully program the ATtinys much better now. A lot of the CAD was slightly tweaked so that everything fits better
Test assembly and fitting of robot arm I am mostly done with the core functionality of the mainboard, so i packed everything together and double checked eerything works including power Then I started assembling most of the servos The smaller servo casing doesn’t fit very well, and the transparent window doesn’t fit either But the magnetic cover for the arm segments works great :) It was a lot of fitting, screwing, testing with multimeter, etc
Mainboard Stack Redo & Firmware Updates and Test Web UI I had to take the electronics out, and redo some of the wiring. The screw terminals are pretty cheap and suck, which makes it incredibly annoying to use as it’s impossible to fit these thicker AWG wires in and they sometimes slide out of the terminals. When I’m done I’m probably going to hot glue the wires. The incredibly fragile flexible extension jumpers for data transfer between the stack is also super fragile, and especially doesn’t grip. Sometimes the data wires just slip out. I took apart the arm, as during testing the motor stripped some screws. I’ve ordered some heat set inserts to prevent that from happening again, which will require me to reprint all the arm segments again. I also added a simple web UI for moving the joints. There is an empty ThreeJS sidebar and the right has some graphs (real data) from the mainboard sensors. The smaller MG996R servos haven’t been mounted yet due to a power delivery issue from the mainboard but hopefully that will be fixed soon.
Assembled Basic Arm Parts and Packaged Main Board Assembly; Reprogrammed servo MCUs & worked on web UI I redid some soldering on the mainboard PCB, secured connections, and secured everything with tape for now. I’ll likely have to reprint the first arm segment to fit everything in flush because as you can see there are wires and things bulging out of the segment itself right now. I also redesigned the CAD to include heat set inserts. I did programming and a bunch of bug testing and fixing too. An hour of time was lost because Lapse errored out :((((( very sad about that :( I also had an issue with data corruption on the RS485 bus but that is fixed now, and it works like it should.
New Mainboard Cover, Wiring, Bearing Revamp, Heatset Inserts, Servo Cover I added space for the mainboard segment, now it has clearance to actually fit, I redid the cover for this segment, and now it can allow the wires to come out The servo mount now has heatset inserts, because the previous screw in print kept slipping out, but this time the screws just would not go into the inserts through the mount for some reason? The screws went in normally, but with the tolerances, when multiple screws go in they just fight and push against the edge of the insert instead of going in. The MG996R servo housing now has been redesigned, based off of picture references and calipers to attempt to be more accurate than the last one to try and reduce the amount of bad tolerances affecting the gears and making them misaligned, reducing torque output. And just general wiring and CAD work.
Heatset Inserts Working; Fixing Faulty Motor Power Connections; Internal Fan Power Connectors I verified that the servo cover works, and it’s much much better than the last version. The tolerances are much better this time, leading to less stress on the gears. The same amount of turning uses around 100mA compared to 300mA before, almost reaching it’s limit without any load. Some motor power connectors disconnected, so I found it with a multimeter and added hot glue to some connectors to secure them. I soldered the fan power things inside the PCB, but realized that the JST connectors I’m using are different from the fans. I might have to make a sort of adapter or something by crimping more wires. And the heatset inserts finally work after some tweaking, before the inserts would get misaligned when put in, now with a aligning lip thing it can be slotted in and melted in more accurately.
Reprinted Arm Segments; Added Segment Cover; Servo Mount Working; Working on Web UI I reprinted the arm segments, hopefully for one of the last times, I’ve went through so much filament already. It now allows the mainboard to be neatly packed inside, hiding most of it while still allowing wires to come out. Due to the design of the mainboard, the wires do have to stick out the front like that sadly. To avoid crushing wires, the servo mount has been expanded to allow more clearance for wires and general electronics. The servo mount works now with a new design. I remeasured and adjusted the sketches and added proper hole sizes and a little chamfer to allow the insert to slot in before using a soldering iron to melt it in to help align much better than before. The web UI now shows a representation of the arm. It’s not tuned yet, so the angles are wrong but I’ll fix it soon. I had to move everything from Fusion to Onshape to create the assemblies, and then use a Python library to convert the Onshape assembly into a URDF file that can be rendered with the correct joints inside ThreeJS. Next, I’ll be adding IK and general arm control.
Working on IK System & Resoldered Joints Again Bruh so my robot arm after finally being assembled by the way exceeded it’s limits and tore its wires out. I had to take apart the mainboard assembly again, which just is SO TEDIOUS. I just dumped solder and hot glue again and fixed a short caused from another wire being sheared off. Also I’m working on the IK system, but it’s not really going well right now. I need to add offsets and config to each of the motors to get them to work correctly. The motors hooked up right now started crashing into my table sadly. Hopefully it will work soon. I also continued working on the servo case. I still haven’t added the code to calibrate and get closed loop control on the MG996R servos. The DS5180 encoders should be easier though.
V2 Servo Case Working; Servo Code Revamp WIP After around 10 more revisions, the new servo case is fully working with the magnetic extender. The V2 is significantly better designed and higher efficiency than the last, more guess and check result. I’ve also started to rewrite the servo code. Right now, its really messy and just kind of snowballed over time as I’ve slapped on patches and features to a fundamentally weak base. I’m in the progress of writing that now, hopefully it will be done soon. It will also include the new auto calibration and encoder usage and PID (and potentially advanced auto tuned curve to combat motor acceleration overshoot and backlash)
Servo Code I did some slight refining to the servo case again, making the tolerances tighter to keep the gears from wobbling. It’s still sort of loose, so I need to just keep trying over and over again. I’m also still writing the servo code. It’s already much more organized than before. I’m also learning Vim keybinds and stuff to try and code faster. The RS485 bus communication works now, and it’s just sending dummy telemetry data back right now. It can also control the servo fine. I’ve just been doing like the lower level architecting I guess, or not really I’m not sure. Before everything was crammed into a single file and now there’s actually header files and multiple source files and it’s actually somewhat readable. I had an issue with LED control for a second but that’s fixed now :)
MG996Rs Finally Working The servos finally work. I don’t even think this amount of hours logged is equal to how long this took, because I just got tired of it. I think I printed like 20 new revisions of the case and servo mount. It was just so so annoying. While the general case worked, getting a reliable magnet output shaft was impossible. From tolerances, to my own errors to binding to hot glue getting everywhere, or superglue binding random gears, or my getting my fingers stuck to the actual case from superglue (was not fun and hurt) The case finally works. And the prototype code somewhat works too. It basically rotates until the sensor hits zero, it resets the “ticks”. A tick is a raw output from the AS5600. Because this magnet shaft spins faster than the output shaft, like 10x faster, the MCU needs to poll the sensor super quickly, which also needed some optimizations to clear the blocking bus communication wait that would let the magnet skip multiple full turns. The sensor doesn’t internally count turns so we just need to count manually and detect when it jumps from 4096-0 or the other way around. It then spins around until the sensor is hit AGAIN to calculate tick to degrees, assuming the sensor was zeroed before, and then the current ticks would equal 360 degrees. Another problem was the servo needs a PWM signal to move. The threshold from stop to go is pretty garbage on these cheap servos, leading it to spin quite fast already when at the lowest PWM value. Instead when far from the value it increases the PWM signal, closer it brings to minimum and starts linearly flickering the PWM signal from 0 to the speed, with the closer it is the more ratio of time stopped to inch it closer to the target. It actually surprisingly works. It’s very fragile though, any skipped reads, from potentially slow bus transfers would completely throw it off, so all the code running locally on the weak 8 bit MCU needs to be extremely lightweight. Yeah this was super super painful. I’ve been sitting here redoing superglue and code for hours.
Debugging and Fixing Is Killing Me and the Mainboard Exploded :( I have spent SO many hours trying to get this to work. It’s so annoying. This isn’t near how many hours I spent, I’ve been too frustrated to log it. The case is incredibly annoying. Getting the initial case works fine. Doing all of this stuff makes it complicated and break and jam up. The RS485 busses just randomly stop working. The servo output is wiggly and not stable. A PCB header snapped and I didn’t have replacements so I had to bodge solder it back on. The mainboard voltage regulator literally exploded. It was a cheap part but yeah that literally just broke stuff. Fixes to everything. CAD. Firmware. bruh
Dashboard Revamp WIP, Tons of CAD changes, Code Updates, Tolerances I’ve just been refining everything and it’s just going really slowly. Many problems. Magnets shorting out stuff. Magnet too far and not being detected. Wires breaking. I’ve also redesigned the dashboard UI to hopefully look better. I’m still working on it, hopefully it will look more polished later. The dashboard It shows a load speedometer type thing, with the load (max current from a motor out of 500mA) and the temp on the right (for now just dummy value) The motors have cool little animations now too and look less cluttered. I’ve just been working on it a lot. Just everything in general tbh.
Assembled last 4 DoF for Integrated Test I assembled the MG996R servos in a test piece that will represent the full regular arm segment to test if everything worked. With some fiddling it worked. As you can see there’s more transparent pieces. The pieces that connect the previous joint are transparent to show the Neopixel below it a lot better as before the LED was almost completely occluded. The bright green LEDs power status ones are too bright but I can cover them later.
Significantly Better Motor Control and Gripper CAD The motor code was getting a bit messy, so I rewrote it. I separated the motor code from the main control code which cleaned it up a bit. LADRC I’m using LADRC now. It’s kind of like PID, but advanced. I took the implementation from online. I feed it the motor current, encoder value, and the target and it goes. The algorithm or whatever somehow calculates the velocity of the motor and how much “effort” it’s using and then gives an effort to put to the motor. It somehow cancels out like disturbances like gravity, backlash, the general physics, etc. As you can see, the motor control is so so so much better than before. It cleanly decelerates. It handles load and dynamically increases effort. Before there was some oscillation because it just couldn’t figure out how to get to the target, this one is just so much better and so hands off. There’s basically like no calibration as it does it over time :)))
Assembled Full Arm (not all motors active yet for safety) and Basic Interpolation for Control I assembled the new full arm assembly minus the end effector and didn’t plug in the first two motors as they have the highest chance of doing something really bad. I also made some general changes to the code and also added a flag to some motors to interpolate their movement slowly to not explode the robot arm while controlling it.
Fixed Broken Magnet, Redoing all IK joint data and offsets, Stereo depth test An encoder magnet broke off, so I had to disassemble and reassemble the top half of the arm to get to the encoder magnet and glue it back on. I also started properly punching in the IK joint data, before it was mostly just random data but now almost all of the data is mostly correct, and I’m waiting for a print to complete that will flip a motor to finally get the IK simulation matching with real life and have the IK endpoint be tracked at the tip of the gripper. It was a lot of trial and error and measurements. I also started experimenting with adding depth estimation. Eventually this could add collision avoidance IK pathfinding, which would be really cool but it’s just a pointcloud in the render right now. But the robot arm is slowly coming together finally! I’ll be able to grab something soon I think.
Integration Hell I’ve just been like trying to get this stupid project to work. Screws keep falling out, the IK keeps failing, things are hitting each other and wires are being strained I’m in integration hell. Everything works fine on its own, but combining everything is horrible. I’ve been reassembling and trying to fix this stupid thing for so long. Anyway I’ve went through a few more revisions of some CAD and some more refinements and the gripper and camera is now mounted but this is just incredibly incredibly annoying :((((
Setup VR and Gripper, Robot Rapidly Disassembles my robot arm is broken I setup VR and fixed some more IK when I go into VR and try playing around, it instantly flies out and throws itself off the table and breaks into pieces. This is going to be fun to fix.
Finish Project Up :) I wrote a ton in the repository im tired :( https://github.com/ratmuds/revo
Ships:
I wanted to make a robot arm that punched above it’s weight. The price is pretty similar to smaller robot arms on Amazon that may not include cameras, which would need to be purchased seperately. The way this is achieved by using cheap servos, servos that are 100% NOT made for this purpose, and adding most of the functionality of a smart servo back by using a TON of PCBs. It was a lot of soldering. I just wanted to make something that had more features for less money :) This project was SUPER difficult for me, and pushed my limits a bit. The amount of tolerences especially for the stupid custom motor case and magnet and PCBs and the crazy mainboard and generally having everything play well together took so long, I had many days where I quit frustrated. I’m very happy about how it turned out though, even seeing the lots of shortcomings it has....
|
1793152308.0471609
|
1793238708.0471609
|
|
4681
|
revision site by @Zstar | Stardance
|
Zstar
|
0
|
4.81
|
0
|
[]
|
[{"post_id": 5488, "ts": "2026 [{"post_id": 5488, "ts": "2026-06-09T09:18:04Z", "hours": 2.6861, "text": "I added flashcards and a little multiple choice quiz in which was a little hard to learn how to code but it’s made the website look way better and also much more interactive I’m also gonna add in some sections to write answers for exam questions. I really want to make it as interactive as possible because the more interactive it is the better it is for revision"}, {"post_id": 2028, "ts": "2026-06-04T09:46:58Z", "hours": 0.6006, "text": "ok ok so it hit me that my code ain’t pretty so i consumed some more videos and got to editing and now its looking way better but i am starting to regret choosing this project I mean their are a lot of notes i have to put in so i might only do the most basic biology notes idk but I’m learning a lot so 😃Anyway here is what it looks like so far on the Html viewer"}, {"post_id": 1456, "ts": "2026-06-03T14:39:54Z", "hours": 1.1422, "text": "Sooo I’ve learnt a lot I spent a while watching videos to figure out how to do the basics and i feel like I now understand how rlly basic coding works. I found a html viewer to track my progress so here’s what it looks like so far. I added some notes just on what parts of the cells do and I’m going to use making it as some revision for bio and maybe it’ll be a resource that other students can use when I eventually publish it."}, {"post_id": 924, "ts": "2026-06-02T17:47:01Z", "hours": 0.3847, "text": "I’m building a revision website to learn basic html and css"}]...
|
Title: revision site by @Zstar | Stardance
Devlog Title: revision site by @Zstar | Stardance
Devlogs:
I’m building a revision website to learn basic html and css
Sooo I’ve learnt a lot I spent a while watching videos to figure out how to do the basics and i feel like I now understand how rlly basic coding works. I found a html viewer to track my progress so here’s what it looks like so far. I added some notes just on what parts of the cells do and I’m going to use making it as some revision for bio and maybe it’ll be a resource that other students can use when I eventually publish it.
ok ok so it hit me that my code ain’t pretty so i consumed some more videos and got to editing and now its looking way better but i am starting to regret choosing this project I mean their are a lot of notes i have to put in so i might only do the most basic biology notes idk but I’m learning a lot so 😃Anyway here is what it looks like so far on the Html viewer
I added flashcards and a little multiple choice quiz in which was a little hard to learn how to code but it’s made the website look way better and also much more interactive I’m also gonna add in some sections to write answers for exam questions. I really want to make it as interactive as possible because the more interactive it is the better it is for revision...
|
1793163095.534246
|
1793767895.534246
|
|
53301
|
reverse clock by @zenzei | Stardance
|
zenzei
|
0
|
3.47
|
0
|
[]
|
[{"post_id": 69770, "ts": "202 [{"post_id": 69770, "ts": "2026-09-17T19:14:46Z", "hours": 0.3, "text": "It works finally"}, {"post_id": 69318, "ts": "2026-09-16T19:47:14Z", "hours": 1.8253, "text": "To train a model is so annoying !"}, {"post_id": 54435, "ts": "2026-08-25T13:24:38Z", "hours": 0.6069, "text": "Bitmap is a simple task but there are some debugging area for rephrasing ."}, {"post_id": 53658, "ts": "2026-08-24T09:59:28Z", "hours": 0.7333, "text": "The joyful part of CAD design done , btw so many task still has to be done!"}]...
|
Title: reverse clock by @zenzei | Stardance
Devlo Title: reverse clock by @zenzei | Stardance
Devlogs:
The joyful part of CAD design done , btw so many task still has to be done!
Bitmap is a simple task but there are some debugging area for rephrasing .
To train a model is so annoying !
It works finally...
|
1792745258.6282315
|
1793350058.6282315
|
|
9856
|
revenge of the mummy by @kashyapnirav022 | Stardan revenge of the mummy by @kashyapnirav022 | Stardance...
|
kashyapnirav022
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: revenge of the mummy by @kashyapnirav022 | Title: revenge of the mummy by @kashyapnirav022 | Stardance...
|
1792544089.503709
|
1793148889.503709
|
|
50170
|
revOS by @CassianWray | Stardance
|
CassianWray
|
2
|
11.0
|
72
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T13:07:57Z", "hours": 6.0, "multiplier": 11.69, "payout": 72, "blessing": "neutral", "text": "This is a Web OS based on the French Revolution named revOS short for revolution OS. Originally the project was kinda basic with nothing much but I have added many new features and changes to some original features. I have listed the new features below. For this round I added: A working text editor. A working browser A music player A windows switch (window vm I guess?) A better theme change than WebOS 1 Better Icons A terminal", "repo": "https://github.com/Beelzebubo/revOS-V1", "demo": "https://revolutionos.netlify.app/"}, {"ship_num": 2, "ts": "2026-08-17T17:08:08Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my first project as part of Stardance, an webOS themed on the French Revolution. The most challenging part of the project was of course writing the HTML and CSS. HTML was my bane though 900 lines of code bruh I almost lost my mind but all is well that ends well I guess. The thing I am most proud of is the load animation and being able to open multiple apps at once and taskbar function. It also contains a built in to do list as well if that is worth mentioning along with a fully functioning clock and dark-light theme toggle. The one thing I think I can improve are the icons but that is for later. I had fun building the project though.", "repo": "https://github.com/Beelzebubo/revOS-V1", "demo": "https://revolutionos.netlify.app/"}]...
|
[{"post_id": 52311, "ts": "202 [{"post_id": 52311, "ts": "2026-08-22T13:00:52Z", "hours": 2.5294, "text": "I have finally after almost 11 hours completed revOS. Things added for WebOS 2: A working music player. A working terminal A working text editor Better file creation A browser A desktop switch (in windows win+ ctrl + arrow key hotkey style but with a button) Cleaner light-dark theme change"}, {"post_id": 51780, "ts": "2026-08-21T16:54:07Z", "hours": 3.2439, "text": "Hello everyone. So I just started work on WebOS 2 after finally completed the hackpad design somehow that shitty design of mine got approved. Well anyhow I will probably need to pay custom tax when receiving the kit :( Anyway I completed adding the terminal now finally. Also added the text editor. Tomorrow I will start with music player after I spend the rest of the day today learning how to add that."}, {"post_id": 49371, "ts": "2026-08-18T05:00:33Z", "hours": 0.4111, "text": "Hello again. I finally completed the WebOS 1 mission. I am now gonna be doing the WebOS 2 mission. My plan for this mission is to add a music player, a functioning terminal and a proper file creation system. Will showcase it one by one as I complete it but for now here is a picture showing my current state."}, {"post_id": 49008, "ts": "2026-08-17T16:32:04Z", "hours": 3.32, "text": "Finally completed the project after 5 hours of coding. Anyway here is the video of the demo of revOS (revolution OS). If you want to try it yourself https://revolutionos.netlify.app/ this is the link. I am editing some stuff so it may change tomorrow I guess."}, {"post_id": 48796, "ts": "2026-08-17T10:29:07Z", "hours": 1.2808, "text": "I remembered I didn’t post how the landing page looks till now. OH well here it is now. Not that good looking yet need to work on it but I am lowkey scared to touch HTML and CSS again so probably will not update it right now maybe later."}, {"post_id": 48744, "ts": "2026-08-17T08:44:53Z", "hours": 0.3144, "text": "I kinda deleted the previous project and had to create a new folder and re log the time again since apparently I cannot log the time that was already logged onto another project even after I deleted it. Well anyway. I finally completed some more things. Previously I had written the code for the landing page (Frontend is really hard respect to all full stack guys out there) and now finally I have started with JavaScript (I hate it). Anyway I have completed about 170 lines of app.js and I am starting realize why I hated Javascript before. Still progress is coming along well. Also the French part is difficult especially with the é ē and stuff."}]...
|
Title: revOS by @CassianWray | Stardance
Devlogs: Title: revOS by @CassianWray | Stardance
Devlogs:
I kinda deleted the previous project and had to create a new folder and re log the time again since apparently I cannot log the time that was already logged onto another project even after I deleted it. Well anyway. I finally completed some more things. Previously I had written the code for the landing page (Frontend is really hard respect to all full stack guys out there) and now finally I have started with JavaScript (I hate it). Anyway I have completed about 170 lines of app.js and I am starting realize why I hated Javascript before. Still progress is coming along well. Also the French part is difficult especially with the é ē and stuff.
I remembered I didn’t post how the landing page looks till now. OH well here it is now. Not that good looking yet need to work on it but I am lowkey scared to touch HTML and CSS again so probably will not update it right now maybe later.
Finally completed the project after 5 hours of coding. Anyway here is the video of the demo of revOS (revolution OS). If you want to try it yourself https://revolutionos.netlify.app/ this is the link. I am editing some stuff so it may change tomorrow I guess.
Hello again. I finally completed the WebOS 1 mission. I am now gonna be doing the WebOS 2 mission. My plan for this mission is to add a music player, a functioning terminal and a proper file creation system. Will showcase it one by one as I complete it but for now here is a picture showing my current state.
Hello everyone. So I just started work on WebOS 2 after finally completed the hackpad design somehow that shitty design of mine got approved. Well anyhow I will probably need to pay custom tax when receiving the kit :( Anyway I completed adding the terminal now finally. Also added the text editor. Tomorrow I will start with music player after I spend the rest of the day today learning how to add that.
I have finally after almost 11 hours completed revOS. Things added for WebOS 2: A working music player. A working terminal A working text editor Better file creation A browser A desktop switch (in windows win+ ctrl + arrow key hotkey style but with a button) Cleaner light-dark theme change
Ships:
This is my first project as part of Stardance, an webOS themed on the French Revolution. The most challenging part of the project was of course writing the HTML and CSS. HTML was my bane though 900 lines of code bruh I almost lost my mind but all is well that ends well I guess. The thing I am most proud of is the load animation and being able to open multiple apps at once and taskbar function. It also contains a built in to do list as well if that is worth mentioning along with a fully functioning clock and dark-light theme toggle. The one thing I think I can improve are the icons but that is for later. I had fun building the project though.
This is a Web OS based on the French Revolution named revOS short for revolution OS. Originally the project was kinda basic with nothing much but I have added many new features and changes to some original features. I have listed the new features below. For this round I added: A working text editor. A working browser A music player A windows switch (window vm I guess?) A better theme change than WebOS 1 Better Icons A terminal...
|
1792878512.3489518
|
1793742512.3489518
|
|
45473
|
reuse-pauper-trout@duck.com by @reuse-pauper-trout reuse-pauper-trout@duck.com by @reuse-pauper-trout | Stardance...
|
reuse-pauper-trout
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: reuse-pauper-trout@duck.com by @reuse-paupe Title: reuse-pauper-trout@duck.com by @reuse-pauper-trout | Stardance...
|
1792626559.9677715
|
1793231359.9677715
|
|
2849
|
reusable satellite by @Tony1292 | Stardance
|
Tony1292
|
0
|
29.52
|
0
|
[]
|
[{"post_id": 38929, "ts": "202 [{"post_id": 38929, "ts": "2026-08-01T15:14:19Z", "hours": 2.6786, "text": "I have added a camera system to the satellite and it rotates when it his the sun. It has a gear box that I had laying in my room and disassembled and a toy camera and added to the satellite. Know I just need the rest of the hardware."}, {"post_id": 14523, "ts": "2026-06-23T17:42:20Z", "hours": 1.8, "text": "I made a better recovery system. It is for the most part, the same.But of the instead rubber bands I used springs from a pen."}, {"post_id": 13367, "ts": "2026-06-21T21:59:17Z", "hours": 0.8167, "text": "I made my prototype for the recover system. I will 3D print the the prototype part to make it look cleaner an better. I will also change from tape hinges to actual metal hinges."}, {"post_id": 12695, "ts": "2026-06-20T18:49:13Z", "hours": 0.4336, "text": "I made my live satellite dashboard with lovable.Ai. Know the next step is to make the hardware and wire everything."}, {"post_id": 12173, "ts": "2026-06-19T21:44:48Z", "hours": 1.4422, "text": "Today I assembled the frame for my satellite and I used some screws and some sticks that I had like the next step will be to put the electronics in and make it work. It does not look the cleanest but it looks cool."}, {"post_id": 10954, "ts": "2026-06-17T23:28:03Z", "hours": 3.9822, "text": "I started 3D printing the the parts needed for my project. I just finished three part. I just need to print two more . Next step will be to build the frame."}, {"post_id": 9486, "ts": "2026-06-15T20:46:31Z", "hours": 11.3808, "text": "I was trying to make my base fro the satellite. Because the frame I had was to big. So I looked on Bambu maker world and found this. “Next step is to print the model."}, {"post_id": 2411, "ts": "2026-06-04T21:30:47Z", "hours": 0.4728, "text": "I decided to learn python because lot of people recommended to learn python first, for what i am trying to do with my project. “No idea what i am doing”😅"}, {"post_id": 2332, "ts": "2026-06-04T19:26:05Z", "hours": 0.3475, "text": "Working on my 3D printing file for my project I’m using tinkercad really big and friendly and I really like Taylor cat recommend using it for beginners"}, {"post_id": 2309, "ts": "2026-06-04T18:41:11Z", "hours": 0.94, "text": "I have my frame for my project. Sturdy and decent sized. use to be a nightstand."}, {"post_id": 2222, "ts": "2026-06-04T16:40:41Z", "hours": 0.3097, "text": "Learning code for my project =] I love this community I’ve been learning so much with the people around me."}, {"post_id": 1913, "ts": "2026-06-04T04:23:14Z", "hours": 0.325, "text": "The code is coming out good! with some bug but thanks to the help from hack club and other people in stardance . Thanks everyone for the help."}, {"post_id": 1905, "ts": "2026-06-04T03:59:24Z", "hours": 0.9158, "text": "Just made my schematic! pretty simple but it should be able to send the data from the GY-BMP280 module to a Commander controller type website."}, {"post_id": 1535, "ts": "2026-06-03T16:48:28Z", "hours": 1.3389, "text": "I just finished finding the hardware for my project. I am also going to use a GY-BMP280 sensor. Amazon the goat!"}, {"post_id": 1033, "ts": "2026-06-02T20:28:55Z", "hours": 2.34, "text": "I am working on a reusable satellite that has a modular type of body that can be used many times but also with an easy repair system. Also the satellite can have many uses of types of satellites. This image is from Phonebloks. My project will be this but in satellite form."}]...
|
Title: reusable satellite by @Tony1292 | Stardance Title: reusable satellite by @Tony1292 | Stardance
Devlogs:
I am working on a reusable satellite that has a modular type of body that can be used many times but also with an easy repair system. Also the satellite can have many uses of types of satellites. This image is from Phonebloks. My project will be this but in satellite form.
I just finished finding the hardware for my project. I am also going to use a GY-BMP280 sensor. Amazon the goat!
Just made my schematic! pretty simple but it should be able to send the data from the GY-BMP280 module to a Commander controller type website.
The code is coming out good! with some bug but thanks to the help from hack club and other people in stardance . Thanks everyone for the help.
Learning code for my project =] I love this community I’ve been learning so much with the people around me.
I have my frame for my project. Sturdy and decent sized. use to be a nightstand.
Working on my 3D printing file for my project I’m using tinkercad really big and friendly and I really like Taylor cat recommend using it for beginners
I decided to learn python because lot of people recommended to learn python first, for what i am trying to do with my project. “No idea what i am doing”😅
I was trying to make my base fro the satellite. Because the frame I had was to big. So I looked on Bambu maker world and found this. “Next step is to print the model.
I started 3D printing the the parts needed for my project. I just finished three part. I just need to print two more . Next step will be to build the frame.
Today I assembled the frame for my satellite and I used some screws and some sticks that I had like the next step will be to put the electronics in and make it work. It does not look the cleanest but it looks cool.
I made my live satellite dashboard with lovable.Ai. Know the next step is to make the hardware and wire everything.
I made my prototype for the recover system. I will 3D print the the prototype part to make it look cleaner an better. I will also change from tape hinges to actual metal hinges.
I made a better recovery system. It is for the most part, the same.But of the instead rubber bands I used springs from a pen.
I have added a camera system to the satellite and it rotates when it his the sun. It has a gear box that I had laying in my room and disassembled and a toy camera and added to the satellite. Know I just need the rest of the hardware....
|
1792532866.5156105
|
1793137666.5156105
|
|
9969
|
retroforge by @Wolfy1337 | Stardance
|
Wolfy1337
|
0
|
7.16
|
0
|
[]
|
[{"post_id": 17843, "ts": "202 [{"post_id": 17843, "ts": "2026-06-28T19:44:10Z", "hours": 0.8808, "text": "Journal de bord : Résolution du bug d’affichage sur RetroForge 🛠️L’analyse de la page ia/games/snake.html via les outils de développement (F12) montre qu’il n’y a aucune erreur 404, confirmant que les chemins d’accès vers les dossiers /css/ et /js/ sont corrects et que le script snake.js est bien chargé par le navigateur. L’écran noir persistant (avec la seule mention brute SNAKE ENGINE) provient donc d’un problème interne de liaison dans le code : le script JavaScript attend probablement un ID de Canvas différent de celui fourni dans le fichier HTML (ex: canvas au lieu de snakeCanvas), ou la boucle d’initialisation du jeu ne se déclenche pas automatiquement au chargement du DOM. La prochaine étape consiste à aligner les identifiants entre le script et le HTML dans js/engines/snake.js pour forcer le lancement du moteur graphique."}, {"post_id": 10241, "ts": "2026-06-16T21:26:03Z", "hours": 0.9842, "text": "RetroForge.exe est une plateforme d’arcade virtuelle responsive développée entièrement en HTML5, CSS et JavaScript. Le projet vise à recréer une expérience rétro immersive directement dans le navigateur, avec une interface soignée, fluide et adaptée aussi bien aux ordinateurs qu’aux mobiles. À ce stade, les bases du site sont en place, avec la structure générale, le design principal et les premiers éléments interactifs déjà fonctionnels, tandis que les prochaines étapes concernent l’ajout des jeux, l’optimisation de l’expérience utilisateur et les finitions visuelles."}, {"post_id": 8900, "ts": "2026-06-14T20:18:00Z", "hours": 1.5828, "text": "Actuellement la playliste musique retro fonctionne"}, {"post_id": 7031, "ts": "2026-06-11T19:50:59Z", "hours": 1.1642, "text": "Rectification du projet en cour"}, {"post_id": 6233, "ts": "2026-06-10T14:10:45Z", "hours": 1.1969, "text": "avance lentement mais surement"}, {"post_id": 5807, "ts": "2026-06-09T18:53:05Z", "hours": 0.7072, "text": "Problème technique identifié : Blocage au lancement des jeux : Lors de l’ouverture d’un jeu, l’écran affiche uniquement le libellé brut du moteur (ex: SNAKE ENGINE). Cause : Les fichiers HTML du dossier /games/ sont actuellement des coquilles vides. Ils ne chargent pas encore leurs scripts logiques associés situés dans /js/engines/ ni leurs styles graphiques dédiés dans /css/modules/."}, {"post_id": 4983, "ts": "2026-06-08T17:07:58Z", "hours": 0.6442, "text": "Project Launch: RetroForge.exe 🕹️ I am officially launching a massive project called RetroForge, a responsive virtual arcade platform built from scratch using HTML5, CSS3, and Vanilla JavaScript! The goal is to create a hub featuring 10 classic retro games (including Snake, Tetris, Pong, Minesweeper, Pacman, and Brick Breaker). What I did during this first session: Setup the global architecture and complete responsive directory tree. Wrote the comprehensive technical specifications file (cahier-des-charges.md). Planned advanced core systems: dynamic difficulty scaling (games speed up as the score increases), touch controls for mobile players, and permanent high-score tracking via LocalStorage. Next step: Building the HTML structure and the adaptive neon CSS layout for the main selection Hub! 🚀"}]...
|
Title: retroforge by @Wolfy1337 | Stardance
Devlo Title: retroforge by @Wolfy1337 | Stardance
Devlogs:
Project Launch: RetroForge.exe 🕹️ I am officially launching a massive project called RetroForge, a responsive virtual arcade platform built from scratch using HTML5, CSS3, and Vanilla JavaScript! The goal is to create a hub featuring 10 classic retro games (including Snake, Tetris, Pong, Minesweeper, Pacman, and Brick Breaker). What I did during this first session: Setup the global architecture and complete responsive directory tree. Wrote the comprehensive technical specifications file (cahier-des-charges.md). Planned advanced core systems: dynamic difficulty scaling (games speed up as the score increases), touch controls for mobile players, and permanent high-score tracking via LocalStorage. Next step: Building the HTML structure and the adaptive neon CSS layout for the main selection Hub! 🚀
Problème technique identifié : Blocage au lancement des jeux : Lors de l’ouverture d’un jeu, l’écran affiche uniquement le libellé brut du moteur (ex: SNAKE ENGINE). Cause : Les fichiers HTML du dossier /games/ sont actuellement des coquilles vides. Ils ne chargent pas encore leurs scripts logiques associés situés dans /js/engines/ ni leurs styles graphiques dédiés dans /css/modules/.
avance lentement mais surement
Rectification du projet en cour
Actuellement la playliste musique retro fonctionne
RetroForge.exe est une plateforme d’arcade virtuelle responsive développée entièrement en HTML5, CSS et JavaScript. Le projet vise à recréer une expérience rétro immersive directement dans le navigateur, avec une interface soignée, fluide et adaptée aussi bien aux ordinateurs qu’aux mobiles. À ce stade, les bases du site sont en place, avec la structure générale, le design principal et les premiers éléments interactifs déjà fonctionnels, tandis que les prochaines étapes concernent l’ajout des jeux, l’optimisation de l’expérience utilisateur et les finitions visuelles.
Journal de bord : Résolution du bug d’affichage sur RetroForge 🛠️L’analyse de la page ia/games/snake.html via les outils de développement (F12) montre qu’il n’y a aucune erreur 404, confirmant que les chemins d’accès vers les dossiers /css/ et /js/ sont corrects et que le script snake.js est bien chargé par le navigateur. L’écran noir persistant (avec la seule mention brute SNAKE ENGINE) provient donc d’un problème interne de liaison dans le code : le script JavaScript attend probablement un ID de Canvas différent de celui fourni dans le fichier HTML (ex: canvas au lieu de snakeCanvas), ou la boucle d’initialisation du jeu ne se déclenche pas automatiquement au chargement du DOM. La prochaine étape consiste à aligner les identifiants entre le script et le HTML dans js/engines/snake.js pour forcer le lancement du moteur graphique....
|
1792698507.8744268
|
1793303307.8744268
|
|
25467
|
retroOS by @Ryanmoney | Stardance
|
Ryanmoney
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-25T22:20:32Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WebOS inspired by windows 95. It is called retroOS and contains 3 apps. I build a paint app, a weather app, and a custom terminal. Hope you like it!", "repo": "https://github.com/ryanmoney67/retroOS", "demo": "https://ryanmoney67.github.io/retroOS/"}]...
|
[{"post_id": 15943, "ts": "202 [{"post_id": 15943, "ts": "2026-06-25T22:04:32Z", "hours": 0.3172, "text": "added a weather app and terminal ready to submit"}, {"post_id": 15356, "ts": "2026-06-24T23:29:45Z", "hours": 0.6831, "text": "made a pixel art app in my os. Full thing coming soon be sure to tappp innnn"}, {"post_id": 15338, "ts": "2026-06-24T22:24:07Z", "hours": 0.4669, "text": "working rn on my os hope ppl like it the little shade is a hint"}]...
|
Title: retroOS by @Ryanmoney | Stardance
Devlogs: Title: retroOS by @Ryanmoney | Stardance
Devlogs:
working rn on my os hope ppl like it the little shade is a hint
made a pixel art app in my os. Full thing coming soon be sure to tappp innnn
added a weather app and terminal ready to submit
Ships:
I made a WebOS inspired by windows 95. It is called retroOS and contains 3 apps. I build a paint app, a weather app, and a custom terminal. Hope you like it!...
|
1792878610.518924
|
1793742610.518924
|
|
50673
|
retro-inspired music player by @jworden | Stardanc retro-inspired music player by @jworden | Stardance...
|
jworden
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: retro-inspired music player by @jworden | S Title: retro-inspired music player by @jworden | Stardance...
|
1792936383.6465554
|
1793800383.6465554
|
|
10616
|
retro video game by @tlevi | Stardance
|
tlevi
|
1
|
3.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-08T18:20:19Z", "hours": 3.0, "multiplier": 1.47, "payout": 5, "blessing": "neutral", "text": "I created a simple browser-based runner game using HTML, CSS, and JavaScript where players use the arrow keys to dodge obstacles, earn points, and try to beat their high score. One of the most challenging parts was handling smooth player movement, obstacle spawning, collision detection, and score tracking while keeping the gameplay enjoyable. I’m especially proud of building a complete playable game from scratch with clean controls and a black and white design that runs directly in the browser. When trying it, you should know that timing and quick reactions are key! Good luck and enjoy :) I hope you like it!", "repo": "https://github.com/TLevi74/retrbw", "demo": "https://tlevi74.github.io/retrbw/"}]...
|
[{"post_id": 5036, "ts": "2026 [{"post_id": 5036, "ts": "2026-06-08T18:11:40Z", "hours": 2.8703, "text": "Project done! A simple flappy bird style video game!"}, {"post_id": 4091, "ts": "2026-06-07T09:00:58Z", "hours": 0.2753, "text": "Started working on a retro game"}]...
|
Title: retro video game by @tlevi | Stardance
Dev Title: retro video game by @tlevi | Stardance
Devlogs:
Started working on a retro game
Project done! A simple flappy bird style video game!
Ships:
I created a simple browser-based runner game using HTML, CSS, and JavaScript where players use the arrow keys to dodge obstacles, earn points, and try to beat their high score. One of the most challenging parts was handling smooth player movement, obstacle spawning, collision detection, and score tracking while keeping the gameplay enjoyable. I’m especially proud of building a complete playable game from scratch with clean controls and a black and white design that runs directly in the browser. When trying it, you should know that timing and quick reactions are key! Good luck and enjoy :) I hope you like it!...
|
1793084183.246871
|
1793170583.246871
|
|
33915
|
retro slack bot by @eeriergosling | Stardance
|
eeriergosling
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: retro slack bot by @eeriergosling | Stardan Title: retro slack bot by @eeriergosling | Stardance...
|
1792691437.6400769
|
1793296237.6400769
|
|
27831
|
retro sdk by @eeriergosling | Stardance
|
eeriergosling
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: retro sdk by @eeriergosling | Stardance
|
1793166777.0721633
|
1793771577.0721633
|
|
14591
|
retro game by @damienzarich | Stardance
|
damienzarich
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: retro game by @damienzarich | Stardance
|
1792526075.8372304
|
1793130875.8372304
|
|
44275
|
retro bowl hidden by @mohammedhasan2311 | Stardanc retro bowl hidden by @mohammedhasan2311 | Stardance...
|
mohammedhasan2311
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: retro bowl hidden by @mohammedhasan2311 | S Title: retro bowl hidden by @mohammedhasan2311 | Stardance...
|
1792579899.6050706
|
1793184699.6050706
|
|
43945
|
retractable dron by @Gabriel | Stardance
|
Gabriel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: retractable dron by @Gabriel | Stardance
|
1792893201.6547513
|
1793757201.6547513
|
|
53825
|
restraunt front page by @atharvsehgal27 | Stardanc restraunt front page by @atharvsehgal27 | Stardance...
|
atharvsehgal27
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: restraunt front page by @atharvsehgal27 | S Title: restraunt front page by @atharvsehgal27 | Stardance...
|
1792766859.5492907
|
1793371659.5492907
|
|
53826
|
restraunt front page by @atharvsehgal27 | Stardanc restraunt front page by @atharvsehgal27 | Stardance...
|
atharvsehgal27
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: restraunt front page by @atharvsehgal27 | S Title: restraunt front page by @atharvsehgal27 | Stardance...
|
1792766860.4096544
|
1793371660.4096544
|
|
46449
|
restaurant by @janagoutamrana | Stardance
|
janagoutamrana
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: restaurant by @janagoutamrana | Stardance
|
1792932515.9255235
|
1793796515.9255235
|
|
8691
|
resea by @jithesh_sarvin | Stardance
|
|
1
|
17.27
|
165
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T13:28:04Z", "hours": 16.0, "multiplier": 10.69, "payout": 165, "blessing": "neutral", "text": "What did you make? Research Feed — a personalized research paper discovery app. FastAPI backend + Next.js frontend, lightweight crawler pipeline (arXiv + OpenAlex) that populates a SQLite DB, a recommender/feed engine, and a demo deployment so people can try the site. What was challenging? Making the whole pipeline robust end-to-end: deduplication, citation backfill, handling OpenAlex/semantic‑scholar rate limits, purifier rules so we don’t delete useful papers, and getting Next.js + API routing right behind nginx on the Nest host. Deployment constraints (Nest environment, no Docker initially) added friction too. What are you proud of? A working interactive demo with a live crawler and ≈570 papers, a usable frontend (feed, search, paper pages), an automated demo deploy flow (Docker/demo scripts + non‑Docker bootstrap), and fixes for tricky issues (routing, citation backfill, offsets, and safer purifier logic). What should people know so they can test your project? Open the demo: https://jithesh.hackclub.app Try these flows: browse Home feed, click Search, open a paper, open the PDF (external), save a paper to Library, and use the refresh button on the feed. API checks: /api/stats (paper count), /api/feed, /api/papers/:id return JSON. If the UI shows JSON, hard-refresh (Ctrl+Shift+R) — nginx was fixed so UI routes should render HTML. To repro crawler/DB behavior (server access): tail logs at /root/research-feed/logs and manage services with systemctl (research-feed-api, research-feed-frontend). Report any broken link, missing PDF, or pages that show raw JSON and I’ll fix it quickly. Want me to craft a one‑paragraph summary for the project page or the “What did you make” field?", "repo": "https://github.com/Lunarcolony/ReaSea", "demo": "https://jithesh.hackclub.app"}]...
|
[{"post_id": 12053, "ts": "202 [{"post_id": 12053, "ts": "2026-06-19T17:41:36Z", "hours": 0.3608, "text": "thank you for using this website. I updated the architecture for better recommendation"}, {"post_id": 6243, "ts": "2026-06-10T14:22:08Z", "hours": 0.905, "text": "added a new cashing system which helps save data locally in the browser so that each person gets a individualized feed in the demo website."}, {"post_id": 5575, "ts": "2026-06-09T12:41:30Z", "hours": 8.4961, "text": "devlog-4 • Crawlers: OpenAlex and arXiv jobs pull open-access papers (min 5 citations) while offsets are persisted in crawler_offsets.json so each topic resumes where it left off. • Canonical catalog: All crawled papers land in data/papers.db, ensuring every service references the same SQLite store even when multiple components run concurrently. • Enrichment: Each new row undergoes OpenAlex metadata backfill, DOI/arXiv linking, and topic/authorship tagging so everything downstream sees complete content. • Metrics + embeddings: classification.metrics computes trending/hybrid scores and embeddings.pipeline generates vector representations that let the feed rank novelty and relevance. • Purifier: db_purifier.py runs after enrichment, removing paywalled, duplicate, or incomplete papers while keeping PDF/ArXiv URLs up to date. • Feed cache: Once the catalog is clean, FeedCache stores session rows and shown IDs so the API can quickly respond without re-running heavy scoring on every request. • API: FastAPI’s /feed handler calls build_feed(db, refresh?, client_seen_ids) which builds a FeedContext containing seen IDs, soft/hard exclusions, and user-interest signals. • Feed logic: The engine pulls candidates via _select_from_query, applies feedback-weighted scores, injects high jitter on refresh, and enforces seen-paper penalties so every refresh reshuffles without repeating the exact same order. • Frontend: The YouTube-style carousel shows hero/trending/high-impact rows, pulls seen IDs from localStorage, calls api.getFeed(refresh, seenIds), and records events (click/save/dismiss) to teach the feed what must never reappear. • Feedback loop: User events plus the refresh button feed back into feed.build_feed() via soft/hard exclusions, ensuring fresh papers are promoted while clicked/saved items stay hidden forever."}, {"post_id": 5325, "ts": "2026-06-09T01:54:14Z", "hours": 2.1086, "text": "Smarter Fallback: If you have seen absolutely every paper in the catalog, the algorithm will now smoothly fall back to showing you the best papers you’ve already seen rather than giving you a completely blank screen. Clearer UI & Reset Button: I updated the frontend so if you ever somehow run out of papers again, it will proudly tell you “You’re all caught up!” and give you a button to Clear your read history so you can start over while the crawlers hunt for more."}, {"post_id": 5232, "ts": "2026-06-08T22:52:39Z", "hours": 2.0489, "text": "I have updated the program and intereface to look better, it now has custom themes better crawler and more"}, {"post_id": 3889, "ts": "2026-06-06T23:55:52Z", "hours": 2.9272, "text": "This is like Netflix, but for research papers. It crawls the internet to index research papers and classifies them by topic. Then, a feed-based ML algorithm filters and displays a personalized list based on the user’s activity."}]...
|
Title: resea by @jithesh_sarvin | Stardance
Devlo Title: resea by @jithesh_sarvin | Stardance
Devlogs:
This is like Netflix, but for research papers. It crawls the internet to index research papers and classifies them by topic. Then, a feed-based ML algorithm filters and displays a personalized list based on the user’s activity.
I have updated the program and intereface to look better, it now has custom themes better crawler and more
Smarter Fallback: If you have seen absolutely every paper in the catalog, the algorithm will now smoothly fall back to showing you the best papers you’ve already seen rather than giving you a completely blank screen. Clearer UI & Reset Button: I updated the frontend so if you ever somehow run out of papers again, it will proudly tell you “You’re all caught up!” and give you a button to Clear your read history so you can start over while the crawlers hunt for more.
devlog-4 • Crawlers: OpenAlex and arXiv jobs pull open-access papers (min 5 citations) while offsets are persisted in crawler_offsets.json so each topic resumes where it left off. • Canonical catalog: All crawled papers land in data/papers.db, ensuring every service references the same SQLite store even when multiple components run concurrently. • Enrichment: Each new row undergoes OpenAlex metadata backfill, DOI/arXiv linking, and topic/authorship tagging so everything downstream sees complete content. • Metrics + embeddings: classification.metrics computes trending/hybrid scores and embeddings.pipeline generates vector representations that let the feed rank novelty and relevance. • Purifier: db_purifier.py runs after enrichment, removing paywalled, duplicate, or incomplete papers while keeping PDF/ArXiv URLs up to date. • Feed cache: Once the catalog is clean, FeedCache stores session rows and shown IDs so the API can quickly respond without re-running heavy scoring on every request. • API: FastAPI’s /feed handler calls build_feed(db, refresh?, client_seen_ids) which builds a FeedContext containing seen IDs, soft/hard exclusions, and user-interest signals. • Feed logic: The engine pulls candidates via _select_from_query, applies feedback-weighted scores, injects high jitter on refresh, and enforces seen-paper penalties so every refresh reshuffles without repeating the exact same order. • Frontend: The YouTube-style carousel shows hero/trending/high-impact rows, pulls seen IDs from localStorage, calls api.getFeed(refresh, seenIds), and records events (click/save/dismiss) to teach the feed what must never reappear. • Feedback loop: User events plus the refresh button feed back into feed.build_feed() via soft/hard exclusions, ensuring fresh papers are promoted while clicked/saved items stay hidden forever.
added a new cashing system which helps save data locally in the browser so that each person gets a individualized feed in the demo website.
thank you for using this website. I updated the architecture for better recommendation
Ships:
What did you make? Research Feed — a personalized research paper discovery app. FastAPI backend + Next.js frontend, lightweight crawler pipeline (arXiv + OpenAlex) that populates a SQLite DB, a recommender/feed engine, and a demo deployment so people can try the site. What was challenging? Making the whole pipeline robust end-to-end: deduplication, citation backfill, handling OpenAlex/semantic‑scholar rate limits, purifier rules so we don’t delete useful papers, and getting Next.js + API routing right behind nginx on the Nest host. Deployment constraints (Nest environment, no Docker initially) added friction too. What are you proud of? A working interactive demo with a live crawler and ≈570 papers, a usable frontend (feed, search, paper pages), an automated demo deploy flow (Docker/demo scripts + non‑Docker bootstrap), and fixes for tricky issues (routing, citation backfill, offsets, and safer purifier logic). What should people know so they can test your project? Open the demo: https://jithesh.hackclub.app Try these flows: browse Home feed, click Search, open a paper, open the PDF (external), save a paper to Library, and use the refresh button on the feed. API checks: /api/stats (paper count), /api/feed, /api/papers/:id return JSON. If the UI shows JSON, hard-refresh (Ctrl+Shift+R) — nginx was fixed so UI routes should render HTML. To repro crawler/DB behavior (server access): tail logs at /root/research-feed/logs and manage services with systemctl (research-feed-api, research-feed-frontend). Report any broken link, missing PDF, or pages that show raw JSON and I’ll fix it quickly. Want me to craft a one‑paragraph summary for the project page or the “What did you make” field?...
|
1793091172.2641804
|
1793177572.2641804
|
|
71177
|
rervwerwe by @your-majesty | Stardance
|
your-majesty
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rervwerwe by @your-majesty | Stardance
|
1792849646.8888032
|
1793454446.8888032
|
|
65215
|
repleHub by @tishere24 | Stardance
|
tishere24
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: repleHub by @tishere24 | Stardance
|
1793084114.7933822
|
1793688914.7933822
|
|
53197
|
renur by @Rokermhr | Stardance
|
Rokermhr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: renur by @Rokermhr | Stardance
|
1792738418.1872365
|
1793343218.1872365
|
|
65452
|
rental car company by @jensel | Stardance
|
jensel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rental car company by @jensel | Stardance
|
1793087502.2259881
|
1793692302.2259881
|
|
54349
|
render-spf by @The-Nice-One | Stardance
|
The-Nice-One
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: render-spf by @The-Nice-One | Stardance
|
1792785134.0872364
|
1793389934.0872364
|
|
30523
|
remove this pls by @java | Stardance
|
java
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: remove this pls by @java | Stardance
|
1792954304.681771
|
1793818304.681771
|
|
30508
|
remove by @Marlin | Stardance
|
Marlin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: remove by @Marlin | Stardance
|
1792893221.6615531
|
1793757221.6615531
|
|
34392
|
remote-controlled ship by @samotar097 | Stardance
|
samotar097
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: remote-controlled ship by @samotar097 | Sta Title: remote-controlled ship by @samotar097 | Stardance...
|
1792561695.6300182
|
1793166495.6300182
|
|
32547
|
remote-controlled drone by @maximehoebanxd | Stard remote-controlled drone by @maximehoebanxd | Stardance...
|
maximehoebanxd
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: remote-controlled drone by @maximehoebanxd Title: remote-controlled drone by @maximehoebanxd | Stardance...
|
1792626449.2140348
|
1793231249.2140348
|
|
65605
|
remote controlled car by @adarsha_x_ghosh | Starda remote controlled car by @adarsha_x_ghosh | Stardance...
|
adarsha_x_ghosh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: remote controlled car by @adarsha_x_ghosh | Title: remote controlled car by @adarsha_x_ghosh | Stardance...
|
1793090852.255217
|
1793695652.255217
|
|
9244
|
remote control sub by @instructerrabbit | Stardanc remote control sub by @instructerrabbit | Stardance...
|
instructerrabbit
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: remote control sub by @instructerrabbit | S Title: remote control sub by @instructerrabbit | Stardance...
|
1792604899.5287948
|
1793209699.5287948
|