|
3198
|
scout by @weeksb | Stardance
|
weeksb
|
0
|
1.58
|
0
|
[]
|
[{"post_id": 549, "ts": "2026- [{"post_id": 549, "ts": "2026-06-02T01:18:04Z", "hours": 1.5814, "text": "I started with this idea for a school project that certain school amenities could be rated on a five star system for use for new students or students who are curious about the state/condition of certain restrooms, water fountains, and vending machines. Today, I implemented the basic form. Then, I needed a way to manage schools certain buildings without overlapping, so I researched how to create a basic hashing function that wouldn’t take up too much system resources (a low compute cost). I needed it to be static too, so it didn’t have to keep rotating, since I was going to store images with these hashes in mind. Then, I implemented a system that could store the schools temporarily since later, I plan to move them to a database that can be edited remotely via an admin panel. That is pretty much all I did today, besides the basic sketching of a review submit form."}]...
|
Title: scout by @weeksb | Stardance
Devlogs:
I st Title: scout by @weeksb | Stardance
Devlogs:
I started with this idea for a school project that certain school amenities could be rated on a five star system for use for new students or students who are curious about the state/condition of certain restrooms, water fountains, and vending machines. Today, I implemented the basic form. Then, I needed a way to manage schools certain buildings without overlapping, so I researched how to create a basic hashing function that wouldn’t take up too much system resources (a low compute cost). I needed it to be static too, so it didn’t have to keep rotating, since I was going to store images with these hashes in mind. Then, I implemented a system that could store the schools temporarily since later, I plan to move them to a database that can be edited remotely via an admin panel. That is pretty much all I did today, besides the basic sketching of a review submit form....
|
1792709449.3606465
|
1793314249.3606465
|
|
67717
|
scrapbook.vihaanvinoth.com by @vertriwayz | Starda scrapbook.vihaanvinoth.com by @vertriwayz | Stardance...
|
vertriwayz
|
0
|
7.45
|
0
|
[]
|
[{"post_id": 77009, "ts": "202 [{"post_id": 77009, "ts": "2026-10-05T10:54:05Z", "hours": 7.4531, "text": "Devlog #1: Building scrapbook This is the first devlog into building this blog which is dedicated to the photos I have taken throughout the years. This is not like the Blog mission but rather a personal blog which I am developing. I am trying to use Prisma and Neon for the database and Next.js for the project right now, but obviously things are to change. It’s also going to feature like a custom Admin CMS which allows me to post along with full authentication services and even an image database to store the photos. Right now i’ve worked on: Front page Adding Database Setting up files/folders Developing the overall plan of the blog site Right now the front page looks really basic and there’s barely any style, but that is to change very soon. Stay tuned in the next few devlogs to look at the future improvements to my blog site"}]...
|
Title: scrapbook.vihaanvinoth.com by @vertriwayz | Title: scrapbook.vihaanvinoth.com by @vertriwayz | Stardance
Devlogs:
Devlog #1: Building scrapbook This is the first devlog into building this blog which is dedicated to the photos I have taken throughout the years. This is not like the Blog mission but rather a personal blog which I am developing. I am trying to use Prisma and Neon for the database and Next.js for the project right now, but obviously things are to change. It’s also going to feature like a custom Admin CMS which allows me to post along with full authentication services and even an image database to store the photos. Right now i’ve worked on: Front page Adding Database Setting up files/folders Developing the overall plan of the blog site Right now the front page looks really basic and there’s barely any style, but that is to change very soon. Stay tuned in the next few devlogs to look at the future improvements to my blog site...
|
1793112855.8131588
|
1793717655.8131588
|
|
50536
|
scrapy by @sammyamd | Stardance
|
sammyamd
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: scrapy by @sammyamd | Stardance
|
1793346832.218771
|
1793951632.218771
|
|
59735
|
scratch game by @juli13 | Stardance
|
juli13
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T10:52:08Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made my first scratch controls", "repo": "https://github.com/fueralles1233-sys/scratch-game", "demo": "https://scratch.mit.edu/projects/1379053351"}]...
|
[{"post_id": 64144, "ts": "202 [{"post_id": 64144, "ts": "2026-09-08T10:48:39Z", "hours": 0.5797, "text": "my scratch game has controls"}]...
|
Title: scratch game by @juli13 | Stardance
Devlog Title: scratch game by @juli13 | Stardance
Devlogs:
my scratch game has controls
Ships:
i made my first scratch controls...
|
1793206219.7860212
|
1793292619.7860212
|
|
3604
|
scratchnet by @euth | Stardance
|
euth
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: scratchnet by @euth | Stardance
|
1792698580.996366
|
1793303380.996366
|
|
55526
|
screen less hand band by @Gooseishere | Stardance
|
Gooseishere
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: screen less hand band by @Gooseishere | Sta Title: screen less hand band by @Gooseishere | Stardance...
|
1793166624.728927
|
1793771424.728927
|
|
70058
|
screen recorder by @Aarjav_3 | Stardance
|
Aarjav_3
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-16T16:55:05Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a very light screen recorder uses around 400mb ram 7% cpu and 0.2%GPU i made it a in jan 2026 the toughest part was to implement a feature in which u can record a specific window i was stuck a lot so i used copilot i hope its satisfacotry ty :)", "repo": "https://github.com/aarjavjain-in/screen-recorder", "demo": "https://drive.google.com/file/d/16EgH0iPuvEWaOY3XpwzCYKGLrS5cI19B/view?usp=sharing"}]...
|
[{"post_id": 80185, "ts": "202 [{"post_id": 80185, "ts": "2026-10-16T16:49:06Z", "hours": 1.2078, "text": "added a feature in which u can record a pirticular window"}]...
|
Title: screen recorder by @Aarjav_3 | Stardance
D Title: screen recorder by @Aarjav_3 | Stardance
Devlogs:
added a feature in which u can record a pirticular window
Ships:
i made a very light screen recorder uses around 400mb ram 7% cpu and 0.2%GPU i made it a in jan 2026 the toughest part was to implement a feature in which u can record a specific window i was stuck a lot so i used copilot i hope its satisfacotry ty :)...
|
1793199002.8744128
|
1793285402.8744128
|
|
32017
|
screening machine by @fabio_hee | Stardance
|
fabio_hee
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: screening machine by @fabio_hee | Stardance
|
1792698582.9521723
|
1793303382.9521723
|
|
24549
|
scretUI by @kan411 | Stardance
|
kan411
|
1
|
8.0
|
21
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T23:06:56Z", "hours": 8.0, "multiplier": 5.0, "payout": 21, "blessing": "neutral", "text": "scretUI is a phone case with built-in 4.2” e-ink display that can display current time, date, to-do list, 7-hour forecast and dynamic landscape. It uses ESP32-S3 to connect to a mobile app via BLE every 5 minutes. Thanks to 1500mAh battery, it can last around one week on a single charge. I think the hardest part was getting BLE to work reliably, but soldering in such a tight space was also pretty hard (especially because I’m not that good at soldering). The whole case adds around 5 mm compared to standard case, and I’m pretty satisfied with it because first iterations added twice as much. Most of this space is occupied by polycarbonate that is protecting the e-ink display so unfortunately I couldn’t shrink it more without losing durability. I managed to accomplish main goals of this project (not getting in the way of main camera and minimum 4 day battery life).", "repo": "https://github.com/kanal411/scretUI", "demo": ""}]...
|
[{"post_id": 16536, "ts": "202 [{"post_id": 16536, "ts": "2026-06-26T21:56:22Z", "hours": 0.3, "text": "Devlog #4 - Fixed few last bugs before shipping project, recorded demo."}, {"post_id": 15895, "ts": "2026-06-25T20:37:42Z", "hours": 2.6392, "text": "Devlog #3 - Today I mainly worked on bug that occured after lask devlog (the phone wasn’t connecting to esp32 after first connection) and changed app language to engilsh so I can publish it on my github."}, {"post_id": 15008, "ts": "2026-06-24T11:58:01Z", "hours": 3.3725, "text": "Devlog #2 – Apart from fixing minor bugs, since the last update I replaced my schedule with a to-do list (because holidays in my country are starting next week). I redesigned the app so I can now add and remove tasks from the to-do list. I also worked on dynamic clouds: depending on the cloud cover, the screen now displays 0–10 clouds, and I made sure they don’t overlap. I replaced hard-coded localization with the phone’s current locale. Lastly, I made it so that after sunset, instead of a sun icon in the weather forecast, a moon icon is displayed."}, {"post_id": 14570, "ts": "2026-06-23T18:55:18Z", "hours": 2.1019, "text": "I started this project before (around 2 weeks ago) I found out about hack club so those are things I made for this project and aren’t logged here: I designed and 3d printed (in tpu 90a) case (i think it is final version) with space for: xiao seed ESP32 s3 that controls whole device 4.2 inch e-ink (white and black) 1500mAh lipo battery (in white petg housing so it has better protection and doesn’t overheat) button to turn on and off the ESP32 voltage divider so I can read battery voltage directly from ESP32 analog pins - PC for e-ink protection Basic firmware that every 5 minutes connect to my phone and display: 7 hour weather forecast (temp and rain probability) current time (+/- 5 minutes) simple logo that is replaced with error code if something goes wrong My schedule current sun position (that is replaced by night sky after sunset) simple cloud that slowly moves throught the sky (place where sun position is displayed) Added dark mode (which turns on after sunset)"}]...
|
Title: scretUI by @kan411 | Stardance
Devlogs:
I Title: scretUI by @kan411 | Stardance
Devlogs:
I started this project before (around 2 weeks ago) I found out about hack club so those are things I made for this project and aren’t logged here: I designed and 3d printed (in tpu 90a) case (i think it is final version) with space for: xiao seed ESP32 s3 that controls whole device 4.2 inch e-ink (white and black) 1500mAh lipo battery (in white petg housing so it has better protection and doesn’t overheat) button to turn on and off the ESP32 voltage divider so I can read battery voltage directly from ESP32 analog pins - PC for e-ink protection Basic firmware that every 5 minutes connect to my phone and display: 7 hour weather forecast (temp and rain probability) current time (+/- 5 minutes) simple logo that is replaced with error code if something goes wrong My schedule current sun position (that is replaced by night sky after sunset) simple cloud that slowly moves throught the sky (place where sun position is displayed) Added dark mode (which turns on after sunset)
Devlog #2 – Apart from fixing minor bugs, since the last update I replaced my schedule with a to-do list (because holidays in my country are starting next week). I redesigned the app so I can now add and remove tasks from the to-do list. I also worked on dynamic clouds: depending on the cloud cover, the screen now displays 0–10 clouds, and I made sure they don’t overlap. I replaced hard-coded localization with the phone’s current locale. Lastly, I made it so that after sunset, instead of a sun icon in the weather forecast, a moon icon is displayed.
Devlog #3 - Today I mainly worked on bug that occured after lask devlog (the phone wasn’t connecting to esp32 after first connection) and changed app language to engilsh so I can publish it on my github.
Devlog #4 - Fixed few last bugs before shipping project, recorded demo.
Ships:
scretUI is a phone case with built-in 4.2” e-ink display that can display current time, date, to-do list, 7-hour forecast and dynamic landscape. It uses ESP32-S3 to connect to a mobile app via BLE every 5 minutes. Thanks to 1500mAh battery, it can last around one week on a single charge. I think the hardest part was getting BLE to work reliably, but soldering in such a tight space was also pretty hard (especially because I’m not that good at soldering). The whole case adds around 5 mm compared to standard case, and I’m pretty satisfied with it because first iterations added twice as much. Most of this space is occupied by polycarbonate that is protecting the e-ink display so unfortunately I couldn’t shrink it more without losing durability. I managed to accomplish main goals of this project (not getting in the way of main camera and minimum 4 day battery life)....
|
1793242475.7568662
|
1793328875.7568662
|
|
61029
|
screw by @chiragrb86 | Stardance
|
chiragrb86
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: screw by @chiragrb86 | Stardance
|
1793037169.4198492
|
1793641969.4198492
|
|
39471
|
scrib by @ttyChud | Stardance
|
ttyChud
|
1
|
13.0
|
86
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T11:48:27Z", "hours": 13.0, "multiplier": 7.43, "payout": 86, "blessing": "neutral", "text": "Scrib is a browser drawing app written in Rust (WASM + WebSocket). Everyone connected to the server draws on one shared, in-memory canvas. so what i have done is wrote the freehand algorithm(excalidraw brush algo) in rust. and i have used websocket so that everyone can use a single canvas and be able to draw together it’s written in rust and it’s very fast", "repo": "https://github.com/Himanshu121865/scrib", "demo": "https://scrib-izfp.onrender.com"}]...
|
[{"post_id": 38793, "ts": "202 [{"post_id": 38793, "ts": "2026-08-01T11:09:28Z", "hours": 5.3339, "text": "ok so finally!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! selection tools works now and i have also changed room based to a single canvas type where everyone who open the website draw on the same canvas and i have also added the ability to control brush tool smoothness stuff took me way to long to be able to do it and i had to use a little bit of ai (I’m not a shamed) there are still too many bugs but im not gonna fix them im so f*cking bored of this project"}, {"post_id": 37564, "ts": "2026-07-30T11:46:53Z", "hours": 3.8228, "text": "finally i have added the ability to select and drag now the user wont have to delete if he want’s to move something this took quite some time data persistence between session im trying to make this serverless but i dont know how to and there are so many problem with the selection tool and i have also put more logic to the rust wasm side"}, {"post_id": 36918, "ts": "2026-07-29T10:00:09Z", "hours": 1.0817, "text": "i have added a minimal websocket so multiple user can draw on a single canvas"}, {"post_id": 36884, "ts": "2026-07-29T08:13:24Z", "hours": 1.3283, "text": "i have made the canvas infinite added some basic shapes like reac, circle, arrow also if grid mode is enable the shape will snape to the grid also make the brush strock little better but it’s not perfect i have also updated the ui"}, {"post_id": 36298, "ts": "2026-07-28T09:50:48Z", "hours": 0.5689, "text": "added erase tool 5 color palate and made the brush not smooth but i have a vision"}, {"post_id": 35625, "ts": "2026-07-27T05:29:19Z", "hours": 0.3778, "text": "i have added a simple html frontend using wasm we can now draw on the web browser"}, {"post_id": 34470, "ts": "2026-07-25T06:17:11Z", "hours": 0.5047, "text": "I’m build an freehand algo in rust the algorithem which excalidraw uses for the smooth brush tool."}]...
|
Title: scrib by @ttyChud | Stardance
Devlogs:
I’m Title: scrib by @ttyChud | Stardance
Devlogs:
I’m build an freehand algo in rust the algorithem which excalidraw uses for the smooth brush tool.
i have added a simple html frontend using wasm we can now draw on the web browser
added erase tool 5 color palate and made the brush not smooth but i have a vision
i have made the canvas infinite added some basic shapes like reac, circle, arrow also if grid mode is enable the shape will snape to the grid also make the brush strock little better but it’s not perfect i have also updated the ui
i have added a minimal websocket so multiple user can draw on a single canvas
finally i have added the ability to select and drag now the user wont have to delete if he want’s to move something this took quite some time data persistence between session im trying to make this serverless but i dont know how to and there are so many problem with the selection tool and i have also put more logic to the rust wasm side
ok so finally!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! selection tools works now and i have also changed room based to a single canvas type where everyone who open the website draw on the same canvas and i have also added the ability to control brush tool smoothness stuff took me way to long to be able to do it and i had to use a little bit of ai (I’m not a shamed) there are still too many bugs but im not gonna fix them im so f*cking bored of this project
Ships:
Scrib is a browser drawing app written in Rust (WASM + WebSocket). Everyone connected to the server draws on one shared, in-memory canvas. so what i have done is wrote the freehand algorithm(excalidraw brush algo) in rust. and i have used websocket so that everyone can use a single canvas and be able to draw together it’s written in rust and it’s very fast...
|
1792878535.106922
|
1793742535.106922
|
|
45880
|
scriblinlife by @somebodyouknow | Stardance
|
somebodyouknow
|
2
|
15.92
|
70
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T07:24:08Z", "hours": 2.0, "multiplier": 3.57, "payout": 6, "blessing": "neutral", "text": "I completed scriblinlife, once and for all. I added a few features and fixed the cursor issue by shifting it to html. I also broke my code by trying to make the canvas responsive, actually I wasted one hour trying to fix it. I also fixed the sound for my scriblinlife game. Check out the other devlogs tooo.", "repo": "https://github.com/somebodyouknow66/scriblinlife", "demo": "https://scriblinlife.somebodyouknow.com/"}, {"ship_num": 2, "ts": "2026-08-16T10:20:35Z", "hours": 8.0, "multiplier": 8.18, "payout": 64, "blessing": "neutral", "text": "I made a game. Not just any game, a game that lets you explore messages in a more meaningful way in which you scribble away the coating from a message and once it is visible you can move forward to the next message. The code has been simplified so anyone can understand it, anyhow I just want you to leave your message series on my website, create a PR and then make an array. All the instructions are in the README.md. I know the scribbling sound is not actually very satisfying but I didn’t want to do the math required. I will set it in v2. The game has been a roller-coaster and will continue to be updated with other people’s messages.", "repo": "https://github.com/somebodyouknow66/scriblinlife", "demo": "https://scriblinlife.somebodyouknow.com/"}]...
|
[{"post_id": 69289, "ts": "202 [{"post_id": 69289, "ts": "2026-09-16T19:03:07Z", "hours": 0.5594, "text": "wrote the best comeback readme ever!! i really hope you enjoy reading this"}, {"post_id": 69033, "ts": "2026-09-16T07:54:50Z", "hours": 0.5486, "text": "my final devlog (i guess) after doing all the tiny fixes, such as the next button background or the speed of the stars and a lot of other small things. i have done a complete revamp on the scriblinlife project, and i hope you enjoy it. LINK: scriblinlife"}, {"post_id": 66606, "ts": "2026-09-12T13:34:14Z", "hours": 2.6703, "text": "I made something great, I made my comeback. I recently shipped and I got extremely low rating which was kinda depressing. I didn’t let that stop me, the only thing that was going on my mind was to make a perfect comeback. I would say the feedback part was very great as it really helped me understand what i did wrong. The changes: Two themes (depressing & chill) Stars animation for chill mode Chill music Button to change mode and much more. I would like you to try scriblinlife!!"}, {"post_id": 62857, "ts": "2026-09-06T11:57:47Z", "hours": 1.6386, "text": "I made the tough decision and it turned out so well… I did almost everything specified in the previous devlog. I have to say that this has got really fun to play. Please add your messages (read the readme)"}, {"post_id": 62691, "ts": "2026-09-06T05:34:09Z", "hours": 0.5017, "text": "I felt my heart get heavier as I saw the bitter truth, I saw how heavy the decision I was about to make was. I knew it was going to be difficult but I had to do what was right. Let’s not forget that the most important decisions are the difficult ones. sigh Let me give a brief overview of my pain. I stripped almost all of the main features from the game, bcz I thought of taking this game to another direction. Steer it away from all the mess I had made… I have removed: The scribbling feature itself The coat layer The moon The fireflies and a few more things. What I plan to do: A splash screen that asks you the theme: sad happy aurora and it has a guide and start button. You get taken to the page, but now instead of having a full coat layer. We will have a thin foil coat layer that will sit above our text and then people can erase it to reveal the message. I will still encourage people to add their messages through the repo bcz I really want to increase the github contributors on the repo. It looks badass, believe me."}, {"post_id": 51518, "ts": "2026-08-21T08:54:31Z", "hours": 0.6711, "text": "i finally stopped using my css shortcut to add my cursor. I added a html based cursor, and it is pretty simple and it just renders the image while i added the css to hide the default cursor. after that I had to also fix the rendering it on both the splash screen and the canvas. i did that by adding operators and on the top we had our cursor. this actually took a while bcz there were a lot of bugs spawning from nowhere bcz of this stupid cursor"}, {"post_id": 51293, "ts": "2026-08-20T21:01:18Z", "hours": 0.9347, "text": "well, actually i was trying to make the canvas more responsive. and i messed everything up. i created a system that would automatically downscale the canvas size according to the screen size. i actually just tried to divide the availble width - the padding with the default width. IT WORKED. not exactly the way, i wanted, but it looks way better. Sounds like stupid rocket science, but it was a failure. Now I am going to clean up my code. also i am debugging on why my custom cursor won’t show on the live website but will show on the"}, {"post_id": 47964, "ts": "2026-08-16T07:36:49Z", "hours": 0.8028, "text": "Woooohooo! Almost done with v1 of scribblinlife… So I just set a timeout so users can’ scribble endlessly, also added a cool eraser cursor to the game. Fixed the dropdown array errors, and also fixed the go blank errors ( once the position of the mouse was set to null the entire would go blank/crash ). TRY IT NOW! Please read the readme and plz plz add your own messages github repo I also reset my laptop and now nothing looks the way it used too 😥"}, {"post_id": 46724, "ts": "2026-08-14T05:33:23Z", "hours": 0.8089, "text": "i just wrote the readme, just fyi, i don’t write much."}, {"post_id": 45618, "ts": "2026-08-12T07:07:55Z", "hours": 0.7028, "text": "I just styled the dropdown functionality and got everything to look neat and nice."}, {"post_id": 45572, "ts": "2026-08-12T04:55:08Z", "hours": 0.4314, "text": "I just completed the dropdown functionality, which means we can have more scribbls… YAY! So what I mean is now you could go to my repo and add your own scribbl and then it would show up in the dropdown and anybody could select and play it. Also writing a readme is really painful."}, {"post_id": 44136, "ts": "2026-08-09T18:15:44Z", "hours": 0.5914, "text": "tada, i was guessing this was going to be my final devlog, I added the splash screen. I know the game already feels quite meaningful. I am always looking forward at people actually connecting with my builds, there is no better way for people to connect with my game, then allowing them to add their own scribbl (messages). I am now creating a dropdown and people can send me a list of messages they want to add on the website. If someone clicks on their scribbl in the dropdown, it loads and VOILA! The player can now read your messages. Should I add a google form or what? I mean for collecting peoples responses!"}, {"post_id": 44022, "ts": "2026-08-09T15:04:35Z", "hours": 0.4156, "text": "I set up fireflies woohoo. More personality for the game. I also resized the canvas so the fireflies would have more space to fly. I used a little bit of AI to help me with the calculations and math."}, {"post_id": 43961, "ts": "2026-08-09T12:41:24Z", "hours": 0.7517, "text": "I added a cool moon to the game. The moon is there bcz the platform was pretty blank and I wanted to give it more life. I also set this up with Konva. I added a gradient and glow animation to stop it from looking like a stupid circle in the corner. I think it gives personality to the game, let me know your thoughts."}, {"post_id": 43886, "ts": "2026-08-09T10:19:08Z", "hours": 0.9669, "text": "Set up the music and scribbling sound. I used the Tone.js library to make the scribbling sound. I used the sound “white” + the filter “highpass”. After adjusting the values and sounds for a while, I got something pretty satisfying. I found a sound on incompetech.com in the classical category called Relent. I set up Tone.js to play the sound too but bcz I use IDM alot. IDM was interfering with my application which caused me to switch to the plain audio tag. I also learnt: You can’t play audios without a user gesture Instructions: Keep scribblin’ until you see a message, once you have scribbled a message you will be allowed to move forward with an arrow at the right bottom corner. Try it out at scriblinlife.vercel.app."}, {"post_id": 43774, "ts": "2026-08-09T06:23:35Z", "hours": 2.3208, "text": "I recently worked on a game for the jame gam, called Diaper Baby. So now I am making another more meaningful game, you scribble the canvas to reveal messages and then once you have revealed it you can move on. This is the MVP, so you will probably find workarounds in the game. How the game works: I used React-konva (a library that lets you set a canvas). I set two layers, one was of text and one was of the coat layer. The coat layer stays above the text and you have the eraser tool set up, and when you erase the coat layer it reveals the message. Once the message is partially or fully revealed, the arrow is shown."}]...
|
Title: scriblinlife by @somebodyouknow | Stardance Title: scriblinlife by @somebodyouknow | Stardance
Devlogs:
I recently worked on a game for the jame gam, called Diaper Baby. So now I am making another more meaningful game, you scribble the canvas to reveal messages and then once you have revealed it you can move on. This is the MVP, so you will probably find workarounds in the game. How the game works: I used React-konva (a library that lets you set a canvas). I set two layers, one was of text and one was of the coat layer. The coat layer stays above the text and you have the eraser tool set up, and when you erase the coat layer it reveals the message. Once the message is partially or fully revealed, the arrow is shown.
Set up the music and scribbling sound. I used the Tone.js library to make the scribbling sound. I used the sound “white” + the filter “highpass”. After adjusting the values and sounds for a while, I got something pretty satisfying. I found a sound on incompetech.com in the classical category called Relent. I set up Tone.js to play the sound too but bcz I use IDM alot. IDM was interfering with my application which caused me to switch to the plain audio tag. I also learnt: You can’t play audios without a user gesture Instructions: Keep scribblin’ until you see a message, once you have scribbled a message you will be allowed to move forward with an arrow at the right bottom corner. Try it out at scriblinlife.vercel.app.
I added a cool moon to the game. The moon is there bcz the platform was pretty blank and I wanted to give it more life. I also set this up with Konva. I added a gradient and glow animation to stop it from looking like a stupid circle in the corner. I think it gives personality to the game, let me know your thoughts.
I set up fireflies woohoo. More personality for the game. I also resized the canvas so the fireflies would have more space to fly. I used a little bit of AI to help me with the calculations and math.
tada, i was guessing this was going to be my final devlog, I added the splash screen. I know the game already feels quite meaningful. I am always looking forward at people actually connecting with my builds, there is no better way for people to connect with my game, then allowing them to add their own scribbl (messages). I am now creating a dropdown and people can send me a list of messages they want to add on the website. If someone clicks on their scribbl in the dropdown, it loads and VOILA! The player can now read your messages. Should I add a google form or what? I mean for collecting peoples responses!
I just completed the dropdown functionality, which means we can have more scribbls… YAY! So what I mean is now you could go to my repo and add your own scribbl and then it would show up in the dropdown and anybody could select and play it. Also writing a readme is really painful.
I just styled the dropdown functionality and got everything to look neat and nice.
i just wrote the readme, just fyi, i don’t write much.
Woooohooo! Almost done with v1 of scribblinlife… So I just set a timeout so users can’ scribble endlessly, also added a cool eraser cursor to the game. Fixed the dropdown array errors, and also fixed the go blank errors ( once the position of the mouse was set to null the entire would go blank/crash ). TRY IT NOW! Please read the readme and plz plz add your own messages github repo I also reset my laptop and now nothing looks the way it used too 😥
well, actually i was trying to make the canvas more responsive. and i messed everything up. i created a system that would automatically downscale the canvas size according to the screen size. i actually just tried to divide the availble width - the padding with the default width. IT WORKED. not exactly the way, i wanted, but it looks way better. Sounds like stupid rocket science, but it was a failure. Now I am going to clean up my code. also i am debugging on why my custom cursor won’t show on the live website but will show on the
i finally stopped using my css shortcut to add my cursor. I added a html based cursor, and it is pretty simple and it just renders the image while i added the css to hide the default cursor. after that I had to also fix the rendering it on both the splash screen and the canvas. i did that by adding operators and on the top we had our cursor. this actually took a while bcz there were a lot of bugs spawning from nowhere bcz of this stupid cursor
I felt my heart get heavier as I saw the bitter truth, I saw how heavy the decision I was about to make was. I knew it was going to be difficult but I had to do what was right. Let’s not forget that the most important decisions are the difficult ones. sigh Let me give a brief overview of my pain. I stripped almost all of the main features from the game, bcz I thought of taking this game to another direction. Steer it away from all the mess I had made… I have removed: The scribbling feature itself The coat layer The moon The fireflies and a few more things. What I plan to do: A splash screen that asks you the theme: sad happy aurora and it has a guide and start button. You get taken to the page, but now instead of having a full coat layer. We will have a thin foil coat layer that will sit above our text and then people can erase it to reveal the message. I will still encourage people to add their messages through the repo bcz I really want to increase the github contributors on the repo. It looks badass, believe me.
I made the tough decision and it turned out so well… I did almost everything specified in the previous devlog. I have to say that this has got really fun to play. Please add your messages (read the readme)
I made something great, I made my comeback. I recently shipped and I got extremely low rating which was kinda depressing. I didn’t let that stop me, the only thing that was going on my mind was to make a perfect comeback. I would say the feedback part was very great as it really helped me understand what i did wrong. The changes: Two themes (depressing & chill) Stars animation for chill mode Chill music Button to change mode and much more. I would like you to try scriblinlife!!
my final devlog (i guess) after doing all the tiny fixes, such as the next button background or the speed of the stars and a lot of other small things. i have done a complete revamp on the scriblinlife project, and i hope you enjoy it. LINK: scriblinlife
wrote the best comeback readme ever!! i really hope you enjoy reading this
Ships:
I made a game. Not just any game, a game that lets you explore messages in a more meaningful way in which you scribble away the coating from a message and once it is visible you can move forward to the next message. The code has been simplified so anyone can understand it, anyhow I just want you to leave your message series on my website, create a PR and then make an array. All the instructions are in the README.md. I know the scribbling sound is not actually very satisfying but I didn’t want to do the math required. I will set it in v2. The game has been a roller-coaster and will continue to be updated with other people’s messages.
I completed scriblinlife, once and for all. I added a few features and fixed the cursor issue by shifting it to html. I also broke my code by trying to make the canvas responsive, actually I wasted one hour trying to fix it. I also fixed the sound for my scriblinlife game. Check out the other devlogs tooo....
|
1793249512.5225677
|
1793335912.5225677
|
|
15703
|
script compilation by @epiclyepic | Stardance
|
epiclyepic
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: script compilation by @epiclyepic | Stardan Title: script compilation by @epiclyepic | Stardance...
|
1792641208.110773
|
1793246008.110773
|
|
53137
|
scroll-stopper by @Nitheesh_Badri | Stardance
|
Nitheesh_Badri
|
0
|
2.13
|
0
|
[]
|
[{"post_id": 54920, "ts": "202 [{"post_id": 54920, "ts": "2026-08-26T04:31:23Z", "hours": 0.6661, "text": "Devlog-2 The puppy was counting every single play and pause as a shorts watch instance start timer. I debugged the code to make sure that every single new instance of opening a session is what starts the countdown timer. I also tried to make the menu more beautiful and create a tray popup that allows me to modify the settings."}, {"post_id": 54037, "ts": "2026-08-24T19:50:43Z", "hours": 1.46, "text": "Devlog-1 : The first run ! So I am trying to create a puppy that sits on top of your OS and then can act as a Chrome extension and stop all doomscrolling session. For version 1 the idea is simple. If the tab or desktop app is open , the puppy detects that you are watching reels or youtube shorts and it goes and closes your window for you automatically if the timelimit is exceeded. For future versions we can have a cooldown time before the app or link is allowed to be opened again or a cooldown time before the app can be closed. Anyway I’ve completed the basic code and the dog appears on the screen. It’s late in the night , I’ll do more testing and check to see if the functionality works more extensively tomorrow. For now the dog is visible in the right corner of the screen - Success ! ( for now ) lol :)."}]...
|
Title: scroll-stopper by @Nitheesh_Badri | Stardan Title: scroll-stopper by @Nitheesh_Badri | Stardance
Devlogs:
Devlog-1 : The first run ! So I am trying to create a puppy that sits on top of your OS and then can act as a Chrome extension and stop all doomscrolling session. For version 1 the idea is simple. If the tab or desktop app is open , the puppy detects that you are watching reels or youtube shorts and it goes and closes your window for you automatically if the timelimit is exceeded. For future versions we can have a cooldown time before the app or link is allowed to be opened again or a cooldown time before the app can be closed. Anyway I’ve completed the basic code and the dog appears on the screen. It’s late in the night , I’ll do more testing and check to see if the functionality works more extensively tomorrow. For now the dog is visible in the right corner of the screen - Success ! ( for now ) lol :).
Devlog-2 The puppy was counting every single play and pause as a shorts watch instance start timer. I debugged the code to make sure that every single new instance of opening a session is what starts the countdown timer. I also tried to make the menu more beautiful and create a tray popup that allows me to modify the settings....
|
1792738129.6580267
|
1793342929.6580267
|
|
38589
|
scrollMeters by @buh | Stardance
|
buh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: scrollMeters by @buh | Stardance
|
1792914872.7120311
|
1793778872.7120311
|
|
19575
|
scrolls by @sivaprakashkrp | Stardance
|
sivaprakashkrp
|
0
|
1.3
|
0
|
[]
|
[{"post_id": 12405, "ts": "202 [{"post_id": 12405, "ts": "2026-06-20T07:35:14Z", "hours": 1.2981, "text": "Learnt to write my first server with Axum and Tokio crates in Rust. Configured the project folders and now ready to start the project. -[x] Project Structure Configuration -[x] Writing my first server in Rust with Axum and Tokio -[half x ] Creating plan for the application (kinda done)"}]...
|
Title: scrolls by @sivaprakashkrp | Stardance
Dev Title: scrolls by @sivaprakashkrp | Stardance
Devlogs:
Learnt to write my first server with Axum and Tokio crates in Rust. Configured the project folders and now ready to start the project. -[x] Project Structure Configuration -[x] Writing my first server in Rust with Axum and Tokio -[half x ] Creating plan for the application (kinda done)...
|
1793307474.4083624
|
1793912274.4083624
|
|
14661
|
scs by @truongnx_21it | Stardance
|
truongnx_21it
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: scs by @truongnx_21it | Stardance
|
1792745354.6341348
|
1793350154.6341348
|
|
52638
|
scubacat by @gowripaliwal | Stardance
|
gowripaliwal
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: scubacat by @gowripaliwal | Stardance
|
1792716494.345379
|
1793321294.345379
|
|
31206
|
sd by @pefafi2198 | Stardance
|
pefafi2198
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sd by @pefafi2198 | Stardance
|
1792684222.3737345
|
1793289022.3737345
|
|
1190
|
sdf by @souptiksamanta | Stardance
|
souptiksamanta
|
0
|
0.35
|
0
|
[]
|
[{"post_id": 61565, "ts": "202 [{"post_id": 61565, "ts": "2026-09-04T15:23:19Z", "hours": 0.3522, "text": "prnted the mount and it woks well here is a picture attached"}]...
|
Title: sdf by @souptiksamanta | Stardance
Devlogs Title: sdf by @souptiksamanta | Stardance
Devlogs:
prnted the mount and it woks well here is a picture attached...
|
1792694916.782224
|
1793299716.782224
|
|
2540
|
sdfdf by @Unknown | Stardance
|
Unknown
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sdfdf by @Unknown | Stardance
|
1793217314.093221
|
1793822114.093221
|
|
55737
|
sdlkfsdklfjklsadf by @keyaan | Stardance
|
keyaan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sdlkfsdklfjklsadf by @keyaan | Stardance
|
1793346601.6705325
|
1793951401.6705325
|
|
34300
|
sdxl-training by @yearcakes | Stardance
|
yearcakes
|
1
|
48.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-23T10:01:56Z", "hours": 48.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Please note that this project has relatively high resource requirements. The following configuration is recommended as the minimum supported environment: OS: Ubuntu 24.04 LTS RAM: 64 GB GPU VRAM: At least 12 GB NVMe SSD (recommended for latent/text-encoder caching) Running below these requirements may result in insufficient memory, significantly reduced performance, or inability to complete training. Thank you for following the development of this project.", "repo": "https://github.com/zhaozhuoran/sdxl-training", "demo": "https://github.com/zhaozhuoran/sdxl-training/blob/main/DEMO.md"}]...
|
[{"post_id": 33399, "ts": "202 [{"post_id": 33399, "ts": "2026-07-23T09:57:12Z", "hours": 9.5828, "text": "Changes This update introduces benchmarking and metadata-related features, along with improvements to the trainer engine and documentation. Detailed changes: Add benchmark.py for training performance evaluation Add test_benchmark.py and test_metadata_features.py to improve test coverage Enhance the trainer engine with advanced evaluation capabilities Improve LoRA method exporting with detailed example configurations Update documentation with comprehensive usage and configuration examples Status With this update completed, the training framework is now ready for official use. For detailed usage instructions and examples, please refer to: Demo Guide: DEMO.md Usage Guide: USAGE.md Minimum Hardware Requirements Please note that this project has relatively high resource requirements. The following configuration is recommended as the minimum supported environment: OS: Ubuntu 24.04 LTS RAM: 64 GB GPU VRAM: At least 12 GB NVMe SSD (recommended for latent/text-encoder caching) Running below these requirements may result in insufficient memory, significantly reduced performance, or inability to complete training. Thank you for following the development of this project. Commit"}, {"post_id": 32750, "ts": "2026-07-22T03:06:06Z", "hours": 6.7319, "text": "Changes Made Checkpoint System: Added thread-safe locking for checkpoint writes to prevent corruption Required optimizer_state_dict validation for checkpoint integrity Stopped background writers in test cleanups to prevent resource leaks Added cache_vae_dtype config field with fp32/bf16 tradeoff options Dataset & Caching: Migrated dataset caching from pickle to safetensors format for faster/safer storage Added cache_vae_dtype VAE precision control (fp32 safe, bf16 faster/lower VRAM) Added seed parameter for reproducible dataset shuffling and deterministic sampling Performance Optimizations: Added TF32 matmul and cuDNN benchmark for CUDA hardware Added torch.compile support for UNet with dynamic shapes Enabled pin_memory on CUDA for faster data transfer Added VRAM monitoring throughout training phases Reset peak memory stats per epoch for accurate telemetry Hardware Guardrails: Added GPU-first guard verification test (skips on CUDA-enabled machines) Added mixed_precision=‘no’ VRAM usage warnings for <16GB GPUs Better handling of CPU RNG states after map_location=“cuda” loads GPU memory cleanup after model offloading Testing: Fix test_checkpoint.py to shutdown background writers Add GPU-first guard test that requires non-CUDA environment Commit"}, {"post_id": 31785, "ts": "2026-07-20T13:39:09Z", "hours": 5.0014, "text": "feat: add gradient accumulation and offload checkpoint writes to a background worker Accumulate gradients across micro-steps: zero grad only at window start, scale loss by acc_steps, and step optimizer/scheduler at window end. Move snapshot serialization to a background thread so disk I/O and the “latest” copy no longer stall training; recovery checkpoints stay synchronous for crash-durable resume. Clone state to CPU (_to_cpu) before enqueueing to avoid GPU OOM and in-place corruption by later training updates. Treat rolling recovery checkpoints as a minimal resume set (LoRA+RNG only); full snapshots still store optimizer/scheduler/scaler state. Resume from a rolling checkpoint rebuilds optimizer momentum and LR schedule from scratch. Make CaptionProcessor RNG thread-safe with a lock for concurrent prefetch. Add flush()/shutdown() for deterministic test state and clean process exit. Commit"}, {"post_id": 31225, "ts": "2026-07-19T13:28:56Z", "hours": 1.0556, "text": "Two small polish passes today! 📜 Quieter training logs — our console used to shout a full stats line every single step (so noisy 😵). Now it whispers just once every 1,000 steps. Don’t worry though — the little tqdm progress bar still wiggles along in real time, so you always know we’re alive and training! 🐣 🏷️ LoRA name tags — when we export a LoRA, we now tuck proper kohya-standard metadata into the safetensors header. That means sd-webui, ComfyUI, and friends finally recognize our SDXL LoRA and scale it correctly instead of squinting confused. We even peek at a lora_down weight to auto-detect the rank~ 🔍 Small changes, cozy results! Commit"}, {"post_id": 30153, "ts": "2026-07-17T14:29:04Z", "hours": 1.9372, "text": "fixed a sneaky little bug: SDXL micro-conditioning was using the resized image size and crop coords, which was a bit off~ now it happily uses the TRUE original size and original-image-space crop offsets, matching the kohya / diffusers convention, so the model finally understands each image’s real backstory also, caption augmentation used the global random, so it got all mixed up on resume (´;ω;`) gave it its own little seeded RNG baby — its state is saved with the checkpoint and restored exactly, so training picks up right where it left off, no getting lost. collate got a tiny shield too: if a batch mixes cached/uncached samples, it now complains LOUDLY instead of throwing a cryptic KeyError Commit"}, {"post_id": 29989, "ts": "2026-07-17T06:40:32Z", "hours": 2.6072, "text": "Hi~ today the trainer went on a little diet! The VAE and Text Encoders were freeloaders. Once everything is cached, they just sit on the GPU sunbathing and eating ~2GB of VRAM for no reason. So now we politely walk them over to the CPU couch before training starts, and only invite them back if we actually need them. xformers joins the party. The UNet now uses memory-efficient attention when it’s installed, and quietly falls back to plain SDPA if it isn’t — no drama, no crashes. The caching progress bar finally tells the truth. Before, it counted already-cached samples as “work” and lied about the ETA. Now we pre-scan everything first, so the bar only moves for real encoding. Honest bar is best bar. Result: less VRAM, faster start, happier GPU. Nap successful. Commit"}, {"post_id": 29898, "ts": "2026-07-17T02:07:55Z", "hours": 2.3372, "text": "Gave precaching a little diet today! Added a VAE-slicing toggle (off by default = faster), and now we hand VRAM back to the GPU after every batch (no more sneaky CUDA hoarding~). Single-file checkpoints now only carry the UNet home instead of lugging the whole pipeline. Shoved caption augmentation into the prefetch thread, and the progress bar got smarter — it counts only real encodes, not the lazy “already-cached” ones. The GPU is having an easy day, meow~ Commit"}, {"post_id": 29372, "ts": "2026-07-16T08:49:48Z", "hours": 3.0336, "text": "Two little wheels rolled into the trainer today: 🎯 Aspect-ratio bucketing: no more squishing every image into a square! Each pic now hops into the bucket whose ratio fits it best, gets a gentle cover-resize + center-crop, and BucketBatchSampler keeps same-bucket pals together so batches stack nice and tidy. 🏷️ Cute caption magic: Kohya-style tag shuffling, keep_tokens to pin the first few tags, and playful tag / whole-caption dropout — data augmentation now feels like sprinkling sugar 🍬. Also fixed a sneaky SDXL detail: we now record each image’s real original_size and crop_ltrb and feed them into add_time_ids, instead of pretending everything is a 1024² square. The cache grew up too — one combined cache_{hash}.pt carrying latents + text-encoder outputs + metadata, always saved to disk so reruns load in a blink, with shape checks that auto-recompute if you resize. And the UNet now takes a nap 💤 until caching is done, freeing VRAM for the little GPUs that could. Commit"}, {"post_id": 29322, "ts": "2026-07-16T05:27:06Z", "hours": 3.7753, "text": "✨ Precaching got a turbo boost! 🚀 Hi hi~ today the caching step stopped being such a lazy little snail! 🐌➡️🐇 Before, we loaded one image, encoded it, saved it… one… by… one… zzz 😴 The GPU was basically napping while the disk did all the reading. Now we have a squad of worker threads (cache_workers) fetching images in parallel while the GPU chomps through them in batches (cache_batch_size). I/O and compute finally hold hands and work together! 🤝 Bonus: a cute little progress log tells you img/s and ETA, so you know exactly when snack time ends. 🍪⏱️ Also added a safety hug for resumes! If you try to resume a checkpoint with a different config, the trainer now gently stops and asks “are you suuure? type ‘yes’~” 🥺 No more silently mixing old weights with new settings and crying later. In non-interactive mode it just aborts to keep you safe. 💖 Commit"}, {"post_id": 28794, "ts": "2026-07-15T09:13:03Z", "hours": 1.7844, "text": "Added cute little tqdm progress bars to the caching & training loops so we can watch them go brrr~ Commit"}, {"post_id": 28764, "ts": "2026-07-15T07:23:33Z", "hours": 2.6842, "text": "Two handy little things landed in the trainer this time~ 🧊 Caching : VAE latents and text-encoder outputs can now be pre-computed and stored ahead of time! Keep them in RAM or on disk. No more recomputing every step — less VRAM, faster training, yay~ 🎯 UNet-only training : A new train_text_encoder switch (off by default). When off, only the UNet gets LoRA and the text encoders get to rest, so training stays light and breezy! 📝 Also refreshed the config example and added plenty of tests so nothing breaks ✅ Commit"}, {"post_id": 28715, "ts": "2026-07-15T04:16:31Z", "hours": 0.9603, "text": "Single-file SDXL checkpoints are now supported! Commit"}, {"post_id": 28696, "ts": "2026-07-15T03:15:43Z", "hours": 3.885, "text": "Initial implementation of the SDXL Training Toolkit! This is a very early and minimal version. The core training pipeline is now in place, but features like aspect ratio bucketing, VAE caching, and other optimizations are still on the way. Commit"}, {"post_id": 28222, "ts": "2026-07-14T11:20:39Z", "hours": 2.38, "text": "I just realized how complex it is to build an SDXL training pipeline from scratch… It might be a long while before the first version is ready to ship qwq"}]...
|
Title: sdxl-training by @yearcakes | Stardance
De Title: sdxl-training by @yearcakes | Stardance
Devlogs:
I just realized how complex it is to build an SDXL training pipeline from scratch… It might be a long while before the first version is ready to ship qwq
Initial implementation of the SDXL Training Toolkit! This is a very early and minimal version. The core training pipeline is now in place, but features like aspect ratio bucketing, VAE caching, and other optimizations are still on the way. Commit
Single-file SDXL checkpoints are now supported! Commit
Two handy little things landed in the trainer this time~ 🧊 Caching : VAE latents and text-encoder outputs can now be pre-computed and stored ahead of time! Keep them in RAM or on disk. No more recomputing every step — less VRAM, faster training, yay~ 🎯 UNet-only training : A new train_text_encoder switch (off by default). When off, only the UNet gets LoRA and the text encoders get to rest, so training stays light and breezy! 📝 Also refreshed the config example and added plenty of tests so nothing breaks ✅ Commit
Added cute little tqdm progress bars to the caching & training loops so we can watch them go brrr~ Commit
✨ Precaching got a turbo boost! 🚀 Hi hi~ today the caching step stopped being such a lazy little snail! 🐌➡️🐇 Before, we loaded one image, encoded it, saved it… one… by… one… zzz 😴 The GPU was basically napping while the disk did all the reading. Now we have a squad of worker threads (cache_workers) fetching images in parallel while the GPU chomps through them in batches (cache_batch_size). I/O and compute finally hold hands and work together! 🤝 Bonus: a cute little progress log tells you img/s and ETA, so you know exactly when snack time ends. 🍪⏱️ Also added a safety hug for resumes! If you try to resume a checkpoint with a different config, the trainer now gently stops and asks “are you suuure? type ‘yes’~” 🥺 No more silently mixing old weights with new settings and crying later. In non-interactive mode it just aborts to keep you safe. 💖 Commit
Two little wheels rolled into the trainer today: 🎯 Aspect-ratio bucketing: no more squishing every image into a square! Each pic now hops into the bucket whose ratio fits it best, gets a gentle cover-resize + center-crop, and BucketBatchSampler keeps same-bucket pals together so batches stack nice and tidy. 🏷️ Cute caption magic: Kohya-style tag shuffling, keep_tokens to pin the first few tags, and playful tag / whole-caption dropout — data augmentation now feels like sprinkling sugar 🍬. Also fixed a sneaky SDXL detail: we now record each image’s real original_size and crop_ltrb and feed them into add_time_ids, instead of pretending everything is a 1024² square. The cache grew up too — one combined cache_{hash}.pt carrying latents + text-encoder outputs + metadata, always saved to disk so reruns load in a blink, with shape checks that auto-recompute if you resize. And the UNet now takes a nap 💤 until caching is done, freeing VRAM for the little GPUs that could. Commit
Gave precaching a little diet today! Added a VAE-slicing toggle (off by default = faster), and now we hand VRAM back to the GPU after every batch (no more sneaky CUDA hoarding~). Single-file checkpoints now only carry the UNet home instead of lugging the whole pipeline. Shoved caption augmentation into the prefetch thread, and the progress bar got smarter — it counts only real encodes, not the lazy “already-cached” ones. The GPU is having an easy day, meow~ Commit
Hi~ today the trainer went on a little diet! The VAE and Text Encoders were freeloaders. Once everything is cached, they just sit on the GPU sunbathing and eating ~2GB of VRAM for no reason. So now we politely walk them over to the CPU couch before training starts, and only invite them back if we actually need them. xformers joins the party. The UNet now uses memory-efficient attention when it’s installed, and quietly falls back to plain SDPA if it isn’t — no drama, no crashes. The caching progress bar finally tells the truth. Before, it counted already-cached samples as “work” and lied about the ETA. Now we pre-scan everything first, so the bar only moves for real encoding. Honest bar is best bar. Result: less VRAM, faster start, happier GPU. Nap successful. Commit
fixed a sneaky little bug: SDXL micro-conditioning was using the resized image size and crop coords, which was a bit off~ now it happily uses the TRUE original size and original-image-space crop offsets, matching the kohya / diffusers convention, so the model finally understands each image’s real backstory also, caption augmentation used the global random, so it got all mixed up on resume (´;ω;`) gave it its own little seeded RNG baby — its state is saved with the checkpoint and restored exactly, so training picks up right where it left off, no getting lost. collate got a tiny shield too: if a batch mixes cached/uncached samples, it now complains LOUDLY instead of throwing a cryptic KeyError Commit
Two small polish passes today! 📜 Quieter training logs — our console used to shout a full stats line every single step (so noisy 😵). Now it whispers just once every 1,000 steps. Don’t worry though — the little tqdm progress bar still wiggles along in real time, so you always know we’re alive and training! 🐣 🏷️ LoRA name tags — when we export a LoRA, we now tuck proper kohya-standard metadata into the safetensors header. That means sd-webui, ComfyUI, and friends finally recognize our SDXL LoRA and scale it correctly instead of squinting confused. We even peek at a lora_down weight to auto-detect the rank~ 🔍 Small changes, cozy results! Commit
feat: add gradient accumulation and offload checkpoint writes to a background worker Accumulate gradients across micro-steps: zero grad only at window start, scale loss by acc_steps, and step optimizer/scheduler at window end. Move snapshot serialization to a background thread so disk I/O and the “latest” copy no longer stall training; recovery checkpoints stay synchronous for crash-durable resume. Clone state to CPU (_to_cpu) before enqueueing to avoid GPU OOM and in-place corruption by later training updates. Treat rolling recovery checkpoints as a minimal resume set (LoRA+RNG only); full snapshots still store optimizer/scheduler/scaler state. Resume from a rolling checkpoint rebuilds optimizer momentum and LR schedule from scratch. Make CaptionProcessor RNG thread-safe with a lock for concurrent prefetch. Add flush()/shutdown() for deterministic test state and clean process exit. Commit
Changes Made Checkpoint System: Added thread-safe locking for checkpoint writes to prevent corruption Required optimizer_state_dict validation for checkpoint integrity Stopped background writers in test cleanups to prevent resource leaks Added cache_vae_dtype config field with fp32/bf16 tradeoff options Dataset & Caching: Migrated dataset caching from pickle to safetensors format for faster/safer storage Added cache_vae_dtype VAE precision control (fp32 safe, bf16 faster/lower VRAM) Added seed parameter for reproducible dataset shuffling and deterministic sampling Performance Optimizations: Added TF32 matmul and cuDNN benchmark for CUDA hardware Added torch.compile support for UNet with dynamic shapes Enabled pin_memory on CUDA for faster data transfer Added VRAM monitoring throughout training phases Reset peak memory stats per epoch for accurate telemetry Hardware Guardrails: Added GPU-first guard verification test (skips on CUDA-enabled machines) Added mixed_precision=‘no’ VRAM usage warnings for <16GB GPUs Better handling of CPU RNG states after map_location=“cuda” loads GPU memory cleanup after model offloading Testing: Fix test_checkpoint.py to shutdown background writers Add GPU-first guard test that requires non-CUDA environment Commit
Changes This update introduces benchmarking and metadata-related features, along with improvements to the trainer engine and documentation. Detailed changes: Add benchmark.py for training performance evaluation Add test_benchmark.py and test_metadata_features.py to improve test coverage Enhance the trainer engine with advanced evaluation capabilities Improve LoRA method exporting with detailed example configurations Update documentation with comprehensive usage and configuration examples Status With this update completed, the training framework is now ready for official use. For detailed usage instructions and examples, please refer to: Demo Guide: DEMO.md Usage Guide: USAGE.md Minimum Hardware Requirements Please note that this project has relatively high resource requirements. The following configuration is recommended as the minimum supported environment: OS: Ubuntu 24.04 LTS RAM: 64 GB GPU VRAM: At least 12 GB NVMe SSD (recommended for latent/text-encoder caching) Running below these requirements may result in insufficient memory, significantly reduced performance, or inability to complete training. Thank you for following the development of this project. Commit
Ships:
Please note that this project has relatively high resource requirements. The following configuration is recommended as the minimum supported environment: OS: Ubuntu 24.04 LTS RAM: 64 GB GPU VRAM: At least 12 GB NVMe SSD (recommended for latent/text-encoder caching) Running below these requirements may result in insufficient memory, significantly reduced performance, or inability to complete training. Thank you for following the development of this project....
|
1793285306.6558006
|
1793371706.6558006
|
|
60315
|
seamless portal engine by @dylanjtholen | Stardanc seamless portal engine by @dylanjtholen | Stardance...
|
dylanjtholen
|
0
|
19.96
|
0
|
[]
|
[{"post_id": 64910, "ts": "202 [{"post_id": 64910, "ts": "2026-09-09T17:06:11Z", "hours": 19.9642, "text": "triangles using sdl gpu vulkan renderer"}]...
|
Title: seamless portal engine by @dylanjtholen | S Title: seamless portal engine by @dylanjtholen | Stardance
Devlogs:
triangles using sdl gpu vulkan renderer...
|
1793033402.8243413
|
1793638202.8243413
|
|
11086
|
search by @foxyyk | Stardance
|
foxyyk
|
0
|
1.13
|
0
|
[]
|
[{"post_id": 4358, "ts": "2026 [{"post_id": 4358, "ts": "2026-06-07T17:31:00Z", "hours": 0.6558, "text": "it searches??? hell yeee… I made it show stuff woaa. Had to give brave my credit card as the HackClub Search api has some error that’s not even documented but whatever. It will do the job for now :3 I made a simple box for showing the results with 0 features rn.. I plan to add AI answers, Images, Videos, News and everything to it later on but for now i’m happy with this.. I used AI to find most efficient way to program the query function. (didnt use any agent, i just brainstormed the best ideas)"}, {"post_id": 4275, "ts": "2026-06-07T15:07:08Z", "hours": 0.4711, "text": "git, packages and plan :3 soooo i created the repo and added a new next.js project. The app will use shacdUI.. Its not looking nice at all for now but I wanna build the search feature first before I make it look nice"}]...
|
Title: search by @foxyyk | Stardance
Devlogs:
git Title: search by @foxyyk | Stardance
Devlogs:
git, packages and plan :3 soooo i created the repo and added a new next.js project. The app will use shacdUI.. Its not looking nice at all for now but I wanna build the search feature first before I make it look nice
it searches??? hell yeee… I made it show stuff woaa. Had to give brave my credit card as the HackClub Search api has some error that’s not even documented but whatever. It will do the job for now :3 I made a simple box for showing the results with 0 features rn.. I plan to add AI answers, Images, Videos, News and everything to it later on but for now i’m happy with this.. I used AI to find most efficient way to program the query function. (didnt use any agent, i just brainstormed the best ideas)...
|
1792680549.6310806
|
1793285349.6310806
|
|
45038
|
seating plan mapper by @zakorm | Stardance
|
zakorm
|
0
|
2.46
|
0
|
[]
|
[{"post_id": 44545, "ts": "202 [{"post_id": 44545, "ts": "2026-08-10T11:40:11Z", "hours": 1.0631, "text": "login works finally. once again hackatime not recording, but this time its because im on another computer."}, {"post_id": 43048, "ts": "2026-08-08T03:13:02Z", "hours": 0.4747, "text": "me when spending 3 hours trying to connect to mongo db and hackatime not logging it"}, {"post_id": 42577, "ts": "2026-08-07T12:18:45Z", "hours": 0.9175, "text": "A seating plan organizer! just started it, designed style, and added logins that don’t work YET but will work."}]...
|
Title: seating plan mapper by @zakorm | Stardance
Title: seating plan mapper by @zakorm | Stardance
Devlogs:
A seating plan organizer! just started it, designed style, and added logins that don’t work YET but will work.
me when spending 3 hours trying to connect to mongo db and hackatime not logging it
login works finally. once again hackatime not recording, but this time its because im on another computer....
|
1793310619.63789
|
1793915419.63789
|
|
19740
|
secondattempt by @shash | Stardance
|
shash
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: secondattempt by @shash | Stardance
|
1793198922.3388011
|
1793803722.3388011
|
|
72026
|
secos by @notaherobut | Stardance
|
notaherobut
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: secos by @notaherobut | Stardance
|
1793357238.6295893
|
1793962038.6295893
|
|
72027
|
secos by @notaherobut | Stardance
|
notaherobut
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: secos by @notaherobut | Stardance
|
1793357239.5759382
|
1793962039.5759382
|
|
19177
|
see of disaster by @yayabskt | Stardance
|
yayabskt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: see of disaster by @yayabskt | Stardance
|
1792738451.8463666
|
1793343251.8463666
|
|
59504
|
seekerbot by @jassim | Stardance
|
jassim
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: seekerbot by @jassim | Stardance
|
1792803080.2532318
|
1793407880.2532318
|
|
69969
|
seiaf.space by @seiafunayama | Stardance
|
seiafunayama
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: seiaf.space by @seiafunayama | Stardance
|
1792957898.12368
|
1793562698.12368
|
|
27588
|
sejmle by @wavy | Stardance
|
wavy
|
1
|
15.0
|
118
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T19:36:11Z", "hours": 15.0, "multiplier": 8.05, "payout": 118, "blessing": "neutral", "text": "I built Sejmle, a daily Wordle-inspired game where you guess Polish MPs. Since our parliament is basically a viral reality show with millions of views on YouTube, I wanted to turn it into a fun game. It tracks your stats, has clean animations, and shoots confetti when you win Getting React state and charts to load from localStorage without breaking Next.js SSR (hydration errors). I fixed it by importing the charts dynamically on the client side. Also, rendering the guess grid dynamically took some neat config mapping to keep the code clean Building the entire UI from scratch so it looks unique and snappy. I’m also hyped about how fast the code is, it saves all your stats offline with zero database latency, so there is no lag at all How to test it? Open the live site at https://sejmle.vercel.app/ Read the quick tutorial popup Type an MP’s name and hit guess Use the colored feedback tiles to find the daily MP Enjoy the win confetti and check your stats!", "repo": "https://github.com/WavyWare/sejmle", "demo": "https://sejmle.vercel.app"}]...
|
[{"post_id": 23021, "ts": "202 [{"post_id": 23021, "ts": "2026-07-05T19:04:28Z", "hours": 4.2778, "text": "This is probably last devlog on this project. Now there are pop-ups for tutorial and victory. Metadata is added, leaderboard is added so I can see my previous guesses and timer is done. Everything I planned is done and I’ve done a little bit more e.g. hint, some debugging and local storage is done so every data is saved like if you guessed that day or guesses. I’m going to ship this project now so this is done!"}, {"post_id": 22396, "ts": "2026-07-04T21:14:03Z", "hours": 3.5775, "text": "Hi there! I’ve done quite a good job on last days. So now there are animations to get that smooth feeling, tutorial pop up, animated suggestion box and solving problems I’ve found. So for now, all the layout of pop up is done and it’s waiting for continuation for pop up when you guessed correctly. Next up to do are: SEO and basic metadata (I don’t even have a title in search bar), simple leaderboard to show average guesses on daily challenge and function that converts input field to timer when you guessed correctly for that day. Have a nice one!"}, {"post_id": 20233, "ts": "2026-07-01T19:40:48Z", "hours": 5.5653, "text": "I’ve added basic logic to my game, so now it works. I have to add announcement if player wins and then minor changes like animations. If you’re not from Poland you may not know polish parliament members, but I would really love you to check and write some comment about my game. Sejmle is available at https://sejmle.vercel.app"}, {"post_id": 17599, "ts": "2026-06-28T13:48:26Z", "hours": 1.2436, "text": "I’ve added system that saves all and most recognizable members of parliament to JSON files."}]...
|
Title: sejmle by @wavy | Stardance
Devlogs:
I’ve Title: sejmle by @wavy | Stardance
Devlogs:
I’ve added system that saves all and most recognizable members of parliament to JSON files.
I’ve added basic logic to my game, so now it works. I have to add announcement if player wins and then minor changes like animations. If you’re not from Poland you may not know polish parliament members, but I would really love you to check and write some comment about my game. Sejmle is available at https://sejmle.vercel.app
Hi there! I’ve done quite a good job on last days. So now there are animations to get that smooth feeling, tutorial pop up, animated suggestion box and solving problems I’ve found. So for now, all the layout of pop up is done and it’s waiting for continuation for pop up when you guessed correctly. Next up to do are: SEO and basic metadata (I don’t even have a title in search bar), simple leaderboard to show average guesses on daily challenge and function that converts input field to timer when you guessed correctly for that day. Have a nice one!
This is probably last devlog on this project. Now there are pop-ups for tutorial and victory. Metadata is added, leaderboard is added so I can see my previous guesses and timer is done. Everything I planned is done and I’ve done a little bit more e.g. hint, some debugging and local storage is done so every data is saved like if you guessed that day or guesses. I’m going to ship this project now so this is done!
Ships:
I built Sejmle, a daily Wordle-inspired game where you guess Polish MPs. Since our parliament is basically a viral reality show with millions of views on YouTube, I wanted to turn it into a fun game. It tracks your stats, has clean animations, and shoots confetti when you win Getting React state and charts to load from localStorage without breaking Next.js SSR (hydration errors). I fixed it by importing the charts dynamically on the client side. Also, rendering the guess grid dynamically took some neat config mapping to keep the code clean Building the entire UI from scratch so it looks unique and snappy. I’m also hyped about how fast the code is, it saves all your stats offline with zero database latency, so there is no lag at all How to test it? Open the live site at https://sejmle.vercel.app/ Read the quick tutorial popup Type an MP’s name and hit guess Use the colored feedback tiles to find the daily MP Enjoy the win confetti and check your stats!...
|
1793292527.3968034
|
1793378927.3968034
|
|
71892
|
self balancing chat bot by @negirekha629 | Stardan self balancing chat bot by @negirekha629 | Stardance...
|
negirekha629
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: self balancing chat bot by @negirekha629 | Title: self balancing chat bot by @negirekha629 | Stardance...
|
1793281646.9547553
|
1793886446.9547553
|
|
29777
|
self balancing robot by @ijaz | Stardance
|
ijaz
|
0
|
0.43
|
0
|
[]
|
[{"post_id": 29458, "ts": "202 [{"post_id": 29458, "ts": "2026-07-16T12:39:55Z", "hours": 0.4333, "text": "Schematic design for self balancing robot"}]...
|
Title: self balancing robot by @ijaz | Stardance
Title: self balancing robot by @ijaz | Stardance
Devlogs:
Schematic design for self balancing robot...
|
1792781419.5866864
|
1793386219.5866864
|
|
70061
|
self driving AI by @david_e | Stardance
|
david_e
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: self driving AI by @david_e | Stardance
|
1792958001.4669337
|
1793562801.4669337
|
|
51291
|
self-driving car simulation by @lolnypop | Stardan self-driving car simulation by @lolnypop | Stardance...
|
lolnypop
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: self-driving car simulation by @lolnypop | Title: self-driving car simulation by @lolnypop | Stardance...
|
1792662919.1866775
|
1793267719.1866775
|
|
31765
|
self-made MP3 player by @Pinpotin | Stardance
|
Pinpotin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: self-made MP3 player by @Pinpotin | Stardan Title: self-made MP3 player by @Pinpotin | Stardance...
|
1792670034.9976027
|
1793274834.9976027
|
|
37556
|
self-rolling ball by @MaxMadeGG | Stardance
|
MaxMadeGG
|
0
|
2.96
|
0
|
[]
|
[{"post_id": 32838, "ts": "202 [{"post_id": 32838, "ts": "2026-07-22T07:35:08Z", "hours": 0.5003, "text": "finishing the 3D models and then printing. Now just have to assemble it all and wait for a battery."}, {"post_id": 32370, "ts": "2026-07-21T14:34:40Z", "hours": 1.1869, "text": "assembling together the printed parts with the motor battery wires and button on/off. Also did some welding, was a nightmare putting all in a so small box XD. Now just have to model and print some final parts and put it all together :D"}, {"post_id": 32292, "ts": "2026-07-21T11:26:56Z", "hours": 0.5675, "text": "finalizing the 3D models and printing them i also cut the ball in half that i can put all the components in it"}, {"post_id": 31718, "ts": "2026-07-20T10:41:25Z", "hours": 0.7006, "text": "making a self rolling ball today i was modeling the parts i think that the model should be finished today or tomorrow"}]...
|
Title: self-rolling ball by @MaxMadeGG | Stardance Title: self-rolling ball by @MaxMadeGG | Stardance
Devlogs:
making a self rolling ball today i was modeling the parts i think that the model should be finished today or tomorrow
finalizing the 3D models and printing them i also cut the ball in half that i can put all the components in it
assembling together the printed parts with the motor battery wires and button on/off. Also did some welding, was a nightmare putting all in a so small box XD. Now just have to model and print some final parts and put it all together :D
finishing the 3D models and then printing. Now just have to assemble it all and wait for a battery....
|
1793166518.869109
|
1793771318.869109
|
|
60385
|
selfaware by @Kaanreal | Stardance
|
Kaanreal
|
1
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T14:24:12Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Selfaware 1.0.0 is out. This is the first proper release of Selfaware, a client-side Minecraft mod that lets you see your own nametag while playing in third person. The main idea is simple, but I wanted it to feel like something that actually belongs in Minecraft. Your nametag follows the normal rendering behavior, and Selfaware can also match server-specific nametag styling instead of always showing a basic vanilla label. There are a few integrations already included. On DonutSMP, Selfaware can show your own rank, prefix and balance. Simple Voice Chat is also supported, so your own voice and group icons can appear next to your nametag. There is also a settings menu with a live player preview, options for the different integrations, and everything can be changed without leaving the game. A big part of this first release was compatibility. Selfaware already supports a lot of Minecraft versions and works across Fabric, Forge, NeoForge and Quilt where available. The project is structured so I can keep adding versions without having to maintain completely separate mods. You can try the first release here: https://github.com/kaanreal/selfaware/releases or on Modrinth: https://modrinth.com/mod/selfaware", "repo": "https://github.com/kaanreal/selfaware", "demo": "https://modrinth.com/mod/selfaware"}]...
|
[{"post_id": 72228, "ts": "202 [{"post_id": 72228, "ts": "2026-09-22T14:22:33Z", "hours": 12.2208, "text": "Hello! Today I continued working on Selfaware.I mainly focused on fixing issues across different Minecraft versions and mod loaders, so everything works more consistently. There were a few version-specific problems from yesterday that are now cleaned up.I also added a proper menu for Selfaware. It makes the mod feel a lot more complete and gives me a good place to add settings and new features later.Besides that, I spent some time cleaning up the overall project structure. Since I want to support a lot of Minecraft versions and mod loaders, I wanted to get the structure right early instead of having everything become messy later.The base is now in a much better state, so I can start focusing more on actual features next."}, {"post_id": 66986, "ts": "2026-09-13T00:01:51Z", "hours": 7.9928, "text": "Hello! Today I started working on a new project called Selfaware.Selfaware is a Minecraft mod that displays your own nametag above your head while playing in F5. I tried a few other mods that do something similar, but I found them a bit too simple, so I wanted to make my own version with more features.I want Selfaware to support things like server specific nametag formatting, DonutSMP features, Simple Voice Chat icons for yourself, and more in the future. I also want to support as many Minecraft versions and mod loaders as possible.Today I mainly worked on the base of the mod. So far, all supported versions and mod loaders seem to be working correctly, and the nametag is rendering properly. I also added Simple Voice Chat support, so you can now see your own voice chat icons above your nametag."}]...
|
Title: selfaware by @Kaanreal | Stardance
Devlogs Title: selfaware by @Kaanreal | Stardance
Devlogs:
Hello! Today I started working on a new project called Selfaware.Selfaware is a Minecraft mod that displays your own nametag above your head while playing in F5. I tried a few other mods that do something similar, but I found them a bit too simple, so I wanted to make my own version with more features.I want Selfaware to support things like server specific nametag formatting, DonutSMP features, Simple Voice Chat icons for yourself, and more in the future. I also want to support as many Minecraft versions and mod loaders as possible.Today I mainly worked on the base of the mod. So far, all supported versions and mod loaders seem to be working correctly, and the nametag is rendering properly. I also added Simple Voice Chat support, so you can now see your own voice chat icons above your nametag.
Hello! Today I continued working on Selfaware.I mainly focused on fixing issues across different Minecraft versions and mod loaders, so everything works more consistently. There were a few version-specific problems from yesterday that are now cleaned up.I also added a proper menu for Selfaware. It makes the mod feel a lot more complete and gives me a good place to add settings and new features later.Besides that, I spent some time cleaning up the overall project structure. Since I want to support a lot of Minecraft versions and mod loaders, I wanted to get the structure right early instead of having everything become messy later.The base is now in a much better state, so I can start focusing more on actual features next.
Ships:
Selfaware 1.0.0 is out. This is the first proper release of Selfaware, a client-side Minecraft mod that lets you see your own nametag while playing in third person. The main idea is simple, but I wanted it to feel like something that actually belongs in Minecraft. Your nametag follows the normal rendering behavior, and Selfaware can also match server-specific nametag styling instead of always showing a basic vanilla label. There are a few integrations already included. On DonutSMP, Selfaware can show your own rank, prefix and balance. Simple Voice Chat is also supported, so your own voice and group icons can appear next to your nametag. There is also a settings menu with a live player preview, options for the different integrations, and everything can be changed without leaving the game. A big part of this first release was compatibility. Selfaware already supports a lot of Minecraft versions and works across Fabric, Forge, NeoForge and Quilt where available. The project is structured so I can keep adding versions without having to maintain completely separate mods. You can try the first release here: https://github.com/kaanreal/selfaware/releases or on Modrinth: https://modrinth.com/mod/selfaware...
|
1793206412.1612892
|
1793292812.1612892
|
|
37269
|
semantic similarity on anime episodes by @Thel | S semantic similarity on anime episodes by @Thel | Stardance...
|
Thel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: semantic similarity on anime episodes by @T Title: semantic similarity on anime episodes by @Thel | Stardance...
|
1792680842.1509356
|
1793285642.1509356
|
|
55317
|
sensor encoder project by @smrethi_shun | Stardanc sensor encoder project by @smrethi_shun | Stardance...
|
smrethi_shun
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T06:02:46Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my shot at Human Computer Lab’s ML challenge! It’s a compare and contrast between two data classification methods, a direct classifier and a small language model. Basically, both models read sensor data from UCI’s Human Activity Recognition Using Smartphones dataset, and learn to classify actions from the data (walking, standing, sitting, etc). The language model has to create embeddings directly from data, not turn it to language first. Then, we compare the macro-F1 scores of the direct classifier, the language model, and a trick test for the language model, purposefully switching embeddings so that way you know that the model is reliant on the embeddings only. VERY IMPORTANT!!!! The link to try this project is fake. You have to clone the project and run it in your terminal! Instructions are on the readme!!", "repo": "https://github.com/smoothieee33/sensor-encoder-challenge", "demo": "https://github.com/smoothieee33/sensor-encoder-challenge/releases/tag/v1.0.0"}]...
|
[{"post_id": 56417, "ts": "202 [{"post_id": 56417, "ts": "2026-08-28T05:46:04Z", "hours": 8.8908, "text": "Whoaaa Ive been MIA for a hawt minute lol. Anyway surprise! Brand new project popped out of nowhere! For context, I applied to an internship which had an optional project/challenge to do. Basically, I had to test a new form of data processing. I had to classify sensor data data into categories using a small language model rather than a traditional direct classifier. So thats what I did. I compared and contrasted the two methods in terms of macro F1 score, runtime, etc. Everything is kinda one fall swoop, heres the completed project lol."}]...
|
Title: sensor encoder project by @smrethi_shun | S Title: sensor encoder project by @smrethi_shun | Stardance
Devlogs:
Whoaaa Ive been MIA for a hawt minute lol. Anyway surprise! Brand new project popped out of nowhere! For context, I applied to an internship which had an optional project/challenge to do. Basically, I had to test a new form of data processing. I had to classify sensor data data into categories using a small language model rather than a traditional direct classifier. So thats what I did. I compared and contrasted the two methods in terms of macro F1 score, runtime, etc. Everything is kinda one fall swoop, heres the completed project lol.
Ships:
This is my shot at Human Computer Lab’s ML challenge! It’s a compare and contrast between two data classification methods, a direct classifier and a small language model. Basically, both models read sensor data from UCI’s Human Activity Recognition Using Smartphones dataset, and learn to classify actions from the data (walking, standing, sitting, etc). The language model has to create embeddings directly from data, not turn it to language first. Then, we compare the macro-F1 scores of the direct classifier, the language model, and a trick test for the language model, purposefully switching embeddings so that way you know that the model is reliant on the embeddings only. VERY IMPORTANT!!!! The link to try this project is fake. You have to clone the project and run it in your terminal! Instructions are on the readme!!...
|
1793282008.105893
|
1793368408.105893
|
|
69489
|
sentinel_pothole by @Tony703 | Stardance
|
Tony703
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sentinel_pothole by @Tony703 | Stardance
|
1792857046.8251932
|
1793461846.8251932
|
|
59345
|
sentrix by @Dhyanesh | Stardance
|
Dhyanesh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sentrix by @Dhyanesh | Stardance
|
1792795649.2881157
|
1793400449.2881157
|
|
71047
|
serialscope by @threatsentinels | Stardance
|
threatsentinels
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: serialscope by @threatsentinels | Stardance
|
1792770433.0659947
|
1793375233.0659947
|
|
39449
|
server-modpack by @satr14 | Stardance
|
satr14
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-25T04:46:20Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "modpack complete, proud of the end result. ill be hosting a demo server when i get things stable enough", "repo": "https://git.satr14.my.id/satr14/server-modpack", "demo": "https://git.satr14.my.id/satr14/server-modpack#installation"}]...
|
[{"post_id": 34436, "ts": "202 [{"post_id": 34436, "ts": "2026-07-25T04:43:42Z", "hours": 0.3969, "text": "add installation guide and resources"}, {"post_id": 34432, "ts": "2026-07-25T04:10:21Z", "hours": 2.4839, "text": "just worked on migrating config and stuff from the server directory to here. migrate mods and config fine tune mod selection for tps performance configure polymer additional resource pack add support for offline accounts fixup mod conflicts (screenshot contains essential mod cosmetics, not part of modpack)"}]...
|
Title: server-modpack by @satr14 | Stardance
Devl Title: server-modpack by @satr14 | Stardance
Devlogs:
just worked on migrating config and stuff from the server directory to here. migrate mods and config fine tune mod selection for tps performance configure polymer additional resource pack add support for offline accounts fixup mod conflicts (screenshot contains essential mod cosmetics, not part of modpack)
add installation guide and resources
Ships:
modpack complete, proud of the end result. ill be hosting a demo server when i get things stable enough...
|
1793288946.2086053
|
1793375346.2086053
|
|
14946
|
service lead responser by @ajez | Stardance
|
ajez
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: service lead responser by @ajez | Stardance
|
1793141331.995069
|
1793746131.995069
|
|
41896
|
servo spider bot by @nickthem | Stardance
|
nickthem
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T08:20:06Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My spider bot features four legs, each equipped with two joints, making a total of eight joints that provide it with excellent flexibility and mobility. Designed for versatility, the bot can navigate various surfaces, climb over obstacles, and perform precise movements thanks to its jointed legs. Its lightweight yet durable construction allows it to operate efficiently in different environments, whether for exploration, surveillance, or search and rescue missions. The combination of multiple joints and sturdy design gives your spider bot impressive agility and control, making it a highly capable robotic creature.", "repo": "https://github.com/nikolasthemistocleous-arch/nick", "demo": ""}]...
|
[{"post_id": 38833, "ts": "202 [{"post_id": 38833, "ts": "2026-08-01T12:09:56Z", "hours": 0.3167, "text": "servo spider bot"}, {"post_id": 38774, "ts": "2026-08-01T10:34:34Z", "hours": 0.4703, "text": "servo spider bot"}]...
|
Title: servo spider bot by @nickthem | Stardance
Title: servo spider bot by @nickthem | Stardance
Devlogs:
servo spider bot
servo spider bot
Ships:
My spider bot features four legs, each equipped with two joints, making a total of eight joints that provide it with excellent flexibility and mobility. Designed for versatility, the bot can navigate various surfaces, climb over obstacles, and perform precise movements thanks to its jointed legs. Its lightweight yet durable construction allows it to operate efficiently in different environments, whether for exploration, surveillance, or search and rescue missions. The combination of multiple joints and sturdy design gives your spider bot impressive agility and control, making it a highly capable robotic creature....
|
1793256815.8488874
|
1793343215.8488874
|
|
42954
|
servo tester by @hunter1 | Stardance
|
hunter1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: servo tester by @hunter1 | Stardance
|
1793195673.7436666
|
1793800473.7436666
|
|
18308
|
servo-like-arduino by @vihaanvp | Stardance
|
vihaanvp
|
0
|
1.14
|
0
|
[]
|
[{"post_id": 8456, "ts": "2026 [{"post_id": 8456, "ts": "2026-06-14T01:58:55Z", "hours": 1.1442, "text": "DevLog #1 – servo-like-arduino Time Logged: 1h 8m Today I began development of servo-like-arduino, a Python library designed to provide Arduino-style servo control syntax while using PyFirmata2 and StandardFirmata behind the scenes. The project started from a desire to control servos connected to an Arduino Nano from a Raspberry Pi while maintaining a familiar Arduino programming experience. After evaluating both PyFirmata and PyFirmata2, I chose PyFirmata2 due to better compatibility with modern Python versions and because it worked without requiring users to manually modify library source files. The first milestone was creating a simple wrapper around PyFirmata2. This wrapper hides Firmata-specific syntax and instead exposes a cleaner Arduino-inspired API. The goal was to make servo control feel similar to programming directly on an Arduino (which is very simple as compared to the default PyFirmata and PyFirmata2 syntax) while still running Python code on a Raspberry Pi. Once the basic functionality was working, I implemented a global board system so that users would not need to repeatedly pass board objects into every function call. This made the library feel much closer to Arduino’s native Servo library and simplified the user experience. After the initial release (v0.1.0), I expanded the functionality for v0.2.0 by adding several new features: Servo.read() Servo.detach() Servo.move_smooth() Servo.sweep() Improved error handling Servo angle validation and clamping Internal servo position tracking A significant portion of the development process involved testing on real hardware. The library was validated using a Raspberry Pi 4 connected to an Arduino Nano running StandardFirmata, with a servo motor attached for testing. This ensured that the library worked correctly in a practical robotics environment rather than only in theory. Following successful testing, I packaged the project using modern Python packaging standards with pyproject.toml, created a GitHub repository, and configured automated publishing to PyPI using GitHub Actions. The most exciting milestone of the session was successfully publishing the library to PyPI. By creating a GitHub Release, the workflow automatically built and uploaded the package, making it publicly installable through pip. This established a complete development, testing, and deployment pipeline for future releases. This session transformed the project from a simple idea into a functional, publicly available Python package with real hardware validation and automated deployment. Future development will focus on improving the servo control experience by adding more advanced servo-related features, refining the API, improving reliability, and expanding the library while maintaining its simple Arduino-inspired programming style. The goal is to provide the easiest and most intuitive way to control servos from Python using Arduino boards flashed with StandardFirmata program. (The Image shows Servo motor and N20 motors (via the TB6612FNG motor driver) connected to an Arduino Nano, which is then connected to a Raspberry Pi, and this was the setup I used to test this wrapper)"}]...
|
Title: servo-like-arduino by @vihaanvp | Stardance Title: servo-like-arduino by @vihaanvp | Stardance
Devlogs:
DevLog #1 – servo-like-arduino Time Logged: 1h 8m Today I began development of servo-like-arduino, a Python library designed to provide Arduino-style servo control syntax while using PyFirmata2 and StandardFirmata behind the scenes. The project started from a desire to control servos connected to an Arduino Nano from a Raspberry Pi while maintaining a familiar Arduino programming experience. After evaluating both PyFirmata and PyFirmata2, I chose PyFirmata2 due to better compatibility with modern Python versions and because it worked without requiring users to manually modify library source files. The first milestone was creating a simple wrapper around PyFirmata2. This wrapper hides Firmata-specific syntax and instead exposes a cleaner Arduino-inspired API. The goal was to make servo control feel similar to programming directly on an Arduino (which is very simple as compared to the default PyFirmata and PyFirmata2 syntax) while still running Python code on a Raspberry Pi. Once the basic functionality was working, I implemented a global board system so that users would not need to repeatedly pass board objects into every function call. This made the library feel much closer to Arduino’s native Servo library and simplified the user experience. After the initial release (v0.1.0), I expanded the functionality for v0.2.0 by adding several new features: Servo.read() Servo.detach() Servo.move_smooth() Servo.sweep() Improved error handling Servo angle validation and clamping Internal servo position tracking A significant portion of the development process involved testing on real hardware. The library was validated using a Raspberry Pi 4 connected to an Arduino Nano running StandardFirmata, with a servo motor attached for testing. This ensured that the library worked correctly in a practical robotics environment rather than only in theory. Following successful testing, I packaged the project using modern Python packaging standards with pyproject.toml, created a GitHub repository, and configured automated publishing to PyPI using GitHub Actions. The most exciting milestone of the session was successfully publishing the library to PyPI. By creating a GitHub Release, the workflow automatically built and uploaded the package, making it publicly installable through pip. This established a complete development, testing, and deployment pipeline for future releases. This session transformed the project from a simple idea into a functional, publicly available Python package with real hardware validation and automated deployment. Future development will focus on improving the servo control experience by adding more advanced servo-related features, refining the API, improving reliability, and expanding the library while maintaining its simple Arduino-inspired programming style. The goal is to provide the easiest and most intuitive way to control servos from Python using Arduino boards flashed with StandardFirmata program. (The Image shows Servo motor and N20 motors (via the TB6612FNG motor driver) connected to an Arduino Nano, which is then connected to a Raspberry Pi, and this was the setup I used to test this wrapper)...
|
1793224392.6747801
|
1793829192.6747801
|