|
13391
|
Little Blueberry Adventure by @mohammedmasadeh | S Little Blueberry Adventure by @mohammedmasadeh | Stardance...
|
mohammedmasadeh
|
0
|
0.36
|
0
|
[]
|
[{"post_id": 78823, "ts": "202 [{"post_id": 78823, "ts": "2026-10-11T18:09:21Z", "hours": 0.3569, "text": "I worked on this for so much longer but I forgot to connect it because I used a new coding software so I only have 16 mins logged compared to the actual 2 but its fine."}]...
|
Title: Little Blueberry Adventure by @mohammedmasa Title: Little Blueberry Adventure by @mohammedmasadeh | Stardance
Devlogs:
I worked on this for so much longer but I forgot to connect it because I used a new coding software so I only have 16 mins logged compared to the actual 2 but its fine....
|
1793249554.1970494
|
1794113554.1970494
|
|
67934
|
Pip The Mouse: Desktop Edition by @j4y_boi | Stard Pip The Mouse: Desktop Edition by @j4y_boi | Stardance...
|
j4y_boi
|
1
|
14.0
|
157
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T18:23:54Z", "hours": 14.0, "multiplier": 10.93, "payout": 157, "blessing": "neutral", "text": "I made Pip the Mouse as a Desktop pet! Pip the Mouse was originally one of my first game projects ever, and to celebrate it’s one year anniversary (and to participate in this challange) I turned him into a pet that wanders around on your desktop! You can feed him, play with him and throw him around! You can download him from the itch.io page: https://j4y-boi.itch.io/pip-the-mouse-desktop-edition (Link to message in #playground-ships: https://hackclub.slack.com/archives/C0C51NCK1DG/p1791742520319769 )", "repo": "https://github.com/j4y-boi/pip-the-mouse-desktop-pet/", "demo": "https://j4y-boi.itch.io/pip-the-mouse-desktop-edition"}]...
|
[{"post_id": 78822, "ts": "202 [{"post_id": 78822, "ts": "2026-10-11T18:08:37Z", "hours": 1.5486, "text": "What did I do? I made an itch.io page: https://j4y-boi.itch.io/pip-the-mouse-desktop-edition I made a trailer! (I had to compress the video to upload it here, it may have better quality on Youtube): https://www.youtube.com/watch?v=o3zFl_8S51Q What remains? Nothing, I’m shipping soon!"}, {"post_id": 78478, "ts": "2026-10-10T22:11:04Z", "hours": 3.6553, "text": "What did I do? Fixed a lot of physics related bugs (and probably also created a ton, but I don’t have the willpower to search for them) Pip turns a bit during dragging (such dramatic change) What remains? The itch.io page"}, {"post_id": 77947, "ts": "2026-10-08T22:21:28Z", "hours": 1.9022, "text": "What did I do? Improve Stats/Settings menu further Fixed misc. bugs related to food physics Added smoke to the items that dissapear from the clear button What remains? Fixing Pip’s physics bugs"}, {"post_id": 77700, "ts": "2026-10-07T23:44:59Z", "hours": 1.5503, "text": "What did I do? Added saving Updated Stats menu a bit Added clear button (not visible in screenshot) What remains? Fixing collision detection when somethings on top of Pip Particles General QOL and UX improvements"}, {"post_id": 77424, "ts": "2026-10-06T22:41:42Z", "hours": 0.9092, "text": "What did I do? Fixed Pip being an immovable object Added play and feed features Added extra animations What remains? Save files Clear screen button (to remove excess food and ball)"}, {"post_id": 77164, "ts": "2026-10-05T20:58:30Z", "hours": 1.7386, "text": "What did I do? GUI can now be enabled without game being active window Clickthrough What remains? Pip actually eating the food and interacting with the ball Save files extra idle animations fixing pip being immovable object"}, {"post_id": 76873, "ts": "2026-10-04T21:51:47Z", "hours": 0.275, "text": "What did I do? fixed some misc bugs related to dragging food around What remains? Check last devlog"}, {"post_id": 76858, "ts": "2026-10-04T20:49:58Z", "hours": 2.7461, "text": "What did I do? First gameplay elements implemented art added GUI largely functional What remains? Pip actually eating the food Play feature Save files Clickthrough (The game is currently running as a fullscreen application)"}]...
|
Title: Pip The Mouse: Desktop Edition by @j4y_boi Title: Pip The Mouse: Desktop Edition by @j4y_boi | Stardance
Devlogs:
What did I do? First gameplay elements implemented art added GUI largely functional What remains? Pip actually eating the food Play feature Save files Clickthrough (The game is currently running as a fullscreen application)
What did I do? fixed some misc bugs related to dragging food around What remains? Check last devlog
What did I do? GUI can now be enabled without game being active window Clickthrough What remains? Pip actually eating the food and interacting with the ball Save files extra idle animations fixing pip being immovable object
What did I do? Fixed Pip being an immovable object Added play and feed features Added extra animations What remains? Save files Clear screen button (to remove excess food and ball)
What did I do? Added saving Updated Stats menu a bit Added clear button (not visible in screenshot) What remains? Fixing collision detection when somethings on top of Pip Particles General QOL and UX improvements
What did I do? Improve Stats/Settings menu further Fixed misc. bugs related to food physics Added smoke to the items that dissapear from the clear button What remains? Fixing Pip’s physics bugs
What did I do? Fixed a lot of physics related bugs (and probably also created a ton, but I don’t have the willpower to search for them) Pip turns a bit during dragging (such dramatic change) What remains? The itch.io page
What did I do? I made an itch.io page: https://j4y-boi.itch.io/pip-the-mouse-desktop-edition I made a trailer! (I had to compress the video to upload it here, it may have better quality on Youtube): https://www.youtube.com/watch?v=o3zFl_8S51Q What remains? Nothing, I’m shipping soon!
Ships:
I made Pip the Mouse as a Desktop pet! Pip the Mouse was originally one of my first game projects ever, and to celebrate it’s one year anniversary (and to participate in this challange) I turned him into a pet that wanders around on your desktop! You can feed him, play with him and throw him around! You can download him from the itch.io page: https://j4y-boi.itch.io/pip-the-mouse-desktop-edition (Link to message in #playground-ships: https://hackclub.slack.com/archives/C0C51NCK1DG/p1791742520319769 )...
|
1793217175.0040116
|
1793303575.0040116
|
|
51595
|
Lunar Lander Video Game by @Akhil_Rajesh | Stardan Lunar Lander Video Game by @Akhil_Rajesh | Stardance...
|
Akhil_Rajesh
|
0
|
31.69
|
0
|
[]
|
[{"post_id": 78820, "ts": "202 [{"post_id": 78820, "ts": "2026-10-11T18:03:30Z", "hours": 0.2533, "text": "Devlog #6 Working on adding the rovers and flag on the surface in photopea and also using tack.pics to map out coordinates!"}, {"post_id": 78131, "ts": "2026-10-09T17:38:48Z", "hours": 3.2286, "text": "Devlog #5 Added the animations for the rcs and main engines, with correct (hopefully!) logic. [Picture shown with all rcs firing)"}, {"post_id": 75276, "ts": "2026-09-29T16:53:33Z", "hours": 10.1392, "text": "Devlog #4 I decided to seperate the landing part (previously called stage 2) from the rest of the game as of now. This is because of completely diffrent styles of drawing, and a JS mis-match. I’ll probably link those later though."}, {"post_id": 66472, "ts": "2026-09-12T09:49:26Z", "hours": 4.4775, "text": "Devlog #3 Stage 1 basically completed (though I want to revisit it to make the physics better). Added a intro-page showing all controls etc and status indicator in the HUD and other small adjustments."}, {"post_id": 63490, "ts": "2026-09-07T11:33:53Z", "hours": 5.7336, "text": "Devlog #2 Stage 1 (Translunar Flight) almost completed. Basic HUD showing Time elapsed, Velocity, etc has been added."}, {"post_id": 59756, "ts": "2026-09-01T18:01:30Z", "hours": 7.8536, "text": "Devlog #1 I almost finished on stage 1 of this project, that is, an autogenerated starry background, a Moon and a blue orb (which would eventually be the earth!), gravity for the moon, a red triangle representing the spacecraft as of now, velocity, controls, ability to enter/exit orbit, orbit detection, and most importantly, CRASH DETECTION!!!!. Here are some screenshots."}]...
|
Title: Lunar Lander Video Game by @Akhil_Rajesh | Title: Lunar Lander Video Game by @Akhil_Rajesh | Stardance
Devlogs:
Devlog #1 I almost finished on stage 1 of this project, that is, an autogenerated starry background, a Moon and a blue orb (which would eventually be the earth!), gravity for the moon, a red triangle representing the spacecraft as of now, velocity, controls, ability to enter/exit orbit, orbit detection, and most importantly, CRASH DETECTION!!!!. Here are some screenshots.
Devlog #2 Stage 1 (Translunar Flight) almost completed. Basic HUD showing Time elapsed, Velocity, etc has been added.
Devlog #3 Stage 1 basically completed (though I want to revisit it to make the physics better). Added a intro-page showing all controls etc and status indicator in the HUD and other small adjustments.
Devlog #4 I decided to seperate the landing part (previously called stage 2) from the rest of the game as of now. This is because of completely diffrent styles of drawing, and a JS mis-match. I’ll probably link those later though.
Devlog #5 Added the animations for the rcs and main engines, with correct (hopefully!) logic. [Picture shown with all rcs firing)
Devlog #6 Working on adding the rovers and flag on the surface in photopea and also using tack.pics to map out coordinates!...
|
1792677051.3998606
|
1793281851.3998606
|
|
6525
|
Career.com by @Hannah | Stardance
|
Hannah
|
0
|
4.74
|
0
|
[]
|
[{"post_id": 78816, "ts": "202 [{"post_id": 78816, "ts": "2026-10-11T17:56:16Z", "hours": 2.3972, "text": "Worked on the sql connectivity todayy^^"}, {"post_id": 11258, "ts": "2026-06-18T12:41:09Z", "hours": 1.1633, "text": "Working on some evaluation questions today :)"}, {"post_id": 10590, "ts": "2026-06-17T12:29:48Z", "hours": 1.1794, "text": "started the project today^^"}]...
|
Title: Career.com by @Hannah | Stardance
Devlogs: Title: Career.com by @Hannah | Stardance
Devlogs:
started the project today^^
Working on some evaluation questions today :)
Worked on the sql connectivity todayy^^...
|
1792792098.9568172
|
1793396898.9568172
|
|
68273
|
GalaxyOS by @Siyam | Stardance
|
Siyam
|
2
|
8.0
|
8
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T17:51:57Z", "hours": 2.0, "multiplier": 6.24, "payout": 8, "blessing": "neutral", "text": "#WebOS 2 I have updated the WebOS into WebOS 2, Here is what i changed, 1, Added a Calculator which is really works 2, Updated the window style and its header 3, added a google search option 4, instead just one wallpaper, i used a api key to fetch new wallpaper every time. 5, updated the color and design of quick notes. 6, made every css, js, html files separated from each other. it helps to solve erros more fast and easily 7, updated the Guide into a welcome page", "repo": "https://github.com/Tanzil-Alam/WebOS", "demo": "https://tanzil-alam.github.io/WebOS/"}, {"ship_num": 2, "ts": "2026-10-09T15:13:56Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have built a WebOS that runs in Website. It has 3 built in apps, They are the Guide, Flappy Bird, Notepad. Its a simple project. Anyone can play this by clicking in the logo. The Javascript part was most challenging for me, it was very hard to write.", "repo": "https://github.com/Tanzil-Alam/WebOS", "demo": "https://tanzil-alam.github.io/WebOS/"}]...
|
[{"post_id": 78810, "ts": "202 [{"post_id": 78810, "ts": "2026-10-11T17:50:26Z", "hours": 1.2628, "text": "#WebOS 2 I have updated the WebOS into WebOS 2, Here is what i changed, 1, Added a Calculator which is really works 2, Updated the window style and its header 3, added a google search option 4, instead just one wallpaper, i used a api key to fetch new wallpaper every time. 5, updated the color and design of quick notes. 6, made every css, js, html files separated from each other. it helps to solve erros more fast and easily 7, updated the Guide into a welcome page"}, {"post_id": 78730, "ts": "2026-10-11T12:42:56Z", "hours": 1.1194, "text": "Added a API Key for my background image, now it fetches new images everytime. Also added 2 new apps that is a calculator and a painter. I will make the apps working and usable now, and also i have made style and script files to make my index html short and clean. Iam also trying to redesign my windows look."}, {"post_id": 78087, "ts": "2026-10-09T15:06:43Z", "hours": 1.4075, "text": "I Have removed extra features, and kept only 3. It has a flappy bird Game and Notepad And a Guide. The Windows are drag-able. I made that the windows just play other html’s as a app."}, {"post_id": 78031, "ts": "2026-10-09T08:21:56Z", "hours": 0.5939, "text": "Trying to make the windows work, but its very hard."}, {"post_id": 77883, "ts": "2026-10-08T17:24:19Z", "hours": 1.2117, "text": "Added the icons, made the links active and added hover effect on them."}, {"post_id": 77847, "ts": "2026-10-08T14:51:40Z", "hours": 1.4881, "text": "The old image was AI generated, it was not acceptable. So, i just changed the background image. I have made some div boxes, and fixed their Size, Colour, Location. I selected the colour a little transparent by up-downing the colour of style. I used simple java to get time and date, fixed the date and time at top div. Also added a settings and fixed its location, currently the settings don’t work, but i will update it soon. I used a image as settings icon, and made a same div case for it."}, {"post_id": 77757, "ts": "2026-10-08T05:33:01Z", "hours": 1.2244, "text": "Added a background image. and added shortcuts on top."}]...
|
Title: GalaxyOS by @Siyam | Stardance
Devlogs:
Ad Title: GalaxyOS by @Siyam | Stardance
Devlogs:
Added a background image. and added shortcuts on top.
The old image was AI generated, it was not acceptable. So, i just changed the background image. I have made some div boxes, and fixed their Size, Colour, Location. I selected the colour a little transparent by up-downing the colour of style. I used simple java to get time and date, fixed the date and time at top div. Also added a settings and fixed its location, currently the settings don’t work, but i will update it soon. I used a image as settings icon, and made a same div case for it.
Added the icons, made the links active and added hover effect on them.
Trying to make the windows work, but its very hard.
I Have removed extra features, and kept only 3. It has a flappy bird Game and Notepad And a Guide. The Windows are drag-able. I made that the windows just play other html’s as a app.
Added a API Key for my background image, now it fetches new images everytime. Also added 2 new apps that is a calculator and a painter. I will make the apps working and usable now, and also i have made style and script files to make my index html short and clean. Iam also trying to redesign my windows look.
#WebOS 2 I have updated the WebOS into WebOS 2, Here is what i changed, 1, Added a Calculator which is really works 2, Updated the window style and its header 3, added a google search option 4, instead just one wallpaper, i used a api key to fetch new wallpaper every time. 5, updated the color and design of quick notes. 6, made every css, js, html files separated from each other. it helps to solve erros more fast and easily 7, updated the Guide into a welcome page
Ships:
I have built a WebOS that runs in Website. It has 3 built in apps, They are the Guide, Flappy Bird, Notepad. Its a simple project. Anyone can play this by clicking in the logo. The Javascript part was most challenging for me, it was very hard to write.
#WebOS 2 I have updated the WebOS into WebOS 2, Here is what i changed, 1, Added a Calculator which is really works 2, Updated the window style and its header 3, added a google search option 4, instead just one wallpaper, i used a api key to fetch new wallpaper every time. 5, updated the color and design of quick notes. 6, made every css, js, html files separated from each other. it helps to solve erros more fast and easily 7, updated the Guide into a welcome page...
|
1793220903.0108588
|
1793307303.0108588
|
|
68708
|
pet bird by @Quasar | Stardance
|
Quasar
|
0
|
1.55
|
0
|
[]
|
[{"post_id": 78802, "ts": "202 [{"post_id": 78802, "ts": "2026-10-11T17:17:50Z", "hours": 1.5506, "text": "working on movement"}]...
|
Title: pet bird by @Quasar | Stardance
Devlogs:
w Title: pet bird by @Quasar | Stardance
Devlogs:
working on movement...
|
1793123614.4302604
|
1793728414.4302604
|
|
68250
|
Abdul's Site by @SpaceRanger | Stardance
|
SpaceRanger
|
1
|
3.0
|
12
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T17:25:47Z", "hours": 3.0, "multiplier": 3.43, "payout": 12, "blessing": "neutral", "text": "Made my personal website. Been meaning to for a while. It’s Nothing special, But it’s all I need.", "repo": "https://github.com/abdulgafarabdurrasheed/Abdul-s-Website", "demo": "https://devabdulsite.netlify.app/"}]...
|
[{"post_id": 78801, "ts": "202 [{"post_id": 78801, "ts": "2026-10-11T17:14:47Z", "hours": 0.2814, "text": "Final tweaks. Ready to ship now."}, {"post_id": 78786, "ts": "2026-10-11T16:28:33Z", "hours": 0.6397, "text": "Changelog tweaks and updates ( 668bf78 ) section info and general styling ( 4d03cc2 ) fixed naming issue ( 703ca92 ) fix deploying failed cause of fsevents ( fe68974 ) Added detailing to the Site. My escapades are now details on there. Ready to ship, but I Just need to do one more thing."}, {"post_id": 77410, "ts": "2026-10-06T21:16:05Z", "hours": 0.5447, "text": "Added Nav Icons thant remain when Nav is collapsed(AI did most of this). Now I can actually begin filling in info. Changelog added nav icons ( 9afecd8 )"}, {"post_id": 77389, "ts": "2026-10-06T19:27:43Z", "hours": 0.455, "text": "Changelog added video background ( 5b61f31 ) Site now uses Video Background from different anime. Spent atleast 2 hours sourcing for, and editing videos. TCH"}, {"post_id": 77296, "ts": "2026-10-06T13:53:57Z", "hours": 1.5481, "text": "Changelog collapsible navbar ( 5a5e017 ) I have been able to acheive a collapsible Navbar. Crazy how much I have forgotten basic things lol. Always happens."}]...
|
Title: Abdul's Site by @SpaceRanger | Stardanc Title: Abdul's Site by @SpaceRanger | Stardance
Devlogs:
Changelog collapsible navbar ( 5a5e017 ) I have been able to acheive a collapsible Navbar. Crazy how much I have forgotten basic things lol. Always happens.
Changelog added video background ( 5b61f31 ) Site now uses Video Background from different anime. Spent atleast 2 hours sourcing for, and editing videos. TCH
Added Nav Icons thant remain when Nav is collapsed(AI did most of this). Now I can actually begin filling in info. Changelog added nav icons ( 9afecd8 )
Changelog tweaks and updates ( 668bf78 ) section info and general styling ( 4d03cc2 ) fixed naming issue ( 703ca92 ) fix deploying failed cause of fsevents ( fe68974 ) Added detailing to the Site. My escapades are now details on there. Ready to ship, but I Just need to do one more thing.
Final tweaks. Ready to ship now.
Ships:
Made my personal website. Been meaning to for a while. It’s Nothing special, But it’s all I need....
|
1793217231.449548
|
1793303631.449548
|
|
876
|
Shattered Realm by @Creamy | Stardance
|
Creamy
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-02T13:43:52Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple platformer for my first ever game! not much to see but not bad for my first platformer.", "repo": "https://github.com/fakechrissy0-afk/Shattered-Realm-unfinished", "demo": "https://creamyfish.itch.io/shattered-realms"}]...
|
[{"post_id": 788, "ts": "2026- [{"post_id": 788, "ts": "2026-06-02T13:41:59Z", "hours": 0.7472, "text": "Not finshing this, not good at platformer for now"}, {"post_id": 284, "ts": "2026-06-01T14:56:18Z", "hours": 0.9342, "text": "Working on a platformer!"}]...
|
Title: Shattered Realm by @Creamy | Stardance
Dev Title: Shattered Realm by @Creamy | Stardance
Devlogs:
Working on a platformer!
Not finshing this, not good at platformer for now
Ships:
I made a simple platformer for my first ever game! not much to see but not bad for my first platformer....
|
1793245848.5141873
|
1793332248.5141873
|
|
65902
|
Ani-Pad by @Athannn | Stardance
|
Athannn
|
0
|
7.65
|
0
|
[]
|
[{"post_id": 78798, "ts": "202 [{"post_id": 78798, "ts": "2026-10-11T17:06:27Z", "hours": 0.4228, "text": "Devlogg #6 Wlcm back to Ani-Pad. I will be keeping this devlog rly short as I am very Tired today, so i only worked for abt 20 mins. What I did was arrange the diodes according to the design though I changed the position of the upper 2 diodes. You can see the current pcb layout below. Now I gotta learn how to route a pcb"}, {"post_id": 77748, "ts": "2026-10-08T04:52:17Z", "hours": 0.9086, "text": "Devlogg #5 Wlcm back to Anipad. So yesterdayy I did the final design and thinking what it should be. Soo today what I have done is I finally tried to replicate the design onto the PCB builder. So I have arranged all the components, as you can see in the image attached below, in the proper order and the layout that I have finalized on the paper while designing the Anipad. Mostly, I just need to make some accurate symmetric distances now. It’s mostly all done, just some distance adjustment, so I can just properly select the part of the cutting about the size that I am planning for. About thats all I need to do rnn (also placing the diodes ), after that, I will just start the routing, and my PCB will be done soon. After that, I will be doing the case building, then comes the firmware. That’s pretty much it. TYSMMM for Reading GNGG"}, {"post_id": 77707, "ts": "2026-10-08T00:27:24Z", "hours": 1.0506, "text": "Devlogg #4 Wlcm back to Anirpad. So like I mentioned in the last devlog, this devlog, I am mostly focused on finalizing what is my orientation layout and design of the actual PCB and the actual Hackpad will be. Sooo I mostly designed this orientation. There’s the rotatory encoder in the corner, then there’s a four by four, switch groups you can say ig & Overall, this design, I was like, “Ywahh, this is how my Hackpad is going to look,” after rejecting quite a few designs that I drew up. Then after finalizing this idea, then I just tried to draw it in a much more proper way. Yeah, I haven’t used a scale though, so the drawing may look pretty bad. But yeah, bro, it’s pretty good considering that I haven’t used any scale. It was just my hand and pencil and paper. I have also attached the very image of that sketch below so you can have a look. That’s pretty much it, as to what I did in this devloggg. TYSMMMM !!"}, {"post_id": 77496, "ts": "2026-10-07T07:39:32Z", "hours": 2.0033, "text": "Devlogg #3 Wlcm back to Anipad. So I’ve done quite some work on the PCB. First of all, I linked all the footprints. It took me quite a while to find because I wasn’t that familiar with the KiCad software. So then I looked up some repos of past works that have been already submitted into Stardance for the Hackpad mission. And after looking into their KiCad files, I finally got what are the exact names for the footprints. So I linked the footprints to the schematic symbols and then started placing it on the main PCB builder. Right now, I have aligned them into a basic grid. I think so. I’m not that good at using it yet. So I just have tried my best to align it, but it’s not proper yet. But this is the basic grid and I have put all the diodes just beside them (the switches). I’m right now thinking about the proper design I could make for the pcb shape & component placement. I did this to get more familiar with how to exactly place them. And Rnn if I want to, I can just wire it up, but I will probably just add some more design variation and change the placement of the switches rather than keeping it just a simple grid. And that’s what I mainly plan over here. So this was the devloggg. Ywahh, I know it’s pretty short You can see the cool images below, TYSMMM GNG !!"}, {"post_id": 76360, "ts": "2026-10-03T09:29:56Z", "hours": 0.8517, "text": "Devlogg #2 Welcome back to AniPad. So what I basically did was I finally thought of what my keypad is consisting of as for the parts that I have finalized, I will be using about 12 switches. Yup, all the switches that are included in the kit and one of those rotatory switch or whatever that encoder stuff is. Ywahh, that rotatory component. I think so you understand what I meant, that thing. And I’m still not sure about the OLED, so I haven’t linked it into my schematic yet. So I am also attaching my schematics picture below. If there’s any fault or any problem or anything I need to improve, please let me know because I’m fairly new to this. So I don’t really know if I’m doing things right. I have also put up a post in Slack, so let’s see if there are any changes that I need to do on my existing schematic, and I will decide whether or not to include the OLED in the next dev log or next sprint, you can say. TYSMM for reading my devlog"}, {"post_id": 76017, "ts": "2026-10-02T02:26:36Z", "hours": 2.4156, "text": "Devlogg #1 Welcome to the first devlog of AniPad. So AniPad, is a hack pad mission project that is basically aiming to make a hack pad, which has an anime based based design (like on the case or probably i will use some stickers). As for what I did was I didn’t really know anything about PCBs or models or anything at all. So what I did first was, I downloaded the apps mentioned in the guide, and then I watched some YouTube video and tried to build along the YouTube video, trying to first get to know how KiCad really works. And so I have built a 3x3 switch matrix schematic. After that, what I did next was I tried to design. I’ve made that 3x3 matrix so I could at least know how to use the KiCad software and get some hands-on experience as to how it really works. So now what I thought is let’s now come up with my own layout as for how I am going to have my actual hack pad to be. So I was just brainstorming a design. So after that, what I did was I made the design on a paper sheet, and then I replicated it on my tablet. Because if it’s on tablet, then it’s more easier to see the symmetricalness because when I tried it on paper, it was pretty hard for me to draw them in the same size because I didn’t really have a scale on my hand right now. So ywah, I just shifted to my tablet after I had the rough idea of how it should look on a paper sheet. I have also attached the tablet drawing, which I did in the lapse. And after the lapse, I also wrote what are the main instructions. So it’s basically the mostly like a design sheet for my project. I have also wrote all the things that I have to keep in mind, what are the things like get parts, etc. btw I’m not really sure about this design yet. btw in the next dev log, I will most probably be finalizing a design, and after that, I will be starting working on the actual schematics and etc, based on how I am going to make the project. That’s basically it in this devlog. TYSMMM for Reading :)"}]...
|
Title: Ani-Pad by @Athannn | Stardance
Devlogs:
D Title: Ani-Pad by @Athannn | Stardance
Devlogs:
Devlogg #1 Welcome to the first devlog of AniPad. So AniPad, is a hack pad mission project that is basically aiming to make a hack pad, which has an anime based based design (like on the case or probably i will use some stickers). As for what I did was I didn’t really know anything about PCBs or models or anything at all. So what I did first was, I downloaded the apps mentioned in the guide, and then I watched some YouTube video and tried to build along the YouTube video, trying to first get to know how KiCad really works. And so I have built a 3x3 switch matrix schematic. After that, what I did next was I tried to design. I’ve made that 3x3 matrix so I could at least know how to use the KiCad software and get some hands-on experience as to how it really works. So now what I thought is let’s now come up with my own layout as for how I am going to have my actual hack pad to be. So I was just brainstorming a design. So after that, what I did was I made the design on a paper sheet, and then I replicated it on my tablet. Because if it’s on tablet, then it’s more easier to see the symmetricalness because when I tried it on paper, it was pretty hard for me to draw them in the same size because I didn’t really have a scale on my hand right now. So ywah, I just shifted to my tablet after I had the rough idea of how it should look on a paper sheet. I have also attached the tablet drawing, which I did in the lapse. And after the lapse, I also wrote what are the main instructions. So it’s basically the mostly like a design sheet for my project. I have also wrote all the things that I have to keep in mind, what are the things like get parts, etc. btw I’m not really sure about this design yet. btw in the next dev log, I will most probably be finalizing a design, and after that, I will be starting working on the actual schematics and etc, based on how I am going to make the project. That’s basically it in this devlog. TYSMMM for Reading :)
Devlogg #2 Welcome back to AniPad. So what I basically did was I finally thought of what my keypad is consisting of as for the parts that I have finalized, I will be using about 12 switches. Yup, all the switches that are included in the kit and one of those rotatory switch or whatever that encoder stuff is. Ywahh, that rotatory component. I think so you understand what I meant, that thing. And I’m still not sure about the OLED, so I haven’t linked it into my schematic yet. So I am also attaching my schematics picture below. If there’s any fault or any problem or anything I need to improve, please let me know because I’m fairly new to this. So I don’t really know if I’m doing things right. I have also put up a post in Slack, so let’s see if there are any changes that I need to do on my existing schematic, and I will decide whether or not to include the OLED in the next dev log or next sprint, you can say. TYSMM for reading my devlog
Devlogg #3 Wlcm back to Anipad. So I’ve done quite some work on the PCB. First of all, I linked all the footprints. It took me quite a while to find because I wasn’t that familiar with the KiCad software. So then I looked up some repos of past works that have been already submitted into Stardance for the Hackpad mission. And after looking into their KiCad files, I finally got what are the exact names for the footprints. So I linked the footprints to the schematic symbols and then started placing it on the main PCB builder. Right now, I have aligned them into a basic grid. I think so. I’m not that good at using it yet. So I just have tried my best to align it, but it’s not proper yet. But this is the basic grid and I have put all the diodes just beside them (the switches). I’m right now thinking about the proper design I could make for the pcb shape & component placement. I did this to get more familiar with how to exactly place them. And Rnn if I want to, I can just wire it up, but I will probably just add some more design variation and change the placement of the switches rather than keeping it just a simple grid. And that’s what I mainly plan over here. So this was the devloggg. Ywahh, I know it’s pretty short You can see the cool images below, TYSMMM GNG !!
Devlogg #4 Wlcm back to Anirpad. So like I mentioned in the last devlog, this devlog, I am mostly focused on finalizing what is my orientation layout and design of the actual PCB and the actual Hackpad will be. Sooo I mostly designed this orientation. There’s the rotatory encoder in the corner, then there’s a four by four, switch groups you can say ig & Overall, this design, I was like, “Ywahh, this is how my Hackpad is going to look,” after rejecting quite a few designs that I drew up. Then after finalizing this idea, then I just tried to draw it in a much more proper way. Yeah, I haven’t used a scale though, so the drawing may look pretty bad. But yeah, bro, it’s pretty good considering that I haven’t used any scale. It was just my hand and pencil and paper. I have also attached the very image of that sketch below so you can have a look. That’s pretty much it, as to what I did in this devloggg. TYSMMMM !!
Devlogg #5 Wlcm back to Anipad. So yesterdayy I did the final design and thinking what it should be. Soo today what I have done is I finally tried to replicate the design onto the PCB builder. So I have arranged all the components, as you can see in the image attached below, in the proper order and the layout that I have finalized on the paper while designing the Anipad. Mostly, I just need to make some accurate symmetric distances now. It’s mostly all done, just some distance adjustment, so I can just properly select the part of the cutting about the size that I am planning for. About thats all I need to do rnn (also placing the diodes ), after that, I will just start the routing, and my PCB will be done soon. After that, I will be doing the case building, then comes the firmware. That’s pretty much it. TYSMMM for Reading GNGG
Devlogg #6 Wlcm back to Ani-Pad. I will be keeping this devlog rly short as I am very Tired today, so i only worked for abt 20 mins. What I did was arrange the diodes according to the design though I changed the position of the upper 2 diodes. You can see the current pcb layout below. Now I gotta learn how to route a pcb...
|
1793091269.3906758
|
1793696069.3906758
|
|
68966
|
Maru Keyboard by @deadbeef404 | Stardance
|
deadbeef404
|
0
|
4.67
|
0
|
[]
|
[{"post_id": 78797, "ts": "202 [{"post_id": 78797, "ts": "2026-10-11T17:06:09Z", "hours": 2.3167, "text": "I worked on PCB. I completed the placement of the switches and connected the columns and two rows. I did mess up on the placement and now i am having some trouble with the connections they are a mess but oh well its too late to go back so i am just going to proceed."}, {"post_id": 78365, "ts": "2026-10-10T15:53:27Z", "hours": 2.3544, "text": "Ok so I did make a log but idk y its not showing anyways, I am making a keyboard and I have so far completed the schematics and I am half way done thru the pcb."}]...
|
Title: Maru Keyboard by @deadbeef404 | Stardance
Title: Maru Keyboard by @deadbeef404 | Stardance
Devlogs:
Ok so I did make a log but idk y its not showing anyways, I am making a keyboard and I have so far completed the schematics and I am half way done thru the pcb.
I worked on PCB. I completed the placement of the switches and connected the columns and two rows. I did mess up on the placement and now i am having some trouble with the connections they are a mess but oh well its too late to go back so i am just going to proceed....
|
1793127269.2062125
|
1793732069.2062125
|
|
51969
|
coffeeTracker by @skyFonix | Stardance
|
skyFonix
|
1
|
38.0
|
388
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T18:48:25Z", "hours": 38.0, "multiplier": 8.44, "payout": 388, "blessing": "neutral", "text": "coffeeTracker The reason The reason I made this project was because my dad asked me whether I could develop a solution for tracking coffee usage at his workplace, because it was a real mess without a central system. Features User account registration without any permission First user to register automatically becomes the admin Everyone else has to be approved by the admin if the account wasn’t created from the admin dashboard The whole system works based on pools, every coffee machine at an office is considered a pool, each of them have a separate transaction list. Every user has a different balance for all of them! Clear UI with big buttons for the four main functions Drink (“Ivás”): The user can either choose a predefined strength of coffee or can enter a custom amount in gramms, people can only drink from a pool if the user has enough money to pay for the coffee and the pool has enough coffee to drink from Add coffee (“Kávé hozzáadása”): The user can register coffee that they bought with their own money!. They need to enter the amount and cost of it! Add money (“Pénz hozzáadása”): The user can register a money only transaction, the system treats it differently to a coffee add transaction, since it doesn’t physically add coffee to the pool Use Money (“Pénz felhasználása”): Since the system treats money only and coffee transactions this serves the function of using up the funds from money only transactions in the pool! Any transaction can be edited: Users can only edit their transactions for a limited time, while admins can edit all transactions at any point in time right from the dashboard! Profile pictures: Any user can set a profile picture, it has no usefulness, but it’s fun. Admins can administer profile pics to any user these pictures can also be removed! Upcoming features: Statistics: These aren’t implemented yet, because I’m not sure what will be needed in everyday usage, so I decided it’s better to let the environment decide. Difficulties: One of the biggest challenges of this project was the logic behind handling and updating transactions and pool balances I also found working with modals a bit inconvenient and ugly at times, but got used to them by the end Demo: https://democoffee.cigoria.eu ADMIN User: demoadmin Password: password USER User: demouser Password: password1", "repo": "https://github.com/FonixPython/coffeeTracker", "demo": "https://democoffee.cigoria.eu"}]...
|
[{"post_id": 78795, "ts": "202 [{"post_id": 78795, "ts": "2026-10-11T16:58:47Z", "hours": 6.9053, "text": "Final devlog before first ship! I translated the whole thing to Hungarian because the environment that it will be used in required it! I implemented a money usage transaction I also implemented editing of transactions for both users and admins, admins can edit transaction anytime, users can only edit transactions the hour after it was made! QR support was also implemented, these can be printed out and when scanned they bring the user right to the correct pool for quick transactions"}, {"post_id": 71142, "ts": "2026-09-20T10:52:55Z", "hours": 9.0417, "text": "It seems like I’m still keeping my track record of not making enough devlogs. Things that have changed since last time: I added support for profile pictures A top bar was added for access to the admin panel, user editor and the logout button! I started making the home page functional, adding coffee, adding money and drinking coffee are now functional! Challenging things: As per usual my procrastination did not help the progress of the project I spent the last half an hour figuring out why the checks for drinking coffee weren’t working, it turned out to be quite a dumb mistake Things left to do: Use money from pool function Edit transaction for users and admins Generate QR code for pool with a printable .pdf Statistics: Coffee drinking leader board Coffee buying leader board Monthly drinking summaries Drinking frequency stats throughout the day Display amount of money actually spent on coffee and amount of money that’s just money"}, {"post_id": 67364, "ts": "2026-09-13T13:25:23Z", "hours": 2.86, "text": "Accounts can finally be properly edited from the admin panel, next up is the profile picture support!"}, {"post_id": 66777, "ts": "2026-09-12T17:43:33Z", "hours": 9.7572, "text": "Damn it, I’m devloging almost 10 hours of work again! I everything I did was on the admin page side of things, forgot to devlog tho… Admin can create, edit and delete pools Admin can create, edit and delete coffee variations (how strong a coffee can be) Admin can register, accept, edit and delete users Currently the most challenging part of this project is battling my ADHD brain and trying not to procrastinate on it. :("}, {"post_id": 53987, "ts": "2026-08-24T18:23:40Z", "hours": 6.5903, "text": "Big devlog - backend work mostly finished Things added Authentication systems with tokens stored inside of a cookie CRUD for pools for admins CRUD for transactions for admins and users CRUD for variations for admins Frontend Tasks Connect the login page to backend Connect user dashboard to backend Add modals to user dashboard Add notifications to user dashboard Connect admin dashboard to backend Create statistics diagrams Backend Tasks Profile picture support, db table already there, but uploads and such aren’t yet implemented, I’m unsure of when to handle them"}, {"post_id": 51257, "ts": "2026-08-20T19:53:10Z", "hours": 1.8378, "text": "Finished with the basic design of the user dashboard! Also optimized it for mobile devices, since that’s going to be the primary target device!"}, {"post_id": 51182, "ts": "2026-08-20T18:00:46Z", "hours": 0.8058, "text": "Login panel design finished"}, {"post_id": 51092, "ts": "2026-08-20T16:17:02Z", "hours": 0.4714, "text": "Finished with schema design!"}]...
|
Title: coffeeTracker by @skyFonix | Stardance
Dev Title: coffeeTracker by @skyFonix | Stardance
Devlogs:
Finished with schema design!
Login panel design finished
Finished with the basic design of the user dashboard! Also optimized it for mobile devices, since that’s going to be the primary target device!
Big devlog - backend work mostly finished Things added Authentication systems with tokens stored inside of a cookie CRUD for pools for admins CRUD for transactions for admins and users CRUD for variations for admins Frontend Tasks Connect the login page to backend Connect user dashboard to backend Add modals to user dashboard Add notifications to user dashboard Connect admin dashboard to backend Create statistics diagrams Backend Tasks Profile picture support, db table already there, but uploads and such aren’t yet implemented, I’m unsure of when to handle them
Damn it, I’m devloging almost 10 hours of work again! I everything I did was on the admin page side of things, forgot to devlog tho… Admin can create, edit and delete pools Admin can create, edit and delete coffee variations (how strong a coffee can be) Admin can register, accept, edit and delete users Currently the most challenging part of this project is battling my ADHD brain and trying not to procrastinate on it. :(
Accounts can finally be properly edited from the admin panel, next up is the profile picture support!
It seems like I’m still keeping my track record of not making enough devlogs. Things that have changed since last time: I added support for profile pictures A top bar was added for access to the admin panel, user editor and the logout button! I started making the home page functional, adding coffee, adding money and drinking coffee are now functional! Challenging things: As per usual my procrastination did not help the progress of the project I spent the last half an hour figuring out why the checks for drinking coffee weren’t working, it turned out to be quite a dumb mistake Things left to do: Use money from pool function Edit transaction for users and admins Generate QR code for pool with a printable .pdf Statistics: Coffee drinking leader board Coffee buying leader board Monthly drinking summaries Drinking frequency stats throughout the day Display amount of money actually spent on coffee and amount of money that’s just money
Final devlog before first ship! I translated the whole thing to Hungarian because the environment that it will be used in required it! I implemented a money usage transaction I also implemented editing of transactions for both users and admins, admins can edit transaction anytime, users can only edit transactions the hour after it was made! QR support was also implemented, these can be printed out and when scanned they bring the user right to the correct pool for quick transactions
Ships:
coffeeTracker The reason The reason I made this project was because my dad asked me whether I could develop a solution for tracking coffee usage at his workplace, because it was a real mess without a central system. Features User account registration without any permission First user to register automatically becomes the admin Everyone else has to be approved by the admin if the account wasn’t created from the admin dashboard The whole system works based on pools, every coffee machine at an office is considered a pool, each of them have a separate transaction list. Every user has a different balance for all of them! Clear UI with big buttons for the four main functions Drink (“Ivás”): The user can either choose a predefined strength of coffee or can enter a custom amount in gramms, people can only drink from a pool if the user has enough money to pay for the coffee and the pool has enough coffee to drink from Add coffee (“Kávé hozzáadása”): The user can register coffee that they bought with their own money!. They need to enter the amount and cost of it! Add money (“Pénz hozzáadása”): The user can register a money only transaction, the system treats it differently to a coffee add transaction, since it doesn’t physically add coffee to the pool Use Money (“Pénz felhasználása”): Since the system treats money only and coffee transactions this serves the function of using up the funds from money only transactions in the pool! Any transaction can be edited: Users can only edit their transactions for a limited time, while admins can edit all transactions at any point in time right from the dashboard! Profile pictures: Any user can set a profile picture, it has no usefulness, but it’s fun. Admins can administer profile pics to any user these pictures can also be removed! Upcoming features: Statistics: These aren’t implemented yet, because I’m not sure what will be needed in everyday usage, so I decided it’s better to let the environment decide. Difficulties: One of the biggest challenges of this project was the logic behind handling and updating transactions and pool balances I also found working with modals a bit inconvenient and ugly at times, but got used to them by the end Demo: https://democoffee.cigoria.eu ADMIN User: demoadmin Password: password USER User: demouser Password: password1...
|
1793152211.712869
|
1793238611.712869
|
|
67437
|
verxxor.V2 by @wnxvra011 | Stardance
|
wnxvra011
|
1
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T18:24:33Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "yea tuff game i thought i would come easy but some how took 20+hrs and now I can feel like a gamedev, crazyyyy!!", "repo": "https://github.com/spyx011/VREXXOR", "demo": "https://wnxvra.itch.io/verxxor"}]...
|
[{"post_id": 78794, "ts": "202 [{"post_id": 78794, "ts": "2026-10-11T16:55:57Z", "hours": 2.4319, "text": "yea guy’s!! today I add my game to github and add a demo link so you guy’s try my game …"}, {"post_id": 78379, "ts": "2026-10-10T16:35:53Z", "hours": 7.6614, "text": "Finally, VREXXOR is complete! 🔥VREXXOR is a 2D platformer game inspired by classic Mario-style games, built using Godot Engine and GDScript.🛠️ What I built🎮 Main menu with Start Game, Options, and Exit buttons🗺️ Four playable levels: game, game2, game3, and game4🦠 Enemies, kill zones, and player death mechanics🏆 Winner screen with a Next Level button🔄 Level progression from one stage to the next🎨 Game visuals, animations, and sound effects💻 Uploaded the project to GitHub💡 What I learnedDuring this project, I learned more about GDScript, scene management, signals, collision layers, game logic, and connecting different scenes together. I also learned how to use Git and GitHub to publish my code.There were bugs along the way, but I kept debugging and improving the game until everything worked!🚀 What’s next?This is a big milestone in my game-development journey. I’m proud to have completed my project and excited to build even better games in the future. Project: VREXXOR Engine: GodotLanguage: GDScriptStatus: ✅ Completed Thanks for following my journey! 🎉"}, {"post_id": 77357, "ts": "2026-10-06T17:22:12Z", "hours": 1.7553, "text": "yea!! guy’s today i fixed all the errors and made some slime and I also added jump animations also for run,some more coin’s and some sound’s which make’s it crazy!!!"}, {"post_id": 77058, "ts": "2026-10-05T14:50:27Z", "hours": 5.2172, "text": "guy’s today I made a player,and the ground and add some GD.code and it looks up nice"}, {"post_id": 76464, "ts": "2026-10-03T16:34:29Z", "hours": 2.8994, "text": "hii!! guy’s today I made the starting screen for my game which looks crazy and i will change the botton’s and I also made the game a bit but for now I am good with my game"}]...
|
Title: verxxor.V2 by @wnxvra011 | Stardance
Devlo Title: verxxor.V2 by @wnxvra011 | Stardance
Devlogs:
hii!! guy’s today I made the starting screen for my game which looks crazy and i will change the botton’s and I also made the game a bit but for now I am good with my game
guy’s today I made a player,and the ground and add some GD.code and it looks up nice
yea!! guy’s today i fixed all the errors and made some slime and I also added jump animations also for run,some more coin’s and some sound’s which make’s it crazy!!!
Finally, VREXXOR is complete! 🔥VREXXOR is a 2D platformer game inspired by classic Mario-style games, built using Godot Engine and GDScript.🛠️ What I built🎮 Main menu with Start Game, Options, and Exit buttons🗺️ Four playable levels: game, game2, game3, and game4🦠 Enemies, kill zones, and player death mechanics🏆 Winner screen with a Next Level button🔄 Level progression from one stage to the next🎨 Game visuals, animations, and sound effects💻 Uploaded the project to GitHub💡 What I learnedDuring this project, I learned more about GDScript, scene management, signals, collision layers, game logic, and connecting different scenes together. I also learned how to use Git and GitHub to publish my code.There were bugs along the way, but I kept debugging and improving the game until everything worked!🚀 What’s next?This is a big milestone in my game-development journey. I’m proud to have completed my project and excited to build even better games in the future. Project: VREXXOR Engine: GodotLanguage: GDScriptStatus: ✅ Completed Thanks for following my journey! 🎉
yea guy’s!! today I add my game to github and add a demo link so you guy’s try my game …
Ships:
yea tuff game i thought i would come easy but some how took 20+hrs and now I can feel like a gamedev, crazyyyy!!...
|
1793155823.0719216
|
1793242223.0719216
|
|
28229
|
Website by @skyFonix | Stardance
|
skyFonix
|
2
|
44.11
|
471
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T18:07:52Z", "hours": 31.0, "multiplier": 15.38, "payout": 471, "blessing": "neutral", "text": "Lots of changes were made Everything that was static before, is now rendered dynamically from a database! Added a dashboard where I can add projects, upload assets, upload images and edit all of the about information. For the gallery I added a tagging system that can be updated from the dashboard. The site also implements exif data storage, so I anyone can view the camera, lens and settings used to make the photo. There is also a description section for notes. The gallery is render in a style similar to unsplash, the site is divided into columns, which are dinamically added and destroyed, based on the viewport width. Each image displayed keeps it’s original aspect ratio.", "repo": "https://github.com/FonixPython/main-site", "demo": "https://skyfonix.cigoria.eu/"}, {"ship_num": 2, "ts": "2026-08-03T15:32:38Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own personal website!", "repo": "https://github.com/FonixPython/main-site", "demo": "https://skyfonix.cigoria.eu/"}]...
|
[{"post_id": 78791, "ts": "202 [{"post_id": 78791, "ts": "2026-10-11T16:40:32Z", "hours": 8.1092, "text": "Dashboard redesign! I got fed up with the old design as it was quite uncomfortable to use tbh, everything was layed out vertically, so it felt pretty cramped, so I changed it to a sidebar design! I also replaced most of the inline editing stuff, so creating and editing projects now happen in modals. Uploading and tagging photographs also moved to a modal with real time suggestions too!"}, {"post_id": 45297, "ts": "2026-08-11T17:40:23Z", "hours": 1.0622, "text": "Even though I said I’ll just deploy, I added mass uploads, deployed, and then started filling the site with content! The next major ship is right around the corner!"}, {"post_id": 45164, "ts": "2026-08-11T14:07:42Z", "hours": 2.7383, "text": "Image viewer, yay! I just need to get this whole thing to prod now."}, {"post_id": 44795, "ts": "2026-08-10T20:10:28Z", "hours": 3.7419, "text": "New devlog Things I added: Added the gallery page to the website’s public part with an image display section similar to the one on unsplash.(Mine’s a bit worse, but it’s mine) I also implemented tag based filtering! Also added a friendlier navigation panel for mobile users! Next up: A way to view the image in big in full resolution, I already designed it in figma , so now I just need to implement it! Code base and assets cleanup. Deployment and ship! :)"}, {"post_id": 44055, "ts": "2026-08-09T15:59:50Z", "hours": 2.2181, "text": "Added not too good looking, but functional controls for the dashboard for the gallery feature. I think I’ll redesign the whole page someday, but that won’t be today."}, {"post_id": 43905, "ts": "2026-08-09T10:56:27Z", "hours": 2.3664, "text": "Added the backend side of things for the gallery!"}, {"post_id": 41819, "ts": "2026-08-06T08:32:35Z", "hours": 2.0781, "text": "Added uploads to the site, so I don’t have to rely on external services for assets"}, {"post_id": 41333, "ts": "2026-08-05T14:14:17Z", "hours": 6.415, "text": "Backend updates: Authentication works now Adding projects to the backend and displaying them also works perfectly Added ability to edit the website title, about text, socials, and email"}, {"post_id": 40960, "ts": "2026-08-04T20:27:13Z", "hours": 10.2986, "text": "Making this devlog cause I have to I feel useless :( I wasted so much time on this project today it’s not even funny. 8 hours or so currently, and not even half done with a single very simple feature, I’m usually much much more efficient, I almost gave up on the whole thing a good couple of times, anyways here is a screenshot from the dashboard in it’s current state. I promise the next devlog will actually be a worthy one!"}, {"post_id": 39948, "ts": "2026-08-03T08:54:57Z", "hours": 1.3614, "text": "Finished with the about section, also added a footer!"}, {"post_id": 39685, "ts": "2026-08-02T20:26:20Z", "hours": 3.2778, "text": "Decided on writing my personal, mostly static website in React, because I’ve never used it so I wanted to get a little practice with it! I’m currently making an about section and then I’ll submit it since it qualifies for the personal site, mission, once I submit it I’ll begin working on actual features like an image gallery for my photography and a blogging system, also plan to migrate the project from being static to having their own place in a database which I can edit from a dashboard and stuff. What I’m done with so far: Topbar with navigation Hero section with an animated welcome message Projects section with some projects already placed into it"}]...
|
Title: Website by @skyFonix | Stardance
Devlogs:
Title: Website by @skyFonix | Stardance
Devlogs:
Decided on writing my personal, mostly static website in React, because I’ve never used it so I wanted to get a little practice with it! I’m currently making an about section and then I’ll submit it since it qualifies for the personal site, mission, once I submit it I’ll begin working on actual features like an image gallery for my photography and a blogging system, also plan to migrate the project from being static to having their own place in a database which I can edit from a dashboard and stuff. What I’m done with so far: Topbar with navigation Hero section with an animated welcome message Projects section with some projects already placed into it
Finished with the about section, also added a footer!
Making this devlog cause I have to I feel useless :( I wasted so much time on this project today it’s not even funny. 8 hours or so currently, and not even half done with a single very simple feature, I’m usually much much more efficient, I almost gave up on the whole thing a good couple of times, anyways here is a screenshot from the dashboard in it’s current state. I promise the next devlog will actually be a worthy one!
Backend updates: Authentication works now Adding projects to the backend and displaying them also works perfectly Added ability to edit the website title, about text, socials, and email
Added uploads to the site, so I don’t have to rely on external services for assets
Added the backend side of things for the gallery!
Added not too good looking, but functional controls for the dashboard for the gallery feature. I think I’ll redesign the whole page someday, but that won’t be today.
New devlog Things I added: Added the gallery page to the website’s public part with an image display section similar to the one on unsplash.(Mine’s a bit worse, but it’s mine) I also implemented tag based filtering! Also added a friendlier navigation panel for mobile users! Next up: A way to view the image in big in full resolution, I already designed it in figma , so now I just need to implement it! Code base and assets cleanup. Deployment and ship! :)
Image viewer, yay! I just need to get this whole thing to prod now.
Even though I said I’ll just deploy, I added mass uploads, deployed, and then started filling the site with content! The next major ship is right around the corner!
Dashboard redesign! I got fed up with the old design as it was quite uncomfortable to use tbh, everything was layed out vertically, so it felt pretty cramped, so I changed it to a sidebar design! I also replaced most of the inline editing stuff, so creating and editing projects now happen in modals. Uploading and tagging photographs also moved to a modal with real time suggestions too!
Ships:
I made my own personal website!
Lots of changes were made Everything that was static before, is now rendered dynamically from a database! Added a dashboard where I can add projects, upload assets, upload images and edit all of the about information. For the gallery I added a tagging system that can be updated from the dashboard. The site also implements exif data storage, so I anyone can view the camera, lens and settings used to make the photo. There is also a description section for notes. The gallery is render in a style similar to unsplash, the site is divided into columns, which are dinamically added and destroyed, based on the viewport width. Each image displayed keeps it’s original aspect ratio....
|
1793252960.0144355
|
1793339360.0144355
|
|
4967
|
slackzilla 🦖🦖 by @rylvion | Stardance
|
rylvion
|
0
|
151.14
|
0
|
[]
|
[{"post_id": 78787, "ts": "202 [{"post_id": 78787, "ts": "2026-10-11T16:34:14Z", "hours": 31.9517, "text": "devlog 11 - ADMIN EHANCEMENTS: errors views, log archiving & restoration, logs deletion controls, RAG IMPROVEMENTS AND MORE… date: 11/10/2026 time logged: 31hr 57m version: v0.9.6-beta this release focused on making Slackzilla easier to debug, manage and understand internally. a LOT of work went into the admin panel, route extraction and testing. 1. admin panel got some SERIOUS upgrades added 3 new admin pages for server events, errors and logs. also split admin.css into separate stylesheets because one giant stylesheet isn’t exactly a maintenance strategy. error monitoring added an error viewer with timestamps, stack traces and source files improved error messages to make them more user-friendly log management added a log archive viewer with backup timestamps, line counts and file sizes added backup restoration and switching added controls to delete specific lines, ranges or the last X lines added log rotation and telemetry reset controls added the /log-archives admin endpoint 7 new admin controls: delete-logs , delete-lines , delete-last , delete-line , rotate-logs , restore-log and reset-telemetry that’s a LOT more control over server logs than before. 2. endpoints & session security added 4 new endpoints : 3 admin endpoints: /errors , /errors/stream , /log-archives 1 public endpoint: /api/session /api/session now provides current session information, with csrfToken moved from /api/admin/summary to the new endpoint. also fixed the CSRF token not appearing in the document head. small bug, annoying consequences. removed the children=[] pattern from routes.js and its associated dependencies. 3. RAG / code parser improvements route extraction got a substantial upgrade. detects routes using exact path checks, prefix checks and array-based matching improved HTTP method inference for conditional routes, including GET and POST merges duplicate route entries and inferred methods expanded discovery beyond server/api/ , including /webhook and /admin/login improved /api/routes to return supported methods, match types, source files and line numbers the goal: give the RAG system more accurate route information instead of confidently retrieving incomplete or duplicated data. ᕦ(ò_óˇ)ᕤ 4. AI activity & markdown the AI activity view now displays elapsed time alongside tool summaries and responses, making it easier to follow what the system actually did. replaced the custom Markdown parser with marked AND dompurify for established parsing and HTML sanitisation. switched the configured model from openrouter/free to openai/gpt-6-luna , aiming for better performance and reliability. also deduplicated getReleaseInfo to avoid maintaining redundant version information. 5. testing added 3 npm scripts : test:code-parser for code parser tests test:rag for RAG tests test:all for the broader test suite and validation checks added automated code parser tests covering route extraction, HTTP method inference and deduplication. 6. docs updated README.md and project documentation to reflect the latest endpoints, admin controls, route extraction changes and RAG improvements. documentation staying in sync with the codebase. revolutionary concept, apparently. release summary v0.9.6-beta added: 4 endpoints 7 admin controls 3 admin pages 3 npm testing scripts improved error visibility, log management, session information and route extraction updated Markdown rendering, AI activity information and documentation the main focus was improving maintainability, debugging and the reliability of Slackzilla’s internal tooling. ( ͡° ͜ʖ ͡°) next devlog hint: a terminal is coming. think less clicking through admin pages, more interacting with Slackzilla directly through a terminal interface. details in the NEXT devlog. \(^o^)/"}, {"post_id": 71489, "ts": "2026-09-20T22:15:26Z", "hours": 27.4447, "text": "Devlog 10 - QOL DASHBOARD IMPROVEMENTS, RAG ENHANCEMENTS WITH TOOLS & CACING AND LOTS OF STUFF time logged: 27 hrs 30 mins date: 20/09/2026 version: v0.9.5-beta This devlog is COVERING A LOT of stuff that i did, but im not gonna drag this over like i did from all other devlogs so heres are the features: covering from v0.9.1-beta to v0.9.5-beta, see release-history.json for the full changelog Features added Added RAG TOOLS including getStatus - returns the status of the RAG getCommands - with enhanced filtering (filter by name, usage hint, id, category and fuzzy filter (makes it easier for RAG to find commands)) getReleaseInfo - returns the release info of the CURRENT version and (optionally) any other version (pass it by parameter) runCommand - runs a command by id getLogs - returns recent logs for the RAG to inspect (max 100, default 20) getMetrics - returns the metrics of the RAG (memory usage, cpu usage, etc) getRoutes - returns the routes of the APIs added 3 new scripts ( npm run ) which are rag - runs the RAG with or without the --ai flag to see context/answer cli rag:use-tool - runs a tool by name (with optional parameters) release - appends current release notes from package.json to release-history.json . Added new endpoints /api/telemetry - returns the telemetry history separately from the main status endpoint /api/command/:id - gets or executes a command by id /api/telemetry/stream - streams telemetry updates using SSE /api/admin/server-events - returns server events for the admin dashboard /api/ask - now uses SSE to stream the RAG’s activity ( yers now we can see the RAG in aciton ), context, tool usage, token usage and final response dashboard imporvements added a seperate admin server events page (wevent searching, filtering, prioritisation and stylying) added a command runner on the command page fixed recent activity not showing up on the dashboard Added visible AI activity to the AI page the RAG now emits activity events while processing a question AI page is cached on localStorage so you can go back and forth between pages without losing the AI page state Improved the RAG’s repository awareness added AST-based parsing using acorn and acorn-walk added persistent .rag/index.json added symbol search and dependency analysis added function, export, function call, environment variable and route extraction added richer code context and source metadata added automatic index rebuilding improved path-based dependency detection fixed the RAG detecting references created using path.join(rootDir, ...) add token budgeting and usage tracking. Changed how telemetry is handled telemetry history is no longer included in /api/status or any other endpoints CHANGED all admin endpoints so that none of them has the telemetryHistory anymore Added release history tracking added release-history.json /sz-release can now retrieve release information for different versions npm run release automatically appends the current release notes Tl;DR: RAG got a major upgrade with AST-powered repository indexing (acorn/acorn-walk), persistent indexing via .rag/index.json , symbol search, dependency analysis, function/export/call/env-var/route extraction, richer source metadata, automatic index rebuilding, 7 new RAG tools, 3 new CLI tools, SSE-powered streaming for /api/ask and telemetry, telemetry endpoints, admin server events, live AI activity tracing, token/context/tool usage visibility, AI session caching, release history tracking, telemetry separation from /api/status, admin API cleanup, and a large collection of bug fixes, repository-awareness improvements and major QOL improvements. . hopefully i will be devloging every version till i ship"}, {"post_id": 61072, "ts": "2026-09-03T19:44:37Z", "hours": 29.0225, "text": "Devlog 9: React Dashboard time logged: 29hr 1m date: 03/09/2026 The React dashboard is finally here! I completely migrated the old EJS dashboard with a new React app. THIS will be IS the biggest devlog yet, as it covers a lot of changes and new features. main features added is migration, codebase assistance, graphs, telemetary and a new api. Heres a summary of what i changed renamed src/ to bot/ - this is because its related to the bot and not the server and its not where all the main files are migrated the EJS dashboard into a React app overhauled the UI deleted the pages system and the workflow to build it added a new RAG modal that answers questions about the repo and shows related visual assets (also includes a new rag.js file that handles retrieval and generation of answers) The react dashboard has the following features: 10 pages (Home, Admin, Api, Commands, Docs, Home, Logs, AI, Sitemap, Status) 12 components 8 utilities js exports in the utils/ folder 404 page (with routing) & Error Boundary modal page public AI assistant page with repository-aware retrieval and related visual assets command API with stable IDs, command help, and captured command responses (so API can be called from the dashboard) public status, logs, metrics, command, and AI API endpoints admin feedback controls for filtering, viewing, replying, marking read/unread, and deleting (they dont work on windows only linux) CPU, memory, disk, and network telemetry with responsive graphs and hover data tooltips (so satisfying) Current React Architecture The active client source lives in server/client/src/ . Vite builds it into server/client/dist/ , which is served by server/server.js . React Router renders the page routes declared in server/client/src/components/utils/routes.js . The server still owns the HTTP status code: known browser routes receive the React shell with 200 , while unknown browser routes receive the same shell with 404 so the client can render the NotFound page without hiding the correct HTTP semantics. The old EJS dashboard and static page-generation flow are no longer the active dashboard path. The bot remains in bot/ , separate from the dashboard server, and the server uses explicit Node http handlers under server/api/ . RAG and Command APIs The new /ai page sends questions to POST /api/ask . server/lib/rag.js retrieves relevant repository text while excluding priv/ , .env files, dependencies, logs, and build output. It can identify related image assets such as the calculator flowchart without parsing binary image contents. If configured, the retrieved context is sent to the AI provider; otherwise the endpoint returns a local configuration message and source metadata. Commands are exposed through GET /api/commands , GET /api/commands/:id , and POST /api/commands/:id . The API adapter reuses the same command modules as Slack and captures their responses. The Commands page provides the interactive runner, while the AI page remains focused on repository questions. Explicit natural-language requests can still ask the RAG service to execute a recognised slash command and return its result. Limitations The migration exposed several boundaries that are now documented in docs/ : authentication and CSRF, the webhook protocol, API registration, setup, and RAG behaviour. Runtime persistence is still file-backed through server/database/store.js ; an external database remains a future adapter project rather than a required dependency. Linux systemd controls and deployment scripts are intended for the hosted environment. On Windows local development, the dashboard, APIs, telemetry, and React pages work, but system service actions and Bash deployment are not expected to succeed. The dashboard must be rebuilt and restarted after production client or server changes."}, {"post_id": 48936, "ts": "2026-08-17T14:33:48Z", "hours": 17.7958, "text": "Devlog 8 - server hosted dashboard finally happened time logged: 17hr 47min 45s date: 16/08/2026 The server hosted dashboard is finally here! It is hosted with the webhook, connected to the bot, and shows logs, status, and other information. architecture The Slackzilla server-hosted dashboard is the web control centre sitting alongside the webhook (runs on the same port). The server runs the dashboard, API routes, authentication/session handling, CSRF protection, logging, monitoring and administrative controls. The dashboard has been moving from the earlier static local/pages prototype (see devlog 7) towards an EJS-based server-rendered architecture, with shared layouts/partials and a global dashboard styling system. The server also handles the GitHub deployment webhook on port 9000 , while Nginx sits in front of the application. The dashboard is intended to expose things such as bot status, logs, statistics, monitoring, API documentation and admin controls rather than sshing into the server and running commands manually I’ve been separating the dashboard’s presentation layer, API layer and server logic. During development, I encountered and fixed several contract problems where route modules expected helpers such as context.sendError() and context.sendOk() that the runtime context did not provide. I also changed the authentication-aware API/SSE routes so unauthenticated requests return proper JSON/HTTP responses rather than accidentally redirecting an EventSource connection into an HTML login page. The dashboard has admin-only functionality, CSRF protection and server-side authentication, whilst the bot itself uses Slack’s Events/Slash Command mechanisms for incoming Slack activity. Slack’s Events API delivers subscribed events to the HTTP endpoint, while slash commands are sent to the configured app endpoint via HTTP POST. /api/admin routes are protected by an authenticated admin session and CSRF protection. Admin authentication uses a session cookie, which is only created after logging in through rylvion.hackclub.app/admin/login . The admin password is never stored in plaintext. It is stored as a PBKDF2-HMAC-SHA512 hash in the server environment, using a random salt and a high iteration count. The dashboard does not allow the password to be created or changed, so the server environment must be updated manually before restarting the service. CSRF tokens are generated server-side and sent to the authenticated client via a cookie. For POST requests, the client must return the token in the X-CSRF-Token header, preventing unauthorised or forged requests from triggering admin actions. /api/ (excluding /api/admin ) has no authentication Port 9000 is used for the webhook and the dashboard whilst the bot itself runs on socket mode. The api that currently has these endpoints base url: https://rylvion.hackclub.app/api/ GET /api/status - returns the bot status and other information GET /api/logs - returns the bot logs from slackzilla.log as JSON, including the file size in bytes POST /api/admin/control - allow the admin to control the accepts several actions such as start , stop , restart , redeploy , refresh , refresh-logs , refresh-status (self explanatory actions) with dangerous actions (such as redeploy , restart and stop ) contains a confirmation prompt to prevent accidental execution of the action. GET /api/admin/feedback - returns database feedback as JSON GET /api/admin/feedback/:id - returns the feedback with the given ID as JSON POST /api/admin/feedback/:id - allows the admin to control and accepts 3 actions such as delete , read , unread , respond . GET /api/admin/events - is a SSE (Server Sent Event) endpoint that allows the admin to receive real time events from the server such as logs, status, feedbacks and other information about the bot."}, {"post_id": 38519, "ts": "2026-07-31T22:58:19Z", "hours": 9.9792, "text": "Devlog 7 - Adding a Web Dashboard (locally) time logged: 9hr 58m date: 31/07/2026 ███████╗██╗ █████╗ ██████╗██╗ ██╗███████╗██╗██╗ ██╗ █████╗ ██╔════╝██║ ██╔══██╗██╔════╝██║ ██╔╝╚══███╔╝██║██║ ██║ ██╔══██╗ ███████╗██║ ███████║██║ █████╔╝ ███╔╝ ██║██║ ██║ ███████║ ╚════██║██║ ██╔══██║██║ ██╔═██╗ ███╔╝ ██║██║ ██║ ██╔══██║ ███████║███████╗██║ ██║╚██████╗██║ ██╗███████╗██║███████╗███████╗██║ ██║ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ added a local prototype view of the web dashboard for slackzilla, its hosted on Github Pages and is a static site that is not connected to the bot yet, it shows the design and layout of the dashboard and how it will look when its connected to the bot. the dashboard is designed to be responsive and works on both desktop and mobile devices. it has a clean and modern design that is easy to navigate. for Github Pages hosting, i used gh-pages branch which meant creating a seperate workflow ( pages.yml ) to build and deploy the dashboard to the dist/ folder. before that i needed a way to make it minified and optimised for production, so i used terser , clean-css and html-minifier-terser to minify the js, css and html files respectively, i do realise that this meant adding extra dependencies to the project (even though its not linked to the bot yet). The deployment website will be hosted on the bot’s server ( rylvion.hackclub.app ) and on the same port as the webhook server i also added new logging functionality that return smth like this the one below, this helps me track the usage of the commands and see how many times they have been used, when they were last used and by whom. this will be useful for the dashboard to show command usage statistics and manage command permissions. { \" commands \" : { \" sz-hash \" : { \" count \" : 3 , \" lastUsedAt \" : \" 2026-07-23T13:27:28.116Z \" , \" lastUser \" : \" rylvion \" , \" lastUserId \" : \" U0A84FA2NP2 \" } } } TL;DR: added a local prototype view of the web dashboard for slackzilla, its hosted on Github Pages and is a static site that is not connected to the bot yet, it shows the design and layout of the dashboard and how it will look when its connected to the bot and logging functionality that return command usage statistics and manage command permissions. introduced a new logging system that logs to both console and a file. added command usage tracking to record how often each command is used. enhanced server.js to serve dashboard, logs, and status pages. improved webhook handling and added signature verification. added a new metrics utility and feedback.js for tracking command usage statistics. next devlog will be about connecting the dashboard to the bot & server and making it functional, its gonna be a long one so stay tuned for that"}, {"post_id": 35837, "ts": "2026-07-27T15:06:51Z", "hours": 6.6219, "text": "Devlog 6 - command buffet time logged: 6hr 37m 19s date: 22/07/2026 okay since most of the major architectural refactors are done, i can finally focus on adding more commands to Slackzilla. this devlog is about the new commands that i added to the bot, which are mostly utility commands that can be used for various purposes. base64 encoding hashing - supports multiple algorithms, default: sha256 decoder - decodes every algorithm that hashing supports random ids (uuid) secure tokens random numbers unix date conversion text case conversion (camel, pascal, snake, kebab) character counter rock paper scissors magic 8ball (the only entertainment command added in this devlog) the trickier parts were the input parsers. hash has to decide whether the first word is an algorithm or part of the text, case needs to split words without mangling the content too much, and unix has to switch between timestamps and readable dates without getting confused by weird inputs. i also added guardrails for invalid ranges and missing text so the bot gives a useful reply instead of just silently failing. the fun commands were the easiest win. 8ball just picks from a response list, and rps does a quick match against the player choice and the bot choice to decide whether it was a win, lose, or tie. it is very low stakes code, which is honestly refreshing after the manifest workflow stuff from last time. all utilities commands all have a help command associated to it the current utilities commands include: /sz-base64 - encodes a string to base64 /sz-hash - generates a hash of a string, default: sha256 /sz-decode - decodes a base64 encoded string /sz-uuid - generates a random uuid /sz-token - generates a random secure token /sz-random - generates a random number in a given range /sz-unix - converts a unix timestamp to a human-readable date and vice versa /sz-case - converts a string to camelCase, PascalCase, snake_case, or kebab-case /sz-count - counts the number of characters in a string /sz-rps - plays rock paper scissors with the bot /sz-calc - evaluates mathematical expression so all of it has a 2nd argument for help, so for example /sz-hash help will show the usage and examples of the command. i also added on package.json , 2 new scripts \"validate-commands\" : \"ajv validate -s schemas/command.schema.json -d src/data/commands.json\" , \"cmd-stats\" : \"node scripts/stats.js\" one to validate the commands.json file against the command.schema.json file, and another to provide statistics about the number of commands in the commands.json file. this will help me keep track of how many commands are in the bot and also make sure that the commands.json file is valid before a pull request is merged. currently, the bot has 22 commands in total, and 11 of them are utility commands (10 of them got added into this devlog (excluding the /sz-8ball that also was added in this devlog, but is an entertainment command)). the other 11 commands are the ones that were already in the bot before this devlog. i need some feedback on what other commands i should add to the bot, so if you have any ideas, please let me know. (im running out of ideas * sighs * ) im also planning on adding a web dashboard to the bot, which will allow users to see the bot’s status, logs, and other information in a more user-friendly way. this will be a big change, so stay tuned for that in the next devlog TL;DR: added a bunch of new slash commands for Slackzilla, kept the implementations small and native where possible, and tightened up the input handling so the new tools fail a little more gracefully."}, {"post_id": 33001, "ts": "2026-07-22T15:09:05Z", "hours": 7.1047, "text": "Devlog 5 - manifest workflow time logged: 7hrs 6min 16 sec date: 21/07/2026 ok so i kinda lied in the last devlog. this ended up being another major architectural change to slackzilla. the slack manifest system was always the most brittle part of the pipeline and manually maintaining manifest.json was a guaranteed way to let things drift. today i finally automated the entire manifest workflow. the new setup makes commands.json and meta.js the single source of truth. i wrote a manifest generator that loads all metadata like descriptions colours oauth scopes bot info and merges it with the command definitions to build a complete slack manifest object. once assembled it writes manifest.json and syncs it during deployment. validation is baked directly into the generator. i wired AJV into both stages. every command is validated against command.schema.json and the final manifest is validated again against slack’s official schema. if anything fails the generator stops immediately with a clear error instead of producing a broken file. this caught several issues especially after i moved all schemas into a dedicated schemas/ directory to clean up the project structure. the github actions workflow also got a major overhaul. every push now generates the manifest validates commands and manifest rotates the slack configuration token updates github secrets syncs the manifest through the slack api and deploys the bot. changing a slash command in commands.json now updates both the bot and the slack app config automatically. no more manual edits to manifest.json or the slack app settings. the entire pipeline is now self maintaining and fully automated. token rotation was the biggest pain. slack configuration tokens only last twelve hours so storing them in github secrets was not enough. i created a fine grained github PAT with permission to modify repo secrets and wrote rotateManifestToken.js to handle the full refresh cycle. it rotates the manifest token receives a new refresh token and updates both secrets so the next deployment does not break. i spent way too long debugging an invalid_refresh_token error. note that slack’s copy button does not copy the existing refresh token it generates a new pair. every time i clicked it the previously saved token became invalid instantly. once i realised that i started updating github secrets immediately after copying the new pair so everything stayed in sync. after that the rotated token still was not being passed correctly between github actions steps. i switched to GITHUB_OUTPUT so the rotation step could hand the new token to the manifest sync step. then slack started returning not_authed which led to another rabbit hole. the manifest update endpoint requires the token in the correct auth header not the request body. once i fixed the request format the entire pipeline finally ran clean end to end. See figure 2 for github actions workflow TL;DR slackzilla now auto generates its slack manifest validates everything with AJV rotates configuration tokens syncs the manifest during deployment and updates the bot server with minimal manual work. after a lot of debugging around token rotation schema mismatches and github actions quirks the deployment pipeline is basically self maintaining except refreshing the github PAT every ninety days."}, {"post_id": 30675, "ts": "2026-07-18T13:24:53Z", "hours": 2.345, "text": "Devlog 4: calc and roll commands time logged: 2 hr 20 minutes date: 17/07/2026 today i spent some time reading the Java Shunting Yard Algorithm implementation on GeeksforGeeks . The example focuses entirely on converting an infix expression into postfix form. It scans the expression character by character, places operands directly into the output string, and uses a stack to manage operators based on precedence and associativity. Once the scan is complete, any remaining operators are appended to produce a postfix expression like 5238-52^^/+. The Java version supports operators including + , - , * , / , and ^ , and it handles parentheses, but it stops after producing the postfix representation. It does not evaluate the numerical result. after reading that, i wanted something more complete for Slackzilla. I used the same core idea of converting infix to postfix, but I extended it in several ways. My implementation tokenises the input instead of reading one character at a time, which allows it to support multi digit numbers and decimals. I added unary minus detection so expressions like -3 or 5*-2 behave correctly. One challenge was distinguishing unary minus from subtraction. The parser has to determine whether it starts with a number or subtracts two values depending on the previous token. I kept exponentiation with the correct right associativity. Once the postfix array is built, I added a second stage that evaluates the postfix expression using a number stack. This lets the function return the final computed value rather than just the postfix notation. The result is a more flexible and practical version of the algorithm that fits naturally into Slackzilla and can evaluate real expressions interactively. after finishing the calculator command, I also added another command to Slackzilla called /sz-roll . This command allows users to simulate dice rolls directly inside Slack. It supports normal dice notation like d6 , custom dice sizes like d20 , multiple dice such as 2d6 , and modifiers like 2d20+5 . I added parsing logic to split the dice expression into the amount of dice, number of sides, and any modifier before rolling each dice individually and calculating the final total. I also added a /sz-roll help and /sz-calc help command which explains how to use the command and shows examples of supported formats. also i spent A LOT of time making the flowchart to describe this more than the implementation itself. I think it will be useful for future reference and for anyone else who wants to understand how the algorithm works. i also added json schema validation for commands.json as talked in devlog 2 the commands.json is the source of truth, so i addded a validator.yml to validate the json schema of commands.json and make sure it is valid before a pull request is merged. This will help prevent errors and ensure that the commands are correctly defined. TL;DR: added a calculator using the Shunting Yard algorithm with postfix evaluation, plus a flexible dice rolling command. Also added help commands, a flowchart and automated JSON schema validation. also ill add way more devlogs from now on since most of my last devlogs were major architecture refactor, unless there is a major change, i will just add a small devlog to add a new command/small feature, fix a bug, improve an existing feature and add more documentation."}, {"post_id": 27894, "ts": "2026-07-13T20:15:52Z", "hours": 6.0267, "text": "Devlog 3 - github actions webhook request (13/07/2026) time logged: 6hr 01min i added a webhook dispatcher that automatically triggers a deployment whenever i commit to the main branch. Instead of manually pulling changes on the server and restarting the service myself, the GitHub Action now sends a signed webhook to my deployment server, which verifies it and runs the deploy script for me. i also added 2 more commands /sz-meme - this makes a meme /sz-echo [str] - this echoes the string you can see the flowchart below and see the full devlog 3 here (hyperlinked) TL;DR whenever i commit the server automatically receives it and slackzilla updates to the latest version"}, {"post_id": 21774, "ts": "2026-07-03T21:35:52Z", "hours": 11.0325, "text": "Devlog 2 - server setup & modular command system & more [03/07/2026] time logged: 10hr 59 min so since the last devlog, i’ve have worked on LOADS of things including behind the scene (this doesnt get tracked on hacaktime :( ), i dont even know if this will hit the char limit, but anyways, here are the logs EDIT: IT DID HIT THE CHAR LIMIT, turns out the original devlog was ~9.6k characters 💀 while the limit is only 4k, so this is the shortened version. the full one is still in priv/devlogs/devlog2.md if anyone wants the extended edition.z Commits logs e47c48ac0970b49015e920607a59657259122f2f - made the cur proj into more modular featuring dynamic command loading system w commands.json as the source of truth on this, i figured out that packing every single thing into one file is a bad idea, so i made a modular command system that loads commands dynamically from a commands.json file, this way, i can add new commands without having to touch the main bot.js file, and also, it makes it easier to manage commands since they are all in one place 03b07ffc6f44d0231f9073f637caee1f9437705a) - added more detailed server logging with time & user at the start of most console logs onto terminal [coloured output] this was way more of a pain than i thought it was gonna be. after countless rounds of testing i finally got it working how i wanted. the ansi colours kept either leaking into the rest of the terminal or resetting back to the default colour when i needed them to go back to the current log level. i was genuinely losing my mind because every “fix” just broke something else. after hours of messing around i ended up making a wrapper so instead of resetting after things like the username or command, it switches back to whatever the current log level colour is (info, success or error), then only resets once right at the end of the log. it took way longer than it should’ve and nearly made me give up, but it finally does exactly what i wanted and nothing leaks anymore.added src/utils/logger.js and switched almost every console.log over to it. it adds timestamps, users, commands and coloured log levels.and changed all the console logs in src/bot.js and src/cmds/ to use the new logger api b81c739cc06edba2895695e51dbbf88d8868f19f - overhauled readme well as the name implies its pretty self explanatory lol but i massively expanded the README with better documentation and setup instructions. Server setup find more info in the setup guide on Step 7 out of 8 in https://stardance.hackclub.com/missions/slack-bot/guide#step-7 i had to apply for a Nest server and get SSH access.yeah so basically my starting gear is a potato server (2GB RAM, 16GB storage) but that’s more than enough for this bot. i also got to mess around with linux for a bit ( yes i am a windows user ). honestly… i kinda liked it and i’m like 80% convinced i’ll switch one day (but too much of a hassle to switch rn, but maybe in the future). after installing everything, setting up the environment variables and creating a systemd service, i finally got the bot running 24/7.TL;DR: i got the bot running 24/7 in the server and it works perfectly fine, and i can now add new commands without having to touch the main bot.js file, and also, and added detailed server logging with time & user aight y’all i spent an ENTIRE HOUR writing this devlog and THEN i had to rewrite a shortened down version, y’all better rate me 9/9 for story telling, rylvion signing out 🫡 pls see my full devlog version"}, {"post_id": 1731, "ts": "2026-06-03T22:11:42Z", "hours": 1.815, "text": "slackzilla after countless testing of figuring out why my bot isnt working, i found out the reason… well sort of… it seems so that the bot doesnt read my messages nad only respond to app commands idk how to make it respond to my messages if it not a cmd but anyways here are the logs 7be9077de2a487f7be8a779123420295dc9bff7e - add MIT license 9ceb9c2fe638f91ab6b0a14326437c9a5f32f499 - add initial bot setup (just for testing!] 66eb775434c871f063fd57daf0bdfc7bd66501f1 - add launch.json, .env.example (like formats), README.md, add stuff to bot.js btw this isnt hosted (will host soon) or anything and to use it you have to use the cmd prefix (sc-) e.g., /sz-ping"}]...
|
Title: slackzilla 🦖🦖 by @rylvion | Stardance
Devl Title: slackzilla 🦖🦖 by @rylvion | Stardance
Devlogs:
slackzilla after countless testing of figuring out why my bot isnt working, i found out the reason… well sort of… it seems so that the bot doesnt read my messages nad only respond to app commands idk how to make it respond to my messages if it not a cmd but anyways here are the logs 7be9077de2a487f7be8a779123420295dc9bff7e - add MIT license 9ceb9c2fe638f91ab6b0a14326437c9a5f32f499 - add initial bot setup (just for testing!] 66eb775434c871f063fd57daf0bdfc7bd66501f1 - add launch.json, .env.example (like formats), README.md, add stuff to bot.js btw this isnt hosted (will host soon) or anything and to use it you have to use the cmd prefix (sc-) e.g., /sz-ping
Devlog 2 - server setup & modular command system & more [03/07/2026] time logged: 10hr 59 min so since the last devlog, i’ve have worked on LOADS of things including behind the scene (this doesnt get tracked on hacaktime :( ), i dont even know if this will hit the char limit, but anyways, here are the logs EDIT: IT DID HIT THE CHAR LIMIT, turns out the original devlog was ~9.6k characters 💀 while the limit is only 4k, so this is the shortened version. the full one is still in priv/devlogs/devlog2.md if anyone wants the extended edition.z Commits logs e47c48ac0970b49015e920607a59657259122f2f - made the cur proj into more modular featuring dynamic command loading system w commands.json as the source of truth on this, i figured out that packing every single thing into one file is a bad idea, so i made a modular command system that loads commands dynamically from a commands.json file, this way, i can add new commands without having to touch the main bot.js file, and also, it makes it easier to manage commands since they are all in one place 03b07ffc6f44d0231f9073f637caee1f9437705a) - added more detailed server logging with time & user at the start of most console logs onto terminal [coloured output] this was way more of a pain than i thought it was gonna be. after countless rounds of testing i finally got it working how i wanted. the ansi colours kept either leaking into the rest of the terminal or resetting back to the default colour when i needed them to go back to the current log level. i was genuinely losing my mind because every “fix” just broke something else. after hours of messing around i ended up making a wrapper so instead of resetting after things like the username or command, it switches back to whatever the current log level colour is (info, success or error), then only resets once right at the end of the log. it took way longer than it should’ve and nearly made me give up, but it finally does exactly what i wanted and nothing leaks anymore.added src/utils/logger.js and switched almost every console.log over to it. it adds timestamps, users, commands and coloured log levels.and changed all the console logs in src/bot.js and src/cmds/ to use the new logger api b81c739cc06edba2895695e51dbbf88d8868f19f - overhauled readme well as the name implies its pretty self explanatory lol but i massively expanded the README with better documentation and setup instructions. Server setup find more info in the setup guide on Step 7 out of 8 in https://stardance.hackclub.com/missions/slack-bot/guide#step-7 i had to apply for a Nest server and get SSH access.yeah so basically my starting gear is a potato server (2GB RAM, 16GB storage) but that’s more than enough for this bot. i also got to mess around with linux for a bit ( yes i am a windows user ). honestly… i kinda liked it and i’m like 80% convinced i’ll switch one day (but too much of a hassle to switch rn, but maybe in the future). after installing everything, setting up the environment variables and creating a systemd service, i finally got the bot running 24/7.TL;DR: i got the bot running 24/7 in the server and it works perfectly fine, and i can now add new commands without having to touch the main bot.js file, and also, and added detailed server logging with time & user aight y’all i spent an ENTIRE HOUR writing this devlog and THEN i had to rewrite a shortened down version, y’all better rate me 9/9 for story telling, rylvion signing out 🫡 pls see my full devlog version
Devlog 3 - github actions webhook request (13/07/2026) time logged: 6hr 01min i added a webhook dispatcher that automatically triggers a deployment whenever i commit to the main branch. Instead of manually pulling changes on the server and restarting the service myself, the GitHub Action now sends a signed webhook to my deployment server, which verifies it and runs the deploy script for me. i also added 2 more commands /sz-meme - this makes a meme /sz-echo [str] - this echoes the string you can see the flowchart below and see the full devlog 3 here (hyperlinked) TL;DR whenever i commit the server automatically receives it and slackzilla updates to the latest version
Devlog 4: calc and roll commands time logged: 2 hr 20 minutes date: 17/07/2026 today i spent some time reading the Java Shunting Yard Algorithm implementation on GeeksforGeeks . The example focuses entirely on converting an infix expression into postfix form. It scans the expression character by character, places operands directly into the output string, and uses a stack to manage operators based on precedence and associativity. Once the scan is complete, any remaining operators are appended to produce a postfix expression like 5238-52^^/+. The Java version supports operators including + , - , * , / , and ^ , and it handles parentheses, but it stops after producing the postfix representation. It does not evaluate the numerical result. after reading that, i wanted something more complete for Slackzilla. I used the same core idea of converting infix to postfix, but I extended it in several ways. My implementation tokenises the input instead of reading one character at a time, which allows it to support multi digit numbers and decimals. I added unary minus detection so expressions like -3 or 5*-2 behave correctly. One challenge was distinguishing unary minus from subtraction. The parser has to determine whether it starts with a number or subtracts two values depending on the previous token. I kept exponentiation with the correct right associativity. Once the postfix array is built, I added a second stage that evaluates the postfix expression using a number stack. This lets the function return the final computed value rather than just the postfix notation. The result is a more flexible and practical version of the algorithm that fits naturally into Slackzilla and can evaluate real expressions interactively. after finishing the calculator command, I also added another command to Slackzilla called /sz-roll . This command allows users to simulate dice rolls directly inside Slack. It supports normal dice notation like d6 , custom dice sizes like d20 , multiple dice such as 2d6 , and modifiers like 2d20+5 . I added parsing logic to split the dice expression into the amount of dice, number of sides, and any modifier before rolling each dice individually and calculating the final total. I also added a /sz-roll help and /sz-calc help command which explains how to use the command and shows examples of supported formats. also i spent A LOT of time making the flowchart to describe this more than the implementation itself. I think it will be useful for future reference and for anyone else who wants to understand how the algorithm works. i also added json schema validation for commands.json as talked in devlog 2 the commands.json is the source of truth, so i addded a validator.yml to validate the json schema of commands.json and make sure it is valid before a pull request is merged. This will help prevent errors and ensure that the commands are correctly defined. TL;DR: added a calculator using the Shunting Yard algorithm with postfix evaluation, plus a flexible dice rolling command. Also added help commands, a flowchart and automated JSON schema validation. also ill add way more devlogs from now on since most of my last devlogs were major architecture refactor, unless there is a major change, i will just add a small devlog to add a new command/small feature, fix a bug, improve an existing feature and add more documentation.
Devlog 5 - manifest workflow time logged: 7hrs 6min 16 sec date: 21/07/2026 ok so i kinda lied in the last devlog. this ended up being another major architectural change to slackzilla. the slack manifest system was always the most brittle part of the pipeline and manually maintaining manifest.json was a guaranteed way to let things drift. today i finally automated the entire manifest workflow. the new setup makes commands.json and meta.js the single source of truth. i wrote a manifest generator that loads all metadata like descriptions colours oauth scopes bot info and merges it with the command definitions to build a complete slack manifest object. once assembled it writes manifest.json and syncs it during deployment. validation is baked directly into the generator. i wired AJV into both stages. every command is validated against command.schema.json and the final manifest is validated again against slack’s official schema. if anything fails the generator stops immediately with a clear error instead of producing a broken file. this caught several issues especially after i moved all schemas into a dedicated schemas/ directory to clean up the project structure. the github actions workflow also got a major overhaul. every push now generates the manifest validates commands and manifest rotates the slack configuration token updates github secrets syncs the manifest through the slack api and deploys the bot. changing a slash command in commands.json now updates both the bot and the slack app config automatically. no more manual edits to manifest.json or the slack app settings. the entire pipeline is now self maintaining and fully automated. token rotation was the biggest pain. slack configuration tokens only last twelve hours so storing them in github secrets was not enough. i created a fine grained github PAT with permission to modify repo secrets and wrote rotateManifestToken.js to handle the full refresh cycle. it rotates the manifest token receives a new refresh token and updates both secrets so the next deployment does not break. i spent way too long debugging an invalid_refresh_token error. note that slack’s copy button does not copy the existing refresh token it generates a new pair. every time i clicked it the previously saved token became invalid instantly. once i realised that i started updating github secrets immediately after copying the new pair so everything stayed in sync. after that the rotated token still was not being passed correctly between github actions steps. i switched to GITHUB_OUTPUT so the rotation step could hand the new token to the manifest sync step. then slack started returning not_authed which led to another rabbit hole. the manifest update endpoint requires the token in the correct auth header not the request body. once i fixed the request format the entire pipeline finally ran clean end to end. See figure 2 for github actions workflow TL;DR slackzilla now auto generates its slack manifest validates everything with AJV rotates configuration tokens syncs the manifest during deployment and updates the bot server with minimal manual work. after a lot of debugging around token rotation schema mismatches and github actions quirks the deployment pipeline is basically self maintaining except refreshing the github PAT every ninety days.
Devlog 6 - command buffet time logged: 6hr 37m 19s date: 22/07/2026 okay since most of the major architectural refactors are done, i can finally focus on adding more commands to Slackzilla. this devlog is about the new commands that i added to the bot, which are mostly utility commands that can be used for various purposes. base64 encoding hashing - supports multiple algorithms, default: sha256 decoder - decodes every algorithm that hashing supports random ids (uuid) secure tokens random numbers unix date conversion text case conversion (camel, pascal, snake, kebab) character counter rock paper scissors magic 8ball (the only entertainment command added in this devlog) the trickier parts were the input parsers. hash has to decide whether the first word is an algorithm or part of the text, case needs to split words without mangling the content too much, and unix has to switch between timestamps and readable dates without getting confused by weird inputs. i also added guardrails for invalid ranges and missing text so the bot gives a useful reply instead of just silently failing. the fun commands were the easiest win. 8ball just picks from a response list, and rps does a quick match against the player choice and the bot choice to decide whether it was a win, lose, or tie. it is very low stakes code, which is honestly refreshing after the manifest workflow stuff from last time. all utilities commands all have a help command associated to it the current utilities commands include: /sz-base64 - encodes a string to base64 /sz-hash - generates a hash of a string, default: sha256 /sz-decode - decodes a base64 encoded string /sz-uuid - generates a random uuid /sz-token - generates a random secure token /sz-random - generates a random number in a given range /sz-unix - converts a unix timestamp to a human-readable date and vice versa /sz-case - converts a string to camelCase, PascalCase, snake_case, or kebab-case /sz-count - counts the number of characters in a string /sz-rps - plays rock paper scissors with the bot /sz-calc - evaluates mathematical expression so all of it has a 2nd argument for help, so for example /sz-hash help will show the usage and examples of the command. i also added on package.json , 2 new scripts "validate-commands" : "ajv validate -s schemas/command.schema.json -d src/data/commands.json" , "cmd-stats" : "node scripts/stats.js" one to validate the commands.json file against the command.schema.json file, and another to provide statistics about the number of commands in the commands.json file. this will help me keep track of how many commands are in the bot and also make sure that the commands.json file is valid before a pull request is merged. currently, the bot has 22 commands in total, and 11 of them are utility commands (10 of them got added into this devlog (excluding the /sz-8ball that also was added in this devlog, but is an entertainment command)). the other 11 commands are the ones that were already in the bot before this devlog. i need some feedback on what other commands i should add to the bot, so if you have any ideas, please let me know. (im running out of ideas * sighs * ) im also planning on adding a web dashboard to the bot, which will allow users to see the bot’s status, logs, and other information in a more user-friendly way. this will be a big change, so stay tuned for that in the next devlog TL;DR: added a bunch of new slash commands for Slackzilla, kept the implementations small and native where possible, and tightened up the input handling so the new tools fail a little more gracefully.
Devlog 7 - Adding a Web Dashboard (locally) time logged: 9hr 58m date: 31/07/2026 ███████╗██╗ █████╗ ██████╗██╗ ██╗███████╗██╗██╗ ██╗ █████╗ ██╔════╝██║ ██╔══██╗██╔════╝██║ ██╔╝╚══███╔╝██║██║ ██║ ██╔══██╗ ███████╗██║ ███████║██║ █████╔╝ ███╔╝ ██║██║ ██║ ███████║ ╚════██║██║ ██╔══██║██║ ██╔═██╗ ███╔╝ ██║██║ ██║ ██╔══██║ ███████║███████╗██║ ██║╚██████╗██║ ██╗███████╗██║███████╗███████╗██║ ██║ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ added a local prototype view of the web dashboard for slackzilla, its hosted on Github Pages and is a static site that is not connected to the bot yet, it shows the design and layout of the dashboard and how it will look when its connected to the bot. the dashboard is designed to be responsive and works on both desktop and mobile devices. it has a clean and modern design that is easy to navigate. for Github Pages hosting, i used gh-pages branch which meant creating a seperate workflow ( pages.yml ) to build and deploy the dashboard to the dist/ folder. before that i needed a way to make it minified and optimised for production, so i used terser , clean-css and html-minifier-terser to minify the js, css and html files respectively, i do realise that this meant adding extra dependencies to the project (even though its not linked to the bot yet). The deployment website will be hosted on the bot’s server ( rylvion.hackclub.app ) and on the same port as the webhook server i also added new logging functionality that return smth like this the one below, this helps me track the usage of the commands and see how many times they have been used, when they were last used and by whom. this will be useful for the dashboard to show command usage statistics and manage command permissions. { " commands " : { " sz-hash " : { " count " : 3 , " lastUsedAt " : " 2026-07-23T13:27:28.116Z " , " lastUser " : " rylvion " , " lastUserId " : " U0A84FA2NP2 " } } } TL;DR: added a local prototype view of the web dashboard for slackzilla, its hosted on Github Pages and is a static site that is not connected to the bot yet, it shows the design and layout of the dashboard and how it will look when its connected to the bot and logging functionality that return command usage statistics and manage command permissions. introduced a new logging system that logs to both console and a file. added command usage tracking to record how often each command is used. enhanced server.js to serve dashboard, logs, and status pages. improved webhook handling and added signature verification. added a new metrics utility and feedback.js for tracking command usage statistics. next devlog will be about connecting the dashboard to the bot & server and making it functional, its gonna be a long one so stay tuned for that
Devlog 8 - server hosted dashboard finally happened time logged: 17hr 47min 45s date: 16/08/2026 The server hosted dashboard is finally here! It is hosted with the webhook, connected to the bot, and shows logs, status, and other information. architecture The Slackzilla server-hosted dashboard is the web control centre sitting alongside the webhook (runs on the same port). The server runs the dashboard, API routes, authentication/session handling, CSRF protection, logging, monitoring and administrative controls. The dashboard has been moving from the earlier static local/pages prototype (see devlog 7) towards an EJS-based server-rendered architecture, with shared layouts/partials and a global dashboard styling system. The server also handles the GitHub deployment webhook on port 9000 , while Nginx sits in front of the application. The dashboard is intended to expose things such as bot status, logs, statistics, monitoring, API documentation and admin controls rather than sshing into the server and running commands manually I’ve been separating the dashboard’s presentation layer, API layer and server logic. During development, I encountered and fixed several contract problems where route modules expected helpers such as context.sendError() and context.sendOk() that the runtime context did not provide. I also changed the authentication-aware API/SSE routes so unauthenticated requests return proper JSON/HTTP responses rather than accidentally redirecting an EventSource connection into an HTML login page. The dashboard has admin-only functionality, CSRF protection and server-side authentication, whilst the bot itself uses Slack’s Events/Slash Command mechanisms for incoming Slack activity. Slack’s Events API delivers subscribed events to the HTTP endpoint, while slash commands are sent to the configured app endpoint via HTTP POST. /api/admin routes are protected by an authenticated admin session and CSRF protection. Admin authentication uses a session cookie, which is only created after logging in through rylvion.hackclub.app/admin/login . The admin password is never stored in plaintext. It is stored as a PBKDF2-HMAC-SHA512 hash in the server environment, using a random salt and a high iteration count. The dashboard does not allow the password to be created or changed, so the server environment must be updated manually before restarting the service. CSRF tokens are generated server-side and sent to the authenticated client via a cookie. For POST requests, the client must return the token in the X-CSRF-Token header, preventing unauthorised or forged requests from triggering admin actions. /api/ (excluding /api/admin ) has no authentication Port 9000 is used for the webhook and the dashboard whilst the bot itself runs on socket mode. The api that currently has these endpoints base url: https://rylvion.hackclub.app/api/ GET /api/status - returns the bot status and other information GET /api/logs - returns the bot logs from slackzilla.log as JSON, including the file size in bytes POST /api/admin/control - allow the admin to control the accepts several actions such as start , stop , restart , redeploy , refresh , refresh-logs , refresh-status (self explanatory actions) with dangerous actions (such as redeploy , restart and stop ) contains a confirmation prompt to prevent accidental execution of the action. GET /api/admin/feedback - returns database feedback as JSON GET /api/admin/feedback/:id - returns the feedback with the given ID as JSON POST /api/admin/feedback/:id - allows the admin to control and accepts 3 actions such as delete , read , unread , respond . GET /api/admin/events - is a SSE (Server Sent Event) endpoint that allows the admin to receive real time events from the server such as logs, status, feedbacks and other information about the bot.
Devlog 9: React Dashboard time logged: 29hr 1m date: 03/09/2026 The React dashboard is finally here! I completely migrated the old EJS dashboard with a new React app. THIS will be IS the biggest devlog yet, as it covers a lot of changes and new features. main features added is migration, codebase assistance, graphs, telemetary and a new api. Heres a summary of what i changed renamed src/ to bot/ - this is because its related to the bot and not the server and its not where all the main files are migrated the EJS dashboard into a React app overhauled the UI deleted the pages system and the workflow to build it added a new RAG modal that answers questions about the repo and shows related visual assets (also includes a new rag.js file that handles retrieval and generation of answers) The react dashboard has the following features: 10 pages (Home, Admin, Api, Commands, Docs, Home, Logs, AI, Sitemap, Status) 12 components 8 utilities js exports in the utils/ folder 404 page (with routing) & Error Boundary modal page public AI assistant page with repository-aware retrieval and related visual assets command API with stable IDs, command help, and captured command responses (so API can be called from the dashboard) public status, logs, metrics, command, and AI API endpoints admin feedback controls for filtering, viewing, replying, marking read/unread, and deleting (they dont work on windows only linux) CPU, memory, disk, and network telemetry with responsive graphs and hover data tooltips (so satisfying) Current React Architecture The active client source lives in server/client/src/ . Vite builds it into server/client/dist/ , which is served by server/server.js . React Router renders the page routes declared in server/client/src/components/utils/routes.js . The server still owns the HTTP status code: known browser routes receive the React shell with 200 , while unknown browser routes receive the same shell with 404 so the client can render the NotFound page without hiding the correct HTTP semantics. The old EJS dashboard and static page-generation flow are no longer the active dashboard path. The bot remains in bot/ , separate from the dashboard server, and the server uses explicit Node http handlers under server/api/ . RAG and Command APIs The new /ai page sends questions to POST /api/ask . server/lib/rag.js retrieves relevant repository text while excluding priv/ , .env files, dependencies, logs, and build output. It can identify related image assets such as the calculator flowchart without parsing binary image contents. If configured, the retrieved context is sent to the AI provider; otherwise the endpoint returns a local configuration message and source metadata. Commands are exposed through GET /api/commands , GET /api/commands/:id , and POST /api/commands/:id . The API adapter reuses the same command modules as Slack and captures their responses. The Commands page provides the interactive runner, while the AI page remains focused on repository questions. Explicit natural-language requests can still ask the RAG service to execute a recognised slash command and return its result. Limitations The migration exposed several boundaries that are now documented in docs/ : authentication and CSRF, the webhook protocol, API registration, setup, and RAG behaviour. Runtime persistence is still file-backed through server/database/store.js ; an external database remains a future adapter project rather than a required dependency. Linux systemd controls and deployment scripts are intended for the hosted environment. On Windows local development, the dashboard, APIs, telemetry, and React pages work, but system service actions and Bash deployment are not expected to succeed. The dashboard must be rebuilt and restarted after production client or server changes.
Devlog 10 - QOL DASHBOARD IMPROVEMENTS, RAG ENHANCEMENTS WITH TOOLS & CACING AND LOTS OF STUFF time logged: 27 hrs 30 mins date: 20/09/2026 version: v0.9.5-beta This devlog is COVERING A LOT of stuff that i did, but im not gonna drag this over like i did from all other devlogs so heres are the features: covering from v0.9.1-beta to v0.9.5-beta, see release-history.json for the full changelog Features added Added RAG TOOLS including getStatus - returns the status of the RAG getCommands - with enhanced filtering (filter by name, usage hint, id, category and fuzzy filter (makes it easier for RAG to find commands)) getReleaseInfo - returns the release info of the CURRENT version and (optionally) any other version (pass it by parameter) runCommand - runs a command by id getLogs - returns recent logs for the RAG to inspect (max 100, default 20) getMetrics - returns the metrics of the RAG (memory usage, cpu usage, etc) getRoutes - returns the routes of the APIs added 3 new scripts ( npm run ) which are rag - runs the RAG with or without the --ai flag to see context/answer cli rag:use-tool - runs a tool by name (with optional parameters) release - appends current release notes from package.json to release-history.json . Added new endpoints /api/telemetry - returns the telemetry history separately from the main status endpoint /api/command/:id - gets or executes a command by id /api/telemetry/stream - streams telemetry updates using SSE /api/admin/server-events - returns server events for the admin dashboard /api/ask - now uses SSE to stream the RAG’s activity ( yers now we can see the RAG in aciton ), context, tool usage, token usage and final response dashboard imporvements added a seperate admin server events page (wevent searching, filtering, prioritisation and stylying) added a command runner on the command page fixed recent activity not showing up on the dashboard Added visible AI activity to the AI page the RAG now emits activity events while processing a question AI page is cached on localStorage so you can go back and forth between pages without losing the AI page state Improved the RAG’s repository awareness added AST-based parsing using acorn and acorn-walk added persistent .rag/index.json added symbol search and dependency analysis added function, export, function call, environment variable and route extraction added richer code context and source metadata added automatic index rebuilding improved path-based dependency detection fixed the RAG detecting references created using path.join(rootDir, ...) add token budgeting and usage tracking. Changed how telemetry is handled telemetry history is no longer included in /api/status or any other endpoints CHANGED all admin endpoints so that none of them has the telemetryHistory anymore Added release history tracking added release-history.json /sz-release can now retrieve release information for different versions npm run release automatically appends the current release notes Tl;DR: RAG got a major upgrade with AST-powered repository indexing (acorn/acorn-walk), persistent indexing via .rag/index.json , symbol search, dependency analysis, function/export/call/env-var/route extraction, richer source metadata, automatic index rebuilding, 7 new RAG tools, 3 new CLI tools, SSE-powered streaming for /api/ask and telemetry, telemetry endpoints, admin server events, live AI activity tracing, token/context/tool usage visibility, AI session caching, release history tracking, telemetry separation from /api/status, admin API cleanup, and a large collection of bug fixes, repository-awareness improvements and major QOL improvements. . hopefully i will be devloging every version till i ship
devlog 11 - ADMIN EHANCEMENTS: errors views, log archiving & restoration, logs deletion controls, RAG IMPROVEMENTS AND MORE… date: 11/10/2026 time logged: 31hr 57m version: v0.9.6-beta this release focused on making Slackzilla easier to debug, manage and understand internally. a LOT of work went into the admin panel, route extraction and testing. 1. admin panel got some SERIOUS upgrades added 3 new admin pages for server events, errors and logs. also split admin.css into separate stylesheets because one giant stylesheet isn’t exactly a maintenance strategy. error monitoring added an error viewer with timestamps, stack traces and source files improved error messages to make them more user-friendly log management added a log archive viewer with backup timestamps, line counts and file sizes added backup restoration and switching added controls to delete specific lines, ranges or the last X lines added log rotation and telemetry reset controls added the /log-archives admin endpoint 7 new admin controls: delete-logs , delete-lines , delete-last , delete-line , rotate-logs , restore-log and reset-telemetry that’s a LOT more control over server logs than before. 2. endpoints & session security added 4 new endpoints : 3 admin endpoints: /errors , /errors/stream , /log-archives 1 public endpoint: /api/session /api/session now provides current session information, with csrfToken moved from /api/admin/summary to the new endpoint. also fixed the CSRF token not appearing in the document head. small bug, annoying consequences. removed the children=[] pattern from routes.js and its associated dependencies. 3. RAG / code parser improvements route extraction got a substantial upgrade. detects routes using exact path checks, prefix checks and array-based matching improved HTTP method inference for conditional routes, including GET and POST merges duplicate route entries and inferred methods expanded discovery beyond server/api/ , including /webhook and /admin/login improved /api/routes to return supported methods, match types, source files and line numbers the goal: give the RAG system more accurate route information instead of confidently retrieving incomplete or duplicated data. ᕦ(ò_óˇ)ᕤ 4. AI activity & markdown the AI activity view now displays elapsed time alongside tool summaries and responses, making it easier to follow what the system actually did. replaced the custom Markdown parser with marked AND dompurify for established parsing and HTML sanitisation. switched the configured model from openrouter/free to openai/gpt-6-luna , aiming for better performance and reliability. also deduplicated getReleaseInfo to avoid maintaining redundant version information. 5. testing added 3 npm scripts : test:code-parser for code parser tests test:rag for RAG tests test:all for the broader test suite and validation checks added automated code parser tests covering route extraction, HTTP method inference and deduplication. 6. docs updated README.md and project documentation to reflect the latest endpoints, admin controls, route extraction changes and RAG improvements. documentation staying in sync with the codebase. revolutionary concept, apparently. release summary v0.9.6-beta added: 4 endpoints 7 admin controls 3 admin pages 3 npm testing scripts improved error visibility, log management, session information and route extraction updated Markdown rendering, AI activity information and documentation the main focus was improving maintainability, debugging and the reliability of Slackzilla’s internal tooling. ( ͡° ͜ʖ ͡°) next devlog hint: a terminal is coming. think less clicking through admin pages, more interacting with Slackzilla directly through a terminal interface. details in the NEXT devlog. \(^o^)/...
|
1792752514.4039207
|
1793357314.4039207
|
|
25884
|
BEACON by @omarmushtaq2029 | Stardance
|
omarmushtaq2029
|
0
|
3.73
|
0
|
[]
|
[{"post_id": 78783, "ts": "202 [{"post_id": 78783, "ts": "2026-10-11T16:20:44Z", "hours": 0.335, "text": "Power Saving. Finised up my power saving settings ad well as making a new github for my code."}, {"post_id": 77434, "ts": "2026-10-06T23:53:43Z", "hours": 1.4114, "text": "Bad Day. So i worked on the esp32 but overnight the zph02 sensor stopped working so i spent all day trying to fix it. And just when i was so close the pulled a resistor out while the esp32 was still on and fried it 😭. But the rest of the code can just use simulated hardware but fixing the esp will be a nightmare."}, {"post_id": 77178, "ts": "2026-10-05T22:54:23Z", "hours": 1.6947, "text": "Redoing the Codebase. I will admit that my first iteration was very clunky and 200 lines +. But after some optimizations and trimming the fat I was able to get it down to 98 lines. It still needs a power saving mode and some other stuff but that will come later. Also i finely found out why my voltage divider wasn’t working, It turns out that the ZPH02 uses the voltage as a way to read data. So if it was hard stuck to 3.3v it would just give 0s. So i just used a 10k ohm resistor to get it down to a safe level and it worked!"}, {"post_id": 76865, "ts": "2026-10-04T21:27:18Z", "hours": 0.285, "text": "PCB Diagrams. Here are my current PCB diagrams and schematics. I have got the schematic down but i think i can work a bit work a bit on the PCB. The way i have it set up right now is that it can take power from 2 different sources. A solar panel and a USB-C plug. Then we do some power step down to ensure that the SHT-3X has a proper 3.3V . I am also using a base esp-32 chip so i have to make sure to add all the extra thingamabobers to ensure it works properly. If anybody has any suggestions i would love to here them"}]...
|
Title: BEACON by @omarmushtaq2029 | Stardance
Dev Title: BEACON by @omarmushtaq2029 | Stardance
Devlogs:
PCB Diagrams. Here are my current PCB diagrams and schematics. I have got the schematic down but i think i can work a bit work a bit on the PCB. The way i have it set up right now is that it can take power from 2 different sources. A solar panel and a USB-C plug. Then we do some power step down to ensure that the SHT-3X has a proper 3.3V . I am also using a base esp-32 chip so i have to make sure to add all the extra thingamabobers to ensure it works properly. If anybody has any suggestions i would love to here them
Redoing the Codebase. I will admit that my first iteration was very clunky and 200 lines +. But after some optimizations and trimming the fat I was able to get it down to 98 lines. It still needs a power saving mode and some other stuff but that will come later. Also i finely found out why my voltage divider wasn’t working, It turns out that the ZPH02 uses the voltage as a way to read data. So if it was hard stuck to 3.3v it would just give 0s. So i just used a 10k ohm resistor to get it down to a safe level and it worked!
Bad Day. So i worked on the esp32 but overnight the zph02 sensor stopped working so i spent all day trying to fix it. And just when i was so close the pulled a resistor out while the esp32 was still on and fried it 😭. But the rest of the code can just use simulated hardware but fixing the esp will be a nightmare.
Power Saving. Finised up my power saving settings ad well as making a new github for my code....
|
1793184442.448307
|
1794048442.448307
|
|
61385
|
WebOS 1 and 2 by @Parrot | Stardance
|
Parrot
|
4
|
8.6
|
14
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T11:41:42Z", "hours": 1.0, "multiplier": 1.52, "payout": 2, "blessing": "neutral", "text": "Ok guys this time i fully cleaned up my code and added new features to PixelOS ive add a Web, TErminal, and a test bar above I hope this time i get more than 8 Stardust:D also PLs vote Good for me pls pls ive spent 8 hours of my life for 12 stardust in totel and ive only spend like 3 hours on other project and got 60 stardust plessssssssss trust this is not begging for those of you who still have ideas for me can comment down below", "repo": "https://github.com/ryan113cpu/PixelOS-WebOS-2", "demo": "https://ryan113cpu.github.io/PixelOS-WebOS-2/"}, {"ship_num": 2, "ts": "2026-09-23T01:10:10Z", "hours": 2.0, "multiplier": 5.23, "payout": 8, "blessing": "neutral", "text": "Whats up My guys so this hopefully earns me more stardust than last time(i got 4) and this time i genuinly think i did way better than before overall i really hope you guys like this project I spent alot oftime which i dont have cause of homework, cya", "repo": "https://github.com/ryan113cpu/PixelOS-WebOS-2", "demo": "https://ryan113cpu.github.io/PixelOS-WebOS-2/"}, {"ship_num": 3, "ts": "2026-09-18T13:15:54Z", "hours": 4.0, "multiplier": 1.04, "payout": 4, "blessing": "neutral", "text": "OK so this might be it", "repo": "https://github.com/ryan113cpu/PixelOS-WebOS-2", "demo": "https://ryan113cpu.github.io/PixelOS-WebOS-2/"}, {"ship_num": 4, "ts": "2026-09-12T17:17:07Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made PixelOS and its my first work yet And in really Proud of it. And i hope to do better in the futer", "repo": "https://github.com/ryan113cpu/PixelOS-WebOS-2", "demo": "https://ryan113cpu.github.io/PixelOS-WebOS-2/"}]...
|
[{"post_id": 78771, "ts": "202 [{"post_id": 78771, "ts": "2026-10-11T15:35:28Z", "hours": 0.4064, "text": "YOOOOO Sup guys so i tried to make it mac-y again but my old backgoudn wasnt working properly so i made this new feature so that when you move your cursor this firework thing follows you"}, {"post_id": 74591, "ts": "2026-09-27T18:14:05Z", "hours": 0.2833, "text": "Working on making my project feel mac-y like before just for this guy :D"}, {"post_id": 74577, "ts": "2026-09-27T17:37:04Z", "hours": 0.5356, "text": "just to clarify cause a few fo you guys keep on telling me to seperate my code im not doing it because then its harders for you guys to imediatly try the project when i ship it"}, {"post_id": 73930, "ts": "2026-09-26T10:52:52Z", "hours": 0.3739, "text": "yoo whatsup guys, today i worked on new UI!!! moving forward tomaking this project unquie with costum features and something only ive done"}, {"post_id": 72967, "ts": "2026-09-24T04:02:23Z", "hours": 1.45, "text": "What is good every body, yesterday i did my second ship and honeslyty it di way better than my first its still bad but better tho:D Today after the long grind i inally get to show what ive been doing on the long grind YOU guys told me to add a web so i hopped on and imediedly started working on that after my dad gave me the idea of a terminal so i worked on hat then i Added some QOL features and Lowki i forgot to update my Readme last ship LOl maybe that why i only got like 8 stardust heh"}, {"post_id": 72467, "ts": "2026-09-23T01:03:43Z", "hours": 0.9903, "text": "devlog#6 Alright guys Since no one gave me Ideas😢 i asked my friend at school so i lowki made a galaxy theme type more will be coming"}, {"post_id": 71384, "ts": "2026-09-20T18:38:42Z", "hours": 0.5883, "text": "Since you guys didnt like my old project im asking for ideas to make it make and unique"}, {"post_id": 69970, "ts": "2026-09-18T04:33:33Z", "hours": 0.2692, "text": "Lets hope this is my final devlog i faced many hardships during my project for webOS 2 i hope this is the end but if not cya next time"}, {"post_id": 69839, "ts": "2026-09-17T21:42:21Z", "hours": 0.7203, "text": "Ok so i realized my thingy maginy was really buggy cause of the emoji so i had to remove them 😭😭😭😭😭😭"}, {"post_id": 68276, "ts": "2026-09-14T20:36:30Z", "hours": 0.3106, "text": "Make the Sound On/Off Toggle actully turn Audio Off and On (just implemented audio so before did put any code to the sound toggle)"}, {"post_id": 67824, "ts": "2026-09-14T02:34:28Z", "hours": 0.3303, "text": "Made the audio work!!!!!!!!"}, {"post_id": 67629, "ts": "2026-09-13T19:37:23Z", "hours": 1.9992, "text": "Added new Settings feature, Added new Music feature, Added new Files feature"}, {"post_id": 66721, "ts": "2026-09-12T16:44:32Z", "hours": 0.3178, "text": "I worked on my Theme Lab and fixed the wallpaper selector so the different wallpaper options actually change the desktop background. I also tested the feature and updated my GitHub project with the fix."}]...
|
Title: WebOS 1 and 2 by @Parrot | Stardance
Devlo Title: WebOS 1 and 2 by @Parrot | Stardance
Devlogs:
I worked on my Theme Lab and fixed the wallpaper selector so the different wallpaper options actually change the desktop background. I also tested the feature and updated my GitHub project with the fix.
Added new Settings feature, Added new Music feature, Added new Files feature
Made the audio work!!!!!!!!
Make the Sound On/Off Toggle actully turn Audio Off and On (just implemented audio so before did put any code to the sound toggle)
Ok so i realized my thingy maginy was really buggy cause of the emoji so i had to remove them 😭😭😭😭😭😭
Lets hope this is my final devlog i faced many hardships during my project for webOS 2 i hope this is the end but if not cya next time
Since you guys didnt like my old project im asking for ideas to make it make and unique
devlog#6 Alright guys Since no one gave me Ideas😢 i asked my friend at school so i lowki made a galaxy theme type more will be coming
What is good every body, yesterday i did my second ship and honeslyty it di way better than my first its still bad but better tho:D Today after the long grind i inally get to show what ive been doing on the long grind YOU guys told me to add a web so i hopped on and imediedly started working on that after my dad gave me the idea of a terminal so i worked on hat then i Added some QOL features and Lowki i forgot to update my Readme last ship LOl maybe that why i only got like 8 stardust heh
yoo whatsup guys, today i worked on new UI!!! moving forward tomaking this project unquie with costum features and something only ive done
just to clarify cause a few fo you guys keep on telling me to seperate my code im not doing it because then its harders for you guys to imediatly try the project when i ship it
Working on making my project feel mac-y like before just for this guy :D
YOOOOO Sup guys so i tried to make it mac-y again but my old backgoudn wasnt working properly so i made this new feature so that when you move your cursor this firework thing follows you
Ships:
I made PixelOS and its my first work yet And in really Proud of it. And i hope to do better in the futer
OK so this might be it
Whats up My guys so this hopefully earns me more stardust than last time(i got 4) and this time i genuinly think i did way better than before overall i really hope you guys like this project I spent alot oftime which i dont have cause of homework, cya
Ok guys this time i fully cleaned up my code and added new features to PixelOS ive add a Web, TErminal, and a test bar above I hope this time i get more than 8 Stardust:D also PLs vote Good for me pls pls ive spent 8 hours of my life for 12 stardust in totel and ive only spend like 3 hours on other project and got 60 stardust plessssssssss trust this is not begging for those of you who still have ideas for me can comment down below...
|
1793008367.2009816
|
1793872367.2009816
|
|
60103
|
Artemis 2 Rocket by @javin_wittig | Stardance
|
javin_wittig
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T15:28:15Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I modeled the launch of the Artemis II rocket in Blender. One of the biggest challenges was creating the fire and smoke simulations, which I’m really proud of! The project also includes an interactive 3D website where I showcase my Blender scene.", "repo": "https://github.com/javinwittig/Artemis-2-game", "demo": "https://javinwittig.github.io/Artemis-2-game/"}]...
|
[{"post_id": 78764, "ts": "202 [{"post_id": 78764, "ts": "2026-10-11T15:17:38Z", "hours": 4.5083, "text": "I am finally finished with my project. I also created an interactive website for my szene: https://javinwittig.github.io/artemis-2-launch-3d/"}, {"post_id": 72388, "ts": "2026-09-22T20:07:56Z", "hours": 2.0036, "text": "Modeling the surroundings of my scene"}, {"post_id": 71219, "ts": "2026-09-20T14:02:10Z", "hours": 2.6636, "text": "still improving the flames and smoke in my Blender project"}, {"post_id": 70539, "ts": "2026-09-19T10:25:28Z", "hours": 3.02, "text": "Simulating the flames and smoke of a rocket launch"}, {"post_id": 64692, "ts": "2026-09-09T09:12:32Z", "hours": 2.4747, "text": "Modeling NASA’s Artemis 2 rocket and launchpad scene in Blender"}]...
|
Title: Artemis 2 Rocket by @javin_wittig | Stardan Title: Artemis 2 Rocket by @javin_wittig | Stardance
Devlogs:
Modeling NASA’s Artemis 2 rocket and launchpad scene in Blender
Simulating the flames and smoke of a rocket launch
still improving the flames and smoke in my Blender project
Modeling the surroundings of my scene
I am finally finished with my project. I also created an interactive website for my szene: https://javinwittig.github.io/artemis-2-launch-3d/
Ships:
I modeled the launch of the Artemis II rocket in Blender. One of the biggest challenges was creating the fire and smoke simulations, which I’m really proud of! The project also includes an interactive 3D website where I showcase my Blender scene....
|
1793206341.2492495
|
1793292741.2492495
|
|
69051
|
Star Swimming by @mrosecooper | Stardance
|
mrosecooper
|
0
|
3.26
|
0
|
[]
|
[{"post_id": 78760, "ts": "202 [{"post_id": 78760, "ts": "2026-10-11T14:55:05Z", "hours": 2.2008, "text": "minigame 1 is going horribly i fear. half the code its asking me to copy paste into it or whatever isnt doing what its supposed to and obviously is me doing stuff wrong here but i cant for the life of me figure out what exactly is wrong with it and every time i change it it gets worse sadly, ill fix it though i persevere or wtv, ive decided ill go through all the tutorial and then go back and fix stuff (prolly not the best way to go about it but wtv)"}, {"post_id": 78702, "ts": "2026-10-11T11:07:37Z", "hours": 1.0544, "text": "i created title screen and made the buttons actually do something ! i expect that making this entire thing will take me a long long time considering how new i am to all this .. dear god (i also still gotta verify my identity to make everything public but im at my fathers home so i cannot, oh well, ill do it when im home)"}]...
|
Title: Star Swimming by @mrosecooper | Stardance
Title: Star Swimming by @mrosecooper | Stardance
Devlogs:
i created title screen and made the buttons actually do something ! i expect that making this entire thing will take me a long long time considering how new i am to all this .. dear god (i also still gotta verify my identity to make everything public but im at my fathers home so i cannot, oh well, ill do it when im home)
minigame 1 is going horribly i fear. half the code its asking me to copy paste into it or whatever isnt doing what its supposed to and obviously is me doing stuff wrong here but i cant for the life of me figure out what exactly is wrong with it and every time i change it it gets worse sadly, ill fix it though i persevere or wtv, ive decided ill go through all the tutorial and then go back and fix stuff (prolly not the best way to go about it but wtv)...
|
1793130478.4428267
|
1793735278.4428267
|
|
68635
|
OctoServe! by @Triso01 | Stardance
|
Triso01
|
0
|
8.67
|
0
|
[]
|
[{"post_id": 78757, "ts": "202 [{"post_id": 78757, "ts": "2026-10-11T14:45:08Z", "hours": 2.5506, "text": "Worked on OctoServe!"}, {"post_id": 78422, "ts": "2026-10-10T19:22:30Z", "hours": 4.5178, "text": "Working on my SBC"}, {"post_id": 78004, "ts": "2026-10-09T04:37:29Z", "hours": 0.45, "text": "Did few things before school"}, {"post_id": 77916, "ts": "2026-10-08T19:04:53Z", "hours": 1.1503, "text": "Doing the first parts of OctoServe! (Custom made SoC for Octoprint)"}]...
|
Title: OctoServe! by @Triso01 | Stardance
Devlogs Title: OctoServe! by @Triso01 | Stardance
Devlogs:
Doing the first parts of OctoServe! (Custom made SoC for Octoprint)
Did few things before school
Working on my SBC
Worked on OctoServe!...
|
1793123497.6956832
|
1793728297.6956832
|
|
67699
|
WarioWare Game by @lollmao98 | Stardance
|
lollmao98
|
0
|
3.62
|
0
|
[]
|
[{"post_id": 78751, "ts": "202 [{"post_id": 78751, "ts": "2026-10-11T14:22:58Z", "hours": 3.6153, "text": "step 13 so far"}]...
|
Title: WarioWare Game by @lollmao98 | Stardance
D Title: WarioWare Game by @lollmao98 | Stardance
Devlogs:
step 13 so far...
|
1793112821.391038
|
1793717621.391038
|
|
66233
|
My awesome macropad! by @christianchiu18 | Stardan My awesome macropad! by @christianchiu18 | Stardance...
|
christianchiu18
|
0
|
0.7
|
0
|
[]
|
[{"post_id": 78750, "ts": "202 [{"post_id": 78750, "ts": "2026-10-11T14:22:31Z", "hours": 0.7039, "text": "This is the first devlog I do. I have had some problems and the hackatime hasn’t checked my time well, but I think that my hackpad is don. I’m new using fusion 360 so my case is quite simple. I was amazed looking at other people’s proyects. I do not know how they do it. I have spent quite a time because my laptop crashed sometimes because of fusion360. I have used ai for this proyect I have to admit because I wanted to implement some thhings that weren’t in the tutorial and I wanted to make sure that what I was making was checked before I sent it. I have liked the experience much"}]...
|
Title: My awesome macropad! by @christianchiu18 | Title: My awesome macropad! by @christianchiu18 | Stardance
Devlogs:
This is the first devlog I do. I have had some problems and the hackatime hasn’t checked my time well, but I think that my hackpad is don. I’m new using fusion 360 so my case is quite simple. I was amazed looking at other people’s proyects. I do not know how they do it. I have spent quite a time because my laptop crashed sometimes because of fusion360. I have used ai for this proyect I have to admit because I wanted to implement some thhings that weren’t in the tutorial and I wanted to make sure that what I was making was checked before I sent it. I have liked the experience much...
|
1793094898.2893472
|
1793699698.2893472
|
|
68904
|
ARGUS by @Shivansh_Mishra | Stardance
|
Shivansh_Mishra
|
0
|
0.25
|
0
|
[]
|
[{"post_id": 78748, "ts": "202 [{"post_id": 78748, "ts": "2026-10-11T14:18:09Z", "hours": 0.2519, "text": "DevLog #1: ARGUS - Autonomous Real-time Guardian for Unusual Situation is a concept of a system that monitors CCTV and other media real-time ,analysis situations, detects for unusual(harmful/theft) , senses danger ,activities and automatically alerts the respective authority. The main objective of ARGUS is to prevent theft,robberies,fights,crimes,etc. For now I have done all the very basic setup needed to begin the project such as writing the readme.md file and setting up virtual environment. I’m gonna use python as the programming language as it is the most suitable one for our needs. NEXT UPDATE SOON!"}]...
|
Title: ARGUS by @Shivansh_Mishra | Stardance
Devl Title: ARGUS by @Shivansh_Mishra | Stardance
Devlogs:
DevLog #1: ARGUS - Autonomous Real-time Guardian for Unusual Situation is a concept of a system that monitors CCTV and other media real-time ,analysis situations, detects for unusual(harmful/theft) , senses danger ,activities and automatically alerts the respective authority. The main objective of ARGUS is to prevent theft,robberies,fights,crimes,etc. For now I have done all the very basic setup needed to begin the project such as writing the readme.md file and setting up virtual environment. I’m gonna use python as the programming language as it is the most suitable one for our needs. NEXT UPDATE SOON!...
|
1793127144.9134047
|
1793731944.9134047
|
|
38815
|
CountryGuessr by @anmol_bhat | Stardance
|
anmol_bhat
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T14:07:49Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a game about guessing countries inspired by others such as Globle and Geoguessr.", "repo": "https://github.com/Cod3rQwerty/CountryGuessr", "demo": "https://country-guessr-sandy.vercel.app/"}]...
|
[{"post_id": 78742, "ts": "202 [{"post_id": 78742, "ts": "2026-10-11T14:01:42Z", "hours": 4.6144, "text": "Devlog 5 - I Completed the Game Loop! I added a losing screen and also added a backend for the API. For the backend, I used Python with FastAPI because I used it before for a different project. All I needed to make was a proxy API for the API I used to get country data, so it didn’t take that long."}, {"post_id": 42691, "ts": "2026-08-07T15:28:33Z", "hours": 2.5019, "text": "Devlog 4 - Correct Answers So now, I added 2 of the things I said I was gonna fix in my previous devlog, a popup for when the user guesses the correct country, and filtering out duplicate hints. Duplicate Hints Filtering out duplicate hints was pretty easy, all I needed to do was make an array to store hints that were already used, USED_HINTS , and every time the user was given a hint, add the hint type, as defined here: const HINT_TYPES = { \" HARD \" : [ \" DRIVING-SIDE \" , // HARD hints give away the least info \" LANDLOCKED \" , \" CONTINENT \" , \" AREA \" , \" G20 \" , \" CURRENCY \" ], \" MEDIUM \" : [ \" BORDERS-3 \" , \" COUNTRY-FIRST-LETTER \" , \" LANGUAGES \" , \" POPULATION \" , \" GOVERNMENT-TYPE \" , \" CAPITAL-FIRST-LETTER \" ], \" EASY \" : [ // EASY hints give away the most info \" FLAG-DESC \" , \" CAPITAL \" , \" ALL-BORDERS \" ] } Then, I added a line to the generate_hints() function to not include any hints in USED_HINTS in the possible hints, here is that updated function: function generate_hints ( country_name ) { var generated = {} Object . entries ( HINT_TYPES ). forEach (( difficulty ) => { generated [ difficulty [ 0 ]] = {} difficulty [ 1 ]. forEach (( hint_type ) => { if ( ! USED_HINTS . includes ( hint_type )) { generated [ difficulty [ 0 ]][ hint_type ] = get_hint_text ( country_name , hint_type ) } else { // Hint already used so dont add it to possible hints } }) }) return generated ; } With this, a hint already given cannot be given again, improving the user experience. The Win Dialog I also made a dialog appear when the user guessed the correct country, at first I was gonna use a <div> for this, but I found out about an element in HTML called <dialog> which made things much easier, instead of having to center the div on the screen, and then position it so it was above everything else, etc, the dialog already handled all of that for me. Plus, it came with a handy ::backdrop selector for CSS, which allowed me to give the background of it a cool blur effect with: .win-dialog ::backdrop { background-color : rgba ( 15 , 23 , 42 , 0.5 ); backdrop-filter : blur ( 8px ); } I would’ve had to create a whole separate for the background if I had tried to do this with a div, so I’m glad I didn’t. As for the design of it, I chose to stay consistent with the website’s design of mostly black with a blue accent color. I also added the country’s flag because I just thought it looked nice. What I ended up with is in the screenshots, and I like how it looks, but it took me an hour to style lol Stuff I will (probably) add next devlog 1. A losing screen dialog Obviously, because I have a winning dialog, I should also make a losing dialog for when the player has more than 6 attempts, I will probably just make it look like the win dialog, but maybe with a red accent colour. 2. A backend endpoint for my api! So I also tried to get my project on GitHub, but then I realised my scripts.js file had a fetch() request which exposed my API key! Maybe after I make a losing screen, I will try to make a Netlify function or something so that I don’t give everyone my API key. 3. A better way to restart Right now, the Play Again button in the win dialog just reloads the page, which I think is kind of a hacky way of doing it, I will probably make a restart() function which resets all the variables and stuff but it will be very time consuming, so I’ll just put it off till later."}, {"post_id": 37270, "ts": "2026-07-29T21:01:08Z", "hours": 1.0853, "text": "Devlog 3 - FLAG-DESC So today I fixed the bug from earlier where the flag description wasnt working, basically sometimes in the description it would use the official name of the country, for example instead of just Afghanistan (which is its common name) the description would say Islamic Emirate of Afghanistan (which is its official name) there are also other examples where the name used in the description was neither its official name nor the common name, but it was one of the alternate names given by the API, so I had to include those as well in my filter. In the end, I made this function: function getSanitizedDescription ( countryName ) { const countryData = JSON . parse ( localStorage . getItem ( \" countryData \" ))[ countryName ]; if ( ! countryData ) return null ; // Combine all names into a single array cuz description name format is inconsistently weird const names = [ ...( countryData . names . alternates || []), countryData . names . official , countryData . names . common , ]. filter ( Boolean ); let description = countryData . flag . description ; for ( const name of names ) { description = description . replaceAll ( name , \" this country \" ); } return description ; } This works by firstly getting an array of all the names associated with the country provided in the API, and then testing the description against every single one of them until the country name is not in the description, and it returns the sanitized description. Stuff I need to Fix 1. Not allowing duplicate countries/hints Currently, if the user types the same country twice, the app allows them to, in theory I allow this (its not game breaking its just bad strategy) but I think it would be better if I didn’t let them. Whats more game-breaking, however, is duplicate hints, which are very annoying. I will probably fix this in the next devlog 2. Giving the user a message when they guess the right country Currently, the app just assumes you didn’t guess the correct country and never tells you if you guessed it right, which is not good game design! I will probably fix Bug #1 first before tackling this, as I’ll need to make and style a whole new popup for when the user wins, and program a restart, etc. Anyways, see you next devlog!"}, {"post_id": 35868, "ts": "2026-07-27T16:12:05Z", "hours": 3.6375, "text": "Devlog 2 - Hints! So over the last 2 days I added hints to the website, I did it by firstly making an object to store the different types of hints there can be, eg. BORDERS-3 would be 3 countries that this country borders, LANGUAGES are the languages this country speaks, etc. I grouped them by HARD , MEDIUM and EASY so that you get more obvious hints as you go on (easy is most obvious, hard is least obvious) I also made a massive 150 line function: get_hint_text(country_name, hint_type) which gets the hint text for a hint type and a country using a switch for every hint type (there’s probably a better way of doing this but I cba lol) Using this, I made another function: add_hint(country_name, hint_number, hint_type) which i can use to give the user a hint in JS. Issues Encountered There was largely no major issues - apart from one hint_type: FLAG-DESC. FLAG-DESC is simply a description of the flag of the country provided by the REST Countries API, however, the descriptions provided by the API have the country name in them, eg. The flag of Canada is composed of a red vertical band on the … which makes it pretty obvious what the answer is! To fix this, I initially simply replaced the name of the country to ‘this country’, which worked fine, unless for exceptions like DRC, where if I did that the FLAG-DESC would be: The flag of the Democratic Republic of the Congo has a sky-blue field with a … as the name of that country in the API is DRC . Similar things also happen with Afghanistan and Congo, where the name given in the description is different than that of the API. Targets for next Devlog: Fix the FLAG-DESC bug Give the user a hint every guess"}, {"post_id": 34775, "ts": "2026-07-25T19:21:22Z", "hours": 3.7022, "text": "Devlog 1 - The Start I made the UI with HTML and CSS, and made the Guess button add countries to the guessed list, which I’m pretty proud of for my first real web project. Tomorrow, I’ll probably add hints and polish the code a little more because its kinda messy. Cya tomorrow!"}]...
|
Title: CountryGuessr by @anmol_bhat | Stardance
D Title: CountryGuessr by @anmol_bhat | Stardance
Devlogs:
Devlog 1 - The Start I made the UI with HTML and CSS, and made the Guess button add countries to the guessed list, which I’m pretty proud of for my first real web project. Tomorrow, I’ll probably add hints and polish the code a little more because its kinda messy. Cya tomorrow!
Devlog 2 - Hints! So over the last 2 days I added hints to the website, I did it by firstly making an object to store the different types of hints there can be, eg. BORDERS-3 would be 3 countries that this country borders, LANGUAGES are the languages this country speaks, etc. I grouped them by HARD , MEDIUM and EASY so that you get more obvious hints as you go on (easy is most obvious, hard is least obvious) I also made a massive 150 line function: get_hint_text(country_name, hint_type) which gets the hint text for a hint type and a country using a switch for every hint type (there’s probably a better way of doing this but I cba lol) Using this, I made another function: add_hint(country_name, hint_number, hint_type) which i can use to give the user a hint in JS. Issues Encountered There was largely no major issues - apart from one hint_type: FLAG-DESC. FLAG-DESC is simply a description of the flag of the country provided by the REST Countries API, however, the descriptions provided by the API have the country name in them, eg. The flag of Canada is composed of a red vertical band on the … which makes it pretty obvious what the answer is! To fix this, I initially simply replaced the name of the country to ‘this country’, which worked fine, unless for exceptions like DRC, where if I did that the FLAG-DESC would be: The flag of the Democratic Republic of the Congo has a sky-blue field with a … as the name of that country in the API is DRC . Similar things also happen with Afghanistan and Congo, where the name given in the description is different than that of the API. Targets for next Devlog: Fix the FLAG-DESC bug Give the user a hint every guess
Devlog 3 - FLAG-DESC So today I fixed the bug from earlier where the flag description wasnt working, basically sometimes in the description it would use the official name of the country, for example instead of just Afghanistan (which is its common name) the description would say Islamic Emirate of Afghanistan (which is its official name) there are also other examples where the name used in the description was neither its official name nor the common name, but it was one of the alternate names given by the API, so I had to include those as well in my filter. In the end, I made this function: function getSanitizedDescription ( countryName ) { const countryData = JSON . parse ( localStorage . getItem ( " countryData " ))[ countryName ]; if ( ! countryData ) return null ; // Combine all names into a single array cuz description name format is inconsistently weird const names = [ ...( countryData . names . alternates || []), countryData . names . official , countryData . names . common , ]. filter ( Boolean ); let description = countryData . flag . description ; for ( const name of names ) { description = description . replaceAll ( name , " this country " ); } return description ; } This works by firstly getting an array of all the names associated with the country provided in the API, and then testing the description against every single one of them until the country name is not in the description, and it returns the sanitized description. Stuff I need to Fix 1. Not allowing duplicate countries/hints Currently, if the user types the same country twice, the app allows them to, in theory I allow this (its not game breaking its just bad strategy) but I think it would be better if I didn’t let them. Whats more game-breaking, however, is duplicate hints, which are very annoying. I will probably fix this in the next devlog 2. Giving the user a message when they guess the right country Currently, the app just assumes you didn’t guess the correct country and never tells you if you guessed it right, which is not good game design! I will probably fix Bug #1 first before tackling this, as I’ll need to make and style a whole new popup for when the user wins, and program a restart, etc. Anyways, see you next devlog!
Devlog 4 - Correct Answers So now, I added 2 of the things I said I was gonna fix in my previous devlog, a popup for when the user guesses the correct country, and filtering out duplicate hints. Duplicate Hints Filtering out duplicate hints was pretty easy, all I needed to do was make an array to store hints that were already used, USED_HINTS , and every time the user was given a hint, add the hint type, as defined here: const HINT_TYPES = { " HARD " : [ " DRIVING-SIDE " , // HARD hints give away the least info " LANDLOCKED " , " CONTINENT " , " AREA " , " G20 " , " CURRENCY " ], " MEDIUM " : [ " BORDERS-3 " , " COUNTRY-FIRST-LETTER " , " LANGUAGES " , " POPULATION " , " GOVERNMENT-TYPE " , " CAPITAL-FIRST-LETTER " ], " EASY " : [ // EASY hints give away the most info " FLAG-DESC " , " CAPITAL " , " ALL-BORDERS " ] } Then, I added a line to the generate_hints() function to not include any hints in USED_HINTS in the possible hints, here is that updated function: function generate_hints ( country_name ) { var generated = {} Object . entries ( HINT_TYPES ). forEach (( difficulty ) => { generated [ difficulty [ 0 ]] = {} difficulty [ 1 ]. forEach (( hint_type ) => { if ( ! USED_HINTS . includes ( hint_type )) { generated [ difficulty [ 0 ]][ hint_type ] = get_hint_text ( country_name , hint_type ) } else { // Hint already used so dont add it to possible hints } }) }) return generated ; } With this, a hint already given cannot be given again, improving the user experience. The Win Dialog I also made a dialog appear when the user guessed the correct country, at first I was gonna use a <div> for this, but I found out about an element in HTML called <dialog> which made things much easier, instead of having to center the div on the screen, and then position it so it was above everything else, etc, the dialog already handled all of that for me. Plus, it came with a handy ::backdrop selector for CSS, which allowed me to give the background of it a cool blur effect with: .win-dialog ::backdrop { background-color : rgba ( 15 , 23 , 42 , 0.5 ); backdrop-filter : blur ( 8px ); } I would’ve had to create a whole separate for the background if I had tried to do this with a div, so I’m glad I didn’t. As for the design of it, I chose to stay consistent with the website’s design of mostly black with a blue accent color. I also added the country’s flag because I just thought it looked nice. What I ended up with is in the screenshots, and I like how it looks, but it took me an hour to style lol Stuff I will (probably) add next devlog 1. A losing screen dialog Obviously, because I have a winning dialog, I should also make a losing dialog for when the player has more than 6 attempts, I will probably just make it look like the win dialog, but maybe with a red accent colour. 2. A backend endpoint for my api! So I also tried to get my project on GitHub, but then I realised my scripts.js file had a fetch() request which exposed my API key! Maybe after I make a losing screen, I will try to make a Netlify function or something so that I don’t give everyone my API key. 3. A better way to restart Right now, the Play Again button in the win dialog just reloads the page, which I think is kind of a hacky way of doing it, I will probably make a restart() function which resets all the variables and stuff but it will be very time consuming, so I’ll just put it off till later.
Devlog 5 - I Completed the Game Loop! I added a losing screen and also added a backend for the API. For the backend, I used Python with FastAPI because I used it before for a different project. All I needed to make was a proxy API for the API I used to get country data, so it didn’t take that long.
Ships:
Made a game about guessing countries inspired by others such as Globle and Geoguessr....
|
1793148850.1296885
|
1793235250.1296885
|
|
25853
|
Printing Kiosk by @roberto | Stardance
|
roberto
|
1
|
56.03
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T18:11:27Z", "hours": 35.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This project has been an exciting journey in transforming a manual workflow into an automated system. I created a self-service Printing Kiosk system that runs entirely on Linux. The system allows users to send documents via WhatsApp, which the kiosk automatically processes, converts into PDFs, lets the user configure the printing settings and sends directly to a printer via the CUPS native printing system. The interface is a modern, web-based dashboard built with NiceGUI, configured to run in browser Kiosk mode. The decision to rewrite the application interface from Tkinter to NiceGUI was a significant architectural shift, requiring to reimplement the layout and logic to support a web-based, Kiosk-ready experience. If someone were to set this up, they should keep mind that it is designed to be the only process running locally so it may be demanding. The setup script is straigntforward, users must manually configure config.json file and run the .sh file to setup all the application.", "repo": "https://github.com/rob80fame/printing-kiosk", "demo": "https://github.com/rob80fame/printing-kiosk/releases/tag/WIN"}]...
|
[{"post_id": 78741, "ts": "202 [{"post_id": 78741, "ts": "2026-10-11T13:34:32Z", "hours": 2.1419, "text": "bug fixes ( timers didn’t quite fit in, git update useless in installer) created exe with pyinstaller migrated to sqllite for easyer use"}, {"post_id": 74473, "ts": "2026-09-27T13:39:44Z", "hours": 1.0136, "text": "created .bat file for installation, I was unable to host it so it has to be installed on a Windows pc to work."}, {"post_id": 73250, "ts": "2026-09-24T17:50:55Z", "hours": 1.7158, "text": "ADDED auto update in python case if multiple pdf is not selected first, possibility to add multiple images inactivity timer code refactory merged policy.txt in config.json merge app.py and backend.py TODO create start.bat/sh with dual logic (with config modifier) fix merging problem"}, {"post_id": 71736, "ts": "2026-09-21T12:45:55Z", "hours": 0.7597, "text": "ADDED auto update in python case if multiple pdf is not selected first, possibility to add multiple images TODO merge app.py and backend.py inactivity timer"}, {"post_id": 70090, "ts": "2026-09-18T13:12:26Z", "hours": 0.3458, "text": "Added proportional resizing and unproportional resizing, fixed printing after resize. TODO more images in one file to resize"}, {"post_id": 69618, "ts": "2026-09-17T12:57:49Z", "hours": 3.1444, "text": "added feature: reduce/enlarge images to size todo: fix scaling issue (as in images)"}, {"post_id": 68079, "ts": "2026-09-14T14:12:19Z", "hours": 0.6703, "text": "FIXED 2x page not working"}, {"post_id": 67171, "ts": "2026-09-13T07:36:12Z", "hours": 1.9642, "text": "TODO reduce/enlarge images to size 2x page not working ADDED added policy e disclaimer added reduce/enlarge text size fixed multiple copies pricing bug"}, {"post_id": 65932, "ts": "2026-09-11T12:28:27Z", "hours": 0.6939, "text": "added privacy and policy readed from .txt file so it is easier to modify removed scroll when not needed"}, {"post_id": 65327, "ts": "2026-09-10T12:23:30Z", "hours": 2.0125, "text": "ADDED FUNCTION BUTTON SECTION NOW GOING BACK FROM PRINTING GOES TO FILE SELECTION NOW AFTER PRINTING GOES TO FILE SELECTION BACKEND OFFLINE WARNING PAGE ADDED ADMIN PAGEFIXED UI BUG"}, {"post_id": 63430, "ts": "2026-09-07T08:37:20Z", "hours": 1.2119, "text": "added print from usb key with fixed code configurable with config.json TODO: -update render_print_config with config.json changes ridimensiomanento manuale immagini touch scroll preview funzione riduci dimensioni testo"}, {"post_id": 63116, "ts": "2026-09-06T18:57:00Z", "hours": 1.6589, "text": "added features- input screen auto focus on txt input, limited only to numbers, without arrows added A1, A2 as 4xA3 and 2xA3"}, {"post_id": 62266, "ts": "2026-09-05T15:37:23Z", "hours": 2.6622, "text": "Implemented .bat and .sh file to auto install everything, added email reception as a way to send files"}, {"post_id": 31825, "ts": "2026-07-20T14:47:23Z", "hours": 1.0378, "text": "frontend demo"}, {"post_id": 30244, "ts": "2026-07-17T17:44:08Z", "hours": 0.8569, "text": "finished .sh for installation minor fixes"}, {"post_id": 30209, "ts": "2026-07-17T16:37:44Z", "hours": 8.74, "text": "Tkinter version fully working, but I needed to access it remotely so switched to niceGUI merged all the files (leaving only with backend.py and app.py) optimized for touch screen remote control modified to work on Linux as well as on Windows (using lp or SumatraPDF) added a button in configuration_ui to shut down the server remotely creating .sh file to install everything automatically"}, {"post_id": 28129, "ts": "2026-07-14T06:58:27Z", "hours": 0.8608, "text": "minor ui fixes to simplify usability"}, {"post_id": 26573, "ts": "2026-07-11T14:10:43Z", "hours": 2.3042, "text": "added multi printing (it merges the files selected onto one and prints it) added code 00000 (customizable in config.json) to exit application"}, {"post_id": 25952, "ts": "2026-07-10T14:00:56Z", "hours": 2.715, "text": "bug fix added cumulative pricing on main ui added tmp file for costs"}, {"post_id": 22281, "ts": "2026-07-04T17:45:18Z", "hours": 4.6311, "text": "completed a first fully working version implementing configurations TODOS: cumulative pricing on app.py print multiple files longclicking"}, {"post_id": 21560, "ts": "2026-07-03T16:08:42Z", "hours": 3.6578, "text": "fix of file structure, creation of starting ui and retrieval of datas"}, {"post_id": 20719, "ts": "2026-07-02T11:52:58Z", "hours": 2.1989, "text": "Printing Frontend demo finished"}, {"post_id": 20101, "ts": "2026-07-01T16:56:35Z", "hours": 4.2733, "text": "working on a python frontend using cmd Sumatra printing (even though I do not love the look of it)"}, {"post_id": 18382, "ts": "2026-06-29T14:54:35Z", "hours": 1.7942, "text": "Backend demo completed with all funtionalities. Started frontend with C# using PrintDialogX as base to create custom print interface"}, {"post_id": 17596, "ts": "2026-06-28T13:46:46Z", "hours": 2.7036, "text": "Finished setting up the environment locally with evolution_api, completed a demo for the backend part that recieves, saves and stores images (for now, planing on including documents)"}, {"post_id": 16230, "ts": "2026-06-26T11:27:17Z", "hours": 0.6822, "text": "trying to set up evolution api with docker"}]...
|
Title: Printing Kiosk by @roberto | Stardance
Dev Title: Printing Kiosk by @roberto | Stardance
Devlogs:
trying to set up evolution api with docker
Finished setting up the environment locally with evolution_api, completed a demo for the backend part that recieves, saves and stores images (for now, planing on including documents)
Backend demo completed with all funtionalities. Started frontend with C# using PrintDialogX as base to create custom print interface
working on a python frontend using cmd Sumatra printing (even though I do not love the look of it)
Printing Frontend demo finished
fix of file structure, creation of starting ui and retrieval of datas
completed a first fully working version implementing configurations TODOS: cumulative pricing on app.py print multiple files longclicking
bug fix added cumulative pricing on main ui added tmp file for costs
added multi printing (it merges the files selected onto one and prints it) added code 00000 (customizable in config.json) to exit application
minor ui fixes to simplify usability
Tkinter version fully working, but I needed to access it remotely so switched to niceGUI merged all the files (leaving only with backend.py and app.py) optimized for touch screen remote control modified to work on Linux as well as on Windows (using lp or SumatraPDF) added a button in configuration_ui to shut down the server remotely creating .sh file to install everything automatically
finished .sh for installation minor fixes
frontend demo
Implemented .bat and .sh file to auto install everything, added email reception as a way to send files
added features- input screen auto focus on txt input, limited only to numbers, without arrows added A1, A2 as 4xA3 and 2xA3
added print from usb key with fixed code configurable with config.json TODO: -update render_print_config with config.json changes ridimensiomanento manuale immagini touch scroll preview funzione riduci dimensioni testo
ADDED FUNCTION BUTTON SECTION NOW GOING BACK FROM PRINTING GOES TO FILE SELECTION NOW AFTER PRINTING GOES TO FILE SELECTION BACKEND OFFLINE WARNING PAGE ADDED ADMIN PAGEFIXED UI BUG
added privacy and policy readed from .txt file so it is easier to modify removed scroll when not needed
TODO reduce/enlarge images to size 2x page not working ADDED added policy e disclaimer added reduce/enlarge text size fixed multiple copies pricing bug
FIXED 2x page not working
added feature: reduce/enlarge images to size todo: fix scaling issue (as in images)
Added proportional resizing and unproportional resizing, fixed printing after resize. TODO more images in one file to resize
ADDED auto update in python case if multiple pdf is not selected first, possibility to add multiple images TODO merge app.py and backend.py inactivity timer
ADDED auto update in python case if multiple pdf is not selected first, possibility to add multiple images inactivity timer code refactory merged policy.txt in config.json merge app.py and backend.py TODO create start.bat/sh with dual logic (with config modifier) fix merging problem
created .bat file for installation, I was unable to host it so it has to be installed on a Windows pc to work.
bug fixes ( timers didn’t quite fit in, git update useless in installer) created exe with pyinstaller migrated to sqllite for easyer use
Ships:
This project has been an exciting journey in transforming a manual workflow into an automated system. I created a self-service Printing Kiosk system that runs entirely on Linux. The system allows users to send documents via WhatsApp, which the kiosk automatically processes, converts into PDFs, lets the user configure the printing settings and sends directly to a printer via the CUPS native printing system. The interface is a modern, web-based dashboard built with NiceGUI, configured to run in browser Kiosk mode. The decision to rewrite the application interface from Tkinter to NiceGUI was a significant architectural shift, requiring to reimplement the layout and logic to support a web-based, Kiosk-ready experience. If someone were to set this up, they should keep mind that it is designed to be the only process running locally so it may be demanding. The setup script is straigntforward, users must manually configure config.json file and run the .sh file to setup all the application....
|
1793137965.6088963
|
1793224365.6088963
|
|
69098
|
project generator by @tile308217 | Stardance
|
tile308217
|
0
|
15.2
|
0
|
[]
|
[{"post_id": 78740, "ts": "202 [{"post_id": 78740, "ts": "2026-10-11T13:26:30Z", "hours": 15.2044, "text": "A desktop app that generate book for Android app"}]...
|
Title: project generator by @tile308217 | Stardanc Title: project generator by @tile308217 | Stardance
Devlogs:
A desktop app that generate book for Android app...
|
1792475640.063116
|
1793339640.063116
|
|
7748
|
Flow by @twinx | Stardance
|
twinx
|
6
|
106.0
|
791
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T13:20:24Z", "hours": 13.0, "multiplier": 17.94, "payout": 120, "blessing": "neutral", "text": "So after everyone’s request i added support for all platforms , i haven’t tested it on mac (cause i don’t that🙃️) but i have tested on all other platforms and hope that it works on your systems too. Also i have added some new features for u all : a new log for seeing what broke new display i.e. rich that makes it more cool looking new commands and insane customization 😎️", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 2, "ts": "2026-10-01T10:07:35Z", "hours": 35.0, "multiplier": 18.78, "payout": 331, "blessing": "neutral", "text": "Changes from last ship : new database from json to db ( sqlite ) and new codebase Added TUI and also improved the web mode Added new commands and docs Added plugins system and community plugins Major and minor bug fixes", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 3, "ts": "2026-08-02T15:52:05Z", "hours": 22.0, "multiplier": 7.29, "payout": 73, "blessing": "neutral", "text": "So added few not actually few but many like better ui for web formats using ffmpeg playlist feature bug fixes and much more I want to thank you all for support and hopping to add more features. Also do visit the flow page. Enjoy !", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 4, "ts": "2026-07-18T08:24:18Z", "hours": 12.0, "multiplier": 16.41, "payout": 33, "blessing": "neutral", "text": "Ship #3 Added many features such as : background playback so you don’t need to open a terminal just for flow. bars for you to enjoy the vibe. lyrics so you can sing along the song it is also time-synced . and much more such as configs customization. How to install : Head to release page for a linux binary or type it in terminal but make sure you have python and vlc installed pip install flow-twinx and then flow", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 5, "ts": "2026-07-05T01:38:26Z", "hours": 12.0, "multiplier": 14.1, "payout": 109, "blessing": "neutral", "text": "Flow version v0.4.0 This version includes Saavan playback , Saavan is a music player with high quality songs. Please do also keep this in mind that Songs on saavan are only playable on saavan commands and there is no radio mode for it. The difficult part about this thing is the API , actually the API is build by me hosted on NEST as a part of SINGULARITY my another project some similar features but more advanced. Do check out that also!", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 6, "ts": "2026-06-17T08:20:51Z", "hours": 12.0, "multiplier": 10.78, "payout": 125, "blessing": "neutral", "text": "I build a terminal music player that uses vlc and yt_dlp , that has both offline and online support for music you can either play from folders or online. Hardest part to make it run on all os.", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}]...
|
[{"post_id": 78737, "ts": "202 [{"post_id": 78737, "ts": "2026-10-11T13:09:32Z", "hours": 4.8319, "text": "v0.9.1 So after hours added support for all platforms and made website and hosted it on cloudflare here also i have added a better logs system to tell if anything goes wrong , aslo this time please rate it as much as u could i have spend 100+ hours working on this still i get 200 stardust :("}, {"post_id": 78322, "ts": "2026-10-10T12:35:40Z", "hours": 8.4858, "text": "v0.8.4 Forgot to add the versions from some devlogs. New features : added a full for showcase added a minimal version so ai agents and ssh terminals can work too added a new progress bar and some bug fixes… i tried adding cookies but it works good without cookies also so would add a import option to import external songs. Also i am working on making it play on all platforms including termux of mobile phones."}, {"post_id": 75842, "ts": "2026-10-01T10:00:50Z", "hours": 1.4978, "text": "So i have to really fix this bug not too much big but it resulted in multiple vlc instance to start also changed export to export songs instead of a zip file and with custom path can be used by -p PATH or default to Downloads/music ."}, {"post_id": 74510, "ts": "2026-09-27T15:17:11Z", "hours": 0.2864, "text": "#v0.8.0 Just finished some last parts and added it to ship."}, {"post_id": 73966, "ts": "2026-09-26T12:39:28Z", "hours": 8.5808, "text": "So mostly made changes to backend and the structure of the project. Changes : migrated from json to sqlite for history and other new features soon added a plugins system with a repo for community plugins separate commands for sperate playform like flow-web for flow"}, {"post_id": 69636, "ts": "2026-09-17T13:37:22Z", "hours": 2.6986, "text": "v0.7.0 So finally made the tui using textual and it looks pretty good i wasn’t expecting much but yeah looks good also there are pretty much 10 themes i guess so enjoy that are given in textual by default. Also changed the structure of the code repo as it was a disaster so now it has /backend /tui and /cli"}, {"post_id": 65826, "ts": "2026-09-11T07:08:47Z", "hours": 3.4658, "text": "v0.6.1 Replaced the old UI with new UI , as previous one looked awful for most people i hope this is good. Also added this demo video , i tried to add a more professional one with openscreen but quality issues with the app , so will add later till then this is the demo video."}, {"post_id": 62823, "ts": "2026-09-06T10:56:04Z", "hours": 5.4986, "text": "Hey everyone hope ur doing well. Today i think mostly i did was just making it cool and easy to navigate and bug fixes for the most time. Bugs: Ctrl + Q not working in radio mode d not working in new selection mode not showing [Paused] when paused and much more that is too big to explain here and started working on gui mode using PySide6"}, {"post_id": 60253, "ts": "2026-09-02T14:48:41Z", "hours": 2.2642, "text": "v0.6.0 So , i have added a new selection using arrow keys for config search and play for better navigation also to reduce the typing thing in terminal to change the value. Also replaced the bars for a better looking and customizable bars it includes custom char + 3 modes."}, {"post_id": 56448, "ts": "2026-08-28T06:39:47Z", "hours": 2.4575, "text": "So added more commands and few mid level bug fixes : added delete command added more flags to control it by using other programs improved the name shorter to include other laung added the m and pick songs in play also thing as shown in video. improved the –status command to show images."}, {"post_id": 52872, "ts": "2026-08-23T07:46:12Z", "hours": 2.0144, "text": "v0.5.8 So added a better playlist management system that has support for local songs before it had different playlist logic for different mode , now it shares same logic with also bug fixes and in future updates gonna add island as a way u can do it without any configs also better status."}, {"post_id": 50472, "ts": "2026-08-19T17:14:05Z", "hours": 6.7164, "text": "So yeah still alive after many days cause i thought it needed more work. I made something to help u in KDE and Hyprland by using dbus to expose name and a custom --status command wit img support and all that to provide u with a support for custom modules. The island shown here is my custom build and is not included in the flow project. Also made few more thing in here to help u out and fixed bugs."}, {"post_id": 39542, "ts": "2026-08-02T15:48:47Z", "hours": 0.27, "text": "So last fix i guess for this ship , it includes changes in dependencies i previously forgot to add toml so it caused error in some OS i think not in my one , so i switched to pyproject.toml i kept that so users can use pip also not only uv."}, {"post_id": 39528, "ts": "2026-08-02T15:25:31Z", "hours": 0.4983, "text": "So fixed a bug where after closing a radio when user searched for other song and then played it continued from last play instead of new one."}, {"post_id": 38934, "ts": "2026-08-01T15:24:47Z", "hours": 3.4775, "text": "v0.5.0 So fixed major stuffs mostly like : playlist not created error fixed format in web mode as it downloaded in mp3 fixed another download bug as it downloaded in mp4 , when set to default fixed loop during playback which caused one command execution only and other were not listened And added some more thing: a export feature added better port handling added –port ( ~5 commands ) and –version commands"}, {"post_id": 35788, "ts": "2026-07-27T13:20:01Z", "hours": 1.6367, "text": "Added playlist feature and a lot more features like format - opus , mp3 , m4a and webm. Also fixed some bugs regarding downloads and added a check feature to check flow gets all things like vlc , ffmpeg .etc"}, {"post_id": 34615, "ts": "2026-07-25T14:20:28Z", "hours": 0.4917, "text": "So trying to make the web version so u know a better docs instead of terminal one with better installation support. Thought of notifying everyone so u can guess what will be the next few develops about."}, {"post_id": 34070, "ts": "2026-07-24T15:03:24Z", "hours": 2.9269, "text": "Finally added playlist it has following commands: playlist ( to list all ) playlist add playlist remove pl.. -d radio -p ( to save as playlist ) also download or -d download radio as a playlist instead of songs in downloads"}, {"post_id": 32728, "ts": "2026-07-22T02:01:00Z", "hours": 0.74, "text": "v0.4.7 So i am just kinda dumb i think. I didn’t even commited the changes and lost all the works 🥲 i do managed to re-write the code once again for some parts like DEV MODE and bug fix regarding the playback. So playlist features are on a hold"}, {"post_id": 32438, "ts": "2026-07-21T16:57:32Z", "hours": 2.5728, "text": "So fixed some major and minor bugs and flaws like user can even download the song in /boot/ also added history and auto-completion , it also now has playlist commands and features with better UI in web mode not too much but still. Also added format option so u can download in whichever format u want. And made this banner"}, {"post_id": 31875, "ts": "2026-07-20T16:54:25Z", "hours": 8.9078, "text": "0.4.5 So after ~7hr ( some are not recorded which i spent in browser ) I made the UI of the flow in web looking forward for a desktop UI also but later i think. What is New and what is changed Web UI with pixel theme Local support for UI also and liked songs Minor bug fixes"}, {"post_id": 30572, "ts": "2026-07-18T08:19:25Z", "hours": 0.3758, "text": "Nothing added just fixed more things and made a new video for upload at github pages. You can see video here it also has audio. added a linux binary at release page and links to my github account in PyPi"}, {"post_id": 30520, "ts": "2026-07-18T05:06:55Z", "hours": 0.4369, "text": "So added these bars looks weird i know because i set their width to 3 and spacing : fit that’s why but u can customize it however you want. Also fully added the lyrics , mostly you will see lyrics not found if are listening in other laung then eng because YtLyrics doesn’t have much songs lyrics i guess."}, {"post_id": 30505, "ts": "2026-07-18T04:13:45Z", "hours": 1.0981, "text": "So this is going crazy like really! What i added today? A bar that reacts to sound. fixed errors in bg mode which triggered the playing of two music at the same time. Also trying to add like 50% added the lyrics with time synced."}, {"post_id": 30120, "ts": "2026-07-17T13:09:14Z", "hours": 9.635, "text": "So i made some new changes like a background player no need to open a terminal just for a music also fixed some major errors like calling fetch when not needed in radio mode."}, {"post_id": 22528, "ts": "2026-07-05T01:33:25Z", "hours": 3.9431, "text": "Published v0.4.0 this version includes Saavan playback also and new commands i.e. : savan : play songs directly( alias: svn ) savan-s : search songs by name ( alias : svn-s )"}, {"post_id": 16137, "ts": "2026-06-26T07:14:21Z", "hours": 2.9075, "text": "Added many features here are some of them : better radio with play next config feature theme changing better colors."}, {"post_id": 15463, "ts": "2026-06-25T04:23:40Z", "hours": 2.0053, "text": "uploaded to PyPi with features such as: radio mode which auto suggest songs alias for quick commands major bug fixes"}, {"post_id": 13075, "ts": "2026-06-21T11:57:16Z", "hours": 2.5681, "text": "added alias for commands such as hl for help , pl for play these are default and can be changed later by running short <index> <value> also added more detailed help command that gives user more info , can be run by using help -i or hl -i or as per your alias. Features in new update: suggestion of songs (fetched from youtube) custom themes more option for using tools"}, {"post_id": 11113, "ts": "2026-06-18T05:43:07Z", "hours": 0.3356, "text": "Finally after hard work as i have never uploaded anything to Pypi anything before so totally a disaster that includes import error and much more. You can install this package by typing pip install flow-twinx"}, {"post_id": 10500, "ts": "2026-06-17T07:47:16Z", "hours": 0.2867, "text": "fixed the error when doing install.sh in windows as the path are not same in linux and windows"}, {"post_id": 10490, "ts": "2026-06-17T07:23:31Z", "hours": 0.4394, "text": "added readme.md and finished by adding features listed also added install.sh"}, {"post_id": 10471, "ts": "2026-06-17T06:45:47Z", "hours": 2.6703, "text": "made few things as listed: a progress bar offline download of songs shuffle and repeat songs liked songs and much more adding : offline support like liked songs , album"}, {"post_id": 10390, "ts": "2026-06-17T02:17:36Z", "hours": 1.2692, "text": "Re-started the project and this time adding both offline and online features i.e. yet to implement , i have already made the ping.py file so it can check if host has connections. also some few changes in future :- online playback mode without downloading the song. offline mode. will try to add suggestion by adding &start_radio=1 to get suggestion directly from YouTube"}, {"post_id": 5516, "ts": "2026-06-09T10:11:49Z", "hours": 1.8011, "text": "Tried too much to add cross-fade but the audio just glitches , will be trying more if not possible i will leave this feature and focus on something different.Also added the bash install for different os so it becomes flow play not py main.py play."}, {"post_id": 4843, "ts": "2026-06-08T11:24:27Z", "hours": 2.4728, "text": "Finally made functional and working , have to make it once more took more help from AI i didn’t wanted to but sometimes vlc was giving error and sometimes yt_dlp even though i was following the module guide , i don’t know what was happening. Currently adding the spinners and more things. Features added till now: like music make playlist Fuzzy search or smart search"}, {"post_id": 4229, "ts": "2026-06-07T13:53:21Z", "hours": 2.8981, "text": "| | This is my first post on this project , this project is about a feature rich and apple music inspired terminal music player | | . Today i made basic commands like play , delete , random , like .etc . The best part was to create the file handling as i have learned how to handle the .yaml files instead of json files for settings and hardest part was nothing except me trying to use vlc without AI or docs."}]...
|
Title: Flow by @twinx | Stardance
Devlogs:
| | Th Title: Flow by @twinx | Stardance
Devlogs:
| | This is my first post on this project , this project is about a feature rich and apple music inspired terminal music player | | . Today i made basic commands like play , delete , random , like .etc . The best part was to create the file handling as i have learned how to handle the .yaml files instead of json files for settings and hardest part was nothing except me trying to use vlc without AI or docs.
Finally made functional and working , have to make it once more took more help from AI i didn’t wanted to but sometimes vlc was giving error and sometimes yt_dlp even though i was following the module guide , i don’t know what was happening. Currently adding the spinners and more things. Features added till now: like music make playlist Fuzzy search or smart search
Tried too much to add cross-fade but the audio just glitches , will be trying more if not possible i will leave this feature and focus on something different.Also added the bash install for different os so it becomes flow play not py main.py play.
Re-started the project and this time adding both offline and online features i.e. yet to implement , i have already made the ping.py file so it can check if host has connections. also some few changes in future :- online playback mode without downloading the song. offline mode. will try to add suggestion by adding &start_radio=1 to get suggestion directly from YouTube
made few things as listed: a progress bar offline download of songs shuffle and repeat songs liked songs and much more adding : offline support like liked songs , album
added readme.md and finished by adding features listed also added install.sh
fixed the error when doing install.sh in windows as the path are not same in linux and windows
Finally after hard work as i have never uploaded anything to Pypi anything before so totally a disaster that includes import error and much more. You can install this package by typing pip install flow-twinx
added alias for commands such as hl for help , pl for play these are default and can be changed later by running short <index> <value> also added more detailed help command that gives user more info , can be run by using help -i or hl -i or as per your alias. Features in new update: suggestion of songs (fetched from youtube) custom themes more option for using tools
uploaded to PyPi with features such as: radio mode which auto suggest songs alias for quick commands major bug fixes
Added many features here are some of them : better radio with play next config feature theme changing better colors.
Published v0.4.0 this version includes Saavan playback also and new commands i.e. : savan : play songs directly( alias: svn ) savan-s : search songs by name ( alias : svn-s )
So i made some new changes like a background player no need to open a terminal just for a music also fixed some major errors like calling fetch when not needed in radio mode.
So this is going crazy like really! What i added today? A bar that reacts to sound. fixed errors in bg mode which triggered the playing of two music at the same time. Also trying to add like 50% added the lyrics with time synced.
So added these bars looks weird i know because i set their width to 3 and spacing : fit that’s why but u can customize it however you want. Also fully added the lyrics , mostly you will see lyrics not found if are listening in other laung then eng because YtLyrics doesn’t have much songs lyrics i guess.
Nothing added just fixed more things and made a new video for upload at github pages. You can see video here it also has audio. added a linux binary at release page and links to my github account in PyPi
0.4.5 So after ~7hr ( some are not recorded which i spent in browser ) I made the UI of the flow in web looking forward for a desktop UI also but later i think. What is New and what is changed Web UI with pixel theme Local support for UI also and liked songs Minor bug fixes
So fixed some major and minor bugs and flaws like user can even download the song in /boot/ also added history and auto-completion , it also now has playlist commands and features with better UI in web mode not too much but still. Also added format option so u can download in whichever format u want. And made this banner
v0.4.7 So i am just kinda dumb i think. I didn’t even commited the changes and lost all the works 🥲 i do managed to re-write the code once again for some parts like DEV MODE and bug fix regarding the playback. So playlist features are on a hold
Finally added playlist it has following commands: playlist ( to list all ) playlist add playlist remove pl.. -d radio -p ( to save as playlist ) also download or -d download radio as a playlist instead of songs in downloads
So trying to make the web version so u know a better docs instead of terminal one with better installation support. Thought of notifying everyone so u can guess what will be the next few develops about.
Added playlist feature and a lot more features like format - opus , mp3 , m4a and webm. Also fixed some bugs regarding downloads and added a check feature to check flow gets all things like vlc , ffmpeg .etc
v0.5.0 So fixed major stuffs mostly like : playlist not created error fixed format in web mode as it downloaded in mp3 fixed another download bug as it downloaded in mp4 , when set to default fixed loop during playback which caused one command execution only and other were not listened And added some more thing: a export feature added better port handling added –port ( ~5 commands ) and –version commands
So fixed a bug where after closing a radio when user searched for other song and then played it continued from last play instead of new one.
So last fix i guess for this ship , it includes changes in dependencies i previously forgot to add toml so it caused error in some OS i think not in my one , so i switched to pyproject.toml i kept that so users can use pip also not only uv.
So yeah still alive after many days cause i thought it needed more work. I made something to help u in KDE and Hyprland by using dbus to expose name and a custom --status command wit img support and all that to provide u with a support for custom modules. The island shown here is my custom build and is not included in the flow project. Also made few more thing in here to help u out and fixed bugs.
v0.5.8 So added a better playlist management system that has support for local songs before it had different playlist logic for different mode , now it shares same logic with also bug fixes and in future updates gonna add island as a way u can do it without any configs also better status.
So added more commands and few mid level bug fixes : added delete command added more flags to control it by using other programs improved the name shorter to include other laung added the m and pick songs in play also thing as shown in video. improved the –status command to show images.
v0.6.0 So , i have added a new selection using arrow keys for config search and play for better navigation also to reduce the typing thing in terminal to change the value. Also replaced the bars for a better looking and customizable bars it includes custom char + 3 modes.
Hey everyone hope ur doing well. Today i think mostly i did was just making it cool and easy to navigate and bug fixes for the most time. Bugs: Ctrl + Q not working in radio mode d not working in new selection mode not showing [Paused] when paused and much more that is too big to explain here and started working on gui mode using PySide6
v0.6.1 Replaced the old UI with new UI , as previous one looked awful for most people i hope this is good. Also added this demo video , i tried to add a more professional one with openscreen but quality issues with the app , so will add later till then this is the demo video.
v0.7.0 So finally made the tui using textual and it looks pretty good i wasn’t expecting much but yeah looks good also there are pretty much 10 themes i guess so enjoy that are given in textual by default. Also changed the structure of the code repo as it was a disaster so now it has /backend /tui and /cli
So mostly made changes to backend and the structure of the project. Changes : migrated from json to sqlite for history and other new features soon added a plugins system with a repo for community plugins separate commands for sperate playform like flow-web for flow
#v0.8.0 Just finished some last parts and added it to ship.
So i have to really fix this bug not too much big but it resulted in multiple vlc instance to start also changed export to export songs instead of a zip file and with custom path can be used by -p PATH or default to Downloads/music .
v0.8.4 Forgot to add the versions from some devlogs. New features : added a full for showcase added a minimal version so ai agents and ssh terminals can work too added a new progress bar and some bug fixes… i tried adding cookies but it works good without cookies also so would add a import option to import external songs. Also i am working on making it play on all platforms including termux of mobile phones.
v0.9.1 So after hours added support for all platforms and made website and hosted it on cloudflare here also i have added a better logs system to tell if anything goes wrong , aslo this time please rate it as much as u could i have spend 100+ hours working on this still i get 200 stardust :(
Ships:
I build a terminal music player that uses vlc and yt_dlp , that has both offline and online support for music you can either play from folders or online. Hardest part to make it run on all os.
Flow version v0.4.0 This version includes Saavan playback , Saavan is a music player with high quality songs. Please do also keep this in mind that Songs on saavan are only playable on saavan commands and there is no radio mode for it. The difficult part about this thing is the API , actually the API is build by me hosted on NEST as a part of SINGULARITY my another project some similar features but more advanced. Do check out that also!
Ship #3 Added many features such as : background playback so you don’t need to open a terminal just for flow. bars for you to enjoy the vibe. lyrics so you can sing along the song it is also time-synced . and much more such as configs customization. How to install : Head to release page for a linux binary or type it in terminal but make sure you have python and vlc installed pip install flow-twinx and then flow
So added few not actually few but many like better ui for web formats using ffmpeg playlist feature bug fixes and much more I want to thank you all for support and hopping to add more features. Also do visit the flow page. Enjoy !
Changes from last ship : new database from json to db ( sqlite ) and new codebase Added TUI and also improved the web mode Added new commands and docs Added plugins system and community plugins Major and minor bug fixes
So after everyone’s request i added support for all platforms , i haven’t tested it on mac (cause i don’t that🙃️) but i have tested on all other platforms and hope that it works on your systems too. Also i have added some new features for u all : a new log for seeing what broke new display i.e. rich that makes it more cool looking new commands and insane customization 😎️...
|
1793127246.569233
|
1793213646.569233
|
|
33673
|
TerrorPredictor by @BrainGen | Stardance
|
BrainGen
|
0
|
16.81
|
0
|
[]
|
[{"post_id": 78735, "ts": "202 [{"post_id": 78735, "ts": "2026-10-11T13:07:43Z", "hours": 3.0736, "text": "###Devlog 5 You might wonder why random red dots are flying to heaven. Short story: It’s one of my most annoying failures. You see, I’m building TerrorPredictor, a linear regression model that predicts terror attacks in different countries. Yes, this is AI but it’s old school. Anyway, over the last few devlogs (go check them out!) I’ve collected data to feed to the model (so that it can learn). You see, terror attacks are driven by many things including the living conditions of the population. Or so I thought. This graph shows me that’s not true, at least in my data. ———– Long Story ———— Over the last few days I’ve been learning statistics. I’ve mostly spent time on theory, which is why only 3 hours of work is shown here. I’ve learnt a lot, and made some mistakes too. First of all, I learnt about variance , standard deviation and other metrics that we use to study data. It turns out my data is not uniform , because some terrorist attacks have thousands of victims, while most kill nobody. This spelled trouble for my analysis, because the most common analysis method, linear regression , requires the data to be more or less uniformly distributed. But this is an issue which can be fixed. —— What’s the graph? —— I’ll answer that soon. After looking at metrics, I started looking at statistical distributions. I plotted my data, and found this graph. At first glance, it looks like there is some sort of relationship between HDI and number of victims of attacks. Notice the floor of values near y=0. It tells me that it’ll be very difficult to predict anything using HDI. I’m not getting rid of HDI data yet, though things don’t look good for it. (HDI is the human development index - a metric quantifying living conditions) I learnt a painful lesson though - before spending effort cleaning data (other than the bare minimum of course), first check that the data has a relationship at all. —— What Works? —— I did have some success - civilian deaths in a country seem to have a power-law relationship with number of casualties, so I do have one successful parameter. I can easily convert this to linear through log-log scaling. I’ll try to look for more parameters - probably already found one too. I won’t make the same mistake again. PS: The reason the dots are reaching for heaven is because they are outliers and don’t follow the typical pattern."}, {"post_id": 74414, "ts": "2026-09-27T10:40:40Z", "hours": 3.0978, "text": "Finished Data Cleaning Devlog 4 Previously, I’d cleaned the Global Terrorism Dataset which gave me information of past instances of terrorism in a country. I’ve merged two new datasets in, the Uppsala University Georeferenced Events Dataset, from which I calculated the civilian death toll of a conflict, and the UN’s Human Development Index, which I used to asses the living standard of the country. I hope these metrics will be sufficient to give me an accurate analysis. My learning: The right dataset matters more than how you clean it Perhaps this isn’t true for big data, but I’ve found that the right dataset can save like half the cleaning. I tried using ACLED, the One Sided events database from Uppsala, and looked at several other metrics (I originally planned to use GNI for economic situation, but I found HDI is a more accurate metric). The UN dataset was wonderfully maintained, and I didn’t have to clean it too much. The merge did take some trial and error, with column renaming and all that, but overall the work was easy. About TerrorPredictor: It’s an ML model that uses publically available data about factors relating to conflict, in order to the number of terrorist attacks for a given country in a year."}, {"post_id": 68629, "ts": "2026-09-15T12:59:51Z", "hours": 2.6744, "text": "Over the last few hrs I’ve been finishing the data cleaning of global terrorism dataset off. I’ve imputed what I need and cleaned the dataset sufficiently. The next step is to look for data of the environmental factors, namely: Economic Situation Brutality of Government forces Crime rate and other related stats After I get this information and clean the data, I should be able to build the predictor. I had been able to get in a flow state last time, so I had reasonably good quality of work. I had a few issues and a few learnings too. I really struggled with using groupby to get analysis; Essentially what I wanted was all terrorist groups arranged, by country, in descending order by kills , i.e most kills first, least kills last, by country. To create this, I had mainly tried to use groupby() in different ways, however my solution ended up using both groupby, and sort, and set index. I learnt that the most obvious solution isn’t always the right one. I also learnt the utility of lambda functions - they’re really useful for filtration and other stuff that normal functions won’t suffice for. Additionally, I learnt about a technique to make method chaining cleaner, by using () and writing methods inside that, line by line. An example is given in the picture. Overall, lot of work and significant progress. Cleaned code is available on github."}, {"post_id": 56471, "ts": "2026-08-28T07:49:56Z", "hours": 2.7328, "text": "Global Terrorism Dataset - Cleaning Over the past few hours I’ve been cleaning the global terrorism dataset. So far, I’ve removed columns that I do not require (over half the dataset), parsed dates, and cleaned the group name column (which is important to identify organizations). You can find my entire pipeline on github, but here are some places where I faced issues and this is what I learnt. AI wiped out my entire code I’m not using AI to code for this project, other than to look up functions for a specific usecase (i.e no coding agent). One place I’ve extensively used AI is Version Control in git, to help me remember commands. Long story short, I had uploaded the entire dataset to github and needed to remove it because the file size was too much. I used an AI generated git command and it wiped out my entire codebase. Thankfully I had a window open so I didn’t lose my code. My learnings: Version control is only for code, not files. NEVER trust AI with mission critical work. Always know what it’s doing, even in mundane work like version control. I almost wasted hours typing The global terrorism dataset contains many columns, like attacktype1, attacktype2, target1, target2, and so on. Most of these are of no use. I was originally gonna put all of these in a list and remove them, and given that there are over a hundred columns , I could’ve wasted like an hour typing. Thankfully, I realized that this had to be automatable, so I learnt about the any() function and wrote a nice list comprehension to generate that list of columns to remove for me. AI did help here, and I realized that was a problem. My learnings: Advanced Python, like list comprehensions, is very helpful while cleaning data. Avoid repetition at all costs An imperfect solution should be made before using AI for support. It leads to learning, and the AI can act as a tutor to help make your pipeline more efficient. the attached pic is a cleaner dataset, btw How I implemented these learnings While parsing dates, I created an imperfect solution first. The only use of AI was to find the difference between astype() and to_string() functions. The logic for date parsing was entirely my own, done by combining idate, imonth, and iyear columns. This actually allowed me to learn."}, {"post_id": 46295, "ts": "2026-08-13T12:56:25Z", "hours": 5.2358, "text": "Welcome to TerrorPredictor! It’s a data analysis and Classical ML project which will use publically available data on terrorism, such as the Global Terrorism Database (that’s the only one I started with, will add more data soon!) to predict the number of terrorist attacks in a given region or country. The only problem, of course, is that I have no skills to build this thing! That’s what I’ve been doing for the past few hours (it’s more than five hours in tutorial hell). Main Components This refers to the components of code on the backend. Firstly, I’ll need the data itself, which I plan to take from Kaggle’s Global Terrorism Database and some other sources. Some of the factors I’m thinking of considering are: Economic situation Local Culture Political Stability of the Area Conduct of government forces and their allies .. and a whole lot more. To be honest, I don’t really know how many factors will be necessary. I fully expect this project to fail miserably. But it’s worth a try. To build this thing, I’ll need to know: Pandas for data cleaning and basic insights Classic ML algorithms such as Linear regression, and maybe some tree based models Numpy, to process the numbers And of course, plotting libraries to actually understand the data. The past few hours I’ve spent on Pandas. It’s vast and boring, but that’s my fault for over relying on tutorials. I’m changing track today, and I’ll be cleaning a part of the Global Terrorism Database, to ground my learnings. Thanks for reading this devlog!"}]...
|
Title: TerrorPredictor by @BrainGen | Stardance
D Title: TerrorPredictor by @BrainGen | Stardance
Devlogs:
Welcome to TerrorPredictor! It’s a data analysis and Classical ML project which will use publically available data on terrorism, such as the Global Terrorism Database (that’s the only one I started with, will add more data soon!) to predict the number of terrorist attacks in a given region or country. The only problem, of course, is that I have no skills to build this thing! That’s what I’ve been doing for the past few hours (it’s more than five hours in tutorial hell). Main Components This refers to the components of code on the backend. Firstly, I’ll need the data itself, which I plan to take from Kaggle’s Global Terrorism Database and some other sources. Some of the factors I’m thinking of considering are: Economic situation Local Culture Political Stability of the Area Conduct of government forces and their allies .. and a whole lot more. To be honest, I don’t really know how many factors will be necessary. I fully expect this project to fail miserably. But it’s worth a try. To build this thing, I’ll need to know: Pandas for data cleaning and basic insights Classic ML algorithms such as Linear regression, and maybe some tree based models Numpy, to process the numbers And of course, plotting libraries to actually understand the data. The past few hours I’ve spent on Pandas. It’s vast and boring, but that’s my fault for over relying on tutorials. I’m changing track today, and I’ll be cleaning a part of the Global Terrorism Database, to ground my learnings. Thanks for reading this devlog!
Global Terrorism Dataset - Cleaning Over the past few hours I’ve been cleaning the global terrorism dataset. So far, I’ve removed columns that I do not require (over half the dataset), parsed dates, and cleaned the group name column (which is important to identify organizations). You can find my entire pipeline on github, but here are some places where I faced issues and this is what I learnt. AI wiped out my entire code I’m not using AI to code for this project, other than to look up functions for a specific usecase (i.e no coding agent). One place I’ve extensively used AI is Version Control in git, to help me remember commands. Long story short, I had uploaded the entire dataset to github and needed to remove it because the file size was too much. I used an AI generated git command and it wiped out my entire codebase. Thankfully I had a window open so I didn’t lose my code. My learnings: Version control is only for code, not files. NEVER trust AI with mission critical work. Always know what it’s doing, even in mundane work like version control. I almost wasted hours typing The global terrorism dataset contains many columns, like attacktype1, attacktype2, target1, target2, and so on. Most of these are of no use. I was originally gonna put all of these in a list and remove them, and given that there are over a hundred columns , I could’ve wasted like an hour typing. Thankfully, I realized that this had to be automatable, so I learnt about the any() function and wrote a nice list comprehension to generate that list of columns to remove for me. AI did help here, and I realized that was a problem. My learnings: Advanced Python, like list comprehensions, is very helpful while cleaning data. Avoid repetition at all costs An imperfect solution should be made before using AI for support. It leads to learning, and the AI can act as a tutor to help make your pipeline more efficient. the attached pic is a cleaner dataset, btw How I implemented these learnings While parsing dates, I created an imperfect solution first. The only use of AI was to find the difference between astype() and to_string() functions. The logic for date parsing was entirely my own, done by combining idate, imonth, and iyear columns. This actually allowed me to learn.
Over the last few hrs I’ve been finishing the data cleaning of global terrorism dataset off. I’ve imputed what I need and cleaned the dataset sufficiently. The next step is to look for data of the environmental factors, namely: Economic Situation Brutality of Government forces Crime rate and other related stats After I get this information and clean the data, I should be able to build the predictor. I had been able to get in a flow state last time, so I had reasonably good quality of work. I had a few issues and a few learnings too. I really struggled with using groupby to get analysis; Essentially what I wanted was all terrorist groups arranged, by country, in descending order by kills , i.e most kills first, least kills last, by country. To create this, I had mainly tried to use groupby() in different ways, however my solution ended up using both groupby, and sort, and set index. I learnt that the most obvious solution isn’t always the right one. I also learnt the utility of lambda functions - they’re really useful for filtration and other stuff that normal functions won’t suffice for. Additionally, I learnt about a technique to make method chaining cleaner, by using () and writing methods inside that, line by line. An example is given in the picture. Overall, lot of work and significant progress. Cleaned code is available on github.
Finished Data Cleaning Devlog 4 Previously, I’d cleaned the Global Terrorism Dataset which gave me information of past instances of terrorism in a country. I’ve merged two new datasets in, the Uppsala University Georeferenced Events Dataset, from which I calculated the civilian death toll of a conflict, and the UN’s Human Development Index, which I used to asses the living standard of the country. I hope these metrics will be sufficient to give me an accurate analysis. My learning: The right dataset matters more than how you clean it Perhaps this isn’t true for big data, but I’ve found that the right dataset can save like half the cleaning. I tried using ACLED, the One Sided events database from Uppsala, and looked at several other metrics (I originally planned to use GNI for economic situation, but I found HDI is a more accurate metric). The UN dataset was wonderfully maintained, and I didn’t have to clean it too much. The merge did take some trial and error, with column renaming and all that, but overall the work was easy. About TerrorPredictor: It’s an ML model that uses publically available data about factors relating to conflict, in order to the number of terrorist attacks for a given country in a year.
###Devlog 5 You might wonder why random red dots are flying to heaven. Short story: It’s one of my most annoying failures. You see, I’m building TerrorPredictor, a linear regression model that predicts terror attacks in different countries. Yes, this is AI but it’s old school. Anyway, over the last few devlogs (go check them out!) I’ve collected data to feed to the model (so that it can learn). You see, terror attacks are driven by many things including the living conditions of the population. Or so I thought. This graph shows me that’s not true, at least in my data. ———– Long Story ———— Over the last few days I’ve been learning statistics. I’ve mostly spent time on theory, which is why only 3 hours of work is shown here. I’ve learnt a lot, and made some mistakes too. First of all, I learnt about variance , standard deviation and other metrics that we use to study data. It turns out my data is not uniform , because some terrorist attacks have thousands of victims, while most kill nobody. This spelled trouble for my analysis, because the most common analysis method, linear regression , requires the data to be more or less uniformly distributed. But this is an issue which can be fixed. —— What’s the graph? —— I’ll answer that soon. After looking at metrics, I started looking at statistical distributions. I plotted my data, and found this graph. At first glance, it looks like there is some sort of relationship between HDI and number of victims of attacks. Notice the floor of values near y=0. It tells me that it’ll be very difficult to predict anything using HDI. I’m not getting rid of HDI data yet, though things don’t look good for it. (HDI is the human development index - a metric quantifying living conditions) I learnt a painful lesson though - before spending effort cleaning data (other than the bare minimum of course), first check that the data has a relationship at all. —— What Works? —— I did have some success - civilian deaths in a country seem to have a power-law relationship with number of casualties, so I do have one successful parameter. I can easily convert this to linear through log-log scaling. I’ll try to look for more parameters - probably already found one too. I won’t make the same mistake again. PS: The reason the dots are reaching for heaven is because they are outliers and don’t follow the typical pattern....
|
1793191995.7707748
|
1793796795.7707748
|
|
41418
|
Hackypad by @FraI3mega | Stardance
|
FraI3mega
|
0
|
8.65
|
0
|
[]
|
[{"post_id": 78732, "ts": "202 [{"post_id": 78732, "ts": "2026-10-11T12:49:27Z", "hours": 1.0794, "text": "Devlog 5: Soldering After waiting for the kit to arrive, I’ve finally gotten to soldering it all together. It was really quick, although i might have to change my case dimensions somewhat"}, {"post_id": 47668, "ts": "2026-08-15T18:37:12Z", "hours": 0.4186, "text": "Devlog 4: Making A Proper Readme It’s my second real — public — hardware project, so writing good readme’s still feels a little bit weird, although it isn’t that hard"}, {"post_id": 47638, "ts": "2026-08-15T17:45:57Z", "hours": 1.1839, "text": "Devlog 3: Firmware and a knob At first I wanted to use the RMK firmware, since it seems is easier to configure, but it’s lack of display support made me choose to go with QMK (for now). I also made a simple knob for the encoder, to make it look better."}, {"post_id": 47586, "ts": "2026-08-15T15:51:15Z", "hours": 3.0906, "text": "Devlog 2: New PCB, New Case At first I wanted to add leds, but decided to stick with what I had. In the process I made the pcb more compact. Also made a case, still have to make the knob"}, {"post_id": 42289, "ts": "2026-08-06T22:34:48Z", "hours": 2.8783, "text": "Devlog 1 - First time designing a PCB Had to scrap my first design after criss-crossing too many traces. Still fighting kicad to import 3d models – for the switches, and encoder. Once that’s done i will move onto the designing the case."}]...
|
Title: Hackypad by @FraI3mega | Stardance
Devlogs Title: Hackypad by @FraI3mega | Stardance
Devlogs:
Devlog 1 - First time designing a PCB Had to scrap my first design after criss-crossing too many traces. Still fighting kicad to import 3d models – for the switches, and encoder. Once that’s done i will move onto the designing the case.
Devlog 2: New PCB, New Case At first I wanted to add leds, but decided to stick with what I had. In the process I made the pcb more compact. Also made a case, still have to make the knob
Devlog 3: Firmware and a knob At first I wanted to use the RMK firmware, since it seems is easier to configure, but it’s lack of display support made me choose to go with QMK (for now). I also made a simple knob for the encoder, to make it look better.
Devlog 4: Making A Proper Readme It’s my second real — public — hardware project, so writing good readme’s still feels a little bit weird, although it isn’t that hard
Devlog 5: Soldering After waiting for the kit to arrive, I’ve finally gotten to soldering it all together. It was really quick, although i might have to change my case dimensions somewhat...
|
1792803201.005116
|
1793408001.005116
|
|
69156
|
Cipher Lab by @ChiefyBean | Stardance
|
ChiefyBean
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T13:21:37Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "CipherLab, a desktop app for learning classical cryptography. It has the following features: CipherLab, a desktop app for learning classical cryptography. Lab: encrypt and decrypt with Caesar, Atbash, Vigenère, ROT13 and Reverse Learn: a lesson for each cipher with the formula and a worked example Custom ciphers: build your own by configuring Caesar, Vigenère or Substitution, or by writing your own Python encrypt and decrypt functions Favourites, open and save text files, copy and clear buttons Your custom ciphers and favourites are saved automatically AND SIDE NOTE PACKAGING THE PROJECT IS A BIG PAIN .", "repo": "https://github.com/singhbrahmroop-hash/CipherLab", "demo": "https://github.com/singhbrahmroop-hash/CipherLab/releases/tag/v0.0.1"}]...
|
[{"post_id": 78727, "ts": "202 [{"post_id": 78727, "ts": "2026-10-11T12:35:54Z", "hours": 10.1453, "text": "Cipher lab From Idea to Realese The Idea: I wanted a tool where i can use cipher to encrypt/decrypt a message in prebuild and custom cipher. Where we can also encrypt and decrypt whole text flles at once. The ui itself is dark themed for better visibillity. Everyday features. Open a .txt file as your message, save the result to a file, copy it to the clipboard, and clear the boxes. Deleting a custom cipher takes two clicks, so one stray click can’t remove one. The hardest thing : The packaging. THere were a Ton of errors i had to re write a lot of things for pyinstaller to work. Thanks for reading. CipherLab v1.0 is out. — ChiefyBean"}]...
|
Title: Cipher Lab by @ChiefyBean | Stardance
Devl Title: Cipher Lab by @ChiefyBean | Stardance
Devlogs:
Cipher lab From Idea to Realese The Idea: I wanted a tool where i can use cipher to encrypt/decrypt a message in prebuild and custom cipher. Where we can also encrypt and decrypt whole text flles at once. The ui itself is dark themed for better visibillity. Everyday features. Open a .txt file as your message, save the result to a file, copy it to the clipboard, and clear the boxes. Deleting a custom cipher takes two clicks, so one stray click can’t remove one. The hardest thing : The packaging. THere were a Ton of errors i had to re write a lot of things for pyinstaller to work. Thanks for reading. CipherLab v1.0 is out. — ChiefyBean
Ships:
CipherLab, a desktop app for learning classical cryptography. It has the following features: CipherLab, a desktop app for learning classical cryptography. Lab: encrypt and decrypt with Caesar, Atbash, Vigenère, ROT13 and Reverse Learn: a lesson for each cipher with the formula and a worked example Custom ciphers: build your own by configuring Caesar, Vigenère or Substitution, or by writing your own Python encrypt and decrypt functions Favourites, open and save text files, copy and clear buttons Your custom ciphers and favourites are saved automatically AND SIDE NOTE PACKAGING THE PROJECT IS A BIG PAIN ....
|
1793130651.9760923
|
1793217051.9760923
|
|
301
|
Almost There by @Osaidii | Stardance
|
Osaidii
|
1
|
20.0
|
133
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T13:08:24Z", "hours": 20.0, "multiplier": 13.35, "payout": 133, "blessing": "neutral", "text": "I made a horror game, making the settings menu was pretty challenging but that is the part I am most proud of too. One thing people should know is that the gameplay is far from comeplete, and the whole settings menu works. controls arent changeabe btw.", "repo": "https://github.com/Osaidii/Almost-There", "demo": "https://osaidii.itch.io/almost-there"}]...
|
[{"post_id": 78722, "ts": "202 [{"post_id": 78722, "ts": "2026-10-11T12:28:31Z", "hours": 19.6383, "text": "I worked on completing my settings menu and then adding more gameplay. I also fixed bugs with previous stuff like the special walls. I also added subtitles and tutorials."}]...
|
Title: Almost There by @Osaidii | Stardance
Devlo Title: Almost There by @Osaidii | Stardance
Devlogs:
I worked on completing my settings menu and then adding more gameplay. I also fixed bugs with previous stuff like the special walls. I also added subtitles and tutorials.
Ships:
I made a horror game, making the settings menu was pretty challenging but that is the part I am most proud of too. One thing people should know is that the gameplay is far from comeplete, and the whole settings menu works. controls arent changeabe btw....
|
1793148986.301877
|
1793235386.301877
|
|
69151
|
Student Result Management System by @taofeek | Sta Student Result Management System by @taofeek | Stardance...
|
taofeek
|
0
|
2.5
|
0
|
[]
|
[{"post_id": 78718, "ts": "202 [{"post_id": 78718, "ts": "2026-10-11T12:09:38Z", "hours": 2.5008, "text": "Student Result Management System initial features are: It collects students information Validate their subject score between 0 - 100 and reject input below 0 and above 100 It calculates Student’s performance Assign Grade to the student based on their average score Determines if the student pass or fail"}]...
|
Title: Student Result Management System by @taofee Title: Student Result Management System by @taofeek | Stardance
Devlogs:
Student Result Management System initial features are: It collects students information Validate their subject score between 0 - 100 and reject input below 0 and above 100 It calculates Student’s performance Assign Grade to the student based on their average score Determines if the student pass or fail...
|
1793130645.3533564
|
1793735445.3533564
|
|
45075
|
MATH-Warefare by @Lalith | Stardance
|
Lalith
|
1
|
8.77
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T16:52:51Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a speed math game for speed and pratice for exams", "repo": "https://github.com/Hustlenix/math-warfare", "demo": "https://hustlenix.github.io/math-warfare/"}]...
|
[{"post_id": 78717, "ts": "202 [{"post_id": 78717, "ts": "2026-10-11T12:05:43Z", "hours": 5.7681, "text": "I got a feedback saying that this game is not gat good and stuff. so as you guys know that i recently bought few itch.io assets from itch.io obviosly. with that i used them to make 100s of characters in minutes effort lessly, and to elivate the whole game and flip it, i game few great changes in these 5-6 hours, like adding my fav heisengurg in the game+ adding 100s of characters+ added many villagers and more!"}, {"post_id": 43387, "ts": "2026-08-08T16:21:23Z", "hours": 1.0556, "text": "I know that this project and idea is not good………… as they are mostly about basic math and calucluations , I tried to make it more interactive and fun by adding more tougher questions and memes in middle to cool you down, let me know if you have some suggestions GNG, and do check out my website"}, {"post_id": 43246, "ts": "2026-08-08T12:17:18Z", "hours": 1.6953, "text": "After pushing all of the code to github i got some help from a LLM and tried deploying it by myself but it is harder that it looks, and i accidantally push the .env file too for no reason🐬🐬😭. Stay hard gng"}, {"post_id": 42686, "ts": "2026-08-07T15:20:20Z", "hours": 0.4631, "text": "While studying for my exams, I realized something frustrating - even though I can now prove if triangles are similar or not, I still forget simple basic math during exams and tests. This is eating up a lot of time since I have to calculate everything from scratch.So I decided to build a speed math thing based on grade level and difficulty, plus the methods we’re going to practice. I know this might sound boring for exam prep, but my goal here is to make it as fun as I can and share it with you guys.For now, I’ve created the basics of the game - it still needs improvement and it’s only about 20 minutes long."}]...
|
Title: MATH-Warefare by @Lalith | Stardance
Devlo Title: MATH-Warefare by @Lalith | Stardance
Devlogs:
While studying for my exams, I realized something frustrating - even though I can now prove if triangles are similar or not, I still forget simple basic math during exams and tests. This is eating up a lot of time since I have to calculate everything from scratch.So I decided to build a speed math thing based on grade level and difficulty, plus the methods we’re going to practice. I know this might sound boring for exam prep, but my goal here is to make it as fun as I can and share it with you guys.For now, I’ve created the basics of the game - it still needs improvement and it’s only about 20 minutes long.
After pushing all of the code to github i got some help from a LLM and tried deploying it by myself but it is harder that it looks, and i accidantally push the .env file too for no reason🐬🐬😭. Stay hard gng
I know that this project and idea is not good………… as they are mostly about basic math and calucluations , I tried to make it more interactive and fun by adding more tougher questions and memes in middle to cool you down, let me know if you have some suggestions GNG, and do check out my website
I got a feedback saying that this game is not gat good and stuff. so as you guys know that i recently bought few itch.io assets from itch.io obviosly. with that i used them to make 100s of characters in minutes effort lessly, and to elivate the whole game and flip it, i game few great changes in these 5-6 hours, like adding my fav heisengurg in the game+ adding 100s of characters+ added many villagers and more!
Ships:
Made a speed math game for speed and pratice for exams...
|
1793127003.8494704
|
1793213403.8494704
|
|
69122
|
shronge_bot by @shronge | Stardance
|
shronge
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T13:17:31Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "For my first ever stardance project, I made a slackbot! I have never cpoded before, so this was a very fun experiednce. I learnt how to use JS for this project, as well as VSCODE and GITHUB. The code was the hardest part, I didn’t fully understand what it was actually doing half the time, but learning is tough and I now know more than i did before! I definately stumbled my way here (there were many… many bugs) but I’m proud that I managed to make it this far. See you all later :)", "repo": "https://github.com/shronge/shrongebot", "demo": "https://hackclub.enterprise.slack.com/archives/C0C8UNCLU73"}]...
|
[{"post_id": 78716, "ts": "202 [{"post_id": 78716, "ts": "2026-10-11T12:05:10Z", "hours": 1.0739, "text": "Shronge_bot is almost done. All that is left is to run it 24/7 on nest :)"}]...
|
Title: shronge_bot by @shronge | Stardance
Devlog Title: shronge_bot by @shronge | Stardance
Devlogs:
Shronge_bot is almost done. All that is left is to run it 24/7 on nest :)
Ships:
For my first ever stardance project, I made a slackbot! I have never cpoded before, so this was a very fun experiednce. I learnt how to use JS for this project, as well as VSCODE and GITHUB. The code was the hardest part, I didn’t fully understand what it was actually doing half the time, but learning is tough and I now know more than i did before! I definately stumbled my way here (there were many… many bugs) but I’m proud that I managed to make it this far. See you all later :)...
|
1793217342.3699336
|
1793303742.3699336
|
|
69153
|
Walkie talkies by @Ahmad_Malas | Stardance
|
Ahmad_Malas
|
0
|
9.42
|
0
|
[]
|
[{"post_id": 78715, "ts": "202 [{"post_id": 78715, "ts": "2026-10-11T12:02:12Z", "hours": 9.4181, "text": "I might decide to do a second revision soon… I don’t really like that there is a part on the back."}]...
|
Title: Walkie talkies by @Ahmad_Malas | Stardance
Title: Walkie talkies by @Ahmad_Malas | Stardance
Devlogs:
I might decide to do a second revision soon… I don’t really like that there is a part on the back....
|
1793130648.1670332
|
1793735448.1670332
|
|
68049
|
WebTab by @Siyam | Stardance
|
Siyam
|
4
|
4.0
|
4
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T15:39:45Z", "hours": 0.0, "multiplier": 4.22, "payout": 1, "blessing": "neutral", "text": "That was my old project. its WebTab, Like a tab in website. i updated that, “Refactored the project structure by moving CSS and JS out of the HTML file, and included a polite voter notification asking users to support me as a beginner developer.” Please give me better ratings, i’am begginer.", "repo": "https://github.com/Tanzil-Alam/WebTab", "demo": "https://tanzil-alam.github.io/WebTab/"}, {"ship_num": 2, "ts": "2026-10-10T19:45:09Z", "hours": 1.0, "multiplier": 1.52, "payout": 1, "blessing": "neutral", "text": "Added dynamic background images using the Unsplash API in JavaScript to give the UI a fresh look. The background now updates automatically on every page reload, or manually whenever you click the settings icon. It’s a small touch that makes the app feel much more alive.", "repo": "https://github.com/Tanzil-Alam/WebTab", "demo": "https://tanzil-alam.github.io/WebTab/"}, {"ship_num": 3, "ts": "2026-10-09T09:10:52Z", "hours": 1.0, "multiplier": 1.52, "payout": 2, "blessing": "neutral", "text": "WebTab WebTab is a self-contained browser start page that combines a dark glassmorphism aesthetic with practical daily navigation. Structurally, the HTML separates the display into a fixed background layer holding the wallpaper and an overlay canvas, along with a vertically centered container housing a digital clock, a direct Google search form, and a row of quick-access shortcut buttons. Visually, the CSS color system builds depth by layering translucent white surfaces with varying opacities and backdrop blurs over a deep black canvas, accented by soft border highlights and responsive hover transitions. Under the hood, plain JavaScript powers the experience without external dependencies: it updates the digital clock and localized date every second, parses bookmark domain names to dynamically fetch crisp icons from Google’s favicon service, and drives a lightweight canvas animation loop that renders and continuously cycles drifting star particles across the screen.Also added notes. It also has a settings button, if i click on settings, the background images switch. It has Moon and galaxy based background images. The button uses, css and js to switch the images smoothly.", "repo": "https://github.com/Tanzil-Alam/WebTab", "demo": "https://tanzil-alam.github.io/WebTab/"}, {"ship_num": 4, "ts": "2026-10-05T18:42:39Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "WebTab is a self-contained browser start page that combines a dark glassmorphism aesthetic with practical daily navigation. Structurally, the HTML separates the display into a fixed background layer holding the wallpaper and an overlay canvas, along with a vertically centered container housing a digital clock, a direct Google search form, and a row of quick-access shortcut buttons. Visually, the CSS color system builds depth by layering translucent white surfaces with varying opacities and backdrop blurs over a deep black canvas, accented by soft border highlights and responsive hover transitions. Under the hood, plain JavaScript powers the experience without external dependencies: it updates the digital clock and localized date every second, parses bookmark domain names to dynamically fetch crisp icons from Google’s favicon service, and drives a lightweight canvas animation loop that renders and continuously cycles drifting star particles across the screen.Also added notes.", "repo": "https://github.com/Tanzil-Alam/WebTab", "demo": "https://tanzil-alam.github.io/WebTab/"}]...
|
[{"post_id": 78712, "ts": "202 [{"post_id": 78712, "ts": "2026-10-11T11:51:28Z", "hours": 0.2867, "text": "Refactored the project structure by moving CSS and JS out of the HTML file, and included a polite voter notification asking users to support me as a beginner developer."}, {"post_id": 78428, "ts": "2026-10-10T19:40:11Z", "hours": 0.7178, "text": "Added dynamic background images using the Unsplash API in JavaScript to give the UI a fresh look. The background now updates automatically on every page reload, or manually whenever you click the settings icon. It’s a small touch that makes the app feel much more alive!"}, {"post_id": 78034, "ts": "2026-10-09T09:07:21Z", "hours": 1.0297, "text": "Placed a settings button in the top-right corner (12px offset) that toggles between 3 different background images on click. I also added the live site link to the README so anyone can check out the update."}, {"post_id": 77126, "ts": "2026-10-05T18:40:51Z", "hours": 0.7178, "text": "Built new shortcut controls and a live clock widget into the interface. I’ve also deployed the latest build using GitHub Pages, so feel free to test it out live at WebTab"}, {"post_id": 77111, "ts": "2026-10-05T17:34:36Z", "hours": 1.6825, "text": "Added an interactive moving particle effect to the background and integrated a search engine directly into the interface. It brings a whole new level of polish and utility to the dashboard! Check it out live on WebTab"}]...
|
Title: WebTab by @Siyam | Stardance
Devlogs:
Adde Title: WebTab by @Siyam | Stardance
Devlogs:
Added an interactive moving particle effect to the background and integrated a search engine directly into the interface. It brings a whole new level of polish and utility to the dashboard! Check it out live on WebTab
Built new shortcut controls and a live clock widget into the interface. I’ve also deployed the latest build using GitHub Pages, so feel free to test it out live at WebTab
Placed a settings button in the top-right corner (12px offset) that toggles between 3 different background images on click. I also added the live site link to the README so anyone can check out the update.
Added dynamic background images using the Unsplash API in JavaScript to give the UI a fresh look. The background now updates automatically on every page reload, or manually whenever you click the settings icon. It’s a small touch that makes the app feel much more alive!
Refactored the project structure by moving CSS and JS out of the HTML file, and included a polite voter notification asking users to support me as a beginner developer.
Ships:
WebTab is a self-contained browser start page that combines a dark glassmorphism aesthetic with practical daily navigation. Structurally, the HTML separates the display into a fixed background layer holding the wallpaper and an overlay canvas, along with a vertically centered container housing a digital clock, a direct Google search form, and a row of quick-access shortcut buttons. Visually, the CSS color system builds depth by layering translucent white surfaces with varying opacities and backdrop blurs over a deep black canvas, accented by soft border highlights and responsive hover transitions. Under the hood, plain JavaScript powers the experience without external dependencies: it updates the digital clock and localized date every second, parses bookmark domain names to dynamically fetch crisp icons from Google’s favicon service, and drives a lightweight canvas animation loop that renders and continuously cycles drifting star particles across the screen.Also added notes.
WebTab WebTab is a self-contained browser start page that combines a dark glassmorphism aesthetic with practical daily navigation. Structurally, the HTML separates the display into a fixed background layer holding the wallpaper and an overlay canvas, along with a vertically centered container housing a digital clock, a direct Google search form, and a row of quick-access shortcut buttons. Visually, the CSS color system builds depth by layering translucent white surfaces with varying opacities and backdrop blurs over a deep black canvas, accented by soft border highlights and responsive hover transitions. Under the hood, plain JavaScript powers the experience without external dependencies: it updates the digital clock and localized date every second, parses bookmark domain names to dynamically fetch crisp icons from Google’s favicon service, and drives a lightweight canvas animation loop that renders and continuously cycles drifting star particles across the screen.Also added notes. It also has a settings button, if i click on settings, the background images switch. It has Moon and galaxy based background images. The button uses, css and js to switch the images smoothly.
Added dynamic background images using the Unsplash API in JavaScript to give the UI a fresh look. The background now updates automatically on every page reload, or manually whenever you click the settings icon. It’s a small touch that makes the app feel much more alive.
That was my old project. its WebTab, Like a tab in website. i updated that, “Refactored the project structure by moving CSS and JS out of the HTML file, and included a polite voter notification asking users to support me as a beginner developer.” Please give me better ratings, i’am begginer....
|
1793217190.3899615
|
1793303590.3899615
|
|
69149
|
Pet Pocket by @iloveadrenaline | Stardance
|
iloveadrenaline
|
0
|
4.23
|
0
|
[]
|
[{"post_id": 78711, "ts": "202 [{"post_id": 78711, "ts": "2026-10-11T11:47:57Z", "hours": 4.2311, "text": "Devlog 1 : Finished the PCB in Kicad"}]...
|
Title: Pet Pocket by @iloveadrenaline | Stardance
Title: Pet Pocket by @iloveadrenaline | Stardance
Devlogs:
Devlog 1 : Finished the PCB in Kicad...
|
1793130639.761211
|
1793735439.761211
|
|
11388
|
Enclave Messenger by @Pradhya | Stardance
|
Pradhya
|
1
|
54.05
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-18T12:15:31Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What it is A fully offline, peer-to-peer encrypted messenger that runs over Bluetooth (RFCOMM) and local network — zero internet required, zero servers. Messages are end-to-end encrypted, and the UI runs as a local web app in your browser. What was built Bluetooth node — discovers peers via SDP UUID, connects via RFCOMM Web UI — a polished chat interface with dark/light mode, animated splash screen, message bubbles, peer list with live scan End-to-end encryption — passphrase-based, messages show enc/decrypted badges Multi-transport system — send messages to phone numbers when Bluetooth and LAN isn't available Plugin system — extensible architecture with manifest-based permissions, security watchdog Signed update system — RSA-4096 signed manifests + SHA-256 file hashes so updates can be verified without internet What was challenging Bluetooth peer discovery without internet — SDP/RFCOMM is finicky, BlueZ on Linux requires careful pairing/trust setup Coordinating encryption across peers who may be offline — tokens stored locally, decrypted on-demand when passphrase is entered Plugin security in CPython — no real sandbox exists, so the security model relies on scoped PluginCore objects. What to be proud of The UI is genuinely polished — smooth animations, staggered reveals, real-time WebSocket updates The update system is cryptographically sound for an offline-first app To test it Requirements: Linux (BlueZ), Python 3.11+, Bluetooth adapter pip install -r requirements.txt Setup: python set.py — configure identity + passphrase python main.py — starts the node + web UI (visit localhost:5000) Enter your passphrase in the unlock modal to start the Bluetooth node Click scan network in the peers panel to find other Enclave instances nearby Open a chat, send a message — it'll show enc if stored encrypted, decrypted once unlocked Two-device test: Run on two Linux machines with Bluetooth, make sure they’re paired, both run main.py — they should discover each other automatically.", "repo": "https://github.com/Project-Enclave/Enclave-Messenger", "demo": "https://messenger.projectenclave.dev/"}]...
|
[{"post_id": 78709, "ts": "202 [{"post_id": 78709, "ts": "2026-10-11T11:25:29Z", "hours": 10.2472, "text": "Haiii again! Whats done! Security review of the messenger by Claude and fixes for what it found: the passphrase no longer goes in the URL (it used to end up in logs), it is sent in a header now running with –host lan now needs a one-time access code, and debug mode is forced off there plugins are not run until I explicitly trust them, and the trust is tied to the plugin’s file hash, so editing it cancels the trust addresses that other peers give us are checked before we connect UI/UX Changes Messages now have clear stats if they were delivered(directly), sent via a peer, or unsent/failed Failed messages now have a retry button to attempt to re send it. Settings menu has a copy user-id/enclave-id and a qr code too to add them to their peers User profiles can now be easily backed up and restored through the web ui Ive tried adding plugins, still need to test it and move everything to a plugin based system… Misc but important INSTALLATION: you can now use pip/pipx to install it, but youll need to use pipx install . because i want to fix some bugs before publishing it to pypi. DATA MIGRATION: the way that the messenger stores data and where it stores data has been changed so if the pe-em detects any data in the folders that the messenger prev used, then it will move it but not delete the data from the prev dir, which was ~/.enclave-messenger EXECUTABLES: the exeuatables for windows, linux and mac will still be built, but only the linux one will be properly tested because i only have a ubuntu install, i dont have a mac nor enough system resources to test windows or run a mac vm. CHECKS: Claude added like 200 checks and like a ci job that runs them all. BuGs The lan scanner was looking at the wrong port, ugh The windows executable did not start the bluetooth and sms plugins Profiles were broken on the windows executable. (Ugh i hate windows) set.py (the setup file) did the setup properly, but didnt save the profile stuff like name but that never got noticed because core.py fixed it when either web.py or tui.py was launched. QR Code doesnt render Website I still kinda have to redo it all, Update the info on the website. Etc"}, {"post_id": 73096, "ts": "2026-09-24T11:35:52Z", "hours": 4.8553, "text": "Im finally done with all of the PLANNED docs, i still have to add some docs for stuff like DHT, hosting, etc and i have to make plugins, remove in-built stuff stuff, etc"}, {"post_id": 67969, "ts": "2026-09-14T09:17:27Z", "hours": 1.4697, "text": "Added more stuff for future stuff and plans for the messenger Its sad that this challenge is ending soon…"}, {"post_id": 65316, "ts": "2026-09-10T11:55:12Z", "hours": 1.7658, "text": "So im still not done with all the docs, i have like 5 files left to complete. But, i managed to style my mkdocs site and it looks pretty similar to the messenger site… I like the installation one the most. Yay!"}, {"post_id": 63779, "ts": "2026-09-07T18:54:46Z", "hours": 0.9619, "text": "Yay! I got the guide up and reachable at https://messenger.docs.projectenclave.dev/ hosted on vercel The only issue is that its not complete D: And i cant add this to the projects details because its being reviewed :("}, {"post_id": 63533, "ts": "2026-09-07T13:28:12Z", "hours": 0.8214, "text": "Docs looking pretty good I still have to turn this into a site…."}, {"post_id": 61566, "ts": "2026-09-04T15:23:48Z", "hours": 1.4228, "text": "Got a LOT of assets to finallyyyy make the docs and guide! Yay!"}, {"post_id": 60417, "ts": "2026-09-02T18:35:48Z", "hours": 0.9247, "text": "I finally did the read meeeeee"}, {"post_id": 59750, "ts": "2026-09-01T17:58:49Z", "hours": 7.6833, "text": "I FINALLY GOT IT TO WORK!! i still have to fix the web ui… At least i got the router to get working and the tui HURRAY!"}, {"post_id": 27613, "ts": "2026-07-13T10:59:30Z", "hours": 10.3575, "text": "i somehow broke the web ui while trying to add profiles so im also adding a cli and a tui its not a good idea but its an idea The tui will probably look like this. So, the todo is now to fix the web ui, make the tui and add profiles so the reviewers can check it out The below screenshot is from noterooms cli by me!"}, {"post_id": 12577, "ts": "2026-06-20T15:19:07Z", "hours": 1.3519, "text": "I need to make these test better on my laptop… TADC ep9 kinda made me go off track but it was good. I think that was the most i cried while watching a movie. Well, leave that behind. Also, i think its all in one line because i can’t make a new line on mobile. And i think i messed up my ears. Ouch"}, {"post_id": 11910, "ts": "2026-06-19T12:26:36Z", "hours": 1.1892, "text": "Finally made the installation a one liner! Enclave Messenger"}, {"post_id": 11209, "ts": "2026-06-18T10:50:01Z", "hours": 8.7239, "text": "Dev-log 3 What has been done Made the settings look a bit better Added better plugin support Added a built-in Bluetooth support on Linux(Ubuntu) Fixed a security bug where if the host/core was already unlocked, any password was allowed Made the onbording process easier Added a reset file for development and to delete all chat, config, etc made by any files in the repo. Moved the web page to a file in ./templates from ./web.py . The entire file was just a string… Kinda fixed the message bubbles. Made a tool to verify if the files you have are by me for p2p updates What is in progress as of now Make a plugin manager Create documentations Add cross support for apps like blechat and silence Make the UI/UX better Etc also, for why im doing this, see this"}, {"post_id": 5573, "ts": "2026-06-09T12:19:44Z", "hours": 1.3175, "text": "i fixed the networking and transport and i also ditched the logo sorry for the poor quality. cant do higher without i3/ubuntu crashing."}, {"post_id": 4761, "ts": "2026-06-08T07:11:49Z", "hours": 0.5481, "text": "First devlog Almost done with crypto and networking and the UI Made whatever this is as the logo for now"}]...
|
Title: Enclave Messenger by @Pradhya | Stardance
Title: Enclave Messenger by @Pradhya | Stardance
Devlogs:
First devlog Almost done with crypto and networking and the UI Made whatever this is as the logo for now
i fixed the networking and transport and i also ditched the logo sorry for the poor quality. cant do higher without i3/ubuntu crashing.
Dev-log 3 What has been done Made the settings look a bit better Added better plugin support Added a built-in Bluetooth support on Linux(Ubuntu) Fixed a security bug where if the host/core was already unlocked, any password was allowed Made the onbording process easier Added a reset file for development and to delete all chat, config, etc made by any files in the repo. Moved the web page to a file in ./templates from ./web.py . The entire file was just a string… Kinda fixed the message bubbles. Made a tool to verify if the files you have are by me for p2p updates What is in progress as of now Make a plugin manager Create documentations Add cross support for apps like blechat and silence Make the UI/UX better Etc also, for why im doing this, see this
Finally made the installation a one liner! Enclave Messenger
I need to make these test better on my laptop… TADC ep9 kinda made me go off track but it was good. I think that was the most i cried while watching a movie. Well, leave that behind. Also, i think its all in one line because i can’t make a new line on mobile. And i think i messed up my ears. Ouch
i somehow broke the web ui while trying to add profiles so im also adding a cli and a tui its not a good idea but its an idea The tui will probably look like this. So, the todo is now to fix the web ui, make the tui and add profiles so the reviewers can check it out The below screenshot is from noterooms cli by me!
I FINALLY GOT IT TO WORK!! i still have to fix the web ui… At least i got the router to get working and the tui HURRAY!
I finally did the read meeeeee
Got a LOT of assets to finallyyyy make the docs and guide! Yay!
Docs looking pretty good I still have to turn this into a site….
Yay! I got the guide up and reachable at https://messenger.docs.projectenclave.dev/ hosted on vercel The only issue is that its not complete D: And i cant add this to the projects details because its being reviewed :(
So im still not done with all the docs, i have like 5 files left to complete. But, i managed to style my mkdocs site and it looks pretty similar to the messenger site… I like the installation one the most. Yay!
Added more stuff for future stuff and plans for the messenger Its sad that this challenge is ending soon…
Im finally done with all of the PLANNED docs, i still have to add some docs for stuff like DHT, hosting, etc and i have to make plugins, remove in-built stuff stuff, etc
Haiii again! Whats done! Security review of the messenger by Claude and fixes for what it found: the passphrase no longer goes in the URL (it used to end up in logs), it is sent in a header now running with –host lan now needs a one-time access code, and debug mode is forced off there plugins are not run until I explicitly trust them, and the trust is tied to the plugin’s file hash, so editing it cancels the trust addresses that other peers give us are checked before we connect UI/UX Changes Messages now have clear stats if they were delivered(directly), sent via a peer, or unsent/failed Failed messages now have a retry button to attempt to re send it. Settings menu has a copy user-id/enclave-id and a qr code too to add them to their peers User profiles can now be easily backed up and restored through the web ui Ive tried adding plugins, still need to test it and move everything to a plugin based system… Misc but important INSTALLATION: you can now use pip/pipx to install it, but youll need to use pipx install . because i want to fix some bugs before publishing it to pypi. DATA MIGRATION: the way that the messenger stores data and where it stores data has been changed so if the pe-em detects any data in the folders that the messenger prev used, then it will move it but not delete the data from the prev dir, which was ~/.enclave-messenger EXECUTABLES: the exeuatables for windows, linux and mac will still be built, but only the linux one will be properly tested because i only have a ubuntu install, i dont have a mac nor enough system resources to test windows or run a mac vm. CHECKS: Claude added like 200 checks and like a ci job that runs them all. BuGs The lan scanner was looking at the wrong port, ugh The windows executable did not start the bluetooth and sms plugins Profiles were broken on the windows executable. (Ugh i hate windows) set.py (the setup file) did the setup properly, but didnt save the profile stuff like name but that never got noticed because core.py fixed it when either web.py or tui.py was launched. QR Code doesnt render Website I still kinda have to redo it all, Update the info on the website. Etc
Ships:
What it is A fully offline, peer-to-peer encrypted messenger that runs over Bluetooth (RFCOMM) and local network — zero internet required, zero servers. Messages are end-to-end encrypted, and the UI runs as a local web app in your browser. What was built Bluetooth node — discovers peers via SDP UUID, connects via RFCOMM Web UI — a polished chat interface with dark/light mode, animated splash screen, message bubbles, peer list with live scan End-to-end encryption — passphrase-based, messages show enc/decrypted badges Multi-transport system — send messages to phone numbers when Bluetooth and LAN isn't available Plugin system — extensible architecture with manifest-based permissions, security watchdog Signed update system — RSA-4096 signed manifests + SHA-256 file hashes so updates can be verified without internet What was challenging Bluetooth peer discovery without internet — SDP/RFCOMM is finicky, BlueZ on Linux requires careful pairing/trust setup Coordinating encryption across peers who may be offline — tokens stored locally, decrypted on-demand when passphrase is entered Plugin security in CPython — no real sandbox exists, so the security model relies on scoped PluginCore objects. What to be proud of The UI is genuinely polished — smooth animations, staggered reveals, real-time WebSocket updates The update system is cryptographically sound for an offline-first app To test it Requirements: Linux (BlueZ), Python 3.11+, Bluetooth adapter pip install -r requirements.txt Setup: python set.py — configure identity + passphrase python main.py — starts the node + web UI (visit localhost:5000) Enter your passphrase in the unlock modal to start the Bluetooth node Click scan network in the peers panel to find other Enclave instances nearby Open a chat, send a message — it'll show enc if stored encrypted, decrypted once unlocked Two-device test: Run on two Linux machines with Bluetooth, make sure they’re paired, both run main.py — they should discover each other automatically....
|
1793105304.8366299
|
1793191704.8366299
|
|
68961
|
Flux OS by @Nefx07 | Stardance
|
Nefx07
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T11:20:30Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a humorous, funny WebOS that meets young guys sense. I got a problem everytime i wrote the .js yet i managed to write them up and i amd proud of myself for making this a workable WebOS.", "repo": "https://github.com/nefx07/FLUX-OS", "demo": "https://nefx07.github.io/FLUX-OS/"}]...
|
[{"post_id": 78703, "ts": "202 [{"post_id": 78703, "ts": "2026-10-11T11:12:38Z", "hours": 1.795, "text": "Finally!! Done the WebOS"}]...
|
Title: Flux OS by @Nefx07 | Stardance
Devlogs:
Fi Title: Flux OS by @Nefx07 | Stardance
Devlogs:
Finally!! Done the WebOS
Ships:
I made a humorous, funny WebOS that meets young guys sense. I got a problem everytime i wrote the .js yet i managed to write them up and i amd proud of myself for making this a workable WebOS....
|
1793217315.0728984
|
1793303715.0728984
|
|
53662
|
Dynamic bike lights by @EMUD | Stardance
|
EMUD
|
0
|
1.57
|
0
|
[]
|
[{"post_id": 78700, "ts": "202 [{"post_id": 78700, "ts": "2026-10-11T10:50:29Z", "hours": 0.8103, "text": "after that i routed the whole board and connected all the components. i chose to place the esp32, the mpu6050 header, and the battery connector flipped on the back layer to leave plenty of space on the front for all 10 leds, added some icons on the silkscreen, and finished with 0 drc errors"}, {"post_id": 78689, "ts": "2026-10-11T09:42:39Z", "hours": 0.3356, "text": "from here i finished working on the schematic and assigned all the right footprints for every single component. after that i opened up the pcb editor, took some quick measurements to set up the board outline, and added a gnd copper pour across the bottom layer so all the ground connections would link up automatically. then i started placing the components, starting with the esp32 on the back side to keep the front layer clean for all the leds"}, {"post_id": 78327, "ts": "2026-10-10T13:30:05Z", "hours": 0.4211, "text": "made the schematic for my project. i chose the xiao esp32 s3 because it’s small and good for this project, then wired all the leds (10 in total: 3 for the left indicator, 4 for the main brake lights, and another 3 for the right indicator). unfortunatly due to the lack of enough pins i decided to connect brake light 3 and 4 to one pin. i chose to connect almost all the leds to an individual pin because in the firmware the esp32 hosts a website where you can control each individual led and customize it as you want with other cool features. then i put a 2 pin connector wich will be used to connect the battery to power the project, and lastly an 8 pin connector wich will be used for the mpu 6050"}]...
|
Title: Dynamic bike lights by @EMUD | Stardance
D Title: Dynamic bike lights by @EMUD | Stardance
Devlogs:
made the schematic for my project. i chose the xiao esp32 s3 because it’s small and good for this project, then wired all the leds (10 in total: 3 for the left indicator, 4 for the main brake lights, and another 3 for the right indicator). unfortunatly due to the lack of enough pins i decided to connect brake light 3 and 4 to one pin. i chose to connect almost all the leds to an individual pin because in the firmware the esp32 hosts a website where you can control each individual led and customize it as you want with other cool features. then i put a 2 pin connector wich will be used to connect the battery to power the project, and lastly an 8 pin connector wich will be used for the mpu 6050
from here i finished working on the schematic and assigned all the right footprints for every single component. after that i opened up the pcb editor, took some quick measurements to set up the board outline, and added a gnd copper pour across the bottom layer so all the ground connections would link up automatically. then i started placing the components, starting with the esp32 on the back side to keep the front layer clean for all the leds
after that i routed the whole board and connected all the components. i chose to place the esp32, the mpu6050 header, and the battery connector flipped on the back layer to leave plenty of space on the front for all 10 leds, added some icons on the silkscreen, and finished with 0 drc errors...
|
1792756360.258544
|
1793361160.258544
|
|
41137
|
penguin by @ferdinand | Stardance
|
ferdinand
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T09:11:47Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Penguin is here! The world’s simplest and funniest penguin agent to help you with your Linux. After spending hours chatting with my own penguin (testing can be so much fun!), I am proud to introduce this one-script agent. Do you have Python and Ollama running on Linux? Then download it and type ‘penguin’ to see for yourself. Powered by the Qwen3.5:2b model, Penguin executes Bash commands and manages its own memory. It wasn’t easy, but now my Linux usage is very funny indeed. (Note: small LLM’s sometimes struggle with tool usage and even with response generation. Check always before executing!", "repo": "https://github.com/Test1-eu/penguin-agent", "demo": "https://pypi.org/project/penguin-agent-package/"}]...
|
[{"post_id": 78681, "ts": "202 [{"post_id": 78681, "ts": "2026-10-11T09:00:56Z", "hours": 2.9308, "text": "Ship is here - welcome penguin"}, {"post_id": 74191, "ts": "2026-09-26T21:42:11Z", "hours": 2.4483, "text": "Sorry, no ship… but a nice TUI. Do you like it?"}, {"post_id": 72762, "ts": "2026-09-23T17:59:48Z", "hours": 5.2836, "text": "Devlog #4 – The Pre-Ship: Penguin - It won‘t fly away! This will be the last devlog before the launch! Penguin will be released shortly after this devlog, so it’s time for a recap. People often use AI agents for what they call ‘vibe coding’: they give all the work to an agent like Claude Code and think this is the right and smart use of AI. However, I believe that we should approach this technology with more caution and reflection; otherwise, we may begin to delegate highly important tasks without fully comprehending them. This is why I built Penguin — the simplest and, yes, the stupidest AI agent — for those who want to use AI for boring tasks, not fun ones. It’s just one Python script and one JSON file, plus Ollama. That’s it! So try Penguin, and rest assured: it won’t fly away!"}, {"post_id": 69221, "ts": "2026-09-16T16:37:45Z", "hours": 2.4661, "text": "Devlog #3 - Just added a memory. Works very well with the qwen3.5-2b model. I started building a tui for the agent… still working on it. I also need to change the system prompt and think about the think/nothink mode."}, {"post_id": 67367, "ts": "2026-09-13T13:31:33Z", "hours": 2.3986, "text": "The last two weeks, I just played around with different models, frameworks, agents, systems, laptops. Then, I had a moment of resignation: small models struggle not with tool use, but with multiple tools. After a few tries, I came back to the absolute basic: bash commands. So I got back to my Agent Friend Framework and just added a tool: execute_bash_command(). That’s it so far. It work’s surprisingly well with the small qwen-model family. Now, I want to try out some extras: finetuning of the model, memory, maybe a very simple web search for troubleshooting, etc. But now penguin is back!"}, {"post_id": 52451, "ts": "2026-08-22T16:01:42Z", "hours": 1.1706, "text": "I tested several local models for tool calling performance. Until now, it’s the qwen2.5:3b leading the “board”. To do this, I built a small tool selection(e.g. get_weather, etc.), quite a lot of typing work. But then, I found the agent-friend toolkit in this blogpost( https://dev.to/0coceo/ollama-tool-calling-in-5-lines-of-python-3h5f ) and it’s just amazing! I can now get straight into the tool development without hundreds of lines in JSON."}]...
|
Title: penguin by @ferdinand | Stardance
Devlogs: Title: penguin by @ferdinand | Stardance
Devlogs:
I tested several local models for tool calling performance. Until now, it’s the qwen2.5:3b leading the “board”. To do this, I built a small tool selection(e.g. get_weather, etc.), quite a lot of typing work. But then, I found the agent-friend toolkit in this blogpost( https://dev.to/0coceo/ollama-tool-calling-in-5-lines-of-python-3h5f ) and it’s just amazing! I can now get straight into the tool development without hundreds of lines in JSON.
The last two weeks, I just played around with different models, frameworks, agents, systems, laptops. Then, I had a moment of resignation: small models struggle not with tool use, but with multiple tools. After a few tries, I came back to the absolute basic: bash commands. So I got back to my Agent Friend Framework and just added a tool: execute_bash_command(). That’s it so far. It work’s surprisingly well with the small qwen-model family. Now, I want to try out some extras: finetuning of the model, memory, maybe a very simple web search for troubleshooting, etc. But now penguin is back!
Devlog #3 - Just added a memory. Works very well with the qwen3.5-2b model. I started building a tui for the agent… still working on it. I also need to change the system prompt and think about the think/nothink mode.
Devlog #4 – The Pre-Ship: Penguin - It won‘t fly away! This will be the last devlog before the launch! Penguin will be released shortly after this devlog, so it’s time for a recap. People often use AI agents for what they call ‘vibe coding’: they give all the work to an agent like Claude Code and think this is the right and smart use of AI. However, I believe that we should approach this technology with more caution and reflection; otherwise, we may begin to delegate highly important tasks without fully comprehending them. This is why I built Penguin — the simplest and, yes, the stupidest AI agent — for those who want to use AI for boring tasks, not fun ones. It’s just one Python script and one JSON file, plus Ollama. That’s it! So try Penguin, and rest assured: it won’t fly away!
Sorry, no ship… but a nice TUI. Do you like it?
Ship is here - welcome penguin
Ships:
Penguin is here! The world’s simplest and funniest penguin agent to help you with your Linux. After spending hours chatting with my own penguin (testing can be so much fun!), I am proud to introduce this one-script agent. Do you have Python and Ollama running on Linux? Then download it and type ‘penguin’ to see for yourself. Powered by the Qwen3.5:2b model, Penguin executes Bash commands and manages its own memory. It wasn’t easy, but now my Linux usage is very funny indeed. (Note: small LLM’s sometimes struggle with tool usage and even with response generation. Check always before executing!...
|
1793152632.3454273
|
1793239032.3454273
|
|
15288
|
Senku OS by @Sanket | Stardance
|
Sanket
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-13T04:37:11Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A fully browser-based WebOS completely inspired by Dr. STONE! draggable windows, a taskbar, a science notebook,(not editable sadly) and a built-in streaming for dr.stone only tho!, all running in plain HTML, CSS and JavaScript. No frameworks were harmed in the making of this.Getting the streaming links to actually work without breaking everything, and configuring the taskbar to behave like a real OS taskbar was a real pain.. The streaming feature, hands down is my proudest part. The fact that you can browse Dr. STONE episodes and watch them inside a fake desktop OS running in a browser tab is genuinely unhinged and I love it. Just visit the site no tutorial needed. If you can open a browser tab you’re already qualified. Click around, open some windows, watch some Dr. STONE. It’s that simple.", "repo": "https://github.com/SenkuDevX/SENKU-OS", "demo": "https://senkudevx.github.io/SENKU-OS/"}]...
|
[{"post_id": 7868, "ts": "2026 [{"post_id": 7868, "ts": "2026-06-13T03:51:44Z", "hours": 1.4269, "text": "Released my OS to the WILD!(Not the best but atleast i made it by myself)"}, {"post_id": 6740, "ts": "2026-06-11T09:03:57Z", "hours": 0.9772, "text": "DONEE!!! I WILL NOW SHIP IT (ps-IF THE VIDEOS DONT WORK DONT GO BE LIKE YOUR PROJECT ISNT WORKING,IT MAY BREAK AFTER ALL, IT SCRAPES THEM!)"}, {"post_id": 6719, "ts": "2026-06-11T07:53:59Z", "hours": 1.1267, "text": "I MADE A DR.STONE SPECIAL STREAMING APP!! WEBOS I MEAN SENKU OS IS ALMOST OVER AND I WILL RELEASE THIS!! YES THERE ARE BUGS.. TRYING TO FIX IT .."}, {"post_id": 6692, "ts": "2026-06-11T06:44:29Z", "hours": 1.1322, "text": "MY APP IS IN PROGRESS!! Its gonna stream dr.stone itself!! ehehe"}, {"post_id": 6665, "ts": "2026-06-11T05:25:22Z", "hours": 1.0331, "text": "YAY!! Done! i am not fully but i have done 1.open -close 2.opening app 3.i will now make my own app!"}, {"post_id": 6345, "ts": "2026-06-10T18:01:42Z", "hours": 1.1578, "text": "😀This took so long but its worth it dudess.Figuring out the Bottom bar took questionable amount of time here (Read documentaion and took a little help of ai but its finally done!)is my progress till now."}]...
|
Title: Senku OS by @Sanket | Stardance
Devlogs:
😀 Title: Senku OS by @Sanket | Stardance
Devlogs:
😀This took so long but its worth it dudess.Figuring out the Bottom bar took questionable amount of time here (Read documentaion and took a little help of ai but its finally done!)is my progress till now.
YAY!! Done! i am not fully but i have done 1.open -close 2.opening app 3.i will now make my own app!
MY APP IS IN PROGRESS!! Its gonna stream dr.stone itself!! ehehe
I MADE A DR.STONE SPECIAL STREAMING APP!! WEBOS I MEAN SENKU OS IS ALMOST OVER AND I WILL RELEASE THIS!! YES THERE ARE BUGS.. TRYING TO FIX IT ..
DONEE!!! I WILL NOW SHIP IT (ps-IF THE VIDEOS DONT WORK DONT GO BE LIKE YOUR PROJECT ISNT WORKING,IT MAY BREAK AFTER ALL, IT SCRAPES THEM!)
Released my OS to the WILD!(Not the best but atleast i made it by myself)
Ships:
A fully browser-based WebOS completely inspired by Dr. STONE! draggable windows, a taskbar, a science notebook,(not editable sadly) and a built-in streaming for dr.stone only tho!, all running in plain HTML, CSS and JavaScript. No frameworks were harmed in the making of this.Getting the streaming links to actually work without breaking everything, and configuring the taskbar to behave like a real OS taskbar was a real pain.. The streaming feature, hands down is my proudest part. The fact that you can browse Dr. STONE episodes and watch them inside a fake desktop OS running in a browser tab is genuinely unhinged and I love it. Just visit the site no tutorial needed. If you can open a browser tab you’re already qualified. Click around, open some windows, watch some Dr. STONE. It’s that simple....
|
1793120088.9498782
|
1793206488.9498782
|
|
69117
|
Ambient ARGB by @raj77502k | Stardance
|
raj77502k
|
0
|
0.59
|
0
|
[]
|
[{"post_id": 78679, "ts": "202 [{"post_id": 78679, "ts": "2026-10-11T08:56:00Z", "hours": 0.5864, "text": "Ambient ARGB"}]...
|
Title: Ambient ARGB by @raj77502k | Stardance
Dev Title: Ambient ARGB by @raj77502k | Stardance
Devlogs:
Ambient ARGB...
|
1793130587.9521718
|
1793735387.9521718
|
|
40963
|
LUX ONE by @sntxxd | Stardance
|
sntxxd
|
0
|
33.05
|
0
|
[]
|
[{"post_id": 78678, "ts": "202 [{"post_id": 78678, "ts": "2026-10-11T08:45:41Z", "hours": 4.5597, "text": "WE ARE SHIPPING THE PROJEEECT u can see the video on https://youtu.be/2vSAVvIIykw"}, {"post_id": 62638, "ts": "2026-09-06T03:14:41Z", "hours": 1.4117, "text": "Guuuuysssss, I forgot to film the video, but i finished the code, and the app, I tested it with the battery, and worked, sooo, tomorrow I will install it to the car"}, {"post_id": 52072, "ts": "2026-08-22T04:26:51Z", "hours": 1.2583, "text": "GUUUUYS, today i made the first test app, here i turned on some relays with the app, tomorrow i think i will continue with the code and the app hehe"}, {"post_id": 50730, "ts": "2026-08-20T02:24:24Z", "hours": 3.2594, "text": "So… since I’ve already fixed all the electrical issues in the car, we’re almost ready, I made the second part of the lux one, this one will controll the rear lights of the car, Remember that this is a prototype, that’s why those are still in breadboards"}, {"post_id": 50620, "ts": "2026-08-19T21:02:30Z", "hours": 1.8833, "text": "Today i fixed the lights of the car, it was a disconnection in the light switch, here is a photo where is fixed hehe"}, {"post_id": 49324, "ts": "2026-08-18T02:31:34Z", "hours": 3.0, "text": "Today i tried to organize the cables a little bit, but instead of fixing some things, the low lights stopped working lol, so… Tomorrow i will try to fix it, we’ll soon try the prototype of the lux one :D"}, {"post_id": 45778, "ts": "2026-08-12T14:12:29Z", "hours": 3.05, "text": "Today i connected the mosfets and the first block of relays, i only need to connect the others, and try to get the remaining for today testing in a real car, and connect the ldr sensor"}, {"post_id": 45587, "ts": "2026-08-12T05:30:58Z", "hours": 3.1906, "text": "HIIIIIIII!!!! today i made the first part of the prototype of my project, tomorrow i will finish it, and maybe i will test it on a real car!!"}, {"post_id": 41844, "ts": "2026-08-06T09:45:34Z", "hours": 2.5833, "text": "Since I ran into issues with the laser and the PCBs, I’ll have to continue testing on the breadboard; I am currently working on the code that will run the project."}, {"post_id": 41531, "ts": "2026-08-05T20:01:14Z", "hours": 2.55, "text": "Well, some things don’t always turn out the way you want, though that’s part of the learning process."}, {"post_id": 41259, "ts": "2026-08-05T11:16:16Z", "hours": 3.7161, "text": "Right now im making the PCB to bring this proyect to a real car, instead of using “bare” relays, im gonna use commercial relay modules, the reason is to make this proyect fully repairable and easy to fix"}, {"post_id": 38042, "ts": "2026-07-31T06:56:57Z", "hours": 2.59, "text": "Project Goal The goal of this project is to add new and MODERN features to classic cars. However, we know that for classic car owners, keeping the vehicle as original as possible is essential. That is why this system will be completely plug-and-play, so users won’t have to modify ANYTHING on their car at all, preserving its original essence and integrity."}]...
|
Title: LUX ONE by @sntxxd | Stardance
Devlogs:
Pr Title: LUX ONE by @sntxxd | Stardance
Devlogs:
Project Goal The goal of this project is to add new and MODERN features to classic cars. However, we know that for classic car owners, keeping the vehicle as original as possible is essential. That is why this system will be completely plug-and-play, so users won’t have to modify ANYTHING on their car at all, preserving its original essence and integrity.
Right now im making the PCB to bring this proyect to a real car, instead of using “bare” relays, im gonna use commercial relay modules, the reason is to make this proyect fully repairable and easy to fix
Well, some things don’t always turn out the way you want, though that’s part of the learning process.
Since I ran into issues with the laser and the PCBs, I’ll have to continue testing on the breadboard; I am currently working on the code that will run the project.
HIIIIIIII!!!! today i made the first part of the prototype of my project, tomorrow i will finish it, and maybe i will test it on a real car!!
Today i connected the mosfets and the first block of relays, i only need to connect the others, and try to get the remaining for today testing in a real car, and connect the ldr sensor
Today i tried to organize the cables a little bit, but instead of fixing some things, the low lights stopped working lol, so… Tomorrow i will try to fix it, we’ll soon try the prototype of the lux one :D
Today i fixed the lights of the car, it was a disconnection in the light switch, here is a photo where is fixed hehe
So… since I’ve already fixed all the electrical issues in the car, we’re almost ready, I made the second part of the lux one, this one will controll the rear lights of the car, Remember that this is a prototype, that’s why those are still in breadboards
GUUUUYS, today i made the first test app, here i turned on some relays with the app, tomorrow i think i will continue with the code and the app hehe
Guuuuysssss, I forgot to film the video, but i finished the code, and the app, I tested it with the battery, and worked, sooo, tomorrow I will install it to the car
WE ARE SHIPPING THE PROJEEECT u can see the video on https://youtu.be/2vSAVvIIykw...
|
1792785083.8762996
|
1793389883.8762996
|
|
66306
|
smart home system by @Farooq121 | Stardance
|
Farooq121
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T09:31:55Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made this for handicapped people", "repo": "https://github.com/u53982253-blip/esp32home", "demo": ""}]...
|
[{"post_id": 78677, "ts": "202 [{"post_id": 78677, "ts": "2026-10-11T08:43:07Z", "hours": 0.5231, "text": "i am working on a handicapped system for lrg handi capped people that when one on then rlya first on like that rset"}]...
|
Title: smart home system by @Farooq121 | Stardance Title: smart home system by @Farooq121 | Stardance
Devlogs:
i am working on a handicapped system for lrg handi capped people that when one on then rlya first on like that rset
Ships:
i made this for handicapped people...
|
1793216930.026533
|
1793303330.026533
|
|
39609
|
Ariyam by @AadiMahesh | Stardance
|
AadiMahesh
|
0
|
21.84
|
0
|
[]
|
[{"post_id": 78675, "ts": "202 [{"post_id": 78675, "ts": "2026-10-11T08:32:26Z", "hours": 11.6667, "text": "A full rehaul! changed the entire styling as Ariyam is now a part of my main project Arivu, thus i have matched it with my styling! The search and filter are now part of a sidebar with updated Ui elements and three FAQ boxes, the location modal has been made but it still needs some work so i will post it next devlog. Every part has been replaced with custom elements, and it will be released shortly!"}, {"post_id": 49590, "ts": "2026-08-18T14:04:16Z", "hours": 6.7247, "text": "Hello! All my ideas for constant devposts went to the bin when i asked github copilot to fix a small 1 line tailwind issue i didin’t have the time to do. So i gave it a simple ‘fix’ prompt and left. Came back to a god-forsaken fix that caused 6 HOURS OF DEBUGGING between 10 completely unrelated files. So basically im switching IDEs and not touching Ai again for a few months as i add some well needed description updates :D. il be working to publish the projest this same week."}, {"post_id": 46348, "ts": "2026-08-13T14:35:09Z", "hours": 1.0342, "text": "Hello everyone! I haven’t been able to work on Ariyam for some time, as I had some hardware-related issues (PSU exploded). But today I came back! And decided to make some good changes. Things that have been added are: a working search using fuse.js. Updated UI - glassmorphic elements and location changes. And new icons for the locations based on their types. I’ll be adding features daily now. PS- my hackatime stopped working, so there’s a lot of time that wasn’t logged."}, {"post_id": 36334, "ts": "2026-07-28T11:52:23Z", "hours": 2.4133, "text": "Hello Everyone! This is my first devlog on my current main project Ariyam, which is a map of STEM related locations in my home state of Kerala, India for students interested in such fields to learn and explore places that might help them with their journey. I have made this with Leaflet.JS for the map, tailwind CSS and vanilla JS. Currently i have a working filter for locations based on type and a functioning dark mode. I have around 20 locations with descriptions and images and more i have set to do."}]...
|
Title: Ariyam by @AadiMahesh | Stardance
Devlogs: Title: Ariyam by @AadiMahesh | Stardance
Devlogs:
Hello Everyone! This is my first devlog on my current main project Ariyam, which is a map of STEM related locations in my home state of Kerala, India for students interested in such fields to learn and explore places that might help them with their journey. I have made this with Leaflet.JS for the map, tailwind CSS and vanilla JS. Currently i have a working filter for locations based on type and a functioning dark mode. I have around 20 locations with descriptions and images and more i have set to do.
Hello everyone! I haven’t been able to work on Ariyam for some time, as I had some hardware-related issues (PSU exploded). But today I came back! And decided to make some good changes. Things that have been added are: a working search using fuse.js. Updated UI - glassmorphic elements and location changes. And new icons for the locations based on their types. I’ll be adding features daily now. PS- my hackatime stopped working, so there’s a lot of time that wasn’t logged.
Hello! All my ideas for constant devposts went to the bin when i asked github copilot to fix a small 1 line tailwind issue i didin’t have the time to do. So i gave it a simple ‘fix’ prompt and left. Came back to a god-forsaken fix that caused 6 HOURS OF DEBUGGING between 10 completely unrelated files. So basically im switching IDEs and not touching Ai again for a few months as i add some well needed description updates :D. il be working to publish the projest this same week.
A full rehaul! changed the entire styling as Ariyam is now a part of my main project Arivu, thus i have matched it with my styling! The search and filter are now part of a sidebar with updated Ui elements and three FAQ boxes, the location modal has been made but it still needs some work so i will post it next devlog. Every part has been replaced with custom elements, and it will be released shortly!...
|
1792806653.8451502
|
1793411453.8451502
|
|
68327
|
Edit_X by @SimplifCoder | Stardance
|
SimplifCoder
|
0
|
12.22
|
0
|
[]
|
[{"post_id": 78674, "ts": "202 [{"post_id": 78674, "ts": "2026-10-11T08:22:22Z", "hours": 3.6094, "text": "Devlog #4 So as of this devlog I’m proud to announce ; Ladies and gentlemen the website is broken; Let me explain, so I was causally doing the js, then I thought came to me, what if… then I started tinkering with the html, and now boom, I refreshed the page its completely blank, I mean I don’t know where I went wrong?? The code looks fine but the website doesn’t?, Ill drop the html code, and how the website looks, if I fix the problem ill upd the devlog"}, {"post_id": 78090, "ts": "2026-10-09T15:17:28Z", "hours": 2.4061, "text": "Devlog #3 So as of this devlog I am proud to announce the css is completed . What I completed: CSS, I think? (I hope) HTML, Well mostly fixed Started the JS. The first 2 lines thats it. Problems I ran into: The CSS didn’t work, works now… until I decide to touch it. The HTML completely broke, cuz I forgot to add Welp, That’s mostly it! If you have any suggestions pls do inform me, I’m still new to coding! Cyall, byeeeeeeeeeeeeeeeee"}, {"post_id": 77870, "ts": "2026-10-08T16:41:35Z", "hours": 3.2186, "text": "Devlog #2 So in the last devlog I think I showed yall the page with the bare minimum of css… well this now is the almost completed css. What I completed today : -Made the website look rly nice with cool stuff, like gradients. -Made buttons! yea, buttons that click! and work! The problems I ran into: The css didn’t even connect to the html at first (quick fix) The gradients aren’t in the right colors, in fact most of the colors look nice but, I’m planning to change them to an space black theme, or an ocean blue theme. Pls do comment your suggestions, I always love advice, I’m ready to improve Cyall byeeeeeeeeeeeee"}, {"post_id": 77519, "ts": "2026-10-07T09:41:13Z", "hours": 2.9819, "text": "#Devlog #1 This is an brand new project I’m making, Its going to be an simple platform used make fire edits. What I completed today: Wrote the basic introduction to the website. Coded an upload button Problem I’m running into: -The upload button takes the files then shows an error -The css file doesn’t work…. At all. I would love feedback and how to fix the stuff, Cyall"}]...
|
Title: Edit_X by @SimplifCoder | Stardance
Devlog Title: Edit_X by @SimplifCoder | Stardance
Devlogs:
#Devlog #1 This is an brand new project I’m making, Its going to be an simple platform used make fire edits. What I completed today: Wrote the basic introduction to the website. Coded an upload button Problem I’m running into: -The upload button takes the files then shows an error -The css file doesn’t work…. At all. I would love feedback and how to fix the stuff, Cyall
Devlog #2 So in the last devlog I think I showed yall the page with the bare minimum of css… well this now is the almost completed css. What I completed today : -Made the website look rly nice with cool stuff, like gradients. -Made buttons! yea, buttons that click! and work! The problems I ran into: The css didn’t even connect to the html at first (quick fix) The gradients aren’t in the right colors, in fact most of the colors look nice but, I’m planning to change them to an space black theme, or an ocean blue theme. Pls do comment your suggestions, I always love advice, I’m ready to improve Cyall byeeeeeeeeeeeee
Devlog #3 So as of this devlog I am proud to announce the css is completed . What I completed: CSS, I think? (I hope) HTML, Well mostly fixed Started the JS. The first 2 lines thats it. Problems I ran into: The CSS didn’t work, works now… until I decide to touch it. The HTML completely broke, cuz I forgot to add Welp, That’s mostly it! If you have any suggestions pls do inform me, I’m still new to coding! Cyall, byeeeeeeeeeeeeeeeee
Devlog #4 So as of this devlog I’m proud to announce ; Ladies and gentlemen the website is broken; Let me explain, so I was causally doing the js, then I thought came to me, what if… then I started tinkering with the html, and now boom, I refreshed the page its completely blank, I mean I don’t know where I went wrong?? The code looks fine but the website doesn’t?, Ill drop the html code, and how the website looks, if I fix the problem ill upd the devlog...
|
1793119969.958875
|
1793983969.958875
|
|
69101
|
Explore USA by @larsmccollum | Stardance
|
larsmccollum
|
0
|
1.48
|
0
|
[]
|
[{"post_id": 78671, "ts": "202 [{"post_id": 78671, "ts": "2026-10-11T07:44:46Z", "hours": 1.4769, "text": "I started my USA exploration website. 1) First, I added some text and worked on editing photos for it. 2) Then I started with the map. I have to figure out how to add a button on each state, so it can go to a different page. That page will have info about it. If anyone has ideas… I will also need to make a ReadMe page."}]...
|
Title: Explore USA by @larsmccollum | Stardance
D Title: Explore USA by @larsmccollum | Stardance
Devlogs:
I started my USA exploration website. 1) First, I added some text and worked on editing photos for it. 2) Then I started with the map. I have to figure out how to add a button on each state, so it can go to a different page. That page will have info about it. If anyone has ideas… I will also need to make a ReadMe page....
|
1793130556.519622
|
1793735356.519622
|
|
37553
|
Privacy Policy Checker by @Christie | Stardance
|
Christie
|
1
|
13.0
|
154
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T06:49:12Z", "hours": 13.0, "multiplier": 12.15, "payout": 154, "blessing": "neutral", "text": "This is a simple policy checker that allows you to enter a URL and check its policies. As a security-conscious person, I always found myself really frustrated that the 10000 legal policies every company has are impossible to a) find and b) parse, because they’re written in legalese. I built this tool to help me to find and check the policies of websites we use in normal English, using AI to summarize and explain them. I learnt how to use Python to scrape websites! It was super interesting to see how you can automate something that would otherwise involve a lot of manual searching and copying. One thing I found particularly interesting was considering the ethical side of things. Just because information is publicly accessible doesn’t necessarily mean it’s okay to collect and use it however you want, but also scraping a page is basically the same thing as visiting it, so I don’t really know what my opinion is here. After spending a long time working mostly with JavaScript, it was also nice to return to Python and refresh my memory! That doesn’t mean it was easy though – debugging my code was sometimes super difficult as I had lots of moving parts :) Getting to call AI models through an API was also pretty cool! It was interesting to see how you can integrate AI into your own code and build tools around it, rather than just interacting with AI through a chat interface. And finally, a huge thank you to Hack Club for providing free AI access and making it possible to experiment with these tools! It’s awesome to have the opportunity to learn, build, and explore new ideas without worrying about API costs. Also thanks to Claude for helping me deploy my project! ALSO ALSO IF YOU’RE READING THIS, THANK YOU SOO MUCH!! I REALLY WANT A RETRO COMPUTER MAGAZINE SO PLEASSEEE BE NICE TO ME :»>", "repo": "https://github.com/Christie125/Policy_checker", "demo": "https://policychecker.christie.hackclub.app/"}]...
|
[{"post_id": 78669, "ts": "202 [{"post_id": 78669, "ts": "2026-10-11T07:39:05Z", "hours": 3.7278, "text": "Sorry about the bullet points, short on time.py Made SECRET_KEY mandatory: app now raises RuntimeError at startup if it’s missing, instead of silently running with None Added rate limiting via Flask-Limiter, returns a friendly 429 message when exceeded, added Flask_Limiter to requirements Wrapped the AI content-processing call in a try/except so a failure there shows an error message instead of crashing the request -Turned off debug mode for production added a “Back” button Fixed HTML typos Added a little bit of CSS! Deployed with Nest!!!! Yayyy I’m done!!"}, {"post_id": 73342, "ts": "2026-09-24T22:47:46Z", "hours": 4.7181, "text": "I finished the logic for my app, putting together all the previous functions with Flask to make a functioning web app. Now all I have to do is add CSS!"}, {"post_id": 57049, "ts": "2026-08-29T03:50:03Z", "hours": 2.5925, "text": "I added a bunch of stuff to my app! To explain simply: -> I scrape the content off all the links using Beautiful Soup -> I push this content into AI to be summarised using Hack Club’s AI API -> Summarised terms and conditions are returned! This means I can work on my frontend now yayyyy!!!"}, {"post_id": 44317, "ts": "2026-08-10T00:07:56Z", "hours": 0.4703, "text": "Added scanning of robots.txt and sitemap.xml CHECKPOINTTT I finished building the first stage of the web app by coding the second and third ways way discover legal document links – scanning robots.txt and sitemap.xml using Requests, Python and BeautifulSoup, and filtering them against a list of keywords such as “privacy”, “terms”, and “cookies” and removing duplicates. Now I have three ways of finding links, and can move onto actually reading what’s inside them! Yay :)"}, {"post_id": 36256, "ts": "2026-07-28T07:43:25Z", "hours": 0.8153, "text": "Adding Scraping Robots.txt Functionality To get a more comprehensive link check, I made it so that my link searcher also scraped robots.txt of a domain, where more potential links may be lurking (hehehe). This is important because it will help me find more terms to scan, making my tool better! This was done in a similar process to the scraping footers function. However, I used response/request to get the robots.txt file instead of scanning as page with BeautifulSoup. Just as before, I scanned the links and checked for duplicates before adding to the main array. Yay! Below, you can see it in action (I combined the two functions)."}, {"post_id": 33742, "ts": "2026-07-23T21:57:44Z", "hours": 0.3575, "text": "I focused on building the first stage of the web app by coding the first way discover legal document links – scanning page footers using Requests and BeautifulSoup, and filtering them against a list of keywords such as “privacy”, “terms”, and “cookies” and removing duplicates. I also began implementing a second discovery method using robots.txt, which can now be loaded. This didn’t take me 19 minutes – over 2 hours, in fact – but I only discovered Stardance later."}]...
|
Title: Privacy Policy Checker by @Christie | Stard Title: Privacy Policy Checker by @Christie | Stardance
Devlogs:
I focused on building the first stage of the web app by coding the first way discover legal document links – scanning page footers using Requests and BeautifulSoup, and filtering them against a list of keywords such as “privacy”, “terms”, and “cookies” and removing duplicates. I also began implementing a second discovery method using robots.txt, which can now be loaded. This didn’t take me 19 minutes – over 2 hours, in fact – but I only discovered Stardance later.
Adding Scraping Robots.txt Functionality To get a more comprehensive link check, I made it so that my link searcher also scraped robots.txt of a domain, where more potential links may be lurking (hehehe). This is important because it will help me find more terms to scan, making my tool better! This was done in a similar process to the scraping footers function. However, I used response/request to get the robots.txt file instead of scanning as page with BeautifulSoup. Just as before, I scanned the links and checked for duplicates before adding to the main array. Yay! Below, you can see it in action (I combined the two functions).
Added scanning of robots.txt and sitemap.xml CHECKPOINTTT I finished building the first stage of the web app by coding the second and third ways way discover legal document links – scanning robots.txt and sitemap.xml using Requests, Python and BeautifulSoup, and filtering them against a list of keywords such as “privacy”, “terms”, and “cookies” and removing duplicates. Now I have three ways of finding links, and can move onto actually reading what’s inside them! Yay :)
I added a bunch of stuff to my app! To explain simply: -> I scrape the content off all the links using Beautiful Soup -> I push this content into AI to be summarised using Hack Club’s AI API -> Summarised terms and conditions are returned! This means I can work on my frontend now yayyyy!!!
I finished the logic for my app, putting together all the previous functions with Flask to make a functioning web app. Now all I have to do is add CSS!
Sorry about the bullet points, short on time.py Made SECRET_KEY mandatory: app now raises RuntimeError at startup if it’s missing, instead of silently running with None Added rate limiting via Flask-Limiter, returns a friendly 429 message when exceeded, added Flask_Limiter to requirements Wrapped the AI content-processing call in a try/except so a failure there shows an error message instead of crashing the request -Turned off debug mode for production added a “Back” button Fixed HTML typos Added a little bit of CSS! Deployed with Nest!!!! Yayyy I’m done!!
Ships:
This is a simple policy checker that allows you to enter a URL and check its policies. As a security-conscious person, I always found myself really frustrated that the 10000 legal policies every company has are impossible to a) find and b) parse, because they’re written in legalese. I built this tool to help me to find and check the policies of websites we use in normal English, using AI to summarize and explain them. I learnt how to use Python to scrape websites! It was super interesting to see how you can automate something that would otherwise involve a lot of manual searching and copying. One thing I found particularly interesting was considering the ethical side of things. Just because information is publicly accessible doesn’t necessarily mean it’s okay to collect and use it however you want, but also scraping a page is basically the same thing as visiting it, so I don’t really know what my opinion is here. After spending a long time working mostly with JavaScript, it was also nice to return to Python and refresh my memory! That doesn’t mean it was easy though – debugging my code was sometimes super difficult as I had lots of moving parts :) Getting to call AI models through an API was also pretty cool! It was interesting to see how you can integrate AI into your own code and build tools around it, rather than just interacting with AI through a chat interface. And finally, a huge thank you to Hack Club for providing free AI access and making it possible to experiment with these tools! It’s awesome to have the opportunity to learn, build, and explore new ideas without worrying about API costs. Also thanks to Claude for helping me deploy my project! ALSO ALSO IF YOU’RE READING THIS, THANK YOU SOO MUCH!! I REALLY WANT A RETRO COMPUTER MAGAZINE SO PLEASSEEE BE NICE TO ME :»>...
|
1793152183.8014464
|
1793238583.8014464
|
|
60755
|
My keypad by @rohitdeshatwad | Stardance
|
rohitdeshatwad
|
0
|
6.96
|
0
|
[]
|
[{"post_id": 78663, "ts": "202 [{"post_id": 78663, "ts": "2026-10-11T06:36:28Z", "hours": 1.5975, "text": "almost done"}, {"post_id": 73089, "ts": "2026-09-24T11:13:41Z", "hours": 1.0378, "text": "It Is so Hard but, I am trying"}, {"post_id": 72160, "ts": "2026-09-22T10:42:10Z", "hours": 1.5786, "text": "Now, my case is almost done"}, {"post_id": 70747, "ts": "2026-09-19T18:11:40Z", "hours": 0.6808, "text": "now ,I make case for my keypad"}, {"post_id": 70669, "ts": "2026-09-19T15:48:52Z", "hours": 0.5008, "text": "Yes, finally my connection is done"}, {"post_id": 68101, "ts": "2026-09-14T14:50:57Z", "hours": 0.7803, "text": "Finally, I am Working on my pcb"}, {"post_id": 68013, "ts": "2026-09-14T11:34:06Z", "hours": 0.7844, "text": "Finally, I make schematic diagram"}]...
|
Title: My keypad by @rohitdeshatwad | Stardance
D Title: My keypad by @rohitdeshatwad | Stardance
Devlogs:
Finally, I make schematic diagram
Finally, I am Working on my pcb
Yes, finally my connection is done
now ,I make case for my keypad
Now, my case is almost done
It Is so Hard but, I am trying
almost done...
|
1793037006.6230958
|
1793641806.6230958
|
|
66159
|
Thrust vectoring hack ?? by @shyamks1828 | Stardan Thrust vectoring hack ?? by @shyamks1828 | Stardance...
|
shyamks1828
|
1
|
3.9
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T06:02:26Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hi guyss. so im making a thrust vectoring setup for any diy edf planes. im hoping that the design i finally wind up on can be universal and preferrably use no extra 3 d parts other than the edf. the try project link leads to my lapse vide will update it later with a flow diagram of my works. check out the source to get details of whatever is done till now.–ALSO GUYS MY GOAL IS TO GET BAMBU LABS A1 MINI SO I CAN 3D PRINT THE REQUIRED STUFF AT HOME PLS SUPPORT ME TO YOUR BEST POSSIBLE EXTENT:) (BTWN U AND ME I GOT THE DUCTED FANS FOR 5 DOLLARS AND I HAD TO CYCLE 3KM TO PICK IT UP - U CAN CHANGE THAT:)) ALSO CHCK OUT THE VIDEO IN MY DEVLOG", "repo": "https://github.com/coderrcboy/thrustvectoring", "demo": ""}]...
|
[{"post_id": 78659, "ts": "202 [{"post_id": 78659, "ts": "2026-10-11T06:22:31Z", "hours": 0.3003, "text": "Hi guysss. after some research this is the best design that can be universally used for any edf. the diagram is very simple. i will list materials required on my github repo. i will try to make a 3d printable file also. ik yes i said no need 3d printer but those who have one can also use this low effort. i think with tha this project is a wrap. c ya later"}, {"post_id": 75446, "ts": "2026-09-30T03:50:51Z", "hours": 0.4881, "text": "hello guyss, so the thrust vectoring thing wil be added to a larger physical project im doing. So today i was doing some cfd analysis with respect to that. im using ansys student version for it. thats all for tdy nothing uch to say. tmrw i will post a follow up of the modified 2 axis movement with more rage of motion. and heres a bit of sneekpeak on the cfd:)"}, {"post_id": 75228, "ts": "2026-09-29T15:09:39Z", "hours": 0.8506, "text": "Hiya guyss. so finally saw a tutorial and got an idea as to how to get the two axis movement. but as you can see in the video, it is extremely rigid with low freedom of movement. so next devlog im gonna figure out how to get more freedom of movement. and also attatch the servos and try it out. cudnt do it tdy cos i just wanted to test out axis movement working. and also here the link to the video i saw. its as old as me :) https://youtu.be/iFtUr_BnjEk?si=CrDhz44iGBbtpkKw"}, {"post_id": 74865, "ts": "2026-09-28T14:03:25Z", "hours": 1.2603, "text": "wassupp guyss firstly sorry for the grainy screenshots. they r from my lapse videos. ok so today what i did was firstly i polished up the y axis movement and added a stand of sorts. then i tried x axis movement but didnt work so well cos i tried to use 2 servos to move entire y axis setup platform i also saw the pillars which pivot y axis are not stuck firmly so they move along with the servo. next time im gonna get ice cream sticks and make a gyro-thingy to house the motor so i can make a lighter setup and also easier induvidual axis movement. c ya later"}, {"post_id": 74258, "ts": "2026-09-27T02:43:50Z", "hours": 0.55, "text": "hi guyss. so im making a thrust vectoring setup for any diy edf planes. im hoping that the design i finally wind up on can be universal and preferrably use no extra 3 d parts other than the edf. the try project link leads to my lapse vide will update it later with a flow diagram of my works. check out the source to get details of whatever is done till now."}]...
|
Title: Thrust vectoring hack ?? by @shyamks1828 | Title: Thrust vectoring hack ?? by @shyamks1828 | Stardance
Devlogs:
hi guyss. so im making a thrust vectoring setup for any diy edf planes. im hoping that the design i finally wind up on can be universal and preferrably use no extra 3 d parts other than the edf. the try project link leads to my lapse vide will update it later with a flow diagram of my works. check out the source to get details of whatever is done till now.
wassupp guyss firstly sorry for the grainy screenshots. they r from my lapse videos. ok so today what i did was firstly i polished up the y axis movement and added a stand of sorts. then i tried x axis movement but didnt work so well cos i tried to use 2 servos to move entire y axis setup platform i also saw the pillars which pivot y axis are not stuck firmly so they move along with the servo. next time im gonna get ice cream sticks and make a gyro-thingy to house the motor so i can make a lighter setup and also easier induvidual axis movement. c ya later
Hiya guyss. so finally saw a tutorial and got an idea as to how to get the two axis movement. but as you can see in the video, it is extremely rigid with low freedom of movement. so next devlog im gonna figure out how to get more freedom of movement. and also attatch the servos and try it out. cudnt do it tdy cos i just wanted to test out axis movement working. and also here the link to the video i saw. its as old as me :) https://youtu.be/iFtUr_BnjEk?si=CrDhz44iGBbtpkKw
hello guyss, so the thrust vectoring thing wil be added to a larger physical project im doing. So today i was doing some cfd analysis with respect to that. im using ansys student version for it. thats all for tdy nothing uch to say. tmrw i will post a follow up of the modified 2 axis movement with more rage of motion. and heres a bit of sneekpeak on the cfd:)
Hi guysss. after some research this is the best design that can be universally used for any edf. the diagram is very simple. i will list materials required on my github repo. i will try to make a 3d printable file also. ik yes i said no need 3d printer but those who have one can also use this low effort. i think with tha this project is a wrap. c ya later
Ships:
hi guyss. so im making a thrust vectoring setup for any diy edf planes. im hoping that the design i finally wind up on can be universal and preferrably use no extra 3 d parts other than the edf. the try project link leads to my lapse vide will update it later with a flow diagram of my works. check out the source to get details of whatever is done till now.–ALSO GUYS MY GOAL IS TO GET BAMBU LABS A1 MINI SO I CAN 3D PRINT THE REQUIRED STUFF AT HOME PLS SUPPORT ME TO YOUR BEST POSSIBLE EXTENT:) (BTWN U AND ME I GOT THE DUCTED FANS FOR 5 DOLLARS AND I HAD TO CYCLE 3KM TO PICK IT UP - U CAN CHANGE THAT:)) ALSO CHCK OUT THE VIDEO IN MY DEVLOG...
|
1793216906.6871505
|
1793303306.6871505
|