|
55617
|
Dheeyudha by @kpk22128 | Stardance
|
kpk22128
|
1
|
16.32
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T17:03:33Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built dheeyudhha, a gamified learning platform with a next.js web dashboard and a react native mobile app. the main feature i shipped today is a live AI coach that helps you step-by-step when you get stuck on a question, and it can even grade handwritten answers! The mobile app layout was super annoying to get right. i spent hours trying to fix this weird bug where my floating AI coach button kept getting hidden behind the react navigation stack whenever i switched screens. getting the transparent bottom sheet modal to pop up smoothly with the keyboard without blocking the text input was also a huge pain. Definitely the AI integration! i managed to completely rip out my old gemini setup and switch the whole backend to use azure openai so the tutor is much smarter now. i’m also really proud of how the bottom sheet UI for the AI chat turned out—it looks super clean and feels like a premium native app. if you want to test the AI coach on the mobile app, just tap the floating sparkles icon at the bottom! if you try to run the backend locally, make sure you add the azure openai keys to your env file, otherwise just use the live vercel link provided to test it.", "repo": "https://github.com/priyanshusingh1234/Manthan-beta", "demo": "https://manthan-beta-c975.vercel.app/"}]...
|
[{"post_id": 69508, "ts": "202 [{"post_id": 69508, "ts": "2026-09-17T06:24:02Z", "hours": 13.3217, "text": "finally submitting my app."}, {"post_id": 60945, "ts": "2026-09-03T16:55:01Z", "hours": 1.2764, "text": "Finally i am going to ship my first project. I hope people will like it."}, {"post_id": 60753, "ts": "2026-09-03T10:08:02Z", "hours": 0.6531, "text": "Google updated their gemini api format ERROR: This model models/gemini-2.5-flash is no longer available to new users. Please update your code to use models/gemini-3.6-flash"}, {"post_id": 60725, "ts": "2026-09-03T09:07:11Z", "hours": 0.2883, "text": "made a web for my idea too."}, {"post_id": 60061, "ts": "2026-09-02T05:33:37Z", "hours": 0.5725, "text": "Working on secure api to make it secure ."}, {"post_id": 59692, "ts": "2026-09-01T16:48:01Z", "hours": 0.5997, "text": "Changing the game of indian edtech"}]...
|
Title: Dheeyudha by @kpk22128 | Stardance
Devlogs Title: Dheeyudha by @kpk22128 | Stardance
Devlogs:
Changing the game of indian edtech
Working on secure api to make it secure .
made a web for my idea too.
Google updated their gemini api format ERROR: This model models/gemini-2.5-flash is no longer available to new users. Please update your code to use models/gemini-3.6-flash
Finally i am going to ship my first project. I hope people will like it.
finally submitting my app.
Ships:
I built dheeyudhha, a gamified learning platform with a next.js web dashboard and a react native mobile app. the main feature i shipped today is a live AI coach that helps you step-by-step when you get stuck on a question, and it can even grade handwritten answers! The mobile app layout was super annoying to get right. i spent hours trying to fix this weird bug where my floating AI coach button kept getting hidden behind the react navigation stack whenever i switched screens. getting the transparent bottom sheet modal to pop up smoothly with the keyboard without blocking the text input was also a huge pain. Definitely the AI integration! i managed to completely rip out my old gemini setup and switch the whole backend to use azure openai so the tutor is much smarter now. i’m also really proud of how the bottom sheet UI for the AI chat turned out—it looks super clean and feels like a premium native app. if you want to test the AI coach on the mobile app, just tap the floating sparkles icon at the bottom! if you try to run the backend locally, make sure you add the azure openai keys to your env file, otherwise just use the live vercel link provided to test it....
|
1793134206.490765
|
1793220606.490765
|
|
37824
|
WarioWare Game by @Dimeji | Stardance
|
Dimeji
|
1
|
16.62
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T16:40:35Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a warioware game in godot using the guide. The most challenging part was the third game and to an extent the failure screen that was supposed to show when you ran out of lives. Not much to know to use it just the link is sufficient.", "repo": "https://github.com/Dimeji0/Mariowaregame", "demo": "https://d1meji-0.itch.io/mairoware-micheal-game"}]...
|
[{"post_id": 62488, "ts": "202 [{"post_id": 62488, "ts": "2026-09-05T21:19:06Z", "hours": 1.6247, "text": "I had this returned because apparently there was a bug where you could walk through the walls in the third minigame apparently my fault for relying on parallax for my walls movement but did end up changing from a static body node to an animatable node and few minor changes later, its fixed I believe. While I was at it I I replaced the settings button that led nowhere and put something with actual value a scene explaining the objective of each minigame and the controls, I got some feedback that it wasn’t clear and some people thought it was bugged"}, {"post_id": 60918, "ts": "2026-09-03T16:05:23Z", "hours": 0.2683, "text": "Finally published to itch."}, {"post_id": 60799, "ts": "2026-09-03T12:11:45Z", "hours": 4.1644, "text": "This third minigame has been the most difficult and mind boggling part of this project. For some reason colliding with the walls wasn’t giving me the desired result and reducing points. It took serious counsel from a guy on reddit and then a random change i thought of trying that finally fixed it, but now here we have a game where instead of like the rest you had to complete a goal before time runs out by collecting things now you have to avoid everything till the time runs out."}, {"post_id": 60358, "ts": "2026-09-02T17:23:51Z", "hours": 3.6408, "text": "I programmed the winning and death screens. For several hours I got stuck here because for some reason the button wasn’t working, eventually turned out it was just the conditions to go there hadnt changed when i clicked the button so it sent me back, just need to make one more minigame"}, {"post_id": 47657, "ts": "2026-08-15T18:15:04Z", "hours": 1.9092, "text": "Ok, so for the longest time I kept getting some ’Attempt to call function ‘overlaps_area’ in base “null instance” on a null instance. Could not figure out where I went wrong for the longest time, turns out I had A). skipped out on a part of the instructions by accident and B). put 3 dots instead of 2 which screwed me over, but fixed now"}, {"post_id": 47427, "ts": "2026-08-15T11:01:14Z", "hours": 2.6953, "text": "Started on the platform portion so its really coming together now. I am wondering how the points and stuff aspect of it is gonna work, I made a character a pixelated screenshot of my friend, not sure what made the weird outline that sticks out might try to fix it, or leave it for the sake of whimsy"}, {"post_id": 33029, "ts": "2026-07-22T16:12:47Z", "hours": 1.9358, "text": "Ok so far all I have managed to complete is the title page. I had a bit of a problem where the guide told me to set the title and it would just be both too grainy/low quality AND too large, but I enabled msdf and adjusted the size and that seemed to get things sorted. Using a pic of a friend of mine for the jokes. As usual getting hackatime working was a bit of a pain because it wasn’t in the asset library but first part done. Woo!"}]...
|
Title: WarioWare Game by @Dimeji | Stardance
Devl Title: WarioWare Game by @Dimeji | Stardance
Devlogs:
Ok so far all I have managed to complete is the title page. I had a bit of a problem where the guide told me to set the title and it would just be both too grainy/low quality AND too large, but I enabled msdf and adjusted the size and that seemed to get things sorted. Using a pic of a friend of mine for the jokes. As usual getting hackatime working was a bit of a pain because it wasn’t in the asset library but first part done. Woo!
Started on the platform portion so its really coming together now. I am wondering how the points and stuff aspect of it is gonna work, I made a character a pixelated screenshot of my friend, not sure what made the weird outline that sticks out might try to fix it, or leave it for the sake of whimsy
Ok, so for the longest time I kept getting some ’Attempt to call function ‘overlaps_area’ in base “null instance” on a null instance. Could not figure out where I went wrong for the longest time, turns out I had A). skipped out on a part of the instructions by accident and B). put 3 dots instead of 2 which screwed me over, but fixed now
I programmed the winning and death screens. For several hours I got stuck here because for some reason the button wasn’t working, eventually turned out it was just the conditions to go there hadnt changed when i clicked the button so it sent me back, just need to make one more minigame
This third minigame has been the most difficult and mind boggling part of this project. For some reason colliding with the walls wasn’t giving me the desired result and reducing points. It took serious counsel from a guy on reddit and then a random change i thought of trying that finally fixed it, but now here we have a game where instead of like the rest you had to complete a goal before time runs out by collecting things now you have to avoid everything till the time runs out.
Finally published to itch.
I had this returned because apparently there was a bug where you could walk through the walls in the third minigame apparently my fault for relying on parallax for my walls movement but did end up changing from a static body node to an animatable node and few minor changes later, its fixed I believe. While I was at it I I replaced the settings button that led nowhere and put something with actual value a scene explaining the objective of each minigame and the controls, I got some feedback that it wasn’t clear and some people thought it was bugged
Ships:
I built a warioware game in godot using the guide. The most challenging part was the third game and to an extent the failure screen that was supposed to show when you ran out of lives. Not much to know to use it just the link is sufficient....
|
1793296591.1686409
|
1793382991.1686409
|
|
56384
|
Recipe Finder by @Vigaash | Stardance
|
Vigaash
|
1
|
5.0
|
29
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T15:51:06Z", "hours": 5.0, "multiplier": 5.46, "payout": 29, "blessing": "neutral", "text": "I made the Recipe Finder, a place to find all of your cravings. Dive in to start your cooking journey! It was built using HTML, Javascript, CSS, and too much food knowledge. Currently, there are two pages that are active. The pages are: Recipe Finder, and Ingredient Recipe Finder. The thing that I found challenging was trying to use an API for the first time, especially trying to reference it. I eventually was able to solve this by using localstorgae and the fetch function. More thorough details are in my Readme! Hope you guys like it! Link: https://vigaash-lingeswaran.github.io/Recipe-Finder/", "repo": "https://github.com/Vigaash-Lingeswaran/Recipe-Finder", "demo": "https://vigaash-lingeswaran.github.io/Recipe-Finder/"}]...
|
[{"post_id": 59318, "ts": "202 [{"post_id": 59318, "ts": "2026-09-01T01:26:04Z", "hours": 2.2667, "text": "Hey guys! I have been working a lot on the Recipe Finder. Here’s what I have done: I started off by starting the second page of the site. This is a platform where you can search the recipes you have, and based on the answer, the platform will give you a suitable recipe. The challenging part for this was that I couldn’t find an API that was free. To solve this problem, I had to input all of the recipes into an array and then use the filter and sort functions to see what ingredients from the query match the recipe. This was a little hard because inputting all of those recipes by hand was a little hard, but I was able to find a website that had these short recipes that I modified. Next steps would be to finish of polishing the whole website."}, {"post_id": 58978, "ts": "2026-08-31T15:35:38Z", "hours": 2.0033, "text": "Hey guys! I have been working a lot on the Recipe finder. Here’s what I have done so far. I started off by finishing the first page by creating all of the styles. I wanted to go for a look that organizes the recipes into boxes, and the overall design should be pretty minimalistic. The only part of this that was challenging was trying to figure out whether I wanted a dark aesthetic or light aesthetic. After that, I also started the second part of the recipe finder, which would allow the user to be able to find recipes based on a list of ingredients they have. This is proving to be a little difficult because I can use the same API for this, but that limits me to only having one main ingredient, so I might have to look into another way to do such. Next steps would be to figure out a way to integrate multiple ingredients into the search query."}, {"post_id": 58311, "ts": "2026-08-30T18:01:53Z", "hours": 1.0725, "text": "Hey guys! This is my first devlog for the Recipe finder. I wanted to make a website for finding any recipe on hand that would also be able to find videos as well as other sources for the food. For this, I knew I needed to use an API, so I started off by creating the first layout of the page. I decided to work on the styles after I got the logic of the website down. After the HTML setup, I moved onto the actual logic of the app. This was challenging for me because I had never used an API before, so I had to do some research before getting started. After that, I used localstorage to just load up an existing recipe. After this, I used the query function to actually start finding recipes. This was also challenging for me because I had to figure out where to implement the results from the API, which is where I learned to use the .join function for combining strings. Next steps would be to make the website look better, and maybe even add a seperate page for trying to make recipes using ingredients in your fridge."}]...
|
Title: Recipe Finder by @Vigaash | Stardance
Devl Title: Recipe Finder by @Vigaash | Stardance
Devlogs:
Hey guys! This is my first devlog for the Recipe finder. I wanted to make a website for finding any recipe on hand that would also be able to find videos as well as other sources for the food. For this, I knew I needed to use an API, so I started off by creating the first layout of the page. I decided to work on the styles after I got the logic of the website down. After the HTML setup, I moved onto the actual logic of the app. This was challenging for me because I had never used an API before, so I had to do some research before getting started. After that, I used localstorage to just load up an existing recipe. After this, I used the query function to actually start finding recipes. This was also challenging for me because I had to figure out where to implement the results from the API, which is where I learned to use the .join function for combining strings. Next steps would be to make the website look better, and maybe even add a seperate page for trying to make recipes using ingredients in your fridge.
Hey guys! I have been working a lot on the Recipe finder. Here’s what I have done so far. I started off by finishing the first page by creating all of the styles. I wanted to go for a look that organizes the recipes into boxes, and the overall design should be pretty minimalistic. The only part of this that was challenging was trying to figure out whether I wanted a dark aesthetic or light aesthetic. After that, I also started the second part of the recipe finder, which would allow the user to be able to find recipes based on a list of ingredients they have. This is proving to be a little difficult because I can use the same API for this, but that limits me to only having one main ingredient, so I might have to look into another way to do such. Next steps would be to figure out a way to integrate multiple ingredients into the search query.
Hey guys! I have been working a lot on the Recipe Finder. Here’s what I have done: I started off by starting the second page of the site. This is a platform where you can search the recipes you have, and based on the answer, the platform will give you a suitable recipe. The challenging part for this was that I couldn’t find an API that was free. To solve this problem, I had to input all of the recipes into an array and then use the filter and sort functions to see what ingredients from the query match the recipe. This was a little hard because inputting all of those recipes by hand was a little hard, but I was able to find a website that had these short recipes that I modified. Next steps would be to finish of polishing the whole website.
Ships:
I made the Recipe Finder, a place to find all of your cravings. Dive in to start your cooking journey! It was built using HTML, Javascript, CSS, and too much food knowledge. Currently, there are two pages that are active. The pages are: Recipe Finder, and Ingredient Recipe Finder. The thing that I found challenging was trying to use an API for the first time, especially trying to reference it. I eventually was able to solve this by using localstorgae and the fetch function. More thorough details are in my Readme! Hope you guys like it! Link: https://vigaash-lingeswaran.github.io/Recipe-Finder/...
|
1793303357.471394
|
1793389757.471394
|
|
49614
|
glitchyOS by @dee27 | Stardance
|
dee27
|
1
|
4.16
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T15:15:08Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "built a custom webOS desktop with multiple windows you can drag around. gonna add some more apps and unique glitches later", "repo": "https://github.com/deepakverma-afk/glitchyOS", "demo": "https://deepakverma-afk.github.io/glitchyOS/"}]...
|
[{"post_id": 61354, "ts": "202 [{"post_id": 61354, "ts": "2026-09-04T07:14:36Z", "hours": 1.1617, "text": "fixed bugs and added some glitches use command “glitch” in terminal for some epic glitches"}, {"post_id": 60886, "ts": "2026-09-03T15:06:29Z", "hours": 1.1306, "text": "fixed some bugs shipping the project. gonna add few more apps and glitches later."}, {"post_id": 57961, "ts": "2026-08-30T09:22:41Z", "hours": 0.4431, "text": "Day 3 fixed some bugs, windows and icons are now draggable"}, {"post_id": 55550, "ts": "2026-08-27T14:02:08Z", "hours": 1.2822, "text": "added topbar, live clock and a wallpaper. font switched to jetbrains mono, learning abt css classes and variables. started building my first app."}, {"post_id": 49484, "ts": "2026-08-18T11:02:26Z", "hours": 0.3939, "text": "started making glitchyOS today, used ai to get basic preview, gonna rewrite the whole thing manually later"}]...
|
Title: glitchyOS by @dee27 | Stardance
Devlogs:
s Title: glitchyOS by @dee27 | Stardance
Devlogs:
started making glitchyOS today, used ai to get basic preview, gonna rewrite the whole thing manually later
added topbar, live clock and a wallpaper. font switched to jetbrains mono, learning abt css classes and variables. started building my first app.
Day 3 fixed some bugs, windows and icons are now draggable
fixed some bugs shipping the project. gonna add few more apps and glitches later.
fixed bugs and added some glitches use command “glitch” in terminal for some epic glitches
Ships:
built a custom webOS desktop with multiple windows you can drag around. gonna add some more apps and unique glitches later...
|
1793292659.5717375
|
1793379059.5717375
|
|
54730
|
Happy Eid 2026 website by @AbdElrahman | Stardance
|
AbdElrahman
|
1
|
4.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T15:04:59Z", "hours": 4.0, "multiplier": 1.05, "payout": 4, "blessing": "neutral", "text": "It is just a simple website to celebrate Eid", "repo": "https://github.com/Abdoaref739/happy-Eid-2026-website", "demo": "https://abdoaref739.github.io/happy-Eid-2026-website/"}]...
|
[{"post_id": 60880, "ts": "202 [{"post_id": 60880, "ts": "2026-09-03T15:01:59Z", "hours": 3.8511, "text": "project completed"}]...
|
Title: Happy Eid 2026 website by @AbdElrahman | St Title: Happy Eid 2026 website by @AbdElrahman | Stardance
Devlogs:
project completed
Ships:
It is just a simple website to celebrate Eid...
|
1793260273.8884575
|
1793346673.8884575
|
|
57478
|
Artonian by @PrakstheBruce | Stardance
|
PrakstheBruce
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T15:04:52Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a Simple yet functional Website named - Artonian, which is a website which displays the Cosmic updates of NASA, for any date, and allows you to make a small collection/archive of your favorite updates! I followed the Hackclub Guide for the code base and I am really proud of learning the integration of Github Actions to automate the git commits and processes, which also was my most challenging part, were I encountered a few errors in the console of my web app. I finally found out the source and resolved the bug. I learned a lot about CSS and HTML basics coupled with Javascript development prerquisites! A whole lot thanks to my friends on reddit and GeeksForGeeks Reference codes that helped me a lot with the modifications!!", "repo": "https://github.com/praksthebruce/artoinan", "demo": "https://artonian.netlify.app"}]...
|
[{"post_id": 60290, "ts": "202 [{"post_id": 60290, "ts": "2026-09-02T15:47:34Z", "hours": 1.7894, "text": "😊Helloo people!! I just wrapped up with my Nasa website modifications of my Own!!….Artonian is a simple Nasa website that shows/updates you with the Photo of the day and fact of any date that you want, and has a custom archive for you to just save you fav archive…."}]...
|
Title: Artonian by @PrakstheBruce | Stardance
Dev Title: Artonian by @PrakstheBruce | Stardance
Devlogs:
😊Helloo people!! I just wrapped up with my Nasa website modifications of my Own!!….Artonian is a simple Nasa website that shows/updates you with the Photo of the day and fact of any date that you want, and has a custom archive for you to just save you fav archive….
Ships:
I have made a Simple yet functional Website named - Artonian, which is a website which displays the Cosmic updates of NASA, for any date, and allows you to make a small collection/archive of your favorite updates! I followed the Hackclub Guide for the code base and I am really proud of learning the integration of Github Actions to automate the git commits and processes, which also was my most challenging part, were I encountered a few errors in the console of my web app. I finally found out the source and resolved the bug. I learned a lot about CSS and HTML basics coupled with Javascript development prerquisites! A whole lot thanks to my friends on reddit and GeeksForGeeks Reference codes that helped me a lot with the modifications!!...
|
1793281963.6522415
|
1793368363.6522415
|
|
57563
|
Tree Guesser by @vaiskiainen | Stardance
|
vaiskiainen
|
1
|
6.0
|
17
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T15:04:02Z", "hours": 6.0, "multiplier": 5.46, "payout": 17, "blessing": "neutral", "text": "🌲 Tree Guesser This is a pretty simple game made for me to study for a test. In the game you are presented with images of a tree and you have to pick the correct option on what the tree is.", "repo": "https://github.com/Vaiskiainen/tree-guesser", "demo": "https://tree-guesser.pages.dev/"}]...
|
[{"post_id": 60863, "ts": "202 [{"post_id": 60863, "ts": "2026-09-03T14:22:51Z", "hours": 0.8089, "text": "soo.. uhh.. I made the order randomized and added english translations. Almost ready to ship. Also huge credits to my biology teacher for these images"}, {"post_id": 60444, "ts": "2026-09-02T19:37:19Z", "hours": 0.8333, "text": "I made this really simple UI for the app. It’s currently only in finnish but I’ll also translate it to english eventually"}, {"post_id": 60399, "ts": "2026-09-02T18:16:42Z", "hours": 4.5744, "text": "I’m just getting started on this project (idk why tf is says 4.5h) and nothing yet really. I will probably be using some AI for this since I need to actually also study"}]...
|
Title: Tree Guesser by @vaiskiainen | Stardance
D Title: Tree Guesser by @vaiskiainen | Stardance
Devlogs:
I’m just getting started on this project (idk why tf is says 4.5h) and nothing yet really. I will probably be using some AI for this since I need to actually also study
I made this really simple UI for the app. It’s currently only in finnish but I’ll also translate it to english eventually
soo.. uhh.. I made the order randomized and added english translations. Almost ready to ship. Also huge credits to my biology teacher for these images
Ships:
🌲 Tree Guesser This is a pretty simple game made for me to study for a test. In the game you are presented with images of a tree and you have to pick the correct option on what the tree is....
|
1792878554.0803933
|
1793742554.0803933
|
|
57497
|
Ronaldo by @neetyan | Stardance
|
neetyan
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T15:01:18Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What I Made I built a custom WebOS web page with multiple working draggable windows, giving it a unique visual style so it doesn’t look like a copy of the guide. What Was Challenging Getting the dragging physics and window layering to feel smooth was definitely the hardest part, especially making sure windows didn’t glitch out or overlap weirdly while moving them around. What I’m Proud Of I’m super happy with how clean the multi-window layout turned out and that I got my extra custom feature running without breaking the rest of the site. Testing Instructions No password required! Just open up the project link, click and drag any window to move it around, and test out the interactive features directly in your browser.", "repo": "https://www.github.com/neetyan56-gif/Ronaldo", "demo": "https://8j4fs036-5500.use.devtunnels.ms/"}]...
|
[{"post_id": 60873, "ts": "202 [{"post_id": 60873, "ts": "2026-09-03T14:57:19Z", "hours": 0.2653, "text": "Finished the apps also this thing is broken i have been working for 3 hours and it says 1 :( any way its not the best but its for web os 1"}, {"post_id": 60838, "ts": "2026-09-03T13:47:14Z", "hours": 0.4897, "text": "Added some draggable images and app icons will probably add a few more apps and some playable games."}, {"post_id": 60401, "ts": "2026-09-02T18:19:17Z", "hours": 0.3406, "text": "Ronaldo OS still needs lot of work but looking for suggestions"}]...
|
Title: Ronaldo by @neetyan | Stardance
Devlogs:
R Title: Ronaldo by @neetyan | Stardance
Devlogs:
Ronaldo OS still needs lot of work but looking for suggestions
Added some draggable images and app icons will probably add a few more apps and some playable games.
Finished the apps also this thing is broken i have been working for 3 hours and it says 1 :( any way its not the best but its for web os 1
Ships:
What I Made I built a custom WebOS web page with multiple working draggable windows, giving it a unique visual style so it doesn’t look like a copy of the guide. What Was Challenging Getting the dragging physics and window layering to feel smooth was definitely the hardest part, especially making sure windows didn’t glitch out or overlap weirdly while moving them around. What I’m Proud Of I’m super happy with how clean the multi-window layout turned out and that I got my extra custom feature running without breaking the rest of the site. Testing Instructions No password required! Just open up the project link, click and drag any window to move it around, and test out the interactive features directly in your browser....
|
1793282013.4024467
|
1793368413.4024467
|
|
55724
|
Portfolio Webpage by @PiGuy141 | Stardance
|
PiGuy141
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T15:00:12Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I completed making my portfolio page. It was kinda fun and i tried my best to make it look good as im not a UI designer. I have used AI only for some text content and helper functions. Not much to see but I hope you guys like it!", "repo": "https://github.com/prasadbahekar/prasadbahekar.github.io", "demo": "https://prasadbahekar.github.io/"}]...
|
[{"post_id": 60868, "ts": "202 [{"post_id": 60868, "ts": "2026-09-03T14:41:21Z", "hours": 2.4214, "text": "Day 5 - 6: Created Info Page I have now completed the whole webpage. The info page has been added which contains five sections: Hero About Me Skills Ongoing Project Footer Time Distribution: 0h 20m: Hero Section 1h 10m: Skills Section 0h 30m: About Me Section 0h 30m: Ongoing Project Section"}, {"post_id": 60118, "ts": "2026-09-02T08:59:49Z", "hours": 2.5261, "text": "Day 3 - 4: Footer and Finishing Touches I added the footer section and made it responsive. Then I fixed other small bugs which were of UI and React. Lastly I made the UI a bit better by adding smooth scroll and made most of the buttons work. I have started making the info section. Time Distribution: 0h 40m: Footer Section 0h 10m: Making it Responsive 0h 10m: Fixing other minor bugs 0h 50m: Making some changes to UI 0h 40m: Started Info Section"}, {"post_id": 58718, "ts": "2026-08-31T08:17:19Z", "hours": 2.0739, "text": "Day 2: Works Section I created the works section where i have currently added 3 projects of mine. There is a unique color for each gradient hover effect in each project. Time Distribution: 1h 00m: Base output created 0h 20m: Refactor into multiple components 0h 20m: Add Responsiveness 0h 20m: Fix bugs"}, {"post_id": 57273, "ts": "2026-08-29T11:43:10Z", "hours": 2.2428, "text": "Day 1: Setup Started with my portfolio page, nothing too crazy. but why tf does ts look like some AI Slop 😭 2 Hours Distribution: 0h 30m: Vite + React setup and package installation. 0h 30m: Navbar created 0h 40m: Hero page created 0h 20m: Added responsiveness"}]...
|
Title: Portfolio Webpage by @PiGuy141 | Stardance
Title: Portfolio Webpage by @PiGuy141 | Stardance
Devlogs:
Day 1: Setup Started with my portfolio page, nothing too crazy. but why tf does ts look like some AI Slop 😭 2 Hours Distribution: 0h 30m: Vite + React setup and package installation. 0h 30m: Navbar created 0h 40m: Hero page created 0h 20m: Added responsiveness
Day 2: Works Section I created the works section where i have currently added 3 projects of mine. There is a unique color for each gradient hover effect in each project. Time Distribution: 1h 00m: Base output created 0h 20m: Refactor into multiple components 0h 20m: Add Responsiveness 0h 20m: Fix bugs
Day 3 - 4: Footer and Finishing Touches I added the footer section and made it responsive. Then I fixed other small bugs which were of UI and React. Lastly I made the UI a bit better by adding smooth scroll and made most of the buttons work. I have started making the info section. Time Distribution: 0h 40m: Footer Section 0h 10m: Making it Responsive 0h 10m: Fixing other minor bugs 0h 50m: Making some changes to UI 0h 40m: Started Info Section
Day 5 - 6: Created Info Page I have now completed the whole webpage. The info page has been added which contains five sections: Hero About Me Skills Ongoing Project Footer Time Distribution: 0h 20m: Hero Section 1h 10m: Skills Section 0h 30m: About Me Section 0h 30m: Ongoing Project Section
Ships:
I completed making my portfolio page. It was kinda fun and i tried my best to make it look good as im not a UI designer. I have used AI only for some text content and helper functions. Not much to see but I hope you guys like it!...
|
1793252904.1783683
|
1793339304.1783683
|
|
57775
|
Slackey by @nithish1201 | Stardance
|
nithish1201
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T14:12:02Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a basic slack bot with time, dice roll, 8ball and joke fetching via api functionality. it was my first time coding in js and dealing with bot hosting in general. my friend had a vps lying around so i decided to use that instead of nest, which proved to be a little difficult setting up the services and all, but i pulled through and i learned a lot along the way.", "repo": "https://github.com/Nithish1201-code/slackey-bot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354?"}]...
|
[{"post_id": 60845, "ts": "202 [{"post_id": 60845, "ts": "2026-09-03T14:01:51Z", "hours": 1.175, "text": "This is a pretty short project so i decided to only post one devlog. I was completely new to bot hosting and nodejs so i took the time to learn and experiment before I finished this bot. its just a basic bot with api calling functionality for jokes."}]...
|
Title: Slackey by @nithish1201 | Stardance
Devlog Title: Slackey by @nithish1201 | Stardance
Devlogs:
This is a pretty short project so i decided to only post one devlog. I was completely new to bot hosting and nodejs so i took the time to learn and experiment before I finished this bot. its just a basic bot with api calling functionality for jokes.
Ships:
I made a basic slack bot with time, dice roll, 8ball and joke fetching via api functionality. it was my first time coding in js and dealing with bot hosting in general. my friend had a vps lying around so i decided to use that instead of nest, which proved to be a little difficult setting up the services and all, but i pulled through and i learned a lot along the way....
|
1792842490.476658
|
1793706490.476658
|
|
55078
|
Do you want the house tour? by @perr | Stardance
|
perr
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T14:06:13Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made perr.dev my personal site. it quite simple for now contain my contacts my projects. it also has a chagee receipt which display the latest chagee order i had i thought it was really cool. it also got an animated favicon which i really love. there also a surprise when you. click on the apple in the footer 👀", "repo": "https://github.com/iluvicecream/housetour", "demo": "https://perr.dev/"}]...
|
[{"post_id": 59625, "ts": "202 [{"post_id": 59625, "ts": "2026-09-01T15:25:04Z", "hours": 0.3408, "text": "Pink goes good with green well after last devlog i decided that white is boring so i change my site background color to pink why pink? yk it pink why not? but well if there must be a reason it cuz there a stamp thing as my logo and it deep green so idk i just thought pink like it elphaba and glinda and well the outcome is good tbh anything is better than boring white"}, {"post_id": 59019, "ts": "2026-08-31T16:30:50Z", "hours": 4.7136, "text": "Chagee Together! so i make a new page in my personal site that am really proud that is chagee receipt umm so first of all chagee is a milktea brand and they have an app that you can order and it will have a history so i reverse engineer the app api which is quite hard as the app use flutter which doesn’t really want to work well with proxy so i try using tool that will force that but it doesn’t really work so am about give up but then i found out there a web version that also use flutter but the http request shown up in network tab so yea there that i map out the api format and stuff then i write a cloudflare worker that will request the api then forward it to the site the reason am not directly fetching api from the app in my site is just there auth token and am pretty sure (not tested yet) that you can just do a POST to api that order the drink so yea also from the last devlog to this one i have been reworking my personal site by : break up script and styling into smaller modular file use turbo frame for sidebar component new page structure with sidebar instead"}, {"post_id": 58314, "ts": "2026-08-30T18:08:35Z", "hours": 1.4622, "text": "Projects! i added a new page to my personal site that will display my projects at first i just make a list with clickable link seem okay at first but it just is too simple so i been trying some effect and shader but still doesn’t quite like it until i scroll on twitter and find a post about ibooks wood bookcase i was like that could work as a projects page for the implementation it just a picture with grid on top"}, {"post_id": 55663, "ts": "2026-08-27T17:00:36Z", "hours": 0.8136, "text": "my first personal site been writing a lot of web idk why i haven’t made a personal site yet but yea this mission is for that ig so just want to do something fun and found out that you can have an animated favicon on chrome with https://github.com/jcubic/favloader and for the index rn it just a placeholder with icon and text based on user time"}]...
|
Title: Do you want the house tour? by @perr | Star Title: Do you want the house tour? by @perr | Stardance
Devlogs:
my first personal site been writing a lot of web idk why i haven’t made a personal site yet but yea this mission is for that ig so just want to do something fun and found out that you can have an animated favicon on chrome with https://github.com/jcubic/favloader and for the index rn it just a placeholder with icon and text based on user time
Projects! i added a new page to my personal site that will display my projects at first i just make a list with clickable link seem okay at first but it just is too simple so i been trying some effect and shader but still doesn’t quite like it until i scroll on twitter and find a post about ibooks wood bookcase i was like that could work as a projects page for the implementation it just a picture with grid on top
Chagee Together! so i make a new page in my personal site that am really proud that is chagee receipt umm so first of all chagee is a milktea brand and they have an app that you can order and it will have a history so i reverse engineer the app api which is quite hard as the app use flutter which doesn’t really want to work well with proxy so i try using tool that will force that but it doesn’t really work so am about give up but then i found out there a web version that also use flutter but the http request shown up in network tab so yea there that i map out the api format and stuff then i write a cloudflare worker that will request the api then forward it to the site the reason am not directly fetching api from the app in my site is just there auth token and am pretty sure (not tested yet) that you can just do a POST to api that order the drink so yea also from the last devlog to this one i have been reworking my personal site by : break up script and styling into smaller modular file use turbo frame for sidebar component new page structure with sidebar instead
Pink goes good with green well after last devlog i decided that white is boring so i change my site background color to pink why pink? yk it pink why not? but well if there must be a reason it cuz there a stamp thing as my logo and it deep green so idk i just thought pink like it elphaba and glinda and well the outcome is good tbh anything is better than boring white
Ships:
I made perr.dev my personal site. it quite simple for now contain my contacts my projects. it also has a chagee receipt which display the latest chagee order i had i thought it was really cool. it also got an animated favicon which i really love. there also a surprise when you. click on the apple in the footer 👀...
|
1793282051.924663
|
1793368451.924663
|
|
57714
|
Vines Sans Showcase Website by @Visott | Stardance
|
Visott
|
1
|
4.0
|
33
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T13:40:08Z", "hours": 4.0, "multiplier": 7.56, "payout": 33, "blessing": "neutral", "text": "I made a website to showcase my Vines themed font! It has a marquee feature, a editable text box where you can tryout the font, and a grid to showcase all the glyphs that the font supports!", "repo": "https://github.com/VITNT/Vines-Sans", "demo": "https://vines-sans.vercel.app/"}]...
|
[{"post_id": 60828, "ts": "202 [{"post_id": 60828, "ts": "2026-09-03T13:35:00Z", "hours": 4.3697, "text": "Devlog #1 Context & What I built I made a website to showcase a font I drew using Calligraphr and ibis Paint. Unfortunately I didn’t use Lapse to record my font drawing process 😭 so I am unable to publish the font itself as a project. Process I learned how to add a editable text block using contenteditable=\"true\" within the div. I also learned how to add a coding snippet using <pre><code>...</code></pre>. Marquee Feature Since the marquee tag was deprecated, I built a marquee of text using an animation keyframe that I defined in CSS. I used white-space: no-wrap in order to stop the text in the marquee from wrapping and instead flow on one horizontal line. overflow-x: auto was used to fix a bug where the text would overflow to the right side of the screen. Bugs I ran into an issue where the vines background image in hero section was distracting and made the font unreadable. I fixed this by adding the linear gradient property to background in CSS. I initially deployed the website using Github pages, but I ran into a https issue that I wasn’t sure how to fix, so I decided to switch to Vercel deployment instead which was a lot more convenient and straightforward. Aesthetics I made the website transition from green (at the hero section) to brown (at the footer) to resemble the green grass and brown soil. I plan to make more fonts in the future!"}]...
|
Title: Vines Sans Showcase Website by @Visott | St Title: Vines Sans Showcase Website by @Visott | Stardance
Devlogs:
Devlog #1 Context & What I built I made a website to showcase a font I drew using Calligraphr and ibis Paint. Unfortunately I didn’t use Lapse to record my font drawing process 😭 so I am unable to publish the font itself as a project. Process I learned how to add a editable text block using contenteditable="true" within the div. I also learned how to add a coding snippet using <pre><code>...</code></pre>. Marquee Feature Since the marquee tag was deprecated, I built a marquee of text using an animation keyframe that I defined in CSS. I used white-space: no-wrap in order to stop the text in the marquee from wrapping and instead flow on one horizontal line. overflow-x: auto was used to fix a bug where the text would overflow to the right side of the screen. Bugs I ran into an issue where the vines background image in hero section was distracting and made the font unreadable. I fixed this by adding the linear gradient property to background in CSS. I initially deployed the website using Github pages, but I ran into a https issue that I wasn’t sure how to fix, so I decided to switch to Vercel deployment instead which was a lot more convenient and straightforward. Aesthetics I made the website transition from green (at the hero section) to brown (at the footer) to resemble the green grass and brown soil. I plan to make more fonts in the future!
Ships:
I made a website to showcase my Vines themed font! It has a marquee feature, a editable text box where you can tryout the font, and a grid to showcase all the glyphs that the font supports!...
|
1793299718.6458437
|
1793386118.6458437
|
|
56254
|
HoopsOS by @XDabXking | Stardance
|
XDabXking
|
1
|
20.32
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T13:40:06Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "HoopsOS is a basketball themed web OS I built with HTML, CSS, and JavaScript. It has a bunch of apps like a scoreboard, stat tracker, playbook, calculator, schedule, games, browser, terminal, weather, and more. I also added things like draggable windows, desktop widgets, customization, a taskbar, notifications, and a basketball-themed boot-up screen. The whole thing runs in your browser, so there’s nothing to install. It’s basically my take on what a basketball operating system could look like.", "repo": "https://github.com/madhavsingla2013-dev/HoopsOS", "demo": "https://hoops-os.netlify.app/"}]...
|
[{"post_id": 64346, "ts": "202 [{"post_id": 64346, "ts": "2026-09-08T17:25:54Z", "hours": 0.6758, "text": "Removed most of apps, backgrounds, styling, features etc, i kinda made the code really really simple bc ‘it looked to ai while other projects get nominated for super star and looked 100x better then my project’…"}, {"post_id": 64096, "ts": "2026-09-08T08:56:05Z", "hours": 2.7756, "text": "added new logos to the apps, to lazy to aline the logo for paint, fixed sm stuff, re wrote sm stuff, mosty the same drill, And i finally rolled a good number in the rng (1,755,790)"}, {"post_id": 63788, "ts": "2026-09-07T19:03:20Z", "hours": 1.7322, "text": "Put in a new color scheme, re wrote few lines, fixed few bugs and thats all"}, {"post_id": 63595, "ts": "2026-09-07T14:50:48Z", "hours": 1.1819, "text": "Ain’t no way i spent the last 5h of my life re writing css js for it to be called ai bc i removed few comments ages ago."}, {"post_id": 63005, "ts": "2026-09-06T15:55:29Z", "hours": 5.5192, "text": "i re did the full css fixed few bugs removed few animations and confetti, ya thats all"}, {"post_id": 61772, "ts": "2026-09-04T20:59:04Z", "hours": 3.4353, "text": "I didint do much, im re doing all the css and animatons as its getting flaged for ai, Back is 0%"}, {"post_id": 60809, "ts": "2026-09-03T12:50:48Z", "hours": 1.7614, "text": "RE WORKED EVERYTHINGGG!!!!! Soo i first added few more backgrounds from here added notifications, paint, Hoops Shootout, Weather, Browser(has few errors but ima lazy to fix them) AND I ADD (drumroll please)…. TERMINALLL. i also changed the gallery name to hall of fame and couldn’t fix the youtube api , And ya thats all i added few more stuff but yk im lazy ."}, {"post_id": 59801, "ts": "2026-09-01T18:57:11Z", "hours": 1.7478, "text": "I made bigger starting windows as stuff tends to cut of in the old size, Editable Schedule so its not a fixed one and has some use, Draggable desktop icons so u can now click and drag any icon on the desktop to reposition it, added a right click desktop menu with: Arrange icons Refresh New note Display settings or Personalize Settings Terminal (COMING SOON- i hope so) I need to fix few bugs with the background, add images to the player gallery and need to fix the youtube API"}, {"post_id": 59005, "ts": "2026-08-31T16:11:11Z", "hours": 1.4456, "text": "I added few more backgrounds, color customization and a mascot that follows your mouse or is roaming aroud, I also added few more apps and fixed few bug while trying to add few youtube videos"}, {"post_id": 58067, "ts": "2026-08-30T12:39:08Z", "hours": 0.4617, "text": "New projects called HoopsOS or HoopOS, made few apps and ya"}]...
|
Title: HoopsOS by @XDabXking | Stardance
Devlogs: Title: HoopsOS by @XDabXking | Stardance
Devlogs:
New projects called HoopsOS or HoopOS, made few apps and ya
I added few more backgrounds, color customization and a mascot that follows your mouse or is roaming aroud, I also added few more apps and fixed few bug while trying to add few youtube videos
I made bigger starting windows as stuff tends to cut of in the old size, Editable Schedule so its not a fixed one and has some use, Draggable desktop icons so u can now click and drag any icon on the desktop to reposition it, added a right click desktop menu with: Arrange icons Refresh New note Display settings or Personalize Settings Terminal (COMING SOON- i hope so) I need to fix few bugs with the background, add images to the player gallery and need to fix the youtube API
RE WORKED EVERYTHINGGG!!!!! Soo i first added few more backgrounds from here added notifications, paint, Hoops Shootout, Weather, Browser(has few errors but ima lazy to fix them) AND I ADD (drumroll please)…. TERMINALLL. i also changed the gallery name to hall of fame and couldn’t fix the youtube api , And ya thats all i added few more stuff but yk im lazy .
I didint do much, im re doing all the css and animatons as its getting flaged for ai, Back is 0%
i re did the full css fixed few bugs removed few animations and confetti, ya thats all
Ain’t no way i spent the last 5h of my life re writing css js for it to be called ai bc i removed few comments ages ago.
Put in a new color scheme, re wrote few lines, fixed few bugs and thats all
added new logos to the apps, to lazy to aline the logo for paint, fixed sm stuff, re wrote sm stuff, mosty the same drill, And i finally rolled a good number in the rng (1,755,790)
Removed most of apps, backgrounds, styling, features etc, i kinda made the code really really simple bc ‘it looked to ai while other projects get nominated for super star and looked 100x better then my project’…
Ships:
HoopsOS is a basketball themed web OS I built with HTML, CSS, and JavaScript. It has a bunch of apps like a scoreboard, stat tracker, playbook, calculator, schedule, games, browser, terminal, weather, and more. I also added things like draggable windows, desktop widgets, customization, a taskbar, notifications, and a basketball-themed boot-up screen. The whole thing runs in your browser, so there’s nothing to install. It’s basically my take on what a basketball operating system could look like....
|
1792878573.163178
|
1793742573.163178
|
|
57606
|
chasis-decoder by @hazypak | Stardance
|
hazypak
|
1
|
5.81
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T13:33:19Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I finally completed my web app , chasis decoder , that fetches info from rest API’s about a car from its VIN number", "repo": "https://github.com/hazypak/chassis-decoder", "demo": "https://chassis-decoder.vercel.app"}]...
|
[{"post_id": 61818, "ts": "202 [{"post_id": 61818, "ts": "2026-09-04T22:11:43Z", "hours": 0.8147, "text": "Re-did the readme , and fix some errors , removed ads aswell"}, {"post_id": 60490, "ts": "2026-09-02T21:10:52Z", "hours": 0.6075, "text": "started working on cleaning up chassis decoder since the initial codebase was generated by the manus agent and looked way too generic ai-styled fired up claude code on the desktop app with the design and code review plugins enabled to help strip out the bloat and push for a clean minimalist ui that isnt overwhelming and just focuses on inputting a vin and getting telemetry specs efficiently told it to strictly preserve the ad spaces without breaking the layout or logic and to scan for hydration errors and glitches while mapping out a step-by-step plan before touching the code coming together nicely cheerios"}, {"post_id": 60379, "ts": "2026-09-02T17:51:19Z", "hours": 4.5564, "text": "this was kind of a different project for me but felt pretty similar to an old side project i did for practice where i fetched info from public nasa apis to check mars weather conditions lol . for chassis decoder i hooked up rest apis and external databases to pull reliable vehicle specs engine telemetry and chassis info i even tried adding ads to monetize it but hit a wall with google adsense because it couldnt load my sitemaps properly so gotta debug that next well im always trying out new stuff ig ,cheerios!"}]...
|
Title: chasis-decoder by @hazypak | Stardance
Dev Title: chasis-decoder by @hazypak | Stardance
Devlogs:
this was kind of a different project for me but felt pretty similar to an old side project i did for practice where i fetched info from public nasa apis to check mars weather conditions lol . for chassis decoder i hooked up rest apis and external databases to pull reliable vehicle specs engine telemetry and chassis info i even tried adding ads to monetize it but hit a wall with google adsense because it couldnt load my sitemaps properly so gotta debug that next well im always trying out new stuff ig ,cheerios!
started working on cleaning up chassis decoder since the initial codebase was generated by the manus agent and looked way too generic ai-styled fired up claude code on the desktop app with the design and code review plugins enabled to help strip out the bloat and push for a clean minimalist ui that isnt overwhelming and just focuses on inputting a vin and getting telemetry specs efficiently told it to strictly preserve the ad spaces without breaking the layout or logic and to scan for hydration errors and glitches while mapping out a step-by-step plan before touching the code coming together nicely cheerios
Re-did the readme , and fix some errors , removed ads aswell
Ships:
I finally completed my web app , chasis decoder , that fetches info from rest API’s about a car from its VIN number...
|
1793292762.181818
|
1793379162.181818
|
|
52859
|
Starsimulation by @Dasher280I | Stardance
|
Dasher280I
|
1
|
26.0
|
271
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T13:05:12Z", "hours": 26.0, "multiplier": 10.38, "payout": 271, "blessing": "neutral", "text": "I built an interactive 2D particle simulator using HTML5 Canvas, Vanilla JavaScript, and CSS. It features a dynamic starfield that responds to clicks, touch inputs, and mouse movements with physical shockwaves, implosions, motion trails, and parallax depth. I also integrated real-time sound effects generated via the Web Audio API and added a live control panel to tweak physics and visual settings on the fly.", "repo": "https://github.com/Slasher22880011/Starsimulator", "demo": "https://slasher22880011.github.io/Starsimulator/"}]...
|
[{"post_id": 60644, "ts": "202 [{"post_id": 60644, "ts": "2026-09-03T04:23:54Z", "hours": 5.7631, "text": "In this update, the particle simulator received several key enhancements to boost visual depth and interactivity. Motion trails were introduced by rendering the canvas background with a semi-transparent alpha channel instead of a complete clear, leaving glowing paths behind moving particles. The physics engine now features a parallax depth effect where larger stars possess greater mass, causing them to react more dynamically to shockwaves than smaller background particles. Additionally, a new implosion mechanic was implemented—accessible via right-click or mobile touch controls—which draws particles inward rather than pushing them away, complete with customized boundary bouncing to keep stars on screen. To tie everything together, the Web Audio API synthesizer was upgraded to dynamically shift frequencies based on whether an explosion or an implosion is triggered, creating a fitting audio response for both actions."}, {"post_id": 60032, "ts": "2026-09-02T04:27:14Z", "hours": 5.2333, "text": "I’ve continued developing Star Simulation. There are now a few sliders at the bottom. The first slider lets you zoom out—showing more or fewer stars depending on the setting. You can make the stars colorful or white and add a faint Milky Way effect in the background. I ran into major issues with the zoom function; at one point, it stopped working entirely, and the stars would simply move at random without any input."}, {"post_id": 59375, "ts": "2026-09-01T04:25:09Z", "hours": 5.4667, "text": "The development of starsimulation is moving into the next phase. I’ve got the stars in place now—all colored, but with a feature where they change color whenever the game is reloaded. You can also adjust the speed at which the sound wave propagates, as well as the force with which it pushes the stars away. However, I ran into some major issues here: initially, the sound wave didn’t respond to the slider settings, and sometimes it would simply glide right through the colored stars instead of pushing them away."}, {"post_id": 58881, "ts": "2026-08-31T13:37:29Z", "hours": 4.8039, "text": "I’ve continued developing my project; there is now a proper shockwave that can be used to blast away the stars. Creating the shockwave itself only took about three hours, but the tricky part was splitting it into different rings. Right now, I have just one ring that actually pushes the stars away, while the other fingers are there purely for visual effect. It was actually quite difficult to implement, though, because at one point I ended up with a situation where either none of them did anything or all the rings pushed the stars away."}, {"post_id": 58122, "ts": "2026-08-30T14:02:07Z", "hours": 4.8275, "text": "I am developing “starsimulation.” Once it is finished, the program will allow you to click anywhere on the screen, triggering a shockwave that pushes the stars aside. So far, I have added the stars and ensured they make a bit of room around the mouse cursor. I struggled quite a bit to get the stars to spawn in different positions each time, rather than always appearing in the same spot."}]...
|
Title: Starsimulation by @Dasher280I | Stardance
Title: Starsimulation by @Dasher280I | Stardance
Devlogs:
I am developing “starsimulation.” Once it is finished, the program will allow you to click anywhere on the screen, triggering a shockwave that pushes the stars aside. So far, I have added the stars and ensured they make a bit of room around the mouse cursor. I struggled quite a bit to get the stars to spawn in different positions each time, rather than always appearing in the same spot.
I’ve continued developing my project; there is now a proper shockwave that can be used to blast away the stars. Creating the shockwave itself only took about three hours, but the tricky part was splitting it into different rings. Right now, I have just one ring that actually pushes the stars away, while the other fingers are there purely for visual effect. It was actually quite difficult to implement, though, because at one point I ended up with a situation where either none of them did anything or all the rings pushed the stars away.
The development of starsimulation is moving into the next phase. I’ve got the stars in place now—all colored, but with a feature where they change color whenever the game is reloaded. You can also adjust the speed at which the sound wave propagates, as well as the force with which it pushes the stars away. However, I ran into some major issues here: initially, the sound wave didn’t respond to the slider settings, and sometimes it would simply glide right through the colored stars instead of pushing them away.
I’ve continued developing Star Simulation. There are now a few sliders at the bottom. The first slider lets you zoom out—showing more or fewer stars depending on the setting. You can make the stars colorful or white and add a faint Milky Way effect in the background. I ran into major issues with the zoom function; at one point, it stopped working entirely, and the stars would simply move at random without any input.
In this update, the particle simulator received several key enhancements to boost visual depth and interactivity. Motion trails were introduced by rendering the canvas background with a semi-transparent alpha channel instead of a complete clear, leaving glowing paths behind moving particles. The physics engine now features a parallax depth effect where larger stars possess greater mass, causing them to react more dynamically to shockwaves than smaller background particles. Additionally, a new implosion mechanic was implemented—accessible via right-click or mobile touch controls—which draws particles inward rather than pushing them away, complete with customized boundary bouncing to keep stars on screen. To tie everything together, the Web Audio API synthesizer was upgraded to dynamically shift frequencies based on whether an explosion or an implosion is triggered, creating a fitting audio response for both actions.
Ships:
I built an interactive 2D particle simulator using HTML5 Canvas, Vanilla JavaScript, and CSS. It features a dynamic starfield that responds to clicks, touch inputs, and mouse movements with physical shockwaves, implosions, motion trails, and parallax depth. I also integrated real-time sound effects generated via the Web Audio API and added a live control panel to tweak physics and visual settings on the fly....
|
1792878636.8983781
|
1793742636.8983781
|
|
46734
|
My own site! by @aadistech1 | Stardance
|
aadistech1
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T13:00:23Z", "hours": 0.0, "multiplier": 1.0, "payout": 0, "blessing": "neutral", "text": "It was made before this challenge, i just made some css improvements and project updations", "repo": "https://github.com/aadistech1-glitch/mypersonalwebsite", "demo": "https://aadivinayak.tiiny.site"}]...
|
[{"post_id": 46324, "ts": "202 [{"post_id": 46324, "ts": "2026-08-13T13:57:50Z", "hours": 0.2981, "text": "The code is almost over.First i was planning to make a decoy website , then i thought i would make my own portfolio"}]...
|
Title: My own site! by @aadistech1 | Stardance
De Title: My own site! by @aadistech1 | Stardance
Devlogs:
The code is almost over.First i was planning to make a decoy website , then i thought i would make my own portfolio
Ships:
It was made before this challenge, i just made some css improvements and project updations...
|
1793289136.656789
|
1793375536.656789
|
|
33829
|
EyeQ by @Selim | Stardance
|
Selim
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T12:26:21Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Ive finally gotten to a point where im happy with what ive done and im also proud, even though I lost the hackathon, It was my first so I didn’t have any high expectations going into it. EyeQ is a gesture controlled visual assistant where you can draw, take photos, ask questions and more all without touching your laptop, I originally saw the use case for people with carpal tunnel or arthritis, where using a keyboard comes with daily challenges, although its far from polished im really happy for what this project stands for and hopefully fixes in the future!", "repo": "https://github.com/Echo-Sel/EyeQ", "demo": "https://github.com/Echo-Sel/EyeQ/releases/tag/v1.0.4"}]...
|
[{"post_id": 43612, "ts": "202 [{"post_id": 43612, "ts": "2026-08-08T23:50:09Z", "hours": 4.9667, "text": "Ive been mainly working on bug fixes and just making everything a lot smoother, ive been testing with other smaller QOL features such as voice commands and being able to interact with the UI using your hands, Can’t wait to see where this goes!"}, {"post_id": 26949, "ts": "2026-07-12T01:20:23Z", "hours": 1.9731, "text": "The hackathon is over now, that was one of the craziest grinds ive done in a really long time, but now that it’s over, it was pretty fun. New features: Tutorial and you get to pick between featherless.ai and claude api, I tuned all the gesture controls up so they work nicer, more gestures like zooming, photo capture, stop ai response. my future plans is going to be trying to shrink it down and fitting all in a pi or something mobile so that you can decipher what your looking at anywhere, no need for a laptop or keyboard!"}, {"post_id": 26891, "ts": "2026-07-11T22:56:30Z", "hours": 2.2789, "text": "These past few hours have genuinely been crazy, my code stopped worked, worked, and then broke again. I got it fixed in the end but it wasn’t for nothing, I added a few features! I changed the Claude API for Featherless.AI models, I made it more gesture controlled (no keyboard required!) and more quality of life features such as smoothing, better gesture detection. I am far from done but I dont have much time so I can’t wait to see what I can get done! (its a lot harder to draw than it looks like)"}, {"post_id": 26756, "ts": "2026-07-11T18:44:17Z", "hours": 1.0167, "text": "I started this project as a part of JecHacks Hackathon, where the theme was open ended innovation. This left me stumped for a while but I knew I wanted a project with Nvidia’s new LocateAnything model. So I laid the foundation for a software that allows you to ‘point’ at something and it can tell you whats inside. I plan on implementing the actual Nvidia model as currently its running on claude api, and more gesture controls for it to be fully keyboard free"}]...
|
Title: EyeQ by @Selim | Stardance
Devlogs:
I star Title: EyeQ by @Selim | Stardance
Devlogs:
I started this project as a part of JecHacks Hackathon, where the theme was open ended innovation. This left me stumped for a while but I knew I wanted a project with Nvidia’s new LocateAnything model. So I laid the foundation for a software that allows you to ‘point’ at something and it can tell you whats inside. I plan on implementing the actual Nvidia model as currently its running on claude api, and more gesture controls for it to be fully keyboard free
These past few hours have genuinely been crazy, my code stopped worked, worked, and then broke again. I got it fixed in the end but it wasn’t for nothing, I added a few features! I changed the Claude API for Featherless.AI models, I made it more gesture controlled (no keyboard required!) and more quality of life features such as smoothing, better gesture detection. I am far from done but I dont have much time so I can’t wait to see what I can get done! (its a lot harder to draw than it looks like)
The hackathon is over now, that was one of the craziest grinds ive done in a really long time, but now that it’s over, it was pretty fun. New features: Tutorial and you get to pick between featherless.ai and claude api, I tuned all the gesture controls up so they work nicer, more gestures like zooming, photo capture, stop ai response. my future plans is going to be trying to shrink it down and fitting all in a pi or something mobile so that you can decipher what your looking at anywhere, no need for a laptop or keyboard!
Ive been mainly working on bug fixes and just making everything a lot smoother, ive been testing with other smaller QOL features such as voice commands and being able to interact with the UI using your hands, Can’t wait to see where this goes!
Ships:
Ive finally gotten to a point where im happy with what ive done and im also proud, even though I lost the hackathon, It was my first so I didn’t have any high expectations going into it. EyeQ is a gesture controlled visual assistant where you can draw, take photos, ask questions and more all without touching your laptop, I originally saw the use case for people with carpal tunnel or arthritis, where using a keyboard comes with daily challenges, although its far from polished im really happy for what this project stands for and hopefully fixes in the future!...
|
1793220588.4518836
|
1793306988.4518836
|
|
56676
|
Mob Chains: A Minecraft Mod by @erenay | Stardance
|
erenay
|
1
|
8.0
|
85
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T11:08:12Z", "hours": 8.0, "multiplier": 10.23, "payout": 85, "blessing": "neutral", "text": "I finished the first version of my Minecraft mod This mod adds a new item, the Mob Chain. With this item you can leash all kinds of mobs including hostile ones. Something the vanilla lead item can’t do. Also because that it’s a chain it doesn’t snap or break like the lead. I uploaded the mod to Modrinth but it’s still under review. In the meantime you can download the mod file from Github releases.", "repo": "https://github.com/erenaywastaken/mobchains", "demo": "https://www.curseforge.com/minecraft/mc-mods/mob-chains"}]...
|
[{"post_id": 60244, "ts": "202 [{"post_id": 60244, "ts": "2026-09-02T14:21:09Z", "hours": 1.0431, "text": "I made chains work in my Minecraft mod I had tackled with chain rendering in my previous post, after that I focused my efforts on making the chains work, actually drag the chained mobs to you. I did this by applying a correction velocity to all chained mobs which is calculated by the difference between the mob and the player’s position. In the attached picture you can see a chained chicken suspended in the air by me."}, {"post_id": 60161, "ts": "2026-09-02T11:10:35Z", "hours": 6.1783, "text": "I implemented the chain rendering in my Minecraft mod. Originally I thought I would focus on the chain behavior but rendering seemed more interesting to do. I referenced the vanilla chain model and leash rendering code and came up with this. It might need some tweaks later (like reducing the scale) but it’s good enough now. It took me a lot of time to correctly calculate the UVs and vertex positions. Also internally I opted on using Fabric’s Data Attachment API instead of trying to mixin into vanilla leash classes and it turned out to be a lot easier than I thought. It even handles client sync and saving!"}, {"post_id": 58762, "ts": "2026-08-31T10:19:30Z", "hours": 1.0769, "text": "Lead alternative for all mobs Minecraft mod I successfully added the item in my Minecraft mod. Hopefully this mod will be the first one that I ship on Modrinth. The next step is to implement the special chain leash mechanics. Then I will work on chain rendering."}]...
|
Title: Mob Chains: A Minecraft Mod by @erenay | St Title: Mob Chains: A Minecraft Mod by @erenay | Stardance
Devlogs:
Lead alternative for all mobs Minecraft mod I successfully added the item in my Minecraft mod. Hopefully this mod will be the first one that I ship on Modrinth. The next step is to implement the special chain leash mechanics. Then I will work on chain rendering.
I implemented the chain rendering in my Minecraft mod. Originally I thought I would focus on the chain behavior but rendering seemed more interesting to do. I referenced the vanilla chain model and leash rendering code and came up with this. It might need some tweaks later (like reducing the scale) but it’s good enough now. It took me a lot of time to correctly calculate the UVs and vertex positions. Also internally I opted on using Fabric’s Data Attachment API instead of trying to mixin into vanilla leash classes and it turned out to be a lot easier than I thought. It even handles client sync and saving!
I made chains work in my Minecraft mod I had tackled with chain rendering in my previous post, after that I focused my efforts on making the chains work, actually drag the chained mobs to you. I did this by applying a correction velocity to all chained mobs which is calculated by the difference between the mob and the player’s position. In the attached picture you can see a chained chicken suspended in the air by me.
Ships:
I finished the first version of my Minecraft mod This mod adds a new item, the Mob Chain. With this item you can leash all kinds of mobs including hostile ones. Something the vanilla lead item can’t do. Also because that it’s a chain it doesn’t snap or break like the lead. I uploaded the mod to Modrinth but it’s still under review. In the meantime you can download the mod file from Github releases....
|
1793138088.144163
|
1793224488.144163
|
|
56882
|
My own site! by @ZadowCHI | Stardance
|
ZadowCHI
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T09:37:59Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So, this is kinda my first project that I am shipping. I spent 3 weeks learning HTML, CSS, and JS, and this is what I have come up with. It is a single-page website about my previous work and what I like. There is a doll there in CSS that I made using Figma and some free online designs, and yeah thats all i guess.", "repo": "https://github.com/Zadow67/My-Introduction/", "demo": "https://zadow67.github.io/My-Introduction/"}]...
|
[{"post_id": 60736, "ts": "202 [{"post_id": 60736, "ts": "2026-09-03T09:33:11Z", "hours": 3.8669, "text": "I Did it took me in total 3 days …. (Because my exams are going on and today was of Chemistry which i got cooked in) So i added a total of 3-4 Section; First is the landing page and like i have added a lot of transitions, hover effects and click Effects. that looks cool Landing Page You see this when you first open the website. I have added a lot of hover effects and other things to make it look cool. The Three Sections The webpage is divided into 3 sections currently. ✦ Hero This is where you see the “About Me” button and the doll. ✦ CURRENTLY BUILDING This is where I show the project I am currently working on. ✦ MY PROJECTS This is where I show the projects I have built. FOOTER Just my Github and my yk call to action… ✦ You Can Use the Live Demo Here https://zadow67.github.io/My-Introduction/ And yeah… that’s basically it. This is my first project that I am actually shipping, and hopefully the next one will be even better."}, {"post_id": 59496, "ts": "2026-09-01T11:21:00Z", "hours": 1.0711, "text": "Making My Intro website!!! I forgot almost all the html and css tags…. But this is what i have done in the past 1 hours … its bad but i will complete it. Yeah thats all…"}]...
|
Title: My own site! by @ZadowCHI | Stardance
Devl Title: My own site! by @ZadowCHI | Stardance
Devlogs:
Making My Intro website!!! I forgot almost all the html and css tags…. But this is what i have done in the past 1 hours … its bad but i will complete it. Yeah thats all…
I Did it took me in total 3 days …. (Because my exams are going on and today was of Chemistry which i got cooked in) So i added a total of 3-4 Section; First is the landing page and like i have added a lot of transitions, hover effects and click Effects. that looks cool Landing Page You see this when you first open the website. I have added a lot of hover effects and other things to make it look cool. The Three Sections The webpage is divided into 3 sections currently. ✦ Hero This is where you see the “About Me” button and the doll. ✦ CURRENTLY BUILDING This is where I show the project I am currently working on. ✦ MY PROJECTS This is where I show the projects I have built. FOOTER Just my Github and my yk call to action… ✦ You Can Use the Live Demo Here https://zadow67.github.io/My-Introduction/ And yeah… that’s basically it. This is my first project that I am actually shipping, and hopefully the next one will be even better.
Ships:
So, this is kinda my first project that I am shipping. I spent 3 weeks learning HTML, CSS, and JS, and this is what I have come up with. It is a single-page website about my previous work and what I like. There is a doll there in CSS that I made using Figma and some free online designs, and yeah thats all i guess....
|
1793224167.7641768
|
1793310567.7641768
|
|
57081
|
SnakeGame by @CassianWray | Stardance
|
CassianWray
|
1
|
1.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T09:18:57Z", "hours": 1.0, "multiplier": 1.03, "payout": 1, "blessing": "neutral", "text": "I made the classic snake game from the flip phone era. It was a game I grew up playing on my mother’s phone so I wanted to make it. How its made The game is made completely in python with pygame and due to it being a relatively simple game it was really easy to make and was done in a single file named snake.py. It automatically creates a highscore.txt file to track your highscore. By pressing T you can choose your difficulty as in does the snake go and wrap around the wall and only die when hitting its body or does it hit the wall and die as well. So There is a difficulty mode if you will. Challenges One challenge I had was getting the head movement right but other than that other parts of the build was surprisingly simple and I completed the game in just over an hour.", "repo": "https://github.com/Beelzebubo/SnakeGame", "demo": "https://github.com/Beelzebubo/SnakeGame/releases/tag/v1.0"}]...
|
[{"post_id": 60731, "ts": "202 [{"post_id": 60731, "ts": "2026-09-03T09:13:22Z", "hours": 1.2278, "text": "I was working on the snake game. I made the game completely in python utilizing pygame. This was more of a learning project rather than anything else so its not that good but it is functional so I am happy about it."}]...
|
Title: SnakeGame by @CassianWray | Stardance
Devl Title: SnakeGame by @CassianWray | Stardance
Devlogs:
I was working on the snake game. I made the game completely in python utilizing pygame. This was more of a learning project rather than anything else so its not that good but it is functional so I am happy about it.
Ships:
I made the classic snake game from the flip phone era. It was a game I grew up playing on my mother’s phone so I wanted to make it. How its made The game is made completely in python with pygame and due to it being a relatively simple game it was really easy to make and was done in a single file named snake.py. It automatically creates a highscore.txt file to track your highscore. By pressing T you can choose your difficulty as in does the snake go and wrap around the wall and only die when hitting its body or does it hit the wall and die as well. So There is a difficulty mode if you will. Challenges One challenge I had was getting the head movement right but other than that other parts of the build was surprisingly simple and I completed the game in just over an hour....
|
1792875249.7398815
|
1793739249.7398815
|
|
54596
|
PianoOS by @niejestemprawdziwyy | Stardance
|
niejestemprawdziwyy
|
1
|
31.11
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T08:54:23Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "WebOS BUT you can play piano. PianoOS also allows you to run a metronome as an app and make some hehe notes The most challenging thing was definitely the animation in the beggining, like hell nah, i must have spent like 6h just on a 5 second cutscene. Still tho, I’m happy with how it looks, and even happier how it can look in the future.", "repo": "https://github.com/Korsor2137/PianoOS", "demo": "https://raw.githack.com/Korsor2137/PianoOS/main/index.html"}]...
|
[{"post_id": 75696, "ts": "202 [{"post_id": 75696, "ts": "2026-09-30T19:34:29Z", "hours": 7.9089, "text": "Heck yeah! Finished all the rewriting, added a few new things blah blah blah Nobody cares! The important thing is that i’ve rewritten all css and most js, fixed many if not all bugs, so it’s foolproof. Yet another alt settings to play (in config). Metronome also sound more realistic. The whole thing should, and i mean should work better and faster. It looks better, sustain pedal fully works etc. etc. ANYWAY TEST IT HERE: https://raw.githack.com/Korsor2137/PianoOS/main/index.html"}, {"post_id": 69175, "ts": "2026-09-16T15:12:47Z", "hours": 0.5994, "text": "Made new controls for piano, so it’s possible to play more sounds with keyboard itself left-new, right-old However i’m still leaving them in the comments if for some reason someone wanted to use them I suppose i should make these devlogs a bit more often, the previous one was like 8h gap lol (q: 45 means that q is A4, i: 57 is A5, the rest most people can figure out themselves)"}, {"post_id": 68766, "ts": "2026-09-15T18:32:55Z", "hours": 8.6006, "text": "Made a new, better banner and rewriting a lot of things I was told that there was too much ai used, so i marked clearly at what part ai was used and rewritten the other parts. Added settings saving and reading it, made the samples load faster and added a loading percentage, deleted a particle animation so it doesn’t lag that much on mobiles, made the piano look cleaner (deleted some nametags), added sustain on spacebar, added config section in the code, readded old and added new unneccesary comments, fixed a bug with music either glitching out or playing after refreshing and fixed a few esthetic choices, probably unnoticable, but color changes and also…. plaing still dre is way easier now, as B3 can now be played with q, sooooo you just go ‘adh’ a few times, then another few of ‘qdh’ and some ‘qsg’. use spacebar for sustain and mouse for bass notes and voila! also i made it possible to name the workspace in the web itself still, i have to rewrite most of css, as some parts are unneccesary or ai and some are well, lacking. also, fixed the piano sample loading, just too lazy to make a new screenshot also, i overuse the word ‘also’"}, {"post_id": 60719, "ts": "2026-09-03T08:45:08Z", "hours": 5.8211, "text": "Finally, I finished my WebOS, or did I? I want to continue working on it as WebOS 2. I’m quite proud of how it looks now. But anyway, here’s the Readme: PianoOSA WebOS, which has notepad and metronome apps and fully playable 88 key piano. Try it here : https://raw.githack.com/Korsor2137/PianoOS/main/index.html Note: it may take a few seconds to prepare all the piano sounds How to run: Yeah, just click the link. Or download it and then run index.html Features: -Full 88 key virtual piano, which you can play using mouse, with your pc keyboard (-a- to -’- keys, press capslock to change octaves to lower) or by connecting your own MIDI piano; -Keys glow when you play the piano; -A simple notepad and a metronome which when you minimalize will remember their location adn when they’re closed, their position resets; -A button to hide the piano interface; -Volume settings which you can change to your liking. Author’s notes: And why did I decide to make this? Well, I saw how on the WebOS missions there was a lot of awesome stuff, the same main concept and yet they were all so different. So, since I like piano, decided to implement it :D I plan on making it more customizable in the future, such as changing the background color, or maybe the whole stylistic, making the top right buttons actually work instead of just being a decoration, adding maybe a few piano sounds, and of course more apps so it actually feels like an actual OS. Also, notice a little reference at the title screen? Full copyright of the sound samples I used: MIT LicenseCopyright (c) 2020 Liam LeePermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."}, {"post_id": 59229, "ts": "2026-08-31T22:01:49Z", "hours": 3.7533, "text": "I made the background and keyboard for my WebOS. Not gonna lie, used AI here with canvas, also found nice tutorial so i might do these particles that fly above when playing piano. i’m quite proud of making these glowing keys, well those are actually shadows but doesn’t matter. Also: made these names for keys, i intend for them to be toggable tho; made a button to hide/show piano, i think it looks good when its fully hidden and only the lights remain; and it’s now possible to control the piano with a pc keyboard, using “ a “ to “ ’ “ keys, black keys are the keys above like “ w “ and “ e “, and to change the octave with capslock; it’s also possible to control them with mouse For my plans, i next intend to make some actual apps, of course including notebook, but also metronome and midi recording. From other things i want to implement shortcuts, so when you press A0 and C4, for example, virtual keyboard hides or shows. Last thing is to make a mouse setting so when a note is pressed, until you stop pressing it you can move it to any position, while still playing that note (Toggable, so that it’s also possible to scale the whole piano really fast). I don’t intend to implement everything now, maybe after i make the first few apps and working piano i’ll ship it as WebOS 1, and then continue as WebOS 2 Oh, and should i name the keys that are possible to play with pc keyboard or maybe should i simply add a short guide of how it works and also maybe it would make sense to add actual sounds lol Anyways, feedback and critique is welcome, encouraged even, so i know what would actually be a good feature"}, {"post_id": 56764, "ts": "2026-08-28T17:34:02Z", "hours": 4.6208, "text": "Since this is my first post i’ll explain what my project even is about. My goal is to create a WebOS that you can control with a midi piano, where i want to then implement some usefull functions for pianists, we’ll see how far can i go with my amateur skills. I’ve coded bigger part of html already. Currently though im having some problems with how it looks and the whole animation. I seriously need to optimize it because daamnn its laggy now. Also, what a coincidence with the colors of those seven sou- i mean balls of light."}]...
|
Title: PianoOS by @niejestemprawdziwyy | Stardance Title: PianoOS by @niejestemprawdziwyy | Stardance
Devlogs:
Since this is my first post i’ll explain what my project even is about. My goal is to create a WebOS that you can control with a midi piano, where i want to then implement some usefull functions for pianists, we’ll see how far can i go with my amateur skills. I’ve coded bigger part of html already. Currently though im having some problems with how it looks and the whole animation. I seriously need to optimize it because daamnn its laggy now. Also, what a coincidence with the colors of those seven sou- i mean balls of light.
I made the background and keyboard for my WebOS. Not gonna lie, used AI here with canvas, also found nice tutorial so i might do these particles that fly above when playing piano. i’m quite proud of making these glowing keys, well those are actually shadows but doesn’t matter. Also: made these names for keys, i intend for them to be toggable tho; made a button to hide/show piano, i think it looks good when its fully hidden and only the lights remain; and it’s now possible to control the piano with a pc keyboard, using “ a “ to “ ’ “ keys, black keys are the keys above like “ w “ and “ e “, and to change the octave with capslock; it’s also possible to control them with mouse For my plans, i next intend to make some actual apps, of course including notebook, but also metronome and midi recording. From other things i want to implement shortcuts, so when you press A0 and C4, for example, virtual keyboard hides or shows. Last thing is to make a mouse setting so when a note is pressed, until you stop pressing it you can move it to any position, while still playing that note (Toggable, so that it’s also possible to scale the whole piano really fast). I don’t intend to implement everything now, maybe after i make the first few apps and working piano i’ll ship it as WebOS 1, and then continue as WebOS 2 Oh, and should i name the keys that are possible to play with pc keyboard or maybe should i simply add a short guide of how it works and also maybe it would make sense to add actual sounds lol Anyways, feedback and critique is welcome, encouraged even, so i know what would actually be a good feature
Finally, I finished my WebOS, or did I? I want to continue working on it as WebOS 2. I’m quite proud of how it looks now. But anyway, here’s the Readme: PianoOSA WebOS, which has notepad and metronome apps and fully playable 88 key piano. Try it here : https://raw.githack.com/Korsor2137/PianoOS/main/index.html Note: it may take a few seconds to prepare all the piano sounds How to run: Yeah, just click the link. Or download it and then run index.html Features: -Full 88 key virtual piano, which you can play using mouse, with your pc keyboard (-a- to -’- keys, press capslock to change octaves to lower) or by connecting your own MIDI piano; -Keys glow when you play the piano; -A simple notepad and a metronome which when you minimalize will remember their location adn when they’re closed, their position resets; -A button to hide the piano interface; -Volume settings which you can change to your liking. Author’s notes: And why did I decide to make this? Well, I saw how on the WebOS missions there was a lot of awesome stuff, the same main concept and yet they were all so different. So, since I like piano, decided to implement it :D I plan on making it more customizable in the future, such as changing the background color, or maybe the whole stylistic, making the top right buttons actually work instead of just being a decoration, adding maybe a few piano sounds, and of course more apps so it actually feels like an actual OS. Also, notice a little reference at the title screen? Full copyright of the sound samples I used: MIT LicenseCopyright (c) 2020 Liam LeePermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Made a new, better banner and rewriting a lot of things I was told that there was too much ai used, so i marked clearly at what part ai was used and rewritten the other parts. Added settings saving and reading it, made the samples load faster and added a loading percentage, deleted a particle animation so it doesn’t lag that much on mobiles, made the piano look cleaner (deleted some nametags), added sustain on spacebar, added config section in the code, readded old and added new unneccesary comments, fixed a bug with music either glitching out or playing after refreshing and fixed a few esthetic choices, probably unnoticable, but color changes and also…. plaing still dre is way easier now, as B3 can now be played with q, sooooo you just go ‘adh’ a few times, then another few of ‘qdh’ and some ‘qsg’. use spacebar for sustain and mouse for bass notes and voila! also i made it possible to name the workspace in the web itself still, i have to rewrite most of css, as some parts are unneccesary or ai and some are well, lacking. also, fixed the piano sample loading, just too lazy to make a new screenshot also, i overuse the word ‘also’
Made new controls for piano, so it’s possible to play more sounds with keyboard itself left-new, right-old However i’m still leaving them in the comments if for some reason someone wanted to use them I suppose i should make these devlogs a bit more often, the previous one was like 8h gap lol (q: 45 means that q is A4, i: 57 is A5, the rest most people can figure out themselves)
Heck yeah! Finished all the rewriting, added a few new things blah blah blah Nobody cares! The important thing is that i’ve rewritten all css and most js, fixed many if not all bugs, so it’s foolproof. Yet another alt settings to play (in config). Metronome also sound more realistic. The whole thing should, and i mean should work better and faster. It looks better, sustain pedal fully works etc. etc. ANYWAY TEST IT HERE: https://raw.githack.com/Korsor2137/PianoOS/main/index.html
Ships:
WebOS BUT you can play piano. PianoOS also allows you to run a metronome as an app and make some hehe notes The most challenging thing was definitely the animation in the beggining, like hell nah, i must have spent like 6h just on a 5 second cutscene. Still tho, I’m happy with how it looks, and even happier how it can look in the future....
|
1793249711.3397639
|
1793336111.3397639
|
|
38277
|
personal website v4 by @lilyy | Stardance
|
lilyy
|
2
|
22.0
|
252
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T08:36:00Z", "hours": 6.0, "multiplier": 7.57, "payout": 47, "blessing": "neutral", "text": "i made my website! it looks soo cute aaa,, in this ship i did the following: added captcha to messaging added ratelimiting to messaging put the cute custom cursors :3 commented the code a bit added dark mode", "repo": "https://github.com/itzmetanjim/itzmetanjim.github.io", "demo": "https://pages.tanjim.org/"}, {"ship_num": 2, "ts": "2026-08-04T16:57:22Z", "hours": 16.0, "multiplier": 12.47, "payout": 205, "blessing": "neutral", "text": "i made my website yay!", "repo": "https://github.com/itzmetanjim/itzmetanjim.github.io", "demo": "https://pages.tanjim.org/"}]...
|
[{"post_id": 60711, "ts": "202 [{"post_id": 60711, "ts": "2026-09-03T08:33:23Z", "hours": 0.6447, "text": "minor fixes and comments make the code easier to read! and also fix a slight bug in the captcha where it didnt reset when i sent a message so i needed to reload to send 2 messages commits since the last devlog 631e93b comment backend.py 01a280d comment notifier-macos.sh 5016741 comment lilyterm.sh ec83a24 make captcha reset on msg send"}, {"post_id": 60699, "ts": "2026-09-03T07:47:47Z", "hours": 0.8411, "text": "add captcha now bots can’t spam my messages commits since the last devlog 0c9c468 make it a little taller d6a262a fix transition colors da01c9a fix height of hrrect d2685a4 document captcha and make api key bypass ratelimit 9ebb297 add captcha"}, {"post_id": 60676, "ts": "2026-09-03T06:08:51Z", "hours": 0.6397, "text": "add ratelimits this prevents spamming messages, its a server side limit of 6 messages per 2 minutes. and you also can’t send an empty message anymore (both client-side and server-side restriction). commits since last devlog 5a74570 make it reject empty messages 207b3a6 add ratelimiting"}, {"post_id": 59607, "ts": "2026-09-01T14:55:52Z", "hours": 0.7311, "text": "add dark mode! you can click this button in the corner for dark mode now! yayayay commits since last devlog 3044340 uhh weird css specificity fix ee4291e finish dark mode! 3a2ea3d add dark mode colors"}, {"post_id": 59389, "ts": "2026-09-01T05:26:29Z", "hours": 0.7094, "text": "made the custom cursor logic better it used to sometimes show the text cursor when it was not supposed to and it did not show the hand cursor on the projects link buttons commits since last devlog 13c5a44 make custom cursors work better 29cd012 make readme use the jpg; jpg is faster than png b329790 new preview 2d56412 add backend shebang a985bc5 fix readme bb65dca fix custom cursor a bit 39561cb document licensing stuf"}, {"post_id": 52977, "ts": "2026-08-23T11:00:19Z", "hours": 2.2378, "text": "add a custom pink scrollbar and cursor!! they look so cuteeeee commits since last devlog ffea3e3 inline custom cursor SVGs 4549d01 add pink custom cursors!! 0bc7f83 add cute pink scrollbars :3 1d03792 Revert “comment notifier-macos.sh, sob its trash code” 3abd8da comment notifier-macos.sh, sob its trash code e9ab376 aa 756f09e seo 321727f WHO IS SPAMMING MY API"}, {"post_id": 41731, "ts": "2026-08-06T04:00:41Z", "hours": 0.4597, "text": "add a readme and fix it in india i added the README and then a friend from india told me that apparently the website doesnt work in india so i actually travelled all the way to the border and managed to connect to an indian cell tower and verified that it did not work then i fixed it, i proxied the messages API through nest and added pages.tanjim.org which doesnt go through VPS now its all good."}, {"post_id": 40681, "ts": "2026-08-04T11:28:12Z", "hours": 0.6206, "text": "completed the message feature by implementing email now its done! i used agentmail for this (“coolton” is what i named the agentmail inbox, i reused an inbox i used for an older project), it works now! now when someone sends a message, all of these happen: i recieve an email (immediately) i recieve a notification on my macbook with a sound(if its locked/sleeping then i recieve the notification when i come back and unlock), i recieve an alert on my terminal when i open it commits since the last devlog c536541 fix mobile responsiveness issue 16ecb20 make it email me when a message is sent"}, {"post_id": 40608, "ts": "2026-08-04T08:20:43Z", "hours": 0.7086, "text": "made the notifier now it will also notify me with a sound when any message comes! if my mac is locked/i am away then it will wait until it unlocks then notify me for my messages automatically, it will also show the priority. one limitation, it uses a flag on the server to store if it has already notified for a given message so it will not notify me twice, but because nothing is stored in the client (my macbook) it will cause problems if i make it notify on multiple devices. if i do that i have to either make the notified flag be an array for each client or i can make each client store its own flag but regardless it works now, all that’s left is email commits since the last devlog d16aca6 make the notifier script b4b7089 Make it only alert on interactive shells"}, {"post_id": 40536, "ts": "2026-08-04T05:04:30Z", "hours": 1.8658, "text": "made the terminal integration! it notifies me on my terminal when i have messages and implements a lily cli command that i can use to manage the messages. it supports these commands lily messages [filter] : [filter] is optional, it can be one of read unread notified unnotified or something like .id==5 or .id>=2 . shows the messages matching the filter. lily mark <type> <value> <start> [end] : <type> is read or notified , <value> is a boolean, it changes the read or notified value of a message. when [end] isn’t given it defaults to <start> . lily read <start> [end] : aliases to lily mark read true <start> [end] lily readall : marks everything as read lily delete <start> [end] deletes messages based on IDs. commits since the last devlog ed99296 add lilyterm.sh terminal integration edcb0f8 timestamp! a696a4a forwarding stuff 99cecd5 increase hrrect blur radius"}, {"post_id": 39268, "ts": "2026-08-02T04:10:28Z", "hours": 0.5681, "text": "integrated the website to the API! now it works! go to tanjim.org and send me a message! i still need to set up the notifier and terminal stuff and email etc etc but it now works and is deployed! commits since the last devlog i made these commits in the last 3 devlogs but i wasnt able to put it then because it hadn’t been pushed (if i pushed then the site would be in a nonfunctional intermediary state) ac5925b gitignore memory json 07657ec add the X-Forwarded-For header on the IP field 6872d5a integrate it 98b4cd8 cors stuff"}, {"post_id": 38896, "ts": "2026-08-01T14:02:46Z", "hours": 3.0544, "text": "made the rest API for this and a web UI for me to manage the messages this API will be called when someone sends a message. remaining: use js magic to integrate this into the website so message sending works the rest of the stuff, mail,terminal integration,and notifier"}, {"post_id": 38249, "ts": "2026-07-31T15:29:43Z", "hours": 2.2378, "text": "made the ui for the new message button i made a message button and added some smoooooooth transitions for it like the email button and made the ui stuff for it, next things left to do in this api: make a rest API for this that will be called and will store all the messages mail: use the gmail/agentmail/smth else api to email the msg to me terminal integration: something to source in my bashrc that alerts me when i open the terminal notif service: notifies me in my macbook when a message comes maybe a captcha?"}, {"post_id": 32918, "ts": "2026-07-22T11:48:33Z", "hours": 7.3533, "text": "Made the basic parts of the site i made the frontend part of the site, here is what i did first i made the template indext.html (see 2nd screenshot) , the template has blocks like this <!--!BEGIN AWARD--> <div class= \"award\" > <h3> [[result]] </h3> <p> [[event]] </p> <p class= \"faded\" > [[details]] </p> </div> <!--!END AWARD--> ... ... <!--!BEGIN PROJECT--> <div class= \"project\" > <h3> [[title]] </h3> <p> [[description]] </h3> <div class= \"links\" > <!--!BEGIN LINKS--> <a href= \"[[url]]\" target= \"_blank\" > [[label]] </a> <!--!END LINKS--> </div> </div> <!--!END PROJECT--> then i made a script run.py that takes in indext.html awards.json projects.json then repeats and substitutes the AWARD , PROJECT , LINKS blocks and removes the content of the TEMPLATE NOTICE block to generate index.html (its a custom handrolled script no frameworks) then i made a fastapi script serve.py to preview any template changes live, it hosts a webserver on port 8000 and generates index.html on the fly using run.py whenever i request it so i don’t have to type the command 1000 times. i added some logic to run.py that inlines all CSS, JS and fonts to reduce everything to one request, then minifies it into an optimized bundle, so it’s now larping vite/webpack i made a GH action that automatically deploys the GitHub Pages site by running run.py on GitHub servers FINALLY now its deployed yippee!!!!"}]...
|
Title: personal website v4 by @lilyy | Stardance
Title: personal website v4 by @lilyy | Stardance
Devlogs:
Made the basic parts of the site i made the frontend part of the site, here is what i did first i made the template indext.html (see 2nd screenshot) , the template has blocks like this <!--!BEGIN AWARD--> <div class= "award" > <h3> [[result]] </h3> <p> [[event]] </p> <p class= "faded" > [[details]] </p> </div> <!--!END AWARD--> ... ... <!--!BEGIN PROJECT--> <div class= "project" > <h3> [[title]] </h3> <p> [[description]] </h3> <div class= "links" > <!--!BEGIN LINKS--> <a href= "[[url]]" target= "_blank" > [[label]] </a> <!--!END LINKS--> </div> </div> <!--!END PROJECT--> then i made a script run.py that takes in indext.html awards.json projects.json then repeats and substitutes the AWARD , PROJECT , LINKS blocks and removes the content of the TEMPLATE NOTICE block to generate index.html (its a custom handrolled script no frameworks) then i made a fastapi script serve.py to preview any template changes live, it hosts a webserver on port 8000 and generates index.html on the fly using run.py whenever i request it so i don’t have to type the command 1000 times. i added some logic to run.py that inlines all CSS, JS and fonts to reduce everything to one request, then minifies it into an optimized bundle, so it’s now larping vite/webpack i made a GH action that automatically deploys the GitHub Pages site by running run.py on GitHub servers FINALLY now its deployed yippee!!!!
made the ui for the new message button i made a message button and added some smoooooooth transitions for it like the email button and made the ui stuff for it, next things left to do in this api: make a rest API for this that will be called and will store all the messages mail: use the gmail/agentmail/smth else api to email the msg to me terminal integration: something to source in my bashrc that alerts me when i open the terminal notif service: notifies me in my macbook when a message comes maybe a captcha?
made the rest API for this and a web UI for me to manage the messages this API will be called when someone sends a message. remaining: use js magic to integrate this into the website so message sending works the rest of the stuff, mail,terminal integration,and notifier
integrated the website to the API! now it works! go to tanjim.org and send me a message! i still need to set up the notifier and terminal stuff and email etc etc but it now works and is deployed! commits since the last devlog i made these commits in the last 3 devlogs but i wasnt able to put it then because it hadn’t been pushed (if i pushed then the site would be in a nonfunctional intermediary state) ac5925b gitignore memory json 07657ec add the X-Forwarded-For header on the IP field 6872d5a integrate it 98b4cd8 cors stuff
made the terminal integration! it notifies me on my terminal when i have messages and implements a lily cli command that i can use to manage the messages. it supports these commands lily messages [filter] : [filter] is optional, it can be one of read unread notified unnotified or something like .id==5 or .id>=2 . shows the messages matching the filter. lily mark <type> <value> <start> [end] : <type> is read or notified , <value> is a boolean, it changes the read or notified value of a message. when [end] isn’t given it defaults to <start> . lily read <start> [end] : aliases to lily mark read true <start> [end] lily readall : marks everything as read lily delete <start> [end] deletes messages based on IDs. commits since the last devlog ed99296 add lilyterm.sh terminal integration edcb0f8 timestamp! a696a4a forwarding stuff 99cecd5 increase hrrect blur radius
made the notifier now it will also notify me with a sound when any message comes! if my mac is locked/i am away then it will wait until it unlocks then notify me for my messages automatically, it will also show the priority. one limitation, it uses a flag on the server to store if it has already notified for a given message so it will not notify me twice, but because nothing is stored in the client (my macbook) it will cause problems if i make it notify on multiple devices. if i do that i have to either make the notified flag be an array for each client or i can make each client store its own flag but regardless it works now, all that’s left is email commits since the last devlog d16aca6 make the notifier script b4b7089 Make it only alert on interactive shells
completed the message feature by implementing email now its done! i used agentmail for this (“coolton” is what i named the agentmail inbox, i reused an inbox i used for an older project), it works now! now when someone sends a message, all of these happen: i recieve an email (immediately) i recieve a notification on my macbook with a sound(if its locked/sleeping then i recieve the notification when i come back and unlock), i recieve an alert on my terminal when i open it commits since the last devlog c536541 fix mobile responsiveness issue 16ecb20 make it email me when a message is sent
add a readme and fix it in india i added the README and then a friend from india told me that apparently the website doesnt work in india so i actually travelled all the way to the border and managed to connect to an indian cell tower and verified that it did not work then i fixed it, i proxied the messages API through nest and added pages.tanjim.org which doesnt go through VPS now its all good.
add a custom pink scrollbar and cursor!! they look so cuteeeee commits since last devlog ffea3e3 inline custom cursor SVGs 4549d01 add pink custom cursors!! 0bc7f83 add cute pink scrollbars :3 1d03792 Revert “comment notifier-macos.sh, sob its trash code” 3abd8da comment notifier-macos.sh, sob its trash code e9ab376 aa 756f09e seo 321727f WHO IS SPAMMING MY API
made the custom cursor logic better it used to sometimes show the text cursor when it was not supposed to and it did not show the hand cursor on the projects link buttons commits since last devlog 13c5a44 make custom cursors work better 29cd012 make readme use the jpg; jpg is faster than png b329790 new preview 2d56412 add backend shebang a985bc5 fix readme bb65dca fix custom cursor a bit 39561cb document licensing stuf
add dark mode! you can click this button in the corner for dark mode now! yayayay commits since last devlog 3044340 uhh weird css specificity fix ee4291e finish dark mode! 3a2ea3d add dark mode colors
add ratelimits this prevents spamming messages, its a server side limit of 6 messages per 2 minutes. and you also can’t send an empty message anymore (both client-side and server-side restriction). commits since last devlog 5a74570 make it reject empty messages 207b3a6 add ratelimiting
add captcha now bots can’t spam my messages commits since the last devlog 0c9c468 make it a little taller d6a262a fix transition colors da01c9a fix height of hrrect d2685a4 document captcha and make api key bypass ratelimit 9ebb297 add captcha
minor fixes and comments make the code easier to read! and also fix a slight bug in the captcha where it didnt reset when i sent a message so i needed to reload to send 2 messages commits since the last devlog 631e93b comment backend.py 01a280d comment notifier-macos.sh 5016741 comment lilyterm.sh ec83a24 make captcha reset on msg send
Ships:
i made my website yay!
i made my website! it looks soo cute aaa,, in this ship i did the following: added captcha to messaging added ratelimiting to messaging put the cute custom cursors :3 commented the code a bit added dark mode...
|
1793281887.6283045
|
1793368287.6283045
|
|
338
|
Weather tracker by @FabulousHippoOfOrangeLake | St Weather tracker by @FabulousHippoOfOrangeLake | Stardance...
|
FabulousHippoOfOrangeLake
|
2
|
8.0
|
49
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T08:25:49Z", "hours": 0.0, "multiplier": 2.95, "payout": 1, "blessing": "neutral", "text": "This was my first ever project that had an actual gui, using pyqt6 was a task because the video i was taking inspiration and assistance from was a tutorial for pyqt5☠️. Along with that this was actually my first ever project for stardance and hackclub so i am proud of it, but in the future i will probably be even more proud of what i had done in this project and how it heped me develop my upcoming projects..", "repo": "https://github.com/sharmashashwat27-source/Weather_Application", "demo": "https://github.com/sharmashashwat27-source/Weather_Application/releases/tag/v1.0.0"}, {"ship_num": 2, "ts": "2026-06-06T13:24:18Z", "hours": 8.0, "multiplier": 6.29, "payout": 48, "blessing": "neutral", "text": "I created a desktop weather application using Python, PyQt6, and the OpenWeatherMap API that allows users to search for cities and view real-time weather information. The application displays details such as temperature, weather conditions, and weather icons through a simple and user-friendly graphical interface. Some of the biggest challenges were integrating the API and ensuring that the application could correctly handle errors such as invalid city names, missing data, or connection issues and the fact that this was my first PyQt6 project. I am proud of finally creating a GUI project in python that is fully functional I am also proud of how this project combines programming, API integration, and GUI design into a practical tool that people can use every day. To test the project, users simply need to run the application, enter the name of a city, and the latest weather information will be retrieved and displayed instantly.", "repo": "https://github.com/sharmashashwat27-source/Weather_Application", "demo": "https://github.com/sharmashashwat27-source/Weather_Application/releases/tag/v1.0.0"}]...
|
[{"post_id": 3492, "ts": "2026 [{"post_id": 3492, "ts": "2026-06-06T13:36:12Z", "hours": 0.25, "text": "DEVLOG #4 Not going to lie this devlog was not necessary because I didn’t really code today I just made minor changes, i made this devlog just because the platform asked me to post another one before shipping but here’s a summary of my project: This project involved developing a weather application that provides users with quick access to current weather conditions for cities around the world .Developing this weather application was a valuable learning experience that improved my skills in Python programming, API integration, and GUI design. Throughout the project, I overcame challenges related to data retrieval and error handling while creating a functional and user-friendly application. The project strengthened both my technical and problem-solving abilities"}, {"post_id": 2784, "ts": "2026-06-05T16:18:29Z", "hours": 2.0767, "text": "DEVLOG#3 Today I was worked up fixing all the small details like how when you enter a city and you get the weather and then after that when you enter an invalid city you still see the previous emoji and weather description; this ended up being an easy fix but the demo url version is a previous model so is the release on the github page, updating these things are the first thing im going to do tomorrow ,I’m also considering working on a popup bar for when you start typing a city’s name and according to the limited amount of letters entered it gives you suggestion; like the google search bar. So yeah that’s today’s summary, but most probably I’m not gonna do that since this is just my first project and i want to keep it light and simple ,instead what i will do is that I’ll start working on a more time consuming one and put more efforts into that . Anyways I hope to submit this project by tomorrow and this is probably me signing off from this project"}, {"post_id": 2176, "ts": "2026-06-04T15:04:39Z", "hours": 3.3097, "text": "DEVLOG #2 This was my second day of working on this project and somehow i finished it! (kind of).Using the API keys to display the weather conditions of different places was vey easy. What took me 5 hours was me making stupid mistakes and taking a shit ton of time to correct them, and it was also my first time making a GUI project in python using PyQt6.I also realized that this was a very light, less time consuming project and I hope to keep on going to make harder, more complex and more time consuming projects. Wonderful Experience! Btw: The reason I said “kind of” was because the moment at which I’m writing this I haven’t made the final touches like using fitting emojis, completing the project information (i hope i can by the end of day)."}, {"post_id": 869, "ts": "2026-06-02T16:17:49Z", "hours": 2.2728, "text": "DEVLOG #1 This was my first day of working on this project (a weather tracker application). This was also my first time making a GUI using python ,I used PyQt6, though the tutorial I was following used PyQt5, converting was the easy part ,but I kept making simple mistakes! :like forgetting to call the self.initUI method, wrong indentation, and similar stupid ahh mistakes. But overall, I found the project very interesting to work on as I learnt alot more about python than I previously new. I hope that I can keep posting updates about the project every day, without breaks and I also hope to learn even more things!"}]...
|
Title: Weather tracker by @FabulousHippoOfOrangeLa Title: Weather tracker by @FabulousHippoOfOrangeLake | Stardance
Devlogs:
DEVLOG #1 This was my first day of working on this project (a weather tracker application). This was also my first time making a GUI using python ,I used PyQt6, though the tutorial I was following used PyQt5, converting was the easy part ,but I kept making simple mistakes! :like forgetting to call the self.initUI method, wrong indentation, and similar stupid ahh mistakes. But overall, I found the project very interesting to work on as I learnt alot more about python than I previously new. I hope that I can keep posting updates about the project every day, without breaks and I also hope to learn even more things!
DEVLOG #2 This was my second day of working on this project and somehow i finished it! (kind of).Using the API keys to display the weather conditions of different places was vey easy. What took me 5 hours was me making stupid mistakes and taking a shit ton of time to correct them, and it was also my first time making a GUI project in python using PyQt6.I also realized that this was a very light, less time consuming project and I hope to keep on going to make harder, more complex and more time consuming projects. Wonderful Experience! Btw: The reason I said “kind of” was because the moment at which I’m writing this I haven’t made the final touches like using fitting emojis, completing the project information (i hope i can by the end of day).
DEVLOG#3 Today I was worked up fixing all the small details like how when you enter a city and you get the weather and then after that when you enter an invalid city you still see the previous emoji and weather description; this ended up being an easy fix but the demo url version is a previous model so is the release on the github page, updating these things are the first thing im going to do tomorrow ,I’m also considering working on a popup bar for when you start typing a city’s name and according to the limited amount of letters entered it gives you suggestion; like the google search bar. So yeah that’s today’s summary, but most probably I’m not gonna do that since this is just my first project and i want to keep it light and simple ,instead what i will do is that I’ll start working on a more time consuming one and put more efforts into that . Anyways I hope to submit this project by tomorrow and this is probably me signing off from this project
DEVLOG #4 Not going to lie this devlog was not necessary because I didn’t really code today I just made minor changes, i made this devlog just because the platform asked me to post another one before shipping but here’s a summary of my project: This project involved developing a weather application that provides users with quick access to current weather conditions for cities around the world .Developing this weather application was a valuable learning experience that improved my skills in Python programming, API integration, and GUI design. Throughout the project, I overcame challenges related to data retrieval and error handling while creating a functional and user-friendly application. The project strengthened both my technical and problem-solving abilities
Ships:
I created a desktop weather application using Python, PyQt6, and the OpenWeatherMap API that allows users to search for cities and view real-time weather information. The application displays details such as temperature, weather conditions, and weather icons through a simple and user-friendly graphical interface. Some of the biggest challenges were integrating the API and ensuring that the application could correctly handle errors such as invalid city names, missing data, or connection issues and the fact that this was my first PyQt6 project. I am proud of finally creating a GUI project in python that is fully functional I am also proud of how this project combines programming, API integration, and GUI design into a practical tool that people can use every day. To test the project, users simply need to run the application, enter the name of a city, and the latest weather information will be retrieved and displayed instantly.
This was my first ever project that had an actual gui, using pyqt6 was a task because the video i was taking inspiration and assistance from was a tutorial for pyqt5☠️. Along with that this was actually my first ever project for stardance and hackclub so i am proud of it, but in the future i will probably be even more proud of what i had done in this project and how it heped me develop my upcoming projects.....
|
1793281992.1266963
|
1793368392.1266963
|
|
57551
|
Yosemite by @n1tr0xx | Stardance
|
n1tr0xx
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T08:15:16Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i built a dumb wiper malware out of complete boredom, to activate the killswitch, either create a dumb file in your temp folder called yosemite.exe, or, create a folder in your temp folder called YosemiteBuild, then make a file called “AceOfSpades.txt”. For the virus to work it must run as administrator to modify registry entries.", "repo": "https://github.com/optixytv3/yosemite", "demo": "https://github.com/optixytv3/yosemite/releases/download/release/yosemite.exe"}]...
|
[{"post_id": 60698, "ts": "202 [{"post_id": 60698, "ts": "2026-09-03T07:46:26Z", "hours": 2.7633, "text": "Wiped the first 512 bytes of the drive, without kernel level access?"}]...
|
Title: Yosemite by @n1tr0xx | Stardance
Devlogs:
Title: Yosemite by @n1tr0xx | Stardance
Devlogs:
Wiped the first 512 bytes of the drive, without kernel level access?
Ships:
i built a dumb wiper malware out of complete boredom, to activate the killswitch, either create a dumb file in your temp folder called yosemite.exe, or, create a folder in your temp folder called YosemiteBuild, then make a file called “AceOfSpades.txt”. For the virus to work it must run as administrator to modify registry entries....
|
1793288887.6068478
|
1793375287.6068478
|
|
57367
|
AstroTab by @TanmayPathe | Stardance
|
TanmayPathe
|
1
|
8.84
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T07:33:52Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made AstroTab, a space-themed productivity dashboard built around astronomy and designed to feel like a small personal command center. It combines useful productivity tools with live space and weather data, including NASA’s APOD API, Open-Meteo weather and geocoding, Quick Notes, bookmarks, ambient soundscapes, a customizable Pomodoro/Stopwatch timer, and an interactive Canvas starfield. As I kept building it, the most challenging part was making all this system work together reliably. Handling API failures and rate limits, adding fallbacks and caching for NASA APOD, building the Web Audio sound generator, and getting the timer to safely switch between Pomodoro and stopwatch modes took a lot of debugging and experimentation. I’m especially proud of how the final Dashboard came together and how complete it feels when i compared to where I started and last devlogs.", "repo": "https://github.com/Tan5dev/AstroTab", "demo": "https://astrotab.vercel.app/"}]...
|
[{"post_id": 61504, "ts": "202 [{"post_id": 61504, "ts": "2026-09-04T13:34:29Z", "hours": 1.8717, "text": "Changed my Design as my Last design was every difficult to continue due glassmorphism effects so i changed my CSS into this simple and sweet"}, {"post_id": 60857, "ts": "2026-09-03T14:14:48Z", "hours": 0.9708, "text": "I made some small changes in CSS by cleaning it, organizing it into proper order by merging later added style in the older stlye block Also Updated Readme File before shipping"}, {"post_id": 60683, "ts": "2026-09-03T06:55:36Z", "hours": 1.0661, "text": "Fixed Some Small Bugs Connected To Vercel and Now Ready For Deploy These updates have made AstroTab much more complete, reliable, and customizable. There are still more ideas and improvements I want to work on, but I’ll be saving those for further development. For now, I’m happy with where AstroTab has reached and I’m ready to ship it. 🚀"}, {"post_id": 60272, "ts": "2026-09-02T15:25:13Z", "hours": 1.4444, "text": "Today I continued working on AstroTab and focused on adding more useful features while improving the overall layout and reliability. I also added APOD caching using localStorage so the API isn’t called unnecessarily every time the page loads. For the telemetry section, I added city search using Open-Meteo’s geocoding service, allowing users to manually choose a location. I also fixed the header so it stays visible while scrolling and replaced the old bookmark prompt with a proper glassmorphic modal for adding bookmarks. I added a volume slider to the ambient sound controls as well. Another major addition was the Focus Timer. I built a Pomodoro timer with custom duration settings, persistence, and a new stopwatch mode that can count up instead of counting down. I also added controls for adjusting the glass blur effect and starfield density directly from the interface. These updates have made AstroTab much more complete, reliable, and customizable. This is my last devlog before I ship AstroTab. There are still more ideas and improvements I want to work on, but I’ll be saving those for further development after the initial release. For now, I’m happy with where AstroTab has reached and I’m ready to ship it. 🚀"}, {"post_id": 60190, "ts": "2026-09-02T12:47:46Z", "hours": 0.4239, "text": "I Moved AstroTab from simple HTML/CSS/JavaScript setup to Vite. as the project was getting bigger with mutiple features, Some APIs, scripts and assets. I wanted a better development structure instaed of keeping everything in a basic static setup. This update doesn’t change the main design of AstroTab, but it gives the project a much better foundation for adding more features and improving the codebase as I continue building it."}, {"post_id": 60168, "ts": "2026-09-02T11:49:19Z", "hours": 0.7094, "text": "Just Improved the Overall look and feel of AstroTab and making the interface feel more like a proper space-themed. I started by adding a dynamic starfield background using an HTML5 canvas with the small particle system so the starts can twinkle in the background without needing any external animation library. After That, I worked on improving the visual consistency of the dashboard. Also fixed the AM/PM causing unwanted wrapping problems. Overall, from last Update, the work was mainly about polishing AstroTab by making the space aesthetic."}, {"post_id": 60096, "ts": "2026-09-02T07:38:12Z", "hours": 1.3772, "text": "Just Now Finished bringing AstroTab to life by adding features. I started by building a realtime Clock that updates every minuite and greeting system that changes based on the time of day. After that I added a 12-hrs and 24-hrs format toggle/ To improve user Experience, I used localStorage so AstroTab remembers the selected format even after the page is refreshed or reopened. Next I connected AstroTab to NASA’s Astronomy Picture of the Day (APOD) API. The dashboard can now fetch and display the daily images along with its title, date and description. Then I built the Quick Notes Feature, allowing userd to add and remove notes directly form the dashboard. All notes are saves using localStorage, which means they remain available between sessions without requiring any backend or database."}, {"post_id": 60055, "ts": "2026-09-02T05:13:50Z", "hours": 0.5519, "text": "Today ie. 02/09/2026 I started building AstroTab. I began with the basic desktop layout and finished setting up the 3-column grid. I also added the intial Glassmorphic style to give it a clean space-themed look using backdrop-filter: blur(). Next, I’ll start working on the actual widgets and API features."}]...
|
Title: AstroTab by @TanmayPathe | Stardance
Devlo Title: AstroTab by @TanmayPathe | Stardance
Devlogs:
Today ie. 02/09/2026 I started building AstroTab. I began with the basic desktop layout and finished setting up the 3-column grid. I also added the intial Glassmorphic style to give it a clean space-themed look using backdrop-filter: blur(). Next, I’ll start working on the actual widgets and API features.
Just Now Finished bringing AstroTab to life by adding features. I started by building a realtime Clock that updates every minuite and greeting system that changes based on the time of day. After that I added a 12-hrs and 24-hrs format toggle/ To improve user Experience, I used localStorage so AstroTab remembers the selected format even after the page is refreshed or reopened. Next I connected AstroTab to NASA’s Astronomy Picture of the Day (APOD) API. The dashboard can now fetch and display the daily images along with its title, date and description. Then I built the Quick Notes Feature, allowing userd to add and remove notes directly form the dashboard. All notes are saves using localStorage, which means they remain available between sessions without requiring any backend or database.
Just Improved the Overall look and feel of AstroTab and making the interface feel more like a proper space-themed. I started by adding a dynamic starfield background using an HTML5 canvas with the small particle system so the starts can twinkle in the background without needing any external animation library. After That, I worked on improving the visual consistency of the dashboard. Also fixed the AM/PM causing unwanted wrapping problems. Overall, from last Update, the work was mainly about polishing AstroTab by making the space aesthetic.
I Moved AstroTab from simple HTML/CSS/JavaScript setup to Vite. as the project was getting bigger with mutiple features, Some APIs, scripts and assets. I wanted a better development structure instaed of keeping everything in a basic static setup. This update doesn’t change the main design of AstroTab, but it gives the project a much better foundation for adding more features and improving the codebase as I continue building it.
Today I continued working on AstroTab and focused on adding more useful features while improving the overall layout and reliability. I also added APOD caching using localStorage so the API isn’t called unnecessarily every time the page loads. For the telemetry section, I added city search using Open-Meteo’s geocoding service, allowing users to manually choose a location. I also fixed the header so it stays visible while scrolling and replaced the old bookmark prompt with a proper glassmorphic modal for adding bookmarks. I added a volume slider to the ambient sound controls as well. Another major addition was the Focus Timer. I built a Pomodoro timer with custom duration settings, persistence, and a new stopwatch mode that can count up instead of counting down. I also added controls for adjusting the glass blur effect and starfield density directly from the interface. These updates have made AstroTab much more complete, reliable, and customizable. This is my last devlog before I ship AstroTab. There are still more ideas and improvements I want to work on, but I’ll be saving those for further development after the initial release. For now, I’m happy with where AstroTab has reached and I’m ready to ship it. 🚀
Fixed Some Small Bugs Connected To Vercel and Now Ready For Deploy These updates have made AstroTab much more complete, reliable, and customizable. There are still more ideas and improvements I want to work on, but I’ll be saving those for further development. For now, I’m happy with where AstroTab has reached and I’m ready to ship it. 🚀
I made some small changes in CSS by cleaning it, organizing it into proper order by merging later added style in the older stlye block Also Updated Readme File before shipping
Changed my Design as my Last design was every difficult to continue due glassmorphism effects so i changed my CSS into this simple and sweet
Ships:
I made AstroTab, a space-themed productivity dashboard built around astronomy and designed to feel like a small personal command center. It combines useful productivity tools with live space and weather data, including NASA’s APOD API, Open-Meteo weather and geocoding, Quick Notes, bookmarks, ambient soundscapes, a customizable Pomodoro/Stopwatch timer, and an interactive Canvas starfield. As I kept building it, the most challenging part was making all this system work together reliably. Handling API failures and rate limits, adding fallbacks and caching for NASA APOD, building the Web Audio sound generator, and getting the timer to safely switch between Pomodoro and stopwatch modes took a lot of debugging and experimentation. I’m especially proud of how the final Dashboard came together and how complete it feels when i compared to where I started and last devlogs....
|
1792878495.341349
|
1793742495.341349
|
|
52494
|
GlaesOs by @suvyakthacharya | Stardance
|
suvyakthacharya
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T06:42:47Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an extra glassy ox, because I am just one of those guys who likes the effect of glassOs. I named it GlaesOs, because I just kept misspelling it so now it just reminds me of that 😂. Then things to know, just the bug reporting thing, just saves as a doc, then you can comment perhaps for me to fix it in future versions. But apart from that, feel free to customise it as you feel and use it for your workflow. I feel the rest is self-explanatory, and you can refer to the readme, for more 😂.", "repo": "https://github.com/suvyakth/dancestaros", "demo": "https://suvyakth.github.io/dancestaros/"}]...
|
[{"post_id": 60435, "ts": "202 [{"post_id": 60435, "ts": "2026-09-02T19:21:21Z", "hours": 0.4775, "text": "Woking on bugs, and other minor things. Also adding a flappy bird inspired game!"}, {"post_id": 59797, "ts": "2026-09-01T18:48:20Z", "hours": 1.0728, "text": "Games!! More bug fixes two. + a fun little reward system to unlock new things for new records!"}, {"post_id": 59072, "ts": "2026-08-31T17:56:28Z", "hours": 0.7883, "text": "Language support, bug reporting, more bug fixes!!!"}, {"post_id": 57259, "ts": "2026-08-29T11:26:13Z", "hours": 0.3444, "text": "More customization, and features! Check out at github! ( https://github.com/suvyakth/dancestaros )"}, {"post_id": 57239, "ts": "2026-08-29T10:46:16Z", "hours": 1.8019, "text": "Xtra Glassie OS!"}]...
|
Title: GlaesOs by @suvyakthacharya | Stardance
De Title: GlaesOs by @suvyakthacharya | Stardance
Devlogs:
Xtra Glassie OS!
More customization, and features! Check out at github! ( https://github.com/suvyakth/dancestaros )
Language support, bug reporting, more bug fixes!!!
Games!! More bug fixes two. + a fun little reward system to unlock new things for new records!
Woking on bugs, and other minor things. Also adding a flappy bird inspired game!
Ships:
I made an extra glassy ox, because I am just one of those guys who likes the effect of glassOs. I named it GlaesOs, because I just kept misspelling it so now it just reminds me of that 😂. Then things to know, just the bug reporting thing, just saves as a doc, then you can comment perhaps for me to fix it in future versions. But apart from that, feel free to customise it as you feel and use it for your workflow. I feel the rest is self-explanatory, and you can refer to the readme, for more 😂....
|
1793285439.6469274
|
1793371839.6469274
|
|
56643
|
ThumbBatch by @gauravkhatriweb | Stardance
|
gauravkhatriweb
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T06:15:53Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🖼️ ThumbBatch Bulk YouTube thumbnails. One click. ThumbBatch is a powerful, lightweight Google Chrome Extension designed for content creators, designers, and archivists who need to quickly grab high-resolution YouTube thumbnails. Whether you need the thumbnail of the video you are currently watching, or want to batch download dozens of thumbnails from a channel page in a single ZIP archive, ThumbBatch has you covered.", "repo": "https://github.com/gauravkhatriweb/ThumbBatch", "demo": "https://thumb-batch.vercel.app/"}]...
|
[{"post_id": 60679, "ts": "202 [{"post_id": 60679, "ts": "2026-09-03T06:13:56Z", "hours": 0.7358, "text": "Devlog — ThumbBatch Landing Page Date: September 3, 2026 Project: ThumbBatch Mission: Hack Club Stardance — Frictionless —## What I BuiltThe extension was done. But nobody would find it, understand it, or trust it without a great landing page. So today I built one — from scratch.The goal: a page that makes a visitor think “why wasn’t this built into Chrome already?” —## Stack- Framework: Next.js 16 (App Router, TypeScript)- Styling: Tailwind CSS v4 ( @theme config)- Animation: Framer Motion- Icons: Lucide React- Components: Radix UI primitives (Accordion, Slot)—## DesignStrict monochrome — near-black background, white text, #737373 gray — with surgical use of YouTube red ( #FF0000 ) as the only accent. Geist font. No fake testimonials. No stock photos. No buzzwords.> The product is simple. The design should say that.—## Sections Built- [x] Sticky glassmorphism navbar- [x] Hero with animated extension popup simulation- [x] “Old Way” — 9-step pain diagram vs 3-step ThumbBatch flow- [x] Features grid (Bulk mode highlighted as key differentiator)- [x] Personas — Creators, Designers, Researchers- [x] How it works — 3 steps- [x] Bulk Mode Showcase — fully interactive : click to select thumbnails, watch real ZIP progress animation- [x] Privacy — 4 trust pillars + open source callout- [x] Pricing — giant $0 , no table, no tiers- [x] Installation guide + simulated Chrome extensions mockup- [x] Technical credibility (Manifest V3, local ZIP, smart fallback)- [x] Open Source — GitHub file tree mockup- [x] FAQ accordion (7 technically accurate answers)- [x] Final CTA + footer- [x] Custom favicon — TB icon with red accent underline- [x] SEO metadata + Open Graph- [x] Production build ✅ — npm run build exits 0 —## Bugs FixedTwo icon import mismatches in lucide-react (version didn’t export Github , BarChart2Off , Infinity ) — swapped for valid alternatives. One Turbopack crash from unescaped quotes inside a string literal in Install.tsx .—## Dev Server bashcd web && npm run dev# → http://localhost:3000 Less software. More solved."}]...
|
Title: ThumbBatch by @gauravkhatriweb | Stardance
Title: ThumbBatch by @gauravkhatriweb | Stardance
Devlogs:
Devlog — ThumbBatch Landing Page Date: September 3, 2026 Project: ThumbBatch Mission: Hack Club Stardance — Frictionless —## What I BuiltThe extension was done. But nobody would find it, understand it, or trust it without a great landing page. So today I built one — from scratch.The goal: a page that makes a visitor think “why wasn’t this built into Chrome already?” —## Stack- Framework: Next.js 16 (App Router, TypeScript)- Styling: Tailwind CSS v4 ( @theme config)- Animation: Framer Motion- Icons: Lucide React- Components: Radix UI primitives (Accordion, Slot)—## DesignStrict monochrome — near-black background, white text, #737373 gray — with surgical use of YouTube red ( #FF0000 ) as the only accent. Geist font. No fake testimonials. No stock photos. No buzzwords.> The product is simple. The design should say that.—## Sections Built- [x] Sticky glassmorphism navbar- [x] Hero with animated extension popup simulation- [x] “Old Way” — 9-step pain diagram vs 3-step ThumbBatch flow- [x] Features grid (Bulk mode highlighted as key differentiator)- [x] Personas — Creators, Designers, Researchers- [x] How it works — 3 steps- [x] Bulk Mode Showcase — fully interactive : click to select thumbnails, watch real ZIP progress animation- [x] Privacy — 4 trust pillars + open source callout- [x] Pricing — giant $0 , no table, no tiers- [x] Installation guide + simulated Chrome extensions mockup- [x] Technical credibility (Manifest V3, local ZIP, smart fallback)- [x] Open Source — GitHub file tree mockup- [x] FAQ accordion (7 technically accurate answers)- [x] Final CTA + footer- [x] Custom favicon — TB icon with red accent underline- [x] SEO metadata + Open Graph- [x] Production build ✅ — npm run build exits 0 —## Bugs FixedTwo icon import mismatches in lucide-react (version didn’t export Github , BarChart2Off , Infinity ) — swapped for valid alternatives. One Turbopack crash from unescaped quotes inside a string literal in Install.tsx .—## Dev Server bashcd web && npm run dev# → http://localhost:3000 Less software. More solved.
Ships:
🖼️ ThumbBatch Bulk YouTube thumbnails. One click. ThumbBatch is a powerful, lightweight Google Chrome Extension designed for content creators, designers, and archivists who need to quickly grab high-resolution YouTube thumbnails. Whether you need the thumbnail of the video you are currently watching, or want to batch download dozens of thumbnails from a channel page in a single ZIP archive, ThumbBatch has you covered....
|
1793134486.7032793
|
1793220886.7032793
|
|
37217
|
AIRCRAFT LASER STRIKE 2D by @priyanshuranjan7004 | AIRCRAFT LASER STRIKE 2D by @priyanshuranjan7004 | Stardance...
|
priyanshuranjan7004
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T05:55:37Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a 2D top-down arcade game called “Aircraft Laser Strike 2D” where you control an aircraft, shoot lasers, destroy falling targets, and try to survive as long as possible.Let’s go save the world 😁 You have only 3 Lives remember. I first wanted to use the Turtle module, but since I’ve used it a lot before, I tried Pygame instead. It worked locally, but when I tried deploying it on PythonAnywhere, it kept crashing because servers can’t open desktop windows. I had to completely switch gears and rewrite the game using HTML5 Canvas and JavaScript inside a Flask backend. It was also really tricky to balance the speeds of the player, lasers, and falling blocks so the game loops didn’t spawn enemies too fast. Choosing good colors was confusing too! I’m really proud that I didn’t give up when Pygame crashed on the server. I managed to convert it to a web game that anyone can open in their browser and play instantly with smooth movement and laser shooting. Use Arrow keys or W, A, S, D to move your aircraft. Press the Spacebar to shoot lasers (there is a small cooldown so you can’t just spam it). Press R to restart whenever you get a Game Over!", "repo": "https://github.com/mr-kai270/Aircraft_laser-FIghter", "demo": "https://priyanshuranjan7004.pythonanywhere.com/"}]...
|
[{"post_id": 60669, "ts": "202 [{"post_id": 60669, "ts": "2026-09-03T05:44:19Z", "hours": 0.3756, "text": "I first tried to built this game locally using Python and Pygame, but it completely crashed when I tried hosting it on PythonAnywhere. I learned cloud servers don’t have screens to display Pygame windows. So, I switched the graphics to HTML5 Canvas and JavaScript while using Flask to host it online. I tried something new and learnt it as this was my first time to host my file using flask on PythonAnywhere. I am happy to complete my project."}, {"post_id": 60368, "ts": "2026-09-02T17:44:32Z", "hours": 0.3644, "text": "#1 Devlog ––Just started my project using pygame instead of turtle module is a bit new to me but I love trying something new. I just started but bugs started coming before even it could work a little some how fixed the bugs. Picking the best geometry even takes time hope to get it done somehow managed to make the blueprint first it helped a lot."}]...
|
Title: AIRCRAFT LASER STRIKE 2D by @priyanshuranja Title: AIRCRAFT LASER STRIKE 2D by @priyanshuranjan7004 | Stardance
Devlogs:
#1 Devlog ––Just started my project using pygame instead of turtle module is a bit new to me but I love trying something new. I just started but bugs started coming before even it could work a little some how fixed the bugs. Picking the best geometry even takes time hope to get it done somehow managed to make the blueprint first it helped a lot.
I first tried to built this game locally using Python and Pygame, but it completely crashed when I tried hosting it on PythonAnywhere. I learned cloud servers don’t have screens to display Pygame windows. So, I switched the graphics to HTML5 Canvas and JavaScript while using Flask to host it online. I tried something new and learnt it as this was my first time to host my file using flask on PythonAnywhere. I am happy to complete my project.
Ships:
I made a 2D top-down arcade game called “Aircraft Laser Strike 2D” where you control an aircraft, shoot lasers, destroy falling targets, and try to survive as long as possible.Let’s go save the world 😁 You have only 3 Lives remember. I first wanted to use the Turtle module, but since I’ve used it a lot before, I tried Pygame instead. It worked locally, but when I tried deploying it on PythonAnywhere, it kept crashing because servers can’t open desktop windows. I had to completely switch gears and rewrite the game using HTML5 Canvas and JavaScript inside a Flask backend. It was also really tricky to balance the speeds of the player, lasers, and falling blocks so the game loops didn’t spawn enemies too fast. Choosing good colors was confusing too! I’m really proud that I didn’t give up when Pygame crashed on the server. I managed to convert it to a web game that anyone can open in their browser and play instantly with smooth movement and laser shooting. Use Arrow keys or W, A, S, D to move your aircraft. Press the Spacebar to shoot lasers (there is a small cooldown so you can’t just spam it). Press R to restart whenever you get a Game Over!...
|
1793220508.8777657
|
1793306908.8777657
|
|
53776
|
Air-Top Ruins - A 2D platformer made in Pygame by Air-Top Ruins - A 2D platformer made in Pygame by @sandaruj | Stardance...
|
sandaruj
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T05:52:11Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a 2D platformer with double jumping and dashing in Python via pygame. This was for an assessment which I got an A- for.", "repo": "https://github.com/sandyysandy/AirTop-Ruins", "demo": "https://drive.google.com/file/d/19TD_w0BnyASPYw3SNcpKnWaQ7ACQo0IS/view?usp=sharing"}]...
|
[{"post_id": 53791, "ts": "202 [{"post_id": 53791, "ts": "2026-08-24T14:24:28Z", "hours": 15.9775, "text": "I added a new grapple hook system to the game so that when players finish the game fully, they unlock the grapple hook and 2 new levels (replacing levels 0 and 1) that make use of it, when you have the grapple enabled, your jumps are limited to 1 and dashes get disabled"}]...
|
Title: Air-Top Ruins - A 2D platformer made in Pyg Title: Air-Top Ruins - A 2D platformer made in Pygame by @sandaruj | Stardance
Devlogs:
I added a new grapple hook system to the game so that when players finish the game fully, they unlock the grapple hook and 2 new levels (replacing levels 0 and 1) that make use of it, when you have the grapple enabled, your jumps are limited to 1 and dashes get disabled
Ships:
I made a 2D platformer with double jumping and dashing in Python via pygame. This was for an assessment which I got an A- for....
|
1792878612.1594412
|
1793742612.1594412
|
|
57378
|
CleanNewTab by @aviral_dewangan14 | Stardance
|
|
1
|
28.99
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T05:32:28Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a project or you can say a new tab page which will appear when you open a new tab with the future chrome extension in html css and js not used any nextjs library .It was challenging to make that level skeomorphism ui and integrating the weather api .I was proud of this design and ui and the clean it builds .You can see that the ui is so clean and with skeomorphism and also the clean layout it is and in future it will be available as a chrome extension which will unlock more new features .So Do not forget to try this and give good ratings", "repo": "https://github.com/AviralDewangan14/CleanNewTab", "demo": "https://cleanewtab.vercel.app/"}]...
|
[{"post_id": 60925, "ts": "202 [{"post_id": 60925, "ts": "2026-09-03T16:19:16Z", "hours": 10.9908, "text": "Builded the news section but still it is not complete so it is not in production but in few time you can use this updated one and i use there google news scrapers"}, {"post_id": 60667, "ts": "2026-09-03T05:19:42Z", "hours": 3.0464, "text": "Integrated the weather system to see weather info at your location make sure to give good ratings"}, {"post_id": 60337, "ts": "2026-09-02T16:51:09Z", "hours": 6.7, "text": "Builded the focus window and integrating in normal home screen and also integrated it into the home screen also and i added the focus timer in home screen Please give good reviews and ratings and follow too"}, {"post_id": 60143, "ts": "2026-09-02T10:09:06Z", "hours": 2.1972, "text": "I Builded a theme toggler it takes a lot of time for animation and these things and for it i take help of ai but not fully written some css and full html for it and ai written some css and full js for theme toggler only"}, {"post_id": 60101, "ts": "2026-09-02T07:57:05Z", "hours": 0.3464, "text": "Builded this setting window which looks good with its shadows do not forget to give good rating and follow me for these good skeomorphism"}, {"post_id": 60095, "ts": "2026-09-02T07:36:01Z", "hours": 2.365, "text": "I Builded this home page of new tab the cleanewtab some bugs are still and i will solve it and show my final work in devlog"}, {"post_id": 60056, "ts": "2026-09-02T05:15:39Z", "hours": 2.9014, "text": "Finally I Implemented the onboarding page with a skeomorphism ui"}]...
|
Title: CleanNewTab by @aviral_dewangan14 | Stardan Title: CleanNewTab by @aviral_dewangan14 | Stardance
Devlogs:
Finally I Implemented the onboarding page with a skeomorphism ui
I Builded this home page of new tab the cleanewtab some bugs are still and i will solve it and show my final work in devlog
Builded this setting window which looks good with its shadows do not forget to give good rating and follow me for these good skeomorphism
I Builded a theme toggler it takes a lot of time for animation and these things and for it i take help of ai but not fully written some css and full html for it and ai written some css and full js for theme toggler only
Builded the focus window and integrating in normal home screen and also integrated it into the home screen also and i added the focus timer in home screen Please give good reviews and ratings and follow too
Integrated the weather system to see weather info at your location make sure to give good ratings
Builded the news section but still it is not complete so it is not in production but in few time you can use this updated one and i use there google news scrapers
Ships:
I have made a project or you can say a new tab page which will appear when you open a new tab with the future chrome extension in html css and js not used any nextjs library .It was challenging to make that level skeomorphism ui and integrating the weather api .I was proud of this design and ui and the clean it builds .You can see that the ui is so clean and with skeomorphism and also the clean layout it is and in future it will be available as a chrome extension which will unlock more new features .So Do not forget to try this and give good ratings...
|
1793274603.6001537
|
1794138603.6001537
|
|
14413
|
quartz by @p0tato | Stardance
|
p0tato
|
1
|
41.0
|
670
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T05:04:04Z", "hours": 41.0, "multiplier": 17.33, "payout": 670, "blessing": "neutral", "text": "I made Quartz, a desktop automation app for Windows and Linux. It’s pretty similar to the Shortcuts app on MacOS. Quartz allows you to create shortcuts, which are lists of actions, that run things on your computer, whether that is read a file, send a web request, or something else. These shortcuts can be activated manually or using triggers (e.g. at a certain time). The main reason I created this, and the most important QoL improvement is that with Quartz, you can easily create and manage small scripts that do stuff on your computer, like watch a file or directory and running subsequent actions. The most challenging part was adapting/scrapping features for Linux, since a user’s environment can be very different from another user’s environment, so I had to choose some important features and scrap the unrealistic ones. For example, I really wanted to add an emulate mouse/keyboard button action, but it simply wasn’t feasible, since the app would have to require root privileges on both platforms, which was something I was trying to avoid. I am proud of how the project turned out, but especially the user interface, since it took a while to design and actually build the interface, and I think it turned out well, with a bit room for improvement. Some UI changes will come in future updates. To test the project, you first need to make sure that you are on either Windows or a systemd-based Linux distribution. Then you can simply just follow the instructions on the README. The app uses a Python FastAPI daemon with a Flutter UI. To save memory, the UI is a completely seperate process than the daemon, so it’s OK to close the app window/kill the UI process without affecting the backend.", "repo": "https://github.com/Someone68/quartz", "demo": "https://github.com/Someone68/quartz/releases/latest/"}]...
|
[{"post_id": 60650, "ts": "202 [{"post_id": 60650, "ts": "2026-09-03T04:38:11Z", "hours": 1.2889, "text": "i said last time that it was the final devlog before ship but then i realized there were a lot of bugs to fix and stuff so this the the ACTUAL final devlog before ship!!! changes include: bugfixes (a lot) github actions wiki/docs release 0.2.0"}, {"post_id": 59354, "ts": "2026-09-01T03:07:16Z", "hours": 2.7883, "text": "final devlog before ship!! i mostly just worked on refining the build process and bug fixing, which is why im not going over each change individually. the UI/UX could be improved, but its good enough for the initial ship. all that’s left: re-build the new binaries and release release the windows binaries ship!!! the very compressed and unreadable gif below is the one in the readme lol"}, {"post_id": 50702, "ts": "2026-08-20T01:03:03Z", "hours": 9.3431, "text": "FINALLY i got the build process and packaging working now it works and people can install it! windows works now too! i didnt have time to create a devlog until now so enjoy heres the full changelog: main changes: added action: truncate number allowed users to assign each shortcut a color removed shortcut icons since an icon picker would be really annoying to add overhauled the homepage, now you can select shortcuts, batch delete, and more (see screenshot!!) fixed kill process action disabled running a shortcut while it’s already running (very inconsistent behavior previously) UI now ensures that there is only one window using a weird hack fixed notifications not showing on windows removed emulate mouse button stub action (extremely difficult cross-platform) wrote some docs that i realize i need to update now since i changed the linux install process lol packaging AI: create the windows installer builder AI: create uninstaller create a logo that i put so much effort into (2 minutes in figma) a ton of other stuff including a whole build process for linux notes yea, i did use ai for some stuff, either because i was lazy or… yeah i was lazy. todo major UI improvements released binaries 🚢ing"}, {"post_id": 38525, "ts": "2026-07-31T23:15:42Z", "hours": 2.1325, "text": "quartz update 5.1: the actions update 1 added a ton of cool actions, heres the full list: NEW filesystem: create directory NEW filesystem: create file NEW filesystem: delete directory NEW filesystem: delete file NEW filesystem: get file properties NEW filesystem: read file NEW filesystem: write file NEW filesystem: rename or move file or directory NEW system: power - lock, logout, suspend, hibernate, shutdown, reboot NEW system: send notification NEW misc: send web request other changes: fixed some overflow issues in the UI ok bye new update coming soon"}, {"post_id": 37961, "ts": "2026-07-31T01:01:52Z", "hours": 2.9072, "text": "quartz update #5: the apps update smaller update this time changes added some config file support (located in USER/.config/quartz) added tooltips (?) to certain action inputs added the app selector, as seen in the screenshot below! action updates: NEW open app: opens an app using the selector NEW open link: opens a link, as a website, file, etc. NEW kill process: kills a process via app selector, name, or pid with the option to terminate instead WIP emulate mouse: stub (not implemented) trigger updates: app open: change to use app selector app close: change to use app selector lots of bugfixes, both on backend and UI fixed a lot of overflow issues on UI on smaller screens todo add the remaining trigger types add some more actions figure out how to build and package the app (really need this to ship) notes yes i am aware that deltarune is in my apps list, and yes i have played chapter five"}, {"post_id": 36177, "ts": "2026-07-28T03:00:44Z", "hours": 2.1269, "text": "quartz update #4 changes: optimize polling trigger listeners by limiting one polling agent per trigger type add more triggerss directory watch (file create/delete/rename) directory contents watch (file content changes) app open app close schedule (cron) fixed file watch trigger updated ui pubsec.yaml name to “quartz” instead of “ui” added bracket/quote formatting to text fields added trigger output usage in ui like action outputs allow viewing run logs from settings page"}, {"post_id": 32655, "ts": "2026-07-21T23:02:12Z", "hours": 2.9225, "text": "quartz update #3 changes: added some basic automatic shortcut triggers startup, file watch, clipboard watch will add more later fixed some issues and improved message box/dialog box (using ai) removed collapsible sidebar on editor page polishing/consistency changes including adding a mono font for text fields allow changing shortcut properties through inspector (see image) split editor page file into several modules (previously 1400+ lines long…) to-do: add more triggers and actions figure out how to detect hotkeys on linux (may not be possible on wayland) fix windows functionality figure out how to build/package app more stuff that i forgot about"}, {"post_id": 30446, "ts": "2026-07-18T00:19:18Z", "hours": 0.8075, "text": "update 2: made a cool thing where variables and outputs in a text field are highlighted (see right of image)"}, {"post_id": 29672, "ts": "2026-07-16T18:59:07Z", "hours": 4.3172, "text": "update: added drag and drop, added flow control, removed client side decorations on linux, and more"}, {"post_id": 28048, "ts": "2026-07-14T02:16:11Z", "hours": 12.6333, "text": "devlog #1 of quartz, a desktop automation app similar to shortcuts on ios/mac but for linux (and maybe windows in the future). the main idea is that you create shortcuts that contain multiple “steps”, which can do many things, including: setting a variable, showing a pop-up, running a command, and more. the main reason i decided to work on this is because making shell scripts and managing them are kind of annoying, so creating a nice interface to easily manage scripts (or shortcuts) would be very helpful. as for technical details, the backend (saving and running) uses a background python process, while the ui uses flutter and material design. current features done: basic backend (saving and running shortcuts), some ui (creating, editing shortcuts/steps). todo: add UI for control flow (if/else), add shortcut triggers (to automatically run shortcuts), add a lot more actions, improve the UI, (maybe) app integrations. the reason this took over 10hr is mostly because of the ui, since i am not the most familiar with flutter and there are a lot of moving parts."}]...
|
Title: quartz by @p0tato | Stardance
Devlogs:
dev Title: quartz by @p0tato | Stardance
Devlogs:
devlog #1 of quartz, a desktop automation app similar to shortcuts on ios/mac but for linux (and maybe windows in the future). the main idea is that you create shortcuts that contain multiple “steps”, which can do many things, including: setting a variable, showing a pop-up, running a command, and more. the main reason i decided to work on this is because making shell scripts and managing them are kind of annoying, so creating a nice interface to easily manage scripts (or shortcuts) would be very helpful. as for technical details, the backend (saving and running) uses a background python process, while the ui uses flutter and material design. current features done: basic backend (saving and running shortcuts), some ui (creating, editing shortcuts/steps). todo: add UI for control flow (if/else), add shortcut triggers (to automatically run shortcuts), add a lot more actions, improve the UI, (maybe) app integrations. the reason this took over 10hr is mostly because of the ui, since i am not the most familiar with flutter and there are a lot of moving parts.
update: added drag and drop, added flow control, removed client side decorations on linux, and more
update 2: made a cool thing where variables and outputs in a text field are highlighted (see right of image)
quartz update #3 changes: added some basic automatic shortcut triggers startup, file watch, clipboard watch will add more later fixed some issues and improved message box/dialog box (using ai) removed collapsible sidebar on editor page polishing/consistency changes including adding a mono font for text fields allow changing shortcut properties through inspector (see image) split editor page file into several modules (previously 1400+ lines long…) to-do: add more triggers and actions figure out how to detect hotkeys on linux (may not be possible on wayland) fix windows functionality figure out how to build/package app more stuff that i forgot about
quartz update #4 changes: optimize polling trigger listeners by limiting one polling agent per trigger type add more triggerss directory watch (file create/delete/rename) directory contents watch (file content changes) app open app close schedule (cron) fixed file watch trigger updated ui pubsec.yaml name to “quartz” instead of “ui” added bracket/quote formatting to text fields added trigger output usage in ui like action outputs allow viewing run logs from settings page
quartz update #5: the apps update smaller update this time changes added some config file support (located in USER/.config/quartz) added tooltips (?) to certain action inputs added the app selector, as seen in the screenshot below! action updates: NEW open app: opens an app using the selector NEW open link: opens a link, as a website, file, etc. NEW kill process: kills a process via app selector, name, or pid with the option to terminate instead WIP emulate mouse: stub (not implemented) trigger updates: app open: change to use app selector app close: change to use app selector lots of bugfixes, both on backend and UI fixed a lot of overflow issues on UI on smaller screens todo add the remaining trigger types add some more actions figure out how to build and package the app (really need this to ship) notes yes i am aware that deltarune is in my apps list, and yes i have played chapter five
quartz update 5.1: the actions update 1 added a ton of cool actions, heres the full list: NEW filesystem: create directory NEW filesystem: create file NEW filesystem: delete directory NEW filesystem: delete file NEW filesystem: get file properties NEW filesystem: read file NEW filesystem: write file NEW filesystem: rename or move file or directory NEW system: power - lock, logout, suspend, hibernate, shutdown, reboot NEW system: send notification NEW misc: send web request other changes: fixed some overflow issues in the UI ok bye new update coming soon
FINALLY i got the build process and packaging working now it works and people can install it! windows works now too! i didnt have time to create a devlog until now so enjoy heres the full changelog: main changes: added action: truncate number allowed users to assign each shortcut a color removed shortcut icons since an icon picker would be really annoying to add overhauled the homepage, now you can select shortcuts, batch delete, and more (see screenshot!!) fixed kill process action disabled running a shortcut while it’s already running (very inconsistent behavior previously) UI now ensures that there is only one window using a weird hack fixed notifications not showing on windows removed emulate mouse button stub action (extremely difficult cross-platform) wrote some docs that i realize i need to update now since i changed the linux install process lol packaging AI: create the windows installer builder AI: create uninstaller create a logo that i put so much effort into (2 minutes in figma) a ton of other stuff including a whole build process for linux notes yea, i did use ai for some stuff, either because i was lazy or… yeah i was lazy. todo major UI improvements released binaries 🚢ing
final devlog before ship!! i mostly just worked on refining the build process and bug fixing, which is why im not going over each change individually. the UI/UX could be improved, but its good enough for the initial ship. all that’s left: re-build the new binaries and release release the windows binaries ship!!! the very compressed and unreadable gif below is the one in the readme lol
i said last time that it was the final devlog before ship but then i realized there were a lot of bugs to fix and stuff so this the the ACTUAL final devlog before ship!!! changes include: bugfixes (a lot) github actions wiki/docs release 0.2.0
Ships:
I made Quartz, a desktop automation app for Windows and Linux. It’s pretty similar to the Shortcuts app on MacOS. Quartz allows you to create shortcuts, which are lists of actions, that run things on your computer, whether that is read a file, send a web request, or something else. These shortcuts can be activated manually or using triggers (e.g. at a certain time). The main reason I created this, and the most important QoL improvement is that with Quartz, you can easily create and manage small scripts that do stuff on your computer, like watch a file or directory and running subsequent actions. The most challenging part was adapting/scrapping features for Linux, since a user’s environment can be very different from another user’s environment, so I had to choose some important features and scrap the unrealistic ones. For example, I really wanted to add an emulate mouse/keyboard button action, but it simply wasn’t feasible, since the app would have to require root privileges on both platforms, which was something I was trying to avoid. I am proud of how the project turned out, but especially the user interface, since it took a while to design and actually build the interface, and I think it turned out well, with a bit room for improvement. Some UI changes will come in future updates. To test the project, you first need to make sure that you are on either Windows or a systemd-based Linux distribution. Then you can simply just follow the instructions on the README. The app uses a Python FastAPI daemon with a Flutter UI. To save memory, the UI is a completely seperate process than the daemon, so it’s OK to close the app window/kill the UI process without affecting the backend....
|
1793256473.3541164
|
1793342873.3541164
|
|
55357
|
My own site! by @saikaushilkatta | Stardance
|
saikaushilkatta
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T04:40:16Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own personal website using HTML and CSS.", "repo": "https://github.com/saikaushilkatta/Personal-Site", "demo": "https://saikaushilkatta.github.io/Personal-Site/"}]...
|
[{"post_id": 59429, "ts": "202 [{"post_id": 59429, "ts": "2026-09-01T08:33:31Z", "hours": 0.2903, "text": "I am working on to make my own personal website."}]...
|
Title: My own site! by @saikaushilkatta | Stardanc Title: My own site! by @saikaushilkatta | Stardance
Devlogs:
I am working on to make my own personal website.
Ships:
I made my own personal website using HTML and CSS....
|
1793303476.5688303
|
1793389876.5688303
|
|
57332
|
My own site! by @Seyin | Stardance
|
Seyin
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T02:40:01Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own website that shows all thing things I have ever done.", "repo": "https://github.com/Seyinlash/testWebsiteee", "demo": "https://seyinlash.github.io/testWebsiteee/"}]...
|
[{"post_id": 59993, "ts": "202 [{"post_id": 59993, "ts": "2026-09-02T02:31:37Z", "hours": 0.5361, "text": "My Info Website"}]...
|
Title: My own site! by @Seyin | Stardance
Devlogs Title: My own site! by @Seyin | Stardance
Devlogs:
My Info Website
Ships:
I made my own website that shows all thing things I have ever done....
|
1792878484.905199
|
1793742484.905199
|
|
56644
|
स्याउOS by @Kantarajluitel | Stardance
|
Kantarajluitel
|
1
|
22.79
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T02:23:16Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Project Name: स्याउ OS (Syau OS) Creator: Kantaraj Luitel (Susant) Mission Guidelines Confirmation: Working Webpage with Draggable Windows: Full client-side desktop environment with multi-window support. Windows support 8 direction resizing, dragging, minimize, maximize, and z-index depth stacking. Original & Distinct Design: Custom visual identity combining bilingual typography (Noto Sans Devanagari + Space Grotesk + Inter) with a glassmorphism aesthetic. Features dual Dark and White Light themes, dynamic particle boot sequence with a Web Audio API chime, and canvas-based cursor trail. Devlogs (3+ Included): Embedded native “Devlogs” application inside the OS covering: Devlog 1: Architecture, Windowing Mathematics, and Non-blocking State. Devlog 2: Dual Light/Dark Theme Engine & Bilingual Typography Integration. Devlog 3: Canvas Performance, Responsive Layouts, and Mobile Adaptations. Unique Features Beyond the Guide: Pixel Cat Desktop Pet: Interactive canvas sprite with animation states (walk, idle, sleep, happy, blink) following the cursor. Custom Terminal Shell (syau-sh): Over 20 interactive commands including neofetch, matrix, cowsay, weather, and easter eggs. Embedded Spotify Music Player Hub with curated genres and custom link loader. Spotlight Search (Cmd+K / Ctrl+K), canvas-rendered analog clock widget, and Bikram Sambat date converter. Accessibility: No passwords or authentication walls; all applications and features are immediately accessible to test.", "repo": "https://github.com/susantedit/shayu-OS", "demo": "https://shyau.vercel.app/"}]...
|
[{"post_id": 76018, "ts": "202 [{"post_id": 76018, "ts": "2026-10-02T02:26:52Z", "hours": 1.8689, "text": "I broke down the stylesheet from one big file into clean, modular CSS files per component and app (src/styles/ and component-level CSS files like BaghChal.css, SyauType.css, FocusAudio.css). Removed redundant rules and cleaned up the class structure. Ready for re-review!"}, {"post_id": 72569, "ts": "2026-09-23T07:54:47Z", "hours": 3.9692, "text": "updates 3 feature for web os 2 1Handcrafted Vanilla CSS Window Manager 2Nepali Cultural Tools and Games 3coode editor"}, {"post_id": 67482, "ts": "2026-09-13T16:28:24Z", "hours": 6.3981, "text": "Wasted too much time on this i added nepali things convertor also go check it out cursor i added is just a image that i love and use on my pc always if you feel bad with it you can change it on the site :( sorry for late submission i was quiet busy and done this week now"}, {"post_id": 62576, "ts": "2026-09-06T01:19:07Z", "hours": 0.5533, "text": "UPdated the site in own taste"}, {"post_id": 60139, "ts": "2026-09-02T10:01:27Z", "hours": 8.3356, "text": "Shipped स्याउ OS (Syau OS) v1.3 for the WebOS Jam! 🚀 I wanted to make a web OS that feels alive, developer-friendly, and authentic to Nepal 🇳🇵. Here is what is new in v1.3: What I Built: • Syau Studio — Live in-browser Web IDE (HTML/CSS/JS sandbox with hot-reloading & retro templates) • Meo (स्याउ साथी) — AI OS Copilot (Groq Llama 3.3 / Gemini) + an interactive desktop pixel cat you can pet! • स्याउ Capture Studio — Screen recorder, canvas snip & markup tool, photo booth filters, and Web Audio waveform memo • Hardware Telemetry — Real battery status, power modes, and live Cloudflare DNS ping testing • Dual Theme Engine — Dark Glass & White Light mode + Nepali Bikram Sambat (BS) date converter • 100% Mobile Responsive — Works smoothly on phones, tablets, and desktops! Built with React 19, TypeScript, Vite, Tailwind CSS, Zustand & Framer Motion. Check it out on GitHub: https://github.com/susantedit/shayu-OS"}, {"post_id": 58805, "ts": "2026-08-31T12:01:56Z", "hours": 0.3556, "text": "🚀 Devlog #2: Making स्याउ OS Fully Responsive Across Web, Tablets & Mobile! 💡 The Big Update Simulating a full desktop operating system inside a browser comes with a major challenge: desktop windowing systems are typically built for large monitors and mouse pointers. But we know hackathon judges, contributors, and friends often open projects directly on smartphones, iPads, and split screens . Today, we officially rolled out v1.1.0-responsive , making स्याउ OS (Syau OS) adapt seamlessly across any device while keeping its signature frosted glass aesthetic and fluid Devanagari typography intact! 📱 What We Built & Optimized 1. 🪟 Adaptive Viewport Clamping & Auto-Maximized Windows On small screens (<768px), windows automatically adapt their width ( calc(100vw - 16px) ) and auto-maximize to fit the viewport. Bounding boxes are clamped so window titlebars and close controls never get pushed off-screen. 2. 🌊 Touch-Optimized Floating Dock Dock icons dynamically scale down and adjust spacing on smaller screens. Added smooth horizontal scroll with hidden scrollbars for mobile screens with high app density. Enlarged hitboxes so icons are easy to tap with a finger. 3. ⏱️ Responsive TopBar & Nepali BS Calendar Re-architected TopBar flex priorities: keeps the स्याउ OS brand logo, live Bikram Sambat (२०८३ BS) date widget, and Dark/Light mode switcher cleanly visible without overflowing on narrow screens. 4. 🍱 Fluid Bento Grids Across All Native Apps Creator Profile App (Kantaraj Luitel / Susant) : Bio, certifications, and Buy Me a Coffee button seamlessly collapse into single-column cards on phones. Drive Photo Gallery : 33 photos now arrange into an adaptive responsive masonry grid with touch-friendly lightbox previews. Devlog Viewer & Settings : Left sidebar and detail panes switch to a mobile-friendly view. 🛠️ Tech Stack & Implementation Highlights Framework : React 18 + TypeScript + Vite Styling : Tailored CSS Glassmorphism + Dynamic CSS Variables (Dark & Light White mode) State & Motion : Zustand + Framer Motion (touch drag bounds clamping) Typography : Noto Sans Devanagari 600 ( स्याउ ) + Space Grotesk 700 ( OS ) + Inter 👉 Check it out live and try resizing your browser or opening it on your phone! 🎉"}, {"post_id": 58716, "ts": "2026-08-31T08:04:32Z", "hours": 1.7383, "text": "स्याउ OS is a fast, web-based desktop OS built with React, TypeScript & Framer Motion for Hack Club Stardance. Features a window manager with 4 workspaces, Spotify Hub (Nepali, Bhajan, Phonk playlists), interactive terminal, store apps, devlogs viewer, and dual themes. Created by Kantaraj Luitel (Susant) 🇳🇵."}]...
|
Title: स्याउOS by @Kantarajluitel | Stardance
Dev Title: स्याउOS by @Kantarajluitel | Stardance
Devlogs:
स्याउ OS is a fast, web-based desktop OS built with React, TypeScript & Framer Motion for Hack Club Stardance. Features a window manager with 4 workspaces, Spotify Hub (Nepali, Bhajan, Phonk playlists), interactive terminal, store apps, devlogs viewer, and dual themes. Created by Kantaraj Luitel (Susant) 🇳🇵.
🚀 Devlog #2: Making स्याउ OS Fully Responsive Across Web, Tablets & Mobile! 💡 The Big Update Simulating a full desktop operating system inside a browser comes with a major challenge: desktop windowing systems are typically built for large monitors and mouse pointers. But we know hackathon judges, contributors, and friends often open projects directly on smartphones, iPads, and split screens . Today, we officially rolled out v1.1.0-responsive , making स्याउ OS (Syau OS) adapt seamlessly across any device while keeping its signature frosted glass aesthetic and fluid Devanagari typography intact! 📱 What We Built & Optimized 1. 🪟 Adaptive Viewport Clamping & Auto-Maximized Windows On small screens (<768px), windows automatically adapt their width ( calc(100vw - 16px) ) and auto-maximize to fit the viewport. Bounding boxes are clamped so window titlebars and close controls never get pushed off-screen. 2. 🌊 Touch-Optimized Floating Dock Dock icons dynamically scale down and adjust spacing on smaller screens. Added smooth horizontal scroll with hidden scrollbars for mobile screens with high app density. Enlarged hitboxes so icons are easy to tap with a finger. 3. ⏱️ Responsive TopBar & Nepali BS Calendar Re-architected TopBar flex priorities: keeps the स्याउ OS brand logo, live Bikram Sambat (२०८३ BS) date widget, and Dark/Light mode switcher cleanly visible without overflowing on narrow screens. 4. 🍱 Fluid Bento Grids Across All Native Apps Creator Profile App (Kantaraj Luitel / Susant) : Bio, certifications, and Buy Me a Coffee button seamlessly collapse into single-column cards on phones. Drive Photo Gallery : 33 photos now arrange into an adaptive responsive masonry grid with touch-friendly lightbox previews. Devlog Viewer & Settings : Left sidebar and detail panes switch to a mobile-friendly view. 🛠️ Tech Stack & Implementation Highlights Framework : React 18 + TypeScript + Vite Styling : Tailored CSS Glassmorphism + Dynamic CSS Variables (Dark & Light White mode) State & Motion : Zustand + Framer Motion (touch drag bounds clamping) Typography : Noto Sans Devanagari 600 ( स्याउ ) + Space Grotesk 700 ( OS ) + Inter 👉 Check it out live and try resizing your browser or opening it on your phone! 🎉
Shipped स्याउ OS (Syau OS) v1.3 for the WebOS Jam! 🚀 I wanted to make a web OS that feels alive, developer-friendly, and authentic to Nepal 🇳🇵. Here is what is new in v1.3: What I Built: • Syau Studio — Live in-browser Web IDE (HTML/CSS/JS sandbox with hot-reloading & retro templates) • Meo (स्याउ साथी) — AI OS Copilot (Groq Llama 3.3 / Gemini) + an interactive desktop pixel cat you can pet! • स्याउ Capture Studio — Screen recorder, canvas snip & markup tool, photo booth filters, and Web Audio waveform memo • Hardware Telemetry — Real battery status, power modes, and live Cloudflare DNS ping testing • Dual Theme Engine — Dark Glass & White Light mode + Nepali Bikram Sambat (BS) date converter • 100% Mobile Responsive — Works smoothly on phones, tablets, and desktops! Built with React 19, TypeScript, Vite, Tailwind CSS, Zustand & Framer Motion. Check it out on GitHub: https://github.com/susantedit/shayu-OS
UPdated the site in own taste
Wasted too much time on this i added nepali things convertor also go check it out cursor i added is just a image that i love and use on my pc always if you feel bad with it you can change it on the site :( sorry for late submission i was quiet busy and done this week now
updates 3 feature for web os 2 1Handcrafted Vanilla CSS Window Manager 2Nepali Cultural Tools and Games 3coode editor
I broke down the stylesheet from one big file into clean, modular CSS files per component and app (src/styles/ and component-level CSS files like BaghChal.css, SyauType.css, FocusAudio.css). Removed redundant rules and cleaned up the class structure. Ready for re-review!
Ships:
Project Name: स्याउ OS (Syau OS) Creator: Kantaraj Luitel (Susant) Mission Guidelines Confirmation: Working Webpage with Draggable Windows: Full client-side desktop environment with multi-window support. Windows support 8 direction resizing, dragging, minimize, maximize, and z-index depth stacking. Original & Distinct Design: Custom visual identity combining bilingual typography (Noto Sans Devanagari + Space Grotesk + Inter) with a glassmorphism aesthetic. Features dual Dark and White Light themes, dynamic particle boot sequence with a Web Audio API chime, and canvas-based cursor trail. Devlogs (3+ Included): Embedded native “Devlogs” application inside the OS covering: Devlog 1: Architecture, Windowing Mathematics, and Non-blocking State. Devlog 2: Dual Light/Dark Theme Engine & Bilingual Typography Integration. Devlog 3: Canvas Performance, Responsive Layouts, and Mobile Adaptations. Unique Features Beyond the Guide: Pixel Cat Desktop Pet: Interactive canvas sprite with animation states (walk, idle, sleep, happy, blink) following the cursor. Custom Terminal Shell (syau-sh): Over 20 interactive commands including neofetch, matrix, cowsay, weather, and easter eggs. Embedded Spotify Music Player Hub with curated genres and custom link loader. Spotlight Search (Cmd+K / Ctrl+K), canvas-rendered analog clock widget, and Bikram Sambat date converter. Accessibility: No passwords or authentication walls; all applications and features are immediately accessible to test....
|
1792846552.2506664
|
1793710552.2506664
|
|
47674
|
Mister Mc Macenstein by @godslayerakp | Stardance
|
godslayerakp
|
1
|
18.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T02:18:58Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Discord bot! like most personal discord bots, it has an oddball array of features mostly focused on fun things to do while in discord.", "repo": "https://github.com/RedMan13/mr-mc-macenstein", "demo": "https://discord.gg/9Uj6GuanXU"}]...
|
[{"post_id": 60615, "ts": "202 [{"post_id": 60615, "ts": "2026-09-03T02:14:28Z", "hours": 7.775, "text": "Now it has a web panel! right now its nearly nothing, just giving a handle on what processes are running. im thinking later i will make a discord-like panel to more easily make debug code. ts was all kinds of obnoxious simply because what i expected to be true, wasnt. like what variable contains the path parameters."}, {"post_id": 52443, "ts": "2026-08-22T15:50:38Z", "hours": 2.8158, "text": "Now its impossible to break word chains! i fixed it so now it just wont let you send a word if it ends in a letter that cant be completed! also now the dictionary is a good million words bigger"}, {"post_id": 48581, "ts": "2026-08-17T01:18:22Z", "hours": 7.3239, "text": "initial post! also added the ability to when about the bots host will die."}]...
|
Title: Mister Mc Macenstein by @godslayerakp | Sta Title: Mister Mc Macenstein by @godslayerakp | Stardance
Devlogs:
initial post! also added the ability to when about the bots host will die.
Now its impossible to break word chains! i fixed it so now it just wont let you send a word if it ends in a letter that cant be completed! also now the dictionary is a good million words bigger
Now it has a web panel! right now its nearly nothing, just giving a handle on what processes are running. im thinking later i will make a discord-like panel to more easily make debug code. ts was all kinds of obnoxious simply because what i expected to be true, wasnt. like what variable contains the path parameters.
Ships:
Discord bot! like most personal discord bots, it has an oddball array of features mostly focused on fun things to do while in discord....
|
1793253176.7112262
|
1793339576.7112262
|
|
57349
|
Homework reminder by @nicklogan1412 | Stardance
|
nicklogan1412
|
1
|
4.24
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T02:08:24Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My Python GUI will not work on GITHUB, It can run the basic GUI features but the notification system and the Merriam Webster Button will not work due to limitations on the hosting. Sorry, this project does work and I made a video on it", "repo": "https://github.com/Biscutbuilder/HomeworkAid", "demo": "https://youtu.be/fpwMc8tsE28"}]...
|
[{"post_id": 61255, "ts": "202 [{"post_id": 61255, "ts": "2026-09-04T03:11:01Z", "hours": 0.3403, "text": "Converted my .py to a .exe, AND IT WORKKKSSSSS, YIPPPIEEEE. The project will check your canvas for any missing assignments then alert you about them."}, {"post_id": 61164, "ts": "2026-09-03T23:03:20Z", "hours": 0.9003, "text": "Today I re-did almost my ENITRE PROJECT. i kept the same concept of reminding you when you need to get something done. My code uses a API key from Canvas LMS to check if you have any missing assignments. If you do it will alert you with a desktop notifications, if you don’t have any missing assignments, it will send a notification saying youre caught up, and the entire project runs again after 3 hours. I sadly cant take screen shots of notifications"}, {"post_id": 60607, "ts": "2026-09-03T02:05:06Z", "hours": 1.7414, "text": "Today I finished up on my project, created a github page for it, and did reaserch at my school to know what to add. This project is a GUI program that reminds you to do your homework after 30 minutes, has a built in calculator and a dictionary link. This project was designed for people at my school, and we all struggle with basic math, as most of us are in advanced math classes and make simple mistakes on addition and subtraction daily. Word definitions are heavily requested by our teachers so a dictionary is included. Watch my demo at https://youtu.be/fpwMc8tsE28 :) and sorry for the poor formating of this devlog/description"}, {"post_id": 60020, "ts": "2026-09-02T03:45:17Z", "hours": 1.0958, "text": "Today i created a GUI that will ask you what homework that you need to complete, and then it will send you a notification 15 minutes later I plan to add more things like a calculator or even a graphic calculator if I can find out how."}]...
|
Title: Homework reminder by @nicklogan1412 | Stard Title: Homework reminder by @nicklogan1412 | Stardance
Devlogs:
Today i created a GUI that will ask you what homework that you need to complete, and then it will send you a notification 15 minutes later I plan to add more things like a calculator or even a graphic calculator if I can find out how.
Today I finished up on my project, created a github page for it, and did reaserch at my school to know what to add. This project is a GUI program that reminds you to do your homework after 30 minutes, has a built in calculator and a dictionary link. This project was designed for people at my school, and we all struggle with basic math, as most of us are in advanced math classes and make simple mistakes on addition and subtraction daily. Word definitions are heavily requested by our teachers so a dictionary is included. Watch my demo at https://youtu.be/fpwMc8tsE28 :) and sorry for the poor formating of this devlog/description
Today I re-did almost my ENITRE PROJECT. i kept the same concept of reminding you when you need to get something done. My code uses a API key from Canvas LMS to check if you have any missing assignments. If you do it will alert you with a desktop notifications, if you don’t have any missing assignments, it will send a notification saying youre caught up, and the entire project runs again after 3 hours. I sadly cant take screen shots of notifications
Converted my .py to a .exe, AND IT WORKKKSSSSS, YIPPPIEEEE. The project will check your canvas for any missing assignments then alert you about them.
Ships:
My Python GUI will not work on GITHUB, It can run the basic GUI features but the notification system and the Merriam Webster Button will not work due to limitations on the hosting. Sorry, this project does work and I made a video on it...
|
1793271225.7859795
|
1793357625.7859795
|
|
56006
|
TN Search by @tyleruploads | Stardance
|
tyleruploads
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T01:42:28Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created TN Search, a New Tab Page offering over 50 search engines and tools for various workflows, built for developers, by a developer. It does not utilize any CSS or JavaScript frameworks, and requires no setup (unless you want to make it your new tab page, which requires finding an appropriate extension). When I started this project, I was thinking “Ooh! 60 stardust ! I’ll do it in half an hour!” That statement was partly true, but obviously wasn’t, since I have logged eight hours with this project. While I got a technically fully working site in an hour and 20 minutes, that was far less complex than it is now. While every feature this New Tab page has looks very simple on the outside, they actually require a lot of coding to accomplish, with most of the coding making the features work with each other, not the feature itself. For example, when I added a search option for the dropdown menu, I had to fiddle with datalists for two and a half hours. And the silly thing is, I didn’t assign a value to any of the options! I was just relying on its textContent! That was very hard to add back later! I proud that I sat down for as long as it took each session and grinded through this project. To search for an option, click on the input to the left of the main search box, and simply type what you are thinking of. To view all of the options, visit the search-providers.md file in the documentation. Or, remove the text from the provider input box and click it once more before unfocusing.", "repo": "https://github.com/tyleruploads/tn-search", "demo": "https://search.tyler.is-a.dev"}]...
|
[{"post_id": 60588, "ts": "202 [{"post_id": 60588, "ts": "2026-09-03T01:18:40Z", "hours": 0.4281, "text": "I just made it so TN Search saves your search provider choice to local storage so it will persist, forever! While this would normally be a couple second change, there was a lot of error handling I had to do to make this work!"}, {"post_id": 60530, "ts": "2026-09-02T22:33:52Z", "hours": 0.7531, "text": "I just added a very nice README to TN Search! I also made a SECURITY.md file for reporting security vulnerabilities, and a search-providers.md that lists every single supported search provider!"}, {"post_id": 59946, "ts": "2026-09-02T00:30:23Z", "hours": 2.3989, "text": "Well, this is a very, very big devlog! Here is what has been added since the last devlog! Users now have the ability to search through the long list of search engines/tools. This is a very major accomplishment, which required a lot of debugging. There is a nice digital clock above the search input! It even has a cool green dropshadow! Though only two big features were added, the reason this took 2 and a half hours was because of one single word. That word, you might be asking, is errors ."}, {"post_id": 59208, "ts": "2026-08-31T21:27:23Z", "hours": 2.7717, "text": "I recently just made a very, very big change to my new tab page! Up until recently, only the Google search engine was supported. But now, it supports 11 search engines and a miraculous number of search tools—44! This totals 66 search options in total! In order to handle these many searching options, each option in the dropdown menu contains a data-url attribute that is then taken by the getSearchURL() function to generate the URL for the search query. And, every tool has a data-category attribute set to “tool” so the code knows that it should never just send the user to the site they entered, if they did enter a site (that wouldn’t work for things like reverse DNS, WHOIS, or certain VirusTotal and other searches). Also, two minor bugs were fixed. The first one was that queries containing slashes, like math equations, would be misinterpreted by the code to be an IP Address. For example, trying to search “24/8” would have taken you to somewhere like https://0.0.0.24.The second bug was that on certain resolutions generally consistent with mobile devices, the div-search div would create a scroll bar for the user due to its length. In order to fix this, I set the flex-direction to column and wrapped the dropdown menu and input into a div so they would be on the same horizontal line, while the search button would be below."}, {"post_id": 58185, "ts": "2026-08-30T15:19:05Z", "hours": 0.6781, "text": "I just sat down and added the ability to differentiate between websites and search queries to my new tab page! Most of the time was spent randomly troubleshooting, because my code was correct, but livereload wasn’t working! I finally found it out when I looked in the developer console and saw my code wasn’t the same as my most recent additions. At least I learned one more thing to check before giving up hope!"}, {"post_id": 57759, "ts": "2026-08-30T01:13:23Z", "hours": 1.3489, "text": "Started TN Search, my own New Tab Page. I thought I would never be able to make something like this, but here I am, already done with one of the hardest parts! It currently has the following features: automatic focusing onto the search input on page load and when the user presses Ctrl + /, the ability to click the enter key instead of the Search button, and a really nice layout! It only supports Google search right now, but I plan to add support for more search engines! You can try it out at tn-search.pages.dev!"}]...
|
Title: TN Search by @tyleruploads | Stardance
Dev Title: TN Search by @tyleruploads | Stardance
Devlogs:
Started TN Search, my own New Tab Page. I thought I would never be able to make something like this, but here I am, already done with one of the hardest parts! It currently has the following features: automatic focusing onto the search input on page load and when the user presses Ctrl + /, the ability to click the enter key instead of the Search button, and a really nice layout! It only supports Google search right now, but I plan to add support for more search engines! You can try it out at tn-search.pages.dev!
I just sat down and added the ability to differentiate between websites and search queries to my new tab page! Most of the time was spent randomly troubleshooting, because my code was correct, but livereload wasn’t working! I finally found it out when I looked in the developer console and saw my code wasn’t the same as my most recent additions. At least I learned one more thing to check before giving up hope!
I recently just made a very, very big change to my new tab page! Up until recently, only the Google search engine was supported. But now, it supports 11 search engines and a miraculous number of search tools—44! This totals 66 search options in total! In order to handle these many searching options, each option in the dropdown menu contains a data-url attribute that is then taken by the getSearchURL() function to generate the URL for the search query. And, every tool has a data-category attribute set to “tool” so the code knows that it should never just send the user to the site they entered, if they did enter a site (that wouldn’t work for things like reverse DNS, WHOIS, or certain VirusTotal and other searches). Also, two minor bugs were fixed. The first one was that queries containing slashes, like math equations, would be misinterpreted by the code to be an IP Address. For example, trying to search “24/8” would have taken you to somewhere like https://0.0.0.24.The second bug was that on certain resolutions generally consistent with mobile devices, the div-search div would create a scroll bar for the user due to its length. In order to fix this, I set the flex-direction to column and wrapped the dropdown menu and input into a div so they would be on the same horizontal line, while the search button would be below.
Well, this is a very, very big devlog! Here is what has been added since the last devlog! Users now have the ability to search through the long list of search engines/tools. This is a very major accomplishment, which required a lot of debugging. There is a nice digital clock above the search input! It even has a cool green dropshadow! Though only two big features were added, the reason this took 2 and a half hours was because of one single word. That word, you might be asking, is errors .
I just added a very nice README to TN Search! I also made a SECURITY.md file for reporting security vulnerabilities, and a search-providers.md that lists every single supported search provider!
I just made it so TN Search saves your search provider choice to local storage so it will persist, forever! While this would normally be a couple second change, there was a lot of error handling I had to do to make this work!
Ships:
I created TN Search, a New Tab Page offering over 50 search engines and tools for various workflows, built for developers, by a developer. It does not utilize any CSS or JavaScript frameworks, and requires no setup (unless you want to make it your new tab page, which requires finding an appropriate extension). When I started this project, I was thinking “Ooh! 60 stardust ! I’ll do it in half an hour!” That statement was partly true, but obviously wasn’t, since I have logged eight hours with this project. While I got a technically fully working site in an hour and 20 minutes, that was far less complex than it is now. While every feature this New Tab page has looks very simple on the outside, they actually require a lot of coding to accomplish, with most of the coding making the features work with each other, not the feature itself. For example, when I added a search option for the dropdown menu, I had to fiddle with datalists for two and a half hours. And the silly thing is, I didn’t assign a value to any of the options! I was just relying on its textContent! That was very hard to add back later! I proud that I sat down for as long as it took each session and grinded through this project. To search for an option, click on the input to the left of the main search box, and simply type what you are thinking of. To view all of the options, visit the search-providers.md file in the documentation. Or, remove the text from the provider input box and click it once more before unfocusing....
|
1793274560.6508293
|
1793360960.6508293
|
|
54455
|
horizon memory by @Rishav | Stardance
|
Rishav
|
1
|
4.0
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T01:41:58Z", "hours": 4.0, "multiplier": 3.6, "payout": 15, "blessing": "neutral", "text": "What did you create? Horizon Memory is a physics-based simulation of quantum decoherence in the vicinity of a Reissner-Nordström black hole based on my previously published research. You can view a qubit being pulled into the black hole, with the live coherence decay expressed in a complex plane spiral graph where you can click the “Measure” button to stop the qubit in its journey at some cost. What was difficult? The most challenging bug I encountered was the race condition, where tapping the “Measure” button multiple times before the previous effect finished would lead to multiple timeouts trying to use the same variable simultaneously. Therefore, I managed to track down that bug early on by using the console and noting the trends. What accomplishment are you most proud of? The surface gravity is not represented using the slider but rather is output based on a real Reissner-Nordström horizon formula; plus, it takes into account the phenomenon known from the physics where we see κ heading toward zero when charge moving toward mass. This finding was drawn from my research, rather than an approximate assumption.", "repo": "https://github.com/rishavjha8515-hub/Horizon-memory", "demo": "https://horizon-memory.vercel.app/"}]...
|
[{"post_id": 60591, "ts": "202 [{"post_id": 60591, "ts": "2026-09-03T01:35:17Z", "hours": 0.5678, "text": "Added mass and charge to the stimulation working"}, {"post_id": 59308, "ts": "2026-09-01T01:01:40Z", "hours": 1.5083, "text": "What happened since last time added a reset buttong and graphical representation the learning still continues"}, {"post_id": 57859, "ts": "2026-08-30T05:30:29Z", "hours": 2.0878, "text": "started working on this project,trying to create a visual representation of qubit decoherence on my own"}]...
|
Title: horizon memory by @Rishav | Stardance
Devl Title: horizon memory by @Rishav | Stardance
Devlogs:
started working on this project,trying to create a visual representation of qubit decoherence on my own
What happened since last time added a reset buttong and graphical representation the learning still continues
Added mass and charge to the stimulation working
Ships:
What did you create? Horizon Memory is a physics-based simulation of quantum decoherence in the vicinity of a Reissner-Nordström black hole based on my previously published research. You can view a qubit being pulled into the black hole, with the live coherence decay expressed in a complex plane spiral graph where you can click the “Measure” button to stop the qubit in its journey at some cost. What was difficult? The most challenging bug I encountered was the race condition, where tapping the “Measure” button multiple times before the previous effect finished would lead to multiple timeouts trying to use the same variable simultaneously. Therefore, I managed to track down that bug early on by using the console and noting the trends. What accomplishment are you most proud of? The surface gravity is not represented using the slider but rather is output based on a real Reissner-Nordström horizon formula; plus, it takes into account the phenomenon known from the physics where we see κ heading toward zero when charge moving toward mass. This finding was drawn from my research, rather than an approximate assumption....
|
1793242199.4620578
|
1793328599.4620578
|
|
57187
|
LaunchUI by @mrnullone | Stardance
|
mrnullone
|
1
|
5.0
|
28
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T01:07:16Z", "hours": 5.0, "multiplier": 5.37, "payout": 28, "blessing": "neutral", "text": "Schools love to make it hard to enjoy things on the internet. On macOS, you often need some sort of proxy server running locally that forwards remote traffic. Issue is, sometimes this server hangs, etc. To help this, you can use a LaunchAgent , which is similar to a systemd unit file for macOS. Even then, the proxy can get stale, especially after closing and reopening the laptop. To get around this, in the past I’d use unlicensed LaunchControl ( https://www.soma-zone.com/LaunchControl/ ) and direct clients to download this and show them the very specific tiny button required to reload the agent. People aren’t very good at learning tho and it caused some headaches. To solve this issue, I hacked together this simple GUI application in SwiftUI (my first time using it!) that wrapped launchctl (the interface for launchd , which controls the agents). It provides two simple easy to use buttons, that allow restarting stale connections, and also parses the label names of the agents to create human readable names for the people that don’t know what com.sidestep.socksproxy means.", "repo": "https://github.com/milesmuehlbach/launchui", "demo": "https://github.com/milesmuehlbach/launchui/releases/1.0"}]...
|
[{"post_id": 60581, "ts": "202 [{"post_id": 60581, "ts": "2026-09-03T01:05:37Z", "hours": 5.1994, "text": "Schools love to make it hard to enjoy things on the internet. On macOS, you often need some sort of proxy server running locally that forwards remote traffic. Issue is, sometimes this server hangs, etc. To help this, you can use a LaunchAgent , which is similar to a systemd unit file for macOS. Even then, the proxy can get stale, especially after closing and reopening the laptop. To get around this, in the past I’d use unlicensed launchcontrol and direct clients to download this and show them the very specific tiny button required to reload the agent. People aren’t very good at learning tho and it caused some headaches. To solve this issue, I hacked together this simple GUI application in SwiftUI (my first time using it!) that wrapped launchctl (the interface for launchd , which controls the agents). It provides two simple easy to use buttons, that allow restarting stale connections, and also parses the label names of the agents to create human readable names for the people that don’t know what com.sidestep.socksproxy means."}]...
|
Title: LaunchUI by @mrnullone | Stardance
Devlogs Title: LaunchUI by @mrnullone | Stardance
Devlogs:
Schools love to make it hard to enjoy things on the internet. On macOS, you often need some sort of proxy server running locally that forwards remote traffic. Issue is, sometimes this server hangs, etc. To help this, you can use a LaunchAgent , which is similar to a systemd unit file for macOS. Even then, the proxy can get stale, especially after closing and reopening the laptop. To get around this, in the past I’d use unlicensed launchcontrol and direct clients to download this and show them the very specific tiny button required to reload the agent. People aren’t very good at learning tho and it caused some headaches. To solve this issue, I hacked together this simple GUI application in SwiftUI (my first time using it!) that wrapped launchctl (the interface for launchd , which controls the agents). It provides two simple easy to use buttons, that allow restarting stale connections, and also parses the label names of the agents to create human readable names for the people that don’t know what com.sidestep.socksproxy means.
Ships:
Schools love to make it hard to enjoy things on the internet. On macOS, you often need some sort of proxy server running locally that forwards remote traffic. Issue is, sometimes this server hangs, etc. To help this, you can use a LaunchAgent , which is similar to a systemd unit file for macOS. Even then, the proxy can get stale, especially after closing and reopening the laptop. To get around this, in the past I’d use unlicensed LaunchControl ( https://www.soma-zone.com/LaunchControl/ ) and direct clients to download this and show them the very specific tiny button required to reload the agent. People aren’t very good at learning tho and it caused some headaches. To solve this issue, I hacked together this simple GUI application in SwiftUI (my first time using it!) that wrapped launchctl (the interface for launchd , which controls the agents). It provides two simple easy to use buttons, that allow restarting stale connections, and also parses the label names of the agents to create human readable names for the people that don’t know what com.sidestep.socksproxy means....
|
1793260219.934039
|
1793346619.934039
|
|
56959
|
World viewer by @planema | Stardance
|
planema
|
1
|
8.0
|
84
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T00:23:56Z", "hours": 8.0, "multiplier": 10.35, "payout": 84, "blessing": "neutral", "text": "I am finally done with finishing up the readme and GitHub pages. I made a website called World Viewer that its purpose is to get almost real time data from nasa and Esri to make a viewable map. You can see all of its cool features on the GitHub readme in more depth, but it has ISS location, imagery date, weather, zoom, and search. I really liked this project because i learned a lot like you can fetch data from satallites and turn it into a functional map. The challenging parts was getting the map to load and making it zoom and layer and things like that. I am proud that I actually was able to do all of this. I know I only had one devlog I was pretty locked in lol. You can try it in your browser by just pressing try project. note: you should probably read the readme first and make sure to look at the note in the readme. Thanks! :)", "repo": "https://github.com/dacowpilot/World-Viewer", "demo": "https://dacowpilot.github.io/World-Viewer"}]...
|
[{"post_id": 60561, "ts": "202 [{"post_id": 60561, "ts": "2026-09-02T23:50:14Z", "hours": 8.0808, "text": "I have been working on a project called world viewer. Its purpose is to be a more recent and updated sattalite view of the world using recent nasa VIIRS and Esri for high quality. There is a search bar and a top tab to show zoom and when the imagery was taken. It can also show the current position of the iss and I might add weather support next."}]...
|
Title: World viewer by @planema | Stardance
Devlo Title: World viewer by @planema | Stardance
Devlogs:
I have been working on a project called world viewer. Its purpose is to be a more recent and updated sattalite view of the world using recent nasa VIIRS and Esri for high quality. There is a search bar and a top tab to show zoom and when the imagery was taken. It can also show the current position of the iss and I might add weather support next.
Ships:
I am finally done with finishing up the readme and GitHub pages. I made a website called World Viewer that its purpose is to get almost real time data from nasa and Esri to make a viewable map. You can see all of its cool features on the GitHub readme in more depth, but it has ISS location, imagery date, weather, zoom, and search. I really liked this project because i learned a lot like you can fetch data from satallites and turn it into a functional map. The challenging parts was getting the map to load and making it zoom and layer and things like that. I am proud that I actually was able to do all of this. I know I only had one devlog I was pretty locked in lol. You can try it in your browser by just pressing try project. note: you should probably read the readme first and make sure to look at the note in the readme. Thanks! :)...
|
1793245774.8492541
|
1793332174.8492541
|
|
32375
|
Music Syncer by @techs-sus | Stardance
|
techs-sus
|
1
|
64.46
|
833
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T23:54:31Z", "hours": 45.0, "multiplier": 18.46, "payout": 833, "blessing": "neutral", "text": "I made a Kotlin CLI program that synchronizes a YouTube Music playlist to a SQLite database locally. I made this because I want to be able to play my music freely even when YouTube Music or my network is down. The main challenge was finding a library that would let me get the data I needed (artist, thumbnail, audio tracks, etc.) from YouTube Music, and I even had to rewrite the entire program in Kotlin from Rust because the library I was using couldn’t download audio properly.", "repo": "https://github.com/techs-sus/music-syncer", "demo": "https://github.com/techs-sus/music-syncer/releases"}]...
|
[{"post_id": 78225, "ts": "202 [{"post_id": 78225, "ts": "2026-10-10T00:53:04Z", "hours": 1.1172, "text": "I fixed another Nix graalvm issue. Some mp4s wouldn’t be tagged properly, so I fixed that."}, {"post_id": 74678, "ts": "2026-09-27T23:46:37Z", "hours": 0.6, "text": "I fixed the binary in Nix, it works now, also updated the asciinema cast it was missing some reachability metadata and required LD_LIBRARY_PATH to be set to the jdk’s libraries."}, {"post_id": 74664, "ts": "2026-09-27T22:23:13Z", "hours": 0.7189, "text": "Tiny change, I switched from scrimage to ImageIO. It works much better and should be less error prone as scrimage would vendor in webp binaries, which is not cross platform."}, {"post_id": 74533, "ts": "2026-09-27T16:04:10Z", "hours": 2.7108, "text": "Squashed more bugs, updated NativeMetadataMain.kt so that reachability metadata includes image i/o. This makes the Graal native image actually work when having to convert from webp to png. This will be a non issue when I can find an image library that is written in pure Kotlin. The last shipwright to review my project tried syncing a mix, which is infinite. So I added an error for that and made sure no one will run into unexplainable errors again."}, {"post_id": 71298, "ts": "2026-09-20T16:18:29Z", "hours": 1.1267, "text": "I added GraalVM native image support. The actual implementation is boring but this makes the program’s cold starts faster and makes it feel more native. Not sure if this helps with battery life, but it might. This definitely helps with memory usage, the program only uses ~100mb syncing my 400 track playlist. I restricted the native image to Nix because the releases are supposed to always work on all platforms."}, {"post_id": 71243, "ts": "2026-09-20T14:51:47Z", "hours": 0.3306, "text": "I finally silenced those pesky slf4j and unsafe memory access warnings. Just added the slf4j-nop library and a JVM flag."}, {"post_id": 70926, "ts": "2026-09-20T01:43:13Z", "hours": 2.5042, "text": "I redid the cli structure to group all the playlist commands under one common playlist parent command. I also implemented a clean up command to help people save disk space because SSDs are expensive right now. For example: music-syncer-kotlin -p path init -> music-syncer-kotlin playlist -p path init This was a necessary step so I could implement the clean up command, which deletes audio and thumbnail files that are not used by any playlists in a container. A container is the folder holding all the databases. Here’s everything I did, stolen from my commit message: feature: add clean-container command - refactor: add hasTrackInDatabase to the Playlist class - refactor: move knownFinal{Audio,Thumbnail}Extension out of class and make it const - refactor: nest all playlist commands as one subcommand - refactor: make cli help text more helpful - refactor: always print something to the console to let the user know that everything went well - refactor: do not use PlaylistHolder, use currentContext.registerJvmCloseable to clean up playlist - fix: when thumbnail is newly created, retag should silently fail"}, {"post_id": 64580, "ts": "2026-09-09T02:50:12Z", "hours": 2.7675, "text": "I watched a Kotlin talk about Flows and I was inspired to rewrite my program using them. This made my program more efficient, idiomatic and also helped me fix the annoying progress bar refresh bug (multiple old bars shown). It also let me actually properly sort by position across all 4 status types (added, removed, moved, errored). I also made the downloading functions use one underlying common function to clean up the codebase. I also removed sqlx4k because it wasn’t actually parallel and was causing issues with init. Here, in the screenshot I am showing the new elegant code for the logging of track statuses. It used to be many individual async calls, but flows allow me to group them up and sort them."}, {"post_id": 64390, "ts": "2026-09-08T18:35:35Z", "hours": 0.81, "text": "I now detect invalid playlist ids and print out an error telling the user how to get a valid playlist id."}, {"post_id": 63814, "ts": "2026-09-07T19:41:24Z", "hours": 0.5508, "text": "I made position diffing aware of insertions and deletions, so that output is less bloated with useless move info such as 0->1, 1->2, etc. I also did some optimization by using database transactions wherever possible. I can’t do it in the main sync body because it is bounded to its own coroutine scope."}, {"post_id": 63724, "ts": "2026-09-07T17:36:43Z", "hours": 1.365, "text": "I added duration tracking to the database. The M3U generation now doesn’t hardcode 0 as the duration."}, {"post_id": 61576, "ts": "2026-09-04T15:35:33Z", "hours": 0.3597, "text": "I made it so that thumbnails should now be even higher quality, it does take more storage but the difference is quite noticeable on some music players. Also small hotfix, if you accidentally pass in another unrelated SQLite database it will now not run migrations on it before erroring."}, {"post_id": 61148, "ts": "2026-09-03T22:22:37Z", "hours": 0.6486, "text": "To help users migrate from the old Rust implementation, I made it so that a sync will re-tag the track if the track’s thumbnail does not exist on disk. The Kotlin implementation always gets higher resolution images, so this allows for much higher resolution track covers."}, {"post_id": 61131, "ts": "2026-09-03T21:37:19Z", "hours": 1.3225, "text": "In my attempt to make the streamExtractor lazily loaded, I caused a deadlock. I have fixed the deadlock and this fixed version is at v0.2.7. The fix was pretty simple, it was to not use CoroutineStart.Lazy because a lazy coroutine may never run, meaning the parent coroutineScope will hang forever. I also switched the backend driver to sqlx4k as it provides a connection pool but more importantly makes the suspend code flow cleaner. I wont switch to Exposed (the official SQL driver) because it doesn’t have the same parallel capabilities as sql4k."}, {"post_id": 60984, "ts": "2026-09-03T17:48:56Z", "hours": 1.7597, "text": "I forgot to add error handling from the original Rust project, so I did that. I also fixed the parallelism by using a Semaphore as limitedParallelism still wakes all the coroutines. Using a Semaphore only allows N permits to be handed out at once. This means that only N tasks would be running at once, given that each task takes one permit. I set N to 8 as that should not cause any throttling but still allow multiple tracks to be downloaded at once. I also implemented better lazy fetching than the old Rust implementation. Now only pieces that must be fetched are fetched, and if they don’t need to be fetched, a StreamExtractor is never fetched. This causes a huge speed up, allowing my ~400 track playlist to be incrementally synced in 8 seconds. Other notable quality of life features (taken from the git log): - refactor: make output use terminal.theme.* - refactor: make output more human readable by using title instead of youtube_playlist_id - fix: reorder items in subtasks so that the text doesn't move everything else"}, {"post_id": 60623, "ts": "2026-09-03T02:30:33Z", "hours": 0.7667, "text": "Shortly after I shipped, I found a better library for progress bars and displaying to the terminal in general. I also made sure that the exists locally log line would be printed out in order. I decided to use it, and I am really happy with the result!!!!"}, {"post_id": 60558, "ts": "2026-09-02T23:48:06Z", "hours": 1.2247, "text": "Preparing to ship the project, so here’s a list of everything I did: added back an edited readme added back the apache 2.0 license fixed the github actions auto release recorded an asciinema cast and put it in the readme made the cli say music-player-kotlin instead of cli …other small changes to make sure its ready for release"}, {"post_id": 60487, "ts": "2026-09-02T21:02:16Z", "hours": 0.7539, "text": "added a progress bar and actually actually fixed the deadlock this time"}, {"post_id": 60469, "ts": "2026-09-02T20:12:04Z", "hours": 0.4286, "text": "I fixed position tracking, so that moved tracks will output a line telling you they have moved. I attempted to fix a deadlock that was happening, and fixed some database queries targetting the wrong table."}, {"post_id": 60450, "ts": "2026-09-02T19:45:23Z", "hours": 1.5511, "text": "I cleaned up the code, bounded parallelism to 8 with limitedParallelism, and tried to optimize the detection of moved tracks"}, {"post_id": 60347, "ts": "2026-09-02T17:08:19Z", "hours": 4.1644, "text": "the rewrite is almost finished thumbnails are now way higher in resolution because we can now get youtube’s webp images. unfortunately jaudiotagger does not support webp images, so i force all images from youtube to turn into a lossless png kotlin is pretty cool, especially coroutines, its like lua’s coroutines but actually backed by a thread pool i need to limit the concurrency but otherwise this is great! very fast even on a debug build what’s left: currently unlimited concurrency, this will definitely crash the jvm on large playlists better terminal output with colors and a diff generator use a temporary table in sqlite to make diffing more memory efficient packaging and ci should be fine since “java runs anywhere”"}, {"post_id": 59975, "ts": "2026-09-02T01:52:56Z", "hours": 4.3806, "text": "i begun porting the project to kotlin while i love rust i also want this project to actually work rustypipe will always be a bit behind youtube’s protections so i decided to just rewrite the whole thing in kotlin so i can use newpipeextractor directly what’s left: tag audio with jaudiotagger use clikt to make a nice command line interface (maybe) add unit tests there is no actual screenshot because i didn’t actually implement the commands yet"}, {"post_id": 51282, "ts": "2026-08-20T20:29:43Z", "hours": 4.3222, "text": "i got rustypipe-botguard working with Nix i still can’t figure out why some videos don’t work sometimes but other videos work all the time i updated the test suite to reflect that"}, {"post_id": 50736, "ts": "2026-08-20T02:44:23Z", "hours": 1.0564, "text": "i finally did the ci pipeline for windows, linux, and macos i wrote a readme but i’ll need to add an asciinema cast to it to make it look better and allow me to ship the project"}, {"post_id": 50703, "ts": "2026-08-20T01:04:16Z", "hours": 1.5878, "text": "thumbnails were really low quality, this change allows for higher quality thumbnails. one example would be 60x60 -> 120x120 still low quality but a higher low quality. other notable changes: unification of all track identifiers into one refetch thumbnails if not existing & do not fetch thumbnail if its {id}.{png,jpeg,jpg} exist m3a -> m3u, it is more compatible with music players (this happened in 4c337f491dd949fdc3f1f5d51363b0342defaac1 on aug 15, i forgot to log it) next thing to do is packaging . this is my worst nightmare so the whole program will be statically linked"}, {"post_id": 50425, "ts": "2026-08-19T16:22:13Z", "hours": 0.5014, "text": "progress bars with tracing-indicatif might have to increase tick rate, it flickers a bunch on release mode"}, {"post_id": 47821, "ts": "2026-08-16T01:05:27Z", "hours": 0.4694, "text": "tracks that are only available as m4a’s can now be downloaded ffmpeg won’t be spawned to remux screenshot is forcefully required so heres the main fix"}, {"post_id": 47801, "ts": "2026-08-16T00:26:22Z", "hours": 3.2114, "text": "/tmp is now only hardcoded in the singular unit test errors are more friendly, m3a generation has been refitted to be m3u generation so that more music players are supported, fixed a bug where songs would be downloaded with audio/{id}..m4a which is an invalid path, and updated the user agent to be a firefox extended support release so i dont have to update it more downloads were broken by the rustypipe switch, so i fixed them by forcing the AndroidVr client. some tracks are weird and still don’t work, but most do"}, {"post_id": 45281, "ts": "2026-08-11T17:10:58Z", "hours": 0.3233, "text": "i fixed the nix build this should allow me to cross compile to windows (maybe with mingw, and after i don’t hardcode /tmp), mac, and linux"}, {"post_id": 45263, "ts": "2026-08-11T16:43:26Z", "hours": 1.645, "text": "i switched from kopuz-server to rustypipe it is much faster and more accurate which may allow me to bypass youtube music’s weird quirk of some tracks only being playable directly on youtube the playlist is now synced in 3.2 seconds, and not 5"}, {"post_id": 44961, "ts": "2026-08-11T02:10:07Z", "hours": 0.8017, "text": "i made tracks that cause errors to show up in the diff form"}, {"post_id": 44936, "ts": "2026-08-11T01:05:27Z", "hours": 1.8956, "text": "i added the base diffing feature i wanted i still need to make it filter out tracks that are unfetchable that are currently marked as “removed” and i need to rename the project to music-syncer"}, {"post_id": 43011, "ts": "2026-08-08T01:30:07Z", "hours": 0.4114, "text": "i added configurable concurrency it doesn’t seem to improve download or sync times but i think now it has to be stdio performance thats holding it back, logging is not free"}, {"post_id": 42935, "ts": "2026-08-07T22:27:17Z", "hours": 0.2881, "text": "i shrunk the number of crates being built from 700-800 to 500 by stripping my fork of kopuz-server of all bloat it depended on lots of crates and most importantly it doesn’t rely on rusqlite 0.31 and sqlx 0.8 the screenshot shows how much smaller the build is now"}, {"post_id": 42401, "ts": "2026-08-07T02:51:53Z", "hours": 0.7711, "text": "parallelism!!! i was able to download my whole playlist in ~30 seconds (with unbounded parallelism that lagged the rest of my laptop) next steps: maybe change parallelism from hardcoded 16 to num_cpus::get() or ask tokio how many threads we have use ratatui and display the status of each song being downloaded, since we’re using tracing we can use https://github.com/gin66/tui-logger use color_eyre https://ratatui.rs/recipes/apps/color-eyre/ maybe add login, some songs are age restricted (even if they have no lyrics) definitely add configurable parallelism; i think this software would rip through playlists if it had more sqlite connections and more threads not really any screenshots to show anymore……. but i can try and show how many tracks were downloaded successfully and how long it took the screenshot is bounded by 16 futures at a time, which is probably too small and the sqlite connection pool is capped at 5. 2 minutes is a lot. but on a good note incremental syncs only take ~5.7 seconds"}, {"post_id": 42363, "ts": "2026-08-07T01:25:53Z", "hours": 2.9161, "text": "i switched to sqlx and the code is much cleaner but now i have to hack around how sqlx builds offline with SQLX_OFFLINE=true cargo build but i only have to do it once then its cached using sqlx is much more developer friendly and it taught me that a connection pool can harm the application because temp tables are only kept per connection not per entire database since nothing really changed but the code became cleaner i will show another music player that can display the generated playlist"}, {"post_id": 42258, "ts": "2026-08-06T21:41:07Z", "hours": 2.185, "text": "audio metadata for this dev log you will see 2 hours for one command spawn and a small refactor. but what you have not seen was 2 hours fighting ffmpeg-next, ffmpeg-sys-next, bindgen, libclang all that to say i decided to not link against ffmpeg, and i am much happier with the result audio players get the title, artist, even cover art all from the track’s metadata unfortunately, youtube music does not attach metadata to the tracks we scrape, so we need to attach metadata attaching metadata to audio files is actually pretty simple thanks to the lofty crate unless the file is a webm. webm does not have any sort of audio metadata (?) so you will need to transcode webm into another audio format to put metadata into the file. i decided to just pick m4a because everything supports it. lastly i did a small refactor because main.rs was pushing 600 lines of code, and i plan to: separate the db functions from the Playlist struct make the code truly asynchronous, which involves moving to sqlx pipeline everything the end result is pretty metadata in Gapless (or any other modern music player)"}, {"post_id": 42119, "ts": "2026-08-06T18:10:03Z", "hours": 0.3578, "text": "I switched from directly printing to stderr to using tracing. The m3a playlist generation works quite well, as you can see in the screenshot."}, {"post_id": 42100, "ts": "2026-08-06T17:43:20Z", "hours": 5.0975, "text": "after a lot of thinking i decided to not make a music player and instead decided to instead make a really fast youtube music playlist syncer the upstream library i was gonna use anyway does not expose YoutubeMusicClient, so i forked it and added a patch so i can use that everything was working until i realized downloads were really slow and the fix was to add a Range header with a value of “bytes=0-” and now downloads are very fast. i suspect that this makes my code look like a real browser to youtube/google which lets me get the normal download speed. i used rusqlite (sqlite rust wrapper) and each playlist is its own database file. i might switch to sqlx because it has compile time sql checking and has a very good async sqlite wrapper everything should work except m3a playlist generation, there are no good m3a playlist libraries so i hand coded it myself and have not tested it yet; UPDATE: it works i tested it now i plan on adding thumbnail deduplication, songs from the same album can have the same thumbnail"}, {"post_id": 24905, "ts": "2026-07-08T19:23:54Z", "hours": 0.8556, "text": "i added support for loading custom tinted-theming themes such as from https://github.com/tinted-theming/schemes the screenshot is using ayu_dark: https://github.com/tinted-theming/schemes/blob/spec-0.11/base16/ayu-dark.yaml"}, {"post_id": 24854, "ts": "2026-07-08T18:14:47Z", "hours": 1.3539, "text": "i added the base code for base16 themes and the skeleton sidebar (no buttons or actual pages yet) i plan for the sidebar to do something with navigation so like a playlists button and because i want the music player to be minimal it will probably become floating and will probably become a small menu icon that when clicked will expose the Playlists button i will probably make some sort of abstract button wrapper since i still need to make the actual full screen player ui which will at least have 3 icons (pause/play, backwards, forwards) the slow resizing issue was fixed by using gpui’s git repository and not crates.io the next steps are to add custom theme support which means i will need to also locate a config folder; i plan on using https://codeberg.org/dirs/directories-rs ; colors will probably be in yaml so that you can copy and paste tinted-theming schemes from https://github.com/tinted-theming/schemes other config settings will likely be in toml oh also i will need to set up automatic binary releases for amd64 and arm64 on linux and macos with github actions, which should be easier because it already uses Nix"}, {"post_id": 24798, "ts": "2026-07-08T16:20:27Z", "hours": 1.6167, "text": "gpui at least with the crates.io version has very slow resizing so i might switch to iced i have some ideas for how data will be stored: sqlite for database engine via sqlx or pure rust library (depends on which one allows to decode into structs) migrations can be done as a map to sql string (version -> appropriate migration) each playlist can be its own database & can store its own downloaded songs because fetching from db is faster: https://sqlite.org/fasterthanfs.html settings (theme) can be done in toml i have also disabled bounds on the gpui window, so thats the screenshot"}, {"post_id": 24396, "ts": "2026-07-07T22:28:27Z", "hours": 0.9344, "text": "I set up the flake at first using rust-overlay but realized crane is probably better so I asked opencode to refactor it to use crane The default gpui example now runs"}]...
|
Title: Music Syncer by @techs-sus | Stardance
Dev Title: Music Syncer by @techs-sus | Stardance
Devlogs:
I set up the flake at first using rust-overlay but realized crane is probably better so I asked opencode to refactor it to use crane The default gpui example now runs
gpui at least with the crates.io version has very slow resizing so i might switch to iced i have some ideas for how data will be stored: sqlite for database engine via sqlx or pure rust library (depends on which one allows to decode into structs) migrations can be done as a map to sql string (version -> appropriate migration) each playlist can be its own database & can store its own downloaded songs because fetching from db is faster: https://sqlite.org/fasterthanfs.html settings (theme) can be done in toml i have also disabled bounds on the gpui window, so thats the screenshot
i added the base code for base16 themes and the skeleton sidebar (no buttons or actual pages yet) i plan for the sidebar to do something with navigation so like a playlists button and because i want the music player to be minimal it will probably become floating and will probably become a small menu icon that when clicked will expose the Playlists button i will probably make some sort of abstract button wrapper since i still need to make the actual full screen player ui which will at least have 3 icons (pause/play, backwards, forwards) the slow resizing issue was fixed by using gpui’s git repository and not crates.io the next steps are to add custom theme support which means i will need to also locate a config folder; i plan on using https://codeberg.org/dirs/directories-rs ; colors will probably be in yaml so that you can copy and paste tinted-theming schemes from https://github.com/tinted-theming/schemes other config settings will likely be in toml oh also i will need to set up automatic binary releases for amd64 and arm64 on linux and macos with github actions, which should be easier because it already uses Nix
i added support for loading custom tinted-theming themes such as from https://github.com/tinted-theming/schemes the screenshot is using ayu_dark: https://github.com/tinted-theming/schemes/blob/spec-0.11/base16/ayu-dark.yaml
after a lot of thinking i decided to not make a music player and instead decided to instead make a really fast youtube music playlist syncer the upstream library i was gonna use anyway does not expose YoutubeMusicClient, so i forked it and added a patch so i can use that everything was working until i realized downloads were really slow and the fix was to add a Range header with a value of “bytes=0-” and now downloads are very fast. i suspect that this makes my code look like a real browser to youtube/google which lets me get the normal download speed. i used rusqlite (sqlite rust wrapper) and each playlist is its own database file. i might switch to sqlx because it has compile time sql checking and has a very good async sqlite wrapper everything should work except m3a playlist generation, there are no good m3a playlist libraries so i hand coded it myself and have not tested it yet; UPDATE: it works i tested it now i plan on adding thumbnail deduplication, songs from the same album can have the same thumbnail
I switched from directly printing to stderr to using tracing. The m3a playlist generation works quite well, as you can see in the screenshot.
audio metadata for this dev log you will see 2 hours for one command spawn and a small refactor. but what you have not seen was 2 hours fighting ffmpeg-next, ffmpeg-sys-next, bindgen, libclang all that to say i decided to not link against ffmpeg, and i am much happier with the result audio players get the title, artist, even cover art all from the track’s metadata unfortunately, youtube music does not attach metadata to the tracks we scrape, so we need to attach metadata attaching metadata to audio files is actually pretty simple thanks to the lofty crate unless the file is a webm. webm does not have any sort of audio metadata (?) so you will need to transcode webm into another audio format to put metadata into the file. i decided to just pick m4a because everything supports it. lastly i did a small refactor because main.rs was pushing 600 lines of code, and i plan to: separate the db functions from the Playlist struct make the code truly asynchronous, which involves moving to sqlx pipeline everything the end result is pretty metadata in Gapless (or any other modern music player)
i switched to sqlx and the code is much cleaner but now i have to hack around how sqlx builds offline with SQLX_OFFLINE=true cargo build but i only have to do it once then its cached using sqlx is much more developer friendly and it taught me that a connection pool can harm the application because temp tables are only kept per connection not per entire database since nothing really changed but the code became cleaner i will show another music player that can display the generated playlist
parallelism!!! i was able to download my whole playlist in ~30 seconds (with unbounded parallelism that lagged the rest of my laptop) next steps: maybe change parallelism from hardcoded 16 to num_cpus::get() or ask tokio how many threads we have use ratatui and display the status of each song being downloaded, since we’re using tracing we can use https://github.com/gin66/tui-logger use color_eyre https://ratatui.rs/recipes/apps/color-eyre/ maybe add login, some songs are age restricted (even if they have no lyrics) definitely add configurable parallelism; i think this software would rip through playlists if it had more sqlite connections and more threads not really any screenshots to show anymore……. but i can try and show how many tracks were downloaded successfully and how long it took the screenshot is bounded by 16 futures at a time, which is probably too small and the sqlite connection pool is capped at 5. 2 minutes is a lot. but on a good note incremental syncs only take ~5.7 seconds
i shrunk the number of crates being built from 700-800 to 500 by stripping my fork of kopuz-server of all bloat it depended on lots of crates and most importantly it doesn’t rely on rusqlite 0.31 and sqlx 0.8 the screenshot shows how much smaller the build is now
i added configurable concurrency it doesn’t seem to improve download or sync times but i think now it has to be stdio performance thats holding it back, logging is not free
i added the base diffing feature i wanted i still need to make it filter out tracks that are unfetchable that are currently marked as “removed” and i need to rename the project to music-syncer
i made tracks that cause errors to show up in the diff form
i switched from kopuz-server to rustypipe it is much faster and more accurate which may allow me to bypass youtube music’s weird quirk of some tracks only being playable directly on youtube the playlist is now synced in 3.2 seconds, and not 5
i fixed the nix build this should allow me to cross compile to windows (maybe with mingw, and after i don’t hardcode /tmp), mac, and linux
/tmp is now only hardcoded in the singular unit test errors are more friendly, m3a generation has been refitted to be m3u generation so that more music players are supported, fixed a bug where songs would be downloaded with audio/{id}..m4a which is an invalid path, and updated the user agent to be a firefox extended support release so i dont have to update it more downloads were broken by the rustypipe switch, so i fixed them by forcing the AndroidVr client. some tracks are weird and still don’t work, but most do
tracks that are only available as m4a’s can now be downloaded ffmpeg won’t be spawned to remux screenshot is forcefully required so heres the main fix
progress bars with tracing-indicatif might have to increase tick rate, it flickers a bunch on release mode
thumbnails were really low quality, this change allows for higher quality thumbnails. one example would be 60x60 -> 120x120 still low quality but a higher low quality. other notable changes: unification of all track identifiers into one refetch thumbnails if not existing & do not fetch thumbnail if its {id}.{png,jpeg,jpg} exist m3a -> m3u, it is more compatible with music players (this happened in 4c337f491dd949fdc3f1f5d51363b0342defaac1 on aug 15, i forgot to log it) next thing to do is packaging . this is my worst nightmare so the whole program will be statically linked
i finally did the ci pipeline for windows, linux, and macos i wrote a readme but i’ll need to add an asciinema cast to it to make it look better and allow me to ship the project
i got rustypipe-botguard working with Nix i still can’t figure out why some videos don’t work sometimes but other videos work all the time i updated the test suite to reflect that
i begun porting the project to kotlin while i love rust i also want this project to actually work rustypipe will always be a bit behind youtube’s protections so i decided to just rewrite the whole thing in kotlin so i can use newpipeextractor directly what’s left: tag audio with jaudiotagger use clikt to make a nice command line interface (maybe) add unit tests there is no actual screenshot because i didn’t actually implement the commands yet
the rewrite is almost finished thumbnails are now way higher in resolution because we can now get youtube’s webp images. unfortunately jaudiotagger does not support webp images, so i force all images from youtube to turn into a lossless png kotlin is pretty cool, especially coroutines, its like lua’s coroutines but actually backed by a thread pool i need to limit the concurrency but otherwise this is great! very fast even on a debug build what’s left: currently unlimited concurrency, this will definitely crash the jvm on large playlists better terminal output with colors and a diff generator use a temporary table in sqlite to make diffing more memory efficient packaging and ci should be fine since “java runs anywhere”
I cleaned up the code, bounded parallelism to 8 with limitedParallelism, and tried to optimize the detection of moved tracks
I fixed position tracking, so that moved tracks will output a line telling you they have moved. I attempted to fix a deadlock that was happening, and fixed some database queries targetting the wrong table.
added a progress bar and actually actually fixed the deadlock this time
Preparing to ship the project, so here’s a list of everything I did: added back an edited readme added back the apache 2.0 license fixed the github actions auto release recorded an asciinema cast and put it in the readme made the cli say music-player-kotlin instead of cli …other small changes to make sure its ready for release
Shortly after I shipped, I found a better library for progress bars and displaying to the terminal in general. I also made sure that the exists locally log line would be printed out in order. I decided to use it, and I am really happy with the result!!!!
I forgot to add error handling from the original Rust project, so I did that. I also fixed the parallelism by using a Semaphore as limitedParallelism still wakes all the coroutines. Using a Semaphore only allows N permits to be handed out at once. This means that only N tasks would be running at once, given that each task takes one permit. I set N to 8 as that should not cause any throttling but still allow multiple tracks to be downloaded at once. I also implemented better lazy fetching than the old Rust implementation. Now only pieces that must be fetched are fetched, and if they don’t need to be fetched, a StreamExtractor is never fetched. This causes a huge speed up, allowing my ~400 track playlist to be incrementally synced in 8 seconds. Other notable quality of life features (taken from the git log): - refactor: make output use terminal.theme.* - refactor: make output more human readable by using title instead of youtube_playlist_id - fix: reorder items in subtasks so that the text doesn't move everything else
In my attempt to make the streamExtractor lazily loaded, I caused a deadlock. I have fixed the deadlock and this fixed version is at v0.2.7. The fix was pretty simple, it was to not use CoroutineStart.Lazy because a lazy coroutine may never run, meaning the parent coroutineScope will hang forever. I also switched the backend driver to sqlx4k as it provides a connection pool but more importantly makes the suspend code flow cleaner. I wont switch to Exposed (the official SQL driver) because it doesn’t have the same parallel capabilities as sql4k.
To help users migrate from the old Rust implementation, I made it so that a sync will re-tag the track if the track’s thumbnail does not exist on disk. The Kotlin implementation always gets higher resolution images, so this allows for much higher resolution track covers.
I made it so that thumbnails should now be even higher quality, it does take more storage but the difference is quite noticeable on some music players. Also small hotfix, if you accidentally pass in another unrelated SQLite database it will now not run migrations on it before erroring.
I added duration tracking to the database. The M3U generation now doesn’t hardcode 0 as the duration.
I made position diffing aware of insertions and deletions, so that output is less bloated with useless move info such as 0->1, 1->2, etc. I also did some optimization by using database transactions wherever possible. I can’t do it in the main sync body because it is bounded to its own coroutine scope.
I now detect invalid playlist ids and print out an error telling the user how to get a valid playlist id.
I watched a Kotlin talk about Flows and I was inspired to rewrite my program using them. This made my program more efficient, idiomatic and also helped me fix the annoying progress bar refresh bug (multiple old bars shown). It also let me actually properly sort by position across all 4 status types (added, removed, moved, errored). I also made the downloading functions use one underlying common function to clean up the codebase. I also removed sqlx4k because it wasn’t actually parallel and was causing issues with init. Here, in the screenshot I am showing the new elegant code for the logging of track statuses. It used to be many individual async calls, but flows allow me to group them up and sort them.
I redid the cli structure to group all the playlist commands under one common playlist parent command. I also implemented a clean up command to help people save disk space because SSDs are expensive right now. For example: music-syncer-kotlin -p path init -> music-syncer-kotlin playlist -p path init This was a necessary step so I could implement the clean up command, which deletes audio and thumbnail files that are not used by any playlists in a container. A container is the folder holding all the databases. Here’s everything I did, stolen from my commit message: feature: add clean-container command - refactor: add hasTrackInDatabase to the Playlist class - refactor: move knownFinal{Audio,Thumbnail}Extension out of class and make it const - refactor: nest all playlist commands as one subcommand - refactor: make cli help text more helpful - refactor: always print something to the console to let the user know that everything went well - refactor: do not use PlaylistHolder, use currentContext.registerJvmCloseable to clean up playlist - fix: when thumbnail is newly created, retag should silently fail
I finally silenced those pesky slf4j and unsafe memory access warnings. Just added the slf4j-nop library and a JVM flag.
I added GraalVM native image support. The actual implementation is boring but this makes the program’s cold starts faster and makes it feel more native. Not sure if this helps with battery life, but it might. This definitely helps with memory usage, the program only uses ~100mb syncing my 400 track playlist. I restricted the native image to Nix because the releases are supposed to always work on all platforms.
Squashed more bugs, updated NativeMetadataMain.kt so that reachability metadata includes image i/o. This makes the Graal native image actually work when having to convert from webp to png. This will be a non issue when I can find an image library that is written in pure Kotlin. The last shipwright to review my project tried syncing a mix, which is infinite. So I added an error for that and made sure no one will run into unexplainable errors again.
Tiny change, I switched from scrimage to ImageIO. It works much better and should be less error prone as scrimage would vendor in webp binaries, which is not cross platform.
I fixed the binary in Nix, it works now, also updated the asciinema cast it was missing some reachability metadata and required LD_LIBRARY_PATH to be set to the jdk’s libraries.
I fixed another Nix graalvm issue. Some mp4s wouldn’t be tagged properly, so I fixed that.
Ships:
I made a Kotlin CLI program that synchronizes a YouTube Music playlist to a SQLite database locally. I made this because I want to be able to play my music freely even when YouTube Music or my network is down. The main challenge was finding a library that would let me get the data I needed (artist, thumbnail, audio tracks, etc.) from YouTube Music, and I even had to rewrite the entire program in Kotlin from Rust because the library I was using couldn’t download audio properly....
|
1793263746.2942474
|
1793350146.2942474
|
|
56935
|
Silly TRN by @tyleruploads | Stardance
|
tyleruploads
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T22:58:54Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple Slack bot named Silly TRN in node.js! I am proud of myself because in order to make this, I got a Nest container, which will help me with my future coding projects! It was also the first time I’ve ever needed to use a .env file in any of my projects! This was my first node.js project (that I remember)!", "repo": "https://github.com/tyleruploads/silly-trn", "demo": "https://hackclub.enterprise.slack.com/archives/C0BTTQX67AT"}]...
|
[{"post_id": 59836, "ts": "202 [{"post_id": 59836, "ts": "2026-09-01T20:12:57Z", "hours": 1.0153, "text": "I created my Slack Bot, Silly TRN, and added many commands! I also hosted it to Nest! The full list of commands are below! NOTE: Silly TRN being unable to add numbers is not an error, but rather a purposeful feature. /silly-trn-help - The command you just ran /silly-trn-ping - Check bot latency /silly-trn-time - Everyone wants to see the time, right? /silly-trn-quote - Get an awesome quote from Silly TRN! /silly-trn-say - Makes Silly TRN Say Someting /silly-trn-add - I wonder what won’t happen!`"}]...
|
Title: Silly TRN by @tyleruploads | Stardance
Dev Title: Silly TRN by @tyleruploads | Stardance
Devlogs:
I created my Slack Bot, Silly TRN, and added many commands! I also hosted it to Nest! The full list of commands are below! NOTE: Silly TRN being unable to add numbers is not an error, but rather a purposeful feature. /silly-trn-help - The command you just ran /silly-trn-ping - Check bot latency /silly-trn-time - Everyone wants to see the time, right? /silly-trn-quote - Get an awesome quote from Silly TRN! /silly-trn-say - Makes Silly TRN Say Someting /silly-trn-add - I wonder what won’t happen!`
Ships:
I made a simple Slack bot named Silly TRN in node.js! I am proud of myself because in order to make this, I got a Nest container, which will help me with my future coding projects! It was also the first time I’ve ever needed to use a .env file in any of my projects! This was my first node.js project (that I remember)!...
|
1793238663.3294792
|
1793325063.3294792
|
|
57578
|
My Web Os by @migueletchelanc | Stardance
|
migueletchelanc
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T22:50:37Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I did my first version of MiyabiOS, my first WebOS with some help of kimi k3. Some bugs of the embedding system and the wallpaper change system were really difficult to solve, but with the help of kimi we solved it very fast. This is my 2nd time coding in HTML, CSS and JavaScript, i usually code in python. There are still some changes i need to make, and some sites, like youtube homepage, aint opening on the “add app” function, if you wanna use youtube you need to paste a video url or embedding url. Its inspired by hoshimi miyabi from zenless zone zero and mac os with a little bit of frutiger aero style.", "repo": "https://github.com/migueletchelanc-png/MiyabiOS", "demo": "https://migueletchelanc-png.github.io/MiyabiOS/"}]...
|
[{"post_id": 60429, "ts": "202 [{"post_id": 60429, "ts": "2026-09-02T18:55:03Z", "hours": 0.7383, "text": "(Devlog #2) Finished welcome page, added built in google search and a config app, you can add apps like youtube, github and other sites or change the wallpaper by pasting the url of the site or an image url for the wallpaper! (Note: if you want to add youtube you need to put a video url because the homepage of youtube cant be embedded, some other sites that doesnt allow embedding cant be added.)"}, {"post_id": 60357, "ts": "2026-09-02T17:23:28Z", "hours": 0.5256, "text": "(Devlog # 1) Im working on the welcome page!"}]...
|
Title: My Web Os by @migueletchelanc | Stardance
Title: My Web Os by @migueletchelanc | Stardance
Devlogs:
(Devlog # 1) Im working on the welcome page!
(Devlog #2) Finished welcome page, added built in google search and a config app, you can add apps like youtube, github and other sites or change the wallpaper by pasting the url of the site or an image url for the wallpaper! (Note: if you want to add youtube you need to put a video url because the homepage of youtube cant be embedded, some other sites that doesnt allow embedding cant be added.)
Ships:
I did my first version of MiyabiOS, my first WebOS with some help of kimi k3. Some bugs of the embedding system and the wallpaper change system were really difficult to solve, but with the help of kimi we solved it very fast. This is my 2nd time coding in HTML, CSS and JavaScript, i usually code in python. There are still some changes i need to make, and some sites, like youtube homepage, aint opening on the “add app” function, if you wanna use youtube you need to paste a video url or embedding url. Its inspired by hoshimi miyabi from zenless zone zero and mac os with a little bit of frutiger aero style....
|
1793288993.472663
|
1793375393.472663
|
|
57627
|
Portfolio by @faisalshayan | Stardance
|
faisalshayan
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T22:30:05Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So i build a Portfolio Builder in which you can get a landing page in minutes without explaining it from the start what needs to be build. The most Challenging part was to hide the api key from the frontend. It is completely free and Will happy to get some reviews!", "repo": "https://github.com/NEXWEB-dot/PortAI", "demo": "https://nexweb-dot.github.io/PortAI/"}]...
|
[{"post_id": 60525, "ts": "202 [{"post_id": 60525, "ts": "2026-09-02T22:26:59Z", "hours": 1.1564, "text": "Finished the web open for testing Will be happy to get some reviews! It is a portfolio builder"}, {"post_id": 60441, "ts": "2026-09-02T19:30:59Z", "hours": 0.3408, "text": "Devlog #1 — AI Portfolio Builder What I’m building: An AI-powered portfolio generator where anyone can fill in their name, skills, projects and social links and instantly get a fully designed, downloadable portfolio website. No coding required. Why I built this: Most people don’t know how to make a portfolio. I wanted to make it so anyone — a student, a freelancer, a developer — can get a professional portfolio in under 2 minutes just by filling a form. What I did today: Set up the project structure in Cursor Designed the landing page UI with a clean dark theme Built the multi-step form (name, bio, skills, projects, links) Integrated Gemini AI API to generate portfolio HTML from user input Added live preview so users can see their portfolio before downloading Tech stack: TypeScript,JSON,Javascript Google Gemini API for AI generation Github Deployment Challenges: Getting the AI to generate clean, structured HTML consistently took some prompt engineering. Had to be very specific in the system prompt. What’s next: Add theme selection (dark/light) Add download as HTML button Polish mobile responsiveness Ship it!"}]...
|
Title: Portfolio by @faisalshayan | Stardance
Dev Title: Portfolio by @faisalshayan | Stardance
Devlogs:
Devlog #1 — AI Portfolio Builder What I’m building: An AI-powered portfolio generator where anyone can fill in their name, skills, projects and social links and instantly get a fully designed, downloadable portfolio website. No coding required. Why I built this: Most people don’t know how to make a portfolio. I wanted to make it so anyone — a student, a freelancer, a developer — can get a professional portfolio in under 2 minutes just by filling a form. What I did today: Set up the project structure in Cursor Designed the landing page UI with a clean dark theme Built the multi-step form (name, bio, skills, projects, links) Integrated Gemini AI API to generate portfolio HTML from user input Added live preview so users can see their portfolio before downloading Tech stack: TypeScript,JSON,Javascript Google Gemini API for AI generation Github Deployment Challenges: Getting the AI to generate clean, structured HTML consistently took some prompt engineering. Had to be very specific in the system prompt. What’s next: Add theme selection (dark/light) Add download as HTML button Polish mobile responsiveness Ship it!
Finished the web open for testing Will be happy to get some reviews! It is a portfolio builder
Ships:
So i build a Portfolio Builder in which you can get a landing page in minutes without explaining it from the start what needs to be build. The most Challenging part was to hide the api key from the frontend. It is completely free and Will happy to get some reviews!...
|
1793292898.7403176
|
1793379298.7403176
|
|
52676
|
Daemonagotchi by @Maxye4655 | Stardance
|
Maxye4655
|
2
|
4.0
|
16
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T22:15:01Z", "hours": 1.0, "multiplier": 5.45, "payout": 3, "blessing": "neutral", "text": "This is my final ship for this project.", "repo": "https://github.com/Maxye4655/Daemonagotchi", "demo": "https://github.com/Maxye4655/Daemonagotchi/releases/tag/v1.0"}, {"ship_num": 2, "ts": "2026-08-24T10:14:35Z", "hours": 3.0, "multiplier": 3.61, "payout": 13, "blessing": "neutral", "text": "A terminal-based virtual pet inspired by Tamagotchis whose brain is an LLM. Your pet lives in a persistent simulated world: it thinks, wanders, eats, sleeps, and remembers what happens to it. This will not be my final version, there is a lot I want to add, such as figuring out a way to make the ASCII generation more consistent.", "repo": "https://github.com/Maxye4655/Daemonagotchi", "demo": "https://github.com/Maxye4655/Daemonagotchi/releases/tag/v1.0"}]...
|
[{"post_id": 56287, "ts": "202 [{"post_id": 56287, "ts": "2026-08-28T00:10:31Z", "hours": 0.5228, "text": "Remade the TUI"}, {"post_id": 53661, "ts": "2026-08-24T10:10:34Z", "hours": 0.7711, "text": "I have made the “Final” touches before shipping this project for the first time. I sorta improved the TUI and the ASCII generation, it doesn’t have any errors anymore, but it sometimes generates some funky looking characters (I attached a screenshot of it.)."}, {"post_id": 53600, "ts": "2026-08-24T07:05:42Z", "hours": 0.7328, "text": "Added a TUI and made the first version of the ASCII generation, looks pretty mid right now, so next steps will be to: 1. make TUI better 2. Make ASCII generation better 3. add a ASCII “map” that shows created locations"}, {"post_id": 53588, "ts": "2026-08-24T06:13:29Z", "hours": 0.5319, "text": "Put it into a basic tui, next step will be to add Ascii generation based on the pet’s mood, species etc"}, {"post_id": 53524, "ts": "2026-08-24T03:16:51Z", "hours": 0.2969, "text": "I have switched from using a local Ai model to using a free cloud hosted model through groq. The next steps will be to create a proper TUI and ASCII art for the pet. I want to see if I can get AI to dynamically generate the ASCII based on the Pet’s description, species and current actions"}, {"post_id": 53504, "ts": "2026-08-24T02:30:34Z", "hours": 0.3644, "text": "Added the AI to the tomogatchi game, you can now create parts of the world, and your pet will now act on it’s own when you use the command “step” Next I will add, TUI and memory, as well as pet customisation and eventually ASCII art for the pets, (May be AI generated as well, based on an appearance prompt from the user.)"}, {"post_id": 53485, "ts": "2026-08-24T01:40:31Z", "hours": 0.7744, "text": "Added the super basic functions of a tamagotchi (Feeding, sleeping, hunger, energy etc.) My next steps will be to add AI, yes AI to this."}]...
|
Title: Daemonagotchi by @Maxye4655 | Stardance
De Title: Daemonagotchi by @Maxye4655 | Stardance
Devlogs:
Added the super basic functions of a tamagotchi (Feeding, sleeping, hunger, energy etc.) My next steps will be to add AI, yes AI to this.
Added the AI to the tomogatchi game, you can now create parts of the world, and your pet will now act on it’s own when you use the command “step” Next I will add, TUI and memory, as well as pet customisation and eventually ASCII art for the pets, (May be AI generated as well, based on an appearance prompt from the user.)
I have switched from using a local Ai model to using a free cloud hosted model through groq. The next steps will be to create a proper TUI and ASCII art for the pet. I want to see if I can get AI to dynamically generate the ASCII based on the Pet’s description, species and current actions
Put it into a basic tui, next step will be to add Ascii generation based on the pet’s mood, species etc
Added a TUI and made the first version of the ASCII generation, looks pretty mid right now, so next steps will be to: 1. make TUI better 2. Make ASCII generation better 3. add a ASCII “map” that shows created locations
I have made the “Final” touches before shipping this project for the first time. I sorta improved the TUI and the ASCII generation, it doesn’t have any errors anymore, but it sometimes generates some funky looking characters (I attached a screenshot of it.).
Remade the TUI
Ships:
A terminal-based virtual pet inspired by Tamagotchis whose brain is an LLM. Your pet lives in a persistent simulated world: it thinks, wanders, eats, sleeps, and remembers what happens to it. This will not be my final version, there is a lot I want to add, such as figuring out a way to make the ASCII generation more consistent.
This is my final ship for this project....
|
1793267727.39657
|
1793354127.39657
|
|
56950
|
Science Fair Portfolio by @sklebi | Stardance
|
sklebi
|
1
|
13.91
|
82
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T21:17:02Z", "hours": 10.0, "multiplier": 7.89, "payout": 82, "blessing": "neutral", "text": "This is a portfolio website for my science research team :) We needed a portfolio website for cold emailing so we could display our skills so I decided to make it. (also be cause it is quite fun) This website was inspired by sharyap.com because I really liked the design and feeling it gave off. The website is best used with a desktop device (mobile doesn’t really work too well) and you can drag, drop, and stack the various windows together. There is a dark to light mode switch in the top left corner that inverts the color palette as well as sound effects that play when you click specific buttons. I hope you enjoy playing around with the website!", "repo": "https://github.com/Sklebi/squigs_website", "demo": "http://www.squigs.org/"}]...
|
[{"post_id": 74826, "ts": "202 [{"post_id": 74826, "ts": "2026-09-28T11:57:18Z", "hours": 3.915, "text": "Changed the text, added GIFS and resumes"}, {"post_id": 60481, "ts": "2026-09-02T20:38:42Z", "hours": 0.715, "text": "Devlog #5 (FINAL DEVLOG) I bought my second ever domain :) I connected it to github pages so hopefully the DNS check goes through sometime soon… BUT the rest of the website is pretty much complete. For the mobile version, I was kinda too lazy to switch everything around again so I just added a little notification on the bottom telling the user that the website is made for desktop devices and will be pretty wonky on the mobile version. I switched up some colors around again to just make everything match and flow a little better. I think I really like how this website came out and hopefully it will be fully functioning! p.s: huge thanks to the big AZ for making me the backgrounds lol"}, {"post_id": 60352, "ts": "2026-09-02T17:18:36Z", "hours": 4.8725, "text": "Devlog #4 Profiles all complete! I finished everybody’s about me with their descriptions and accent colors. I changed the highlight color for each one to make it more custom and added more font awesome emojis I added dark mode after watching a tutorial on it and tracked/inverted all my colors. I think darkmode looks pretty good for now (not perfect but highkey im too lazy to change the colors) I added sfx from taking samples from a random website and adding audio tags to my html. I got ai to fix up my javascript for the audio to work for specific buttons (original javascript for the audio feature came from a 1 min long youtube tutorial) I am going to focus on the mobile version after this because I think the website is basically complete. (I also bought a domain lols) Our offical team name is squigs now so thats kinda cool"}, {"post_id": 59948, "ts": "2026-09-02T00:32:02Z", "hours": 1.3775, "text": "Devlog #3 Contacts page complete! This took way too long for what it is lol Reused blucky from one of my previous projects I did for the starbeam hackathon (yes! he makes a reappearance) Added our student emails with a button that automatically sends you to gmail cuz I was too lazy to add three buttons that sent you to each of our emails individually I rescaled everything and so the contacts page is a little longer than the other windows The contacts page and projects page I colored with a different background color to add a little personality to each window, I plan on adding our favorite colors as the background for our about mes Im probably going to work on the projects next and try to figure out how to make it scroll downwards (probably going to use the trick I learnt fro the carousel on my other website) also I updated the javascript so then the window header does not leave the viewable screen"}, {"post_id": 59914, "ts": "2026-09-01T22:57:53Z", "hours": 2.5856, "text": "Devlog #2 WINDOWS COMPLETE! I was able to get the modal to popup, drag and stack it on top of the other modals. I got font-awesome to work as emojis for the clickable buttons. I am waiting on my teammates to send me their about mes to replace the filler lorem ipsum text. I still don’t know why the border around the modal body has a very odd height, I just used a bit of padding to get the border to fit but I probably need to figure it out in order for the website to be able to be used on mobile I added box shadow and got the borders and fonts and headers to be colored and work properly The javascript took the longest because I had to rely on like 4 year old tutorials and a LOT of gemini for debugging I took the modal template from an old youtube tutorial and the rest of the javascript was mainly vibe coded except for a bit of debugging I had to do. Overall it works pretty well and the animations work great I will probably start working on overall design after this because the shadows look kinda odd under the main box and I think I want to look for better like skinnier fonts for aesthetics"}, {"post_id": 59336, "ts": "2026-09-01T02:17:21Z", "hours": 0.8081, "text": "Devlog #1 Hello! This is my first devlog for my newest project: a portfolio website for my science fair team. We need a portfolio website to like cold email people to get advisors and to show them like what projects we’ve made and stuff. This is heavily inspired by shar since I really like the look of her website. This will also be my first time using javascript in web development so bare with me Currently I have made the main box that will display our team name, and all our names. I was able to use flexbox to center everything and put them in the right position. The fonts i decided on were Cascadia Code, Consolas and arial. I heard that you should use monospaced fonts so I am just going off the wikipedia article about that. I chose a nice blue and dark grey for the header tab thing and the other text. I think it looks decent so far. Next I will probably work on getting little modals to work on the bottom that will display about us pages for each of us."}]...
|
Title: Science Fair Portfolio by @sklebi | Stardan Title: Science Fair Portfolio by @sklebi | Stardance
Devlogs:
Devlog #1 Hello! This is my first devlog for my newest project: a portfolio website for my science fair team. We need a portfolio website to like cold email people to get advisors and to show them like what projects we’ve made and stuff. This is heavily inspired by shar since I really like the look of her website. This will also be my first time using javascript in web development so bare with me Currently I have made the main box that will display our team name, and all our names. I was able to use flexbox to center everything and put them in the right position. The fonts i decided on were Cascadia Code, Consolas and arial. I heard that you should use monospaced fonts so I am just going off the wikipedia article about that. I chose a nice blue and dark grey for the header tab thing and the other text. I think it looks decent so far. Next I will probably work on getting little modals to work on the bottom that will display about us pages for each of us.
Devlog #2 WINDOWS COMPLETE! I was able to get the modal to popup, drag and stack it on top of the other modals. I got font-awesome to work as emojis for the clickable buttons. I am waiting on my teammates to send me their about mes to replace the filler lorem ipsum text. I still don’t know why the border around the modal body has a very odd height, I just used a bit of padding to get the border to fit but I probably need to figure it out in order for the website to be able to be used on mobile I added box shadow and got the borders and fonts and headers to be colored and work properly The javascript took the longest because I had to rely on like 4 year old tutorials and a LOT of gemini for debugging I took the modal template from an old youtube tutorial and the rest of the javascript was mainly vibe coded except for a bit of debugging I had to do. Overall it works pretty well and the animations work great I will probably start working on overall design after this because the shadows look kinda odd under the main box and I think I want to look for better like skinnier fonts for aesthetics
Devlog #3 Contacts page complete! This took way too long for what it is lol Reused blucky from one of my previous projects I did for the starbeam hackathon (yes! he makes a reappearance) Added our student emails with a button that automatically sends you to gmail cuz I was too lazy to add three buttons that sent you to each of our emails individually I rescaled everything and so the contacts page is a little longer than the other windows The contacts page and projects page I colored with a different background color to add a little personality to each window, I plan on adding our favorite colors as the background for our about mes Im probably going to work on the projects next and try to figure out how to make it scroll downwards (probably going to use the trick I learnt fro the carousel on my other website) also I updated the javascript so then the window header does not leave the viewable screen
Devlog #4 Profiles all complete! I finished everybody’s about me with their descriptions and accent colors. I changed the highlight color for each one to make it more custom and added more font awesome emojis I added dark mode after watching a tutorial on it and tracked/inverted all my colors. I think darkmode looks pretty good for now (not perfect but highkey im too lazy to change the colors) I added sfx from taking samples from a random website and adding audio tags to my html. I got ai to fix up my javascript for the audio to work for specific buttons (original javascript for the audio feature came from a 1 min long youtube tutorial) I am going to focus on the mobile version after this because I think the website is basically complete. (I also bought a domain lols) Our offical team name is squigs now so thats kinda cool
Devlog #5 (FINAL DEVLOG) I bought my second ever domain :) I connected it to github pages so hopefully the DNS check goes through sometime soon… BUT the rest of the website is pretty much complete. For the mobile version, I was kinda too lazy to switch everything around again so I just added a little notification on the bottom telling the user that the website is made for desktop devices and will be pretty wonky on the mobile version. I switched up some colors around again to just make everything match and flow a little better. I think I really like how this website came out and hopefully it will be fully functioning! p.s: huge thanks to the big AZ for making me the backgrounds lol
Changed the text, added GIFS and resumes
Ships:
This is a portfolio website for my science research team :) We needed a portfolio website for cold emailing so we could display our skills so I decided to make it. (also be cause it is quite fun) This website was inspired by sharyap.com because I really liked the design and feeling it gave off. The website is best used with a desktop device (mobile doesn’t really work too well) and you can drag, drop, and stack the various windows together. There is a dark to light mode switch in the top left corner that inverts the color palette as well as sound effects that play when you click specific buttons. I hope you enjoy playing around with the website!...
|
1793245752.7261832
|
1793332152.7261832
|
|
52561
|
MODule: compact swerve module by @saharshn | Stard MODule: compact swerve module by @saharshn | Stardance...
|
saharshn
|
1
|
0.0
|
200
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T21:10:00Z", "hours": 0.0, "multiplier": 5.0, "payout": 200, "blessing": "neutral", "text": "This an Omni-Directional “Swerve” Pod Module that I had made as a personal project, and can be used for compact robotics applications, such as automation, FTC, and more. The main feature of this is that it is highly compact despite the functionality this offers, being very narrow and offering 4 connection points on each side. Alongside that, like the name suggests, it is modular. For example, it is very easy to install an encoder, swap belts, etc and can be done with very few screws needed.", "repo": "https://github.com/icewtr/MODule", "demo": ""}]...
|
[{"post_id": 55837, "ts": "202 [{"post_id": 55837, "ts": "2024-07-11T00:00:00Z", "hours": 8.0, "text": "OMG OMG OMG I ACTUALLY DID IT SDKFJDSKFDSKJF Yeah im genuinely so surprised i actually did this lol im stunned Basically what happened: printing legion came in today!!!! i forgot to print a part so i did a last minute sprint on a friends printer had to sand down most of the gears due to meshing issues cuz of tolerances (fried) i no-lifed the rest of the build, so many new parts came in so it took like 3 whole hours but atleast its finished now 👍 fixed setpoints for code made last minute belt tensioner cuz 3dp belt stretch actually tested it!!! AND OMG IT WORKED FIRST TRY dry-lubed it (even tho most plastics are somewhat self-lubricating) recorded a video in only like 6 takes DID A PHOTOSHOOT I am genuinely surprised i stayed sane after this. I remember starting at like 11 AM and then realized I finished at 7 PM, like I dont even know how I stayed through this long. It was a wild ride, but definitely a fun one. TOTAL TIME: 8 HOURS"}, {"post_id": 55836, "ts": "2024-07-10T00:00:00Z", "hours": 5.0, "text": "Today was a bit more chill build-wise, but now I had to deal with electrical work and how I can power and control this. Basically, the main concern was that how I can power the brushed DC motor as I dont have a FTC control hub on me 😔 Sooooo i came up with a few solutions and tested it: battery pack: this was what i spent the most time working on. Basically just stacking a bunch of double A batteries to have a strong enough power supply to move the motor. Its a 12V motor but 6v should work, so i just stacked 4 double A’s and prayed it worked (AAAAAAAA battery hehe) but it did not work 💀 -after 2 hours or so of actually experimenting with power solutions I landed on using 120V AC to 9V DC power brick and connecting that to the motor via jumper wires, and that actually worked really well. 9V meant that it wasnt as powerful as it could have been with 12V, but it was good enough as a proof of concept (i was wayyyy too lazy to keep trying that 😭) For the servo, this was sooo much easier and was a lot less complex. I had a raspberry pi pico on me and i was able to throw a few lines together to make a quick script that oscillates between two setpoints. The servo is supposed to be powered by a 4.8-7.2 v power supply which is more than the pico’s 3.3v, so I just used the passthru 5v from the USB. this was sooooo much easier than the motor it was actually insane 😭 And for build: I got my WCP Bearing in!!! Yay!!!!! I actually got a good bit of my project done lol it was crazy i was locked in Structure-wise stuff is actually done now, just waiting on printing legion and then illl be ready for the greatest build sprint oat TOTAL TIME SPENT: 5 HOURS"}, {"post_id": 55835, "ts": "2024-07-09T00:00:00Z", "hours": 4.0, "text": "Ok todays atleast better since I dont have to tap, but now have to actually make this. For what its worth, tapping actually made the process soo much easier like I genuinely flew through build it was sooo nice and smooth But still, I somehow ran into an issue. Most of my parts were printed with printing legion, and that only comes in on friday, meaning Im only going to be able to assemble half of it. Its not horrible, but makes friday so much harder on me 😭esp with recording the video and everything But other than that, its starting to come out pretty nicely!!! TOTAL TIME SPENT: 4 hours"}, {"post_id": 55834, "ts": "2024-07-08T00:00:00Z", "hours": 7.5, "text": "So basically i got a motor from my friend to use for this cuz i originally didnt have the money for it, but the problem is that the gearbox on it was HALF SIEZED 😭genuinely took me like 30 mins of prying just to set it free 💀atleast the rest of the disassembly was chill tho took like 1 hour max After that I had to do something I kinda dreaded: Tapping… So basically whats happening is that since this was meant to be made out of aluminum, it needed holes to be tapped, but since I wasnt able to use my CNC, I had to print this out of PETG-CF. Aaand as a result, i now have to tap plastic 💀 The two main things im worried about is: A. ive never tapped plastic before and am worried the layers might delaminate and separate B. i have ZERO tapping tools other than just a tapping bit meaning im gonna have to do it by hand entirely 😭 Since im tapping using my hands, this took SO LONG it was actually insane it took me SIX AND A HALF HOURS its wraps for me TOTAL TIME SPENT: 7.5 hours"}, {"post_id": 55833, "ts": "2024-07-06T00:00:00Z", "hours": 3.5, "text": "So today I got my grant, meaning now i actually have to build this!!! Only problem is… i forgot to include shipping and taxes lmaooo 170 dollard with of parts now cost 200 bucks lol AANNDDD i forgot that i actually needed the parts quick cuz im actually trying to submit this for super hardware builder lol What I did: went back into cad and saw where i could remove the need for distinct screws since mcmaster screws have MOQs of like 50/100 etc I had to remove a bunch of socket head screws cuz somehow they costed more than button heads? Lol Removed 12mm M4 socket head screws cuz 14mm countersunks could do and alr am buying those Removed 5mm socket heads and 8mm countersunk cuz 8mm button(which im alr buying) could still work Dropped 20mm m4 socket heads cuz im alr buying 25mm and that could work On the topic od Mcmaster, I drovethere and did a will call so that iu didnt have to pay shipping so boom money saved gobilda shipping costs like 70 bucks otherwise it takes a week 😔 got an equivalent pulley and bore reducer off of mcmaster i have to 3d print all my shafts 💀might be wraps all my beams have to be 3d printed and HAND TAPPED yo i might be cooked But luckily other than that its going good :D wcp bearing doesnt cost too much but with corgi express shipping it was only 20 bucks and its 2-day!!! Also my 3d printer wasnt working so I had to outsource to printing legion but its allg should come by friday At the end of the day, i was able to order everything so im happy about that! Cant wait to start build! TIME SPENT: 3 Hours 30 Minutes"}, {"post_id": 55832, "ts": "2024-07-04T00:00:00Z", "hours": 0.25, "text": "genuinely a beautiful swerve module truly a piece of art cant wait to build it! time spent: ~15 mins"}, {"post_id": 55831, "ts": "2024-07-03T00:00:00Z", "hours": 1.0, "text": "so a smooth wheel isnt gonna work i had to actually make tread i tried doing a few different things, ranging from a bunch of triangles and an extrude to contemplating giving up and using neoprene i ended uo just taking the pulley profile of a gt2 2mm pulley and extruding it so yea lol (and yeah now the plates are both light and beautiful) time spent: ~1 hour"}, {"post_id": 55830, "ts": "2024-07-01T00:00:00Z", "hours": 0.75, "text": "omg these new forks look so good😍 genuinely idk what i did, but it cooked lol gonna be a bit of a pain to manufacture but ehh its fiiineee trust other than that, boom even smaller, genuinely looks like a sandwich atp its actually beautiful time spent: ~45 mins"}, {"post_id": 55829, "ts": "2024-06-30T00:00:00Z", "hours": 0.5, "text": "yo no way i forgot we needed an encoder 😭 so im gonna have to change up a few things: make the coaxial pulley and gear somewhat deadaxle so there is an encoder shaft ik most teams drop the encoder, but if we want to have the most accurate angle sensing, this is a MUST. we NEED this to have a better swerve module. theres a reason every frc swerve module has this. other than that tho, its coming together nicely (hes herringbone like i said previously because force spead across multiple teeth) time spent: ~30 mins"}, {"post_id": 55828, "ts": "2024-06-29T00:00:00Z", "hours": 1.0, "text": "he is so small 😆 he only need one popcorn 🍿 jokes aside its finally small, time to make it functional. this means make it sompetitive and better than other modules available in FTC. we got the size down, time to make it good and small, not just small. time spent: ~1 hour"}, {"post_id": 55827, "ts": "2024-06-26T00:00:00Z", "hours": 0.5, "text": "[tape scratch] yeah thats me. your probably wondering how i got here but apart from that, i had an idea. currenty my servo is mounted perfectly horizontal. but why tho? if i mpount it diagonally, ill get tons more space and ill be able to make this even smaller brains thinging now watch out time spent: ~30 mins"}, {"post_id": 55826, "ts": "2024-06-25T00:00:00Z", "hours": 1.0, "text": "i loove back when i didnt know anything about cad and used to vibe guess all my ratios… well now i have to. so my ideal is the speed of a 435 rpm motor, which is like the commonplace ftc drive motor for mecanums. and my old ratio was like 377 rpm. wayyyyyyyyyyy too slow. bro im boutta have snail speeds on this robot 😭 i did calculate something, but might need a custom pulley so we’ll have to see cuz i didnt really wanna go to custom pully gang and wanted to stay with cots gobilda pulleys. My calculated ratios: approximately 855-860 rpm, with a free speed slightly higher than that of the 435 RPM drivetrain motor, a popular FTC choice. although this has a higher surface speed and as a result lower theoretical torque, since the mecanum drivetrains use passive rollers, the grip of these 3D printed swerve tread would more than overpower standerd mecanums. time spent: ~1 hour"}, {"post_id": 55825, "ts": "2024-06-17T00:00:00Z", "hours": 1.0, "text": "so yeah now i need to make a wheel for my swerve module and yeah i dont know hoe to make one 😔 i mean I do, cuz like frc swerve, but this is FTC where everything is so small!¡¡ yeah this is small the wheel is 2 inches tall and 1/2” wide lol time spent: ~1 hour"}, {"post_id": 55824, "ts": "2024-06-13T00:00:00Z", "hours": 2.0, "text": "finally with something that looks like a swerve module somewhat, i went in, boom. locked in, zero regrets. WE are winning state championships with this. but yeah, length and width wise its finally somewhat small and usable, so now its time tp make it short cuz its still too tall. the goal is 64mm * 140mm * 110mm so lets get it done. time spent: ~2 hours"}, {"post_id": 55823, "ts": "2024-05-11T00:00:00Z", "hours": 0.5, "text": "since axon bevels (THE swerve bevel that everyone uses) is out of stock permenantly, i have to 3dp or use the massive gobilda bevels. yea. the gobilda bevels are too big. screw it. im making it myself. so since im 3d printing it, i think making it helical might be the play here, cuz the force is distributed across multiple teeth rather than just one tooth, making the gears stronger and more resistant to teeth snapping. and yeah, more exams. time to dip for a bit and come back to lock in. time spent: ~30 mins"}, {"post_id": 55822, "ts": "2024-05-04T00:00:00Z", "hours": 0.5, "text": "yo no way i just now found out the motor sleeves come off 🤯 this is gonna help so much! with that the motors diameter gonna be smaller by a tad bit meaning i COULD fit it in a smaller foorprint than 70*140??? the break definitely helped tho i came to my senses that a belt IS the play, talking to seattle solvers helped me greatly. time spent: ~30 mins"}, {"post_id": 55820, "ts": "2024-03-17T00:00:00Z", "hours": 1.5, "text": "WHAT AM I DOING NO WAY I DONT KNOW HOW TO MAKE THIS 😔 WHY IS IT SO COMPLEX WHY makes me wonder, why gears? i checked one of the best swerve teams ik’s mosules and theyre using 2mm gt2 belts so might be interesting? im so used to frc it might be getting to me lol 5000000 million gear sizes, and some of the strongest bldc motors ive seen, which kinda explains why no gt2 belts, so yeah belts… time spent: ~1.5 hours"}, {"post_id": 55819, "ts": "2024-03-16T00:00:00Z", "hours": 0.5, "text": "after losing badly in states (48th out of 48 teams) i knew we had to do something. our old mecanum drivetrain took up so much space we ended up not having enough space for a functional robot 😭 so i was thinking “hm lets make swerve, we can reference other good designs and just make them smaller than a mecanum drivetrain.” and so it started, me drawing out a bad sketch to present to others my concept, the black box being an approximate sizing of one mecanum wheel’s size and what i think we can do. time spent: ~30 mins"}, {"post_id": 55821, "ts": "2024-03-12T00:00:00Z", "hours": 1.0, "text": "idk why, i feel like gears is the move but like its so complicated also big issue its bigger than the mecanum drivetrain so there really isnt a definitive answer. well, we gotta do something. i cant be this fixated on a swerve module with FRC season going on and exams afterward. ill take a break and see if that helps. time spent: ~1 hour"}]...
|
Title: MODule: compact swerve module by @saharshn Title: MODule: compact swerve module by @saharshn | Stardance
Devlogs:
idk why, i feel like gears is the move but like its so complicated also big issue its bigger than the mecanum drivetrain so there really isnt a definitive answer. well, we gotta do something. i cant be this fixated on a swerve module with FRC season going on and exams afterward. ill take a break and see if that helps. time spent: ~1 hour
after losing badly in states (48th out of 48 teams) i knew we had to do something. our old mecanum drivetrain took up so much space we ended up not having enough space for a functional robot 😭 so i was thinking “hm lets make swerve, we can reference other good designs and just make them smaller than a mecanum drivetrain.” and so it started, me drawing out a bad sketch to present to others my concept, the black box being an approximate sizing of one mecanum wheel’s size and what i think we can do. time spent: ~30 mins
WHAT AM I DOING NO WAY I DONT KNOW HOW TO MAKE THIS 😔 WHY IS IT SO COMPLEX WHY makes me wonder, why gears? i checked one of the best swerve teams ik’s mosules and theyre using 2mm gt2 belts so might be interesting? im so used to frc it might be getting to me lol 5000000 million gear sizes, and some of the strongest bldc motors ive seen, which kinda explains why no gt2 belts, so yeah belts… time spent: ~1.5 hours
yo no way i just now found out the motor sleeves come off 🤯 this is gonna help so much! with that the motors diameter gonna be smaller by a tad bit meaning i COULD fit it in a smaller foorprint than 70*140??? the break definitely helped tho i came to my senses that a belt IS the play, talking to seattle solvers helped me greatly. time spent: ~30 mins
since axon bevels (THE swerve bevel that everyone uses) is out of stock permenantly, i have to 3dp or use the massive gobilda bevels. yea. the gobilda bevels are too big. screw it. im making it myself. so since im 3d printing it, i think making it helical might be the play here, cuz the force is distributed across multiple teeth rather than just one tooth, making the gears stronger and more resistant to teeth snapping. and yeah, more exams. time to dip for a bit and come back to lock in. time spent: ~30 mins
finally with something that looks like a swerve module somewhat, i went in, boom. locked in, zero regrets. WE are winning state championships with this. but yeah, length and width wise its finally somewhat small and usable, so now its time tp make it short cuz its still too tall. the goal is 64mm * 140mm * 110mm so lets get it done. time spent: ~2 hours
so yeah now i need to make a wheel for my swerve module and yeah i dont know hoe to make one 😔 i mean I do, cuz like frc swerve, but this is FTC where everything is so small!¡¡ yeah this is small the wheel is 2 inches tall and 1/2” wide lol time spent: ~1 hour
i loove back when i didnt know anything about cad and used to vibe guess all my ratios… well now i have to. so my ideal is the speed of a 435 rpm motor, which is like the commonplace ftc drive motor for mecanums. and my old ratio was like 377 rpm. wayyyyyyyyyyy too slow. bro im boutta have snail speeds on this robot 😭 i did calculate something, but might need a custom pulley so we’ll have to see cuz i didnt really wanna go to custom pully gang and wanted to stay with cots gobilda pulleys. My calculated ratios: approximately 855-860 rpm, with a free speed slightly higher than that of the 435 RPM drivetrain motor, a popular FTC choice. although this has a higher surface speed and as a result lower theoretical torque, since the mecanum drivetrains use passive rollers, the grip of these 3D printed swerve tread would more than overpower standerd mecanums. time spent: ~1 hour
[tape scratch] yeah thats me. your probably wondering how i got here but apart from that, i had an idea. currenty my servo is mounted perfectly horizontal. but why tho? if i mpount it diagonally, ill get tons more space and ill be able to make this even smaller brains thinging now watch out time spent: ~30 mins
he is so small 😆 he only need one popcorn 🍿 jokes aside its finally small, time to make it functional. this means make it sompetitive and better than other modules available in FTC. we got the size down, time to make it good and small, not just small. time spent: ~1 hour
yo no way i forgot we needed an encoder 😭 so im gonna have to change up a few things: make the coaxial pulley and gear somewhat deadaxle so there is an encoder shaft ik most teams drop the encoder, but if we want to have the most accurate angle sensing, this is a MUST. we NEED this to have a better swerve module. theres a reason every frc swerve module has this. other than that tho, its coming together nicely (hes herringbone like i said previously because force spead across multiple teeth) time spent: ~30 mins
omg these new forks look so good😍 genuinely idk what i did, but it cooked lol gonna be a bit of a pain to manufacture but ehh its fiiineee trust other than that, boom even smaller, genuinely looks like a sandwich atp its actually beautiful time spent: ~45 mins
so a smooth wheel isnt gonna work i had to actually make tread i tried doing a few different things, ranging from a bunch of triangles and an extrude to contemplating giving up and using neoprene i ended uo just taking the pulley profile of a gt2 2mm pulley and extruding it so yea lol (and yeah now the plates are both light and beautiful) time spent: ~1 hour
genuinely a beautiful swerve module truly a piece of art cant wait to build it! time spent: ~15 mins
So today I got my grant, meaning now i actually have to build this!!! Only problem is… i forgot to include shipping and taxes lmaooo 170 dollard with of parts now cost 200 bucks lol AANNDDD i forgot that i actually needed the parts quick cuz im actually trying to submit this for super hardware builder lol What I did: went back into cad and saw where i could remove the need for distinct screws since mcmaster screws have MOQs of like 50/100 etc I had to remove a bunch of socket head screws cuz somehow they costed more than button heads? Lol Removed 12mm M4 socket head screws cuz 14mm countersunks could do and alr am buying those Removed 5mm socket heads and 8mm countersunk cuz 8mm button(which im alr buying) could still work Dropped 20mm m4 socket heads cuz im alr buying 25mm and that could work On the topic od Mcmaster, I drovethere and did a will call so that iu didnt have to pay shipping so boom money saved gobilda shipping costs like 70 bucks otherwise it takes a week 😔 got an equivalent pulley and bore reducer off of mcmaster i have to 3d print all my shafts 💀might be wraps all my beams have to be 3d printed and HAND TAPPED yo i might be cooked But luckily other than that its going good :D wcp bearing doesnt cost too much but with corgi express shipping it was only 20 bucks and its 2-day!!! Also my 3d printer wasnt working so I had to outsource to printing legion but its allg should come by friday At the end of the day, i was able to order everything so im happy about that! Cant wait to start build! TIME SPENT: 3 Hours 30 Minutes
So basically i got a motor from my friend to use for this cuz i originally didnt have the money for it, but the problem is that the gearbox on it was HALF SIEZED 😭genuinely took me like 30 mins of prying just to set it free 💀atleast the rest of the disassembly was chill tho took like 1 hour max After that I had to do something I kinda dreaded: Tapping… So basically whats happening is that since this was meant to be made out of aluminum, it needed holes to be tapped, but since I wasnt able to use my CNC, I had to print this out of PETG-CF. Aaand as a result, i now have to tap plastic 💀 The two main things im worried about is: A. ive never tapped plastic before and am worried the layers might delaminate and separate B. i have ZERO tapping tools other than just a tapping bit meaning im gonna have to do it by hand entirely 😭 Since im tapping using my hands, this took SO LONG it was actually insane it took me SIX AND A HALF HOURS its wraps for me TOTAL TIME SPENT: 7.5 hours
Ok todays atleast better since I dont have to tap, but now have to actually make this. For what its worth, tapping actually made the process soo much easier like I genuinely flew through build it was sooo nice and smooth But still, I somehow ran into an issue. Most of my parts were printed with printing legion, and that only comes in on friday, meaning Im only going to be able to assemble half of it. Its not horrible, but makes friday so much harder on me 😭esp with recording the video and everything But other than that, its starting to come out pretty nicely!!! TOTAL TIME SPENT: 4 hours
Today was a bit more chill build-wise, but now I had to deal with electrical work and how I can power and control this. Basically, the main concern was that how I can power the brushed DC motor as I dont have a FTC control hub on me 😔 Sooooo i came up with a few solutions and tested it: battery pack: this was what i spent the most time working on. Basically just stacking a bunch of double A batteries to have a strong enough power supply to move the motor. Its a 12V motor but 6v should work, so i just stacked 4 double A’s and prayed it worked (AAAAAAAA battery hehe) but it did not work 💀 -after 2 hours or so of actually experimenting with power solutions I landed on using 120V AC to 9V DC power brick and connecting that to the motor via jumper wires, and that actually worked really well. 9V meant that it wasnt as powerful as it could have been with 12V, but it was good enough as a proof of concept (i was wayyyy too lazy to keep trying that 😭) For the servo, this was sooo much easier and was a lot less complex. I had a raspberry pi pico on me and i was able to throw a few lines together to make a quick script that oscillates between two setpoints. The servo is supposed to be powered by a 4.8-7.2 v power supply which is more than the pico’s 3.3v, so I just used the passthru 5v from the USB. this was sooooo much easier than the motor it was actually insane 😭 And for build: I got my WCP Bearing in!!! Yay!!!!! I actually got a good bit of my project done lol it was crazy i was locked in Structure-wise stuff is actually done now, just waiting on printing legion and then illl be ready for the greatest build sprint oat TOTAL TIME SPENT: 5 HOURS
OMG OMG OMG I ACTUALLY DID IT SDKFJDSKFDSKJF Yeah im genuinely so surprised i actually did this lol im stunned Basically what happened: printing legion came in today!!!! i forgot to print a part so i did a last minute sprint on a friends printer had to sand down most of the gears due to meshing issues cuz of tolerances (fried) i no-lifed the rest of the build, so many new parts came in so it took like 3 whole hours but atleast its finished now 👍 fixed setpoints for code made last minute belt tensioner cuz 3dp belt stretch actually tested it!!! AND OMG IT WORKED FIRST TRY dry-lubed it (even tho most plastics are somewhat self-lubricating) recorded a video in only like 6 takes DID A PHOTOSHOOT I am genuinely surprised i stayed sane after this. I remember starting at like 11 AM and then realized I finished at 7 PM, like I dont even know how I stayed through this long. It was a wild ride, but definitely a fun one. TOTAL TIME: 8 HOURS
Ships:
This an Omni-Directional “Swerve” Pod Module that I had made as a personal project, and can be used for compact robotics applications, such as automation, FTC, and more. The main feature of this is that it is highly compact despite the functionality this offers, being very narrow and offering 4 connection points on each side. Alongside that, like the name suggests, it is modular. For example, it is very easy to install an encoder, swap belts, etc and can be done with very few screws needed....
|
1793289275.90412
|
1793375675.90412
|
|
57109
|
CorporateTranslator by @thatoneburntroot | Stardan CorporateTranslator by @thatoneburntroot | Stardance...
|
thatoneburntroot
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T20:25:26Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a slack bot that translates corporate phrases into literal meanings, im happy it turned out a bit funny, im hoping to link it to real ai api calls in the future so the user isnt limited to an amount of phrases to translate Enjoy", "repo": "https://github.com/thatoneburntroot/test", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354?_gl=1*1gtjmh5*_gcl_au*NjQyNDI3MzkxLjE3ODgyNjc3MDYuLS4tLjE3ODgyNjc3MzkuMzY0NDE4Njg2LjE3ODgyNjc3MzkuMTc4ODI2Nzc5OQ.."}]...
|
[{"post_id": 60471, "ts": "202 [{"post_id": 60471, "ts": "2026-09-02T20:16:07Z", "hours": 0.3064, "text": "Finally after a bunch of debugging i got the bot up and running, im very excited to further improve it in the future!"}, {"post_id": 60370, "ts": "2026-09-02T17:45:32Z", "hours": 0.8, "text": "Finished the Help command, it basically shows a list of available phrases to translate"}, {"post_id": 59754, "ts": "2026-09-01T18:01:12Z", "hours": 0.3953, "text": "Just finished the very first basic command. I plan on adding many more"}]...
|
Title: CorporateTranslator by @thatoneburntroot | Title: CorporateTranslator by @thatoneburntroot | Stardance
Devlogs:
Just finished the very first basic command. I plan on adding many more
Finished the Help command, it basically shows a list of available phrases to translate
Finally after a bunch of debugging i got the bot up and running, im very excited to further improve it in the future!
Ships:
I made a slack bot that translates corporate phrases into literal meanings, im happy it turned out a bit funny, im hoping to link it to real ai api calls in the future so the user isnt limited to an amount of phrases to translate Enjoy...
|
1793253409.91245
|
1793339809.91245
|
|
22090
|
mogged by @eli_ozcan | Stardance
|
eli_ozcan
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T20:00:38Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Mogged is a fun amalgamation of Omoggle and Mogwars with a custom research-based mogging backend. This is 10000% for funsies because I wanted to see how I compared to other people without yk having to involve other people. The app takes in photo/video feed and runs Google’s Mediapipe on it to find facial landmarks and then uses custom algorithm code stolen from Omoggle and Mogwars to calculate a facial score. The backend named after me (“Eli”) runs it’s own estimations and takes into account facial color and the full 3D reconstruction of one’s face. Below is a photo I took at school of my project working.", "repo": "https://github.com/elijah629/mogged", "demo": "https://mogged.eli.best"}]...
|
[{"post_id": 33876, "ts": "202 [{"post_id": 33876, "ts": "2026-07-24T04:35:23Z", "hours": 4.0914, "text": "okay so omoggle/mogwars was cool but this is cooler: i noticed that those “backends” only ran on a static frame of your face and only measured landmarks. I decided to make one which bases it off of a 3D scan as well as texture information to estimate skincare. After some research, I found 3DDFA , a small model which can reconstruct a 3D model of a face from photos. the app first takes 7 poses by asking you to move your camera and then passes them all into the model. (120x120x3b tensor). The model gives 62 parameters per pose, and then the app takes the median identity-shape parameters across all views -> BFM2009 decoder -> 68 points used to calculate all the structural metrics. then it uses the texture of the face that’s not in the eyes or mouth and samples them for clarity, eveness, texture, exposure, sharpness, etc. takes the median of that and then calculates a skin value. exact weights for them are found in the code."}, {"post_id": 21869, "ts": "2026-07-04T01:10:27Z", "hours": 5.9342, "text": "Mogged sorry for the lackluster devlog quality, my >4k char devlog was js deleted and i’m pissed inspo a very chopped aquantience couldn’t believe how chopped he was and I wanted to prove it to him. however, he didn’t want to go into an omoggle match w me so I needed something that supported image upload motivation popular websites that do an omoggle-style ranking either are not accurate to omoggle or send your photo off-device to a vLLM or server, which I don’t want criteria both image and photo support privacy first all local on-device scoring accurate to the two popular mogging platforms I found, mogwars and omoggle research found an excellent (althrough made by ai) writeup on omoggle. This shows that Omoggle uses Google’s Mediapipe FaceLandmarker . I knew the data fed into an algorithim but I didn’t know how the facial data was turned into a score so I got a codex agent to analyze the bundled JS of omoggle and mogwars to reverse-engineer the scoring mechanism. It came back with the following: that both websites use the same metrics but process them differently into a score the way metrics (symmetry, jawline, etc.) are calculated from the landmarks and how each platform uses them for sake of brevity (character limit) I will not be describing exactly how each platform works nor how the metrics are calculated in specific, for those interested, check out src/lib/scoring . I promise I’m not larping, I actually understand how it works lol. implementation I then took all of that as well as some Google-given examples for the landmarking API and created a new NextJS + Shadcn + Tailwind v4 project. I first wrote the landmarking system and then the scoring system based on the output of the landmarker. After, I made a temporary UI with google stitch and got codex to wire everything together. demo available at https://mogged.eli.best"}]...
|
Title: mogged by @eli_ozcan | Stardance
Devlogs:
Title: mogged by @eli_ozcan | Stardance
Devlogs:
Mogged sorry for the lackluster devlog quality, my >4k char devlog was js deleted and i’m pissed inspo a very chopped aquantience couldn’t believe how chopped he was and I wanted to prove it to him. however, he didn’t want to go into an omoggle match w me so I needed something that supported image upload motivation popular websites that do an omoggle-style ranking either are not accurate to omoggle or send your photo off-device to a vLLM or server, which I don’t want criteria both image and photo support privacy first all local on-device scoring accurate to the two popular mogging platforms I found, mogwars and omoggle research found an excellent (althrough made by ai) writeup on omoggle. This shows that Omoggle uses Google’s Mediapipe FaceLandmarker . I knew the data fed into an algorithim but I didn’t know how the facial data was turned into a score so I got a codex agent to analyze the bundled JS of omoggle and mogwars to reverse-engineer the scoring mechanism. It came back with the following: that both websites use the same metrics but process them differently into a score the way metrics (symmetry, jawline, etc.) are calculated from the landmarks and how each platform uses them for sake of brevity (character limit) I will not be describing exactly how each platform works nor how the metrics are calculated in specific, for those interested, check out src/lib/scoring . I promise I’m not larping, I actually understand how it works lol. implementation I then took all of that as well as some Google-given examples for the landmarking API and created a new NextJS + Shadcn + Tailwind v4 project. I first wrote the landmarking system and then the scoring system based on the output of the landmarker. After, I made a temporary UI with google stitch and got codex to wire everything together. demo available at https://mogged.eli.best
okay so omoggle/mogwars was cool but this is cooler: i noticed that those “backends” only ran on a static frame of your face and only measured landmarks. I decided to make one which bases it off of a 3D scan as well as texture information to estimate skincare. After some research, I found 3DDFA , a small model which can reconstruct a 3D model of a face from photos. the app first takes 7 poses by asking you to move your camera and then passes them all into the model. (120x120x3b tensor). The model gives 62 parameters per pose, and then the app takes the median identity-shape parameters across all views -> BFM2009 decoder -> 68 points used to calculate all the structural metrics. then it uses the texture of the face that’s not in the eyes or mouth and samples them for clarity, eveness, texture, exposure, sharpness, etc. takes the median of that and then calculates a skin value. exact weights for them are found in the code.
Ships:
Mogged is a fun amalgamation of Omoggle and Mogwars with a custom research-based mogging backend. This is 10000% for funsies because I wanted to see how I compared to other people without yk having to involve other people. The app takes in photo/video feed and runs Google’s Mediapipe on it to find facial landmarks and then uses custom algorithm code stolen from Omoggle and Mogwars to calculate a facial score. The backend named after me (“Eli”) runs it’s own estimations and takes into account facial color and the full 3D reconstruction of one’s face. Below is a photo I took at school of my project working....
|
1793249467.7648323
|
1793335867.7648323
|
|
10277
|
Untitled by @gowripaliwal | Stardance
|
gowripaliwal
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T19:53:22Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a media pipe program that looks like a cat doing the scuba meme", "repo": "https://github.com/galleryp/scubacat", "demo": "https://www.tiktok.com/@michellecd3/video/7653695152514436368?is_from_webapp=1&sender_device=pc"}]...
|
[{"post_id": 59361, "ts": "202 [{"post_id": 59361, "ts": "2026-09-01T03:33:36Z", "hours": 0.4283, "text": "Scuba cat!"}]...
|
Title: Untitled by @gowripaliwal | Stardance
Devl Title: Untitled by @gowripaliwal | Stardance
Devlogs:
Scuba cat!
Ships:
I made a media pipe program that looks like a cat doing the scuba meme...
|
1793220525.493979
|
1793306925.493979
|