|
69243
|
Hackpad by @pavithra_venkatesh | Stardance
|
pavithra_venkatesh
|
0
|
1.52
|
0
|
[]
|
[{"post_id": 78936, "ts": "202 [{"post_id": 78936, "ts": "2026-10-12T02:58:44Z", "hours": 1.5167, "text": "Hackpad - Made PCB and case with guide"}]...
|
Title: Hackpad by @pavithra_venkatesh | Stardance
Title: Hackpad by @pavithra_venkatesh | Stardance
Devlogs:
Hackpad - Made PCB and case with guide...
|
1793764082.1386662
|
1794368882.1386662
|
|
69242
|
Neon Breach: Guard Training by @srip | Stardance
|
srip
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Neon Breach: Guard Training by @srip | Star Title: Neon Breach: Guard Training by @srip | Stardance...
|
1793764076.0939293
|
1794368876.0939293
|
|
69241
|
Study Frog by @sahana_rk | Stardance
|
sahana_rk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Study Frog by @sahana_rk | Stardance
|
1793764073.4750082
|
1794368873.4750082
|
|
69240
|
burger timer by @g8mero | Stardance
|
g8mero
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: burger timer by @g8mero | Stardance
|
1793764068.8343718
|
1794368868.8343718
|
|
69239
|
Untitled project by @g8mero | Stardance
|
g8mero
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @g8mero | Stardance
|
1793764065.0076194
|
1794368865.0076194
|
|
69238
|
A Cute Digital Camera by @sahana_rk | Stardance
|
sahana_rk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A Cute Digital Camera by @sahana_rk | Stard Title: A Cute Digital Camera by @sahana_rk | Stardance...
|
1793764061.2638423
|
1794368861.2638423
|
|
69237
|
My own site! by @ahmedo68816 | Stardance
|
ahmedo68816
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @ahmedo68816 | Stardance
|
1793764057.7921054
|
1794368857.7921054
|
|
69236
|
Student Intelligence by @defnotafunction | Stardan Student Intelligence by @defnotafunction | Stardance...
|
defnotafunction
|
0
|
0.59
|
0
|
[]
|
[{"post_id": 78900, "ts": "202 [{"post_id": 78900, "ts": "2026-10-11T23:21:28Z", "hours": 0.5908, "text": "Created a file dedicated to my app’s functionality related to ML."}]...
|
Title: Student Intelligence by @defnotafunction | Title: Student Intelligence by @defnotafunction | Stardance
Devlogs:
Created a file dedicated to my app’s functionality related to ML....
|
1793764053.3897138
|
1794368853.3897138
|
|
69235
|
Pixel KC by @JoyN | Stardance
|
JoyN
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Pixel KC by @JoyN | Stardance
|
1793764050.7851624
|
1794368850.7851624
|
|
69234
|
ObeBot - A Slack Helper Bot by @obedot | Stardance
|
obedot
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T20:39:44Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What is ObeBot? ObeBot is a simple Slack bot that can do simple things like respond to pings and send messages to the future. It was made with NodeJS and is being hosted on Nest. What was challenging? One of the harder parts was setting up the bot and hosting it on the Nest server. I was not really familiar with how to do this, because I haven’t used the Slack APIs before or hosted my code on a server. Making the command which sends a message to the future was a little tricky. I had to figure out how to use a timer in NodeJS, which I didn’t previously know how to do. What am I proud of? My favorite part was making the command which can send a message to the future, because it was the most interesting to make. It’s a useful feature that has the potential to help with setting reminders or looking back on memories if I expanded upon the idea more. How can you test the project? After clicking the Try Project button below, you will be taken to a slack workspace. If it doesn’t open immediately, you can click the “open this link in your browser”. You do need to be in the Slack server to use this bot. Please try to only test the bot in the channel bot-spam and not other channels.", "repo": "https://github.com/ObedH/ObeBot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 79085, "ts": "202 [{"post_id": 79085, "ts": "2026-10-12T16:24:43Z", "hours": 0.8031, "text": "Set up my first Slack bot and added three basic commands ObeBot can now run three commands: Respond to a ping Send a message to the future Display a list of available commands So far, this has been pretty easy. I’m not planning on doing any super complex commands, so I’ll probably finish this project soon."}]...
|
Title: ObeBot - A Slack Helper Bot by @obedot | St Title: ObeBot - A Slack Helper Bot by @obedot | Stardance
Devlogs:
Set up my first Slack bot and added three basic commands ObeBot can now run three commands: Respond to a ping Send a message to the future Display a list of available commands So far, this has been pretty easy. I’m not planning on doing any super complex commands, so I’ll probably finish this project soon.
Ships:
What is ObeBot? ObeBot is a simple Slack bot that can do simple things like respond to pings and send messages to the future. It was made with NodeJS and is being hosted on Nest. What was challenging? One of the harder parts was setting up the bot and hosting it on the Nest server. I was not really familiar with how to do this, because I haven’t used the Slack APIs before or hosted my code on a server. Making the command which sends a message to the future was a little tricky. I had to figure out how to use a timer in NodeJS, which I didn’t previously know how to do. What am I proud of? My favorite part was making the command which can send a message to the future, because it was the most interesting to make. It’s a useful feature that has the potential to help with setting reminders or looking back on memories if I expanded upon the idea more. How can you test the project? After clicking the Try Project button below, you will be taken to a slack workspace. If it doesn’t open immediately, you can click the “open this link in your browser”. You do need to be in the Slack server to use this bot. Please try to only test the bot in the channel bot-spam and not other channels....
|
1793677703.2316883
|
1793764103.2316883
|
|
69233
|
F.R.I.E.N.D by @Rafay0Imran | Stardance
|
Rafay0Imran
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: F.R.I.E.N.D by @Rafay0Imran | Stardance
|
1793764038.6964495
|
1794368838.6964495
|
|
69232
|
Study Frog by @sahana_rk | Stardance
|
sahana_rk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Study Frog by @sahana_rk | Stardance
|
1793764036.0399046
|
1794368836.0399046
|
|
69231
|
My awesome macropad! by @playnmaker123 | Stardance
|
playnmaker123
|
0
|
9.1
|
0
|
[]
|
[{"post_id": 79447, "ts": "202 [{"post_id": 79447, "ts": "2026-10-14T01:01:28Z", "hours": 4.7831, "text": "Finished PCB + CAD"}, {"post_id": 79218, "ts": "2026-10-13T02:10:17Z", "hours": 1.8, "text": "PCB Session 3, Worked on PCB Wiring"}, {"post_id": 79176, "ts": "2026-10-12T22:09:18Z", "hours": 2.5136, "text": "PCB Session 1"}]...
|
Title: My awesome macropad! by @playnmaker123 | St Title: My awesome macropad! by @playnmaker123 | Stardance
Devlogs:
PCB Session 1
PCB Session 3, Worked on PCB Wiring
Finished PCB + CAD...
|
1793764034.2851148
|
1794368834.2851148
|
|
69230
|
My awesome macropad! by @rogelete | Stardance
|
rogelete
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @rogelete | Stardan Title: My awesome macropad! by @rogelete | Stardance...
|
1793764031.6744566
|
1794368831.6744566
|
|
69229
|
Personal Site by @Sid | Stardance
|
Sid
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-11-01T07:24:27Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a personal site which has about me, my interests, contact info and linked my github. i wanted to add more features but due to limited time wasn’t able to. i dont really like the color scheme so might change in future.", "repo": "https://github.com/siddidbatra19/Personal-Site", "demo": "https://personal-site-ruby-gamma-15.vercel.app/"}]...
|
[{"post_id": 86263, "ts": "202 [{"post_id": 86263, "ts": "2026-11-01T05:00:17Z", "hours": 3.4192, "text": "I can see some progress! :) I actually spent around 5 hours working on this, but only counted 3.5 hours 😭 I wrote all the code myself, with a little help for CSS code from my webOS. Choosing a color scheme was honestly the hardest part, so I used ChatGPT to generate some cool palettes and got my sister to randomly pick one lol"}]...
|
Title: Personal Site by @Sid | Stardance
Devlogs: Title: Personal Site by @Sid | Stardance
Devlogs:
I can see some progress! :) I actually spent around 5 hours working on this, but only counted 3.5 hours 😭 I wrote all the code myself, with a little help for CSS code from my webOS. Choosing a color scheme was honestly the hardest part, so I used ChatGPT to generate some cool palettes and got my sister to randomly pick one lol
Ships:
I made a personal site which has about me, my interests, contact info and linked my github. i wanted to add more features but due to limited time wasn’t able to. i dont really like the color scheme so might change in future....
|
1793764030.5109732
|
1793850430.5109732
|
|
69228
|
Rover prototype by @strvaeq | Stardance
|
strvaeq
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Rover prototype by @strvaeq | Stardance
|
1793760940.2126067
|
1794365740.2126067
|
|
69227
|
Light Show heart by @schlagii | Stardance
|
schlagii
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Light Show heart by @schlagii | Stardance
|
1793760937.0176644
|
1794365737.0176644
|
|
69226
|
P-ground by @yoquexx | Stardance
|
yoquexx
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: P-ground by @yoquexx | Stardance
|
1793760932.5465765
|
1794365732.5465765
|
|
69225
|
Cool Game by @PrezzGrass | Stardance
|
PrezzGrass
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Cool Game by @PrezzGrass | Stardance
|
1793760929.1030161
|
1794365729.1030161
|
|
69224
|
Guess The Word Game by @JestinD | Stardance
|
JestinD
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Guess The Word Game by @JestinD | Stardance
|
1793760927.37104
|
1794365727.37104
|
|
69223
|
chiikawa game by @pigeon_ | Stardance
|
pigeon_
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T02:35:50Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a color matching battle game. A color shows for a few seconds, you memorize it, then you recreate it with hue, saturation and brightness sliders. The closer you get, the more damage you do to the enemy, and the enemy hits back for a random amount. It started as a plain color guessing game and turned into a fight with health bars, a guess timer, attack animations and a draggable color panel. The hardest part was the layout and the CSS. At one point half of my styles just weren’t saved, so EVERYTHING looked broken and I couldn’t figure out why. I’m proud that it went from a basic color guesser to a real game with its own design, and that I came up with the battle idea myself and built it from my own sketch. The squiggle health bars and the animated background are my fav parts To test it: open the demo link and press Start. Memorize the color, then match it with the sliders and press Attack. Try losing on purpose, try running out the 10 second timer, and drag the colors window around. It works best on a computer. It’s a fan project inspired by Chiikawa, not official.", "repo": "https://github.com/jiujiu-dot/aaa", "demo": "https://jiujiu-dot.github.io/aaa/"}]...
|
[{"post_id": 79219, "ts": "202 [{"post_id": 79219, "ts": "2026-10-13T02:33:07Z", "hours": 0.8497, "text": "devlog 5th finished!!"}, {"post_id": 79210, "ts": "2026-10-13T01:33:53Z", "hours": 0.5142, "text": "devlog 4th…. finishing touches"}, {"post_id": 79201, "ts": "2026-10-13T00:45:43Z", "hours": 0.4275, "text": "devlog 3th! made a animation"}, {"post_id": 79199, "ts": "2026-10-13T00:16:41Z", "hours": 2.555, "text": "devlog 2 but im too lazy to type all that sooo heres what i did yeahahha YAY I ADDED USAGI"}, {"post_id": 79167, "ts": "2026-10-12T21:10:33Z", "hours": 5.0342, "text": "DEVLOG 1 soo i started with a plain color guessing game (the kind where you memorize a color then try to match it with hue, saturation and brightness sliders) and today it turned into a whole battle game with chiikawa ofc um yea heres what i did today: Turned the color game into a fight player and the enemy both have a bar with 10 slots. the better your color guess the more damage you do (90+ = 5 damage, 80+ = 4, and sooo on down to a miss). then the enemy hits back for a random 1-4, so it’s a LITTLE easier to win. hp bars in the top corners, player and enemy in the middle, and the color controls in a little panel at the bottom left. i drew a really UGLY sketch and then built it"}]...
|
Title: chiikawa game by @pigeon_ | Stardance
Devl Title: chiikawa game by @pigeon_ | Stardance
Devlogs:
DEVLOG 1 soo i started with a plain color guessing game (the kind where you memorize a color then try to match it with hue, saturation and brightness sliders) and today it turned into a whole battle game with chiikawa ofc um yea heres what i did today: Turned the color game into a fight player and the enemy both have a bar with 10 slots. the better your color guess the more damage you do (90+ = 5 damage, 80+ = 4, and sooo on down to a miss). then the enemy hits back for a random 1-4, so it’s a LITTLE easier to win. hp bars in the top corners, player and enemy in the middle, and the color controls in a little panel at the bottom left. i drew a really UGLY sketch and then built it
devlog 2 but im too lazy to type all that sooo heres what i did yeahahha YAY I ADDED USAGI
devlog 3th! made a animation
devlog 4th…. finishing touches
devlog 5th finished!!
Ships:
I made a color matching battle game. A color shows for a few seconds, you memorize it, then you recreate it with hue, saturation and brightness sliders. The closer you get, the more damage you do to the enemy, and the enemy hits back for a random amount. It started as a plain color guessing game and turned into a fight with health bars, a guess timer, attack animations and a draggable color panel. The hardest part was the layout and the CSS. At one point half of my styles just weren’t saved, so EVERYTHING looked broken and I couldn’t figure out why. I’m proud that it went from a basic color guesser to a real game with its own design, and that I came up with the battle idea myself and built it from my own sketch. The squiggle health bars and the animated background are my fav parts To test it: open the demo link and press Start. Memorize the color, then match it with the sliders and press Attack. Try losing on purpose, try running out the 10 second timer, and drag the colors window around. It works best on a computer. It’s a fan project inspired by Chiikawa, not official....
|
1793677702.1037471
|
1793764102.1037471
|
|
69222
|
Basketballlegend by @advitbafna | Stardance
|
advitbafna
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Basketballlegend by @advitbafna | Stardance
|
1793760923.9505339
|
1794365723.9505339
|
|
69221
|
Qcumber Music by @CatPowerz | Stardance
|
CatPowerz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Qcumber Music by @CatPowerz | Stardance
|
1793760918.5016336
|
1794624918.5016336
|
|
69220
|
another weather app? by @PahalDesai | Stardance
|
PahalDesai
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: another weather app? by @PahalDesai | Stard Title: another weather app? by @PahalDesai | Stardance...
|
1793472639.9997187
|
1794336639.9997187
|
|
69219
|
Spain Map by @Javixdero | Stardance
|
Javixdero
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Spain Map by @Javixdero | Stardance
|
1793760909.1412804
|
1794365709.1412804
|
|
69218
|
BLARE by @rugved_gogawale | Stardance
|
rugved_gogawale
|
0
|
0.45
|
0
|
[]
|
[{"post_id": 78836, "ts": "202 [{"post_id": 78836, "ts": "2026-10-11T18:46:24Z", "hours": 0.4492, "text": "learning basics of python"}]...
|
Title: BLARE by @rugved_gogawale | Stardance
Devl Title: BLARE by @rugved_gogawale | Stardance
Devlogs:
learning basics of python...
|
1793130754.587592
|
1793994754.587592
|
|
69217
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793764412.53063
|
1794628412.53063
|
|
69216
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793764411.666542
|
1794628411.666542
|
|
69215
|
My own site! by @Gujaratastronomy | Stardance
|
Gujaratastronomy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @Gujaratastronomy | Stardan Title: My own site! by @Gujaratastronomy | Stardance...
|
1793760902.758825
|
1794365702.758825
|
|
69214
|
My awesome macropad! by @Vitality | Stardance
|
Vitality
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Vitality | Stardan Title: My awesome macropad! by @Vitality | Stardance...
|
1793760900.9848018
|
1794365700.9848018
|
|
69213
|
ENC28J60 Driver by @shaydenseymour | Stardance
|
shaydenseymour
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ENC28J60 Driver by @shaydenseymour | Starda Title: ENC28J60 Driver by @shaydenseymour | Stardance...
|
1793760898.0686452
|
1794365698.0686452
|
|
69212
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793764410.8154411
|
1794628410.8154411
|
|
69211
|
arrow kyes by @mazobot | Stardance
|
mazobot
|
0
|
11.43
|
0
|
[]
|
[{"post_id": 86442, "ts": "202 [{"post_id": 86442, "ts": "2026-11-01T19:29:44Z", "hours": 8.0581, "text": "Soooooooooooo it is working I guess , now I neeed to do…"}, {"post_id": 79566, "ts": "2026-10-14T17:01:50Z", "hours": 3.3683, "text": "My programing language is based on arrow keys and now algortym for Fibinacci number works"}]...
|
Title: arrow kyes by @mazobot | Stardance
Devlogs Title: arrow kyes by @mazobot | Stardance
Devlogs:
My programing language is based on arrow keys and now algortym for Fibinacci number works
Soooooooooooo it is working I guess , now I neeed to do…...
|
1793760895.606002
|
1794365695.606002
|
|
69210
|
playground by @Zadox | Stardance
|
Zadox
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: playground by @Zadox | Stardance
|
1793760892.99908
|
1794365692.99908
|
|
69209
|
Chimeric Proteins by @spvp1234 | Stardance
|
spvp1234
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Chimeric Proteins by @spvp1234 | Stardance
|
1793760889.5340312
|
1794365689.5340312
|
|
69208
|
asdf by @janekmusin | Stardance
|
janekmusin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: asdf by @janekmusin | Stardance
|
1793760887.795382
|
1794365687.795382
|
|
69207
|
Lectern by @harshad2zia | Stardance
|
harshad2zia
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Lectern by @harshad2zia | Stardance
|
1793760885.2159388
|
1794365685.2159388
|
|
69206
|
A-pad by @Iarush7 | Stardance
|
Iarush7
|
0
|
6.74
|
0
|
[]
|
[{"post_id": 79238, "ts": "202 [{"post_id": 79238, "ts": "2026-10-13T05:10:53Z", "hours": 0.7186, "text": "Added a deeper bezel for the OLED screen in the CAD and created the project GitHUB + README"}, {"post_id": 79232, "ts": "2026-10-13T04:25:04Z", "hours": 1.6842, "text": "CAD for the Model is done. I used onshape instead of fusion because sharing is a lot easier on onshape."}, {"post_id": 79071, "ts": "2026-10-12T15:52:39Z", "hours": 0.7433, "text": "Psych, I lied. I did not finish the PCB since I forgot to do all the routing. I learned how to use a free Java Plugin called FreeRouter to help me do the routing"}, {"post_id": 78955, "ts": "2026-10-12T05:41:45Z", "hours": 1.7342, "text": "Finally finished with the PCB!!! It took me a while to figure out how to use the grid layouts to make a precise symmetrical grid for the keys. After that, orienting the diodes and flipping parts to save space was more I learned about PCB design. Took a lot of time but I think I learned valuable lessons!"}, {"post_id": 78927, "ts": "2026-10-12T02:08:53Z", "hours": 0.8658, "text": "I completed the schematics for all the keys for my custom A shaped design. I used a video by Joe Scotto to learn about matrix circuitry for the keys."}, {"post_id": 78897, "ts": "2026-10-11T22:55:04Z", "hours": 0.9983, "text": "I learnt PCB Design? I used KICAD to make the base Hack Pad Design according to the guide. Now I will make my own Design of the A shaped Hack pad"}]...
|
Title: A-pad by @Iarush7 | Stardance
Devlogs:
I l Title: A-pad by @Iarush7 | Stardance
Devlogs:
I learnt PCB Design? I used KICAD to make the base Hack Pad Design according to the guide. Now I will make my own Design of the A shaped Hack pad
I completed the schematics for all the keys for my custom A shaped design. I used a video by Joe Scotto to learn about matrix circuitry for the keys.
Finally finished with the PCB!!! It took me a while to figure out how to use the grid layouts to make a precise symmetrical grid for the keys. After that, orienting the diodes and flipping parts to save space was more I learned about PCB design. Took a lot of time but I think I learned valuable lessons!
Psych, I lied. I did not finish the PCB since I forgot to do all the routing. I learned how to use a free Java Plugin called FreeRouter to help me do the routing
CAD for the Model is done. I used onshape instead of fusion because sharing is a lot easier on onshape.
Added a deeper bezel for the OLED screen in the CAD and created the project GitHUB + README...
|
1793760876.3318818
|
1794365676.3318818
|
|
69205
|
Saturn by @Captainmaverick | Stardance
|
Captainmaverick
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Saturn by @Captainmaverick | Stardance
|
1793760873.4030976
|
1794365673.4030976
|
|
69204
|
distroller by @Erox | Stardance
|
Erox
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-17T16:42:10Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Distroller is a rust based hyprland exclusive cli tool , it manages displays in a normal hyprland setup , check out my repo for more info abt the commands , also there is a demo video , showing how distroller works on my pc(dual moniter one internal laptop one and 2nd is hdmi 100hz 1080p) , heres the link : “ https://youtu.be/UKzd1IbrFVo ” see the installation steps mentioned in readme to install it in your arch", "repo": "https://github.com/Erox-02/distroller", "demo": "https://youtu.be/UKzd1IbrFVo"}]...
|
[{"post_id": 80409, "ts": "202 [{"post_id": 80409, "ts": "2026-10-17T15:36:20Z", "hours": 0.8461, "text": "wrote the readme and the PKGBUILD , did a lot of tries , but still wasnt able to put the video in readme so gonna use the yt link"}, {"post_id": 79774, "ts": "2026-10-15T10:58:21Z", "hours": 0.4403, "text": "wow what a idiot i aam , forgot to add the use in helps lol , fixed tht anyways , now i will publish it to aur and gonna write a readme ahh i cant push to aur , its denying my public key anyways i think i will make the video first before pushing on aur ok done all things , now js readme and then done , see the demo vid and we are ready to ship :“ https://youtu.be/UKzd1IbrFVo ”"}, {"post_id": 79759, "ts": "2026-10-15T09:14:22Z", "hours": 2.3222, "text": "ok so i saw when i use the share , it scales the monitors differently so we need to pass both , dont change scale and then do it , and if scale changed then revert the scale , i use arch btw , i am pro .ok use works flawlessly now , anyways found a bug , i cant use 100hz on my hdmi monitor tht supports 100hz i have no fking idea why but i cant so needa fix tht . wow i am such a idiot , changed the vec in ls then thought shld push so reverted then changed in io and now suffering lol anyways gotta fix tht bruh wtf i am getting prob on refreshrate , tht right but i named a full struct wrong and hyprctl doesnt parse tht correctly so i am getting no sup on 100hz lol , do i even have more than 1 braincel? ok after rechaingin my vec to string to vec to string to vec i finally got it to work lol . kk removed the training wheels , i mean println for helping me done . now the final thing , its cli , i mean i am done using cargo run …. lets implant usable distroller …. OHH DONE , i made the PKGBUild and it WORKS , now i can publish it to aur too , i js need a readme now hell yeah"}, {"post_id": 79711, "ts": "2026-10-15T05:51:37Z", "hours": 1.4242, "text": "ok so i saw when i use the share , it scales the monitors differently so we need to pass both , dont change scale and then do it , and if scale changed then revert the scale , i use arch btw , i am pro .ok use works flawlessly now , anyways found a bug , i cant use 100hz on my hdmi monitor tht supports 100hz i have no fking idea why but i cant so needa fix tht . wow i am such a idiot , changed the vec in ls then thought shld push so reverted then changed in io and now suffering lol anyways gotta fix tht bruh wtf i am getting prob on refreshrate , tht right but i named a full struct wrong and hyprctl doesnt parse tht correctly so i am getting no sup on 100hz lol , do i even have more than 1 braincel? ok after rechaingin my vec to string to vec to string to vec i finally got it to work lol . kk removed the training wheels , i mean println for helping me done"}, {"post_id": 79541, "ts": "2026-10-14T14:53:59Z", "hours": 1.4531, "text": "ok so made a new formula for the workspace logic , its easy res(len)*scale^(-1) + c and here frm my tests i got c=10 for 1080p monitors. It works flawlessly in my setup but i still havent tested it on diff moniters so cant say its universal .okk added shr.rs and the logic is clean af . js do basic math easy , i made c configureable with a integer pass , pass the val of c and youre good , to go but i still havent decided vals for c for other setups , lets them try lol .bruh i added use fn branch after command and wondering , why i am getting unknown command “use” lol.wow got an error thread 'main' (15889) panicked at src/ls.rs:32:10:cant parse monitor data: Error(\"missing field `available`\", line: 45, column: 1)note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace[erox@archbtw distroller]$ ok pretty good , there was a prob with the avalible in the struct in ls but i js used serde def haha always false if no val , i have hyprctl monitors all -j so nothing to worry anyways it works now"}, {"post_id": 79475, "ts": "2026-10-14T06:05:04Z", "hours": 1.205, "text": "this time i am making a shared window for both monitors so user can move mouse between them , after a lot of trail and err , in main.rs then in terminal and then in arch wiki finally pulled it off , safe position is 1290x0 for m2 and m1 will be 0x0 but its for 1.5x scaling not 1x or diff , oh now i need to make it diff for scaling’s too ahh god it sucks"}, {"post_id": 79130, "ts": "2026-10-12T19:32:53Z", "hours": 0.265, "text": "ok added some restrictions and it works yay!"}, {"post_id": 78969, "ts": "2026-10-12T06:50:30Z", "hours": 0.7342, "text": "ok now i am working on it to use it as cli tool not js cargo run and pray so i think i will start with passing a value in cargo for now .ok did some work and got the refresh rate thing working too , now cargo run –list , cargo run – scale and refresh works , and works pretty fine i will need to add some restrictions because scalling max is 10 , higher gives hypr err , higher ref rate on external hdmi = no signal also disabling eDP kills the waybar too oh thts my fault lemme fix my own waybar , done took a lil time but fixed , also i changed hyprctl monitors -j to hyprctl monitors all -j because after disabling one moniter , hyprctl monitors was ignoring the disabled one"}, {"post_id": 78832, "ts": "2026-10-11T18:32:54Z", "hours": 0.3467, "text": "added another feature it does the scaling thing , hm so i used hyprctl eval 'hl.monitor({ output = \"eDP-1\", scale = 1.0 })' hyprctl commands obviously and scaled the monitors i think now imma gonna add separate display scaling , not a prob for me as i still havent implanted any cli commands , but also i added refresh rate impl too in the io.rs js didnt used tht in main.rs gonna do tht soon check the video here “ https://youtu.be/PTmcT2p5NYg ”"}, {"post_id": 78793, "ts": "2026-10-11T16:53:34Z", "hours": 3.155, "text": "Recently i got a monitor (thx stardance) and connected it to my laptop right away , but my hyprland didnt had anything to assign to the moniter , so it just went with the default one ,a diff workspace and i had to configure it a lot then finally got it to work but now i think i will make a rust based cli tool to automate those things . Easy right? for users not me lol . see the poc : distroller list distroller use 1 (here 1 means the 1st moniter like for laptop , it is eDP-1, while the other moniters will turn off maybe? define the state in distroller.conf ) distroller use 2 (HDMI-A-1) distroller use 1,2… (it gives each moniter diff workspace) distroller use 1,2 –share (it makes both share a workspace but more like a single monitor ) distroller use 1,2 –copy (show the same thing) i made it a codeblock but the comments () arent valid so dont copy these things , now imma gonna start building the base so built the initial struct , btw i used u8 for height and width at first but it doesnt store 1920 or 1080 so i used u16 as it is better than u32 atleast i think so , also i used f32 for the refreash rate as hyprland give things like 59.64 sometimes , wait wtf am i explain? its basics nah i dont needa explain, nah, i’wd build . ok added another struct to copy the vals to new struct wait wait , why am i such a fool? why did i made a struct to js push a value to next struct? wait i again figured a thing , i can js follow the hyprctl output’s structure lol , [erox@archbtw ~]$ hyprctl monitors -j [{ “id”: 0, “name”: “eDP-1”, “description”: “BOE 0x094A”, “make”: “BOE”, “model”: “0x094A”, “width”: 1920, “height”: 1080, “physicalWidth”: 340, “physicalHeight”: 190, “refreshRate”: 60.00400, “x”: 0, “y”: 0, “activeWorkspace”: { “id”: 1, “name”: “1” }, { “id”: 1, “name”: “HDMI-A-1”, “description”: “XXX HDMI”, “make”: “XXX”, “model”: “HDMI”, “serial”: “”, “width”: 1920, “height”: 1080, “physicalWidth”: 10, “physicalHeight”: 10, “refreshRate”: 60.00000, “x”: 1280, “y”: 0, “activeWorkspace”: { “id”: 4, “name”: “4” },] [erox@archbtw ~]$ made the best struct pub struct Disp { pub name: String, pub refreshRate: f32, pub w: u16, pub h: u16, pub focused: bool, pub disabled: bool, } now just gonna fetch frm the hyprctl output and print done ok added the code to run hyprlctl monitors -j and fetch the info , but then i got err js because i forgot to add the deserializer and then after i fixed lol cargo toml didnt have derde lol , and now i imported it as macro another lol , and now i forgot to import the feature deserialize with serde . bruh this time i js got a err of version mismatch tht was added by cargo , how life can be worser? ohhh it worked finally : but wait the 2nd moniter was supposed to be 100hz default , ik its downsampled because of the other moniter , anyways i ’ll fix tht later hmhm now imma gonna make the other features . okk broke main.rs and made ls.rs and main.rs , currently i kept the hypr func (the one to execute hyprctl with structed args as u want ) in ls as idh any hypr.rs , but i will soon move tht to somewhere else as ls.rs is for listing only , yeah thts why i named it ls , i didnt steal the name of ls bash command , wait i kinda did to be honest .ok after a lot of research , i found hyprctl eval ‘hl.monitor({ output = “eDP-1”, disabled = true })’ works to turn of the display so i can make a function inside my new io.rs and use it to turn off on on the display hmhm. now imma gonna work on the turn off and on function done it works , i js used hyprctl command to do it , it wasnt much hard after finding some repos i found this hyprctl eval ‘hl.monitor({ output = “eDP-1”, disabled = true })’ it ran well so i made a file named io.rs and implanted on main done and now it works though its not usable on terminal , cargo run does the work fine ."}]...
|
Title: distroller by @Erox | Stardance
Devlogs:
R Title: distroller by @Erox | Stardance
Devlogs:
Recently i got a monitor (thx stardance) and connected it to my laptop right away , but my hyprland didnt had anything to assign to the moniter , so it just went with the default one ,a diff workspace and i had to configure it a lot then finally got it to work but now i think i will make a rust based cli tool to automate those things . Easy right? for users not me lol . see the poc : distroller list distroller use 1 (here 1 means the 1st moniter like for laptop , it is eDP-1, while the other moniters will turn off maybe? define the state in distroller.conf ) distroller use 2 (HDMI-A-1) distroller use 1,2… (it gives each moniter diff workspace) distroller use 1,2 –share (it makes both share a workspace but more like a single monitor ) distroller use 1,2 –copy (show the same thing) i made it a codeblock but the comments () arent valid so dont copy these things , now imma gonna start building the base so built the initial struct , btw i used u8 for height and width at first but it doesnt store 1920 or 1080 so i used u16 as it is better than u32 atleast i think so , also i used f32 for the refreash rate as hyprland give things like 59.64 sometimes , wait wtf am i explain? its basics nah i dont needa explain, nah, i’wd build . ok added another struct to copy the vals to new struct wait wait , why am i such a fool? why did i made a struct to js push a value to next struct? wait i again figured a thing , i can js follow the hyprctl output’s structure lol , [erox@archbtw ~]$ hyprctl monitors -j [{ “id”: 0, “name”: “eDP-1”, “description”: “BOE 0x094A”, “make”: “BOE”, “model”: “0x094A”, “width”: 1920, “height”: 1080, “physicalWidth”: 340, “physicalHeight”: 190, “refreshRate”: 60.00400, “x”: 0, “y”: 0, “activeWorkspace”: { “id”: 1, “name”: “1” }, { “id”: 1, “name”: “HDMI-A-1”, “description”: “XXX HDMI”, “make”: “XXX”, “model”: “HDMI”, “serial”: “”, “width”: 1920, “height”: 1080, “physicalWidth”: 10, “physicalHeight”: 10, “refreshRate”: 60.00000, “x”: 1280, “y”: 0, “activeWorkspace”: { “id”: 4, “name”: “4” },] [erox@archbtw ~]$ made the best struct pub struct Disp { pub name: String, pub refreshRate: f32, pub w: u16, pub h: u16, pub focused: bool, pub disabled: bool, } now just gonna fetch frm the hyprctl output and print done ok added the code to run hyprlctl monitors -j and fetch the info , but then i got err js because i forgot to add the deserializer and then after i fixed lol cargo toml didnt have derde lol , and now i imported it as macro another lol , and now i forgot to import the feature deserialize with serde . bruh this time i js got a err of version mismatch tht was added by cargo , how life can be worser? ohhh it worked finally : but wait the 2nd moniter was supposed to be 100hz default , ik its downsampled because of the other moniter , anyways i ’ll fix tht later hmhm now imma gonna make the other features . okk broke main.rs and made ls.rs and main.rs , currently i kept the hypr func (the one to execute hyprctl with structed args as u want ) in ls as idh any hypr.rs , but i will soon move tht to somewhere else as ls.rs is for listing only , yeah thts why i named it ls , i didnt steal the name of ls bash command , wait i kinda did to be honest .ok after a lot of research , i found hyprctl eval ‘hl.monitor({ output = “eDP-1”, disabled = true })’ works to turn of the display so i can make a function inside my new io.rs and use it to turn off on on the display hmhm. now imma gonna work on the turn off and on function done it works , i js used hyprctl command to do it , it wasnt much hard after finding some repos i found this hyprctl eval ‘hl.monitor({ output = “eDP-1”, disabled = true })’ it ran well so i made a file named io.rs and implanted on main done and now it works though its not usable on terminal , cargo run does the work fine .
added another feature it does the scaling thing , hm so i used hyprctl eval 'hl.monitor({ output = "eDP-1", scale = 1.0 })' hyprctl commands obviously and scaled the monitors i think now imma gonna add separate display scaling , not a prob for me as i still havent implanted any cli commands , but also i added refresh rate impl too in the io.rs js didnt used tht in main.rs gonna do tht soon check the video here “ https://youtu.be/PTmcT2p5NYg ”
ok now i am working on it to use it as cli tool not js cargo run and pray so i think i will start with passing a value in cargo for now .ok did some work and got the refresh rate thing working too , now cargo run –list , cargo run – scale and refresh works , and works pretty fine i will need to add some restrictions because scalling max is 10 , higher gives hypr err , higher ref rate on external hdmi = no signal also disabling eDP kills the waybar too oh thts my fault lemme fix my own waybar , done took a lil time but fixed , also i changed hyprctl monitors -j to hyprctl monitors all -j because after disabling one moniter , hyprctl monitors was ignoring the disabled one
ok added some restrictions and it works yay!
this time i am making a shared window for both monitors so user can move mouse between them , after a lot of trail and err , in main.rs then in terminal and then in arch wiki finally pulled it off , safe position is 1290x0 for m2 and m1 will be 0x0 but its for 1.5x scaling not 1x or diff , oh now i need to make it diff for scaling’s too ahh god it sucks
ok so made a new formula for the workspace logic , its easy res(len)*scale^(-1) + c and here frm my tests i got c=10 for 1080p monitors. It works flawlessly in my setup but i still havent tested it on diff moniters so cant say its universal .okk added shr.rs and the logic is clean af . js do basic math easy , i made c configureable with a integer pass , pass the val of c and youre good , to go but i still havent decided vals for c for other setups , lets them try lol .bruh i added use fn branch after command and wondering , why i am getting unknown command “use” lol.wow got an error thread 'main' (15889) panicked at src/ls.rs:32:10:cant parse monitor data: Error("missing field `available`", line: 45, column: 1)note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace[erox@archbtw distroller]$ ok pretty good , there was a prob with the avalible in the struct in ls but i js used serde def haha always false if no val , i have hyprctl monitors all -j so nothing to worry anyways it works now
ok so i saw when i use the share , it scales the monitors differently so we need to pass both , dont change scale and then do it , and if scale changed then revert the scale , i use arch btw , i am pro .ok use works flawlessly now , anyways found a bug , i cant use 100hz on my hdmi monitor tht supports 100hz i have no fking idea why but i cant so needa fix tht . wow i am such a idiot , changed the vec in ls then thought shld push so reverted then changed in io and now suffering lol anyways gotta fix tht bruh wtf i am getting prob on refreshrate , tht right but i named a full struct wrong and hyprctl doesnt parse tht correctly so i am getting no sup on 100hz lol , do i even have more than 1 braincel? ok after rechaingin my vec to string to vec to string to vec i finally got it to work lol . kk removed the training wheels , i mean println for helping me done
ok so i saw when i use the share , it scales the monitors differently so we need to pass both , dont change scale and then do it , and if scale changed then revert the scale , i use arch btw , i am pro .ok use works flawlessly now , anyways found a bug , i cant use 100hz on my hdmi monitor tht supports 100hz i have no fking idea why but i cant so needa fix tht . wow i am such a idiot , changed the vec in ls then thought shld push so reverted then changed in io and now suffering lol anyways gotta fix tht bruh wtf i am getting prob on refreshrate , tht right but i named a full struct wrong and hyprctl doesnt parse tht correctly so i am getting no sup on 100hz lol , do i even have more than 1 braincel? ok after rechaingin my vec to string to vec to string to vec i finally got it to work lol . kk removed the training wheels , i mean println for helping me done . now the final thing , its cli , i mean i am done using cargo run …. lets implant usable distroller …. OHH DONE , i made the PKGBUild and it WORKS , now i can publish it to aur too , i js need a readme now hell yeah
wow what a idiot i aam , forgot to add the use in helps lol , fixed tht anyways , now i will publish it to aur and gonna write a readme ahh i cant push to aur , its denying my public key anyways i think i will make the video first before pushing on aur ok done all things , now js readme and then done , see the demo vid and we are ready to ship :“ https://youtu.be/UKzd1IbrFVo ”
wrote the readme and the PKGBUILD , did a lot of tries , but still wasnt able to put the video in readme so gonna use the yt link
Ships:
Distroller is a rust based hyprland exclusive cli tool , it manages displays in a normal hyprland setup , check out my repo for more info abt the commands , also there is a demo video , showing how distroller works on my pc(dual moniter one internal laptop one and 2nd is hdmi 100hz 1080p) , heres the link : “ https://youtu.be/UKzd1IbrFVo ” see the installation steps mentioned in readme to install it in your arch...
|
1793677700.90786
|
1793764100.90786
|
|
69203
|
Omnigrades by @arnav_g | Stardance
|
arnav_g
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Omnigrades by @arnav_g | Stardance
|
1793760865.9560573
|
1794365665.9560573
|
|
69202
|
RGB Hackpad by @Namish53 | Stardance
|
Namish53
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: RGB Hackpad by @Namish53 | Stardance
|
1793472629.81898
|
1794336629.81898
|
|
69201
|
Manifestation by @arnav_g | Stardance
|
arnav_g
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Manifestation by @arnav_g | Stardance
|
1793760859.4759107
|
1794365659.4759107
|
|
69200
|
PDFTools by @itzdeep2 | Stardance
|
itzdeep2
|
5
|
30.0
|
355
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-28T15:50:39Z", "hours": 7.0, "multiplier": 14.33, "payout": 103, "blessing": "neutral", "text": "PDFTools is a client-side web application designed to run entirely in the browser without server-side processing for its core file utilities. It provides an all-in-one suite of tools including PDF merging, single-page splitting, PDF-to-JPG conversion, password removal, document protection/encryption, page rotation, and stream-based document compression using pdf-lib and pdf.js. Additionally, it features OCR text extraction powered by tesseract.js, universal media and format conversions using WebAssembly-based FFmpeg, in-browser AI-driven background removal via Transformers.js ( @bg0 /browser), and client-side audio noise cleaning using the Web Audio API. The interface includes customizable themes, drag-and-drop file upload zones, audio click feedback, and an embedded iframe hosting the OpenDesign/Tela canvas editor for rich, interactive layout and document design.", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 2, "ts": "2026-10-23T13:57:40Z", "hours": 10.0, "multiplier": 10.9, "payout": 106, "blessing": "neutral", "text": "🚢 Shipped: PDFTools & OpenDesign (100% Client-Side Privacy Suite) — I just launched PDFTools, a completely offline, browser-based utility suite featuring the OpenDesign Studio for visual canvas editing and document signing, along with local PDF merging, splitting, OCR text extraction, structure compression, and client-side format conversion. The core philosophy here is zero-knowledge privacy: not a single byte ever leaves your machine, ensuring sensitive documents are never uploaded to remote third-party servers. While certain experimental features like large media transcoding and heavy AI background removal push browser memory limits and may not function as seamlessly as they would on dedicated cloud farms, relying strictly on client-side WebAssembly was an intentional, non-negotiable architectural decision to protect your data sovereignty and guarantee absolute privacy.", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 3, "ts": "2026-10-18T17:20:17Z", "hours": 8.0, "multiplier": 15.48, "payout": 123, "blessing": "neutral", "text": "this ship is not a major change but somebody said the most people think about something is the attention to detail/ the small thing and changes..!! still i tried my best to add the details i can add, everything i know that feels missing. some may recomend me that add some images but the actual problem is i want to make the site as light weight as i can so i used emojis instead of images..!! and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 4, "ts": "2026-10-13T15:36:01Z", "hours": 3.0, "multiplier": 4.22, "payout": 16, "blessing": "neutral", "text": "I made PDFTools to do basic PDF tasks in one place. You can merge and split PDFs, convert them to images, add text, and use OCR to read text from images. The hardest part was getting the different tools to work properly in the browser. I’m proud that the files are processed on the user’s device instead of being uploaded to my server. I also added separate pages and emoji buttons to make it easier to use. You can try it using the project link!", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 5, "ts": "2026-10-12T14:18:16Z", "hours": 2.0, "multiplier": 2.82, "payout": 7, "blessing": "neutral", "text": "Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed.", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}]...
|
[{"post_id": 83766, "ts": "202 [{"post_id": 83766, "ts": "2026-10-28T15:41:31Z", "hours": 7.1522, "text": "Honestly, I just spent about 4 hours bashing my head against a wall trying to figure out how to build a 100% offline, free Canva alternative from scratch. It felt downright impossible, and after trying everything I could think of, I have to admit I just don’t have the technical chops to pull off a fully local build right now. Definitely something I want to tackle again in the future once I learn more. For now, huge shoutout to the OpenDesign project by clawnify( https://github.com/clawnify/OpenDesign ). I ended up integrating their open-source project to power the editor here. Important heads-up: Because this setup relies on a server, it is not 100% local. If you’re working with private or confidential files, please make sure to delete your projects when you’re done so nobody else can see them. On the bright side, I did get the background remover working completely offline! It runs 100% locally using an in-browser AI model. The only catch is that on the first run, it has to download a ~300–500MB model file once. After that initial download, it processes everything right on your machine."}, {"post_id": 82017, "ts": "2026-10-23T13:55:08Z", "hours": 2.3939, "text": "fixed all the errors and things which i could still many thing to go Remember that this is a all offine local tool some of the function is not working as intended (as some of the processing require large servers) { using server would ruin the project as it is made by keeping privacy in mind} still tried to fix…!!"}, {"post_id": 81747, "ts": "2026-10-22T10:30:09Z", "hours": 2.49, "text": "The open design and remove bg has some bugs so its currently not working i am trying to fix it…… and added a new feature rotate pdf and also universal convert only works with images/pdfs files not videos i will implement the video feature soon so stay tuned…!!!!"}, {"post_id": 81508, "ts": "2026-10-21T15:11:08Z", "hours": 2.1814, "text": "added remove background and clean audio (noise remover) but its not working i am trying to fix it but i am not getting much time as i am working somewhere else so pls don’t mind the delay..!!"}, {"post_id": 81427, "ts": "2026-10-21T07:21:04Z", "hours": 0.8461, "text": "Add the universal convert it will auto detect the file uploaded and ask the format accordingly which we want to convert…!!! Still its Pending because the download function is not working so i have to fix it… STAY TUNED…!!!"}, {"post_id": 81221, "ts": "2026-10-20T10:49:54Z", "hours": 1.855, "text": "added different colour themes and also added a universal convert which is currently in progress…!!! stay tuned..!!"}, {"post_id": 80733, "ts": "2026-10-18T17:18:34Z", "hours": 1.5733, "text": "added a opendesign like canva still i dont wanna higlight it as its under construction and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)"}, {"post_id": 80663, "ts": "2026-10-18T13:05:08Z", "hours": 0.6958, "text": "the most usable thing and the most difficult and challenging thing is to add the all direction resize pull tabs (before it can be done only using the bottom right tab) many things i had to delete and more than 100+ insertation to add and also thanks to AI for sorting out the confusing thing and helping me add the all direction resize tab without confusing the script.js which direction the user is pulling…!!!"}, {"post_id": 80651, "ts": "2026-10-18T12:09:11Z", "hours": 2.2322, "text": "tbh really frustrated with the edit pdf option rest everything didn’t took so much time. but this is causing so much error and i have to add a remove many things thanks to my computer teacher who helped a lot to edit and improve the design like the whitout had a border which i removed and also the delete option disappeared real quick so i had to fix it…!! hope you like it many more changes and features to add i am thinking to add a canva type thing locally so stay tuned…!!!!"}, {"post_id": 80355, "ts": "2026-10-17T11:51:43Z", "hours": 3.4286, "text": "in edit pdf i have added different fonts and,size and colour..!!! also added whiteout which you can whiteout anything you don’t want and also added the image adding but there is some changes to make like image crop option and size option rest everything good…!!! but still sign option is not working so i am trying to add it. REMEMBER THIS IS A LOCAL TOOL (RUNS ON YOUR BROWSER) YOUR DATA NEVER LEAVES YOU DEVICE. everything is processed in your browser so it might have some bugs depending on your device specs i am trying to fix it but i need help if anybody can help pls dm me..!!! if any more suggesstion you have pls comment"}, {"post_id": 79332, "ts": "2026-10-13T15:27:28Z", "hours": 3.0969, "text": "As many of the people in review has told about my flaws and what i can improve, i want to thank them for this honest review. I added the interactive buttons with emoji and also added indivisual pages for every action. some of you also compared my project to ILovePdf for them i want to say that in my project everything stays in your device everything is processed in your browser unlike this companies which upload your pdf to server. it gives some advantages to my project ie. safe, private, secure, fast."}, {"post_id": 78789, "ts": "2026-10-11T16:39:18Z", "hours": 2.0847, "text": "Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed."}]...
|
Title: PDFTools by @itzdeep2 | Stardance
Devlogs: Title: PDFTools by @itzdeep2 | Stardance
Devlogs:
Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed.
As many of the people in review has told about my flaws and what i can improve, i want to thank them for this honest review. I added the interactive buttons with emoji and also added indivisual pages for every action. some of you also compared my project to ILovePdf for them i want to say that in my project everything stays in your device everything is processed in your browser unlike this companies which upload your pdf to server. it gives some advantages to my project ie. safe, private, secure, fast.
in edit pdf i have added different fonts and,size and colour..!!! also added whiteout which you can whiteout anything you don’t want and also added the image adding but there is some changes to make like image crop option and size option rest everything good…!!! but still sign option is not working so i am trying to add it. REMEMBER THIS IS A LOCAL TOOL (RUNS ON YOUR BROWSER) YOUR DATA NEVER LEAVES YOU DEVICE. everything is processed in your browser so it might have some bugs depending on your device specs i am trying to fix it but i need help if anybody can help pls dm me..!!! if any more suggesstion you have pls comment
tbh really frustrated with the edit pdf option rest everything didn’t took so much time. but this is causing so much error and i have to add a remove many things thanks to my computer teacher who helped a lot to edit and improve the design like the whitout had a border which i removed and also the delete option disappeared real quick so i had to fix it…!! hope you like it many more changes and features to add i am thinking to add a canva type thing locally so stay tuned…!!!!
the most usable thing and the most difficult and challenging thing is to add the all direction resize pull tabs (before it can be done only using the bottom right tab) many things i had to delete and more than 100+ insertation to add and also thanks to AI for sorting out the confusing thing and helping me add the all direction resize tab without confusing the script.js which direction the user is pulling…!!!
added a opendesign like canva still i dont wanna higlight it as its under construction and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)
added different colour themes and also added a universal convert which is currently in progress…!!! stay tuned..!!
Add the universal convert it will auto detect the file uploaded and ask the format accordingly which we want to convert…!!! Still its Pending because the download function is not working so i have to fix it… STAY TUNED…!!!
added remove background and clean audio (noise remover) but its not working i am trying to fix it but i am not getting much time as i am working somewhere else so pls don’t mind the delay..!!
The open design and remove bg has some bugs so its currently not working i am trying to fix it…… and added a new feature rotate pdf and also universal convert only works with images/pdfs files not videos i will implement the video feature soon so stay tuned…!!!!
fixed all the errors and things which i could still many thing to go Remember that this is a all offine local tool some of the function is not working as intended (as some of the processing require large servers) { using server would ruin the project as it is made by keeping privacy in mind} still tried to fix…!!
Honestly, I just spent about 4 hours bashing my head against a wall trying to figure out how to build a 100% offline, free Canva alternative from scratch. It felt downright impossible, and after trying everything I could think of, I have to admit I just don’t have the technical chops to pull off a fully local build right now. Definitely something I want to tackle again in the future once I learn more. For now, huge shoutout to the OpenDesign project by clawnify( https://github.com/clawnify/OpenDesign ). I ended up integrating their open-source project to power the editor here. Important heads-up: Because this setup relies on a server, it is not 100% local. If you’re working with private or confidential files, please make sure to delete your projects when you’re done so nobody else can see them. On the bright side, I did get the background remover working completely offline! It runs 100% locally using an in-browser AI model. The only catch is that on the first run, it has to download a ~300–500MB model file once. After that initial download, it processes everything right on your machine.
Ships:
Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed.
I made PDFTools to do basic PDF tasks in one place. You can merge and split PDFs, convert them to images, add text, and use OCR to read text from images. The hardest part was getting the different tools to work properly in the browser. I’m proud that the files are processed on the user’s device instead of being uploaded to my server. I also added separate pages and emoji buttons to make it easier to use. You can try it using the project link!
this ship is not a major change but somebody said the most people think about something is the attention to detail/ the small thing and changes..!! still i tried my best to add the details i can add, everything i know that feels missing. some may recomend me that add some images but the actual problem is i want to make the site as light weight as i can so i used emojis instead of images..!! and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)
🚢 Shipped: PDFTools & OpenDesign (100% Client-Side Privacy Suite) — I just launched PDFTools, a completely offline, browser-based utility suite featuring the OpenDesign Studio for visual canvas editing and document signing, along with local PDF merging, splitting, OCR text extraction, structure compression, and client-side format conversion. The core philosophy here is zero-knowledge privacy: not a single byte ever leaves your machine, ensuring sensitive documents are never uploaded to remote third-party servers. While certain experimental features like large media transcoding and heavy AI background removal push browser memory limits and may not function as seamlessly as they would on dedicated cloud farms, relying strictly on client-side WebAssembly was an intentional, non-negotiable architectural decision to protect your data sovereignty and guarantee absolute privacy.
PDFTools is a client-side web application designed to run entirely in the browser without server-side processing for its core file utilities. It provides an all-in-one suite of tools including PDF merging, single-page splitting, PDF-to-JPG conversion, password removal, document protection/encryption, page rotation, and stream-based document compression using pdf-lib and pdf.js. Additionally, it features OCR text extraction powered by tesseract.js, universal media and format conversions using WebAssembly-based FFmpeg, in-browser AI-driven background removal via Transformers.js ( @bg0 /browser), and client-side audio noise cleaning using the Web Audio API. The interface includes customizable themes, drag-and-drop file upload zones, audio click feedback, and an embedded iframe hosting the OpenDesign/Tela canvas editor for rich, interactive layout and document design....
|
1793688674.0586848
|
1793775074.0586848
|
|
69199
|
Personal Site by @nityantakaul99 | Stardance
|
nityantakaul99
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Personal Site by @nityantakaul99 | Stardanc Title: Personal Site by @nityantakaul99 | Stardance...
|
1793760857.729629
|
1794365657.729629
|
|
69198
|
My very own WebOS by @Mysha | Stardance
|
Mysha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Mysha | Stardance
|
1793760853.4475129
|
1794365653.4475129
|
|
69197
|
My first slack bot! by @bidhan_kharel07 | Stardanc My first slack bot! by @bidhan_kharel07 | Stardance...
|
bidhan_kharel07
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @bidhan_kharel07 | S Title: My first slack bot! by @bidhan_kharel07 | Stardance...
|
1793760849.1082473
|
1794365649.1082473
|
|
69196
|
Mo_ by @kaustubh98135 | Stardance
|
kaustubh98135
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Mo_ by @kaustubh98135 | Stardance
|
1793760844.2800536
|
1794365644.2800536
|
|
69195
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793764379.6018505
|
1794628379.6018505
|
|
69194
|
My first slack bot! by @visvakrs | Stardance
|
visvakrs
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @visvakrs | Stardanc Title: My first slack bot! by @visvakrs | Stardance...
|
1793760842.528821
|
1794365642.528821
|